Dynamic Movement Primitive
- Detto anche: DMP, dynamical movement primitive
- Categoria: Learning & autonomy › Learning from demonstration
- Tag: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning
Una primitiva di movimento che codifica una traiettoria come un sistema dinamico stabile del secondo ordine più un termine forzante appreso, così che un movimento dimostrato possa essere riprodotto verso nuovi obiettivi e a nuove velocità.
Definizione
Una dynamic movement primitive (DMP) rappresenta un movimento come l'uscita di un sistema dinamico anziché come un elenco fisso di waypoint. La formulazione fu sviluppata da Ijspeert, Nakanishi e Schaal all'inizio degli anni 2000 e poi presentata per intero da Ijspeert et al. (2013) con il nome di dynamical movement primitives. Per ogni grado di libertà, un sistema di trasformazione si comporta come un sistema molla-smorzatore con smorzamento critico che attira la posizione verso un obiettivo g. Vi si aggiunge un termine forzante che modella il percorso lungo il tragitto. Il termine forzante è una somma pesata di funzioni di base gaussiane di una variabile di fase x, prodotta da un sistema canonico separato che decade dolcemente da 1 verso 0. Poiché il termine forzante è moltiplicato per x, si attenua nel tempo, e il sistema converge sicuramente all'obiettivo come il semplice sistema molla-smorzatore.
Apprendere una DMP da una dimostrazione è semplice: posizione, velocità e accelerazione dimostrate servono a calcolare il termine forzante di cui il sistema avrebbe bisogno, e i pesi delle funzioni di base vengono stimati con una regressione lineare. Il movimento appreso può poi essere generalizzato. Cambiare g sposta il punto finale mantenendo la forma, poiché il termine forzante viene scalato in base alla distanza tra inizio e obiettivo. Cambiare la costante di tempo τ accelera o rallenta il movimento. Più gradi di libertà condividono un unico sistema canonico, che li mantiene sincronizzati. Una versione ritmica usa una fase oscillante per movimenti periodici come camminare o pulire una superficie, e si possono aggiungere termini di accoppiamento per evitare gli ostacoli o per rallentare la fase quando crescono gli errori di inseguimento.
Una DMP è un tipo specifico di primitiva di movimento, l'idea generale di blocchi di movimento riutilizzabili. Rispetto ad altre primitive apprese, le DMP sono deterministiche e rappresentano una singola traiettoria; le probabilistic movement primitives (ProMP), invece, rappresentano una distribuzione sulle traiettorie appresa da più dimostrazioni. Tra i punti deboli noti della formulazione originale ci sono uno scalamento anomalo quando il nuovo obiettivo è molto vicino all'inizio o dalla parte opposta rispetto a esso, affrontato da formulazioni modificate successive, e la necessità di forme speciali per gestire gli orientamenti, come le DMP con quaternioni. Il vettore dei pesi compatto rende inoltre le DMP una parametrizzazione della policy comune per l'apprendimento per rinforzo su robot reali.
Perché è importante
Le DMP offrono un modo per apprendere un movimento da una singola dimostrazione e riutilizzarlo con nuovi obiettivi e tempi mantenendo la convergenza garantita. Questa combinazione di apprendimento semplice, uscita fluida e stabilità le ha rese una rappresentazione standard nell'apprendimento da dimostrazione e un riferimento comune per i modelli di traiettoria più recenti.
Applicazioni principali
- Apprendimento di abilità di manipolazione da una singola dimostrazione cinestetica o teleoperata
- Generalizzazione di movimenti di raggiungimento, versamento e posizionamento a nuove posizioni obiettivo
- Generazione e modulazione di gesti espressivi per robot sociali
- Movimenti ritmici come pulire, suonare la batteria e schemi di camminata
- Parametrizzazione della policy per l'apprendimento per rinforzo su robot reali
In pratica
A un robot sociale viene fornito un insieme di gesti espressivi del braccio, come un saluto con la mano e un'alzata di spalle, registrati da un animatore. Ogni gesto è codificato come un insieme di DMP, una per giunto, che condividono un sistema canonico. In fase di esecuzione un modulo di livello superiore sceglie il gesto e lo modula: cambiare la costante di tempo rende il saluto più veloce per un tono entusiasta o più lento per uno calmo, spostare l'obiettivo solleva di più la mano, e scalare i pesi del termine forzante rende il movimento più ampio o più piccolo. Poiché ogni DMP converge sempre al proprio obiettivo, il gesto modulato termina comunque in una posa valida, e i comandi ai giunti passano attraverso i limiti di posizione e di velocità dei giunti del robot prima dell'esecuzione.
Idee sbagliate comuni
- Una DMP è solo una traiettoria registrata — è un sistema dinamico che può essere reindirizzato verso nuovi obiettivi e velocità e che reagisce alle perturbazioni del proprio stato
- Primitiva di movimento e DMP significano la stessa cosa — una DMP è una formulazione specifica tra molti tipi di primitive di movimento
- Le DMP catturano la variabilità di più dimostrazioni — la DMP di base approssima una sola traiettoria; le probabilistic movement primitives modellano la variazione tra le dimostrazioni
- Le DMP evitano gli ostacoli da sole — evitare gli ostacoli richiede termini di accoppiamento aggiuntivi o un pianificatore esterno
Chi dovrebbe saperlo
- Ricercatori di robot learning che lavorano sull'apprendimento da dimostrazione
- Ingegneri di manipolazione che costruiscono librerie di abilità riutilizzabili
- Ricercatori di interazione uomo-robot che progettano gesti dei robot
- Studenti di robotica che studiano le rappresentazioni delle traiettorie
Tecnologie correlate
- Probabilistic Movement Primitives
- Regressione pesata localmente (Locally Weighted Regression)
- Regressione a miscela di gaussiane (Gaussian Mixture Regression)
- Insegnamento cinestetico (Kinesthetic Teaching)
- Apprendimento per rinforzo con ricerca della policy (Policy Search Reinforcement Learning)
Termini correlati
- Motion Primitive
- Kinesthetic Teaching
- Imitation Learning
- Trajectory Planning
- Reinforcement Learning
- Impedance Control
Progetti correlati
- 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