ROS学习心得:URDF

1. URDF Construction

  URDF由一些不同的功能包和组件组成,下图描述了这些组件之间的联系。

ROS学习心得:URDF_第1张图片

 

3      URDF教程

如下图所示,本节将创建一个如下图所示结构的机器人模型。

ROS学习心得:URDF_第2张图片

 

3.1       基础模型

上图所示是一个树形机器人模型,我们先从机器人的整体结构出发,不考虑过多的细节,可以将机器人通过如下的URDF表示:

  1.   
  2.   
  3.   
  4.   
  5.  
  6.   
  7.     
  8.     
  9.   
  10.  
  11.   
  12.     
  13.     
  14.   
  15.  
  16.   
  17.     
  18.     
  19.   

上边的URDF模型定义了机器人的4个环节(link),然后定义了三个关节(joint)来描述环节之间的关联。

ROS为用户提供了一个检查URDF语法的工具:

$ sudo apt-get install liburdfdom-tools

安装完毕后,执行检查:

check_urdf my_robot.urdf

如果一切正常,将会有如下显示:

robot name is: test_robot

---------- Successfully Parsed XML ---------------

root Link: link1 has 2 child(ren)

    child(1):  link2

    child(2):  link3

        child(1):  link4

3.2       添加机器人尺寸

在基础模型之上,我们为机器人添加尺寸大小。由于每个环节的参考系都位于该环节的底部,关节也是如此,所以在表示尺寸大小时,只需要描述其相对于连接的关节的相对位置关系即可。URDF中的域就是用来表示这种相对关系。

例如,joint2相对于连接的link1在x轴和y轴都有相对位移,而且在x轴上还有90度的旋转变换,所以表示成域的参数就如下所示:

为所有关节应用尺寸:

  1.   
  2.   
  3.   
  4.   
  5.  
  6.   
  7.     
  8.     
  9.     
  10.   
  11.  
  12.   
  13.     
  14.     
  15.     
  16.   
  17.  
  18.   
  19.     
  20.     
  21.     
  22.   

再次使用check_urdf检查通过后继续下一步。

3.3       添加运动学参数

如果我们为机器人的关节添加旋转轴参数,那么该机器人模型就可以具备基本的运动学参数。

例如,joint2围绕正y轴旋转,可以表示成:

同理,joint1的旋转轴是:

应用到我们的URDF中:

  1.   
  2.   
  3.   
  4.   
  5.  
  6.   
  7.     
  8.     
  9.     
  10.     
  11.   
  12.  
  13.   
  14.     
  15.     
  16.     
  17.     
  18.   
  19.  
  20.   
  21.     
  22.     
  23.     
  24.     
  25.   

       便忘记使用check_urdf检查语法错误。
 

你可能感兴趣的:(ROS)