European Robotics Forum 2012: workshops

At the European Robotics Forum 2012 KU Leuven and Intermodalics are organizing a three-part seminar, appealing to both industry and research institutes, titled:

  1. Introduction to state charts and reusable, modular task specification through the Orocos eco-system
  2. Hands-on1: getting started with state charts in the Orocos eco-system
  3. Hands-on2: getting started with instantaneous motion specification using constraints (iTaSC): reusable and modular task specification

The sessions will be on March 6, 8h30-10h30 + 11h00-12h30 + 13h30-15h00 (Track four). For more detail consult the European Robotics Forum program

Remaining seats: (last update: March 2, 2012)
  • Hands-on 1: 0 out of 20
  • Hands-on 2: 0 out of 20
  • We're fully booked, but don't be shy to come and peek or sit along, although we can't guarantee you a table or a chair !

    (Information on last year's workshop can be found here.)


    You first need to register for attending the euRobotics Forum. Registration for the workshop is mandatory, but free of charge. For the hands-on sessions (hands-on 1 and hands-on 2), we will limit the number of participants to 20. The workshops are guided by different experienced Orocos users. Please register your participation by sending an email to info at intermodalics dot eu indicating which workshops you want to attend. We will confirm your participation with a short notice. Later-on, you will receive a second email with more details about how to prepare. You should receive this second, detailed email in the week of February, 27, 2012.

    Motivation and objective

    The workshop consists of three rather independent parts. It is advised but not required to follow the preceding session(s) when attending session two or three.
    1. The first session is a presentation session, it introduces the basic concepts of Orocos application programming, followed by rFSM state charts and the iTaSC framework.
    2. The second session is a hands-on session, that aims at making the participants familiar with rFSM state charts, which is a powerful though easy to use tool for robotic coordination and supervision tasks,
    3. The third sessions is also a hands-on session, that aims at introducing the concepts of constraint-based motion specification using the iTaSC framework. This framework and its software implementation was developed at the KU Leuven during the past years. It's key advantages are the composability of (partial) constraints and reusability of the constraint specification. The software is an open-source project, which has recently reached its 2.0 version.


    1. Presentation session, giving a high-level overview of rFSM and iTaSC by introducing the key concepts.
    2. Hands-on session: guided exercise where the participants will have to create an application with interacting state machines, that can be used for example to coordinate the behavior of the iTaSC application of the following session.
    3. Hands-on session: guided exercise where the participants will have to create an application consisting of multiple tasks on a robot in simulation. Eg. Drawing a figure on a table and avoiding a moving obstacle with a Kuka Youbot.

    Feedback form

    Participant feedback is gratefully appreciated. Please fill in the feedback form. Some browsers/pdf viewers do not support in-browser usage of the form. To avoid problems, please download the form first.


    iTaSC hands-on session

    RTT-Overview.pdf1.67 MB
    erf_itasc_theory_opt.pdf526.82 KB

    Installation instructions

    Ubuntu Installation with ROS


    • Install Electric ROS using Debian packages for Ubuntu Lucid (10.04) or later. In case you don't run Ubuntu you can use the ROS install scripts. See the ros installation instructions.
      • Make sure the following debian packages are installed: ros-electric-rtt-ros-integration ros-electric-rtt-ros-comm ros-electric-rtt-geometry ros-electric-rtt-common-msgs ros-electric-pr2-controllers ros-electric-pr2-simulator ruby
    • Create a directory in which you want to install all the workshops source (for instance erf)

    mkdir ~/erf

    • Add this directory to your $ROS_PACKAGE_PATH


    • Get rosinstall

    sudo apt-get install python-setuptools
    sudo easy_install -U rosinstall

    • Get the workshop's rosinstall file . Save it as erf.rosinstall in the erf folder.
    • Run rosinstall

    rosinstall ~/erf erf.rosinstall /opt/ros/electric

    • As the rosinstall tells you source the setup script

    source ~/erf/setup.bash

    • Install all dependencies (ignore warnings)

    rosdep install itasc_examples
    rosdep install rFSM

    • Compile the workshop sources

    rosmake itasc_examples


    • Add the following functions in your $HOME/.bashrc file:

        source $HOME/erf/setup.bash;
        source $HOME/erf/;
        source /opt/ros/electric/stacks/orocos_toolchain/;
        if [ "x$LUA_PATH" == "x" ]; then LUA_PATH=";;"; fi
        if [ "x$LUA_CPATH" == "x" ]; then LUA_CPATH=";;"; fi
        export LUA_PATH="$LUA_PATH;`rospack find rFSM`/?.lua"
        export LUA_PATH="$LUA_PATH;`rospack find ocl`/lua/modules/?.lua"
        export LUA_PATH="$LUA_PATH;`rospack find kdl`/?.lua"
        export LUA_PATH="$LUA_PATH;`rospack find rttlua_completion`/?.lua"
        export LUA_PATH="$LUA_PATH;`rospack find youbot_master_rtt`/lua/?.lua"
        export LUA_PATH="$LUA_PATH;`rospack find kdl_lua`/lua/?.lua"
        export LUA_CPATH="$LUA_CPATH;`rospack find rttlua_completion`/?.so"
        export PATH="$PATH:`rosstack find orocos_toolchain`/install/bin"

    Running the demo

    Gazebo simulation

    • Open a terminal and go to the itasc_erf_2012 package:

    roscd itasc_erf2012_demo/
    • Run the script that starts the gazebo simulator (and two translator topics to communicate with the itasc code)


    • Open another terminal and go to the itasc_erf_2012 package:

    roscd itasc_erf2012_demo/
    • Run the script that starts the itasc application


    Real youbot

    • Make sure that you are connected to the real youbot.
    • Open another terminal and go to the itasc_erf_2012 package:

    roscd itasc_erf2012_demo/
    • Check the name of the network connection with the robot (for instance eth0) and put this connection name in the youbot_driver cpf file (cpf/youbot_driver.cpf)
    • Run the script that starts the itasc application



    Some small examples for usage.

    Do not hesitate to add your own small examples.


    Additonal Information on the Practical Session

    Documentation Links


    • Markus' slides (see below)
    pres.pdf378.19 KB