LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB

La page est créée Jean-Michel Roussel
 
CONTINUER À LIRE
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
Localisation et navigation
                      de robots
                        UFR des Sciences, Département EEA

                            M2 EEAII, parcours ViRob

Semestre 9, 2014/2015

                                  Fabio MORBIDI
                                     Laboratoire MIS
                             Équipe Perception et Robotique
                           E-mail: fabio.morbidi@u-picardie.fr

                             Jeudi, salle TP102, 14.00-17.00h
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
2

Évolution du cours au fil du temps

                                Localisation et navigation
                                des robots (ViRob)

 Localisation, navigation
 et asservissement

      2011-2012                 • Vision avancée (ViRob)
      2012-2013
                                • Asservissement visuel (Opt.)

                                         2014-2015
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
3

Perspective d’ensemble

       Perception                    Décision

            Environnement

                            Action

 “See-Think-Act”
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
4

Exemple …

 Perception: Il y a un mur en face!

 Décision: Tourne à gauche

 Action: Régle la vitesse des roues, ex.

               ωG (t) = 0.5 rad/s, ωD (t) = 0.1 rad/s, t ∈ [ta , tb ]
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
5

Deux questions cruciales …

                                          Où suis-je?

  ?
                                   Localisation!

                                Comment aller de A à B?
                         B
              ?
                                     Navigation!
  A
                             et aussi …
                             • Comment détecter B?
                             • Comment éviter les obstacles?
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
6

Plan du cours
     Chapitre 1: Localisation

          1.1 Introduction et défis

          1.2 Odométrie

          1.3 Filtrage et fusion de capteurs

          1.4 Autres techniques de localisation

     Chapitre 2: Navigation

          2.1 Stratégies de navigation

          2.2 Architectures de contrôle

          2.3 Navigation vers un but

          2.4 Evitement d’obstacles
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
7

Bibliographie

   • Introduction to Autonomous Mobile Robots
    R. Siegwart, I.R. Nourbakhsh, D. Scaramuzza, MIT press,
   2ème éd., 2011 (Chapitres 4, 5 et 6)

   • Principles of Robot Motion: Theory, Algorithms,
   and Implementations
   H. Choset, K.M. Lynch, S. Hutchinson, G.A. Kantor,
   W. Burgard, L.E. Kavraki, S. Thrun, MIT press, 2005

   • Robotics: Modelling, Planning and Control
   B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Springer, 1er éd.,
   2009 (Chapitres 4, 12)

   • Estimation with Applications to Tracking and Navigation:
   Theory Algorithms and Software
   Y. Bar-Shalom, X.R. Li, T. Kirubarajan, John Wiley & Sons, 2001
   (Chapitres 5, 6 et 12)

 Diapos du cours: http://home.mis.u-picardie.fr/~fabio/Teaching.html
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
8

Avant de commencer …

Je suppose que vous avez une bonne connaissance:

    • Algèbre linéaire (vecteurs, matrices, valeurs et vecteurs propres, etc.)

    • Calcul multidimensionnel (gradients, matrice jacobienne, etc.)

    • Théorie des probabilités, variables et processus aléatoires

    • Théorie de l’estimation (ex. filtre de Kalman)

    • Notions de base de robotique

… à réviser dans les prochaines jours !!!

    Note finale: 50% CC , 50% TP
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
Localisation et navigation
                     de robots
                 UFR des Sciences, Département EEA

                     M2 EEAII, parcours ViRob

     Chapitre 1 : Localisation

F. Morbidi                 2014/2015
LOCALISATION ET NAVIGATION DE ROBOTS - UFR DES SCIENCES, DÉPARTEMENT EEA M2 EEAII, PARCOURS VIROB
10

Plan du chapitre
• Introduction et défis               Partie 1

• Odométrie                           Partie 2

• Filtrage et fusion de capteurs      Partie 3

• Autres techniques de localisation   Partie 4
11

Partie 1 : Introduction et défis
12

Introduction
 • Localiser: “Déterminer la place de quelque chose,
   l'endroit où se situe quelque chose” (Dict. La Rousse)

     Vous êtes ici
13

Introduction
Hypothèse: nous avons une carte de l’environnement

                                                     Facile

             Difficile
14

Introduction

