Dynamic Movement Primitive
- 別名: DMP, dynamical movement primitive
- カテゴリ: Learning & autonomy › Learning from demonstration
- タグ: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning
軌道を、安定な 2 階の力学系と学習された強制項として符号化する動作プリミティブ。示された運動を新しい目標と新しい速度で再生できる。
定義
ダイナミック運動プリミティブ(DMP)(dynamic movement primitive)は、運動を固定されたウェイポイントの列としてではなく、力学系の出力として表現する。この定式化は 2000 年代初めに Ijspeert、Nakanishi、Schaal によって開発され、のちに Ijspeert ら(2013)が dynamical movement primitives という名前で完全な形で発表した。各自由度について、変換システムが臨界減衰のばね・ダンパのようにふるまい、位置を目標 g へ引き寄せる。そこに、途中の経路の形を決める強制項が加えられる。強制項は位相変数 x のガウス基底関数の重み付き和であり、x は 1 から 0 へ滑らかに減衰する別のカノニカルシステムによって生成される。強制項には x が掛けられているため時間とともに消えていき、システムは単純なばね・ダンパと同じように目標へ収束することが保証される。
デモンストレーションから DMP を学習するのは簡単である。示された位置、速度、加速度を使って、システムに必要な強制項を計算し、基底関数の重みを線形回帰で当てはめる。学習した運動はその後、汎化できる。強制項は始点から目標までの距離でスケーリングされるため、g を変えると形を保ったまま終点が移動する。時定数 τ を変えると運動が速くも遅くもなる。複数の自由度が 1 つのカノニカルシステムを共有することで、同期が保たれる。リズミックな版では振動する位相を用いて歩行や拭き取りのような周期運動を表し、障害物回避のため、あるいは追従誤差が大きくなったときに位相を遅らせるために、結合項を加えることもできる。
DMP は、再利用可能な運動の構成要素という一般的な考え方である動作プリミティブの、特定の一種である。ほかの学習済みプリミティブと比べると、DMP は決定的で単一の軌道を表す。一方、確率的運動プリミティブ(ProMP)は、複数のデモンストレーションから学習した軌道の分布を表す。元の定式化の既知の弱点には、新しい目標が始点に非常に近い場合や始点の反対側にある場合にスケーリングがおかしくなること(のちの修正版の定式化で対処されている)と、四元数 DMP のように姿勢を扱うための特別な形が必要なことがある。コンパクトな重みベクトルのため、DMP は実ロボットでの強化学習における方策のパラメータ化としてもよく使われる。
重要な理由
DMP は、1 回のデモンストレーションから運動を学習し、収束の保証を保ったまま新しい目標とタイミングで再利用する方法を与える。学習の容易さ、滑らかな出力、安定性というこの組み合わせにより、DMP はデモンストレーションからの学習における標準的な表現となり、新しい軌道モデルの一般的なベースラインにもなっている。
主な用途
- 1 回のキネステティックティーチングや遠隔操作によるデモンストレーションからのマニピュレーションスキルの学習
- 手を伸ばす、注ぐ、置くといった動作の新しい目標位置への汎化
- ソーシャルロボットのための表現豊かなジェスチャーの生成と調整
- 拭き取り、ドラム演奏、歩行パターンなどのリズミックな運動
- 実ロボットでの強化学習のための方策のパラメータ化
実際の使われ方
あるソーシャルロボットには、アニメーターが記録した手を振る、肩をすくめるといった表現豊かな腕のジェスチャーのセットが与えられている。各ジェスチャーは、関節ごとに 1 つ、カノニカルシステムを共有する DMP のセットとして符号化される。実行時には上位のモジュールがジェスチャーを選び、それを調整する。時定数を変えると、興奮した調子では手の振りが速く、落ち着いた調子では遅くなる。目標をずらすと手がより高く上がり、強制項の重みをスケーリングすると動きが大きくも小さくもなる。各 DMP は必ず目標に収束するので、調整したジェスチャーでも有効な姿勢で終わり、関節指令は実行前にロボットの関節リミットと速度リミットを通される。
よくある誤解
- DMP は記録された軌道にすぎない — DMP は力学系であり、新しい目標や速度に向け直すことができ、状態への摂動に反応する
- 動作プリミティブと DMP は同じ意味である — DMP は多くの種類の動作プリミティブのうちの特定の 1 つの定式化である
- DMP は複数のデモンストレーションのばらつきを捉える — 基本的な DMP は 1 本の軌道を当てはめるものであり、デモンストレーション間のばらつきをモデル化するのは確率的運動プリミティブである
- DMP はそれだけで障害物を回避する — 障害物回避には結合項の追加か外側のプランナーが必要である
知っておくべき人
- デモンストレーションからの学習に取り組むロボット学習の研究者
- 再利用可能なスキルライブラリを構築するマニピュレーションエンジニア
- ロボットのジェスチャーを設計するヒューマンロボットインタラクションの研究者
- 軌道表現を学ぶロボティクスの学生
関連技術
- 確率的運動プリミティブ(Probabilistic Movement Primitives)
- 局所重み付き回帰(Locally Weighted Regression)
- ガウス混合回帰(Gaussian Mixture Regression)
- キネステティックティーチング(Kinesthetic Teaching)
- 方策探索型強化学習(Policy Search Reinforcement Learning)
関連用語
- Motion Primitive
- Kinesthetic Teaching
- Imitation Learning
- Trajectory Planning
- Reinforcement Learning
- Impedance Control
関連プロジェクト
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- DreamZero: NVIDIA World Action Model that jointly predicts future video and robot actions
- robosuite: Modular MuJoCo simulation framework for robot learning research
- LIBERO: Lifelong robot learning benchmark with 130 procedural tasks
- Open X-Embodiment (OXE): Largest open robotics dataset: 1M+ episodes from 22 embodiments