YouDuck.ai

投影重力 — ロボットはどうやって転んだと知るか

最終更新

投影重力は、ロボット自身の座標系で表した重力ベクトルです。robotctl monitor の状態ストリームに乗る唯一の IMU 量でもあります。

  • 直立時はおよそ [0, 0, -1]
  • うつ伏せ、仰向け、横倒しでは方向がはっきり異なる

fallen の状態はここから判定されます。

ポリシーもこれに依存している

StandUp タスクはうつ伏せ・仰向け・座位から立ち上がる必要があり、それぞれまったく違う動作を要します。ポリシーは投影重力から自分がどの状態かを判断します。つまりこの量は診断と制御の両方に効いています。

エラーにならない故障

単独で覚えておく価値のある失敗モードがあります。

センサーフュージョンが停止しても、ボードはバスに応答し続けます。何もエラーにならず、重力ベクトルはもっともらしい姿勢のまま無期限に留まります。

数値は正常に見えます。転倒判定も正常に見えます。どちらももう現実を反映していません。

これを言ってくれる場所はただ一つ、robotctl monitor 下端の状態行です。

orientation frozen — 25 stale reads

古い読み値のカウンタと、それを比較すべき比率は robotctl health にあります。「ロボットの挙動がおかしいのに指標はすべて正常」のときに見る場所です。

関連