工程一:使用urdf描述一个长方体,在 Rviz 中显示
组织架构如下

实现流程:
-
准备:新建功能包,导入依赖
-
核心:编写 urdf 文件
-
核心:在 launch 文件集成 URDF 与 Rviz
-
在 Rviz 中显示机器人模型
步骤一:新建功能包,导入依赖,创建响应的文件
1.mkdir -p urdf_rviz/src
2.cd urdf_rviz/src
3.catkin_create_pkg urdf_rviz urdf xacro //在src文件下,新建一个终端
4.cd urdf_rviz/src/urdf_rviz
4.1 mkdir urdf //存储 urdf 文件的目录
4.2 mkdir meshes //机器人模型渲染文件
4.3 mkdir config //配置文件
4.4 mkdir launch //存储 launch 启动文件
步骤二:编写 urdf 文件
1.cd urdf文件下
1.1 mkdir urdf
1.2 mkdir xacro
2.cd 1.1的urdf文件下:
2.1 touch demo_01.urdf //新建.urdf文件
2.2 demo_01.urdf内容如下:
<robot name="mycar">
<link name="base_link">
<visual>
<geometry>
<box size="0.5 0.2 0.1" />
</geometry>
</visual>
</link>
</robot>
步骤三:在 launch 文件中集成URDF 与 Rviz
3.1在launch目录下,新建一个 launch 文件,该 launch 文件需要启动 Rviz,并导入 urdf 文件,Rviz 启动后可以自动载入解析urdf文件,并显示机器人模型。
1. cd到launch文件下,新建demo_01.launch
1.1 touch demo_01.launch
1.2 demo_01.launch代码如下:
<launch>
<!-- 设置参数 -->
<param name="robot_description" textfile="$(find urdf_rviz)/urdf/urdf/demo_01.urdf" />
<!-- 启动 rviz -->
<node pkg="rviz" type="rviz" name="rviz" />
</launch>
3.2 在urdf_rviz下:进行编译
1.cd urdf_rviz下运行:
catkin_make
步骤四:rviz 启动
1.cd urdf_rviz下运行:
source devel/setup.bash
roslaunch urdf_rviz demo_01.launch
4.1会发现并没有盒装的机器人模型,这是因为默认情况下没有添加机器人显示组件,需要手动添加,添加方式如下:


设置完毕后,可以正常显示了。
4.2重复启动launch文件时,Rviz 之前的组件配置信息不会自动保存,需要重复执行步骤4的操作,为了方便使用,可以使用如下方式优化:首先,将当前配置保存进config目录

然后,launch文件中 Rviz 的启动配置添加参数:args,值设置为-d 配置文件路径
<launch>
<param name="robot_description" textfile="$(find urdf_rviz)/urdf/urdf/demo_01.urdf" />
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf_rviz)/config/show_mycar.rviz" />
</launch>
再启动时,就可以包含之前的组件配置了,使用更方便快捷。
本文详细介绍了如何在ROS中创建一个名为mycar的长方体机器人模型,通过编写URDF文件并在launch文件中集成,最后在Rviz中显示。教程包括新建功能包、编写URDF、整合到launch文件以及优化配置以实现快速加载和显示。
基于虚拟机ubuntu18的机器人系统仿真(rviz、urdf、xacro)&spm=1001.2101.3001.5002&articleId=137865260&d=1&t=3&u=650d9bd5cc00444a89bdd00ea123a5f8)
2万+

被折叠的 条评论
为什么被折叠?



