Inferensys

Glossary

Dynamic Movement Primitives (DMP)

A framework for representing and learning motor skills as stable nonlinear dynamical systems, enabling robots to generalize demonstrated trajectories to new start and goal states.
Overhead shot of a beautifully lit strategy meeting in a modern WeWork hot desk area, designers and executives gathered around a live AI system diagram projected on smart table surface.
MOTOR SKILL REPRESENTATION

What is Dynamic Movement Primitives (DMP)?

A mathematical framework for representing and learning motor skills as stable nonlinear dynamical systems, enabling robots to generalize demonstrated trajectories to new start and goal states.

Dynamic Movement Primitives (DMP) are a framework for encoding complex motor behaviors as attractor landscapes of nonlinear dynamical systems. A DMP consists of a damped spring system that converges to a goal state, modulated by a learnable nonlinear forcing term. This forcing term, represented as a weighted sum of Gaussian basis functions, shapes the transient trajectory while the spring-damper guarantees asymptotic stability at the target.

The key advantage of DMPs is spatial and temporal invariance: a single demonstration can be generalized to new start and goal positions by simply shifting the attractor point, and the execution speed can be scaled by modifying a canonical clock signal. This makes DMPs a foundational tool in Learning from Demonstration (LfD) and imitation learning, where they are often combined with Gaussian Mixture Models or Task-Parameterized Gaussian Mixture Models for robust skill acquisition.

CORE MECHANISMS

Key Features of DMPs

Dynamic Movement Primitives (DMPs) encode motor skills as stable nonlinear dynamical systems. These key features explain how DMPs achieve generalization, temporal scaling, and robust convergence to a goal state.

01

Stable Attractor Landscapes

DMPs use a second-order dynamical system with a globally stable attractor at the goal state. The canonical system (a phase variable) drives the nonlinear forcing term to zero over time, guaranteeing that the system exponentially converges to the target. This ensures asymptotic stability—the robot will always reach the goal regardless of perturbations.

02

Temporal Scaling via Phase Variable

The canonical system is a simple first-order linear differential equation that acts as a shared clock. By modifying the temporal scaling parameter (τ) , the entire trajectory can be sped up or slowed down without altering the geometric path. This decouples the timing of the movement from its spatial shape.

03

Spatial Generalization

The transformation system includes a spatial scaling term that enables generalization to new start and goal positions. By adjusting the goal parameter (g) and start parameter (y0) , a single learned DMP can generate trajectories that adapt to arbitrary initial and final end-effector poses without retraining.

04

Learnable Forcing Term

The nonlinear forcing term is represented as a weighted sum of Gaussian basis functions. During imitation learning, Locally Weighted Regression (LWR) or Linear Least Squares computes the weights from a single demonstration. This compact parametric representation captures complex shape dynamics while maintaining smoothness.

05

Obstacle Avoidance Coupling

DMPs can be extended with potential field coupling terms that repel the trajectory from obstacles. A differential equation term based on the distance and direction to obstacles is added to the transformation system, dynamically deforming the learned path while preserving convergence to the goal.

06

Rhythmic vs. Discrete Primitives

DMPs support two fundamental movement types:

  • Discrete DMPs: Use a point attractor for goal-directed motions like reaching.
  • Rhythmic DMPs: Use a limit-cycle oscillator as the canonical system for repetitive tasks like wiping or walking. Both share the same forcing term learning framework.
DYNAMIC MOVEMENT PRIMITIVES EXPLAINED

Frequently Asked Questions

Clear, technical answers to the most common questions about representing and learning robot motor skills using stable nonlinear dynamical systems.

A Dynamic Movement Primitive (DMP) is a mathematical framework for representing and learning motor skills as stable nonlinear dynamical systems. It works by encoding a demonstrated trajectory as a spring-damper system with a learnable nonlinear forcing term. The core mechanism couples a canonical system—a simple linear dynamical system that acts as a phase variable progressing from 1 to 0—with a transformation system that generates the actual movement. The transformation system is a second-order differential equation: τ * ÿ = α_y * (β_y * (g - y) - τ * ẏ) + f(x), where y is the position, g is the goal, τ is a temporal scaling factor, and f(x) is the nonlinear forcing term. This forcing term is learned from demonstration using locally weighted regression or other function approximators over Gaussian basis functions distributed along the phase variable. Critically, the spring-damper component guarantees asymptotic stability—the system will always converge to the goal state g even under perturbations, because the forcing term f(x) vanishes as the canonical system decays to zero. This inherent stability distinguishes DMPs from raw trajectory replay and makes them robust to unexpected disturbances during execution.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.