Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Elevation Map

  • También llamado: height map, 2.5D map, digital elevation model
  • Categoría: Sensing › 3D maps & reconstruction
  • Etiquetas: mapping, terrain, legged-locomotion, 3d-perception, navigation

Un mapa de rejilla 2,5D del terreno que almacena un valor de altura, a menudo con una incertidumbre, para cada celda horizontal; una entrada estándar para la planificación de robots con patas y todoterreno.

Definición

Un mapa de elevación (elevation map) es una rejilla sobre el plano del suelo en la que cada celda contiene la altura de la superficie del terreno en esa ubicación. Como solo almacena una altura por celda, a menudo se le llama representación 2,5D: más rica que una rejilla de ocupación plana y mucho más barata que un mapa de vóxeles 3D completo. Las celdas suelen llevar también una varianza o una confianza, y muchos sistemas añaden capas adicionales de normales de superficie, pendiente, rugosidad o transitabilidad calculadas a partir de las alturas.

Construir un mapa de elevación significa fusionar datos de distancia a lo largo del tiempo. Cada imagen de profundidad o barrido LiDAR se transforma al sistema de referencia del mapa usando la pose del robot, los puntos se agrupan en celdas y cada nueva medición de altura se fusiona con la estimación almacenada, a menudo con una actualización de tipo filtro de Kalman ponderada por el ruido del sensor. Los errores en la estimación de la pose emborronan el mapa, así que la deriva de la odometría limita directamente la calidad del mapa. El mapeo de elevación centrado en el robot, desarrollado en la ETH Zurich para robots con patas como ANYmal, mantiene el mapa unido al robot y aumenta la incertidumbre de las celdas a medida que el robot se aleja de donde fueron observadas, de modo que el terreno cercano a los pies sigue siendo coherente aunque la posición global derive. Las implementaciones en GPU permiten actualizar el mapa a la frecuencia de la cámara.

La suposición de una sola altura es también la principal limitación. No se pueden representar voladizos, mesas, túneles ni estructuras de varias plantas, y las zonas ocultas tras escalones o rocas siguen siendo desconocidas salvo que se rellenen por interpolación o por inpainting aprendido. Los mapas de superficie multinivel y los mapas 3D completos manejan estos casos con un coste adicional. En la locomoción con patas, los mapas de elevación alimentan a los planificadores de puntos de apoyo, proporcionan muestras de altura alrededor de cada pie como entradas para políticas aprendidas y sirven de base a las estimaciones de transitabilidad para la planificación de trayectorias.

Por qué importa

Los robots con patas y los vehículos todoterreno necesitan saber dónde está el suelo, no solo dónde están los obstáculos. Un mapa de elevación lo proporciona en una forma compacta que los planificadores y las políticas aprendidas pueden consultar con rapidez, y se ha convertido en una interfaz habitual entre la percepción y la locomoción consciente del terreno.

Aplicaciones clave

  • Locomoción perceptiva de cuadrúpedos y humanoides en escaleras y terreno irregular
  • Planificación de puntos de apoyo y evitación de bordes de escalones
  • Análisis de transitabilidad para vehículos todoterreno y rovers planetarios
  • Entradas de escaneo de alturas para políticas de locomoción aprendidas
  • Cartografía del terreno para robots agrícolas y de construcción

En la práctica

En un cuadrúpedo que sube escaleras, las cámaras de profundidad del cuerpo producen nubes de puntos varias veces por segundo. Cada nube se transforma a un sistema de referencia del mapa centrado en el robot con la pose de la odometría visual-inercial o de las patas, y se fusiona en una rejilla con celdas de unos pocos centímetros de lado. El controlador muestrea alturas siguiendo un patrón alrededor de cada pie y las pasa, junto con la propiocepción, a una política de locomoción, o pasa el mapa a un planificador de puntos de apoyo que rechaza las celdas cercanas a los bordes de los escalones. Los ingenieros vigilan artefactos como los picos causados por las propias patas del robot al entrar en el campo de visión de la cámara, y los filtran antes de que el mapa llegue al controlador.

Ideas erróneas comunes

  • Un mapa de elevación es un mapa 3D completo — almacena una altura por celda y no puede representar voladizos, mesas ni varias plantas
  • Las celdas sin datos son suelo plano — las celdas no observadas, a menudo detrás de obstáculos, son desconocidas y deben tratarse con cautela o rellenarse explícitamente
  • La calidad del mapa depende solo del sensor de profundidad — los errores de pose emborronan las alturas entre celdas, así que la calidad de la odometría importa tanto como el sensor

Quién debería saberlo

  • Ingenieros de locomoción con patas que trabajan en control perceptivo
  • Desarrolladores de robótica de campo y todoterreno
  • Ingenieros de cartografía y percepción
  • Investigadores en robótica planetaria y agrícola

Tecnologías relacionadas

  • Biblioteca Grid Map (Grid Map Library)
  • Mapeo de elevación centrado en el robot (Robot-Centric Elevation Mapping)
  • Odometría visual-inercial (Visual-Inertial Odometry)
  • OctoMap
  • Mapas de superficie multinivel (Multi-Level Surface Maps)

Términos relacionados

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

Proyectos relacionados

  • 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

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.