一、创建功能包
实现流程:
准备:新建功能包,导入依赖
核心:编写 urdf 文件
核心:在 launch 文件集成 URDF 与 Rviz
在 Rviz 中显示机器人模型
找一个空闲文件夹,创建ros功能包
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
//导入依赖,在src目录下输入以下命令:
catkin_create_pkg jubot_demo urdf xacro #创建功能包、添加依赖
cd jubot_demo/
mkdir urdf
mkdir launch
mkdir meshes #存放渲染机器人模型的文件
mkdir config #存放rviz配置的文件
打开VS Code或者使用vim写两个文件
jubot_base.urdf(放urdf文件夹下)
display_jubot_base_urdf.launch(放launch文件夹下)
config里的rviz文件是保存生成的,不用写
二、urdf文件
Unified Robot Description Format,统一机器人描述格式,简称为URDF
模型的环节(link)与关节(joint)坐标关系,跟我的代码模型不匹配,仅供理解关系:
在基础模型之上,我们为机器人添加尺寸大小。由于每个环节的参考系都位于该环节的底部,关节也是如此,所以在表示尺寸大小时,只需要描述其相对于连接的关节的相对位置关系即可。URDF中的 origin 域就是用来表示这种相对关系。
如果我们为机器人的关节添加 axis 旋转轴参数,那么该机器人模型就可以具备基本的运动学参数。
jubot_base.urdf
<?xml version="1.0" ?>
<robot name="jubot">
<!--base_car-->>
<link name="base_link">
<visual>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
<geometry>
<cylinder radius="0.20" length="0.16"/>
</geometry>
<material name