• Robotique manipulatrice
  ▫ Robots sériels :
    où est l’effecteur ?

    Robot « fixe »

    L’intégration et/ou la combinaison des angles articulaires
     permet(tent) de déduire la pose 3D de l’effecteur
      Connaissance des longueurs des axes
      Plus un problème de calibrage que de localisation
15

Introduction
• Robotique manipulatrice
  ▫ Robots parallèles :
    où est l’effecteur?

    Plus complexe que sériel
      Grande dynamique
      Plusieurs bases pour un même effecteur
      Mais zone/volume de mouvement limité
       et facilement identifiable
16

Introduction
• Robotique mobile
 ▫ Environnement ouvert
 ▫ Pas de lien fixe avec
   l’environnement
 ▫ Pas de mesures directes
   de la pose (x, y, θ)
 ▫ Zone de mouvement
   « sans limite »

         Video ETHZ
17

Introduction
 • Objectif : la navigation
   ▫ A grande échelle : besoin de localisation
   ▫ Compétence importante et difficile d’un robot mobile
   ▫ Pour le succès de la navigation:
      Perception: le robot doit interpréter ses capteurs pour
       extraire des données pertinentes

      Localisation: le robot doit déterminer sa position dans
       l’environnement

      Décision: le robot doit décider de comment agir pour
       atteindre son but

      Commande du mouvement: le robot doit actionner
       ses moteurs pour réaliser la trajectoire désirée
18

Introduction
 • Localisation: il a reçu la plus grande attention de la recherche au
   cours de la dernière décennie
19

             Où intervient la localisation ?
                 Connaissance,                                   Mission,
                base de données                                commandes

                  Localisation           « position »           Cognition,
              Construction de carte      carte globale     planif. de trajectoire

             modèle d’environnement,
                                                                trajectoire
                   carte locale

                                                                                     contrôle de mouvement
                    Extraction
                                                               Réalisation
                 d’information et
                                                               de chemin
perception

                  interprétation

                 données brutes                          commande d’actionneurs
                                       environnement,
                   Perception            monde réel               Action
20

Introduction
• Schéma général de localisation d’un robot mobile

                                   position          mise à jour de
                                                        position
                                                     (estimation ?)
                  prédiction de
  Encoder            position                                observations
                 (ex. odométrie)                             appariées
                                                       OK
                           position prédite
   base de                                            appariement
données, carte
                              données brutes des capteurs
                                   ou primitives extraites

                                                                      perception
                                                       observation
21

Les défis de la localisation
• Principalement
 ▫ Le bruit
    Perception (capteurs)
    Action (actionneurs)

 ▫ L’aliasing
    Perception: l’aliasing perceptuel définit le
     fait que deux lieux distincts peuvent avoir
     la même apparence
22

Les défis de la localisation
                                                                                       GPS!

• Intuitivement
   ▫ « GPS » précis : solution ultime pour la localisation
        Informe le robot de sa position exacte
        Intérieur et extérieur
        Réponse immédiate à la question « où suis-je ? »
   ▫ Mais… un tel capteur n’existe pas !
        GPS précis à quelques mètres
        Inadapté pour des environnements à taille humaine
         et encore moins pour les micro- et nano-robots
        GPS ne peut pas fonctionner à l’intérieur ou dans
         environnement encombré (canyons urbains et gratte-ciel)
GPS = Global Positioning System (constellation de 24 satellites orbitant à 20000 km)
23

Les défis de la localisation
• Au delà des limitations du GPS
 ▫ Localisation est plus que la connaissance
   de position absolue

 Exemple : robot interactif
    Éventuellement besoin d’une position absolue
    Position relative aux humains aussi importante
    Sa tâche de localisation doit inclure:
      Perception (multi-capteurs) pour identifier les humains
      Calcul de sa position relative aux humains
24

Les défis de la localisation
   Atteindre un lieu particulier demande plus
    qu’une « simple » localisation
     Étape de décision
     Sélection de stratégie pour atteindre des buts
   Besoin d’acquérir ou de créer un modèle de son
    environnement : une carte (ex. SLAM)
     Aide le robot dans sa planification de trajectoire

  • En résumé, la localisation c’est plutôt
    ▫ Construire une carte de l’environnement
    ▫ Identifier la position du robot relativement à la carte
