Dynamic Movement Primitive
- Aussi appelé: DMP, dynamical movement primitive
- Catégorie: Learning & autonomy › Learning from demonstration
- Mots-clés: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning
Une primitive de mouvement qui encode une trajectoire sous forme d'un système dynamique stable du second ordre auquel s'ajoute un terme de forçage appris, de sorte qu'un mouvement démontré peut être rejoué vers de nouveaux buts et à de nouvelles vitesses.
Définition
Une primitive de mouvement dynamique (Dynamic movement primitive, DMP) représente un mouvement comme la sortie d'un système dynamique plutôt que comme une liste fixe de points de passage. La formulation a été développée par Ijspeert, Nakanishi et Schaal au début des années 2000, puis présentée en détail par Ijspeert et al. (2013) sous le nom de dynamical movement primitives. Pour chaque degré de liberté, un système de transformation (transformation system) se comporte comme un ressort-amortisseur à amortissement critique qui tire la position vers un but g. On y ajoute un terme de forçage (forcing term) qui façonne le chemin en cours de route. Le terme de forçage est une somme pondérée de fonctions de base gaussiennes d'une variable de phase (phase variable) x, produite par un système canonique (canonical system) distinct qui décroît en douceur de 1 vers 0. Comme le terme de forçage est multiplié par x, il s'estompe avec le temps, et le système converge vers le but de façon garantie, comme le simple ressort-amortisseur.
Apprendre une DMP à partir d'une démonstration est simple : la position, la vitesse et l'accélération démontrées servent à calculer le terme de forçage dont le système aurait besoin, et les poids des fonctions de base sont ajustés par régression linéaire. Le mouvement appris peut ensuite être généralisé. Changer g déplace le point d'arrivée en conservant la forme, puisque le terme de forçage est mis à l'échelle par la distance entre départ et but. Changer la constante de temps τ accélère ou ralentit le mouvement. Plusieurs degrés de liberté partagent un même système canonique, ce qui les maintient synchronisés. Une version rythmique utilise une phase oscillante pour les mouvements périodiques comme la marche ou l'essuyage, et des termes de couplage peuvent être ajoutés pour l'évitement d'obstacles ou pour ralentir la phase quand les erreurs de suivi augmentent.
Une DMP est un type particulier de primitive de mouvement (motion primitive), l'idée générale de briques de mouvement réutilisables. Par rapport à d'autres primitives apprises, les DMP sont déterministes et représentent une seule trajectoire ; les primitives de mouvement probabilistes (probabilistic movement primitives, ProMPs) représentent au contraire une distribution de trajectoires apprise à partir de plusieurs démonstrations. Parmi les faiblesses connues de la formulation d'origine figurent une mise à l'échelle étrange lorsque le nouveau but est très proche du départ ou du côté opposé, que des formulations modifiées ultérieures corrigent, et le besoin de formes spéciales pour traiter les orientations, comme les DMP à quaternions. Le vecteur de poids compact fait aussi des DMP une paramétrisation de politique courante pour l'apprentissage par renforcement sur des robots réels.
Pourquoi c'est important
Les DMP permettent d'apprendre un mouvement à partir d'une seule démonstration et de le réutiliser avec de nouveaux buts et un nouveau timing tout en conservant une convergence garantie. Cette combinaison d'apprentissage facile, de sortie lisse et de stabilité en a fait une représentation standard de l'apprentissage par démonstration et une référence courante pour les modèles de trajectoire plus récents.
Applications principales
- Apprentissage de compétences de manipulation à partir d'une seule démonstration kinesthésique ou téléopérée
- Généralisation de mouvements d'atteinte, de versement et de dépose à de nouvelles positions cibles
- Génération et modulation de gestes expressifs pour les robots sociaux
- Mouvements rythmiques comme l'essuyage, le jeu de tambour et les schémas de marche
- Paramétrisation de politique pour l'apprentissage par renforcement sur des robots réels
En pratique
Un robot social reçoit un ensemble de gestes expressifs du bras, comme un salut de la main et un haussement d'épaules, enregistrés par un animateur. Chaque geste est encodé comme un ensemble de DMP, une par articulation, partageant un système canonique. À l'exécution, un module de plus haut niveau choisit le geste et le module : changer la constante de temps rend le salut plus rapide pour un ton enjoué ou plus lent pour un ton calme, déplacer le but lève la main plus haut, et mettre à l'échelle les poids du terme de forçage rend le mouvement plus ample ou plus petit. Comme chaque DMP converge toujours vers son but, le geste modulé se termine encore dans une pose valide, et les commandes articulaires passent par les limites articulaires et les limites de vitesse du robot avant l'exécution.
Idées reçues
- Une DMP n'est qu'une trajectoire enregistrée — c'est un système dynamique qui peut être réorienté vers de nouveaux buts et de nouvelles vitesses et qui réagit aux perturbations de son état
- Primitive de mouvement et DMP veulent dire la même chose — une DMP est une formulation particulière parmi de nombreux types de primitives de mouvement
- Les DMP capturent la variabilité de plusieurs démonstrations — la DMP de base ajuste une seule trajectoire ; les primitives de mouvement probabilistes modélisent la variation entre démonstrations
- Les DMP évitent les obstacles d'elles-mêmes — l'évitement d'obstacles nécessite des termes de couplage supplémentaires ou un planificateur externe
Qui devrait le savoir
- Chercheurs en apprentissage robotique travaillant sur l'apprentissage par démonstration
- Ingénieurs en manipulation construisant des bibliothèques de compétences réutilisables
- Chercheurs en interaction humain-robot concevant des gestes de robot
- Étudiants en robotique qui étudient les représentations de trajectoires
Technologies associées
- Primitives de mouvement probabilistes (Probabilistic Movement Primitives)
- Régression localement pondérée (Locally Weighted Regression)
- Régression par mélange de gaussiennes (Gaussian Mixture Regression)
- Enseignement kinesthésique (Kinesthetic Teaching)
- Apprentissage par renforcement par recherche de politique (Policy Search Reinforcement Learning)
Termes associés
- Motion Primitive
- Kinesthetic Teaching
- Imitation Learning
- Trajectory Planning
- Reinforcement Learning
- Impedance Control
Projets associés
- 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