Les algorithmes SLAM (Simultaneous Localization and Mapping)

Positionnement et cartographie d’un robot

      Le positionnement d’un robot dans son environnement est une problématique importante dans le domaine de la robotique mobile pour permettre la navigation autonome du robot et la prise de mesures géolocalisées. Dans des environnements contraignants, l’utilisation de systèmes de positionnement absolu (balises, GPS…) est impossible. Seules des méthodes de positionnement relatives sont envisageables mais elles produisent en général une dérive dans le positionnement du fait de l’accumulation de petites erreurs au fur et à mesure de l’investigation du robot. A cet effet, des algorithmes basés sur différents capteurs permettent aux robots de cartographier leurs environnements tout en se localisant dans la carte établie.

Localisation instantanée et cartographie – Simultaneous localization and mapping

Les algorithmes SLAM (simultaneous localization and mapping) font l’objet de nombreuses recherches car ils présentent de nombreux avantages en termes de fonctionnalité et de robustesse. Cependant, ils dépendent d’une multitude de facteurs rendant leur implémentation difficile et doivent donc être spécifiques au système à concevoir. L’implémentation d’un tel algorithme doit prendre en considération les caractéristiques du modèle du système, les bruits agissants sur celui-ci, la précision des résultats souhaités, la rapidité d’exécution et la demande en mémoire.

Innovation pour nos robots-capteurs

Chez INNOWTECH, nous développons un algorithme de ce type pour rendre nos robots autonomes et permettre la localisation des mesures réalisées en milieux hostiles.

Deux méthodes

Une recherche approfondie permet de dénombrer deux grands principes. Le premier se base sur la mise en correspondance des nuages de points qui ne nécessite aucune information d’odométrie. Cette méthode repose sur l’analyse de segments construits en acquérant une multitude de points avec un LIDAR (LIght Detection And Ranging) monté sur un robot mobile à une hauteur donnée. Le résultat de l’opération de détection est donc un ensemble de points exprimés en coordonnées polaires devant être transcrits en un ensemble de segments. Comme la méthode n’utilise pas d’information d’odométrie, elle repose exclusivement sur la géométrie des balayages et la détection de « points de repère géométriques » sur lesquels le processus d’appariement est basé. La méthode peut fonctionner correctement à condition que les balayages présentent un chevauchement contenant au moins un point de repère géométrique commun entre eux.

      La deuxième consiste à fusionner les données des capteurs d’odométrie (encodeurs, centrale inertielle ou autre …) pour la reconstruction de la trajectoire du robot dans un repère absolu par les différentes méthodes de reconstruction de trajectoire existantes, puis recaler les données LIDAR sur cette trajectoire pour la réalisation de la carte.

Méthodes de reconstruction des trajectoires

      Parmi les méthodes de reconstruction de trajectoire existantes, on trouve le filtre de Kalman et ses dérivés ainsi que le filtre particulaire. Ces méthodes diffèrent du point de vue des hypothèses et principes sur lesquels elles reposent ainsi que du point de vue de la précision, de la rapidité et de la demande en mémoire. Dans le tableau ci-dessous, nous comparons quatre méthodes reconnues et utilisées dans la robotique :

Le choix d’une telle méthode se base sur la nature du modèle d’évolution du système, le niveau de connaissance de la nature des bruits affectant le système, le volume des données traitées, la rapidité de traitement souhaitée ainsi que la précision des informations de positionnement fournies par l’algorithme SLAM en tenant en compte la proportionnalité inverse entre toutes ces caractéristiques.