ROS学习--第11篇:ROS机器人建模与仿真---向URDF模型添加 物理属性 和 碰撞属性

打开 07-physics.urdf ,以 base_link 为例


    
      
        
      
      
    
    
      
        
      
    
    
      
      
    

1.碰撞属性(Collision)

到目前为止,我们只指定了links的连接,用visual定义了机器人的外形。

然而,为了使碰撞检测工作,或者模拟机器人在类似于 Gazebo 的地方工作,我们还需要定义一个碰撞元素。

  • 碰撞元素是 link 的子元素,与 visual 处于同一级别。

  • 碰撞元素定义其形状的方式与 visual 相同,带有几何标记。几何标记的格式与 visual 的格式完全相同。

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

  • 在许多情况下,碰撞元素的形状和原点 可以和 visual完全相同。

  • 然而,有两个主要情况不行:

        快速处理 --- 对两个网格进行碰撞检测,相对于两个简单几何体进行碰撞检测要复杂得多。因此,用碰撞元素中更简单的几何图形替换网格。

        安全区 --- 你可能需要限制向敏感设备接近的移动。例如,如果我们不希望任何东西与机器人的头部发生碰撞,我们可以将碰撞几何体定义为包围其头部的圆柱体,以防止任何东西接近其头部。

2.物理属性(Physical Properties)

为了使你的模型能够正确地模拟,你需要定义你的机器人的几个物理特性,像Gazebo就需要这样的物理特性。

2.1 惯性(Inertia)

每个被模拟的 link 都需要一个惯性标签。

  • 此元素也是link的子元素。

  • 质量(mass) 以 kg 为单位。

  • 3x3转动惯量矩阵由惯量元素指定。因为这是对称的,所以只能用6个元素来表示。

     如:

ixx

ixy

ixz

ixy

iyy

iyz

ixz

iyz

izz

 

2.2 接触系数(Contact Coefficients)

您还可以定义 link 彼此接触时的行为方式。

这是通过名为“接触系数(contact_coefficients)”的碰撞标签的子元素完成的。要指定三个属性:
mu——摩擦系数
kp——刚度系数
kd——阻尼系数

2.3 关节动力学(Joint Dynamics)

关节的移动方式由关节的 dynamics tag 定义。这里有两个属性:

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

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

如果未指定,这些系数默认为零。

你可能感兴趣的:(ROS)