Tubex Tutorial: constraint programming for mobile robotics

There are several ways to deal with state estimation in mobile robotics. The constraint programming approach consists in defining a problem as a set of rules and letting a solver perform the estimation. For mobile robotics, rules are constraints coming from state equations or uncertainties from the measurements.

Efforts have been done to propose operators and solvers to apply these constraints. The goal of this tutorial is to learn how to use them and understand the efficiency of the approach on realistic robotic applications. We will see that some problems that are difficult to solve with conventional methods (Kalman filters, particle approaches) can be easily dealt with by constraint programming. This is for instance the case of poor observation measurements, time uncertainties, delays, or when the initial conditions of the system are not known.

The tutorial will stand on the Tubex library, that provides tools for computations over sets of trajectories. It has been designed to deal with dynamical systems defined by non-linear differential equations and involving constraints such as trajectory evaluations, time uncertainties or delays. These computations stand on interval analysis, a well suited tool that reliably propagates uncertainties.

Organizers: Simon Rohou, Luc Jaulin, Benoît Desrochers, Raphael Voges
See the tutorial proposal


  1. 1. Static localization
    [2cr] Mer 11/03, 13h30-15h25
    In this lesson, we will perform the state estimation of a static robot between some landmarks. This will be an introduction to intervals, constraints and networks of contractors.
    Download the slides
    Download the exercises
    How to install Tubex?

  2. 2. State estimation by solving data association
    [2cr] Ven 20/03, 08h10-10h05
    The second lesson will extend the previous exercise by dealing with a data association problem together with localization: the landmarks perceived by the robot are now indistinguishable. The goal of this exercise is to develop our own contractor in order to solve the problem.
    Download the exercises
    Download the sources of the exercises
    Download the sources of the exercises (last Section)

    Éléments pour cours à distance :
    Suivi en ligne (tableur) de progression
    Page du cours sur Moodle
    Chat de discussion
    Forum d'échanges