A Dynamic Movement Primitive (DMP) is a mathematical framework for representing and generating smooth, goal-directed robot trajectories that can be easily adapted to new situations. It models movement as a stable dynamical system, ensuring the trajectory converges to a specified goal. The core structure separates a canonical system that provides a phase variable from a transformation system that generates the actual motion pattern. This separation allows the shape of a learned motion to be preserved while its goal, timing, and spatial scaling can be modified independently.
Glossary
Dynamic Movement Primitive (DMP)

What is Dynamic Movement Primitive (DMP)?
A mathematical framework for generating and adapting smooth, goal-directed robot movements.
DMPs are foundational in imitation learning and robotic skill acquisition. A movement is first learned from a single demonstration, often via regression on the forcing function of the transformation system. Once encoded, the trajectory can be robustly reproduced and adapted in real-time to new target positions, obstacles via potential fields, or altered temporal dynamics. This makes DMPs a critical component for dexterous manipulation tasks requiring flexible, reactive motion generation, bridging high-level planning and low-level motor control.
Key Features of Dynamic Movement Primitives
Dynamic Movement Primitives (DMPs) are a mathematical framework for generating and adapting smooth, goal-directed robot trajectories. Their core features enable robust, reusable motor skills.
Canonical Dynamical System
The foundation of a DMP is a time-independent, stable canonical dynamical system, typically a second-order differential equation like a damped spring. This system provides a phase variable that monotonically drives the movement from start to finish, ensuring temporal consistency and stability regardless of execution speed or external perturbations.
- Key Property: The phase variable replaces explicit time dependence, making the movement robust to temporal scaling and interruptions.
- Mathematical Form: Often modeled as:
ẋ = α(β(g - x) - ẋ)/τ, whereτis a temporal scaling factor.
Nonlinear Forcing Function
The shape of a specific movement is encoded in a nonlinear forcing function. This function is learned from a demonstration and superimposed onto the canonical system. It is typically represented as a weighted sum of radial basis functions (RBFs) centered along the phase variable.
- Function:
f(φ) = (Σ ψ_i(φ) w_i) / Σ ψ_i(φ) * φ, whereψ_iare basis functions andw_iare learned weights. - Role: This function sculpts the attractor dynamics of the canonical system to reproduce complex trajectory shapes, from simple reaches to rhythmic motions like waving.
Spatial and Temporal Scaling
DMPs provide explicit, closed-form equations for spatial and temporal scaling, allowing a single learned primitive to adapt to new goals and execution speeds without re-learning.
- Spatial Scaling: The trajectory's amplitude and target (
g) can be changed. The forcing function scales appropriately to preserve the movement's shape relative to the new start and goal positions. - Temporal Scaling: The execution speed is controlled by the parameter
τin the canonical system. Increasingτslows the movement while preserving its dynamic profile. - Example: A DMP for a 10cm reach can be instantly adapted to perform a 50cm reach at half speed.
Obstacle Avoidance via Coupling Terms
DMPs can react to real-time sensory input through coupling terms. These terms modify the trajectory generation online by adding external forcing to the dynamical system equations, enabling reactive behaviors like obstacle avoidance without corrupting the underlying movement representation.
- Mechanism: A coupling term
Cis added:ẍ = α(β(g - x) - ẋ)/τ + f(φ) + C(sensor_input). - Use Case: A repulsive vector field from an obstacle sensor can be used for
C, causing the end-effector to deflect smoothly around the obstacle before converging back to the original goal.
Discrete vs. Rhythmic Formulations
The DMP framework has two primary formulations for different motion classes:
- Discrete DMPs: Model point-to-point, finite-duration movements like reaching or placing. They use a critically damped spring canonical system that converges to a single goal state.
- Rhythmic DMPs: Model periodic, continuous movements like walking, drumming, or cranking. They use a limit cycle oscillator (e.g., a modified Hopf oscillator) as the canonical system to generate stable oscillations.
This duality allows the same mathematical framework to encode a wide range of robotic skills.
Stability Guarantees
A critical feature of DMPs is their provable global asymptotic stability. The canonical system's dynamics ensure the trajectory will always converge to the goal g from any initial state, provided the forcing function vanishes at the end of the movement.
- Engineering Benefit: This guarantees that the robot will not diverge to infinity or get stuck in spurious attractors, even if the learned forcing function is imperfect or external perturbations are applied mid-execution.
- Contrast with Pure Playback: Unlike simply replaying a recorded trajectory, the DMP's stability property makes it robust to disturbances, allowing the robot to recover and still reach the goal.
DMP vs. Other Trajectory Generation Methods
A technical comparison of Dynamic Movement Primitives against other common methods for generating robot motion trajectories, focusing on core features for dexterous manipulation.
| Feature / Metric | Dynamic Movement Primitive (DMP) | Spline Interpolation | Trajectory Optimization | Reinforcement Learning Policy |
|---|---|---|---|---|
Mathematical Foundation | Nonlinear dynamical system with forcing function | Piecewise polynomial functions (e.g., cubic) | Numerical optimization (e.g., direct collocation) | Learned neural network mapping |
Temporal Modulation | ||||
Spatial Scaling | ||||
Goal Adaptation | ||||
Real-Time Replanning | ||||
Handles Dynamic Constraints | ||||
Requires Explicit Via-Points | ||||
Computational Cost (Inference) | < 1 ms | < 1 ms | 100 ms - 10 sec | 1 - 10 ms |
Training Data Requirement | 1 - 10 demonstrations | Manual specification | Cost function definition | 10^4 - 10^7 interactions |
Stability Guarantees | ||||
Contact-Implicit Planning | ||||
Primary Use Case | Reproduction & adaptation of skills | Smooth point-to-point motion | Optimal, constraint-satisfying motion | Complex, adaptive behavior learning |
Applications and Examples of DMPs
Dynamic Movement Primitives (DMPs) are a foundational framework for generating and adapting smooth robot trajectories. Their mathematical formulation makes them exceptionally versatile across robotics.
Learning from Demonstration (LfD)
DMPs are a core technique for Learning from Demonstration (LfD). A single human-guided trajectory is recorded and used to learn the parameters of the DMP's nonlinear forcing function. This allows the robot to:
- Generalize the skill to new start or goal positions.
- Reproduce the demonstrated motion profile with temporal and spatial consistency.
- Scale the speed or amplitude of the movement while preserving its shape. This is fundamental for teaching complex manipulation skills like assembly or tool use without explicit programming.
Adaptive Pick-and-Place
In logistics and warehousing, DMPs enable robust pick-and-place operations. The canonical system provides a reliable baseline motion, while the forcing function encodes the specific lifting and placing dynamics.
- Goal Adaptation: If a target bin's location changes, only the DMP's attractor goal parameter needs updating; the motion profile (acceleration, approach angle) remains intact.
- Obstacle Avoidance: The trajectory can be modulated in real-time by adding coupling terms to the differential equations, allowing the arm to smoothly deviate around unexpected obstacles before converging to the goal.
- Force-Sensitive Placement: For delicate items, the trajectory can be combined with impedance control at the endpoint.
Periodic Motions for Repetitive Tasks
The rhythmic DMP formulation is specifically designed for cyclic movements. Instead of converging to a single goal, it produces stable limit cycles.
- Applications: Polishing, wiping, stirring, cranking, or walking gait cycles for legged robots.
- The system learns the frequency and shape of the oscillation from demonstration.
- Adaptation: The frequency, amplitude, and offset of the oscillation can be modified independently, allowing a stirring motion to adapt to a larger bowl or a wiping motion to cover a bigger surface without re-programming.
Dexterous In-Hand Manipulation
DMPs are used to coordinate the complex, contact-rich finger motions required for in-hand manipulation.
- Finger Gaiting: A DMP can generate the trajectory for a finger to break contact, reposition, and re-establish contact during regrasping.
- Object Reorientation: By sequencing DMPs for individual fingers or the wrist, an object can be rolled or pivoted within the hand.
- The stability properties of the DMP's differential equations help ensure smooth force transitions, which is critical to prevent object slip.
Integration with High-Level Planners
DMPs act as a skill representation within hierarchical robot architectures.
- A task and motion planner selects a sequence of high-level actions (e.g.,
grasp(bolt),insert(bolt, hole)). - Each action is parameterized by a corresponding DMP (or set of DMPs). The planner outputs the DMP parameters (start, goal, duration).
- This decouples planning from low-level trajectory generation, making the system more modular and responsive. The DMP executes the smooth, goal-directed motion while the planner prepares the next skill.
Sim-to-Real Policy Transfer
DMPs are a key tool for bridging the sim-to-real gap in policy learning.
- A policy can be trained in simulation using Reinforcement Learning (RL) or Imitation Learning to output DMP parameters rather than raw joint torques.
- The DMP layer provides a structured action space that enforces smoothness and stability by design, which is more transferable than unstructured torque commands.
- The policy learns which DMP to execute and how to parameterize it, while the DMP itself ensures physically plausible motions upon deployment in the real world.
Frequently Asked Questions
A Dynamic Movement Primitive (DMP) is a mathematical framework for representing and generating smooth, goal-directed robot trajectories that can be easily adapted to new situations. These FAQs address its core mechanics, applications, and relationship to other robotic control methods.
A Dynamic Movement Primitive (DMP) is a mathematical framework for representing and generating smooth, goal-directed robot trajectories that can be easily adapted to new situations. At its core, a DMP uses a set of nonlinear differential equations to encode a movement as a stable attractor system. This system consists of two main components: a canonical system, which is a simple phase variable that monotonically drives the movement from start to finish, and a transformation system, which generates the actual trajectory by combining a learned forcing function with a linear spring-damper system. The forcing function, typically represented by a set of radial basis functions, captures the shape of a demonstrated motion. The primary advantage of this formulation is temporal and spatial invariance; the same DMP can be sped up, slowed down, or have its goal and start point shifted without distorting the fundamental shape of the movement, making it exceptionally robust for robotic manipulation tasks.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Dynamic Movement Primitives (DMPs) are a core component of modern robotic motion generation. The following terms represent the mathematical, planning, and control frameworks that interact with or complement the DMP approach.
Trajectory Optimization
Trajectory optimization is the process of computing a sequence of robot states and control inputs that minimizes a cost function while satisfying dynamic constraints and task goals. It is a broader mathematical framework than DMPs, which provide a specific, efficient parameterization for such trajectories.
- Key Methods: Include direct collocation and shooting methods.
- Relation to DMPs: A DMP can be seen as a canonical system whose parameters (weights, goal, temporal scaling) are often learned or optimized via trajectory optimization techniques to satisfy task-specific costs.
Model Predictive Control (MPC)
Model predictive control is an advanced, online control method where a dynamic model of the system is used to predict future behavior and optimize a sequence of control inputs over a receding horizon. It is frequently used for reactive, disturbance-rejecting control.
- Online vs. Offline: MPC solves optimization in real-time, whereas a DMP typically represents a pre-computed or learned motion primitive.
- Synergy: DMPs can provide the reference trajectory for an MPC controller, which then handles real-time deviations and force interactions, combining the benefits of both approaches.
Impedance Control
Impedance control is a robot control strategy that regulates the dynamic relationship between force and motion at the end-effector, making the robot behave as a programmable mass-spring-damper system. It defines how the robot reacts to contact.
- Execution Layer: While a DMP generates a desired position or velocity trajectory, impedance control executes it by modulating the robot's mechanical impedance.
- Critical for Dexterity: This combination allows a robot to follow a DMP-generated path while safely and compliantly interacting with uncertain environments.
Inverse Kinematics Solver
An inverse kinematics solver is an algorithm that computes the joint angles required for a robotic manipulator to achieve a desired position and orientation of its end-effector in Cartesian space.
- Downstream Processing: A DMP typically generates a smooth trajectory in Cartesian space (or joint space). An IK solver is then used to convert each Cartesian waypoint along the DMP trajectory into a feasible joint configuration for the physical robot.
- Integration: For obstacle avoidance, the IK solver must find solutions that respect the DMP's path while also avoiding joint limits and self-collisions.
Policy Network (in RL)
In reinforcement learning, a policy network is a neural network that maps observations from an environment directly to actions (or a distribution over actions). It represents a learned control policy.
- Alternative to DMPs: A policy network can learn complex, reactive behaviors from scratch but is often a black box and less predictable.
- Hybrid Approach: DMPs are frequently used as a structured, composable action space within a larger RL policy. The RL agent learns to modulate DMP parameters (goal, shape) based on perception, combining the robustness of learned policies with the stability of DMPs.
ProMP (Probabilistic Movement Primitive)
Probabilistic Movement Primitives are a Bayesian generalization of DMPs that represent a trajectory as a probability distribution over time. This allows for uncertainty representation, conditioning on via-points, and blending of multiple primitives.
- Key Advancement over DMPs: While a standard DMP represents a single deterministic trajectory, a ProMP represents a distribution of trajectories, enabling:
- Uncertainty-aware execution and planning.
- Natural modulation via probabilistic conditioning.
- Co-activation of multiple primitives.

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us