  Dynamic Movement Primitives (DMPs) offer great versatility for encoding,
generating and adapting complex end-effector trajectories. DMPs are also very
well suited to learning manipulation skills from human demonstration. However,
the reactive nature of DMPs restricts their applicability for tool use and
object manipulation tasks involving non-holonomic constraints, such as scalpel
cutting or catheter steering. In this work, we extend the Cartesian space DMP
formulation by adding a coupling term that enforces a pre-defined set of
non-holonomic constraints. We obtain the closed-form expression for the
constraint forcing term using the Udwadia-Kalaba method. This approach offers a
clean and practical solution for guaranteed constraint satisfaction at
run-time. Further, the proposed analytical form of the constraint forcing term
enables efficient trajectory optimization subject to constraints. We
demonstrate the usefulness of this approach by showing how we can learn robotic
cutting skills from human demonstration.
