Rozo, L., Calinon, S., Caldwell, D.G., Jimenez, P. and Torras, C. (2013)
Learning collaborative impedance-based robot behaviors
In Proc. of the AAAI Conference on Artificial Intelligence, Bellevue, WA, USA, pp. 1422-1428.


Research in learning from demonstration has focused on transferring movements from humans to robots. However, a need is arising for robots that do not just replicate the task on their own, but that also interact with humans in a safe and natural way to accomplish tasks cooperatively. Robots with variable impedance capabilities opens the door to new challenging applications, where the learning algorithms must be extended by encapsulating force and vision information. In this paper we propose a framework to transfer impedance-based behaviors to a torque-controlled robot by kinesthetic teaching. The proposed model encodes the exam- ples as a task-parameterized statistical dynamical system, where the robot impedance is shaped by estimating virtual stiffness matrices from the set of demonstrations. A collaborative assembly task is used as testbed. The results show that the model can be used to modify the robot impedance along task execution to facilitate the collaboration, by triggering stiff and compliant behaviors in an on-line manner to adapt to the user's actions.

Bibtex reference

  author="Rozo, L. and Calinon, S. and Caldwell, D. G. and Jimenez, P. and Torras, C.",
  title="Learning collaborative impedance-based robot behaviors",
  booktitle="{AAAI} Conference on Artificial Intelligence",
  address="Bellevue, WA, USA",


This video shows the result of a learning by imitation approach that allows two users to demonstrate an assembly skill requiring different levels of compliance. Each furniture item to assemble will have specific characteristic that needs that are transferred to the robot. Re-programming the robot for each new item would not be possible. Here, the robot can learn this skill by demonstration. One user is grasping the robot and moving it by hand to demonstrate how it should collaborate with another user (kinesthetic teaching). A force sensor mounted at the wrist of the robot and a marker-based vision tracking system is used to record the position and orientation of the table legs that need to be mounted at four different point on the table top. After demonstration, the robot learns that it should first be compliant to let the user re-orient the table top in a comfortable pose to screw the corresponding table leg. Once the user starts to screw the leg, the robot becomes stiff to facilitate the task. This behavior is not pre-programmed, but is instead learn by the robot by extracting the regularities of the task from multiple demonstrations.

Credits: Leonel Rozo, Sylvain Calinon

Source codes

Training of a task-parameterized Gaussian mixture model (GMM) based on candidate frames of reference. The proposed task-parameterized GMM approach relies on the linear transformation and product properties of Gaussian distributions to derive an expectation-maximization (EM) algorithm to train the model. The proposed approach is contrasted with an implementation of the approach proposed by Wilson and Bobick in 1999, with an implementation applied to GMM (that we will call PGMM) and following the model described in "Parametric Hidden Markov Models for Gesture Recognition", IEEE Trans. on Pattern Analysis and Machine Intelligence.
In contrast to the standard PGMM approach, the new approach that we propose allows the parameterization of both the centers and covariance matrices of the Gaussians. It has been designed for targeting problems in which the task parameters can be represented in the form of coordinate systems, which is for example the case in robot manipulation problems.


Download task-parameterized GMM Matlab sourcecode

Download task-parameterized GMM C++ (command line version) sourcecode

(see also DMP LEARNED BY GMR sourcecode)


For the Matlab version, unzip the file and run 'demo1' or 'demo2' in Matlab.
For the C++ version, unzip the file and follow the instructions in the ReadMe.txt file.


Demo 1 - Simple example of task-parameterized GMM learning and comparison with standard PGMM

This example uses 3 trajectories demonstrated in a frame of reference that varies from one demonstration to the other. A model of 3 Gaussian components is used to encode the data in the different frames, by providing the parameters of the coordinate systems as inputs (transformation matrix A and offset vector b).

Demo 2 - Example of task-parameterized movement learning with DS-GMR (statistical dynamical systems based on Gaussian mixture regression)

This demo shows how the approach can be combined with the DS-GMR model to learn movements modulated with respect to different frames of reference. The DS-GMR model is a statistical dynamical system approach to learn and reproduce movements with a superposition of virtual spring-damper systems retrieved by Gaussian mixture regression (GMR). For more details, see the 'DMP-learned-by-GMR-v1.0' example code downloadable from the website below.

Go back to the list of publications