La problématique du SLAM
Dans la problématique de la localisation et de la cartographie simultanées ([Bailey and Durrant-Whyte, 2006], [Durrant-Whyte and Bailey, 2006], [Thrun, 2000], [Thrun, 2002]), le robot doit inférer sa position dans une carte de l’environnement tout en construisant cette carte au fur et à mesure de sa progression. C’est notamment l’aspect concurrentiel qui rend cette tâche difficile. En effet, lorsque considérées séparément, localisation et cartographie peuvent être intuitivement facilement résolues : il semble aisé de se localiser à partir d’une carte des lieux, et la construction d’une telle carte paraît simple si on connaît sa position à chaque instant. Dans chacune de ces situations cependant, on fait l’hypothèse qu’une carte est disponible ou bien que la position est connue. Ainsi, pour résoudre le problème de la localisation, une carte est indispensable, alors que pour résoudre celui de la cartographie, il faut connaître sa position. On se rend alors compte à quel point les problèmes de localisation et de cartographie dépendent l’un de l’autre, et aborder les deux en même temps semble difficile : c’est pourquoi le problème du SLAM est souvent qualifié de problème “de l’oeuf et de la poule”. Toutefois, il est possible de s’affranchir dans certaines conditions de l’étape de localisation, en employant un système de positionnement global par satellite tel que le GPS, qui permet d’obtenir une estimation absolue de sa position à la surface de la Terre à tout instant. Ce genre de solution présente malgré tout un certain nombre de contraintes qui en limitent l’intérêt pour le problème du SLAM. D’une part, ce type de capteur ne peut pas être utilisé en intérieur, et les versions actuelles peinent à fournir une estimation précise de la position en zone urbaine. D’autre part, aucune information sur la caractérisation de l’environnement n’est disponible : cela interdit la modélisation de cet environnement sous la forme d’une carte sans l’adjonction d’un autre capteur fournissant une description des lieux visités. C’est donc bien en considérant la localisation et la cartographie simultanément que l’on peut résoudre le problème du SLAM : l’idée générale consiste à déterminer la position courante dans la carte construite jusque-là sur la base d’une observation de l’environnement, puis de mettre à jour la carte avec les nouvelles informations obtenues à partir de cette position. Ainsi, chaque fois qu’une observation est réalisée, l’information qu’elle apporte est fusionnée avec l’estimation précédente pour en déduire une nouvelle position et une nouvelle carte.
Différents types de cartes
Nous avons déjà mentionné dans l’introduction de ce mémoire l’existence de deux types de représentation pour l’environnement : les cartes métriques et topologiques (voir notamment [Filliat and Meyer, 2003] et [Meyer and Filliat, 2003] pour une étude plus détaillée à ce sujet). Parmi les premiers formalismes proposés pour la modélisation de l’environnement, les grilles d’occupation ([Elfes, 1987], [Moravec, 1988], cf. figure 1.3) ont été très largement employées jusque très récemment. Dans cette approche métrique, l’environnement est découpé sous la forme d’une grille dont chaque case encode le caractère occupé ou libre d’une petite portion de l’espace grâce à une valeur binaire. D’une manière plus générale, une carte métrique fournit une représentation de l’environnement sous la forme d’amers localisés précisément par une position géométrique absolue (voir par exemple [Davison et al., 2004], [Dissanayake et al., 2001]). La position courante du robot est alors inférée à partir des positions des amers actuellement reconnus. Comme nous l’avons déjà évoqué dans l’introduction de ce mémoire, un amer est un objet dont les caractéristiques remarquables permettent de l’utiliser pour repérer la zone de l’environnement dans laquelle il se trouve. L’information élémentaire de cartographie qui constitue les amers est généralement ponctuelle , mais elle peut également être constituée de structures géométriques plus complexes à deux, voire trois, dimensions. Les cartes métriques sont notamment adaptées à la planification de trajectoire reposant sur un asservissement précis par rapport aux positions des amers.
La représentation proposée par les cartes topologiques est en revanche plus symbolique (voir par exemple [Booij et al., 2007], [Cummins and Newman, 2008b], [Filliat, 2007]) : on cherche à caractériser l’apparence d’un lieu de manière générale. Pour cela, l’environnement est segmenté par les noeuds d’un graphe (cf. figure 1.5) dont les liens peuvent servir à encoder différents types d’information (adjacence temporelle, similarité, positionnement relatif etc. . .). Chaque noeud renferme alors la description qualitative d’un lieu, celle-ci pouvant prendre différentes formes en fonction principalement du type de capteur employé . Ainsi, déterminer la position du robot revient à trouver dans quel noeud il se trouve sur la base des mesures provenant des capteurs. La taille de la zone de l’espace encodée dans un noeud est variable, allant de la simple collection d’informations acquises à partir de positions proches, jusqu’au recensement de toutes les informations provenant d’un même endroit (une pièce dans un environnement d’intérieur par exemple). Les cartes topologiques sont généralement plus adaptées aux environnements de grande taille, et elles permettent une planification symbolique pratique pour naviguer entre les différents lieux qu’elles couvrent. Dans les approches topologiques, on peut également mentionner les solutions bio-inspirées, qui permettent de localiser le robot dans son environnement grâce aux cellules de lieux (voir par exemple [Filliat, 2001], [Giovannangeli et al., 2006], [Milford et al., 2004]).
Au-delà des deux formalismes généraux présentés ci-dessus pour la caractérisation de l’environnement, il existe des approches mixtes (i.e., topologique / métrique) ou encore hiérarchiques (i.e., collections de sous-cartes). Dans les approches mixtes ([Blanco et al., 2008], [Bosse et al., 2003]), on associe les deux types de représentation : l’environnement est découpé en lieux qui sont tous localement cartographiés grâce à des approches métriques. Dans les approches hiérarchiques ([Clemente et al., 2007], [Estrada et al., 2005], [Se et al., 2005]), l’environnement est découpé en un ensemble de sous-cartes de taille limitée, bornant de cette manière la complexité du processus d’estimation.
Différents types de capteurs
On peut distinguer deux classes de capteurs pour aborder la problématique du SLAM. D’une part, les capteurs de distance tels que les télémètres laser, les radars ou les sonars, qui ont été historiquement très largement utilisés, notamment dans le cadre des grilles d’occupation. D’autre part, la vision, qui semble être devenue la modalité sensorielle de préférence depuis peu pour le SLAM. Nous avons déjà évoqué dans l’introduction de ce mémoire les caractéristiques opposant ces deux types de capteurs sur le plan pratique : une simple caméra représente un dispositif expérimental facile à mettre en oeuvre sur différents types de prototypes. Par ailleurs, l’information visuelle riche permet de caractériser l’environnement de façon qualitative , alors que les capteurs de distance ne renvoient qu’une représentation de la vue courante sous la forme d’un nuage de points (voie figure 1.6). Cependant, les capteurs de distance offrent une estimation de la direction et de la distance des objets perçus, alors que la projection de la scène courante dans le plan image d’une caméra annihile toute information métrique directement utilisable. Ainsi, pour estimer la distance aux objets, il faut disposer d’un système de stéréocaméras calibré, ou alors intégrer l’information dans le temps pour essayer de déterminer la profondeur des scènes. Dans ce second cas, il faudra certainement initialiser le système par l’observation d’une mire aux dimensions connues pour extraire le facteur d’échelle réel. Sans cela, la géométrie sera reconstruite au facteur d’échelle près.
|
Table des matières
Introduction
1 État de l’art
1.1 Introduction et rappels
1.1.1 Traitement de l’image et vision en robotique
1.1.2 Estimation et filtrage
1.2 La problématique du SLAM
1.2.1 Différents types de cartes
1.2.2 Différents types de capteurs
1.2.3 Dérive de l’estimation
1.2.4 Problématiques connexes
1.3 La problématique de la détection de fermeture de boucle
1.3.1 Approches métriques
1.3.2 Approches de reconnaissance d’image
1.3.3 Approches de classification d’image
1.4 Discussion
1.4.1 Information visuelle
1.4.2 Les processus d’inférence
1.5 Conclusion sur l’état de l’art
2 Cadre Bayésien pour la détection de fermeture de boucle
2.1 Représentation des images et définition des lieux du modèle
2.1.1 Sacs de mots visuels
2.1.2 Espaces de représentation
2.2 Stratégie de sélection des images
2.3 Probabilité de fermeture de boucle
2.3.1 Modèle d’évolution temporelle
2.3.2 Système de vote pour l’estimation de la vraisemblance
2.3.3 Gestion des hypothèses a posteriori
2.4 Mise en cache d’hypothèses
3 Résultats expérimentaux
3.1 Environnement d’intérieur
3.2 Environnement d’extérieur
3.3 Analyse comparative
3.3.1 Influence des espaces de représentation
3.3.2 Influence de la géométrie multi-vues
3.3.3 Performances
3.3.4 Taille des dictionnaires
4 Discussion
4.1 Apprentissage du dictionnaire
4.2 Gestion de l’aliasing perceptuel
4.3 Caractéristiques du modèle de probabilité
4.4 Conclusion
5 État de l’art
5.1 Revue générale
5.2 Méthodes basées sur la vision uniquement
5.3 Autres modalités perceptives
5.4 Conclusion
6 SLAM topologique
6.1 Structure de la carte
6.1.1 Information encodée dans les noeuds
6.1.2 Information encodée dans les arêtes
6.2 Disposition du graphe
6.3 Ajout d’une information métrique
6.3.1 Relaxation pour l’estimation de la position des noeuds
7 Résultats expérimentaux
7.1 Environnement d’intérieur
7.1.1 Performances
7.2 Environnement mixte
7.2.1 Influence des espaces de représentation
7.2.2 Performances
7.3 Prise en compte de l’information d’odométrie
8 Discussion
8.1 Perspectives
8.1.1 Limites de la vision monoculaire
8.1.2 Navigation
8.1.3 Fusion des noeuds
8.1.4 Modèle d’évolution temporelle
8.2 Conclusion
Conclusion
Télécharger le rapport complet