25

Les défis de la localisation
 • Éléments cruciaux de cette localisation
  ▫ Les capteurs du robot
  ▫ Ses actionneurs

 • Les capteurs et actionneurs sont inexactes
   et incomplets
     Une mesure parfaite n’existe pas
     Tout l’environnement ne peut être mesuré d’un coup
26

Le bruit des capteurs
• Perception
 ▫ Capteurs : fondamentaux
 ▫ Leur degré de discrimination de l’environnement
   est donc critique
• Le bruit des capteurs
 ▫ Inconsistance de mesures dans un même
   environnement
 ▫ Source:
    Primitives de l’environnement non perçues
    Négligence de ces primitives
27

Le bruit des capteurs

• Exemple 1
 ▫ Système de vision pour localisation à l’intérieur
      Utilisation des couleurs détectées par caméra CCD
      Soleil caché : illumination différente (fenêtres)
      Valeurs de teinte non constantes
      Couleurs CCD « bruitée » pour le robot
      Teinte inutilisable sauf si …
        Connaissance de la position du soleil
        Connaissance des nuages
    Autres : flou (mise au point, bougé), gain du signal, etc.
28

Le bruit des capteurs

• Exemple 2                                                           émetteur
 ▫ Sonar : télémètre à ultrasons                             récepteur
    Rapport signal sur bruit très pauvre
    Ultrasons émis vers une surface lisse, mal orientée
      Signal non reflété vers le capteur
      Pas d’écho de retour
      Une petite quantité d’énergie peut revenir malgré tout
        ▫ Si le seuil sur l’amplitude d’énergie reçue en est proche
          ▫ parfois le sonar permettra de détecter l’objet
          ▫ parfois non…
        ▫ Par conséquent :
  ▫ Pour le robot, un environnement inchangé peut donner deux
  lectures différentes pour un sonar : un long, un court!
29

Le bruit des capteurs
  ▫ Plusieurs sonars
     Interférences
        de l’environnement
        entre émetteurs d’ultrasons
     Sur les robots mobiles, en général
        Entre 12 et 48 sonars sur une même plateforme
        Dans certains environnements
          ▫ Interférences « multi-chemins » en émissions sonars
          ▫ Un signal émis par un sonar est reçu par un autre…
        Peut engendrer d’importantes erreurs de mesures (sous-
         estimation): ils se produisent rarement, moins de 1% du temps

  En résumé …
  • Le bruit de perception réduit l’information utile des mesures d’un capteur
  • La solution est de prendre en compte plusieurs mesures,
  en les fusionnant au cours du temps ou avec d’autres capteurs afin
  d’améliorer globalement l’information perceptuelle du robot
30

L’aliasing perceptuel
• Second inconvénient des capteurs
  ▫ Le contenu informationnel des mesures peut être très faible
  ▫ Exacerbe les problèmes de perception et de localisation
  ▫ Problème peu intuitif pour les humains
     On ne rencontre que rarement ce phénomène
     La perception humaine, particulièrement la vision, tend à
      percevoir des informations uniques dans chaque état local unique
     Chaque lieu différent semble différent
     Mais pas facile:
       Se déplacer dans un bâtiment inconnu
        qui est complètement sombre
       Se déplacer dans un labyrinthe
        à taille humaine (pas unicité visuelle)
31

L’aliasing perceptuel
• En robotique
 ▫ L’aliasing est la norme et non l’exception !
 ▫ Exemple : sonars ou proximètres IR
    Champ de perception étroit
    Information de profondeur dans une seule direction
    Pas d’info comme couleur, texture, rigidité de surface …
    Même avec plusieurs de ces capteurs, plusieurs états
     dans l’environnement donnent les mêmes mesures
    Formellement :
                                      Env. 1
       Il y a une association N à 1
       des états de l’environnement   Env. 2
       vers la perception du robot

                                      Env. N
32

L’aliasing perceptuel
 Exemple de situation concrète
   Distinguer les humains des objets
   Le robot détecte un obstacle face à lui
   ▫ Doit-il dire « excusez-moi » car l’obstacle peut être un
     humain en mouvement ?
   ▫ Ou le robot doit-il planifier un chemin autour de l’objet
     car ce peut être un carton ?
   Pour le(s) sonar(s) seul(s), ces
    deux états souffrent d’aliasing
    et leur discrimination est impossible!

                                           humain
                                           ou objet?
