urdf 学习记录

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创建机器人模型

原文地址:https://www.cnblogs.com/algs/p/7850555.html