  Many high precision (dis)assembly tasks are still being performed by humans,
whereas this is an ideal opportunity for automation. This paper provides a
framework which enables a non-expert human operator to teach a robotic arm to
do complex precision tasks. The framework uses a variable Cartesian impedance
controller to execute trajectories learned from kinesthetic human
demonstrations. Feedback can be given to interactively reshape or speed up the
original demonstration. Board localization is done through a visual estimation
of the task board position and refined through haptic feedback. Our framework
is tested on the Robothon benchmark disassembly challenge, where the robot has
to perform complex precision tasks, such as a key insertion. The results show
high success rates for each of the manipulation subtasks, including cases when
the box is in novel poses. An ablation study is also performed to evaluate the
components of the framework.
