Motion Primitive
- 別名: movement primitive, motor primitive, action primitive, skill primitive
- カテゴリ: Planning & manipulation › Motion planning
- タグ: motion-planning, manipulation, skills, learning-from-demonstration, task-planning
パラメータ化されたスキル(姿勢への移動、グリッパーを開く)や短い軌道セグメントのような、ロボットの動作の再利用可能な構成要素で、プランナーやポリシーがこれらを組み合わせてより長い振る舞いを作る。
定義
動作プリミティブ(Motion primitives)は、ロボットの振る舞いを、連結できる再利用可能な単位に分解する。あらゆる動作を関節指令のレベルで計画したり学習したりする代わりに、システムは目標姿勢、グリッパーの開き幅、押す方向といった少数のパラメータでプリミティブを呼び出し、プリミティブが詳細な動作を生成する。この用語はいくつかの関連する考え方を含み、それらはプリミティブの表現方法と、何がプリミティブを選ぶかの点で異なる。
マニピュレーションとタスク計画では、プリミティブはパラメータ化されたスキルである。姿勢への移動、把持、配置、押す、注ぐ、グリッパーの開閉などがそれにあたる。タスクプランナー、ビヘイビアツリー、言語モデルが系列を選んでパラメータを埋める。最近のいくつかのシステムでは、そうした関数を呼び出す短いプログラムを言語モデルに書かせている。動作計画では、プリミティブは車両の動力学を満たす事前計算済みの短い軌道セグメントであり、ラティスプランナーがそれらを状態の規則的な格子上でつなぎ、自動車、移動ロボット、ドローンのための実行可能な経路を探索する。デモンストレーションからの学習では、運動プリミティブは例から学習した、適応可能な軌道モデルである。Ijspeert、Nakanishi、Schaal が開発したダイナミック運動プリミティブ(dynamic movement primitives、DMPs)は、デモンストレーションを学習された強制項をもつ安定な力学系として符号化し、始点と目標を変えられるようにする。一方、確率的運動プリミティブ(probabilistic movement primitives、ProMPs)は軌道上の分布を表す。
中心となるトレードオフは、構造と適用範囲の間にある。固定されたライブラリは、プランナーが少数の離散的な選択肢とそのパラメータだけを探索すればよいので、振る舞いを予測可能かつテスト可能にし、計画にもすばやく使える。一方で、ロボットをライブラリが表現できる範囲に制限してしまう。接触の多い動作、反応的な動作、緊密に協調した動作には、フィードバックを組み込んだプリミティブや学習済みポリシーが必要になることがある。したがって、プリミティブの粒度を選ぶこと自体が 1 つの設計判断である。
重要な理由
動作プリミティブは、テスト済みの少数の行動をプランナーや言語モデルに与えることで、長いホライズンのタスクを扱いやすくする。高レベルの意思決定と低レベルの制御を分離するので、各層を個別に開発し検証できる。
主な用途
- タスクプランナーや言語モデルが駆動するマニピュレーション
- 車両やドローンのためのラティスベースの動作計画
- ダイナミック運動プリミティブによるデモンストレーションからの学習
- 再利用可能なスキルを呼び出すビヘイビアツリー
- 長いホライズンの棚入れ、梱包、組立
実際の使われ方
棚入れシステムを構築するチームが、押す、掃く、挿入する、把持して配置するといったプリミティブのライブラリを定義する。それぞれは接触点、方向、距離などのパラメータをもつ短い制御器として実装され、実行前に確認する前提条件と、力や位置に基づく終了条件をもつ。学習済みモデルが、パラメータ化された各プリミティブのもとで物体がどう動くかを予測し、プランナーが系列とパラメータを探索し、ロボットは最初のステップを実行して計画し直す。ドローンでは、同じ考え方が、終端速度についてサンプリングした短い多項式軌道のライブラリとして現れ、計画サイクルごとに障害物マップと照合される。
よくある誤解
- 動作プリミティブは常に固定のハードコードされた軌道である — 多くはパラメータ化されているかフィードバックを含み、DMPs は実行時に新しい目標に適応する
- プリミティブを使うことは学習をあきらめることである — プリミティブはデモンストレーションから学習されることが多く、プリミティブの選択とパラメータ設定にも学習済みモデルが使われる
- 十分に大きなライブラリがあればどんなタスクも解ける — 連続的で反応的な接触を必要とするタスクは、離散的なプリミティブで表現できる範囲を超えることがあり、ライブラリ自体も設計と保守が必要である
知っておくべき人
- スキルライブラリを構築するマニピュレーションのエンジニア
- ラティスプランナーを扱う動作計画のエンジニア
- デモンストレーションからの学習に取り組むロボット学習の研究者
- 言語モデルやタスクプランナーをロボットにつなぐ開発者
関連技術
- ダイナミック運動プリミティブ(Dynamic Movement Primitives、DMP)
- 確率的運動プリミティブ(Probabilistic Movement Primitives、ProMP)
- 状態ラティスプランナー(State Lattice Planner)
- ビヘイビアツリー(Behavior Trees)
- タスクと動作の統合計画(Task and Motion Planning)
- スキルライブラリ(Skill Libraries)
関連用語
- Motion Planning
- Trajectory Planning
- Task and Motion Planning
- Task Planning
- Imitation Learning
- Behavior Tree
関連プロジェクト
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design