• Aucun résultat trouvé

L A CARTOGRAPHIE ET LA LOCALISATION

2.2.1 Taxonomie des bancs de capteurs

Capteur N Banc de capteurs Détection de fermetures de boucles Odométrie & Cartographie locales Processus Front-End Carte Trajectoire Estimées Inférence globale Modèle probabiliste Processus Back-End

Classiquement, le module de détection des fermetures de boucles est un processus de premier-plan, mais il peut également relever d’un processus d’arrière-plan pour certains SLAM.

Figure 2.1 – Architecture générale d’un algorithme de SLAM.

Le but des sections qui suivent est d’introduire les outils et les concepts auxquels nous nous référerons par la suite, et de les mettre en perspective avec les autres méthodes existantes. La section 2.2 décrit les bancs de capteurs communément utilisés en SLAM. L’interprétation des mesures brutes pour l’estimation initiale du mouvement et l’initia-lisation des cartes est traitée dans la section 2.3. La section 2.4 expose les méthodes de fermetures de boules. Enfin, les techniques d’inférence locales et globales sont discutées dans la section 2.5.

2.2 Le banc de capteurs

Les capteurs constituent la source primaire d’information du robot sur son environ-nement et son propre mouvement. Tout algorithme de SLAM, du fait qu’il s’appuie sur l’environnement perçu, nécessite en entrée les données d’au moins un capteur extéroceptif. Ce capteur pourra éventuellement être aggrémenté par d’autres capteurs complémentaires dont il faudra fusionner les mesures.

2.2.1 Taxonomie des bancs de capteurs

Le SLAM laser

Un LiDAR est un capteur télémétrique qui mesure les distances à des surfaces en analysant le délais et les différences de longueur d’onde entre une impulsion laser émise et

réfléchie. Le terme dérive de l’anglais Light Detection And Ranging. Ces impulsions laser, qui couvrent de l’infrarouge jusqu’au proche ultraviolet, balayent l’environnement sur 360 degrés et éventuellement sur plusieurs strates. Un LiDAR acquiert ainsi un nuage de points en continu, sans cesse actualisé au fil du balayage. Il présente l’avantage d’être insensible aux conditions d’éclairage ou aux propriétés optiques des surfaces avoisinantes. De plus, on trouve aujourd’hui des capteurs LiDAR suffisamment compacts pour être embarqués sur des robots mobiles, voire des drones (Shen et al. 2013), à l’instar du capteur Zebedee (Bosse et al. 2012) qui intègre également une centrale inertielle. À titre d’exemple, le capteur Velodyne (Moosmann et al. 2011) est fréquemment utilisé sur des plateformes robotiques terrestres, voire sur des véhicules comme ce fut le cas lors de l’acquisition de jeu de données KITTI (Geiger et al. 2013). En revanche, certaines conditions environ-nementales spécifiques compromettent la perception des capteurs LiDAR. Le brouillard est à ce titre un exemple connu du fait de sa réflexivité particulière. Par ailleurs, nous noterons que les acquisitions LiDAR sont également sujettes à des phénomènes de dis-torsion (Shen et al. 2013) lorsque les acquisitions sont faites en mouvement. De plus, les données issues d’un LiDAR sont d’autant plus volumineuses à traiter que les nuages de points sont denses et fréquemment rafraîchis.

En ce qui concerne le SLAM, plusieurs méthodes à base de capteurs LiDAR ont été publiées. On mentionnera notamment les travaux de Bosse et Zlot appliqué à la carto-graphie d’une mine (Zlot et al. 2014). Associant un LiDAR et une centrale inertielle, ils ont développé un algorithme de SLAM complet qui leur a permis de cartographier des tunnels sur plusieurs kilomètres en n’accumulant qu’une dérive de l’ordre de quelques millimètres par mètre. De plus, il s’agissait au moment de sa publication de l’une des rares méthodes basée LiDAR à estimer la trajectoire selon six degrés de liberté. Un autre travail marquant est LOAM-SLAM (Zhang et al. 2014), dont l’acronyme signifie Lidar

Odometry And Mapping. Le SLAM acoustique

En milieu sous-marin, l’analogue du capteur LiDAR est le SoNAR (Sound Navigation

And Ranging). Dans sa version active, il s’agit d’un capteur acoustique qui détecte des

obstacles en mesurant la distance écoulée entre l’émission d’un son et la réception de son écho par des antennes directionnelles. Deux exemples d’algorithmes de SLAM sous-marin utilisant un SoNAR sont donnés par (Fallon et al. 2011) et (Teixeira et al. 2016), appliqués à la cartographie du fond marin et à l’inspection de coques de navires.

