Adapting to contacts: Energy tanks and task energy for passivity-based dynamic movement primitives | Synapse