Dynamic Movement Primitive
- Auch genannt: DMP, dynamical movement primitive
- Kategorie: Learning & autonomy › Learning from demonstration
- Schlagwörter: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning
Eine Bewegungsprimitive, die eine Trajektorie als stabiles dynamisches System zweiter Ordnung plus einen gelernten Forcing-Term kodiert, sodass eine demonstrierte Bewegung zu neuen Zielen und mit neuen Geschwindigkeiten wiedergegeben werden kann.
Definition
Eine dynamische Bewegungsprimitive (Dynamic movement primitive, DMP) stellt eine Bewegung als Ausgabe eines dynamischen Systems dar statt als feste Liste von Wegpunkten. Die Formulierung wurde Anfang der 2000er-Jahre von Ijspeert, Nakanishi und Schaal entwickelt und später von Ijspeert et al. (2013) unter dem Namen dynamical movement primitives vollständig dargestellt. Für jeden Freiheitsgrad verhält sich ein Transformationssystem (transformation system) wie ein kritisch gedämpftes Feder-Dämpfer-System, das die Position zu einem Ziel g zieht. Hinzu kommt ein Forcing-Term (forcing term), der den Weg dorthin formt. Der Forcing-Term ist eine gewichtete Summe gaußscher Basisfunktionen einer Phasenvariable (phase variable) x, die von einem separaten kanonischen System (canonical system) erzeugt wird, das glatt von 1 gegen 0 abklingt. Weil der Forcing-Term mit x multipliziert wird, klingt er mit der Zeit aus, und das System konvergiert garantiert wie das einfache Feder-Dämpfer-System zum Ziel.
Eine DMP aus einer Demonstration zu lernen ist einfach: Aus der demonstrierten Position, Geschwindigkeit und Beschleunigung wird der Forcing-Term berechnet, den das System bräuchte, und die Gewichte der Basisfunktionen werden durch lineare Regression angepasst. Die gelernte Bewegung lässt sich dann verallgemeinern. Eine Änderung von g verschiebt den Endpunkt unter Beibehaltung der Form, da der Forcing-Term mit dem Abstand vom Start zum Ziel skaliert wird. Eine Änderung der Zeitkonstante τ beschleunigt oder verlangsamt die Bewegung. Mehrere Freiheitsgrade teilen sich ein kanonisches System, was sie synchron hält. Eine rhythmische Variante nutzt eine oszillierende Phase für periodische Bewegungen wie Gehen oder Wischen, und Kopplungsterme können für Hindernisvermeidung hinzugefügt werden oder um die Phase zu verlangsamen, wenn Folgefehler wachsen.
Eine DMP ist eine bestimmte Art von Bewegungsprimitive (motion primitive), der allgemeinen Idee wiederverwendbarer Bausteine von Bewegung. Verglichen mit anderen gelernten Primitiven sind DMPs deterministisch und stellen eine einzelne Trajektorie dar; probabilistische Bewegungsprimitive (probabilistic movement primitives, ProMPs) stellen dagegen eine Verteilung über Trajektorien dar, die aus mehreren Demonstrationen gelernt wird. Bekannte Schwächen der ursprünglichen Formulierung sind ein merkwürdiges Skalierungsverhalten, wenn das neue Ziel sehr nah am Start oder auf dessen gegenüberliegender Seite liegt, was spätere modifizierte Formulierungen behandeln, und der Bedarf an speziellen Formen für Orientierungen, etwa Quaternionen-DMPs. Der kompakte Gewichtsvektor macht DMPs zudem zu einer verbreiteten Policy-Parametrisierung für bestärkendes Lernen auf realen Robotern.
Warum es wichtig ist
DMPs bieten einen Weg, eine Bewegung aus einer einzigen Demonstration zu lernen und mit neuen Zielen und neuem Timing wiederzuverwenden, ohne die garantierte Konvergenz zu verlieren. Diese Kombination aus einfachem Lernen, glatter Ausgabe und Stabilität hat sie zu einer Standarddarstellung beim Lernen aus Demonstrationen und zu einer verbreiteten Vergleichsbasis für neuere Trajektorienmodelle gemacht.
Wichtige Anwendungen
- Lernen von Manipulationsfähigkeiten aus einer einzigen kinästhetischen oder teleoperierten Demonstration
- Verallgemeinern von Greif-, Gieß- und Ablegebewegungen auf neue Zielpositionen
- Erzeugen und Modulieren ausdrucksstarker Gesten für soziale Roboter
- Rhythmische Bewegungen wie Wischen, Trommeln und Gangmuster
- Policy-Parametrisierung für bestärkendes Lernen auf realen Robotern
In der Praxis
Ein sozialer Roboter erhält eine Reihe ausdrucksstarker Armgesten, etwa ein Winken und ein Achselzucken, die ein Animator aufgezeichnet hat. Jede Geste wird als Satz von DMPs kodiert, eine pro Gelenk, die sich ein kanonisches System teilen. Zur Laufzeit wählt ein übergeordnetes Modul die Geste aus und moduliert sie: Eine Änderung der Zeitkonstante macht das Winken bei aufgeregtem Ton schneller oder bei ruhigem Ton langsamer, das Verschieben des Ziels hebt die Hand höher, und das Skalieren der Gewichte des Forcing-Terms macht die Bewegung größer oder kleiner. Weil jede DMP stets zu ihrem Ziel konvergiert, endet auch die modulierte Geste in einer gültigen Pose, und die Gelenkbefehle werden vor der Ausführung durch die Gelenk- und Geschwindigkeitsgrenzen des Roboters geführt.
Häufige Missverständnisse
- Eine DMP ist nur eine aufgezeichnete Trajektorie — sie ist ein dynamisches System, das auf neue Ziele und Geschwindigkeiten umgestellt werden kann und auf Störungen seines Zustands reagiert
- Bewegungsprimitive und DMP bedeuten dasselbe — eine DMP ist eine bestimmte Formulierung unter vielen Arten von Bewegungsprimitiven
- DMPs erfassen die Variabilität mehrerer Demonstrationen — die einfache DMP passt eine Trajektorie an; probabilistische Bewegungsprimitive modellieren die Variation zwischen Demonstrationen
- DMPs weichen Hindernissen von selbst aus — Hindernisvermeidung erfordert zusätzliche Kopplungsterme oder einen äußeren Planer
Wer das wissen sollte
- Forschende im Roboterlernen, die am Lernen aus Demonstrationen arbeiten
- Manipulationsingenieure, die wiederverwendbare Fähigkeitsbibliotheken aufbauen
- Forschende der Mensch-Roboter-Interaktion, die Robotergesten gestalten
- Robotikstudierende, die Trajektoriendarstellungen lernen
Verwandte Technologien
- Probabilistische Bewegungsprimitive (Probabilistic Movement Primitives)
- Lokal gewichtete Regression (Locally Weighted Regression)
- Gaußsche Mischungsregression (Gaussian Mixture Regression)
- Kinästhetisches Lehren (Kinesthetic Teaching)
- Bestärkendes Lernen durch Policy-Suche (Policy Search Reinforcement Learning)
Verwandte Begriffe
- Motion Primitive
- Kinesthetic Teaching
- Imitation Learning
- Trajectory Planning
- Reinforcement Learning
- Impedance Control
Verwandte Projekte
- 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