European Robotics Forum 2011 Workshop on the Orocos Toolchain

At the European Robotics Forum 2011 Intermodalics, Locomotec and K.U.Leuven are organizing a two-part seminar, appealing to both industry and research institutes, titled:

  1. Real-Time Robotics with state-of-the-art open source software: case studies (45min presentation, open to all)
  2. Exploring the Orocos Toolchain (2 hours hands-on, registration required)

The session will be on April 7, 9h00-10h30 + 11h00-12h30

Remaining seats : 0 out of 20 (last update: 06/04/2011)

Real-Time Robotics with state-of-the-art open source software: case studies

In this presentation, Peter Soetens and Ruben Smits introduce the audience to todays Open Source robotics eco-system. Which are the strong and weak points of existing software ? Which work seamlessly together, and on which operating systems (Windows, Linux, VxWorks,... ) ? We will prove our statements with practical examples from both academic and industrial use cases. This presentation is the result of the long standing experience of the presenters with a open source technologies in robotics applications and will offer the audience leads and insights to further explore this realm.

Exploring the Orocos Toolchain

In this hands-on session, the participants are invited to bring their own laptop with Orocos and ROS (optionally) installed. We will support Linux, Mac OS-X and Windows users and will provide instructions on how they can prepare to participate.YouBot: A real and simulated YouBot will be usedYouBot: A real and simulated YouBot will be used

We will let the participants experience that the Orocos toolchain:

If you'll be using the bootable USB-sticks, prepared by the organisers, you can skip all installation instructions and directly start the assignment at https://github.com/bellenss/euRobotics_orocos_ws/wiki

If you are attending the hands-on session you can bring your own computer. Depending on you operating system you should install the necessary software using the following installation instructions:

YouBot Demo SetupYouBot Demo Setup The workshop will start with making you familiar with the Orocos Toolchain, which does not require the YouBot. The hands-on will continue then on a robot in simulation and on the real hardware. We will use the ROS communication protocol to send instructions to the simulator (Gazebo) or the YouBot. Installing Gazebo is not required, since this simulation will run on a dedicated machine. Documentation on the workshop application and the assignment can be found at https://github.com/bellenss/euRobotics_orocos_ws/wiki.

Registration

You first need to register for attending the euRobotics Forum. Registration for the workshop is mandatory, but free of charge. For the hands-on session, we will limit the number of participants to 20. The workshop is guided by 6 experienced Orocos users. Please register your participation by sending an email to info at intermodalics dot eu. 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 March, 20, 2011.

euRobotics Forum Linux Setup

Toolchain Installation

The installation instructions depend on if you have ROS installed or not.

NOTE: ROS is required to participate in the YouBot demo.

With ROS on Ubuntu Lucid/Maverick

Install Diamondback ROS using Debian packages for Ubuntu Lucid (10.04) and Maverick (10.10) or the ROS install scripts, in case you don't run Ubuntu.

  • Install the ros-diamondback-orocos-toolchain-ros debian package version 0.3.1 or later:  apt-get install ros-diamondback-orocos-toolchain-ros After this step, proceed to Section 2: Workshop Sources below.

