YouDuck.ai

投影重力:机器人怎么知道自己倒了

最后更新

投影重力(projected gravity)是重力向量在机器人自身坐标系里的表示。它是 robotctl monitor 数据流上唯一的 IMU 量

  • 站立时约为 [0, 0, -1]
  • 面朝下、面朝上、侧躺时,向量方向截然不同

fallen 这个状态就是由它判定的。

为什么策略也依赖它

StandUp 任务要从面朝下、面朝上、坐姿三种状态站起,而这三种需要完全不同的动作序列。策略靠投影重力判断自己现在是哪一种——这个量同时服务于诊断和控制。

一个不会报错的故障

这里有一个值得单独记住的失效模式:

传感器融合停止之后,板子仍然在总线上应答。所以什么都不会报错,而重力向量会无限期停在一个看似合理的姿态上。

也就是说:数值看起来正常,跌倒判定看起来正常,但它们已经不再反映现实。

这种情况只有一个地方会说出来——robotctl monitor 底部的状态行:

orientation frozen — 25 stale reads

过期读数的计数器和它们对应的比例在 robotctl health 里。这是「机器人行为诡异但一切指标正常」时该查的地方。

相关内容