IROS 2011 Tutorial: Motion Planning for Real Robots

IROS 2011 Tutorial: Motion Planning for Real Robots

Download the tutorial document

Jump to preparation instructions for tutorial

Format: Full day tutorial

Date: Sunday, September 25, 2011


If you are interested in attending this tutorial, please provide us some more information about you using this form. Filling this form will help us plan the tutorial better. Please note that you will still have to register separately on the conference website for this tutorial when you register for the conference itself.


This full-day tutorial will teach both novice and experienced participants how to setup, configure and use motion planning on a real robot. Novice users can expect to learn how to set up, configure and execute the perceptual, kinematic, planning and execution components required for motion planning on an advanced multiple degree of freedom robot. Expert users will be able to explore the motion planners in more details, focusing on how they can be reconfigured for particular tasks. The tutorial will be based on a set of tools within the OMPL (Open Motion Planning Library) and ROS (Robot Operating System) software. The participants will have access to simulated environments and real robots (the Willow Garage PR2 robots) for a hands-on experience in using motion planning with real robots. The tutorial will conclude with an examination of case studies based on suggestions from the participants and organizers, highlighting how the motion planners can be configured for particular robots or motion planning scenarios.


Sachin Chitta and E. Gil Jones, Willow Garage, Inc. Ioan Sucan, Mark Moll, and Lydia E. Kavraki, Rice University

Tentative schedule

08:30–09:00 Overview and Introduction
09:00–09:30 Background on concepts in sampling-based motion planning [SLIDES]
09:30–10:15 OMPL and [SLIDES]
10:15–10:45 Coffee break
10:45–11:30 Introduction to ROS and connection to OMPL [SLIDES]
11:30–12:00 Overview of the simulation environment [SLIDES]
12:00-12:10 Live demo
12:10-13:30 Lunch
13:30–15:00 Hands-on programming, part I
15:00–15:30 Coffee break
15:30–17:00 Hands-on programming, part II

Extra slides from Sachin Chitta on calibration, perception, and execution.

Motivation and objectives

Motion planning is easy to understand, yet state-of-the-art algorithms to solve motion planning problems in a general fashion can be hard to implement. Furthermore, integrating motion planning algorithms in a bigger software system targeted at specific robots is also challenging. The OMPL library implements many sampling-based algorithms and makes it easy to integrate with larger software systems and tailor to specific systems. ROS provides a very rich software infrastructure with perception, kinematics and execution components that can be integrated with planning to create a complete motion planning and execution pipeline. The tutorial aims to provide a high-level description of the motion planning algorithms in OMPL coupled with implementation level details on configuring motion planners on real robots. The tutorial will provide plenty of opportunity for participants to get hands-on experience with solving motion planning problems in real-world environments, both in simulation and on the robot using real sensor data. After the tutorial participants should be able to:

  • write code to define a configuration space and the control space (if applicable) for a robotic system of interest
  • define motion planning queries and solve them with a planning algorithm
  • visualize the results
  • use the sensor data and environment models that accessible through various ROS interfaces for motion planning
  • solve and execute motion planning queries for the PR2 hardware platform.

The skills obtained in this tutorial are easily transferrable to the rapidly growing list of other robots on which ROS can run (see

Primary/secondary audience

We are primarily targeting participants who would like to learn to implement motion planners on real robots using realtime sensing. Some familiarity with ROS is desired but not essential. This will be a hands-on tutorial, so programming experience in C++/Python is desired. A secondary audience is researchers in motion planning who would like to build on the tools and components available in OMPL and ROS to create more advanced motion planners. This tutorial will also be of interest to educators wanting to use a stable, well-featured software tool for teaching motion planning.

Preparation for the Tutorial

If you are planning on bringing a laptop with Ubuntu to our tutorial it would really help us out if you could do a couple things while you are all connected to your fast home/school/work internet connections. If you aren’t bringing a laptop or don’t have access to a fast connection we will have some internet access at the tutorial site but it may take you a while to get up-to-date, giving you less time to learn about motion planning. We will have several workstations available but we’re expecting a bunch of folks and you will maximize your hands-on time by bringing a pre-installed laptop.

  • First, get up-to-date debians for electric from Even if you have recently installed electric there are new packages for arm-navigation as of this morning and you definitely want the latest and greatest bug fixes. If you haven’t installed electric at all then follow the instructions here: The meta-package you should install and/or update for the tutorial is ros-electric-pr2-desktop - this will give you everything you need for the tutorial and to interface to the PR2s we’ll have at the tutorial. Once you’ve got things setup these two commands should do the trick:

    sudo apt-get update
    sudo apt-get install ros-electric-pr2-desktop
  • Next, download the tutorial repository - we’ve been building up some resources that will make the practical portion of the tutorial more interesting. You can download the repo using this command:

    svn co iros_tutorial_resources
  • Finally, if you want to make absolutely sure you can hit the ground running during the tutorial try the following commands:

    # assuming you are running bash
    source /opt/ros/electric/setup.bash
    roslaunch planning_environment planning_description_configuration_wizard.launch urdf_package:=planning_models urdf_path:=test_urdf/robot.xml

    You should get two windows - a Qt application showing a cool Turtle wizard with a bionic arm and a rviz window showing the PR2. If you get both of these windows you can have confidence that you are ready for a productive day Sunday!

Everyone travel safely and we’re excited to meet you. If you have questions you are welcome to contact E. Gil Jones (gjones/AT/ or Mark Moll (mmoll/AT/