Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

IMU Preintegration

  • Também chamado: preintegrated IMU factor, on-manifold preintegration
  • Categoria: State estimation & navigation › Localisation
  • Tags: imu, state-estimation, factor-graphs, sensor-fusion, slam

Combinar as muitas amostras da IMU entre dois quadros-chave em uma única medição de movimento relativo que não depende de seus estados absolutos, para que um otimizador não precise reintegrar quando as estimativas mudam.

Definição

Uma IMU produz amostras de acelerômetro e giroscópio com muito mais frequência do que uma câmera ou um LiDAR produz quadros. Em um estimador baseado em otimização, acrescentar um estado por amostra da IMU tornaria o problema grande demais, mas simplesmente integrar as amostras em uma pose tem outro problema: o resultado depende da orientação, da velocidade e dos vieses iniciais, que também estão sendo estimados. Cada vez que o otimizador os alterasse, todo o trecho de dados da IMU teria de ser integrado de novo. A pré-integração da IMU (IMU preintegration) evita isso integrando as medições entre dois estados no referencial do corpo do primeiro estado, produzindo variações relativas de rotação, velocidade e posição que não dependem da pose e da velocidade iniciais.

Lupton e Sukkarieh introduziram a pré-integração para a navegação visual-inercial (2012), e Forster, Carlone, Dellaert e Scaramuzza a reformularam sobre a variedade de rotações (2015, estendida em 2017); essa formulação é a que a maioria dos sistemas baseados em grafos de fatores usa hoje. A gravidade é tratada separadamente, sendo acrescentada de volta quando os termos pré-integrados são comparados com os dois estados. A dependência dos vieses é tratada com uma correção de primeira ordem: durante a integração, o método também acumula os jacobianos das grandezas pré-integradas em relação aos vieses do giroscópio e do acelerômetro, de modo que uma pequena mudança na estimativa do viés atualiza a medição a baixo custo. A covariância da medição combinada é propagada junto com ela, o que dá ao fator o seu peso. Se a estimativa do viés se afastar muito do valor usado durante a integração, a integração é refeita.

O resultado é um único fator de IMU entre quadros-chave consecutivos em um grafo de fatores, ligando suas poses, velocidades e vieses, geralmente junto com um fator que modela o passeio aleatório lento dos vieses. É isso que torna prático manter os dados da IMU dentro de estimadores de janela deslizante e de suavização completa, como VINS-Mono, o modo inercial do ORB-SLAM3, LIO-SAM e LVI-SAM. A precisão ainda depende dos parâmetros de ruído e de viés da IMU fornecidos ao fator, da sincronização temporal com outros sensores e do esquema de integração discreta, que supõe que as medições permanecem constantes ou variam de forma simples entre as amostras.

Por que importa

Sem pré-integração, a otimização visual-inercial e LiDAR-inercial fortemente acoplada seria lenta demais para rodar a bordo de um robô. É por causa dela que os dados da IMU podem ficar ao lado de medições de câmera, LiDAR e outras em um único grafo de fatores.

Principais aplicações

  • Odometria visual-inercial e back-ends de SLAM
  • Odometria e mapeamento LiDAR-inercial
  • Fusão em grafos de fatores de dados da IMU com GPS, radar ou odometria de rodas
  • Estimação online dos vieses do acelerômetro e do giroscópio
  • Calibração câmera-IMU e LiDAR-IMU

Na prática

Usando o GTSAM, um desenvolvedor cria um objeto de pré-integração com as densidades de ruído e os valores de passeio aleatório dos vieses da IMU, tirados da folha de dados ou de uma análise de variância de Allan de dados registrados. Cada amostra da IMU entre dois quadros-chave é inserida nele e, quando o próximo quadro-chave chega, o resultado acumulado se torna um fator de IMU que liga as variáveis de pose, velocidade e viés dos dois quadros-chave. Quando o otimizador atualiza os vieses mais tarde, o fator usa seus jacobianos armazenados em vez de reprocessar as amostras. Sistemas que se localizam com outros sensores, como o radar de penetração no solo, usam o mesmo fator para ligar as poses entre as medições de radar, menos frequentes.

Equívocos comuns

  • A pré-integração elimina a deriva da IMU — ela apenas reorganiza a integração; os erros de ruído e de viés continuam lá e precisam ser restringidos por outros sensores
  • A medição pré-integrada fica fixa depois de calculada — ela depende da estimativa do viés, que é corrigida em primeira ordem e exige reintegração se o viés mudar substancialmente
  • A pré-integração é apenas um truque de velocidade — ela também fornece uma covariância propagada corretamente, que é o que permite ao otimizador ponderar os dados da IMU em relação a outros sensores

Quem deve saber

  • Desenvolvedores de SLAM e de odometria visual-inercial
  • Engenheiros de estimação de estado
  • Engenheiros de navegação de drones e robôs com pernas
  • Pesquisadores que constroem estimadores com bibliotecas de grafos de fatores

Tecnologias relacionadas

  • GTSAM
  • Variância de Allan (Allan Variance)
  • Grupos de Lie (Lie Groups)
  • VINS-Mono
  • LIO-SAM
  • Sistemas de navegação inercial (Inertial Navigation Systems)

Termos relacionados

  • IMU
  • Factor Graph
  • Visual-Inertial Odometry
  • Tightly Coupled Sensor Fusion
  • Keyframe
  • LiDAR Odometry

Projetos 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
  • OpenCat: An open-source Arduino and Raspberry Pi-based quadruped robot pet framework
  • 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

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.