Robotics class, Fall 2015

Instructor: Nicolas Mansard


  • Familiarity with mathematical proofs, linear algebra
  • Ability to implement algorithmic ideas in code.

Objectives of the class

  • Understand state-of-the-art robotic algorithms and models.
  • Apply fundamental algorithms in applicative contexts. Methods and models are heavily based on linear algebra and numerical optimization. The robotics class is also a practical introduction to the application of these fundamental fields in realistic situations.
  • Implement and experiment with these methods in simulation.
  • Connect with a research lab. The class will be the opportunity to meet recent research idea, through video, research papers, and short presentations of PhD students and post-docs of my team.

We will not study hardware design of robots.

Books and support

My own textbook is yet a draft

Parts of the class are inspired from the following books:

  • Featherstone 2009: rigid body dynamics
  • Nocedal, Wright 2006: optimization
  • Liberzon 2012: optimal control
  • Muray, Li, Sastry 1990: fundamentals of robotics
  • Siciliano et al. 2010: generic robotics

Copy of the slides (class 5-min trailers)

Experimental materials: simulator and exercises


Every week, a new tutorial will be posted here.

Class 1: Build your robot model.

Class 2: Grasp an object.

Class 3: Static walk.

Class 4: Dynamic walk.

Installation using VirtualBox

The tutorial is performed inside a virtual machine, under VirtualBox. VirtualBox is a free software, available on most platforms (Linux, Windows, MacOS). The virtual machine runs a Ubuntu 12.04 64bits, with our software installed on it.

  • Install VirtualBox for your computer from here.
  • Download the virtual image. The image about 2,8Gb: expect from 10 minutes to 1 hour of downloading time, depending on the bandwidth from your network to our lab. Download here.
  • Import the virtual image in VirtualBox, using the procedure described here.
  • Start the virtual machine. The system auto log on the main user (ID student, password student). This user owns sudoer privilege.
  • [optional] A complete tutorial about VirtualBox, along with an explaination of what is virtualization, is available here
  • [optinal] A Md5 checksum for each image is available here. This file can be used that the .ova file has been properly downloaded. Under Linux, check by first downloading both files .ova and .md5 in the same directory and then typing md5sum -c robotics2015_1204x32.md5.

Installation on the native system

You can alternatively install the software on a native Linux. The instructions for Ubuntu 12.04 (32 or 64bits) are available on the IO homepage of the Pinocchio project. The requested version of OpenSceneGraph (OSG) is temporarily unavailable. Find a mirror image here.

The installation procedure will also work for Ubuntu 14.04, with minor modifications (in particular, URDF-dom and the two related packages are now available on APT: sudo apt-get install liburdfdom-dev).