Learning collaborative behaviors

Leonel Rozo, Sylvain Calinon, Darwin Caldwell, Pablo Jiménez, Carme Torras

Physical human-robot interaction opens a door to robots cooperating with humans in a safe, reliable and user-friendly way. Here we propose a learning framework for human-robot cooperation tasks, where the robot learns impedance-based behaviors from kinesthetic teaching. Both the phase of task learning and the phase of estimating an appropriate level of the robot compliance exploit the vision and haptic information. A new Gaussian mixture model-based learning approach that considers time varying parameters related to the task is used to encode the robot behavior, where a method based on weighted least squares and on the Frobenius norm is proposed to estimate the compliance level of the robot. Our proposed framework is implemented to carry out a collaborative table assembly process between a human-robot dyad, where the robot's impedance-based behavior is shaped in an on-line manner according to the human's actions. Results show how the learning technique is able to encode various compliant and stiff behaviors changing over the course of the task as well as how the estimation process based on vision and force-based perceptions is suitable to provide the needed stiffness matrix to the Cartesian impedance robot controller.


Overview of the learning system



In the collaborative table assembly scenario, we aim at teaching the robot to discriminate when to switch from a compliant to a stiff behavior as needed by its human couterpart. Compliance is needed while positioning the table on a comfortable location and orientation for assembly. However, as the user begins to screw the leg on the table, the latter one should be stiff to allow to proceed with the screwing operation. As shown in the video below, these behaviors are taught to the robot during the demonstration phase by kinesthetic teaching. Both visual and force-based clues are needed to switch from one behavior to the other one.



Video illustrating the learning and execution phase