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文件格式
3. 导出urdf文件
4. urdf整体介绍
5.《ROS by Example vol 2 indigo》P98
6. urdf教程
7. ROS機器人描述