Dynamic Movement Primitive
- También llamado: DMP, dynamical movement primitive
- Categoría: Learning & autonomy › Learning from demonstration
- Etiquetas: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning
Una primitiva de movimiento que codifica una trayectoria como un sistema dinámico estable de segundo orden más un término de forzamiento aprendido, de modo que un movimiento demostrado puede reproducirse hacia nuevos objetivos y a nuevas velocidades.
Definición
Una primitiva dinámica de movimiento (dynamic movement primitive, DMP) representa un movimiento como la salida de un sistema dinámico en lugar de como una lista fija de puntos de paso. La formulación la desarrollaron Ijspeert, Nakanishi y Schaal a principios de la década de 2000, y más tarde Ijspeert et al. (2013) la presentaron completa con el nombre de dynamical movement primitives. Para cada grado de libertad, un sistema de transformación se comporta como un muelle-amortiguador con amortiguamiento crítico que atrae la posición hacia un objetivo g. A él se suma un término de forzamiento que da forma a la trayectoria por el camino. El término de forzamiento es una suma ponderada de funciones de base gaussianas de una variable de fase x, producida por un sistema canónico independiente que decae suavemente desde 1 hacia 0. Como el término de forzamiento está multiplicado por x, se desvanece con el tiempo, y está garantizado que el sistema converge al objetivo como el muelle-amortiguador simple.
Aprender una DMP a partir de una demostración es sencillo: la posición, la velocidad y la aceleración demostradas se usan para calcular el término de forzamiento que necesitaría el sistema, y los pesos de las funciones de base se ajustan por regresión lineal. Después, el movimiento aprendido puede generalizarse. Cambiar g desplaza el punto final manteniendo la forma, ya que el término de forzamiento se escala con la distancia entre el inicio y el objetivo. Cambiar la constante de tiempo τ acelera o ralentiza el movimiento. Varios grados de libertad comparten un mismo sistema canónico, lo que los mantiene sincronizados. Una versión rítmica usa una fase oscilante para movimientos periódicos como caminar o limpiar, y pueden añadirse términos de acoplamiento para evitar obstáculos o para ralentizar la fase cuando crecen los errores de seguimiento.
Una DMP es un tipo concreto de primitiva de movimiento, la idea general de bloques de movimiento reutilizables. Frente a otras primitivas aprendidas, las DMP son deterministas y representan una sola trayectoria; las primitivas probabilísticas de movimiento (probabilistic movement primitives, ProMPs), en cambio, representan una distribución sobre trayectorias aprendida a partir de varias demostraciones. Entre los puntos débiles conocidos de la formulación original están un escalado extraño cuando el nuevo objetivo está muy cerca del inicio o en el lado opuesto, que resuelven formulaciones modificadas posteriores, y la necesidad de formas especiales para manejar orientaciones, como las DMP de cuaterniones. El vector de pesos compacto también hace de las DMP una parametrización de políticas habitual para el aprendizaje por refuerzo en robots reales.
Por qué importa
Las DMP permiten aprender un movimiento a partir de una sola demostración y reutilizarlo con nuevos objetivos y tiempos manteniendo la convergencia garantizada. Esta combinación de aprendizaje sencillo, salida suave y estabilidad las ha convertido en una representación estándar en el aprendizaje a partir de demostraciones y en una referencia habitual para modelos de trayectoria más recientes.
Aplicaciones clave
- Aprendizaje de habilidades de manipulación a partir de una sola demostración kinestésica o teleoperada
- Generalización de movimientos de alcance, vertido y colocación a nuevas posiciones objetivo
- Generación y modulación de gestos expresivos para robots sociales
- Movimientos rítmicos como limpiar, tocar el tambor y patrones de marcha
- Parametrización de políticas para el aprendizaje por refuerzo en robots reales
En la práctica
A un robot social se le da un conjunto de gestos expresivos de brazo, como un saludo con la mano y un encogimiento de hombros, grabados por un animador. Cada gesto se codifica como un conjunto de DMP, una por articulación, que comparten un sistema canónico. En tiempo de ejecución, un módulo de nivel superior elige el gesto y lo modula: cambiar la constante de tiempo hace el saludo más rápido para un tono entusiasta o más lento para uno tranquilo, desplazar el objetivo levanta más la mano, y escalar los pesos del término de forzamiento hace el movimiento más amplio o más pequeño. Como cada DMP converge siempre a su objetivo, el gesto modulado sigue terminando en una pose válida, y los comandos articulares pasan por los límites articulares y de velocidad del robot antes de ejecutarse.
Ideas erróneas comunes
- Una DMP es solo una trayectoria grabada — es un sistema dinámico que puede redirigirse a nuevos objetivos y velocidades y que reacciona a las perturbaciones de su estado
- Primitiva de movimiento y DMP significan lo mismo — una DMP es una formulación concreta entre muchos tipos de primitivas de movimiento
- Las DMP capturan la variabilidad de varias demostraciones — la DMP básica ajusta una sola trayectoria; las primitivas probabilísticas de movimiento modelan la variación entre demostraciones
- Las DMP evitan obstáculos por sí solas — evitar obstáculos requiere añadir términos de acoplamiento o un planificador externo
Quién debería saberlo
- Investigadores en aprendizaje robótico que trabajan en aprendizaje a partir de demostraciones
- Ingenieros de manipulación que construyen bibliotecas de habilidades reutilizables
- Investigadores en interacción humano-robot que diseñan gestos de robots
- Estudiantes de robótica que estudian representaciones de trayectorias
Tecnologías relacionadas
- Primitivas probabilísticas de movimiento (Probabilistic Movement Primitives)
- Regresión ponderada localmente (Locally Weighted Regression)
- Regresión por mezcla de gaussianas (Gaussian Mixture Regression)
- Enseñanza kinestésica (Kinesthetic Teaching)
- Aprendizaje por refuerzo por búsqueda de políticas (Policy Search Reinforcement Learning)
Términos relacionados
- Motion Primitive
- Kinesthetic Teaching
- Imitation Learning
- Trajectory Planning
- Reinforcement Learning
- Impedance Control
Proyectos relacionados
- 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