33

L’aliasing perceptuel

• L’aliasing perceptuel pose le problème suivant
 ▫ Supposons des capteurs non bruités

La quantité d’information est trop faible pour identifier
la position du robot à partir d’un seul percept

 ▫ « Solution »
    Localisation basée capteurs et mesures multiples
34

Le bruit d’actionnement
• Les difficultés de la localisation ne reposent
  pas uniquement sur les capteurs

• Les actionneurs sont aussi bruités
 ▫ À cause de la perception ou non
 ▫ Une même action ordonnée par le robot peut
   engendrer différentes réalisations …
 ▫ … même si du point de vue du robot, l’état initial
   avec l’action est parfaitement connu
35

Le bruit d’actionnement

• Les actionneurs de robot mobile induisent une
  incertitude sur l’état futur

• Pour un robot, se déplacer accroît son incertitude

• La couche décisionnelle peut minimiser cet effet
 ▫ Planification et/ou interprétation adaptée
 ▫ Retour des capteurs dans la boucle de commande
36

Le bruit d’actionnement

• Nature du bruit en robotique mobile
 ▫ Du point de vue du robot
    Impossibilité d’estimer sa propre position à partir de
     la connaissance de sa cinématique et de sa dynamique
 ▫ Vrai source d’erreur
    Modèle incomplet de l’environnement
      Type de surface non modélisé (rigidité, glissement …)
      Événements non envisagés (un humain pousse le robot)
37

Le bruit d’actionnement
• Exemple : l’odométrie
   ▫ Capteurs sur les roues seuls
   ▫ Éventuellement couplée à un gyroscope/compas
     («dead reckoning»)
   ▫ Position basée capteurs proprioceptifs
   ▫ Mouvement intégré pour déduire la position
        Intégration des erreurs de mesure
        Accumulation d’erreur en position au cours du temps
   ▫ Besoin d’une autre localisation de temps en temps
        Autre mécanisme de localisation
        Sinon, la position estimée n’a vite plus de sens
L’odométrie est une technique permettant d'estimer la position d'un véhicule en mouvement. Le terme vient du grec
hodos ("voyage") et metron ("mesure")
38

Le bruit d’actionnement

• Odométrie pure d’un robot différentiel
• Sources d’erreurs (environnement  résolution):
 ▫ Résolution limitée pendant l’intégration (incréments
   de temps, résolution de mesure, etc.)
 ▫ Mauvais alignement des roues (déterministe)
 ▫ Incertitude sur le diamètre de la roue et/ou diamètre
   non constant (déterministe)
 ▫ Variation du point de contact de la roue
 ▫ Contact variable avec le sol
   (glisse, bosse, sol mou, déformation)
39

L'expérience du chemin carré unidirectionnelle

                   [Borenstein 1996]
40

Le bruit d’actionnement

 ▫ Types de sources d’erreurs

   Déterministes (systématiques)
     Résolues par calibrage du système

   Non-déterministes (aléatoires)
     Erreurs résiduelles
     Mènent à des incertitudes de position au fur et à mesure
41

Le bruit d’actionnement

• Types géométriques d’erreurs (robot différentiel)
 ▫ Erreur en distance
    Longueur du chemin intégré
    Somme des mouvements de roue
 ▫ Erreur en virage
    Similaire à l’erreur en distance
    Différence des mouvement de roue
 ▫ Erreur de dérive (drift)
    Une différence d’erreurs entre les roues mène à une
     erreur d’orientation angulaire du robot
42

Le bruit d’actionnement
• Sur de longues périodes
 ▫ Erreurs de virage et dérive plus importantes des
   erreurs en distance
    Contribution non-linéaire à l’erreur de position
 ▫ Soit un robot de position initiale connue (x0, y0, θ0)
    Il se déplace en ligne droite selon l’axe x
    Erreur en y pour un mouvement de d mètres : dsin(Δθ)
      Devient très importante à mesure que l’erreur
       angulaire Δθ croît
    Au cours du temps, l’erreur d’orientation par rapport
     au repère d’origine croît rapidement et donc, la position
     estimée aussi
    Il faut alors alors établir un modèle d’erreur pour l’exactitude
    odométrique et propager ces erreurs au cours du temps
