Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Visual-Inertial Odometry

  • Detto anche: VIO, visual-inertial navigation
  • Categoria: State estimation & navigation › Localisation
  • Tag: state-estimation, odometry, imu, computer-vision, drones

Stima della posizione, dell'orientamento e della velocità di un robot fondendo immagini di telecamera con misure dell'IMU; l'IMU colma le lacune tra i fotogrammi e rende osservabile la scala metrica.

Definizione

L'odometria visivo-inerziale (VIO) (visual-inertial odometry) stima il moto di una telecamera montata rigidamente insieme a un'unità di misura inerziale (IMU). La telecamera traccia feature visive o intensità dell'immagine da un fotogramma all'altro, il che vincola bene la rotazione e la direzione della traslazione ma deriva lentamente e, con una sola telecamera, non può recuperare la scala metrica. L'IMU misura la velocità angolare e la forza specifica a una frequenza molto più alta; integrarla dà il moto a breve termine e rende osservabili la direzione della gravità e la scala metrica, ma da sola l'errore di integrazione cresce rapidamente. Combinare le due fornisce una stima più precisa e più robusta di quella di ciascun sensore da solo, e la VIO è uno stimatore dello stato standard su droni, visori AR e molti robot con zampe.

I sistemi si differenziano lungo due assi. I metodi basati su filtro, come il filtro di Kalman con vincoli multi-stato (MSCKF) di Mourikis e Roumeliotis (2007) e ROVIO, propagano lo stato con l'IMU e lo aggiornano con le misure visive. I metodi basati sull'ottimizzazione, come OKVIS e VINS-Mono, risolvono un problema ai minimi quadrati non lineari a finestra scorrevole sui keyframe recenti, di solito con fattori di preintegrazione dell'IMU tra di essi. Entrambi i tipi possono essere strettamente accoppiati, usando le osservazioni delle feature direttamente nello stimatore, oppure debolmente accoppiati, fondendo una posa calcolata separatamente da una pipeline di visione. I front-end basati su feature tracciano angoli o descrittori; i metodi diretti lavorano sulle intensità dei pixel.

La VIO resta odometria. La posizione e l'imbardata attorno all'asse della gravità non sono osservabili, quindi derivano senza chiusura del loop o un riferimento esterno, mentre rollio e beccheggio restano limitati perché l'IMU percepisce la gravità. La precisione dipende molto dalla calibrazione (parametri intrinseci della telecamera, estrinseci telecamera-IMU e offset temporale tra i due sensori) e dall'inizializzazione, che deve stimare gravità, scala, velocità e bias. Il moto rapido causa mosso e grandi spostamenti delle feature, la scarsa texture e l'illuminazione insufficiente lasciano il front-end senza dati, e il moto a velocità costante lascia scala e bias debolmente osservabili. La voce odometria visiva tratta il caso con sola telecamera; la VIO si distingue perché tratta l'IMU come una misura a pieno titolo all'interno dello stimatore e non come un ausilio opzionale.

Perché è importante

La VIO fornisce a una coppia di sensori leggera, economica ed efficiente dal punto di vista energetico una stima della posa metrica e ad alta frequenza senza GPS né motion capture esterno. Droni agili, dispositivi AR mobili e molti robot da campo si basano su di essa, e i suoi modi di guasto (deriva, errore di scala e perdita del tracciamento durante il moto rapido) pongono limiti a quanto aggressivamente questi robot possono muoversi.

Applicazioni principali

  • Volo di droni senza GPS, in interni, sotto la chioma degli alberi e vicino a strutture
  • Tracciamento della testa e dei dispositivi per la realtà aumentata e virtuale
  • Stima dello stato per robot con zampe e dispositivi di mappatura portatili
  • Front-end per sistemi SLAM visivo-inerziali
  • Navigazione di velivoli e lander dove il posizionamento satellitare non è disponibile

In pratica

Un gruppo che costruisce un quadricottero autonomo da corsa monta una telecamera stereo con otturatore globale e un'IMU sulla stessa piastra rigida, poi calibra i parametri intrinseci della telecamera, gli estrinseci telecamera-IMU e l'offset temporale con un bersaglio di calibrazione e uno strumento come Kalibr. Sul veicolo, uno stimatore a finestra scorrevole traccia le feature alla frequenza della telecamera e integra l'IMU tra i fotogrammi, pubblicando posa e velocità per il controllore alla frequenza dell'IMU. Nelle virate veloci, il mosso accorcia le tracce delle feature e la stima della posizione deriva lungo il percorso, quindi il gruppo fonde le rilevazioni dei gate di gara, le cui posizioni approssimative sono note, per correggere la deriva accumulata. Registra a ogni volo le uscite dello stimatore relative ai bias e al numero di feature, poiché un numero di feature in calo è di solito il primo segnale di un guasto imminente.

Idee sbagliate comuni

  • La VIO fornisce una posizione assoluta — è odometria: posizione e rotta derivano con la distanza a meno che non vengano corrette dalla chiusura del loop, da una mappa o da un riferimento esterno
  • Aggiungere un'IMU risolve ogni guasto dell'odometria visiva — l'IMU colma brevi lacune, ma lunghi periodi senza feature tracciabili causano comunque deriva e possono compromettere l'inizializzazione
  • Qualsiasi telecamera e IMU possono essere combinate senza attenzione — una calibrazione estrinseca accurata e la sincronizzazione temporale spesso decidono se lo stimatore funziona o diverge

Chi dovrebbe saperlo

  • Ingegneri di stima dello stato e SLAM
  • Sviluppatori di droni e di robotica aerea
  • Ingegneri del tracciamento per AR e VR
  • Ingegneri della navigazione di robot con zampe e robot mobili

Tecnologie correlate

  • VINS-Mono
  • OKVIS
  • MSCKF
  • ROVIO
  • ORB-SLAM3
  • Kalibr

Termini correlati

  • Visual Odometry
  • IMU
  • IMU Preintegration
  • Tightly Coupled Sensor Fusion
  • Sensor Fusion
  • SLAM

Progetti correlati

  • 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

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.