< >
Home » ROS2与URDF入门教程 » ROS2与URDF入门教程-向URDF模型添加物理和碰撞属性

ROS2与URDF入门教程-向URDF模型添加物理和碰撞属性

说明:

  • 介绍如何向 URDF 模型添加一些基本物理属性以及如何指定其碰撞属性

步骤:

  • 用一个子元素指定了我们的链接visual。然而,为了让碰撞检测工作或模拟机器人,我们还需要定义一个collision元素。 这是具有碰撞和物理特性的新 urdf。新的基本链接的代码
<link name="base_link">
    <visual>
      <geometry>
       <cylinder length="0.6" radius="0.2"/>
      </geometry>
      <material name="blue">
        <color rgba="0 0 .8 1"/>
      </material>
    </visual>
    <collision>
      <geometry>
        <cylinder length="0.6" radius="0.2"/>
      </geometry>
    </collision>
  </link>
  • 碰撞元素是链接对象的直接子元素,与视觉标签处于同一级别

  • 碰撞元素以与视觉元素相同的方式定义其形状,并带有几何标记。几何标记的格式在此处与视觉对象完全相同

  • 可以以与碰撞标记的子元素相同的方式指定原点(与视觉一样)

  • Inertia,每个被模拟的链接元素都需要一个惯性标签

<link name="base_link">
  <visual>
    <geometry>
      <cylinder length="0.6" radius="0.2"/>
    </geometry>
    <material name="blue">
      <color rgba="0 0 .8 1"/>
    </material>
  </visual>
  <collision>
    <geometry>
      <cylinder length="0.6" radius="0.2"/>
    </geometry>
  </collision>
  <inertial>
    <mass value="10"/>
    <inertia ixx="0.4" ixy="0.0" ixz="0.0" iyy="0.4" iyz="0.0" izz="0.2"/>
  </inertial>
</link>
  • 此元素也是链接对象的子元素。

  • 质量以公斤定义。

  • 3x3 转动惯量矩阵由惯量元素指定。由于这是对称的,因此它只能由 6 个元素表示。

  • 这些信息可以通过 MeshLab 等建模程序提供给您。几何基元(圆柱、盒子、球体)的惯性可以使用维基百科的惯性张量列表计算(并在上面的例子中使用)。

  • 惯性张量取决于物体的质量和质量分布。一个好的初步近似是假设质量在物体的体积中分布相等,并根据物体的形状计算惯性张量,如上所述。

  • 如果不确定要放什么,ixx/iyy/izz=1e-3 或更小的矩阵通常是中型链路的合理默认值(它对应于边长为 0.1 m、质量为 0.6 kg 的盒子)。单位矩阵是一个特别糟糕的选择,因为它通常太高了(它对应于一个边长为 0.1 m、质量为 600 kg 的盒子!)。

  • 您还可以指定原点标记来指定重心和惯性参考系(相对于链接的参考系)。

  • 使用实时控制器时,零(或几乎为零)的惯性元素会导致机器人模型在没有警告的情况下崩溃,并且所有链接都将显示其原点与世界原点重合。

  • 接触系数。定义链接在彼此接触时的行为方式。这是通过名为 contact_coefficients 的碰撞标签的子元素完成的。需要指定三个属性

    • mu -摩擦系数

    • kp -刚度系数

    • kd -阻尼系数

  • 关节的运动方式由关节的动力学标签定义。

  • 这里有两个属性:

    • friction- 物理静摩擦。对于棱柱接头,单位是牛顿。对于旋转接头,单位是牛顿米。

    • damping- 物理阻尼值。对于棱柱接头,单位是牛顿秒/米。对于旋转接头,牛顿米秒每弧度。

  • 其他标签

  • 在纯 URDF 领域(即不包括 Gazebo 特定标签),还有两个标签可以帮助定义关节:校准和安全控制器。

  • 查看规范,因为它们不包含在本教程中。

参考:

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与urdf入门教程