惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

马浩飞丨博客

ROS实现多机话题通信 Cloudflare R2 个人图床 Isaac Sim 机械臂逆运动学控制 ROS2基本命令总结 使用zsh创建更高效的shell环境 Isaac Sim 仿真环境使用简介 Ubuntu设置定时任务 审稿意见撰写流程 Ubuntu 固定USB设备端口名(ttyUSB0->自定义) Git+Github的代码备份与多设备同步 【设备使用】法奥意威 FR5 机械臂 Python 控制 Python识别图片中文字和数字_easyocr 【设备使用】omega.7主手配置与使用方法 【论文笔记】ACT 使用低成本硬件的双手操作模仿学习 HDF5数据文件格式 【仿真实验】robomimic项目复现 【课程笔记】Stanford CS25 V2 - Robotics and Imitation Learning Ubuntu与Window双主机共用一套键鼠 Windows与Ubuntu双系统绑定同一个蓝牙设备(无需重新配对)
ROS2_Rviz2显示URDF模型
马浩飞 · 2025-02-28 · via 马浩飞丨博客

一、实验环境及准备

测试环境

  • Ubuntu 22.04 LTS
  • ROS2 Humble

准备

  • URDF 及对应的 Mesh 文件
    (本文使用的是从 Solidworks 导出的 URDF,具体导出方法可参考此文章

依赖

  • 确保自己的 ROS2 安装正常(能够运行 turtle demo 即可)
  • 安装 joint_state_publisherrobot_state_publisher
1
sudo apt install ros-$ROS_DISTRO-joint-state-publisher-gui ros-$ROS_DISTRO-robot-state-publisher

二、工作空间与功能包配置

1
2
mkdir ros2_ws
cd ros2_ws

为了方便实现,避免对 launch,package,setup.py 等文件进行过多修改混乱,可以在本文在 Github 上传的代码(https://github.com/HaofeiMa/urdf_ros2_rviz2)基础上修改,以满足自己需求,该代码为 UR5e 机械臂+Inspire Hand 灵巧手模型:

1
git clone https://github.com/HaofeiMa/urdf_ros2_rviz2.git

完成之后,可以首先测试一下是否可以正常 build 以及显示现有模型:

1
2
3
colcon build
source install/setup.bash
ros2 launch urdf_ros2_rviz2 view_robot_launch.py

应该可以看到 Rviz2 界面以及现有模型。

三、修改功能包

(1)创建功能包

创建一个自己的 package,并且借鉴刚才 clone 的部分代码:

1
ros2 pkg create your_package_name --build-type ament_python

(2)复制文件

urdf_ros2_rviz2 目录下的 launch, meshes, rviz, urdf 四个文件夹,拷贝到新的 your_package_name 目录下。

image.png

(3)修改 setup.py

urdf_ros2_rviz2 中的 setup.py 文件代码全部拷贝过来,然后修改:

1
2

package_name='your_package_name'

image.png

(4)修改 package.xml

urdf_ros2_rviz2 中的 package.xml 文件代码全部拷贝过来,然后修改:

1
2

<name>your_package_name</name>

image.png

(5)复制 Meshes 文件

将你的 mesh 文件全部复制到 meshes 文件夹中,并将原来的 mesh 文件删除。

注意如果你 meshes 文件夹结构与我的不同,需要在 setup.py 中修改,使其与你的 STL 文件对应。

image.png

(6)修改 urdf 文件

将你的 urdf 文件复制到 your_package_nameurdf 目录中。

然后进行修改:主要是修改包名,以及检查 meshes 路径是否正确,例如

1
2
3
<mesh filename="package://urdf_ros2_rviz2/meshes/ur5e/visual/base.dae"/>

<mesh filename="package://your_package_name/meshes/your_path/base.dae"/>

(7)修改 launch 文件

需要修改 package name 以及 urdf 文件名:

image.png

(8)修改 rviz

打开 rviz/view.rviz 文件,找到第 85 行,修改:

1
2

Fixed Frame: base_link

(8)测试

1
2
3
colcon build
source install/setup.bash
ros2 launch test_urdf view_robot_launch.py

image.png

image.png

参考:

  1. https://zhuanlan.zhihu.com/p/465398486
  2. https://github.com/olmerg/lesson_urdf

打赏

  • 微信支付

    微信支付

  • 支付宝

    支付宝


相关推荐

ROS2基本命令总结