43

Plan du chapitre
• Introduction et défis               Partie 1

• Odométrie                           Partie 2

• Filtrage et fusion de capteurs      Partie 3

• Autres techniques de localisation   Partie 4
44

Partie 2 : Odométrie
45

Notation

    a, λ, M          scalaires

     u ∈ Rn          vecteur colonne de dimension    n

     A ∈ Rn×n        matrice avec n lignes et   n colonnes

    In ∈ Rn×n        matrice identité n × n

0n×m ∈ Rn×m          matrice de zéros n × m
                                                    
                                a1   0    ···       0
                              0     a2   ···       0
                                                     
diag(a1 , a2 , . . . , an ) = 
                                         ..           matrice diagonale n × n
                                                      
                              0     0       .      0
                                0    0    ···      an
46

Modèle d’erreur pour l’exactitude odométrique
• Généralement la pose (position + orientation) d’un robot
  mobile est répresentée par le vecteur:

                         p = [x, y, θ]T
• Pour un robot de type unicycle, la position est estimée en
  partant d’une position connue en intégrant le mouvement
  (somme des incréments des distances parcourues)

                   v
                              Trajectoire
   y                θ          du robot
        ω

 Rm         x
47

Modèle d’erreur pour l’exactitude odométrique
 • Dans un système discret avec une période d’échantillonnage
   fixée les incréments de distances parcourues sont:

      ∆x = ∆s cos(θ + ∆θ/2)

      ∆y = ∆s sin(θ + ∆θ/2)
           ∆sd − ∆sg                                                      t+1
      ∆θ =
               L
                                                L
           ∆sd + ∆sg
      ∆s =                                             t
               2

(∆x, ∆ y, ∆ θ)   Chemin parcouru pendant le dernier intervalle de temps

    ∆sd , ∆sg    Distances parcourues pour la roue droite et gauche, respectivement

            L    Distances entre les roues du robot
48

 Modèle d’erreur pour l’exactitude odométrique
 • La mise à jour de la pose en p� se fait par:
                   �                            
                    x             ∆s cos(θ + ∆θ/2)
                                                
            p� =  y �  = p +  ∆s sin(θ + ∆θ/2) 
                    θ�                    ∆θ

   • En utilisant les relations pour ∆s et ∆θ vues
     précédemment, on obtient les équations de base de mise à
     jour de position odométrique pour un robot unicycle:
                                        ∆s +∆s        �              �
                                                             ∆sd −∆sg
                                          d
                                              2
                                                 g
                                                   cos   θ +    2L
                                  x                                    
                                y                   �              � 
 �
p = f (x, y, θ, ∆sd , ∆sg ) =   +     ∆sd +∆sg
                                                   sin θ +
                                                             ∆sd −∆sg 
                                              2                 2L      
                                                                       
                                  θ                 ∆s −∆s
                                                      d       g
                                                          L
49

Modèle d’erreur pour l’exactitude odométrique
• Ces équations n’ont d’intérêt que pour de faibles déplacements

• Plus le déplacement entre deux instants sera important, plus l’estimation
  de position sera grossière vis-à-vis de la réalité

• A cause des erreurs d’intégration des incertitudes sur la pose et des erreurs de
  mouvement réalisées pendant l’incrément (∆sd , ∆sg ) l’erreur en position basée
  sur l’intégration de l’odométrie augmente avec le temps

• Etablissons un modèle d’erreur pour la pose intégrée p� pour obtenir la matrice
  de covariance Σp� de l’estimé odométrique de position

• Pour ce faire, on va supposer la connaissance d’une matrice de
  covariance Σp ∈ R3×3 initiale
50

