Visual-Inertial Odometry
- Também chamado: VIO, visual-inertial navigation
- Categoria: State estimation & navigation › Localisation
- Tags: state-estimation, odometry, imu, computer-vision, drones
Estimação da posição, da orientação e da velocidade de um robô pela fusão de imagens de câmera com medições de IMU; a IMU preenche as lacunas entre os quadros e torna a escala métrica observável.
Definição
Odometria visual-inercial (VIO) (visual-inertial odometry) estima o movimento de uma câmera montada rigidamente junto com uma unidade de medição inercial (IMU). A câmera rastreia características visuais ou intensidades de imagem ao longo dos quadros, o que restringe bem a rotação e a direção da translação, mas deriva lentamente e, com uma única câmera, não consegue recuperar a escala métrica. A IMU mede a velocidade angular e a força específica a uma taxa muito maior; integrá-la fornece o movimento de curto prazo e torna observáveis a direção da gravidade e a escala métrica, mas sozinha o erro de integração cresce rapidamente. Combinar os dois fornece uma estimativa mais precisa e mais robusta do que qualquer um dos sensores isoladamente, e a VIO é um estimador de estado padrão em drones, headsets de AR e muitos robôs com pernas.
Os sistemas diferem em dois aspectos. Os métodos baseados em filtro, como o filtro de Kalman com restrições de múltiplos estados (MSCKF) de Mourikis e Roumeliotis (2007) e o ROVIO, propagam o estado com a IMU e o atualizam com medições visuais. Os métodos baseados em otimização, como OKVIS e VINS-Mono, resolvem um problema de mínimos quadrados não lineares em janela deslizante sobre os quadros-chave recentes, geralmente com fatores de pré-integração da IMU entre eles. Qualquer um dos tipos pode ser fortemente acoplado, usando as observações de características diretamente no estimador, ou fracamente acoplado, fundindo uma pose calculada separadamente por um pipeline de visão. Front-ends baseados em características rastreiam cantos ou descritores; métodos diretos trabalham com as intensidades dos pixels.
A VIO continua sendo odometria. A posição e a guinada em torno do eixo da gravidade não são observáveis, por isso derivam sem fechamento de loop ou uma referência externa, enquanto a rolagem e a arfagem permanecem limitadas porque a IMU sente a gravidade. A precisão depende muito da calibração (parâmetros intrínsecos da câmera, extrínsecos câmera-IMU e defasagem temporal entre os dois sensores) e da inicialização, que precisa estimar a gravidade, a escala, a velocidade e os vieses. O movimento rápido causa borrão de movimento e grandes deslocamentos das características, pouca textura e iluminação ruim deixam o front-end sem dados, e o movimento a velocidade constante deixa a escala e os vieses fracamente observáveis. O verbete odometria visual cobre o caso apenas com câmera; a VIO difere por tratar a IMU como uma medição completa dentro do estimador, e não como um auxílio opcional.
Por que importa
A VIO dá a um par de sensores leve, barato e de baixo consumo uma estimativa de pose métrica e de alta taxa sem GPS nem captura de movimento externa. Drones ágeis, dispositivos móveis de AR e muitos robôs de campo dependem dela, e seus modos de falha (deriva, erro de escala e perda de rastreamento durante movimentos rápidos) limitam o quão agressivamente esses robôs podem se mover.
Principais aplicações
- Voo de drones sem GPS, em ambientes internos, sob a copa das árvores e perto de estruturas
- Rastreamento da cabeça e de dispositivos para realidade aumentada e virtual
- Estimação de estado para robôs com pernas e dispositivos portáteis de mapeamento
- Front-end para sistemas de SLAM visual-inercial
- Navegação de veículos aéreos e módulos de pouso onde o posicionamento por satélite não está disponível
Na prática
Uma equipe que constrói um quadricóptero autônomo de corrida monta uma câmera estéreo com obturador global e uma IMU sobre a mesma placa rígida e depois calibra os parâmetros intrínsecos da câmera, os extrínsecos câmera-IMU e a defasagem temporal com um alvo de calibração e uma ferramenta como o Kalibr. No veículo, um estimador de janela deslizante rastreia características na taxa da câmera e integra a IMU entre os quadros, publicando pose e velocidade para o controlador na taxa da IMU. Durante curvas rápidas, o borrão de movimento encurta os rastros de características e a estimativa de posição deriva ao longo do percurso, por isso a equipe funde as detecções dos portões da corrida, cujas posições aproximadas são conhecidas, para corrigir a deriva acumulada. Ela registra em todo voo as saídas de viés e de contagem de características do estimador, já que uma contagem de características em queda costuma ser o primeiro sinal de uma falha iminente.
Equívocos comuns
- A VIO fornece uma posição absoluta — ela é odometria: a posição e o rumo derivam com a distância, a menos que sejam corrigidos por fechamento de loop, um mapa ou uma referência externa
- Acrescentar uma IMU resolve todas as falhas da odometria visual — a IMU cobre lacunas curtas, mas longos períodos sem características rastreáveis ainda causam deriva e podem quebrar a inicialização
- Qualquer câmera e IMU podem ser combinadas sem cuidado — uma calibração extrínseca precisa e a sincronização temporal muitas vezes decidem se o estimador funciona ou diverge
Quem deve saber
- Engenheiros de estimação de estado e de SLAM
- Desenvolvedores de drones e de robótica aérea
- Engenheiros de rastreamento para AR e VR
- Engenheiros de navegação de robôs com pernas e robôs móveis
Tecnologias relacionadas
- VINS-Mono
- OKVIS
- MSCKF
- ROVIO
- ORB-SLAM3
- Kalibr
Termos relacionados
Projetos 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