在阅读本文之前,推荐阅读前篇ROS机器人TF基础和全部资料文档:

所有内容均在ROS1 indigo,kinetic,melodic,noetic以及ROS2 dashing,foxy等测试通过。

但介绍以noetic和foxy为主。

在ROS中自定义机器人的3D模型

机器人模型通常为移动机器人和工业机械臂,那么如果在rviz中进行三维可视化的URDF模型设计呢?

先看如下两副截图(点击可看大图,细节清晰):

参考命令:

  • ros2 launch urdf_tutorial display.launch.py model:=/home/ros/RobCode/urdf_tutorial/src/urdf/magician.urdf
ROS机器人URDF建模_ROS1 cozmo之urdf(rviz2)

      /\/\/\移动机器人案例如上/\/\/\

参考命令:

  • ros2 launch urdf_tutorial display.launch.py model:=/home/ros/RobCode/urdf_tutorial/src/urdf/cozmo2.urdf
ROS机器人URDF建模_xml_02 magician之urdf(rviz2)

      /\/\/\工业机械臂案例如上/\/\/\

可以看到机器人各关节的坐标以及非常精细的模型,并可以通过人机交互面板(joint_state_publisher)控制其状态。

由此可知:

相比于仿真,虽然直接在一个真正的机器人上进行编程能够给我们最佳的反馈,并且也更加令人激动,但是并不是每个人都有机会接触到真正的机器人。基于这个原因,我们需要对整个物理世界进行建模与仿真。机器人三维模型或部分结构模型主要用于仿真机器人或者为了帮助开发者简化他们的常规工作,在ROS中通过URDF文件实现。标准化机器人描述格式(Unified Robot Description Format , URDF)是一种用于描述机器人及其部分结构、关节、自由度等的XML格式文件。每次在ROS系统中看到3D机器人都会有URDF文件与之对应,例如PR2Willow Garage)或者RobonautNASA)。在下面的章节中我们将会学习如何创建这种文件和格式用于定义不同的值。

在正式开启之前,再观看一个视频,了解以下官方案例:

ros1ros2urdf

更多文章请关注《万象专栏》