mo 102 – introduction à matlab projet robotique › ~filliat › courses › polys ›...
TRANSCRIPT
-
1/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Projet robotique Filtre de Kalman Cartographie et localisation simultanées
MO 102 – Introduction à Matlab
David Filliat [email protected]
-
2/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Construire une carte d’un environnement inconnu
– Permet au robot d’estimer sa position (sans GPS)
– Fournit une information haut niveau
→ comportement planifié – Permet à un utilisateur de
connaître l’environnement
« Carte d’amers »
Introduction
-
3/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Navigation basée sur une carte
Cartographie – Construction de la carte
Localisation – Estimer la position du robot dans une carte connue
Planification – Calculer un chemin de la position courante jusqu’au but
Cartographie Localisation
Planification
Robot autonome : Simultaneous Localization and Mapping (SLAM )
-
4/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Informations disponibles
2 types d’informations aux propriétés complémentaires – Informations internes : informations proprioceptives (ou
idiothétiques), renseignent sur les déplacements • Ex : Odométrie, inertie • Erreur cumulative (processus d’intégration) • Inutilisable à long terme • Référence simple à utiliser, peu dépendante de la position
– Informations externes : informations extéroceptives (ou allothétiques, perceptions), renseignent sur la position
• Ex : Capteurs de contact, télémètre, caméra • Erreur non cumulative, mais :
– Perceptual aliasing – Variabilité perceptuelle
• Difficilement utilisables seules è Fusion des informations
-
5/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
6/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
7/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
8/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Rappel de probabilité
Loi gaussienne
è Représentée et manipulée par sa moyenne et variance
-
9/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
On cherche à estimer la position du robot et la carte à partir de leur évolution et de mesures : Filtrage de Kalman
Etat : position du robot + carte (position des amers) Evolution : déplacement du robot Perception : position relative robot-amers Incertitude (gaussienne) sur l’estimation : matrice de covariance P
Filtrage de Kalman
-
10/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
4 étapes : 1 Prédiction de l’état :
Par ex u = mesure de l’odométrie
2 Observation sur le système réel : Y
3 Prédiction de l’observation pour l’état prédit : mesure de la position relative Robot – Amers
4 Correction de la prédiction : Avec le gain :
Filtrage de Kalman – Amers complets
-
11/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Correction illustrée en dimension 1 :
Filtrage de Kalman
-
12/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM complet - Illustration
-
13/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Gestion des amers
Traitement des amers : – Pour tout amer perçu :
• S’il est dans la carte : utilisation du filtre pour estimer sa position et celle du robot en fonction des covariances
• Si il n’est pas dans la carte : ajout au vecteur d’état et à la matrice de covariance
– Pour savoir s’il est dans la carte : • Perception d’amers uniques • En cas d’incertitude (Perceptual aliasing):
Choix de l’observation la plus proche de la prédiction – en distance euclidienne – ou en distance de mahalanobis (pondération par l’incertitude)
-
14/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
6 étapes : 1 Prédiction de l’état : 2 Observation sur le système réel : Y 3 Détermination des amers connus Yknown et des amers nouveaux Ynew 4 Prédiction de l’observation pour les amers connus et l’état prédit :
5 Correction de la prédiction : 6 Augmentation de la carte
et des matrices A,B,Pt
Filtrage de Kalman – Amers partiels
Yknown* = HknownX
*
X̂t = Xt* +K(Yknown −Yknown
* )Pt = Pt
* −KHknownP*
X̂t ⇐ X̂t ⊕Ynew
-
15/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
16/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
17/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM – Illustration
-
18/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
Pour les problèmes non linéaires (cas de la localisation en robotique) – Filtre de Kalman étendu
Pour aller plus loin
-
19/19 MO102 Matlab – Projet Robotique David FILLIAT - [email protected]
SLAM 3D
Application en vision
Andrew Davison : http://www.doc.ic.ac.uk/~ajd/Movies/kitchen.mp4.avi