1、实验目的及要求
掌握 ROS 中 3D 模型(URDF)的创建方法。
2、实验器材
PC 机、ROS 系统(ubuntu18.04+ROS melodic)
3、内容与步骤
建立一个简单的移动机器人小车,过程中尽量使用简单的元素:移动机器人小车的底盘 抽象为一个圆柱体,同时使用圆柱代替车轮。
3.1 创建机器人建模的功能包
进入工作空间的 src 文件下,运行:
catkin_create_pkg mbot_description urdf xacro
或者vscode新建package
如下图:
添加依赖:
3.2 建立文件夹
创建四个文件夹,如图 3.1 所示。
如下图:
或:
mkdir config launch meshs urdf
如下图:
3.3 创建启动文件
在launch文件夹下创建mbot_base_start.launch文件
内容如下图:
或用命令行创建:
gedit mbot_base_start.launch
如下图:
3.4 创建 urdf 模型
3.4.1 创建小车底盘
在 urdf 文件夹中创建 mbot_base.urdf
内容如下图所示:
3.4.2 效果显示
执行刚写的 launch 文件:
roslaunch mbot_description mbot_base_start.launch
结果出现如下错误:
运行命令:
sudo apt-get install ros-melodic-joint-state-publisher-gui
解决问题,继续运行launch文件:
如下图所示,但是有点问题,就是颜色和base_link没有出来,那么我们查看link关系:
查看link关系树:
urdf_to_graphiz mbot_base.urdf
重新运行launch命令载入urdf文件:
roslaunch mbot_description mbot_base_start.launch
成功载入!
3.4.3 创建左侧车轮
在 base_link 下继续添加:
base_link 与 left_wheel_link 中间加入 joint :left_wheel_join 类型是 continuous 无限旋 转。
左轮添加完成,再次运行 launch 文件,可以看下效果,如图所示:
3.4.4 创建右侧车轮(该部分自己完成)
和左轮类似,有的参数镜像即可:joint 处 y 轴与左轮相反。
如下图所示:
3.4.5 创建前后支撑轮
前后支撑轮如图所示。
下方为添加编码:
3.4.6 检查 URDF 模型整体结构
在 urdf 文件夹下执行 urdf_to_graphiz+要检查的 urdf 文件。
$ urdf_to_graphiz mbot_base.urdf
会在当前路径下创建一个 pdf 文件,如图 所示。
3.5 增加传感器
以激光雷达为例:
注:可在之前创建的 urdf 中直接添加代码运行: