Test & analyse de GMapping

Cette semaine, nous débutons une série d’articles dédiés au benchmark des technologies de cartographie qu’utilisent les robots mobiles dans des environnements intérieurs. Awabot Intelligence a en effet réalisé une étude visant à aider les constructeurs de robots mobiles à choisir la technologie SLAM la plus performante.

Ainsi, toutes les deux semaines, nous vous invitons à évaluer tour à tour les technologies GMapping, Hector SLAM, Google Cartographer et RTABMAP sur la base de différents critères (méthodologie de l’étude disponible en fin d’article) et testées dans un environnement fréquenté de type “open space”. Une fois ces quatre technologies analysées, nous vous livrerons un bilan, ainsi que l’étude complète en téléchargement.

Présentation de la technologie GMapping

GMapping est l’une des plus anciennes technologies de cartographie ayant été adaptée à ROS (Robot Operating System), système d’exploitation robotique de référence : son intégration remonte à la première version de ROS en 2010. Ce point fort fait figurer cette solution parmi les plus éprouvées à ce jour. GMapping utilise l’odométrie de la plateforme, qui permet d’estimer la position d’un robot en mouvement.

Qualité générale de la cartographie

Carte de la “trajectoire en P” générée avec GMapping
Détourage des fauteuils et trous dans la carte
Artefacts créés par la lumière

On note que la cartographie apparaît largement exploitable pour une application de navigation :

  • cartographie en temps réels des couloirs en ligne droite : nette
  • représentation des distances et des angles : nette
  • détourage des fauteuils : imprécis en raison de passages successifs du robot dans la zone et qui causent une surimpression des contours.

Autre observation : équipé d’un Lidar, technologie de télédétection par laser, la cartographie intègre des zones qui ne sont en réalité pas accessibles. En effet, l’environnement de test (open space) se compose de nombreux obstacles vitrés, ne pouvant être détectés par le LIDAR en raison du caractère transparent de ces éléments.

Fiabilité et résilience face aux entités mobiles

  • Personnes en mouvement dans l’espace : on ne constate pas de trous ou d’instabilités particulières liés aux personnes évoluant dans l’espace. Les trous en gris correspondent à des zones inconnues que l’algorithme n’a pu déterminer comme zone libre ou obstacle : cela est dû à la portée du LIDAR (4 mètres) du démonstrateur robotique “EMOX ONE”, qui sert ici de plateforme de test (cf. méthodologie de l’étude en fin d’article). Par défaut, les algorithmes ne considèrent pas une absence d’information comme une absence d’obstacle dans le but de limiter les erreurs de cartographie.
  • Autres obstacles mobiles détectés : sur la partie droite de la carte, on constate des artefacts, effets artificiels représentés par des points-obstacles. À cette altitude du LIDAR se trouvait pourtant un mur plein bien plus proche. S’agissant à la fois de la section la plus ensoleillée du parcours et de celle avec le plus d’artefacts, nous pouvons supposer que ces erreurs sont causées par une trop forte luminosité.

Fiabilité et résilience face aux bugs

Des bugs ont été provoqués volontairement par le gel du Lidar et de l’odométrie alors que le robot poursuivait son déplacement. Le but : apprécier la capacité de la technologie à auto-corriger les données après réactivation du Lidar et de l’odométrie.

 Test GMapping : gel LIDAR

  • 10 secondes de gel LIDAR dans un couloir à t=100s
  • 10 secondes de gel odométrie en plein virage à t=155s
GMapping : test avec gel Lidar

Les bugs ont été générés sur le premier passage du robot au sein de l’espace. Nous pouvons observer qu’un gel du LIDAR pour une durée modérée n’affecte presque pas le rendu de la carte. En effet, l’algorithme va laisser des zones d’inconnues sur cette plage : ces données seront récupérées lors d’un prochain passage du robot.

