Source-linked AI summary
Dynamic Movement Primitives in Robotics: A Tutorial Survey
Matteo Saveriano, Fares J. Abu-Dakka, Aljaz Kramberger, Luka Peternel
TL;DR
The survey addresses the need for a broader, unified treatment of DMP formulations and literature spanning multiple research groups and robotic applications. It presents rigorous formulations, implementations, and a systematic review, while documenting DMP properties, applications, limitations, and open research directions.
Problem
Existing DMP reviews and tutorials primarily cover individual research groups or specific application areas, despite extensive contributions across fields.
Method
The paper unifies DMP formulations mathematically, discusses their advantages, limitations, and implementation details, reviews related literature, and releases implementations.
Results
The survey organizes DMP methods and advancements across robotic applications, including formulations, advanced control frameworks, open-source implementations, and literature-supported developments.
Takeaways & Limitations
The paper provides guidance for selecting DMP approaches and identifies implementation resources, inherent limitations, open issues, and possible research directions.
Takeaways & Limitations
DMPs have inherent limitations and open issues requiring further investigation, including the classical periodic formulation's inability to encode the transient motion needed to initiate periodic movement.
Abstract
from arXiv · showhide
Biological systems, including human beings, have the innate ability to perform complex tasks in versatile and agile manner. Researchers in sensorimotor control have tried to understand and formally define this innate property. The idea, supported by several experimental findings, that biological systems are able to combine and adapt basic units of motion into complex tasks finally lead to the formulation of the motor primitives theory. In this respect, Dynamic Movement Primitives (DMPs) represent an elegant mathematical formulation of the motor primitives as stable dynamical systems, and are well suited to generate motor commands for artificial systems like robots. In the last decades, DMPs have inspired researchers in different robotic fields including imitation and reinforcement learning, optimal control,physical interaction, and human-robot co-working, resulting a considerable amount of published papers. The goal of this tutorial survey is two-fold. On one side, we present the existing DMPs formulations in rigorous mathematical terms,and discuss advantages and limitations of each approach as well as practical implementation details. In the tutorial vein, we also search for existing implementations of presented approaches and release several others. On the other side, we provide a systematic and comprehensive review of existing literature and categorize state of the art work on DMP. The paper concludes with a discussion on the limitations of DMPs and an outline of possible research directions.
1 Introduction
The introduction motivates DMPs as stable dynamical-system formulations of motor primitives and presents this survey’s unified tutorial, systematic review, implementations, and application guidance.
- Motor primitives explain complex biological motion as sequencing and adapting basic action units.
- DMPs provide flexible, convergent, perturbation-responsive representations for generating robotic motor commands.
- 1.1 Existing surveys and tutorials: Existing reviews often focus on particular research groups, problems, or application fields, leaving the broader DMP literature fragmented.
- Tutorial contribution: The tutorial unifies mathematical formulations, implementation details, and limitations from classical DMPs through Riemannian and SPD-matrix extensions.
- Survey contribution: The survey systematically reviews and categorizes DMP research across major robotic application areas without bias toward a particular research group.
- Practical resources and outlook: The paper adds selection guidelines, collected open-source implementations, new implementations, and discussion of limitations and research directions.
2 Formulation of DMPs types
The paper distinguishes discrete point-to-point and periodic rhythmic DMP formulations as the two principal attractor types.
- Point attractors encode discrete point-to-point motions, whereas cycle attractors encode rhythmic-pattern motions.
2.1 Discrete DMP
Discrete DMPs encode point-to-point motion as stable dynamical systems, progressing from Euclidean formulations to Cartesian and SPD-space variants.
- Discrete DMPs encode point-to-point motion into a stable dynamical system.
- The formulation is developed from a classical R-space DMP through Cartesian-space representations on S3 and SO(3), then SPD space.
- Classical discrete DMPs were introduced for a single-degree-of-freedom trajectory using nonlinear differential equations.
- With τ > 0, α_z = 4β_z, and α_x > 0, the underlying system converges to the attractor y = g, z = 0.
- The forcing term f(x) combines nonlinear radial basis functions to reproduce smooth trajectories from initial position y_0 to final configuration g.
- Basis-function centers and widths shape phase-dependent motion, while weights are fitted from demonstrations and a common phase synchronizes multiple degrees of freedom.
discrete
Discrete DMPs encode point-to-point motions as stable dynamical systems whose learned forcing terms shape trajectories while phase variables support timing and goal adaptation. The survey compares standard learning with alternative regressions and phase formulations, while noting geometric and numerical limitations.
- Learning the forcing term: Demonstrated trajectories and their derivatives are inverted to estimate the desired forcing-term shape f_d for DMP learning.The estimate uses the trajectory, velocity, acceleration, goal, and system time constant.
- Learning the forcing term: Locally Weighted Regression updates DMP weights using the error between desired and currently learned trajectory shapes together with a forgetting factor.
- Learning the forcing term: Alternative approaches formulate forcing-term learning as quadratic optimization or modify the basis representation with bias terms and truncated kernels.The DMP+ formulation is reported to produce more accurate trajectories and permits updating only a subset of weights.
- Phase stopping and goal switching: The phase variable enables execution slowdown, stopping, and real-time goal switching during DMP trajectory generation.
- Limitations: Standard DMPs are not directly suited to orientation, stiffness, damping, or manipulability profiles because these data obey geometric constraints.Orientation representations require additional integration constraints to preserve valid geometry.
- Phase variables: The exponential phase decays rapidly near motion termination, forcing relatively high weights to reproduce the demonstration’s final segment.In the cited example, the phase is already very small after 0.6 s although the motion duration is T = 1 s.
- Alternative phase variables: Sigmoidal and piece-wise linear phases address late-motion decay differently, with the former having a tunable tail and the latter reaching zero exactly at T.The sigmoidal phase remains near one before its transition and then decays, whereas the piece-wise linear phase stays constant after T.
2.1.2 Orientation DMP
Orientation DMPs extend classical point-to-point dynamics to unit quaternions and rotation matrices while respecting the geometry of rotational representations. The surveyed formulations support goal adaptation and, for quaternion approaches, asymptotic convergence to the target with zero velocity.
- Orientation DMPs: Multidimensional DMPs synchronize independently generated degrees of freedom with a common phase, but orientation representations require constrained formulations.
- Quaternion DMP: Unit-quaternion DMPs represent end-effector orientation on S3 and use quaternion operations to encode motion toward a goal orientation.The formulation explicitly defines the goal quaternion, conjugation, and quaternion product.
- Examples: The quaternion and rotation-matrix examples learn 20 Gaussian basis-function weights from minimum-jerk demonstrations lasting T = 10 s.The quaternion example connects q1 to gq, while the matrix example connects R1 to Rg.
- Quaternion DMP: Quaternion logarithm and exponential mappings provide a geometry-aware representation of angular motion, subject to restricted input domains.The mappings are one-to-one and inverse when Logq excludes the negative identity and Expq uses ||ω|| < π.
- Goal adaptation: Quaternion goal switching continuously updates the target orientation during execution while retaining the corresponding DMP integration scheme.
- Quaternion DMP: Both surveyed quaternion DMP formulations asymptotically converge to the target quaternion with zero velocity under Lyapunov analysis.
- Rotation Matrix DMP: Rotation-matrix DMPs encode trajectories on SO(3) using scaled angular velocity, skew-symmetric matrices, and integration of the rotation dynamics.The generated rotation matrices are obtained by integrating the matrix differential equation.
2.1.3 SPD matrices
SPD-matrix DMPs generalize trajectory generation to manipulation profiles represented on the manifold of symmetric positive-definite matrices. The formulation operates through tangent-space mappings, transported goal information, and manifold-aware integration.
- SPD formulation: The SPD formulation encodes robotic manipulation profiles as trajectories of m × m symmetric positive-definite matrices.
- Implementation: Mandel vectorization represents symmetric matrix derivatives as vectors for DMP computation, and matricization maps the resulting vectors back to matrices.
- SPD formulation: The forcing dynamics use transported goal information along the geodesic from the current SPD point toward the initial profile’s reference frame.
- Manifold mappings: Logarithmic maps transform SPD-manifold points into tangent-space vectors, while exponential maps reconstruct new SPD matrices along manifold-consistent directions.
- Goal adaptation: The SPD formulation supports smooth goal adaptation by continuously updating the goal after sudden goal switching.
2.2 Periodic DMP
Periodic DMPs encode rhythmic trajectories by replacing duration-based timing with execution frequency and enforcing phase continuity across repetitions. Their forcing term is learned from demonstrations using Gaussian basis functions and recursive least squares, but classical periodic DMPs omit the transient motion that initiates the limit cycle.
- Periodic DMPs encode motions that follow rhythmic patterns rather than point-to-point trajectories.
- The trajectory-duration time constant is replaced by the frequency of trajectory execution.
- Smooth repetitions require the initial phase φ = 0 and final phase φ = 2π to coincide.
- The periodic forcing function uses N Gaussian kernels with weights distributed uniformly along phase space, while r modulates signal amplitude.
- Recursive least squares updates the kernel weights from the error between the demonstrated and currently learned trajectory shapes.
- Classical periodic DMPs do not encode the transit motion needed to start periodic behavior from rest.
2.3 Formulation summary
Table 3 summarizes the basic DMP formulations according to the space in which they are applied, while later sections address extensions beyond their standard forms.
- Table 3 summarizes existing DMP formulations in their standard shapes according to the spaces where they are applied.
- Extensions such as coupling terms are discussed separately from the basic formulations.
3.1 Generalization
DMP generalization adapts learned motions to new goals, via-points, task parameters, and contexts. The reviewed approaches modify weights, goals, timing, forcing terms, or mixtures of primitives, with latent-space interpolation improving generalization performance.
- 3.1 Generalization: Generalization aims to adapt DMP trajectories to unforeseen execution contexts.
- 3.1.1 Start, goal, and scaling: Classical DMPs support time and amplitude scaling and generalization to different initial and target states, but can over-amplify trajectories or fail for identical start and target states.
- 3.1.1 Start, goal, and scaling: The modified transformation system adds (g − y0)x, preventing high initial accelerations, enabling identical start and target states, and avoiding over-amplification and trajectory mirroring.
- 3.1.2 Via-points: Via-point methods constrain trajectories through intermediate goals or fitted sample paths, including settings that preserve proximity to demonstrations while reaching new targets.
- 3.1.2 Via-points: Via-points Movement Primitives separate an elementary attractor from a learned shape modulation term and use different strategies for interpolation and extrapolation.
- 3.1.3 Task parameters: Task-parameter generalization includes interpolating weights of nearby DMPs, Gaussian-process mappings from queries to DMP parameters, and forcing terms that directly depend on task parameters.
- 3.1.3 Task parameters: Mixtures of DMPs adapt motions by combining primitives according to responsibilities represented in an augmented state containing task meta-parameters.
- 3.1.3 Task parameters: Interpolation of DMP weights in a latent space results in better generalization performance.
3.2 Joining multiple DMPs
The survey reviews three approaches for smoothly joining DMPs: velocity threshold, target crossing, and basis functions overlay. They support complex behaviors but trade off timing, continuity, via-point control, and trajectory fidelity.
- Approaches: Three approaches join successive DMPs: velocity threshold, target crossing, and basis functions overlay, with implementations for position and orientation.The implementations and synthetic-data results are provided in Matlab and publicly released.
- Velocity threshold: Velocity threshold switches to the next primitive when the current DMP velocity falls below a chosen threshold.The approach relies on the DMP reaching its target with zero velocity and acceleration.
- Velocity threshold: A 0.01 m and 0.01 rad via-point distance caused switching after about 4.7 s and ended the 9.5 s motion 0.5 s before the 10 s demonstration.Changing the via-point distance changes the generated trajectory duration; discontinuities may occur when consecutive primitive states differ substantially.
- Target crossing: Target crossing reaches a moving target after a prescribed duration T, and consecutive DMPs can be joined by switching after their respective durations.Initializing the second DMP with the first DMP’s final state prevents switching discontinuities.
- Target crossing: Non-zero crossing velocity reproduces the via-point timing but deforms the first trajectory segment.In the reported experiment, the via-point is crossed at T = 5 s with the desired velocity.
- Basis functions overlay: Basis functions overlay ensures overlapping basis functions at switching instances, producing smooth trajectories with continuous velocity without a switching rule.The trajectory passes close to the via-point, but its distance depends on the joined primitives’ weights and its duration can exceed the demonstrations.
3.3 Online adaptation
The survey describes online DMP adaptation through obstacle, force, human-effort, and reference-velocity coupling terms. These mechanisms modify trajectory shape, dynamics, goals, or execution speed during task performance.
- Obstacle avoidance: Obstacle avoidance modifies DMP trajectories using potential fields, either through a time-varying goal or an additional forcing term.The obstacle-avoidance term uses obstacle and robot positions, exponential and ζ functions, and a distance-dependent activation function.
- Obstacle avoidance: Obstacle-aware DMPs can use the obstacle or a human pointing gesture as O and the robot position as y.The distance function controls when the perturbation field begins affecting the DMP.
- Force adaptation: Task dynamics are incorporated as coupling terms at the DMP acceleration or velocity level for interaction tasks.Force coupling can instantly react to virtual or measured forces, while later formulations use force feedback to modify velocity and goals.
- Human effort adaptation: Human effort feedback adapts Gaussian-kernel weights encoding joint-torque trajectories, increasing or decreasing assistance according to the feedback sign.Effort can be measured through EMG, joint torque, or limb forces.
- Reference-velocity adaptation: Adding a temporal scaling factor υ lets speed-scaled DMPs modify spatial motion and execution speed at any trajectory stage.Iterative learning with wrench feedback produced a new velocity profile after each learning cycle and converged to a task-specific optimal velocity.
- Reference-velocity adaptation: Velocity scaling was extended to quaternion orientation trajectories and to safe execution with predefined velocity limits in changing environments.These extensions provide a unified Cartesian-space velocity-scaling approach and additional velocity-bound coupling.
3.4 Alternative formulations
The survey reviews formulations related to DMPs that represent motion or control through mixtures of linear dynamics, optimal-control-based gains, compact polynomials, or transformed limit cycles.
- Scope: LfD includes many representations related to DMPs, but the survey reviews only formulations closely connected to the DMP framework.The broader LfD literature is intentionally outside this section’s scope.
- Mixture-based formulations: Calinon et al. represent acceleration in PD-like form and interpret it as a mixture of linear dynamics converging to separate attractors.Later work called this representation a modified DMP, although the survey notes significant formulation differences.
- Optimal-control-based formulation: Herzog et al. compute acceleration with an LQR-derived gain and encode the control trajectory compactly using Chebyshev polynomials.The representation does not require a vanishing phase variable, while changing start or goal positions requires applying LQR again.
- Periodic formulations: Ajallooeian et al. learn rhythmic movements by mapping a known base limit cycle to a desired periodic orbit with phase-based scaling functions.The framework can use a periodic DMP as its base limit cycle and generalizes periodic primitive formulations.
4 DMPs integration in complex frameworks
DMPs are integrated into larger frameworks for manipulation, hierarchical task execution, variable impedance control, and reinforcement learning. These integrations support skill sequencing, adaptation, policy improvement, and transfer across tasks.
- DMPs are combined with executive frameworks spanning grasping and manipulation, impedance learning, reinforcement learning, deep learning, and life-long learning.
- Grasping and manipulation: DMP-based grasping adapts hand and finger trajectories to local object geometry within hierarchical control architectures.Tool movement primitives also transform demonstrations into affordance frames to generalize across tool poses and tools sharing affordances.
- Grasping and manipulation: Hierarchical task methods segment complex demonstrations into basic motions, fit separate DMPs, and sequence them for multi-action tasks.Some approaches use semantic rules, libraries, transition graphs, or search to select and generate motion sequences.
- Impedance learning: DMPs can represent desired kinematic paths while torque primitives or impedance controllers support compliant interaction with environments.Variable impedance control adjusts stiffness to reduce impact forces or reject perturbations and improve position tracking.
- Reinforcement learning: DMPs parameterize policies that reinforcement-learning algorithms improve through policy gradients, actor-critic methods, PI2, or PoWER.These combinations have been applied to variable impedance, contact tasks, uncertain grasping, bimanual manipulation, and endovascular intervention.
- Reinforcement learning: Hierarchical and task-transfer methods use DMPs to generate continuous commands and organize skill acquisition across tasks.Reported guidance favors learning complex demonstrated skills first, or simple skills first when demonstrations are unavailable.
5 DMPs in Application Scenarios
The survey covers DMP applications in physical interaction, co-manipulation, rehabilitation, teleoperation, motion recognition, and other robotic settings. Across these scenarios, DMPs are adapted through demonstrations, force feedback, impedance learning, policy search, and skill composition.
- The application survey separates passive environmental interaction from co-manipulation and also covers rehabilitation, teleoperation, motion recognition, high-DoF robots, and autonomous driving.
- Physical interaction: Physical interaction tasks require a compromise between prioritizing position control and force control because both cannot be controlled simultaneously along the same axis.This motivates methods that learn or adapt appropriate force, position, and impedance behavior.
- Teaching and impedance learning: Kinesthetic guidance and teleoperation teach DMP trajectories, while force, torque, EMG, or interaction measurements support learning and adapting stiffness profiles.Teleoperation can be effective but typically involves complex and expensive systems.
- Adaptation: Single demonstrated trajectories may be inadequate when task execution must change substantially, motivating real-time sensory and force-based DMP adaptation.Reported applications include fast movements, changing surfaces, wiping, and varied environmental conditions.
- Assembly and disassembly: Assembly methods extend DMPs beyond position trajectories by learning orientation and task dynamics for peg-in-the-hole and other changing, tight-tolerance tasks.Exception strategies, force control, and autonomous motion-knowledge databases address cases that cannot be demonstrated and executed unchanged.
- Assembly and disassembly: DMPs’ unique point attractor makes direct reversal unsuitable for disassembly, so separate forward and backward DMPs can be learned from one demonstration.
- Motion analysis and recognition: Motion-analysis systems use DMP-encoded skill memories as predictive models of sensor traces for early failure detection.
6 Discussion
The discussion offers application-oriented guidance for selecting DMP formulations, while reviewing implementation resources and inherent limitations. It emphasizes that the suitable approach depends on task goals, application conditions, and geometric or interaction requirements.
- The paper provides released implementations and discusses DMP limitations and open issues to support approach selection and further investigation.The accompanying repository lists open-source implementations, including additional releases from the authors.
- The suitable DMP formulation depends on the application's goal and conditions rather than a single formulation serving all purposes.
- Discrete DMPs suit trajectories with distinct starting and ending points, while transient or combined discrete-periodic formulations address intermediate cases.Examples include reaching, pick-and-place, assembly, cutting, humanoid gait transients, and complex assembly.
- Classical independent-DoF formulations are insufficient for data with geometry constraints, motivating geometry-aware DMPs for orientations and SPD profiles.Early orientation approaches could produce improper orientations requiring renormalization; newer formulations preserve unit quaternions, rotation matrices, or SPD matrices.
- DMPs can be adapted using iterative learning, obstacle or effort feedback, force control, velocity feedback, and passivity-based energy monitoring.For industrial interaction tasks, force-control combinations can preserve demonstrated trajectories while adapting to environmental uncertainties.
- Implicit phase timing can distort the trajectory when the phase vanishes too early or lasts too long, and suitable stopping depends on the application.Early phase termination leaves linear convergence to the goal; excessive duration can cause overshoot or failure to reach the goal on time.
7 Concluding remarks
The concluding remarks position the paper as a systematic, broad tutorial survey of DMP formulations, applications, implementations, and limitations. It also identifies unresolved geometric extensions and research directions in an active field.
- DMPs have remained a widely used robotics approach for generating motor commands, producing extensive literature and many extensions since the early 2000s.
- The tutorial unifies classical DMPs and key extensions mathematically, standardizes notation, and provides application-selection guidelines.
- Extensions to manifolds such as Grassmannian and hyperbolic spaces remain non-trivial and not fully addressed.
- The paper releases several implementations of the described DMP-based approaches to the community.
- The discussion summarizes DMP advantages, limitations, solved issues, and open issues to clarify completed work and possible research focus.