With ROS on Debian, Fedora or other systems

  • We did not succeed in releasing the Diamondback 0.3.0 binary packages for your target of the Orocos Toolchain. This means that you need to build this 'stack' yourself with 'rosmake', after you installed ROS (See http://www.ros.org/wiki/diamondback/Installation). This 'rosmake' step may take about 30 minutes to an hour, depending on your laptop.

Instructions after ROS is installed:

source /opt/ros/diamondback/setup.bash
mkdir ~/ros
cd ~/ros
export ROS_PACKAGE_PATH=$HOME/ros:$ROS_PACKAGE_PATH
git clone http://git.mech.kuleuven.be/robotics/orocos_toolchain_ros.git
cd orocos_toolchain_ros
git checkout -b diamondback origin/diamondback
git submodule init
git submodule update --recursive
rosmake --rosdep-install orocos_toolchain_ros

NOTE: setting the ROS_PACKAGE_PATH is mandatory for each shell that will be used. It's a good idea to add the export ROS_PACKAGE_PATH line above to your .bashrc file (or equivalent)..

Without ROS

  • Run the bootstrap.sh (version 2.3.1) script in an empty directory.

Workshop Sources

An additional package is being prepared that will contain the workshop files. See euRobotics Workshop Sources.

euRobotics Forum Mac OS-X Setup

Toolchain Installation

Due to a dynamic library issue in the current 2.3 release series, Mac OS-X can not be supported during the Workshop. We will make available a bootable USB stick which contains a pre-installed Ubuntu environment containing all necessary packages.

euRobotics Forum Windows Setup

Toolchain Installation

Windows users can participate in the first part of the hands-on where Orocos components are created and used. Pay attention that installing the Orocos Toolchain on Win32 platforms may take a full day in case you are not familiar with CMake, compiling Boost or any other dependency of the RTT and OCL.

Requirements:

  • Visual Studio 2005 or 2008
  • CMake 2.6.3 or newer (2.8.x works too)
  • Boost C++ 1.40.0
  • Readline for Windows (see Taskbrowser with readline on Windows)
  • Cygwin installation (default setup is fine)

See the Compiling on Windows with Visual Studio wiki page for instructions. The TAO/Corba part is not required to participate in the workshop.

You need to follow the instructions for RTT/OCL v2.3.1 or newer, which you can download from the Orocos Toolchain page. We recommend to build for Release.

In case you have no time nor the experience to set this up, we provide bootable USB sticks that contain Ubuntu Linux with all workshop files.

Workshop Sources

An additional package is being prepared that will contain the workshop files. See euRobotics Workshop Sources for downloading the sources.

Windows users might also install the Kst program which is a KDE plot program that also runs on Linux. We provided a .kst file for plotting the workshop data. See the Kst download page.

Testing Your Setup

In case you completed building and installing RTT and OCL, you can launch a cygwin or cmd.exe prompt and run the orocreate-pkg script to create a new package, which is in your c:\orocos\bin directory. Make sure that your PATH variable is propertly extended with
set PATH=%PATH%;c:\orocos\bin;c:\orocos\lib;c:\orocos\lib\orocos\win32;c:\orocos\lib\orocos\win32\plugins
(replace c:\orocos with the actual installation path, which might also be c:\Program Files\orocos)

You repeat the classical CMake steps with this package, generate the Solution file and build and install it. Then start up the deployer with the deployer-win32.exe program and type 'ls'. It should start and show meaningful information. If you see strange characters in the output, you need to turn of the colors with the '.nocolors' command at the Deployer's prompt.

euRobotics Workshop Material

The euRobotics Forum workshop on Orocos has been a great success. About 30 people attended and participated in the hands-on workshop. The Real-Time & Open Source in Robotics track drew more than 60 people. Both tracks were overbooked.

You can find all presentation material in PDF form below

euRobotics Workshop Sources

There are two ways you can get the sources for the workshop:

  • Using Git
  • Using a zip file

Since the sources are still evolving, it might be necessary to update your version before the workshop.

Hello World application

The first, ROS-independent part, uses the classical hello-world examples from the rtt-exercises package.

You can either check it out with

mkdir ~/ros
cd ~/ros
git clone git://gitorious.org/orocos-toolchain/rtt_examples
cd rtt_examples/rtt-exercises

Or you can download the examples from here. You need at least version 2.3.1 of the exercises.

If you're not using ROS, you can download/unzip it in another directory than ~/ros.

Youbot demo application

The hands-on session involves working on a demo application with a YouBot robot. The application allows you to

  • Drive the YouBot around based on pose estimates using laser scan measurements
  • Simulate the YouBot on your own computer

The Youbot demo application is available on https://github.com/bellenss/euRobotics_orocos_ws (this is still work in progress and will be updated regularly)

You can either check it out with

mkdir ~/ros
export ROS_PACKAGE_PATH=\$ROS_PACKAGE_PATH:$HOME/ros
cd ~/ros
git clone http://robotics.ccny.cuny.edu/git/ccny-ros-pkg/scan_tools.git
git clone http://git.mech.kuleuven.be/robotics/orocos_bayesian_filtering.git
git clone http://git.mech.kuleuven.be/robotics/orocos_kinematics_dynamics.git
git clone git://github.com/bellenss/euRobotics_orocos_ws.git
roscd youbot_supervisor
rosmake --rosdep-install

Check that ~/ros is in your ROS_PACKAGE_PATH environment variable at all times, by also adding the export line above to your .bashrc file.

Testing your setup

Here are some instructions to see if you're running a system usable for the workshop.

Non-ROS users

You have built RTT with the 'autoproj' tool. This tool generated an 'env.sh' file. You need to source that file in each terminal where you want to build or run an Orocos application:

cd orocos-toolchain
source env.sh

Next, cd to the rtt-exercises directory that you unpacked, enter hello-1-task-execution, and type make:

cd rtt-exercises-2.3.0/hello-1-task-execution
make all
cd build
./HelloWorld-gnulinux

ROS users

You have built RTT from the orocos_toolchain_ros package. Make sure that you source the /opt/ros/diamondback/setup.bash script and that the unpacked exercises are under a directory of the ROS_PACKAGE_PATH:

cd rtt-exercises-2.3.0
source /opt/ros/diamondback/setup.bash
export ROS_PACKAGE_PATH=\$ROS_PACKAGE_PATH:\$(pwd)

Next, you proceed with going into an example directory and type make:

cd hello-1-task-execution
make all
./HelloWorld-gnulinux

Testing the YouBot Demo

After you have built the youbot_supervisor, you can test the demo by opening two consoles and do in them:

First console:

roscd youbot_supervisor
./simulation.sh

Second console:

roscd youbot_supervisor
./changePathKst (you only have to do this once after installation)
kst plotSimulation.kst

If you do not have 'kst', install it with  sudo apt-get install kst kst-plugins