A system for instructing a robot, wherein the system comprises: a master robot arm arranged for being influenced by operator interaction; a slave robot arm arranged for interaction with a workpiece; and a control unit configured to: - determine master external-force data indicating a force interplay between the operator and the master robot arm; and to - determine slave external-force data indicating a force interplay between the slave robot arm and the workpiece; wherein the control unit further comprises a haptic interface module comprising: • a constraint submodule defining a plurality of motion constraints including a kinematic coupling in task space between a designated master coupling frame of the master robot arm and a designated slave coupling frame of the slave robot arm, such that a velocity of the master coupling frame and a velocity of the slave coupling frame are interrelated in the task space; and • a calculation submodule configured to calculate a joint movement command for the master robot arm and a joint movement command for the slave robot arm, based on the master external-force data, the slave external-force data, a non-linear dynamic model of the master robot arm, a non-linear dynamic model of the slave robot arm, a relation between the non-linear dynamic models including virtual forces/torques at the designated frames for accomplishing the kinematic coupling in task space, and based on at least one virtual force and/or at least one virtual torque needed to enforce the others of the plurality of motion constraints; while constraints imposed by the non-linear dynamic models are respected; wherein the system is configured to: - control the master robot arm and the slave robot arm according to the joint movement commands, whereby the operator receives haptic feedback from the force interplays reflecting dynamics of the system. - determine master external-force data indicating a force interplay between the operator and the master robot arm; and to - determine slave external-force data indicating a force interplay between the slave robot arm and the workpiece; • a constraint submodule defining a plurality of motion constraints including a kinematic coupling in task space between a designated master coupling frame of the master robot arm and a designated slave coupling frame of the slave robot arm, such that a velocity of the master coupling frame and a velocity of the slave coupling frame are interrelated in the task space; and • a calculation submodule configured to calculate a joint movement command for the master robot arm and a joint movement command for the slave robot arm, based on the master external-force data, the slave external-force data, a non-linear dynamic model of the master robot arm, a non-linear dynamic model of the slave robot arm, a relation between the non-linear dynamic models including virtual forces/torques at the designated frames for accomplishing the kinematic coupling in task space, and based on at least one virtual force and/or at least one virtual torque needed to enforce the others of the plurality of motion constraints; while constraints imposed by the non-linear dynamic models are respected; - control the master robot arm and the slave robot arm according to the joint movement commands, whereby the operator receives haptic feedback from the force interplays reflecting dynamics of the system.