奇异点检查Singularity Checking)是在 IK实时伺服控制中检测机器人是否接近奇异位形,并据此降速、增加阻尼或停止运动的机制。

它关注的是机器人当前或下一步配置下,雅可比矩阵是否变得病态,导致某些末端方向难以控制或需要异常大的关节速度。

核心问题

奇异附近,末端命令可能看起来很小,但转换到关节空间后会被放大。对于遥操作和视觉伺服,这会表现为突然加速、抖动、腕部翻转或控制器饱和。奇异点检查的目标是在风险发生前降低命令强度或进入 halt。

核心机制

常见检测量包括:

  • Jacobian 的最小奇异值。
  • Jacobian 条件数。
  • 当前运动方向是否朝奇异区域移动。
  • 关节速度或关节增量是否被异常放大。

MoveIt Servo 中,接近奇异点时可以缩放速度,严重时触发停止类状态。自研 IK 链路里则常配合 DLS、速度限幅和高风险姿态样本集使用。

工程用途

  • 遥操作中防止操作者小输入引发机器人大动作。
  • 在闭环位姿跟踪中避免 target 更新把机器人推向病态区域。
  • 给日志和状态上报提供“为什么降速/停机”的可解释原因。
  • 用作回归测试中的高风险姿态检测指标。

边界与常见坑

  • 检查到奇异风险不等于已经规划出绕行路径;它通常只是降速或停止。
  • 阈值过保守会让机器人在可用区域也频繁变慢,过宽则无法提前保护。
  • 只看当前姿态不够,还要看命令方向是否正朝奇异区域移动。
  • DLS 能缓解数值爆炸,但不能替代外层奇异点状态和用户反馈。

相关术语