This module is a three-days summer school
that will take place June 3-4-5 during in Bordeaux.
During this school, you will have several speakers and some practices.
This page is related to interval analysis part and the practice.
For the practice, you need your own computer. If you cannot, please, let us know and we will find a solution.
Before arriving to the school, please, install Python, PyIbex, Vibes.
The procedure is described in Exercise 0. The install should be easy but in case of problems, we will be here to help you,
now (lucjaulin@gmail.com) or later in Bordeaux.
In this school, you will also have some exercises to do.
They will be taken from Exercises 8,9,10,11 in this pdf file.
Programme
Concernant la partie 'calcul par intervalles', le programme est le suivant :
Mardi 4 juin 14h-18h (Luc Jaulin)
- Problèmes de satisfaction de contraintes numériques et résolution de problèmes non linéaires. (Luc Jaulin)
- Approches satisfaction de contrainte pour la vérification et synthèse
Mercredi 5 juin 8h-12h (Julien Damer)
- Travaux pratiques sur l’outil PyIbex
- Les travaux pratiques consisteront à la résolution d’exercices en utilisant l’outil logiciel PyIbex, en langage Python.
Aucune connaissance préalable de Python n’est requise.
- Les exercices portent sur la programmation de contracteurs et séparateurs sous PyIbex, et leur application pour la vérification et synthèse de CPS.
In the last version of PyIbex (2017), few things have changed in the Python
code and the code written in the videos is not always exactly consistent with the latest version of
PyIbex. Below are listed the changes. from pyIbex import * should be replaced by from pyibex import * SepQInterProjF should be replaced by SepQInter
Moreover, to start Vibes from your terminal, write
Vibes-viewer instead of vibes.
Some other modifications are described in the PyIbex documentation. (in magenta)
Install
You need Python 3, PyIbex and Vibes for graphics.
For the install of PyIbex and Vibes, see:
A video to help you for the install is available for Windows:
and also for Linux Ubuntu:
.
For Linux Ubuntu, you can also open a terminal and type the following lines:
1) Install spyder 3:
sudo apt-get install spyder3.
2) Install pip :
sudo apt-get install python3-pip.
3) Install pyibex:
sudo python3 -m pip install pyibex.
4) Install vibes:
sudo python3 -m pip install vibes.
5) Download Vibes (i.e., the binary file VIBes-0.2.3-linux.AppImage) at
https://github.com/ENSTABretagneRobotics/VIBES/releases/tag/0.2.3
6) Make
VIBes-0.2.3-linux.AppImage
executable (Right click on the icone + permissions).
Click on the icone of Vibes. You will see a small window with nothing inside, waiting for drawing orders.
7) Start Spyder and test the example given at
http://benensta.github.io/pyIbex/
Exercises
Exercise 1. Contractors and separators
This corresponds to Exercice 8 which can be found here:
A separator is a pair of two contractors: an inner contractor and an outer contractor.
This exercise illustrates how Pybex (which is a Python extension of Ibex) can be used to
build easily separators for sets defined as union, intersection and complements of primitive sets.
You can use the second part of the following video in case of problems.
Exercise 2. Parameter estimation
This corresponds to Exercice 9 which can be found here:
Bounded error estimation problems can now be solved very easily and efficiently with the help of PyIbex.
Exercise 3. Localization of a robot from landmarks using range and bearing measurements
This corresponds to Exercice 10 which can be found here:
This exercise shows an important application which can be solved efficiently with interval analysis.
Without any linearization, we show that it is possible to localize a robot in a guaranteed manner.
Exercise 4. Simultaneous Localization And Mapping (SLAM)
This corresponds to Exercice 11 which can be found here:
In a SLAM problem, many variables are involved with nonlinear constraints. This
problem is considered as difficult. We show here that it it possible
to solve it easily and in a reliable way using intervals.