La cartographie et la localisation simultanées
La localisation est un problème fondamental de la robotique mobile en ce sens que l’ensemble de ses applications en sont tributaires, qu’il s’agisse d’un simple suivi de trajectoire pour la navigation ou de l’exploration d’environnements inconnus. Elle désigne la capacité d’un robot à estimer en temps réel sa pose (position et orientation) courante, voire sa trajectoire complète. En environnement extérieur, on dispose éventuellement, dans ce but, de systèmes de Géolocalisation et Navigation par un Systèmes de Satellites (GNSS). C’est le cas de la localisation par GPS (Global Positionning System). Néanmoins, cette approche comporte trois limitations majeures. Tout d’abord, elle dépend d’une infrastructure extérieure et compromet donc l’autonomie du robot. De plus, les signaux GPS ne sont pas disponibles partout. Au sein des bâtiments, ils sont atténués voire bloqués par les parois et les surfaces. Ce phénomène s’observe également dans d’autres environnements extérieurs tels que les villes (effet canyon), les forêts (en raison de leur canopée) et bien entendu des environnements souterrains et sous-marins. Enfin, la précision de la localisation par GPS s’avère insuffisante pour certaines applications. De l’ordre de quelques mètres, celle-ci convient par exemple lorsqu’il s’agit de localiser un véhicule sur une carte routière (sans pour autant le placer avec précision sur la chaussée). Cependant, elle se révèle inapte pour la navigation de robots en environnements encombrés. Dans ce dernier cas, on requerrait plutôt une précision de l’ordre du décimètre, voire du centimètre.
Les limitations des systèmes GNSS incitent à développer des solutions localement accessibles au robot. La première d’entre elles est la navigation à l’estime , également appelée Dead-Reckoning en anglais. Cette méthode consiste à estimer la trajectoire en intégrant successivement les mesures issues des capteurs proprioceptifs du robot. De telles mesures rendent directement compte de son mouvement : il s’agit de mesures d’accélérations, de vitesses angulaires ou encore de nombres de tours de roues par seconde etc. Cependant, ces méthodes intègrent les bruits de mesures. Par conséquent, elles accumulent une dérive qui croît d’autant plus rapidement que la qualité des capteurs est faible. Les capteurs extéroceptifs offrent une solution alternative : la navigation à vue . Celle-ci consiste à se localiser par rapport à des amers, c’est-à-dire des repères fixes et identifiables dans l’environnement et dont on connait préalablement la position globale. Si la navigation à vue rend l’estimation de la trajectoire plus robuste, elle suppose néanmoins une connaissance, ou du moins un balisage préalable de l’environnement.
Les méthodes de SLAM pallient localement à cette limitation en se proposant d’extraire elles-mêmes ces amers de l’environnement au fil de l’exploration, et de se localiser par rapport à eux tout en affinant sans cesse l’estimation de leur position. Ce faisant, elles estiment la trajectoire du robot tout en construisant, en parallèle, une carte de l’environnement par rapport à laquelle le robot se relocalise en permanence et qu’il affine en retour. Il exploite ainsi les contraintes mutuelles qui lient la localisation et la cartographie. Bien qu’à première vue, ces estimations concomittantes puissent paraître complexifier le problème, elles accroissent la robustesse aussi bien de l’estimation de la carte que de la trajectoire du robot. Ces contraintes mutuelles sont de deux ordres. Ce sont d’abord des contraintes de court-terme lorsque les amers sont repérés et suivis par leurs observations successives. Elles contribuent ainsi à la consistance locale de la carte. Les contraintes globales correspondent quant à elles à la ré-observation de zones précédemment cartographiées. On parle alors de fermetures de boucles. Caractéristiques des méthodes de SLAM, elles permettent de réduire la dérive odométrique accumulée le long de la boucle ainsi fermée et de rendre la carte globalement consistante. La conjonction des contraintes locales et globales permet à des algorithmes d’inférence de dériver des estimations fines, robustes et précises des trajectoires et de la carte de l’environnement observé.
Comme le montrent (Cadena et al. 2016), les méthodes de SLAM jouissent d’une grande diversité. Celle-ci est d’abord de nature contextuelle puisque la littérature a investigué des solutions adaptées à des environnements variés. En particulier, chaque milieu impose des contraintes spécifiques qui affectent les propriétés des signaux d’entrée. C’est par exemple le cas des milieux sous-marins dans lesquels l’obscurité et la turbidité de l’eau dégradent la visibilité (Ferrera et al. 2019b). À la diversité des milieux s’ajoute celle des plateformes robotiques et de leurs bancs de capteurs. A minima, un seul capteur extéroceptif suffit pour faire du SLAM. Parmi ceux-ci figurent les LiDARs (très employés en robotique mobile terrestre) (Deschaud 2018), les Sonars (plus adéquats pour les milieux aquatiques) (Fallon et al. 2013), le RADAR (Holder et al. 2019), ou encore les systèmes mono (Mur Artal et al. 2015) ou multi-caméras (Brand et al. 2014) (essentiellement destinés aux plateformes terrestres et aériennes). Néanmoins, rien n’empêche de les aggrémenter d’autres capteurs complémentaires tels que des centrales inertielles (Qin et al. 2018b), des encodeurs montés sur les roues, des magnétomètres, des altimètres, des baromètres, etc. Au-delà des capteurs, la nature de la plateforme robotique employée influe également sur la cinématique des trajectoires, qui elle même impacte les performances des algorithmes de SLAM. Par exemple, des mouvements rapides et aggressifs compliqueront le suivi visuel pour les systèmes de caméras. À la diversité contextuelle répond la diversité algorithmique. Non seulement le choix des capteurs et les contraintes qui leur sont associées imposent la conception d’algorithmes ad hoc spécialisés pour traiter leurs données, mais de multiples solutions alternatives ont été proposées pour chacun des modules constitutifs d’un algorithme de SLAM, que ce soit l’odométrie et la cartographie locale, la détection des fermetures de boucles et l’inférence globale. Enfin, la diversité du SLAM est applicative. En effet, se localiser dans l’environnement tout en le cartographiant n’est pas systématiquement une finalité, mais plutôt un maillon algorithmique qui concourt à des applications plus globales. Ces dernières relèvent aussi bien des domainesmilitaires, industriels et civils. Les deux premières familles d’applications exploitent prioritairement l’estimation de la trajectoire ou de la carte. En effet, si le SLAM couple la localisation et la cartographie, il peut prioriser l’une par rapport à l’autre. Par exemple, le SLAM orienté localisation se contente d’une représentation minimale de l’environnement, alors réduite à un simple support pour la détection des fermetures de boucles. Ces applications vont de la localisation d’un aspirateur autonome à celle d’un véhicule autonome (Bresson et al. 2017). D’autres applications requièrent une cartographie plus fine de l’environnement. C’est par exemple le cas pour la digitalisation de sites historiques (Leclet-Groux et al. 2018) et archéologiques (Ferrera et al. 2019b), l’exploration extra-planétaire (Maimone et al. 2007 ; Brand et al. 2014), l’inspection de zones inaccessibles ou risquées pour l’être humain (Yamada et al. 2020 ; Kim et al. 2013) ou encore la surveillance de zones (Doitsidis et al. 2011). Notons d’ailleurs que c’est essentiellement avec l’augmentation des puissances de calcul que la cartographie, historiquement support de la localisation, s’est imposée comme un objectif à part entière, et en particulier au travers du SLAM dense. Enfin, la troisième famille d’applications vise l’interaction autonome avec un environnement préalablement inconnu. Elles mobilisent alors toutes les potentialités offertes par un algorithme de SLAM. On y trouvera par exemple des applications de réalité augmentée (Piao et al. 2017 ; Sartipi et al. 2019) qui projettent des modèles 3D dans l’environnement et s’efforcent de les maintenir consistantes avec les déplacements de l’utilisateur. Les opérations de recherche et de sauvetage (Search & Rescue) (Queralta et al. 2020) constituent également un contexte d’application particulièrement prisé en raison de l’exhaustivité de leurs problématiques. Fondamentalement, elles consistent à explorer un environnement sinistré pour y identifier, et éventuellement y secourir, d’éventuelles victimes.
Le SLAM est un sujet de recherche actif dans la communauté robotique depuis les années 1980, et continue de l’être aujourd’hui, occupant plusieurs sessions parallèles dans les conférences internationales. Différents articles de revues tels que (Durrant-Whyte et al. 2006 ; Bailey et al. 2006b ; Cadena et al. 2016 ; Stachniss et al. 2016) ont jalonné leur développement et permettent de mesurer l’avancée des connaissances et des performances des systèmes développés.
Architecture générale d’un algorithme de SLAM
Malgré leur grande diversité, les algorithmes de SLAM relèvent d’une architecture. Ils reçoivent tout d’abord en entrée les mesures issues d’un banc de capteurs contenant au moins un capteur extéroceptif. Ces mesures brutes sont alors interprétées par un premier module d’odométrie et de cartographie locale. Ce dernier initialise les estimées de carte et de trajectoires, et les affine éventuellement en recourant à des techniques d’inférence locale. Il s’agit nécessairement d’un processus dit de premier-plan (Front-End en anglais) en ce sens qu’il opère à la cadence de réception des mesures. Cependant, ses estimées, localement consistantes, pâtissent inéluctablement d’une dérive odométrique. Pour y remédier, un second module recherche et détecte des fermetures de boucles. Il s’agit de correspondances globales entre des observations courantes et une zone précédemment cartographiée. Ces contraintes globales sont ensuite répercutées sur l’estimation à différentes échelles. Cette tâche peut notamment dépendre d’un module d’inférence globale à part entière, lorsqu’on choisit d’affiner l’ensemble de la carte et de la trajectoire. Celui-ci relève alors d’un processus d’arrière-plan (dit Back-End en anglais). Pour ce faire, il maintient un modèle probabiliste qui encode l’ensemble des connaissances accumulées sous la forme de contraintes locales et globales sur les variables de trajectoire et d’environnement estimées, et qui serviront de support à l’inférence.
|
Table des matières
1 Introduction
1.1 La cartographie et la localisation simultanées
1.2 Problématiques et contributions de thèse
1.3 Plan du manuscrit
I État de l’art
2 La cartographie et la localisation simultanées mono-robot
2.1 Architecture générale d’un algorithme de SLAM
2.2 Le banc de capteurs
2.2.1 Taxonomie des bancs de capteurs
2.2.2 Modélisation d’une caméra
2.2.3 Modélisation d’une centrale inertielle
2.3 L’estimation du mouvement et de la carte locale
2.3.1 Principes de l’odométrie visuelle
2.3.2 Le couplage visio-inertiel
2.3.3 La cartographie locale
2.4 La détection des fermeture de boucles
2.5 L’inférence de la carte et de la trajectoire
2.5.1 Les paradigmes d’inférences
2.5.2 Le SLAM basé optimisation
2.5.3 L’inférence visio-inertielle
2.6 Conclusion
3 L’émergence des méthodes de SLAM multi-robots
3.1 Définition du SLAM multi-robots
3.1.1 Opportunités et contraintes associées
3.1.2 Les applications du SLAM multi-robots
3.2 Anatomie d’un algorithme de SLAM multi-robots
3.2.1 Schéma d’allocation des tâches et des données
3.2.2 Politiques de communication
3.2.3 Stratégie d’association et de fusion des données
3.3 Conclusion
II Contributions
4 Construction d’un jeu de données multi-robots
4.1 Introduction
4.2 Travaux associés
4.2.1 Plateformes robotiques et les capteurs utilités
4.2.2 Propriétés environnementales et cinématiques
4.2.3 Applications visées des jeux de données
4.3 Acquisition des jeux de données
4.3.1 Plateformes robotiques et calibration
4.3.2 Lieux d’acquisition
4.3.3 Scénarios multi-robots
4.4 Traitement des jeux de données
4.4.1 Construction des vérités terrain
4.4.2 Comparatif de performances d’algorithmes de SLAM
4.5 Conclusion
5 SLAM visio-inertiel décentralisé pour la navigation multi-robots
5.1 Introduction
5.2 Objectifs du chapitre
5.3 Architecture générale des méthodes proposées
5.3.1 Schéma d’allocation des tâches et des données
5.3.2 Politique de communication commune
5.3.3 Stratégie commune d’association et de fusion de données
5.3.4 Sélection d’informations visuelles
5.4 Échange de sous-cartes visio-inertielles rigides
5.4.1 Travaux associés
5.4.2 Vue d’ensemble de la méthode proposée
5.4.3 Calcul d’un paquet
5.4.4 Intégration d’un paquet
5.5 Échange de paquets visio-inertiels condensés
5.5.1 Travaux associés
5.5.2 Vue d’ensemble de la méthode proposée
5.5.3 Calcul d’un paquet
5.5.4 Intégration d’un paquet
5.6 Échange de paquets visio-inertiels élagués
5.6.1 Travaux associés
5.6.2 Vue d’ensemble de la méthode proposée
5.6.3 Calcul d’un paquet
5.6.4 Intégration d’un paquet
5.7 Évaluation des méthodes proposées
5.7.1 Scénarios d’évaluation
5.7.2 Détails d’implémentation
5.7.3 Paramètres de simulation
5.7.4 Évaluation vis-à-vis des contraintes de ressources
5.7.5 Évaluation vis-à-vis des contraintes de réseau
5.7.6 Évaluation vis-à-vis des contraintes d’information
5.8 Conclusions et Perspectives
6 SLAM dense stéréo-visuel décentralisé basé sur l’échange de sous-cartes TSDF
6.1 Introduction
6.2 Travaux associés
6.2.1 Les cartographies éparses
6.2.2 Les cartographies denses non structurées
6.2.3 Les cartographie denses structurées
6.2.4 SLAM et cartographie dense
6.3 Objectifs du chapitre
6.4 Description de la méthode développée
6.4.1 Vue d’ensemble de la méthode dévéloppée
6.4.2 Le module d’odométrie et de cartographie locale
6.4.3 Le module de fermeture de boucles
6.4.4 Le module d’inférence globale
6.4.5 Extension en contexte multi-robots
6.5 Résultats expérimentaux
6.5.1 Scénarios d’évaluation
6.5.2 Métriques d’évaluation
6.5.3 Détails d’implémentation
6.5.4 Résultats
6.6 Conclusions et Perspectives
7 Conclusion et Perspectives
III Annexes