---
title: Dynamic Movement Primitive Parameterization
url: https://www.emergentmind.com/topics/dynamic-movement-primitive-dmp-parameterization
type: topic
---

# Dynamic Movement Primitive Parameterization

Dynamic Movement Primitive (DMP) Parameterization

Dynamic Movement Primitives (DMPs) are a class of motion encoding frameworks based on stable nonlinear dynamical systems coupled with flexible function approximators. DMPs parametrically represent complex trajectories via a low-dimensional set of physically interpretable parameters, supporting robust generation and generalization for robotic motion. DMP parameterization encompasses the mathematical form of the transformation and canonical systems, the basis function structure of the forcing term, methods for weight identification, and extensions for properties such as reversibility, compliance, and multi-modal perception.

## 1. Core Mathematical Structure and Canonical System

A canonical DMP comprises two coupled subsystems:

1. **Canonical (Phase) System**: Encodes phase progression with a monotonic variable $x$ (or $s$) that evolves independently of absolute time:
   \[
   \dot{x} = \frac{1}{\tau} h(x), \qquad x(0)=x_0, \quad x(t_f/\tau)=x_f
   \]
   where $\tau>0$ sets execution duration and $h(x)$ is a positive scalar function (commonly linear $h(x)=1$ or exponential $h(x) = -a_x x$).

2. **Transformation (Attractor) System**: Encodes the actual trajectory dynamics. In original DMPs, the system takes the form (for position $y$):
   \[
   \tau^2 \ddot{y} = \alpha_z \beta_z (g - y) - \alpha_z \tau \dot{y} + f_{\mathrm{nl}}(x)
   \]
   where $g$ is the goal, $\alpha_z$, $\beta_z$ are gains (typically $\alpha_z = 4\beta_z$ for critical damping), and $f_{\mathrm{nl}}$ is the nonlinear forcing term.

Many modern DMPs, such as the reversible variant, reformulate this as a tracking system against a learned reference trajectory $y_x(t)$:
   \[
   \ddot y = \ddot y_x - D (\dot y - \dot y_x) - K (y - y_x)
   \]
with explicit stiffness $K$ and damping $D$ decoupled from time scaling [2010.07708].

## 2. Forcing Term Parameterization: Basis Functions and Weights

The nonlinearity required to reproduce general motion is encoded in $f(x)$, approximated as a normalized weighted sum of $N$ basis functions:
   \[
   f(x) = \frac{\sum_{i=1}^N w_i \psi_i(x)}{\sum_{j=1}^N \psi_j(x)}
   \]
Standard choices for $\psi_i(x)$ are:
- **Gaussian RBFs**: $\psi_i(x) = \exp(-h_i (x - c_i)^2)$, with centers $c_i$ (often linearly or exponentially spaced) and widths $h_i$ adjusted for desired overlap [2211.13024, 1606.00600].
- **Compactly Supported Bases (Mollifiers, Wendland)**: $\psi_i$ with compact support, promoting numerical stability ($A$ is banded, not full) and efficient local updates. These enable condition numbers to grow linearly rather than exponentially with $N$, improving scaling for high-resolution modeling [1908.10608].

The number and structure of basis functions directly control the parameterization complexity: for $d$-dimensional motion, the total number of weights is $n_{\mathrm{DMP}} = dN$ [2211.13024]. Empirical results show that $K=6$–$11$ RBFs per DOF suffice for sub-millimeter trajectory reconstruction on human data.

## 3. Parameter Identification and Learning

Weights $w_i$ are learned by direct regression from demonstration(s). For timed data $\{y_d(t), \dot y_d(t), \ddot y_d(t)\}$ and canonical $x(t)$, the target signal for each sample is
   \[
   f_{\mathrm{target}}(x^n) = \tau^2 \ddot{y}^n - \alpha_z \left( \beta_z (g - y^n) - \tau \dot y^n \right)
   \]
and
   \[
   w_i = \frac{ \sum_n \psi_i(x^n) (x^n (g-y_0)) f_{\mathrm{target}}^n }{ \sum_n \psi_i(x^n) (x^n (g-y_0))^2 }
   \]
This reduces to weighted least squares. For multiple demonstrations, align spatially and temporally, extract $f_{\mathrm{target}}^{(j)}(x)$ for each, and solve a joint regression over all demos [1908.10608]. Ridge regularization may be used to improve generalization.

