Reduced Coordinates
- 別名: minimal coordinates, joint coordinates
- カテゴリ: Software & tooling › Simulation & twins
- タグ: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation
関節をもつ機構を関節変数だけで記述する方法。関節は自由な物体同士の制約として課されるのではなく、構造上つながったままになる。
定義
ロボットアームのような多体系は、大きく分けて二つの方法でシミュレーションできる。最大座標(maximal coordinates)では、各リンクが 6 自由度をもつ自由な剛体であり、関節は制約として追加され、ソルバが毎ステップそれを満たさなければならない。縮約座標(reduced coordinates)では、系は関節角や直動関節の変位といった関節変数だけで記述され、浮遊ベースのロボットではこれにベースの姿勢が加わる。各リンクの姿勢はそれらの変数から順運動学によって計算されるので、関節が外れることはない。制約は構造上満たされている。
縮約座標は、古典的なロボットダイナミクスのアルゴリズムにとって自然な枠組みである。再帰的ニュートン・オイラー法(recursive Newton-Euler algorithm)、コンポジット剛体アルゴリズム、Featherstone の多関節体アルゴリズムはいずれも関節空間の量を直接扱い、逆動力学や順動力学を、リンク数に対して線形またはほぼ線形に増える時間で計算する。運動方程式はおなじみの形 M(q) q̈ + C(q, q̇) q̇ + g(q) = τ をとり、そのままロボットの制御に対応する。この方式を使うシミュレータには、MuJoCo、Drake、Pinocchio ベースのツール、そして PhysX と Bullet の articulation 型がある。例えば Isaac Gym は、すべてのロボットを PhysX の縮約座標 articulation としてシミュレーションする。
主な利点は長い連鎖に対する精度と安定性である。関節のドリフトや関節の伸びが生じず、関節の可動範囲や駆動は実際の関節変数に作用し、積分すべき変数も少ない。制限としては、構造が運動学的ツリーでなければならないため、四節リンクやパラレルロボットのような閉ループには追加のループ閉合制約が必要になること、また環境との接触は依然として制約やペナルティ力として扱わなければならないことがある。最大座標は単純で並列化しやすいため、ゲーム物理や緩く結合した物体では今も一般的である。
重要な理由
シミュレータがロボットをどう表現するかは、高負荷のもとで関節がつながったままでいられるか、どれだけ大きな時間ステップを使えるか、シミュレーションされた関節ダイナミクスがコントローラのモデルとどれだけ一致するかに影響する。ツールが縮約座標と最大座標のどちらを使っているかを知れば、物理エンジン間の安定性、性能、モデリングの選択肢の違いの多くを説明できる。
主な用途
- ロボットアーム、脚ロボット、ヒューマノイドの物理シミュレーション
- 制御とモデル予測制御のための剛体ダイナミクスライブラリ
- 強化学習のための GPU 並列シミュレーション
- 関節空間ダイナミクスモデルを用いた軌道最適化
- 多関節系の微分可能シミュレーション
実際の使われ方
あるエンジニアが、強化学習のためにヒューマノイドの URDF を GPU シミュレータに読み込む。縮約座標の articulation として読み込むと、ロボットの状態はベースの姿勢と速度に、関節ごとの位置と速度を一つずつ加えたものになり、これは観測ベクトルや、ポリシーが出力する関節の PD 目標値にそのまま対応する。以前、同じモデルを関節制約でつないだ別々の剛体から構築したときには、激しい着地の際に膝が目に見えて離れ、ソルバの反復回数もはるかに多く必要だった。このロボットには閉リンクの足首機構もある。articulation はツリーでなければならないため、エンジニアはそれを追加のループ閉合制約を一つもつツリーとしてモデル化し、得られた関節トルクの上限が実際の機構と一致するかを確認する。
よくある誤解
- 縮約座標と最大座標は異なる物理をモデル化している — 理想的には両者は同じダイナミクスを記述し、違いは数値解法、ドリフト、制約の剛性から生じる
- 縮約座標はどんな機構でも直接表現できる — パラレルロボットやリンク機構のような閉じた運動連鎖には、追加のループ閉合制約が必要である
- 縮約座標を使えば制約ソルバは不要になる — 接触、関節の可動範囲、ループ閉合は依然として解くべき制約である
知っておくべき人
- シミュレーションと物理エンジンの開発者
- GPU シミュレータを使うロボット学習エンジニア
- 剛体ダイナミクスライブラリを扱う制御エンジニア
- URDF や MJCF ファイルなどのロボットモデルを作成するエンジニア
関連技術
- PhysX Articulations
- MuJoCo
- Pinocchio
- Drake
- 再帰的ニュートン・オイラー法(Recursive Newton-Euler Algorithm)
関連用語
関連プロジェクト
- GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- RLinf: Scalable infrastructure for post-training foundation models via RL
- Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing