赞
踩
URDF(Unified Robot Description Format,统一机器人描述格式)是ROS中一个非常重要的机器人模型描述格式,ROS同时也提供了URDF文件的C++解析器,可以解析URDF文件中使用XML格式描述的机器人模型。URDF模型可以通过文本编辑器创建,若有CAD模型,也可以将CAD模型转化为URDF模型。
<link>标签用于描述机器人某个刚体部分的外观和物理属性,包括尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数(collision propertes)等。
机器人的link结构基本的URDF描述语法如下:
<link name="<link name>">
<inertial>......</inertial>
<visual>......</visual>
<collision>......</collision>
</link>
从下图中可以看出,检测碰撞的link区域大于外观可视的区域,这就意味着只要有其他物体与collision区域相交,就认为link发生碰撞。
<joint>标签用于描述机器人关节的运动学和动力学属性,包括关节运动的位置和速度限制。根据机器人的关节运动形式,可以将其分为以下六种类型:
关节类型 | 描述 |
---|---|
continuous | 旋转关节,可以围绕单轴无限旋转 |
revolute | 旋转关节,类似于continuous,但是有旋转的角度极限 |
prismatic | 滑动关节,沿某一轴线移动的关节,带有位置极限 |
planar | 平面关节,允许在平面正交方向上移动或者旋转 |
floating | 浮动关节,允许进行平移、旋转运动 |
fixed | 固定关节,不允许运动的特殊关节 |
机器人关节的主要作用是连接两个刚体link,这两个link分别称为parent link和child link,如下图所示。
<joint name="<name of the joint>">
<parent link="parent_link">
<child link="child_link">
<calibration ... />
<dynamics damping ... />
<limit effort ... />
</joint>
其中,必须指定joint的parent link和child link,还可以设置关节的其他属性:
<robot>是完整机器人模型的最顶层标签,<link>和<joint>标签都必须包含在<robot>标签内。<robot>标签内可以设置机器人的名称,其基本语法如下:
<robot name="<name of the robot>">
<link> ...... </link>
<link> ...... </link>
<joint> ...... </joint>
<joint> ...... </joint>
</robot>
<gazebo>标签用于描述机器人模型在Gazebo中仿真所需要的参数,包括机器人材料的属性、Gazebo插件等。该标签不是机器人模型必需的部分,只有在Gazebo仿真时才需加入。该标签的基本语法如下:
<gazebo reference="link_1">
<material>Gazebo/Black</material>
</gazebo>
安装相关依赖包sudo apt-get install liburdfdom-tools
,输入以下指令即可检查pr2.urdf文件
check_urdf pr2.urdf
安装相关依赖包sudo apt-get install liburdfdom-tools
,输入以下指令即可查看pr2.urdf的结构。
urdf_to_graphiz pr2.urdf
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。