Some enhanced DMPs decouple the learning of the path (reference trajectory) and the velocity profile. In reversible DMPs, a two-phase process first fits $f_p(x)$ to position-only data and then kinesthetically teaches speed via a canonical system modified for phase pushing, followed by a second path fit [2010.07708].

## 4. Hyperparameters, Affine Invariance, and Robustness

DMP performance is sensitive to the choice of:
- Number of kernels $N$
- Kernel widths $h_i$ or scaling $\kappa$
- Gains $(\alpha_z, \beta_z, \alpha_x)$
- Stiffness/damping $(K, D)$ and time scaling $\tau$

Empirically, hyperparameter grids can be optimized for trade-offs between trajectory accuracy and smoothness. Some DMP formulations exploit affine invariance: by aligning starts/goals and applying transformations $S$ to $K, D, f$, trajectory shapes become invariant under rotation, scaling, and translation [1908.10608].

Auto-tuning procedures have been proposed: Hong et al. extract spring-damper ratios $(D/M, K/M)$ from multiple demonstrations via a bi-objective function balancing trajectory error and skill stability, yielding improved compliance and stability over hand tuning [2304.05703].

## 5. Extensions: Reversibility, Multi-Segment, Neural and Probabilistic DMPs

- **Reversibility**: In reversible DMPs, simply negating the sign of the phase evolution $\dot x$ exactly retraces the learned path in reverse, with no need for dual training. The transformation system tracks a reference path, and forward/backward execution uses the same weights and parameters [2010.07708].
- **Segmentation**: Long-horizon or discontinuous tasks are handled by segmenting motions into multiple DMPs, each with independent parameterizations. DSDNet, for instance, predicts variable-length DMP sequences end-to-end for complex tasks [2309.00320].
- **Neural Parameterization**: Deep variants replace the basis function expansion with neural networks (MLPs, CNNs, autoencoders), conditioning on sensory data for context-aware adaptation. These "Neural DMPs" enable richer generalization at the expense of higher data and computational requirements [2208.01903].
- **Probabilistic DMPs**: Reformulation as linear Gaussian state-space models enables Bayesian inference, explicit uncertainty propagation, closed-loop feedback via Kalman filtering, and failure detection using predictive likelihoods [1612.05932].

## 6. Application-Specific and Multimodal DMP Parameterization

- **Vision/Language Integration**: Frameworks such as KeyMPs and LMPs leverage vision-language models to select or generate DMP parameters from multimodal input, mapping high-level intent to low-level control actions (e.g., one-shot motion generation for occlusion-rich tasks, direct language-conditioned motion specification) [2504.10011, 2602.02839].
- **Skill Transfer and Human-Likeness**: Parameter extraction pipelines optimize DMP gains and weights to match dynamic features of human demonstration, enabling transfer with enhanced compliance and alignment of motion characteristics [2304.05703].
- **Personalization**: By encoding user-specific starts/goals and interactive velocity scaling (e.g., via human-applied forces), DMPs generate trajectories personalized to individual physical characteristics and preferences [2506.09697].

## 7. Parameterization Summary Table

| Component             | Parameter(s)              | Typical Choices / Notes            |
|---------------------- |--------------------------|------------------------------------|
| Canonical system      | $\tau$, $h(x)$           | $\tau=T_{demo}$, $h(x)$ linear/exponential |
| Transformation system | $K$, $D$, $\alpha_z$, $\beta_z$ | $K>0$, $D>0$, $\beta_z=\alpha_z/4$ |
| Forcing term basis    | $\{\psi_i\}$, $N$, $c_i$, $h_i$ | Gaussians, mollifiers, Wendlands   |
| Forcing term weights  | $\{w_i\}$                | Least-squares, LWR, learned or neural |
| Objective gains       | From demo or auto-tuning | Balance trajectory error, compliance |
| Personalization       | $y_0$, $g$, $\tau$       | Per demo, user-chosen, adaptive    |

Comprehensive DMP parameterization thus involves careful specification and learning of time/phase dynamics, attractor gains, force-basis expansions, and spatial/temporal scaling, in addition to pragmatic extensions for modern robotics contexts. The mathematical and algorithmic variety now available supports robust skill representation and sophisticated adaptations to user, context, and high-level task specification [2010.07708][2304.05703][1908.10608][2504.10011].

Source: https://www.emergentmind.com/topics/dynamic-movement-primitive-dmp-parameterization