Robot control

Dynamic movement primitive

Definition

A dynamic movement primitive is a parameterised dynamical system that represents a goal-directed or rhythmic movement using stable baseline dynamics plus a learned shaping term. Robots can fit the parameters from demonstrations and adapt the resulting motion to a new goal or duration.

Also known as: DMP, Dynamical movement primitive

Updated

A movement encoded as dynamics

A dynamic movement primitive starts with a simple attractor system and adds a learnable forcing term that shapes the path. Ijspeert and colleagues describe point-attractor formulations for discrete movements and limit-cycle formulations for rhythmic movements. The attractor supplies the basic convergence behaviour, while the forcing term represents details learned from a sample motion.

This is different from storing a timed list of joint values. The DMP generates a trajectory by integrating its dynamics. Its goal, duration, or amplitude can be changed within the formulation, although useful adaptation depends on how the primitive was designed and trained.

From a demonstration to a reusable skill

In imitation learning, a demonstrated reach, wipe, or placement motion can be fitted as a DMP. A task-level system can then select the primitive and set a new target, while a lower-level controller tracks the generated position, velocity, or orientation path.

DMPs can represent either joint-space motion or task-space quantities such as an end effector pose. Orientation needs an appropriate representation because ordinary subtraction does not describe all three-dimensional rotations correctly.

Convergence does not imply task safety

An attractor can pull the generated motion toward its goal without respecting obstacles, joint limits, contact forces, or human separation. Shaw and colleagues state that ordinary DMPs provide no strong guarantee of operational constraint satisfaction and propose a constrained variant using a barrier function.

A primitive also preserves only what its variables and training data encode. Moving the goal can produce a mathematically valid trajectory that is unsuitable for a new object geometry or robot body. Collision checks, feasibility tests, and feedback control remain separate requirements.

Sources