Dynamic Movement Primitives


A dynamic movement primitive (DMP) is derived from a non-linear spring-damper system with gains selected to render it critically damped. It is perturbed with additional forcing terms that generate the novel behavior captured in a task demonstration. To do this, the forcing term must be learned from the demonstration represented as a trajectory. For example, a robot could be kinesthetically moved to demonstrate a task as the joint positions are recorded throughout the demonstration. The forcing term is estimated from the demonstration and then learned by performing locally-weighted regression. The major advantage of DMPs is their generalizability. Intuitively, executing a basic motor behavior is localized in space and should be flexible in velocity, along with where the motion starts and ends, while maintaining the fundamental behavior. DMPs possess this property as both the start and goal locations can be adjusted and a separate temporal scalar can be used to adapt the speed of execution. Another important characteristic of DMPs is their ability to perform online adaptation, i.e., a robot can react to environmental changes mid-execution. This includes obstacle avoidance and the adaptation based on force feedback.


  • We utilized DMPs to represent lunar excavator trajectories enabling us to develop a compact, generalized representation of the robot's motion plans


  1. J.M. Cloud, M.Q. Tram, W.J. Beksi, and M.A. DuPuis, "Lunar Excavator Mission Operations using Dynamic Movement Primitives," IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2023.
    Paper  •   Preprint  •   Citation