mo 102 – introduction à matlab projet robotique › ~filliat › courses › polys ›...

19
Projet robotique Filtre de Kalman Cartographie et localisation simultanées MO 102 – Introduction à Matlab David Filliat [email protected]

Upload: others

Post on 04-Feb-2021

6 views

Category:

Documents


0 download

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