Le gel de l’odométrie, opéré 5 secondes après le gel du Lidar, parait causer davantage d’erreurs dans la construction, en particulier si le gel intervient lors d’une rotation.

Test GMapping : gel LIDAR & odométrie

  • 10 secondes de gel LIDAR & odométrie dans un couloir à t=100s
  • 10 secondes de gel LIDAR & odométrie en plein virage à t=155s
GMapping : test avec gel du lidar et de l'odométrie

Ajouté simultanément au gel du Lidar, un gel de l’odométrie engendre une nouvelle fois des erreurs : la carte devient floue, voire se duplique, et les fermetures de boucles n’aboutissent pas.

Ainsi, GMapping résiste bien aux coupures de LIDAR mais reste particulièrement sensible aux erreurs d’odométrie.

Test GMapping :

  • publication de l’odométrie limitée à un message toutes les 3 secondes
GMapping : test avec gel du lidar et de l'odométrie

La fréquence de publication de l’odométrie a été volontairement affaiblie : malgré tout, la cartographie reste de très bonne qualité.

Ainsi, dans la conception ou l’utilisation d’un robot mobile, il est tout à fait justifié d’accorder une attention particulière à la qualité de l’odométrie. Avec GMapping, il est toutefois préférable de privilégier un taux de publication bas à un taux de publication haut erroné ou accompagné de risques de chutes de données.

Evaluation de GMapping

LE VERDICT

Des résultats concluants à ce stade : cette technologie figure aujourd’hui parmi les plus utilisées et à juste titre. GMapping montre son intérêt notamment lorsqu’un robot ne dispose que de très peu de ressources systèmes et que celui-ci est amené à avoir des taux de publication très bas.

À voir dans les prochaines semaines si les autres technologies benchmarkées ont beaucoup à lui envier !

En savoir plus sur Awabot IntelligenceNous contacter
MÉTHODOLOGIE DE L’ÉTUDE

Le démonstrateur robotique “Emox One” au service du benchmark technologique

L’étude se construit à partir de données recueillies par la plateforme de test EMOX One développée par Awabot Intelligence.

Critères de sélection des algorithmes

Cette étude vise à évaluer les SLAM utilisant des télémètres laser (LIDAR) 2D ainsi que des technologies de cartographie par caméras. En effet, les LIDAR 2D permettent de générer la carte d’un environnement à altitude fixe, l’altitude où est fixé le laser. À l’inverse, une caméra bien calibrée pourra scanner une pièce dans sa totalité et proposer une modélisation 3D de l’environnement. Cette modélisation sera moins précise, mais l’investissement sera réduit comparé à l’utilisation d’un système LIDAR 3D.

Pour réaliser notre étude, nous avons sélectionné des algorithmes sur la base de plusieurs critères : projet disponible pour ROS, code Open Source, nombre de contributeurs au développement du code, date de la dernière évolution du code, popularité du projet basée sur le nombre de forks, le nombre de vues des vidéos internet, ratio de bugs repérés et résolus par la communauté.
Un tableau comparatif a été établi :

Emox One, démonstrateur robotique
Caméra RGB-D ASUS Xtion / Haut-parleur et microphone
LIDAR 240° Hokuyo URG-04LX-UG01
Carte Nvidia Jetson TX1 / Ubuntu 16.04 & ROS Kinetic
Base roulante Kobuki
Tête articulée par 3 axes : 1° de liberté en lacet, 2° en tangage
Pico-projecteur
Tableau comparatif des technologies SLAM par Awabot Intelligence
Le tableau ci-dessus a permis de retenir trois technologies LIDAR 2D :

  • Hector SLAM,
  • GMapping,
  • Google Cartographer.

Ainsi qu’une une technologie caméra :

  • RTABMAP.

Enfin, les éléments étudiés concernant les algorithmes cités portent sur :

  • la qualité générale de la carte ;
  • les artefacts et la résilience face aux entités mobiles ;
  • la résilience aux bugs ;
  • la consommation des ressources systèmes.