Lidar y SLAM
También disponible en: Català · English
El problema: la deriva
Un robot con ruedas estima su posición contando vueltas (odometría). Cada pequeño error se suma: drift.
Intuición: caminar con los ojos cerrados contando pasos te desvía; con los ojos abiertos comparas y te corriges.
Lidar
Mide la distancia con luz (tiempo de vuelo) en muchas direcciones a la vez: un scan. Funciona de noche y es preciso. Ejemplo: el Go2 lleva un lidar 4D L2 (360° × 96°, distancia mínima 0,05 m).
SLAM
Simultaneous Localization And Mapping: construye el mapa y se localiza dentro a la vez. Alinear cada scan nuevo con el mapa (scan matching, por ejemplo ICP) corrige la deriva. Es el huevo y la gallina: para mapear necesitas saber dónde estás, y para saberlo, el mapa.
- Occupancy grid: mapa de celdas libre / ocupado / desconocido.
- Loop closure: reconocer un sitio ya visitado y corregir todo el mapa; es el momento en que el mapa «salta» a su sitio.
- Sistemas reales: LIO-SAM, LeGO-LOAM.
En la demo
Primero solo con ruedas: el error crece. Luego activa SLAM: el mapa se construye y la posición se mantiene. Conduce con las flechas del teclado.
Demo interactiva
Conceptos relacionados
Sensor de distancia por ultrasonidos
Emite un pulso y mide cuánto tarda el eco: d = c · t / 2. La velocidad del sonido depende de la temperatura, así que si no la compensas la lectura se desvía.
IMU y fusión de sensores
El acelerómetro sabe dónde está abajo pero se confunde al moverse; el giroscopio es suave pero deriva. Un filtro complementario usa el giroscopio a corto plazo y el acelerómetro a largo plazo.
Frames de coordenadas y transformaciones
Un punto solo tiene coordenadas respecto a un frame (origen + ejes). Para pasar del frame del robot al del mundo: p_world = R(θ) · p_robot + t.