Visual-Inertial Odometry
- También llamado: VIO, visual-inertial navigation
- Categoría: State estimation & navigation › Localisation
- Etiquetas: state-estimation, odometry, imu, computer-vision, drones
Estimación de la posición, la orientación y la velocidad de un robot fusionando imágenes de cámara con medidas de una IMU; la IMU cubre los huecos entre fotogramas y hace observable la escala métrica.
Definición
Odometría visual-inercial (VIO) (visual-inertial odometry) estima el movimiento de una cámara montada rígidamente junto con una unidad de medición inercial (IMU). La cámara sigue características visuales o intensidades de imagen a lo largo de los fotogramas, lo que restringe bien la rotación y la dirección de la traslación, pero deriva lentamente y, con una sola cámara, no puede recuperar la escala métrica. La IMU mide la velocidad angular y la fuerza específica a una frecuencia mucho mayor; integrarla da el movimiento a corto plazo y hace observables la dirección de la gravedad y la escala métrica, pero por sí sola el error de integración crece rápidamente. Combinar ambas da una estimación más precisa y más robusta que cualquiera de los dos sensores por separado, y la VIO es un estimador de estado estándar en drones, visores de AR y muchos robots con patas.
Los sistemas difieren en dos aspectos. Los métodos basados en filtros, como el filtro de Kalman con restricciones multiestado (MSCKF) de Mourikis y Roumeliotis (2007) y ROVIO, propagan el estado con la IMU y lo actualizan con medidas visuales. Los métodos basados en optimización, como OKVIS y VINS-Mono, resuelven un problema de mínimos cuadrados no lineales en ventana deslizante sobre los fotogramas clave recientes, normalmente con factores de preintegración de IMU entre ellos. Cualquiera de los dos tipos puede ser fuertemente acoplado, usando las observaciones de características directamente en el estimador, o débilmente acoplado, fusionando una pose calculada por separado por una cadena de visión. Los front ends basados en características siguen esquinas o descriptores; los métodos directos trabajan sobre las intensidades de los píxeles.
La VIO sigue siendo odometría. La posición y la guiñada alrededor del eje de la gravedad no son observables, por lo que derivan sin cierre de bucle o una referencia externa, mientras que el alabeo y el cabeceo se mantienen acotados porque la IMU detecta la gravedad. La precisión depende mucho de la calibración (parámetros intrínsecos de la cámara, extrínsecos cámara-IMU y desfase temporal entre los dos sensores) y de la inicialización, que debe estimar la gravedad, la escala, la velocidad y los sesgos. El movimiento rápido provoca desenfoque de movimiento y grandes desplazamientos de las características, la poca textura y la mala iluminación dejan sin datos al front end, y el movimiento a velocidad constante deja la escala y los sesgos débilmente observables. La entrada sobre odometría visual trata el caso con solo cámara; la VIO se diferencia por tratar la IMU como una medida completa dentro del estimador y no como una ayuda opcional.
Por qué importa
La VIO da a un par de sensores ligero, económico y de bajo consumo una estimación de pose métrica y de alta frecuencia sin GPS ni captura de movimiento externa. Los drones ágiles, los dispositivos móviles de AR y muchos robots de campo dependen de ella, y sus modos de fallo (deriva, error de escala y pérdida de seguimiento durante el movimiento rápido) limitan lo agresivamente que pueden moverse esos robots.
Aplicaciones clave
- Vuelo de drones sin GPS, en interiores, bajo el dosel de los árboles y cerca de estructuras
- Seguimiento de la cabeza y de dispositivos para realidad aumentada y virtual
- Estimación de estado para robots con patas y dispositivos de mapeo portátiles
- Front end para sistemas de SLAM visual-inercial
- Navegación de vehículos aéreos y módulos de aterrizaje donde no hay posicionamiento por satélite
En la práctica
Un equipo que construye un cuadricóptero autónomo de carreras monta una cámara estéreo con obturador global y una IMU sobre la misma placa rígida, y después calibra los parámetros intrínsecos de la cámara, los extrínsecos cámara-IMU y el desfase temporal con un patrón de calibración y una herramienta como Kalibr. En el vehículo, un estimador de ventana deslizante sigue características a la frecuencia de la cámara e integra la IMU entre fotogramas, y publica la pose y la velocidad para el controlador a la frecuencia de la IMU. Durante los giros rápidos, el desenfoque de movimiento acorta los seguimientos de características y la estimación de posición deriva a lo largo del recorrido, por lo que el equipo fusiona las detecciones de las puertas de la carrera, cuyas posiciones aproximadas se conocen, para corregir la deriva acumulada. Registran en cada vuelo las salidas de sesgo y de número de características del estimador, ya que una caída del número de características suele ser el primer signo de un fallo inminente.
Ideas erróneas comunes
- La VIO da una posición absoluta — es odometría: la posición y el rumbo derivan con la distancia a menos que se corrijan con cierre de bucle, un mapa o una referencia externa
- Añadir una IMU soluciona todos los fallos de la odometría visual — la IMU cubre huecos cortos, pero los periodos largos sin características que seguir siguen causando deriva y pueden romper la inicialización
- Cualquier cámara e IMU pueden combinarse sin cuidado — una calibración extrínseca precisa y la sincronización temporal a menudo deciden si el estimador funciona o diverge
Quién debería saberlo
- Ingenieros de estimación de estado y de SLAM
- Desarrolladores de drones y de robótica aérea
- Ingenieros de seguimiento para AR y VR
- Ingenieros de navegación de robots con patas y robots móviles
Tecnologías relacionadas
- VINS-Mono
- OKVIS
- MSCKF
- ROVIO
- ORB-SLAM3
- Kalibr
Términos relacionados
Proyectos relacionados
- ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
- PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
- QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
- FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO