Minimum-Snap Trajectory
- 別名: minimum snap trajectory, min-snap
- カテゴリ: Planning & manipulation › Trajectory optimisation
- タグ: trajectory-generation, quadrotors, aerial-robotics, motion-planning, optimization
位置の 4 階微分であるスナップの 2 乗の積分を最小化して得られる、ウェイポイントを通る滑らかな経路。クアッドロータの飛行を計画する標準的な方法である。
定義
ミニマムスナップ軌道(minimum-snap trajectory)は、一連のウェイポイントを通過しながら、スナップと呼ばれる位置の 4 階時間微分の 2 乗の積分を最小化する軌道である。各座標は通常、ウェイポイントの組ごとに 1 区間の区分多項式として表され、つなぎ目では位置とその各階微分の連続性が課される。コストは多項式係数の 2 次式であり、ウェイポイント条件と連続性条件は線形なので、区間の所要時間を固定すれば係数を求める問題は二次計画問題となり、制約のない場合には閉形式で解ける。
この手法はクアッドロータと密接に結びついている。Mellinger と Kumar(2011)は、クアッドロータが位置とヨー角を平坦出力とする微分平坦なシステムであることを示した。すなわち、完全な状態と入力は、これらの出力とその微分から計算できる。推力の向きと大きさは加速度から、機体角速度はジャークから、そして角加速度、ひいてはモータートルクはスナップから決まる。したがってスナップを最小化すると、必要なモーター指令の変化が小さく滑らかに保たれ、軌道を追従しやすくなる。同じ考え方をより低い階数に適用すると、腕の動作に長く使われてきたミニマムジャーク軌道や、最小加速度の経路が得られる。
多項式の求解は問題の一部しか扱わない。区間の所要時間は別途選ぶ必要があり、多くの場合は外側の最適化によって、あるいは速度、推力、機体角速度の制限が満たされるまで時間をスケーリングすることによって決める。解はウェイポイントを通過するが、それだけではウェイポイント間の障害物を回避しないため、プランナーは経路が角を横切る箇所に中間ウェイポイントを追加するか、各区間を安全な凸の回廊内に制約する。ミニマムスナップ軌道は滑らかだが時間最適ではないため、レーシング用のシステムではサンプリングベースまたは最適化ベースの時間最適プランナーも使われる。
重要な理由
ミニマムスナップ軌道生成は、ウェイポイントをマルチロータが飛行可能な目標軌道に変換する定番の方法である。高速で、よく理解されており、微分平坦性を通じてクアッドロータのダイナミクスにきれいに対応するため、研究用オートパイロット、ドローンレース、空中点検で使われている。
主な用途
- クアッドロータのウェイポイント飛行とアグレッシブな機動
- ドローンレースの目標軌道
- 空中点検と空撮の経路
- マニピュレータのための滑らかな関節空間またはデカルト空間の軌道(ミニマムジャークの変種)
- 幾何学的経路プランナーの後段での軌道の洗練
実際の使われ方
あるドローンレースのチームが、コース上のゲート位置を記した地図を持っている。各ゲートの中心にウェイポイントを 1 つずつ置き、ヨー角を次のゲートに向け、各ゲートでスナップまでの連続性をもつミニマムスナップの区分多項式を x、y、z について当てはめる。初期の時間配分は距離と公称速度から求める。次に、平坦性の写像を通じて計算した速度、総推力、機体角速度の制限に照らして軌道を確認し、すべての制限が余裕をもって満たされるまで区間時間を伸縮する。得られた軌道は制御周期でサンプリングされて幾何学的追従コントローラに渡され、同じ目標軌道は学習型の知覚ポリシーのためのラベル生成にも使われる。
よくある誤解
- ミニマムスナップは時間最適である — 区間時間を固定したうえで滑らかさのコストを最小化するのであり、飛行時間を最小化するわけではない
- ウェイポイントが衝突なしなら軌道も障害物を回避する — 回廊制約を加えない限り、ウェイポイント間の区間が角を横切ることがある
- アクチュエータの制限は自動的に扱われる — 速度、推力、機体角速度の制限は、時間配分や制約によって確認し、守らせる必要がある
- ミニマムスナップは微分平坦性と同じである — 平坦性は機体モデルの性質であり、ミニマムスナップは平坦出力を計画するために使うコストの 1 つである
知っておくべき人
- 空中ロボットとドローンのオートパイロットのエンジニア
- モーションプランニングの研究者
- ドローンレースや点検の開発者
- 軌道生成を学ぶ制御工学の学生
関連技術
- 二次計画法(Quadratic Programming)
- 区分多項式スプライン(Piecewise Polynomial Splines)
- PX4
- SE(3) 上の幾何学的追従制御(Geometric Tracking Control on SE(3))
- 安全飛行回廊(Safe Flight Corridors)
関連用語
- Differential Flatness
- Trajectory Planning
- UAV
- Direct Collocation
- Kinodynamic Planning
- Model Predictive Control
関連プロジェクト
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- GTSAM: Factor-graph optimization library powering many modern SLAM backends
- 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
- PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization