Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Visual-Inertial Odometry

  • Auch genannt: VIO, visual-inertial navigation
  • Kategorie: State estimation & navigation › Localisation
  • Schlagwörter: state-estimation, odometry, imu, computer-vision, drones

Schätzung von Position, Orientierung und Geschwindigkeit eines Roboters durch Fusion von Kamerabildern mit IMU-Messungen; die IMU füllt die Lücken zwischen den Frames und macht den metrischen Maßstab beobachtbar.

Definition

Visuell-inertiale Odometrie (VIO) (visual-inertial odometry) schätzt die Bewegung einer Kamera, die starr zusammen mit einer inertialen Messeinheit (IMU) montiert ist. Die Kamera verfolgt visuelle Merkmale oder Bildintensitäten über die Frames hinweg, was Rotation und Translationsrichtung gut einschränkt, aber langsam driftet und mit einer einzelnen Kamera den metrischen Maßstab nicht wiederherstellen kann. Die IMU misst Winkelgeschwindigkeit und spezifische Kraft mit viel höherer Rate; ihre Integration liefert die kurzfristige Bewegung und macht Schwerkraftrichtung und metrischen Maßstab beobachtbar, doch für sich allein wächst der Integrationsfehler schnell. Die Kombination beider ergibt eine Schätzung, die genauer und robuster ist als jeder Sensor allein, und VIO ist ein Standard-Zustandsschätzer auf Drohnen, AR-Headsets und vielen Laufrobotern.

Systeme unterscheiden sich entlang zweier Linien. Filterbasierte Methoden wie der Multi-State Constraint Kalman Filter (MSCKF) von Mourikis und Roumeliotis (2007) und ROVIO propagieren den Zustand mit der IMU und aktualisieren ihn mit visuellen Messungen. Optimierungsbasierte Methoden wie OKVIS und VINS-Mono lösen ein nichtlineares Kleinste-Quadrate-Problem über ein gleitendes Fenster der jüngsten Keyframes, meist mit IMU-Präintegrationsfaktoren dazwischen. Beide Arten können eng gekoppelt sein, indem sie Merkmalsbeobachtungen direkt im Schätzer verwenden, oder lose gekoppelt, indem sie eine von einer Vision-Pipeline separat berechnete Pose fusionieren. Merkmalsbasierte Frontends verfolgen Ecken oder Deskriptoren; direkte Methoden arbeiten auf Pixelintensitäten.

VIO bleibt Odometrie. Position und Gierwinkel um die Schwerkraftachse sind nicht beobachtbar und driften daher ohne Loop Closure oder externe Referenz, während Roll- und Nickwinkel beschränkt bleiben, weil die IMU die Schwerkraft erfasst. Die Genauigkeit hängt stark von der Kalibrierung ab (intrinsische Kameraparameter, extrinsische Kamera-IMU-Parameter und der Zeitversatz zwischen beiden Sensoren) sowie von der Initialisierung, die Schwerkraft, Maßstab, Geschwindigkeit und Biases schätzen muss. Schnelle Bewegung verursacht Bewegungsunschärfe und große Merkmalsverschiebungen, wenig Textur und schlechte Beleuchtung lassen das Frontend verhungern, und Bewegung mit konstanter Geschwindigkeit lässt Maßstab und Biases nur schwach beobachtbar. Der Eintrag Visuelle Odometrie behandelt den Fall nur mit Kamera; VIO unterscheidet sich dadurch, dass es die IMU als vollwertige Messung im Schätzer behandelt statt als optionale Hilfe.

Warum es wichtig ist

VIO verschafft einem leichten, preiswerten und energieeffizienten Sensorpaar eine metrische Posenschätzung mit hoher Rate, ohne GPS oder externes Motion Capture. Agile Drohnen, mobile AR-Geräte und viele Feldroboter sind darauf angewiesen, und ihre Fehlerbilder (Drift, Maßstabsfehler und Verlust der Verfolgung bei schneller Bewegung) begrenzen, wie aggressiv sich solche Roboter bewegen können.

Wichtige Anwendungen

  • Drohnenflug ohne GPS, in Innenräumen, unter Baumkronen und nahe an Bauwerken
  • Kopf- und Geräte-Tracking für Augmented und Virtual Reality
  • Zustandsschätzung für Laufroboter und handgeführte Kartierungsgeräte
  • Frontend für visuell-inertiale SLAM-Systeme
  • Navigation für Fluggeräte und Landefahrzeuge, wo keine Satellitenortung verfügbar ist

In der Praxis

Ein Team, das einen autonomen Renn-Quadrocopter baut, montiert eine Global-Shutter-Stereokamera und eine IMU auf derselben starren Platte und kalibriert dann intrinsische Kameraparameter, extrinsische Kamera-IMU-Parameter und den Zeitversatz mit einem Kalibriermuster und einem Werkzeug wie Kalibr. Auf dem Fluggerät verfolgt ein Schätzer mit gleitendem Fenster Merkmale mit Kamerarate und integriert die IMU zwischen den Frames, wobei er Pose und Geschwindigkeit mit IMU-Rate an den Regler veröffentlicht. In schnellen Kurven verkürzt Bewegungsunschärfe die Merkmalsspuren, und die Positionsschätzung driftet über den Kurs, daher fusioniert das Team Detektionen der Renntore, deren ungefähre Positionen bekannt sind, um die aufgelaufene Drift zu korrigieren. Bei jedem Flug protokolliert es die Bias- und Merkmalszahl-Ausgaben des Schätzers, da eine sinkende Merkmalszahl meist das erste Anzeichen eines bevorstehenden Ausfalls ist.

Häufige Missverständnisse

  • VIO liefert eine absolute Position — es ist Odometrie: Position und Kurs driften mit der Strecke, sofern sie nicht durch Loop Closure, eine Karte oder eine externe Referenz korrigiert werden
  • Eine zusätzliche IMU behebt jeden Fehler der visuellen Odometrie — die IMU überbrückt kurze Lücken, doch lange Phasen ohne verfolgbare Merkmale verursachen weiterhin Drift und können die Initialisierung scheitern lassen
  • Jede Kamera und jede IMU lassen sich ohne Sorgfalt kombinieren — genaue extrinsische Kalibrierung und Zeitsynchronisation entscheiden oft darüber, ob der Schätzer funktioniert oder divergiert

Wer das wissen sollte

  • Ingenieure für Zustandsschätzung und SLAM
  • Entwickler von Drohnen und Flugrobotern
  • Tracking-Ingenieure für AR und VR
  • Navigationsingenieure für Lauf- und mobile Roboter

Verwandte Technologien

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

Verwandte Begriffe

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

Verwandte Projekte

  • 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

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.