Modèle d’erreur pour l’exactitude odométrique
• Pour l’incrément de mouvement des roues (∆sd , ∆sg ) la matrice           Σ∆   doit être
  connue aussi:
                                            �                           �
                                                kd |∆sd |       0
            Σ∆ = cov(∆sd , ∆sg ) =
                                                    0       kg |∆sg |
  où
       kd , kg sont des constantes représentant les parametrès non
              déterministes du moteur et de l’interaction de la rue avec le sol

 • Deux hypothèses sont englobées dans l’équation précédente:
     • Les erreurs de chaque roue sont indépendantes
     • Les variances des erreurs sont proportionnelles à la valeur absolue des
         distances parcourues
 • Ces hypothèses, bien qu’imparfaits, sont satisfaisantes dans la plupart des cas
   en environnement structuré. Les sources d’erreur sur le mouvement sont:
   roue déformée, glissement, sol non lisse, encodeurs imprécis, etc.
 • Les valeurs des constants kd , kg dépendent du robot et de l’environnement
   et ils sont déterminées expérimentalement
51

   Modèle d’erreur pour l’exactitude odométrique
   • En admettant que p et ∆dg = [∆sd , ∆sg ]T ne sont pas corrélés et que la
     dérivée de f est bien approximée par la décomposition de Taylor du premier
     ordre (linéarisation), on peut appliquer la loi de propagation d’erreur, obtenant:

               Σp� = ∇p f · Σp · (∇p f )T + ∇∆dg f · Σ∆ · (∇∆dg f )T
   • La matrice Σp est directement égale au Σp� précédent (et il peut être calculée
     en spécifiant une valeur initiale, ex. zéro)
   • Connaissant f on peut exprimer les deux jacobiens ∇p f , ∇∆dg f :
                                                                                                  
                           �                  �             1 0 −∆s sin(θ + ∆θ/2)
                               ∂f ∂f ∂f                                              
                ∇p f =                            = 0 1             ∆s cos(θ + ∆θ/2) 
                               ∂x ∂y ∂θ
                                                            0 0                    1
                                 1                     ∆s                   1                     ∆s                   
           �               �       2 cos(θ + ∆θ/2) −    2L   sin(θ + ∆θ/2)   2   cos(θ + ∆θ/2) +   2L   sin(θ + ∆θ/2)
                ∂f   ∂f                                                                                              
∇∆dg f =                       =  12 sin(θ + ∆θ/2) +   ∆s
                                                        2L   cos(θ + ∆θ/2)   1
                                                                             2   sin(θ + ∆θ/2) −   ∆s
                                                                                                   2L   cos(θ + ∆θ/2) 
               ∂∆sd ∂∆sg
                                                   1/L                                       −1/L
52

Modèle d’erreur pour l’exactitude odométrique
• Les figures ci-dessous montrent typiquement comment croissent les incertitudes sur
  la position au cours du temps (l'incertitude de l'orientation n'est pas représenté dans
  l'image, bien que son effet peut être observé indirectement)
• Les résultats ont été obtenu en appliquant le modèle de propagation d’erreurs
  précédent et en représentant la matrice de covariance par une ellipse d’incertitude
  (décomposition en valeurs propres de Σp� )

           Mouvement linéaire                   Mouvement circulaire (rayon const.)
53

Remarques
• L’incertitude dans la direction perpendiculaire au mouvement croît plus vite
  que dans le sens du mouvement. Ce résulte de l’intégration de l’incertitude
  en orientation
• L’axe principal de l’ellipse d’incertitude ne reste généralement pas exactement
  perpendiculaire à la direction du mouvement

          Mouvement linéaire                 Mouvement circulaire (rayon const.)
54

Calcul des ellipses d'incertitude
La decomposition d’une matrice carrée en valeurs et vecteurs propres est un
outil de base que l’on trouve dans de nombreuses disciplines (ex. Google PageRank)

Définition
Un vecteur non nul u ∈ Rn est un vecteur propre d'une matrice A ∈ Rn×n
si et seulement si il existe un scalaire λ tel que :

                                Au = λu
où λ est appelé valeur propre associée à u . L'ensemble constitué des vecteurs
propres de valeur propre λ , et du vecteur nul, est appelé le sous-espace propre
de u associé à la valeur propre λ

On détermine les valeurs et vecteurs propres en résolvant l’équation:

                             (A − λ In )u = 0
Remarque
Les valeurs propres d'une matrice symétrique (c.-à.-d. A = AT ) sont réelles
et tous ses vecteurs propres sont orthogonaux
55

Calcul des ellipses d'incertitude
En définissant les deux matrices n × n suivantes:

           Λ = diag(λ1 , λ2 , . . . , λn ),   U = [u1 u2 · · · un ]
où

     λ1 , λ2 , . . . , λn valeurs propres de la matrice A agencées par ordre
                       décroissant

                  u1   vecteur propre associé à la valeur propre de A la plus
                       forte (c.-à.-d. λ1 )

on peut écrire:
                                  AU = UΛ
56

Calcul des ellipses d'incertitude
Exemple:                                               
                                1 −2 4
                                       
                          A = −2 5   3
                                5  3 −1

Valeurs propres ordonnées: 6.2340, 4.5491, -5.7830

                                                                    
      6.2340        0      0                    −0.1305 −0.7832 −0.5494
                                                                     
Λ =  0          4.5491    0             U =  0.9445   0.2657 −0.3170 
         0          0   −5.7830                 0.3015 −0.5621 0.7731

Commande Matlab:

                           [U, Lambda] = eig(A)
57

Calcul des ellipses d'incertitude
• Le façon commune de représenter l’incertitude de localisation en deux dimensions
(plan du sol) mais à trois degrés de liberté (position 2D et orientation) est l’ellipse
d’incertitude autour de la position estimée

• La position réelle du robot, si les paramètres du modèle d’erreur ont été bien
choisis, doit se trouver dans cette ellipse

• En appliquant la décomposition en valeurs/vecteurs propres de Σp� , on obtient
les deux matrices U et Λ d'où:

                                 Σp� U = UΛ

• En prenant le vector propre u1 associé à la plus forte valeur propre λ1 de Σp�
on obtient l’axe principale de l’ellipsoïde 3D d’incertitude

  Remarque
  Par définition, une matrice de covariance est une matrice symétrique et
  semi-définie positive (donc les valeurs propres sont réelles et non négatifs)
58

Calcul des ellipses d'incertitude
• Les coordonnées u1,x et u1,y du vecteur         u1 permettent de déduire
l’orientation de l’ellipse dans le plan du sol:
                                          �          �
                                              u1,y
                           θ = arctan
                                              u1,x
• En pratique, on préfèrera l’utilisation de la fonction atan2 , qui teste dans
quel quart se trouve la position (u1,x , u1,y ) pour que θ ait un signe cohérent

• La longeur des demi-axes de l’ellipse est définie par la racine carrée des
deux valeurs propres de Σp� les plus fortes, c.-à.-d. λ1 et λ2

• Cependant, λ1 et λ2 représentant en fait des variances. Par exemple, si les
paramètres du modèle d’erreur sont corrects, pour être sûr à 99.7% que la
position réelle se situe dans
                          � l’ellipse
                                  � d’incertitude, les demi-axes de celle-ci
auront pour longeurs 3 λ1 et 3 λ2 , respectivement
59
        �
       3 λ2
                   �
                  3 λ1                                                       Cf. TD1

              θ           Ellipse d’incertitude ( 3σ)
u1,y

                                      Si x est une variable aléatoire qui suit la loi
              u1,x                    normale (ou gaussienne), µ est l’espérance
                                      de la loi de probabilité, et σ 2 est la variance:
                     N (µ, σ 2 )
                                           Pr(µ − σ ≤ x ≤ µ + σ) � 0.6827
                                           Pr(µ − 2σ ≤ x ≤ µ + 2σ) � 0.9545
                                           Pr(µ − 3σ ≤ x ≤ µ + 3σ) � 0.9973
                                                            ..
                                                             .
                                           Pr(µ − 5σ ≤ x ≤ µ + 5σ) � 0.9999994
60

Odométrie … et les humains?
 • Nous “savons” la longueur de nos jambes et l’étendue du mouvement des
 nos articulations depuis notre adolescence

 • La longueur des notres étapes est donc “codée” dans notre cerveau
 (bien que nous ne sommes pas complètement au courant)

 • Nous pouvons estimer assez précisément la distance parcourue

 • Même sans rétroaction visuelle (et sans compter les étapes), on a une
 bonne précision avec distances jusqu'à 27 m [Andre et Rogers, 2006]
61

Plan du chapitre
• Introduction et défis               Partie 1

• Odométrie                           Partie 2

• Filtrage et fusion de capteurs      Partie 3

                                                  2 octobre
• Autres techniques de localisation   Partie 4
Vous pouvez aussi lire