Learning Generalizable Motion Skills with Dynamic Movement Primitives

BSc assignment

PROJECT SUMMARY

In this project, you will build a small Learning from Demonstration (LfD) pipeline to teach a simulated Franka Emika Panda robot arm (in PyBullet) a motion skill using Dynamic Movement Primitives (DMP). Starting from a few human demonstrations (end-effector trajectories), your goal is to generate stable, smooth, and generalizable motions, make the robot track them with inverse kinematics (IK), and evaluate the system with clear plots and simple metrics.

WHAT YOU WILL DO

  • Set up Franka Panda in PyBullet and implement end-effector tracking.
  • Load and preprocess demonstrations (CSV).
  • Train and roll out a DMP skill model.
  • Compare DMP with Baseline.
  • Evaluate with clear metrics and plots.

WHY THIS PROJECT MATTERS

  • This project is a strong stepping stone toward more advanced topics like dual-arm coordination and surgical manipulation.
  • You will gain hands-on experience with core robotics tools: kinematics, inverse kinematics, control loops, quantitative evaluation.