ROS中的URDF Link元素参考,中文翻译

ROS中的URDF Link元素参考,中文翻译

原文地址http://wiki.ros.org/urdf/XML/link

1. link 元素

link元素的body中包含了惯性、视觉特征、碰撞属性等内容
下面是一个使用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>

结构图

2. 参数

  • name (必须的)
    • link的名字

3. 子元素

  • <inertial> (可选的)
    • link中的惯性属性
    • <origin> (可选的): 默认值为一致的
      • 这是惯性参考系相对于Link参考系的位姿. 惯性参考系的原点必须在link的重心上.惯性参考系不需要与惯性主轴(转动惯量的主轴坐标系)对齐。
      • xyz (可选: 默认为0向量)
        • 代表x,y,z轴方向上的偏移
      • rpy (可选: 默认值为一致的)
        • 代表roll,pitch和yaw角,用弧度表示
    • <mass>
      • 该元素的value属性表示了link的质量
    • <inertia>
      • 3*3的转动惯量矩阵,代表惯量参考系。由于转动惯性矩阵的对称性,只需要6个上三角元素 ixx, ixy, ixz, iyy, iyz, izz作为属性
  • <visual>(可选)
    • link的视觉属性.本元素形象化的指定了物体的形状(盒状、圆筒状等).注意:生成相同的link可以使用多个不同的<visual>实例.它们定义的几何结构联合形成了link的视觉表示.
    • name(可选)
      • 指定link的几何结构中一部分的名字.这可以用来引用link几何结构中的特定位.
    • <origin> (可选的): 默认值为一致的
      • 视觉元素的参考系相对于link参考系的位姿
      • xyz (可选: 默认为0向量)
        • 代表x,y,z轴方向上的偏移
      • rpy (可选: 默认值为一致的)
        • 代表roll,pitch和yaw角,用弧度表示
    • <geometry>(必须的)
      • 物体的视觉形状,可从下面选一个:
      • <box>
        • 一个立方体,size属性包含三维的长度,原点在立方体中心
      • <cylinder>
        • 一个圆柱体,需指定radius(半径)和length(高)属性,原点在圆柱体中心
      • <sphere>
        • 一个球体,需指定radius(半径)属性,原点在球体中心
      • <mesh>
        • 一个不规则网线图,通过元素filename指定网线图文件,可选的元素scale用来指定缩放,缩放的为网线图的轴对称边界框围成的立方体.虽然.stl文件格式也被支持,但是为了得到最好的质地和颜色,推荐使用Collada的.dae文件格式.不能在多个机器上使用同一个模型.必须使用本地文件.
    • <material>(可选的)
      • 视觉元素的材质.该选项被允许在顶层元素robot中指定一个link物体之外的材质元素,在link元素内你可以使用name属性来引用一种材质
      • name 材质的名称
      • <color>(可选)
        • rgba参数,使用四个数组的集合表示材质的颜色,分别代表red/green/blue/alpha,其中数组的取值为[0,1]
      • <texture>(可选)
        • 通过filename参数来指定一种纹理
  • <collision>(可选)
    • link的碰撞属性.请注意,这可能与link的visual属性不同,例如,通常使用更简单的碰撞模型来减少计算时间.注意:同一link可以存在多个<collision>标签实例.它们定义的几何结构联合形成了link的碰撞表示.
    • name(可选)
      • 指定link的碰撞几何中的一部分的名字,这可以用来引用link碰撞几何中特定位.
    • <origin> (可选的): 默认值为一致的
      • 碰撞元素的参考系相对于link参考系的位姿
      • xyz (可选: 默认为0向量)
        • 代表x,y,z轴方向上的偏移
      • rpy (可选: 默认值为一致的)
        • 代表roll,pitch和yaw角,用弧度表示
    • <geometry>
      • 参考visual元素中关于geometry元素的表述

4. 推荐的mesh分辨率

对于使用ROS运动规划程序包进行碰撞检查,建议将每个link中放入URDF的碰撞网格的面数尽可能少(理想情况下小于1000).如果可能,鼓励使用其他基元近似网格.

5. 多个碰撞体

即使有时候会用到,但是我们还是决定URDF中不支持多个碰撞体.URDF仅被用来表示实际机器人的属性,而不是为额外的实物做碰撞检测,比如控制器碰撞检测. 在URDF中,<visual>元素应尽可能准确到真实机器人,并且<collision>元素仍然应该是近似的,尽管网格中的三角形要少得多.
如果确实需要courser-grain,超大尺寸的碰撞几何图形,例如碰撞检查和控制器,则可以将这些网格/几何图形移动到自定义XML元素。 例如,如果您的控制器需要一些特殊的粗略碰撞检查几何,您可以在<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>  

URDF将忽略这些自定义元素,如“collision_checking”,您的特定程序可以解析XML本身以获取此信息.

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值