Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Elevation Map

  • Aussi appelé: height map, 2.5D map, digital elevation model
  • Catégorie: Sensing › 3D maps & reconstruction
  • Mots-clés: mapping, terrain, legged-locomotion, 3d-perception, navigation

Une carte en grille 2,5D du terrain qui stocke une valeur de hauteur, souvent avec une incertitude, pour chaque cellule horizontale ; une entrée standard de la planification des robots à pattes et tout-terrain.

Définition

Une carte d'élévation (elevation map) est une grille sur le plan du sol dans laquelle chaque cellule contient la hauteur de la surface du terrain à cet endroit. Comme elle ne stocke qu'une hauteur par cellule, on la qualifie souvent de représentation 2,5D : plus riche qu'une grille d'occupation plane, et bien moins coûteuse qu'une carte 3D complète en voxels. Les cellules portent généralement aussi une variance ou un indice de confiance, et de nombreux systèmes ajoutent d'autres couches pour les normales de surface, la pente, la rugosité ou la traversabilité calculées à partir des hauteurs.

Construire une carte d'élévation consiste à fusionner des données de distance au fil du temps. Chaque image de profondeur ou balayage LiDAR est transformé dans le repère de la carte à l'aide de la pose du robot, les points sont répartis dans les cellules, et chaque nouvelle mesure de hauteur est fusionnée avec l'estimation stockée, souvent par une mise à jour de type filtre de Kalman pondérée par le bruit du capteur. Les erreurs d'estimation de pose étalent la carte, si bien que la dérive de l'odométrie limite directement sa qualité. La cartographie d'élévation centrée sur le robot (robot-centric elevation mapping), développée à l'ETH Zurich pour des robots à pattes comme ANYmal, garde la carte attachée au robot et augmente l'incertitude des cellules à mesure que le robot s'éloigne de l'endroit où elles ont été observées, de sorte que le terrain près des pieds reste cohérent même quand la position globale dérive. Les implémentations sur GPU permettent de mettre à jour la carte à la cadence de la caméra.

L'hypothèse d'une hauteur unique est aussi la principale limite. Les surplombs, les tables, les tunnels et les structures à plusieurs étages ne peuvent pas être représentés, et les zones cachées derrière des marches ou des rochers restent inconnues à moins d'être comblées par interpolation ou par inpainting appris. Les cartes de surfaces multi-niveaux et les cartes 3D complètes traitent ces cas à un coût supplémentaire. En locomotion à pattes, les cartes d'élévation alimentent les planificateurs d'appuis, fournissent des échantillons de hauteur autour de chaque pied comme entrées de politiques apprises, et servent aux estimations de traversabilité pour la planification de chemin.

Pourquoi c'est important

Les robots à pattes et les véhicules tout-terrain doivent savoir où se trouve le sol, et pas seulement où sont les obstacles. Une carte d'élévation le fournit sous une forme compacte que les planificateurs et les politiques apprises peuvent interroger rapidement, et elle est devenue une interface courante entre la perception et la locomotion adaptée au terrain.

Applications principales

  • Locomotion perceptive de quadrupèdes et d'humanoïdes sur des escaliers et des sols accidentés
  • Planification des appuis et évitement des bords de marche
  • Analyse de traversabilité pour véhicules tout-terrain et rovers planétaires
  • Entrées de balayage de hauteur pour des politiques de locomotion apprises
  • Cartographie du terrain pour robots agricoles et de construction

En pratique

Sur un quadrupède qui monte des escaliers, des caméras de profondeur montées sur le corps produisent des nuages de points plusieurs fois par seconde. Chaque nuage est transformé dans un repère de carte centré sur le robot avec la pose issue de l'odométrie visuelle-inertielle ou de l'odométrie des jambes, puis fusionné dans une grille aux cellules de quelques centimètres de côté. Le contrôleur échantillonne les hauteurs selon un motif autour de chaque pied et les transmet, avec la proprioception, à une politique de locomotion, ou passe la carte à un planificateur d'appuis qui rejette les cellules proches des bords de marche. Les ingénieurs surveillent les artefacts comme les pics causés par l'entrée des propres jambes du robot dans le champ de la caméra et les filtrent avant que la carte n'atteigne le contrôleur.

Idées reçues

  • Une carte d'élévation est une carte 3D complète — elle stocke une hauteur par cellule et ne peut pas représenter les surplombs, les tables ou plusieurs étages
  • Les cellules sans données sont du sol plat — les cellules non observées, souvent derrière des obstacles, sont inconnues et doivent être traitées avec prudence ou comblées explicitement
  • La qualité de la carte ne dépend que du capteur de profondeur — les erreurs de pose étalent les hauteurs sur plusieurs cellules, donc la qualité de l'odométrie compte autant que le capteur

Qui devrait le savoir

  • Ingénieurs en locomotion à pattes travaillant sur la commande perceptive
  • Développeurs en robotique de terrain et tout-terrain
  • Ingénieurs en cartographie et en perception
  • Chercheurs en robotique planétaire et agricole

Technologies associées

  • Bibliothèque Grid Map (Grid Map Library)
  • Cartographie d'élévation centrée sur le robot (Robot-Centric Elevation Mapping)
  • Odométrie visuelle-inertielle (Visual-Inertial Odometry)
  • OctoMap
  • Cartes de surfaces multi-niveaux (Multi-Level Surface Maps)

Termes associés

  • Terrain Traversability
  • Point Cloud
  • Depth Camera
  • Odometry
  • Octree
  • Foothold Planning

Projets associés

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • RTAB-Map: Versatile graph-based SLAM supporting RGB-D, stereo, and LiDAR with real-time operation

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.