运动学

运动学插件

MoveIt 使用插件基础架构,特别针对允许用户编写自己的逆运动学算法。

正向运动学和查找雅可比矩阵集成在 RobotState 类本身中。

MoveIt 的默认逆运动学插件使用 KDL 基于数值雅可比矩阵的求解器进行配置。

此插件由 MoveIt 设置助手自动配置。


碰撞检查

MoveIt 中的碰撞检查是在规划场景中使用 CollisionWorld 对象配置的。

幸运的是,MoveIt 的设置使得用户永远不必担心碰撞检查是如何发生的。

MoveIt 中的碰撞检查主要使用 FCL 包 - MoveIt 的主要碰撞检查库进行。

碰撞对象

MoveIt 支持不同类型对象的碰撞检查,包括:

  • 网格 - 您可以使用 ``.stl``(标准三角语言)或 ``.dae``(数字资产交换)格式来描述对象,例如机器人链接。

  • 原始形状 - 例如盒子、圆柱体、圆锥体、球体和平面

  • Octomap - Octomap 对象可直接用于碰撞检查

允许碰撞矩阵 (ACM)

碰撞检查是一项非常昂贵的操作,通常占运动规划期间计算费用的近 90%。 允许碰撞矩阵ACM 编码一个二进制值,对应于检查物体对之间碰撞的需求(可能在机器人上或在世界中)。 如果在 ACM 中将两个物体对应的值设置为“true”,则不会执行两个物体之间的碰撞检测。 如果两个物体总是相距甚远,永远不会发生碰撞,则不需要进行碰撞检测。 或者,两个物体可能默认相互接触,在这种情况下,应该在 ACM 中禁用该对的碰撞检测。