Le SLAM visuel

Les méthodes de SLAM auxquelles nous nous intéresserons dans la suite utilisent des bancs de caméras. Elles sont d’autant plus populaires que les caméras sont des capteurs bon marché, et dont les images apportent une information extrêment riche d’ordres photo-métrique, géométrique et sémantique. Les développements rapides des techniques de vision par ordinateur ont progressivement permis d’exploiter ces informations en temps-réel.

Les bancs monoculaires, qui ne comportent qu’une seule caméra, servent de base à nombreux algorithmes de SLAM, ORB-SLAM (Mur-Artal et al. 2015) étant le plus connu d’entre eux. La principale limitation d’une caméra monoculaire est l’absence d’in-formations de profondeur. Pour cause, la projection d’un environnement 3D sur un plan image est invariante par changement d’échelle. Ainsi, non seulement le facteur d’échelle n’est pas observable, mais les algorithmes d’odométrie qui en découlent doivent veiller à limiter sa dérive le long de la trajectoire. L’information de profondeur peut être apportée par des montages exploitant les propriétés de la géométrie multi-vues (ou épipolaire) tels que les bancs stéréos. Une deuxième méthode consiste à coupler une caméra avec des capteurs de distance. On parle alors de caméras RGB-D à l’instar des caméras Kinect™. Chaque acquisition correspond à la donnée d’une image couleur classique et d’une carte de profondeur, dont chaque pixel contient la distance à la surface rencontrée par le rayon rétro-projeté qui le traverse. La caméra Kinect™ v1 ainsi que le capteur Intel RealSense d435™ dérivent cette carte de profondeur à partir de la déformation d’un motif infra-rouge projeté sur les surfaces, tandis que la Kinect v2 se base sur le temps de vol de la lumière émise. L’algorithme de SLAM dense KinectFusion (Newcombe et al. 2011b) est basé sur ce capteur. Dans sa deuxième version, ORB-SLAM2 (Mur-Artal et al. 2017a) s’applique aussi bien aux cas monoculaire, stéréo et RGB-D.

Les images acquises par des caméras peuvent présenter différentes imperfections dont les algorithmes d’odométrie doivent tenir compte. Si les phénomènes de distorsion et les déformations dues aux obturateurs déroulants (rolling shutter en anglais) sont explicite-ment modélisables, d’autres imperfections telles que le flou de mouveexplicite-ment apparaissant lors de mouvements rapides ou encore les défauts d’exposition, compromettent l’exploi-tabilité des images. Face à ce défaut, des publications récentes (Gallego et al. 2019) militent pour l’utilisation de caméras dites évènementielles. Également appelées camé-ras neuromorphiques du fait de leur inspiration biologique, elles capturent le mouvement en enregistrant les changements d’intensité lumineuse pixel par pixel et de façon

asyn-chrone. Ces caméras apparaissent ainsi plus à même de traiter les mouvements rapides. Un algorithme d’odométrie visio-inertiel a récemment été proposé pour ce type de caméra (Mueggler et al. 2018).

Dans le cas mono-visuel, l’information apportée par la caméra permet une estimation à 6 degrés de libertés (rotations et translations), mais ne suffit pas pour estimer le facteur d’échelle. Afin d’y remédier, on peut compléter la caméra d’une centrale inertielle (Inertial

Measurement Unit en anglais, abbrégé IMU). Il s’agit d’un capteur généralement bon

mar-ché constitué d’un accéléromètre et d’un gyromètre. L’accéléromètre mesure l’accélération spécifique tandis que le gyromètre mesure la vitesse angulaire. L’IMU rend observable le facteur d’échelle, ainsi que le vecteur de gravité, ce qui permet d’aligner correctement les modèles reconstruits par rapport à la verticale. Des algorithmes de SLAM tels que Vins-Mono (Qin et al. 2018b) ou Multi-State Constraint Kalman Filter (MSCKF) (Mourikis et al. 2007) sont deux exemples très connus d’algorithmes de SLAM visio-inertiel. D’autres associations sont possibles en vue de fusionner les mesures de différents capteurs. ( Fer-rera et al. 2019b) couplent un SLAM visuel-inertiel à un capteur de pression en contexte sous-marin, tandis que (Caruso et al. 2017) utilisent des magnétomètres comme capteurs tachymétriques.

Dans ces travaux, nous nous intéresserons exclusivement au SLAM stéréo-visuel et visio-inertiels. À ce titre, nous détaillons dans les sections suivantes les modèles de mesures que nous utiliserons.