ROS知识课堂-5.在Rviz中显示一个盒状机器人
URDF不能单独使用,需要结合Rviz或Gazebo,URDF只是一个文件,需要在Rviz或Gazebo中渲染成图形化的机器人模型,首先演示URDF与Rviz的集成使用。
实现流程:
1准备:新建功能包,导入依赖
创建一个新的功能包,名称自定义,导入依赖包:urdf与xacro
mkdir -p ~/mycar_ws/src
cd ~/mycar_ws/src
catkin_create_pkg mycar_des roscpp urdf tf rviz geometry_msgs xacro
在当前功能包下,再新建几个目录:
urdf: 存储 urdf文件的目录
meshes:机器人模型渲染文件(暂不使用)
config: 配置文件
launch: 存储launch启动文件
cd mycar_des
mkdir urdf meshes config launch rviz
2核心:编写urdf文件
新建一个子级文件夹:urdf(可选),
cd urdf
vim mycar.urdf
文件夹中添加一个mycar.urdf文件,复制如下内容:
<robot name="mycar">
<link name="base_link">
<visual>
<geometry>
<box size="0.5 0.2 0.1" />
</geometry>
</visual>
</link>
</robot>
3核心:在launch文件集成URDF与Rviz
在launch目录下,新建一个launch文件,
cd launch
vim mycar.launch
该launch文件需要启动Rviz,并导入urdf文件,Rviz启动后可以自动载入解析urdf文件,并显示机器人模型,
核心问题:如何导入urdf文件?
在ROS中,可以将urdf文件的路径设置到参数服务器,使用的参数名是:robot_description,示例代码如下:
<launch>
<!-- 设置参数 -->
<param name="robot_description" textfile="$(find mycar_des)/urdf/mycar.urdf" />
<!-- 启动 rviz -->
<node pkg="rviz" type="rviz" name="rviz" />
</launch>
编译
cd ~/mycar_ws/
catkin_make
运行launch文件
roslaunch mycar_des mycar.launch
4在Rviz中显示机器人模型
rviz 启动后,会发现并没有盒状的机器人模型,这是因为默认情况下没有添加机器人显示组件,需要手动添加,添加方式如下:
Fixed Frame修改为base_link
设置完毕后,可以正常显示了
<< 上一篇
下一篇 >>