Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Visual-Inertial Odometry

  • Aussi appelé: VIO, visual-inertial navigation
  • Catégorie: State estimation & navigation › Localisation
  • Mots-clés: state-estimation, odometry, imu, computer-vision, drones

Estimation de la position, de l'orientation et de la vitesse d'un robot en fusionnant les images d'une caméra avec les mesures d'une IMU ; l'IMU comble les intervalles entre les images et rend l'échelle métrique observable.

Définition

L'odométrie visuelle-inertielle (VIO) (visual-inertial odometry) estime le mouvement d'une caméra montée rigidement avec une unité de mesure inertielle (IMU). La caméra suit des points d'intérêt ou des intensités d'image d'une image à l'autre, ce qui contraint bien la rotation et la direction de la translation mais dérive lentement et, avec une seule caméra, ne permet pas de retrouver l'échelle métrique. L'IMU mesure la vitesse angulaire et la force spécifique à une fréquence bien plus élevée ; son intégration donne le mouvement à court terme et rend observables la direction de la gravité et l'échelle métrique, mais à elle seule l'erreur d'intégration croît rapidement. La combinaison des deux donne une estimation plus précise et plus robuste que chaque capteur seul, et la VIO est un estimateur d'état standard sur les drones, les casques de réalité augmentée et de nombreux robots à pattes.

Les systèmes diffèrent selon deux axes. Les méthodes fondées sur le filtrage, comme le multi-state constraint Kalman filter (MSCKF) de Mourikis et Roumeliotis (2007) et ROVIO, propagent l'état avec l'IMU et le mettent à jour avec les mesures visuelles. Les méthodes fondées sur l'optimisation, comme OKVIS et VINS-Mono, résolvent un problème de moindres carrés non linéaires sur une fenêtre glissante des images clés récentes, généralement avec des facteurs de préintégration IMU entre elles. Les deux types peuvent être fortement couplés, en utilisant directement les observations de points d'intérêt dans l'estimateur, ou faiblement couplés, en fusionnant une pose calculée séparément par une chaîne de vision. Les frontaux fondés sur les points d'intérêt suivent des coins ou des descripteurs ; les méthodes directes travaillent sur les intensités des pixels.

La VIO reste de l'odométrie. La position et le lacet autour de l'axe de gravité ne sont pas observables et dérivent donc sans fermeture de boucle ni référence externe, tandis que le roulis et le tangage restent bornés parce que l'IMU perçoit la gravité. La précision dépend fortement de l'étalonnage (paramètres intrinsèques de la caméra, paramètres extrinsèques caméra-IMU et décalage temporel entre les deux capteurs) et de l'initialisation, qui doit estimer la gravité, l'échelle, la vitesse et les biais. Un mouvement rapide provoque du flou de bougé et de grands déplacements des points d'intérêt, une faible texture et un mauvais éclairage privent le frontal d'information, et un mouvement à vitesse constante ne laisse l'échelle et les biais que faiblement observables. L'entrée odométrie visuelle couvre le cas avec caméra seule ; la VIO s'en distingue en traitant l'IMU comme une mesure à part entière dans l'estimateur plutôt que comme une aide facultative.

Pourquoi c'est important

La VIO donne à une paire de capteurs légère, peu coûteuse et économe en énergie une estimation de pose métrique à haute fréquence, sans GPS ni capture de mouvement externe. Les drones agiles, les appareils mobiles de réalité augmentée et de nombreux robots de terrain en dépendent, et ses modes de défaillance (dérive, erreur d'échelle et perte de suivi lors de mouvements rapides) limitent l'agressivité avec laquelle ces robots peuvent se déplacer.

Applications principales

  • Vol de drones sans GPS, en intérieur, sous la canopée et près des structures
  • Suivi de la tête et des appareils pour la réalité augmentée et virtuelle
  • Estimation d'état pour robots à pattes et appareils de cartographie portatifs
  • Frontal pour systèmes de SLAM visuel-inertiel
  • Navigation des engins aériens et des atterrisseurs là où le positionnement par satellite n'est pas disponible

En pratique

Une équipe qui construit un quadrirotor de course autonome monte une caméra stéréo à obturateur global et une IMU sur la même plaque rigide, puis étalonne les paramètres intrinsèques de la caméra, les paramètres extrinsèques caméra-IMU et le décalage temporel avec une mire d'étalonnage et un outil comme Kalibr. À bord, un estimateur à fenêtre glissante suit les points d'intérêt à la fréquence de la caméra et intègre l'IMU entre les images, en publiant la pose et la vitesse vers le contrôleur à la fréquence de l'IMU. Dans les virages rapides, le flou de bougé raccourcit les pistes de points d'intérêt et l'estimation de position dérive au fil du parcours ; l'équipe fusionne donc les détections des portes de course, dont les positions approximatives sont connues, pour corriger la dérive accumulée. Elle enregistre à chaque vol les sorties de biais et de nombre de points d'intérêt de l'estimateur, car une baisse du nombre de points d'intérêt est généralement le premier signe d'une défaillance imminente.

Idées reçues

  • La VIO donne une position absolue — c'est de l'odométrie : la position et le cap dérivent avec la distance, sauf correction par fermeture de boucle, carte ou référence externe
  • Ajouter une IMU corrige toutes les défaillances de l'odométrie visuelle — l'IMU comble de courts intervalles, mais de longues périodes sans points d'intérêt exploitables provoquent toujours une dérive et peuvent faire échouer l'initialisation
  • N'importe quelle caméra et n'importe quelle IMU peuvent être combinées sans précaution — un étalonnage extrinsèque précis et la synchronisation temporelle décident souvent si l'estimateur fonctionne ou diverge

Qui devrait le savoir

  • Ingénieurs en estimation d'état et en SLAM
  • Développeurs de drones et de robotique aérienne
  • Ingénieurs en suivi pour la RA et la RV
  • Ingénieurs en navigation de robots à pattes et de robots mobiles

Technologies associées

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

Termes associés

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

Projets associés

  • 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

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.