ROS学习(九):ROS URDF->link

描述连杆的运动学和动力学性质,描述包含惯量矩阵、可视化信息等的刚体连杆。

下面是一个简单的例子:

<link name="my_link">
   <inertial>
     <origin xyz="0 0 0.5" rpy="0 0 0"/>
     <mass value="1"/>
     <inertia ixx="100"  ixy="0"  ixz="0" iyy="100" iyz="0" izz="100" />
   inertial>

   <visual>
     <origin xyz="0 0 0" rpy="0 0 0" />
     <geometry>
       <box size="1 1 1" />
     geometry>
     <material name="Cyan">
       <color rgba="0 1.0 1.0 1.0"/>
     material>
   visual>

   <collision>
     <origin xyz="0 0 0" rpy="0 0 0"/>
     <geometry>
       <cylinder radius="1" length="0.5"/>
     geometry>
   collision>
 link>

ROS学习(九):ROS URDF->link_第1张图片

属性

属性:name

连杆的名字。

组件:

< inertial>

连杆的转动惯量矩阵

1)、 < origin> (optional: defaults to identity if not specified)

定义转动惯量矩阵参考坐标系相对于连杆坐标系的变换矩阵。转动惯量矩阵参考坐标系的原点

必须在连杆重心处,其坐标轴可与惯性主轴平行。

 xyz (optional: defaults to zero vector)

原点偏置量

 rpy  (optional: defaults to identity if not specified)

原点坐标轴的RPY角度。

2)、< mass>

连杆的质量

3)、< inertia>

连杆的惯性张量矩阵。由六个独立的量组成:ixx, ixy, ixz, iyy, iyz, izz

< visual> (optional)

连杆的可视化属性。用来指定连杆显示的形状(正方形、长方形、球形等)。同一连杆可以由

多个形状组成。

1)、name (optional)

连杆几何形状的名称。

2)、 < origin> (optional: defaults to identity if not specified)

可视化连杆组件的参考坐标系相对于连杆坐标系的参考坐标系。

 xyz (optional: defaults to zero vector)

原点偏置量

 rpy  (optional: defaults to identity if not specified)

原点坐标轴的RPY角度。

3)、 < geometry> (required)

可视化对象的形状。可选项为:

< box>

长方体,包括长、宽、高,原点 origin 是其中心。

< cylinder>

圆柱体,包括半径、长度,原点 origin 在其中心。

< sphere>

球体,包括半径,原点 origin 在其中心。

< mesh>

网格,由文件决定,同时又由 scale 界定其对齐边界。推荐使用 Collada .dae 文件。 .stl

文件也支持。必须是一个本地文件。

4)、 < material> (optional)

可视化组件的材料。可以在顶层 ‘robot’ 组件中定义,然后在 link 中通过其名字引用。

name

材料的名字。

< color> (optional)

rgba

颜色,,由 red/green/blue/alpha 组成,每一个数字在 [0,1] 内。

< texture> (optional)

材料的质感,由文件定义。

< collision> (optional)

连杆的碰撞属性。碰撞属性和连杆的可视化属性不同,简单的碰撞模型经常用来简化计算。同

一个连杆可以有多个碰撞属性标签。连杆的碰撞属性表示由其定义的几何图形集构成。

1)、name (optional)

一部分连杆几何形状的名称

2)、< origin> (optional: defaults to identity if not specified)

碰撞组件的参考坐标系相对于连杆坐标系的参考坐标系。

 xyz (optional: defaults to zero vector)

原点偏置量

 rpy  (optional: defaults to identity if not specified)

原点坐标轴的RPY角度。

3)、

查看上述 < visual> -> < geometry> 部分的相关解释。

碰撞检测

使用 ROS motion planning 功能包。

多碰撞属性刚体实例:

如果控制器需要碰撞检测,可以在 < collision> 组件后面添加 < collision_checking> 标签

<link name="torso">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://robot_description/meshes/base_link.DAE"/>
      geometry>
    visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
      <geometry>
        <mesh filename="package://robot_description/meshes/base_link_simple.DAE"/>
      geometry>
    collision>
    <collision_checking>
      <origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
      <geometry>
        <cylinder length="0.7" radius="0.27"/>
      geometry>
    collision_checking>
    <inertial>
      ...
    inertial>
  link>  

你可能感兴趣的:(ROS)