Cartographie et localisation simultanées

Un article de Wikipédia, l'encyclopédie libre.
Le robot Darmstadt de la Technische Universität construit une carte avec un LIDAR.
Une carte générée par le robot Darmstadt.

La localisation et cartographie simultanées, connue en anglais sous le nom de SLAM (simultaneous localization and mapping) ou CML (concurrent mapping and localization), consiste, pour un robot ou véhicule autonome, à simultanément construire ou améliorer une carte de son environnement et de s’y localiser.

Présentation[modifier | modifier le code]

La plupart des robots industriels sont fixes et effectuent des tâches dans un environnement connu. En revanche, beaucoup de robots pour des applications non manufacturières doivent être en mesure de se déplacer par leurs propres moyens dans un environnement inconnu.

Le SLAM peut être décrit par deux questions :

  • « À quoi ressemble mon environnement ? » : la cartographie est la représentation de l'environnement et l'interprétation des données fournies par les capteurs dans une représentation donnée.
  • « Où suis-je ? » : la localisation est le problème de l'estimation de l'emplacement du robot par rapport à un plan[1].

Le SLAM est donc défini comme le problème de la construction d'une carte en même temps que la localisation du robot dans ce plan[2].

Dans la pratique, ces deux problèmes ne peuvent être résolus de manière indépendante. Avant de pouvoir construire une carte de qualité de son environnement à partir d'un ensemble d'observations[3], un robot a besoin de savoir à partir de quels endroits ces observations ont été faites. Dans le même temps, il est difficile d'estimer la position actuelle d'un véhicule sans carte. Le SLAM est souvent considéré comme le paradoxe de la poule et de l'œuf : une carte est nécessaire pour définir la localisation, la localisation est nécessaire pour construire une carte.

Le SLAM est une aptitude humaine quotidienne, c'est une fonctionnalité importante des robots intelligents[4].

Méthodes[modifier | modifier le code]

Un robot peut s'appuyer sur deux sources d'information : les informations qui lui sont propres et les informations collectées dans son environnement.

Quand il est en mouvement, un robot peut utiliser la navigation à l'estime et les informations renvoyées par ses capteurs proprioceptifs (roues codeuses, consommation de courant des moteurs, dynamo tachymétrique, position d'un servomoteur, centrale inertielle...). Cependant, ce genre d'informations n'est pas complètement fiable (glissement, jeu, frottements…). L'autre source d'informations provient de capteurs et de systèmes dépendant de l'environnement et de sources extérieurs, ce sont les capteurs extéroceptifs (boussole, accéléromètre, GNSS, sonar, télémètre, caméra, microphone, lidar, laser…).


Une méthode classique vise à utiliser les données proprioceptives (ou un modèle de mouvement) durant une phase de "prédiction" puis d'affiner l'estimation à l'aide des données extéroceptives durant la phase de "mise à jour". C'est le principe du filtrage de Kalman, une méthode d'estimation utilisée dans de nombreuses solutions au problème de SLAM[5].

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en)« What is SLAM? » (consulté le )
  2. « SLAM », sur PoBot
  3. Cyril Joly et Patrick Rives, « Contribution au SLAM avec caméra omnidirectionnelle », sur ens-Lyon,
  4. (en)Asada, Harry, and John Leonard (MIT OpenCourseWare: Massachusetts Institute of Technology), « 2.12 Introduction to Robotics, Fall 2005 » (consulté le )
  5. Mingyang Li, « High-precision, consistent EKF-based visual-inertial odometry », The International Journal of Robotics Research,‎ (lire en ligne)