Direct Collocation
- 別名: collocation, direct transcription
- カテゴリ: Planning & manipulation › Trajectory optimisation
- タグ: trajectory-optimization, optimal-control, nonlinear-programming, motion-planning, dynamics
サンプリングした時刻の状態と制御入力を変数として扱い、動力学を隣り合うサンプル間の制約として課す軌道最適化手法。
定義
直接コロケーション法(Direct collocation)は、最適制御問題、すなわちシステムを始点から目標まで最小のコストで動かす時間方向の制御入力を求める問題を、標準的なソルバーで扱える有限の非線形計画問題に変換する方法である。軌道はいくつかの時刻点に区切られ、これをノット点(knot points)と呼ぶ。各ノット点の状態と制御入力がすべて決定変数となり、システムの動力学は欠損制約(defect constraints)と呼ばれる等式制約として課される。これは、隣り合う状態が台形則や Hermite–Simpson 則などの積分規則と整合することを要求する制約である。擬スペクトル法は関連する手法群で、軌道全体にわたって高次の多項式を用いる。
これは、制御入力だけを決定変数とし、状態は動力学を前向きにシミュレーションして得るシューティング法(shooting)とは異なる。コロケーション法の問題は大きいが非常に疎であり、IPOPT や SNOPT などの疎な非線形計画ソルバーで解かれる。利点は、関節の可動範囲、障害物とのクリアランス、接触条件といった状態の制限を直接課しやすいこと、障害物を突き抜ける直線のような物理的に整合しない推測からソルバーを始められること、そして長いホライズンや不安定なシステムでシングルシューティング法よりも振る舞いがよい傾向があることである。
この構造の帰結として、途中の反復解は動力学に従う必要がない。ソルバーは初期には欠損制約を自由に破ってよく、収束した時点で初めてそれを満たす。動力学や衝突の制約をペナルティ項に移す定式化はこれを明示的にし、解がいったん実行不可能な領域を通り抜けてから、ペナルティによって押し戻されるようにする。この考え方はロボット学習にも取り入れられており、たとえば、シミュレーション中のロボットにまずペナルティ付きで障害物をすり抜けさせ、後で衝突を厳密に課す。多くの軌道最適化と同じく、直接コロケーション法は局所最適解を見つけるので、結果は初期推測に依存する。
重要な理由
直接コロケーション法は、制約をうまく扱え、大まかな推測から容易に始められるため、脚ロボット、ドローン、ロボットアームの軌道最適化で主力となる手法の 1 つである。これを理解すると、ロボット学習における有用な設計の考え方、つまりまず物理を緩め、徐々に課していくという考え方も説明できる。
主な用途
- 脚ロボットのジャンプ、宙返り、歩容の軌道最適化
- ロボットアームとドローンの時間最適・エネルギー最適軌道
- 移動ロボットの探索・カバレッジ軌道の計画
- 学習済みポリシーや追従制御器のための参照動作の生成
- 宇宙機と航空機の軌道設計
実際の使われ方
Drake や CasADi で脚ロボットのジャンプを計画するエンジニアは、ジャンプ全体にたとえば固定数のノット点を置き、各点にロボットの状態と関節トルクをもたせた問題を立てる。欠損制約がロボットの動力学を通じて連続するノット点を結びつけ、追加の制約でトルクをモーターの限界内に、立脚期には足を地面に保ち、コストは制御入力の大きさと最終誤差にペナルティを課す。初期値には、離陸姿勢と着地姿勢の単純な補間を使う。これは動力学を満たさないが、IPOPT に整合した軌道を探させる。ソルバーが失敗した場合は、ノット点を増やすか、変数をスケーリングするか、初期推測を改善する。得られた軌道は、その後フィードバック制御器で追従されるか、学習済みポリシーの参照として使われる。
よくある誤解
- ソルバーの反復解はどれも物理的に妥当な軌道である — 動力学は収束時にしか満たされず、途中の解はそれを破りうる
- 直接コロケーション法は大域的に最良の軌道を見つける — 非凸問題を局所的に解くため、初期推測が違えば答えも変わりうる
- コロケーション法とシューティング法は別の問題を解いている — 両者は同じ最適制御問題の 2 通りの転写(transcription)であり、数値的な振る舞いが異なるだけである
知っておくべき人
- 軌道最適化と動作計画のエンジニア
- 脚ロボットとドローンの制御開発者
- 最適化された参照動作を使うロボット学習の研究者
- 最適制御を学ぶロボティクスの学生
関連技術
- Drake
- CasADi
- IPOPT
- SNOPT
- マルチプルシューティング法(Multiple Shooting)
- 擬スペクトル法(Pseudospectral Methods)
関連用語
- Trajectory Planning
- Model Predictive Control
- Differential Flatness
- Motion Planning
- Curriculum Learning
- Ergodic Coverage
関連プロジェクト
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines