franka_description

该包包含运动学、关节限制、视觉表面和碰撞空间对我们的机器人和末端执行器的描述。碰撞空间是视觉描述的一个简化版本,用于提高碰撞检查的性能。该描述是基于按照 URDF XML 文档 的URDF格式。

如果您想仿真 FR3 机器人,您可以将 gazebo 参数传递给 XACRO 文件。 franka_description  包含所有 Franka Robotics 机器人模型的文件。

xacro $(rospack find franka_description)/robots/fr3/fr3.urdf.xacro gazebo:=true

同样适用于 FER(Panda):

xacro $(rospack find franka_description)/robots/panda/panda.urdf.xacro gazebo:=true

碰撞体积

URDF 定义了两种碰撞类型:

  • Fine(精细):这些碰撞体积由凸面网格构成,这些凸面网格是每个连杆的视觉网格 (.dae) 的近似和大幅简化的版本。精细体积应用于仿真 Gazebo 中的机器人碰撞。

  • Coarse(粗糙): 这些碰撞体积是简单的胶囊体(一个有两个半球形端盖的圆柱体),连接到每个连杆,并按一定的安全距离膨胀。这些体积的计算效率更高,并在机器人内部使用以避免自碰撞。当规划运动时,例如使用 MoveIt 时,请使用这些几何图形。

可视化模型

碰撞模型(精细)

碰撞模型(粗糙)

_images/visual.png_images/collision-fine.png_images/collision-coarse.png

为了区分以上两种类型的碰撞模型,在 URDF 中插入了带有 *_sc 后缀的人为添加的连杆(用于自碰撞):

panda_link0

├─ panda_link0_sc

└─ panda_link1

├─ panda_link1_sc

└─ panda_link2

├─ panda_link2_sc

└─ panda_link3

├─ panda_link3_sc

└─ panda_link4

├─ panda_link4_sc

└─ panda_link5

├─ panda_link5_sc

└─ panda_link6

├─ panda_link6_sc

└─ panda_link7

├─ panda_link7_sc

└─ panda_link8

├─ panda_link8_sc

└─ panda_hand

├─ panda_leftfinger

├─ panda_rightfinger

├─ panda_hand_sc

└─ panda_hand_tcp

可以通过 gazebo XACRO 参数控制哪个碰撞模型加载到 URDF 中:

  • xacro ... panda.urdf.xacro gazebo:=false: 这将 同时 使用精细和粗略碰撞模型。如果完全省略 arg 参数,这也是默认设置。如果要使用 MoveIt,请使用此选项。

  • xacro ... panda.urdf.xacro gazebo:=true: 这将 使用精细碰撞模型。当想要一个可仿真的 URDF(即用于 Gazebo)时使用它。当使用粗略碰撞模型时,机器人当然会不断地与下一个连杆的胶囊体发生碰撞。