Skip to main content

Test & analyse de Hector Slam

Suite du benchmark des technologies de cartographie qu’utilisent les robots mobiles dans des environnements intérieurs. Après GMapping, c’est au tour de l’algorithme Hector SLAM d’être évalué.

Cette technologie LIDAR 2D a été évaluée sur la base de différents critères (méthodologie de l’étude disponible en fin d’article) et testée dans un environnement fréquenté de type “open space”. Pour rappel, les résultats sont tirés de l’étude produite par Awabot Intelligence,disponible à la demande en cliquant sur le bouton ci-dessous.

Demander l'étude "QUELLE TECHNOLOGIE SLAM EST LA PLUS ADAPTÉE À VOTRE ROBOT ?"

Présentation de la technologie Hector SLAM

Justifiant d’une intégration précoce au sein du  système d’exploitation robotique de référence ROS (Robot Operating System), Hector SLAM est très répandu et facile à installer. Son développement a commencé en 2011 et se poursuit encore aujourd’hui. 

Consommant peu de ressources processeur pour opérer des calculs, Hector SLAM nécessite seulement l’utilisation des données du Laser pour fonctionner. Cet algorithme peut également s’appuyer sur une centrale inertielle, outil permettant d’estimer une orientation, une vitesse linéaire et une position.

À la différence de GMapping, il n’utilise pas l’odométrie. Hector SLAM peut donc s’intégrer dans une grande diversité de projets robotiques, notamment auprès de drones où l’odométrie est absente faute de contacts avec le sol.

Qualité générale de la cartographie

Cartographie Hector SLAM
Cartographie de fauteuils
Cartographie de murs et d’alcôves

La cartographie est de qualité moyenne : on constate notamment l’absence de fermeture de boucle qui s’avère problématique pour la bonne représentativité de l’espace.

Autres observations :

  • cartographie de la reconstruction de rotations : imprécis
  • détourage des fauteuils (de forme circulaire) : précis
  • cartographie en temps réels des couloirs en ligne droite (murs, alcôves, etc.). : nette

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

Dans le cas de l’étude, les technologies sont testées au sein d’un espace complexe de type open space (obstacles, personnes en mouvemement, cloisons vitrées…). Le lieu est en forme d’anneau de grande dimension et dispose de plusieurs pièces.

Malheureusement, le résultat de la cartographie de l’espace n’est pas représentatif d’une cartographie classique : ni les artefacts, ni la résilience face aux entités mobiles et aux bugs n’ont pu être évalués.

Afin d’approfondir l’étude, un second test a été réalisé : cette fois-ci, l’espace de test se compose d’une unique pièce à l’architecture dépouillée.

Mapping d'une pièce avec Hector SLAM

Cartographie d’une chambre avec Hector SLAM réglé en résolution à 5 centimètres par bloc

Cartographie d'une pièce avec Hector SLAM

Cartographie d’une chambre avec Hector SLAM réglé en résolution à 2,5 centimètres par bloc

Pour cet essai, un Turtlebot3 Burger (plateforme robotique mobile particulièrement compacte et légère) a été employé.

Une diminution de la résolution a permis à Hector SLAM de réaliser une fermeture de boucle. Malgré le sacrifice de la résolution, aucune fermeture de boucle n’a pu être obtenue sur la trajectoire “en P”.

Consommation en ressources système

Consommation système Hector SLAM

Graphe d’utilisation des ressources pour un ordinateur doté de 8 coeurs à 2.80GHz et de 16Go de RAM

Hector SLAM utilise une valeur constante des capacités CPU et RAM de l’ordinateur. Ces valeurs sont faibles par rapport aux autres algorithmes, ce qui est un bon point mais s’explique par l’absence d’algorithmes coûteux tels que ceux de fermeture de boucle. Hector SLAM s’appuie plutôt sur des capteurs (Lidar et IMU) de très bonne qualité.

Evaluation de Hector SLAM

LE VERDICT

Légère déception pour ce test Hector SLAM.  Une technologie que l’on retiendra pour une utilisation en cas d’absence d’odométrie et d’une architecture d’espace simple à cartographier.

À ce stade, GMapping reste donc la référence des technologies SLAM.

Rendez-vous dans deux petites semaines pour évaluer Google Cartographer puis RTABMAP.

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.