Centroidal Dynamics
- 別名: centroidal model, centroidal momentum dynamics, centroidal momentum
- カテゴリ: Control › Locomotion control
- タグ: legged-locomotion, humanoids, dynamics, balance, model-predictive-control
脚ロボットやヒューマノイドロボットの縮約モデルで、各手足を追跡することなく、接触力が重心の運動と全角運動量をどう変えるかを記述する。
定義
重心ダイナミクス(Centroidal dynamics)は、ヒューマノイドや四足ロボットのような多体ロボットの運動を、重心まわりの全体の並進運動量と角運動量によって記述するものである。ロボットの関節がいくつあっても、ニュートンとオイラーの法則によれば、これらの量を変えられるのは外力、主に重力と足や手に働く接触力だけである。並進運動量の変化率は外力の総和に等しく、重心まわりの角運動量の変化率は重心まわりの外部トルクの総和に等しい。
これにより、関節数によらずわずか 6 本の方程式からなるモデルが得られ、バランスと移動にとって最も重要なこと、すなわち重心がどこへ向かうか、そしてロボットが周囲に加える力の結果として胴体がどう回転するかを捉えられる。内部の関節運動は重心運動量を通じてのみ系に影響し、重心運動量は重心運動量行列によって関節速度と結び付けられる。この概念は Orin と Goswami によって構築された。
プランナーは重心ダイナミクスをさまざまな詳細度で用いる。単一剛体モデルはロボット全体を慣性が一定の一つの物体として扱い、脚が軽い四足ロボットではよく機能する。完全な重心モデルは関節の姿勢を保持して変化する慣性を計算し、これは手足の重いヒューマノイドで重要になる。さらに単純な線形倒立振子は角運動量を無視し、重心の高さを固定する。
実際には、重心プランナーが摩擦円錐と接触タイミングを満たす重心軌道と接触力を選び、続いて全身コントローラがそれらを実現する関節トルクを計算する。
重要な理由
重心ダイナミクスにより、コントローラはすべての関節の完全なダイナミクスを解くことなくバランス、歩行、跳躍を推論でき、ヒューマノイドや四足ロボットでのリアルタイム計画が可能になる。これはモデルベースの脚移動における標準的な中間層であり、単純な振子モデルと完全な剛体ダイナミクスの間に位置する。
主な用途
- 四足ロボットの移動のためのモデル予測制御
- ヒューマノイドの歩行、走行、跳躍
- 登攀やロコマニピュレーション(loco-manipulation)などの多接触動作の計画
- 押されたあとのバランス回復
実際の使われ方
典型的なモデルベースの移動制御スタックでは、モデル予測コントローラが単一剛体モデルまたは重心モデル上で動作し、摩擦円錐と接触スケジュールの制約のもとで、短いホライズンにわたって重心運動と床反力を最適化する。その出力はより高い周期で動く全身コントローラに渡され、全身コントローラは関節の可動範囲を守りながら計画された運動量に追従する関節トルクを求める二次計画問題を解く。Pinocchio などのライブラリは重心運動量行列を計算し、OCS2 などの最適制御フレームワークは脚ロボット向けの重心モデルを備えている。チームは、ロボットの計測されたベースの運動が計画された重心軌道にどれだけ近く追従するかを確かめて、この縮約モデルを検証する。
よくある誤解
- 重心ダイナミクスは手足を完全に無視する — 完全な重心モデルは姿勢に依存する慣性を通じて手足の運動を考慮しており、それを無視するのは単一剛体近似だけである
- 関節トルクはロボットの全運動量を直接変えられる — 変えられるのは接触力や重力などの外力だけであり、関節はそれらの接触力を変えることで作用する
- 倒立振子モデルと同じである — 振子モデルはさらに単純化したもので、角運動量を省き、通常は重心の高さを固定する
知っておくべき人
- 脚移動とヒューマノイド制御のエンジニア
- 歩行ロボットのモデル予測制御に取り組む研究者
- 多接触タスクに取り組む動作計画の研究者
- ロボットダイナミクスを学ぶ大学院生
関連技術
- Pinocchio
- OCS2
- モデル予測制御(Model Predictive Control)
- 全身制御(Whole-Body Control)
- 線形倒立振子(Linear Inverted Pendulum)
- 単一剛体モデル(Single Rigid Body Model)
関連用語
関連プロジェクト
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- python_simple_mppi: MPPI control derived and implemented in numpy, with four worked examples
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
- mjbatch: Runs thousands of MuJoCo simulations in parallel on the CPU