建模练习1 —— 手写一个移动机器人urdf模型
学习了好一阵子Gazebo相关和Moveit相关知识,本以为搭建husky和kinova机械臂仿真环境只不过是把下载的软件包修修改改就好了,没必要深究这两个机器人的细致之处,而事实是,经修改后的仿真模型总是bug百出,可能自己还是掌握的不扎实,所以从零开始,看看如何一步一步建模,看看自己“篡改”的代码究竟哪里出了错。
本博客按照古月大神的视频课程整理学习笔记,旨在方便自己今后的回顾与学习。
1 机器人的定义与组成

2 URDF建模方法
URDF:
- Unfied Robot Description Format,统一机器人描述格式;
- 可以解析URDF文件中使用XML格式描述的机器人模型;
- 包含link和joint自身及相关属性的描述信息;
2.1 < link >
- 描述机器人某个刚体部分的外观和物理属性
- 描述连杆尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数(collision properties)等
- 每个link都会成为一个坐标系
link的充分描述需要有三大部分:< visual >< collision >< inertial matrix >
<!-- Base link is the center of the robot's bottom plate -->
<link name="base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://husky_description/meshes/base_link.dae" />
</geometry>
</visual>
<collision>
<origin xyz="${( husky_front_bumper_extend - husky_rear_bumper_extend ) / 2.0} 0 ${base_z_size/4}" rpy="0 0 0" />
<geometry>
<box size="${ base_x_size + husky_front_bumper_extend + husky_rear_bumper_extend } ${base_y_size} ${base_z_size/2}"/>
</geometry>
</collision>
<collision>
<origin xyz="0 0 ${base_z_size*3/4-0.01}" rpy="0 0 0" />
<geometry>
<box size="${base_x_size*4/5} ${base_y_size} ${base_z_size/2-0.02}"/>
</geometry>
</collision>
</link>
这是husky中的base_link描述
<origin xyz="0 0 0" rpy="0 0 0" />
其中的这句代码很关键,与坐标变换有关系,xyz表示在三个坐标轴上的平移变换,单位是米,rpy是坐标系下的旋转偏移,单位是弧度,分别是围绕x、y、z三轴旋转的角度。所以< visual >部分主要描述了长什么样、位置如何。
会发现< collision >部分的geometry是用box描述的,这样做的目的是简化模型,减少碰撞检测的计算量。
对于惯性矩阵参数,如果是标准几何体,就用公式计算即可,如果是不规则物体,则要借助工具比如Solidworks来计算了。
2.2 < joint >
- 描述两个link之间的关系
- 包括关节运动的位置和速度限制
- 描述机器人关节的运动学和动力学属性


这里的
<origin xyz="0.2 0.2 0" rpy="0 0 0" />
描述child link相对于parent link的坐标变换关系。
<axis xyz="0 0 1"/>
说明z是旋转轴

3 从零写一个移动机器人URDF模型
在catkin_ws/src下,创建功能包
catkin_create_pkg mbot_description urdf xacro
在功能包中建立四个文件夹,分别用于存放特定的文件
接下来编写mbot.urdf文件
3.1 使用圆柱体创建底盘
<?xml version="1.0"?>
<robot name=

本文详细介绍了如何从零开始构建一个移动机器人的URDF模型,包括创建底盘、车轮、支撑轮以及添加激光传感器和Kinect设备的过程。通过学习理解link和joint的定义,以及在rviz中进行模型可视化,帮助读者深入理解URDF建模方法和Gazebo仿真环境的搭建。同时,文章强调了实践中遇到的问题和解决方法,强调了掌握基础知识的重要性。
最低0.47元/天 解锁文章

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



