ICRA-2019 tutorial on dynamical systems based learning from demonstration banner image

    ICRA 2019 Tutorial

    Tutorial on Dynamical System-based Learning from Demonstration

    Learning Algorithms and Systems Laboratory (LASA), EPFL

LASA homepage

    Session: Friday May 24, 2019 @8:30-12:30

    Location: Room 520f, Palais des Congrès de Montréal, Canada


  • • Click here to download a pdf or read-only version of the ppt presentation from dropbox or go to the Documentation page of each Lecture.
  • •Click here to go to MATLAB exercises github repository..


The use of Dynamical Systems (DS) for motion planning problems in robotics has become popular thanks to their ability to generate on-line motion plans inherently robust to changes in dynamic environments. In recent years, we have focused on formulating DS to model robotic tasks that can be learned from demonstrations (LfD). We've used our DS-based learning techniques in a plethora of robotic applications, from executing simple point-to-point motions, such as pick-and-place and imitating motion patterns to more dynamic scenarios, such as generating golf swings, obstacle avoidance and even catching objects in flight. These techniques have been further extended to learn more complex tasks of repetitive nature, from sequential point-to-point motions to peeling vegetables, rolling pizza dough and wiping car-parts.


In this tutorial, we seek to introduce the attendees to the state-of-the-art of DS-based learning from demonstration from both a theoretical and practical point-of-view. It will be composed of 3 lecture-like presentations followed by practical sessions in MATLAB/Python (to be done on attendee’s laptops).

  • • The first lecture focuses on showcasing different learning approaches proposed by the LASA lab, while highlighting their advantages and drawbacks and comparing them to other approaches.
  • •The second lecture, will showcase techniques to locally modulate a previously-learned DS for tasks such as i) obstacle avoidance and ii) transitioning between contact with a surface.
  • •The final lecture focuses on the use of DS for impedance control and force generation. We will present a DS-based impedance controller that provides passive interaction while generating motion in a time-invariant manner. We will then present a technique to learn DS that can encode different stiffness characterizations throughout the motion plan. Finally, we will present an approach that is capable of generating both motion and force during contact tasks.

Students will be able to practice these techniques through computer-based simulations. The tutorial will end with a look-out on open research questions in the field. We provide a detailed description of the program under the Program tab.

    Instructions for participants

The tutorial has several Matlab exercises that will highlight some of the concepts presented in the tutorial. These exercises should be done on your own laptop. The code for the exercises is available in a Github repository. Follow the link below and clone the repository onto your computer. Make sure that you have a stand-alone license for Matlab.

Click here to go to MATLAB exercises github repository.

    Support from IEEE RAS Technical Committees

This tutorial has received support from the following IEEE RAS technical committees:

Technical Committee for Robot Learning

Technical Committee for Cognitive Robotics


This tutorial has received funding from the European Community's Horizon 2020 robotics program ICT-23-2014, grant agreement 644727 - CogIMon. The content of this site is the sole responsibility of the authors. The European Commission or its services cannot be held responsible for any use that may be made of the information it contains.

EU flag cogimon banner

For any questions or queries contact Nadia Figueroa.