Open Source Robotics

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

LiDAR Odometry

  • También llamado: laser odometry, LO
  • Categoría: State estimation & navigation › Localisation
  • Etiquetas: lidar, odometry, slam, state-estimation, point-cloud-registration

Estimación del movimiento de un robot registrando escaneos LiDAR sucesivos entre sí o frente a un mapa local; deriva con la distancia salvo que la corrija un cierre de bucle.

Definición

Odometría LiDAR (LiDAR odometry) estima el movimiento de un sensor LiDAR, y del robot que lo lleva, alineando cada nuevo escaneo con los datos anteriores. Es una forma de odometría: como la odometría de ruedas o la odometría visual, integra el movimiento relativo a lo largo del tiempo y por eso acumula deriva. Se diferencia de la odometría visual en su entrada, mediciones directas de distancia en lugar de imágenes de cámara, lo que da escala métrica con un solo sensor y la hace en gran medida independiente de la iluminación. Se diferencia de Iterative Closest Point en su alcance: ICP es un algoritmo de registro, a menudo usado dentro de un sistema de odometría LiDAR, mientras que la odometría LiDAR es toda la cadena de preprocesamiento, registro, compensación del movimiento y gestión del mapa.

Existen dos familias principales. Los métodos basados en características, como LOAM de Zhang y Singh en 2014, extraen puntos de arista y puntos planos de cada escaneo y los emparejan con características de un mapa local. Los métodos densos registran la mayoría de los puntos, normalmente con ICP punto a plano o con una Normal Distributions Transform, frente al escaneo anterior o a un mapa local submuestreado. El registro de escaneo a mapa deriva menos que el registro de escaneo a escaneo, porque cada escaneo se alinea con una estructura construida a partir de muchos escaneos anteriores.

Un LiDAR giratorio toma un escaneo a lo largo de una rotación completa, de modo que un sensor en movimiento lo distorsiona. Los sistemas lo corrigen eliminando la distorsión de los puntos (de-skewing) mediante una velocidad constante supuesta, una IMU o, como en CT-ICP, una trayectoria en tiempo continuo con poses distintas al principio y al final de cada escaneo. La odometría LiDAR tiene dificultades donde la geometría no restringe los seis grados de libertad: pasillos largos, túneles, campo abierto y carreteras planas. La fusión estrecha con una IMU, como en la odometría LiDAR-inercial, ayuda con los movimientos rápidos y los tramos degenerados cortos, y un sistema SLAM completo añade cierre de bucle y optimización de grafos de poses para eliminar la deriva acumulada.

Por qué importa

La odometría LiDAR es la principal fuente de estimaciones de movimiento para muchos vehículos autónomos, robots móviles y sistemas de mapeo, sobre todo en exteriores y en la oscuridad, donde las cámaras tienen dificultades. Su precisión limita la calidad de cada mapa y de cada resultado de localización construidos sobre ella.

Aplicaciones clave

  • Estimación del movimiento propio para coches autónomos y robots de reparto
  • Front end de sistemas SLAM LiDAR y de mapeo 3D
  • Mapeo móvil de mano y en mochila
  • Navegación en minas, túneles y otros entornos oscuros
  • Estimación de estado para robots con patas y drones con LiDAR a bordo

En la práctica

Un equipo monta un LiDAR giratorio y una IMU en un robot topográfico que recorre una obra. Cada escaneo se corrige de distorsión con la IMU, se submuestrea en una rejilla de vóxeles y se registra con ICP punto a plano frente a un mapa local de escaneos recientes. La pose resultante alimenta la pila de navegación del robot a la frecuencia de escaneo. Cuando el robot recorre un pasillo largo y vacío, el equipo ve que la estimación de la posición se estira a lo largo del eje del pasillo, porque las paredes no restringen el movimiento en esa dirección; añaden una comprobación de degeneración sobre la solución de ICP, confían más en la IMU y en la odometría de ruedas en esos tramos y ejecutan el cierre de bucle offline para corregir el mapa final.

Ideas erróneas comunes

  • La odometría LiDAR da posiciones globales sin deriva — integra el movimiento relativo y deriva, por lo que en recorridos largos se necesita un cierre de bucle o una referencia global
  • La odometría LiDAR es lo mismo que ICP — ICP es un paso de registro; la odometría incluye además la corrección de distorsión, el filtrado, la gestión del mapa y a menudo la fusión con una IMU
  • Como el LiDAR mide la distancia directamente, funciona en todas partes — las escenas geométricamente sin rasgos, como túneles o campo abierto, dejan algunas direcciones sin restringir
  • Cada escaneo es una instantánea tomada en un único instante — un LiDAR giratorio barre a lo largo del tiempo, por lo que un sensor en movimiento produce escaneos distorsionados salvo que se corrijan

Quién debería saberlo

  • Ingenieros de SLAM y de estimación de estado
  • Equipos de percepción para conducción autónoma
  • Desarrolladores de mapeo móvil y de topografía
  • Ingenieros de robótica de campo que trabajan en exteriores o bajo tierra

Tecnologías relacionadas

  • LOAM
  • KISS-ICP
  • CT-ICP
  • Odometría LiDAR-inercial (Lidar-Inertial Odometry)
  • Normal Distributions Transform

Términos relacionados

  • Odometry
  • Visual Odometry
  • Iterative Closest Point
  • LIDAR
  • Loop Closure
  • SLAM

Proyectos relacionados

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • evo: De-facto standard tool for evaluating and plotting odometry/SLAM trajectories

Vídeos

  • LiDAR Odometry - 5 Minutes with Cyrill: Cyrill Stachniss

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