1.URDF(Unified Robot Description Format),统一的机器人描述文件格式。主要用来描述机器人的几何形状,在可视化时(如RViz中)显示出机器人的几何形状。与画图软件(如SolidWorks)所绘制的三维图形有一定区别。

urdf可以自己写xml文件,构建三维模型,也可以从外部导入stl或者dae文件,构建三维模型,从Solidworks导出模型生成urdf文件可参考文献[1,2,3]。

URDF描述机器人形状【4】主要分为两个基本部分:连杆(links)和关节(joints)。

2.在urdf中:

2.1   joint里的<origin rpy>指的是子参考系相对父参考系的变化。如:

  <joint
name="joint1"
type="revolute">
<origin
xyz="0 0 0.002"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="link1" />
<axis
xyz="0 0 1" />
<limit
lower="-1.7"
upper="1.7"
effort="0"
velocity="1.5" />
</joint>

上述代码表达的是link1的参考坐标系相对base_link的参考坐标系的变化。Z轴方向移动2mm,没有坐标轴的相对旋转。

<axis xyz="0 0 1">是关节的旋转轴。

<limit effort="300" velocity="0.1"  lower="-3.14" upper="3.14"/>,effort是关节承受的最大力,lower和upper表明旋转关节的下限和上限范围,velocity是最大关节速度。

单位为米,角度以弧度显示.(在RViz中,X显示为红色,Y显示为绿色,Z显示为蓝色。)

x代表指向前方(forward direction),y在x方向的左边,z轴向上。(符合右手系)。rpy(roll,pitch,yaw),roll参数绕x轴旋转,pitch绕y轴旋转,yaw绕z轴旋转。即:rpy分别代表绕xyz轴的旋转。(《ROS by  EXAMPLE vol 2 indigo》P98)

2.2    link里的<origin rpy>指的是连杆的位置和方位相对参考系的变化。(毕竟确定一个刚体的位姿需要知道位置和方位,故有xyz和rpy两个度量)如:

  <link
name="link1l">
<visual>
<origin
xyz="0 0 0"
rpy="0 0 0" />
<geometry>
<mesh
filename="package://assemb/meshes/link1l.STL" />
</geometry>
<material
name="">
<color
rgba="0.5 0.5 0.5 1" />
</material>
</visual>
</link> 

参考文献

1.   怎么用Solidworks把3D模型转为URDF文件格式

2.   solidworks转urdf文件安装

3.  导出urdf文件

4. urdf整体介绍

5.《ROS by  Example vol 2 indigo》P98

6.  urdf教程

7.  ROS機器人描述

8.  使用urdf创建机器人模型

05-26 12:36