Masterarbeit: An On-Board Stereo Visual-Inertial Odometry System for an Unmanned Aerial Vehicle (UAV)

von Stephan Manthe, 19.12.2025

Echtzeit-Bewegungsschätzung

Das Thema der Arbeit war “An On-Board Stereo Visual-Inertial Odometry System for an Unmanned Aerial Vehicle (UAV)”. Schreiben durfte ich sie im Jahr 2017 an der polytechnischen Universität Madrid in der Arbeitsgruppe Vision4UAV von Professor Campoy. Zusätzlich wurde sie von der Arbeitsgruppe Aktives Sehen (AGAS) von Professor Paulus an der Universität Koblenz betreut. In der Arbeit ging es darum, einen Odometrie Algorithmus zur Bewegungsschätzung zu entwickeln, der dafür Daten einer Stereokamera mit denen einer inertialen Messeiniheit (IMU) fusioniert. Im Gegensatz zu einem Structure from Motion-Algorithmus, wie ich ihn in meiner Bachelorarbeit umgesetzt habe, sollte dieser Algorithmus online auf einem Einplatinencomputer laufen.

Die Herausforderung: Echtzeit-Odometrie

Durch die Fusion lassen sich die Vorteile beider Sensoren geschickt kombinieren, um eine Bewegungsschätzung zu erzielen, die genauer ist, als bei der Vewendung eines einzelnen Sensors. Dabei sind die Vorteile der Stereokamera ein geringerer Drift bei der Schätzung der Translation. Er ist beim Akkumulieren der Beschleunigung aus dem Accelerometer der IMU bei langen Distanzen wesentlich höher. Von der IMU profitiert der Algorithmus in Situationen, in denen wenig Textur für das Tracking von markanten Punkten im Bild vorhanden ist. Hier ist kombinierte Bewegungsschätzung aus Stereokamera und IMU oft besser als die der Stereokamera alleine, da die IMU nicht auf ausreichend Textur oder eine gute Beleuchtung angewiesen ist.

Methodik und Komplexität: IMU-Preintegration

Die Fusion der visuellen Stereo Odometry mit den IMU-Daten ist an das Paper “IMU preintegration on manifold for efcient visual-inertial maximum-a-posteriori estimation” von Christian Forster angelehnt. Es beschreibt, wie man mathematisch korrekt mit geringem Rechenaufwand, die Messungen der IMU mit der Bewegungsschätzung der Stereokamera fusioniert. Hierbei habe ich mich auf die Fusion des Gyroskops der IMU mit den Daten der Stereokamera beschränkt. Das Verstehen und die Umsetzung dieser Fusion waren der komplexeste Teil meiner Arbeit.

Implementierung und Evaluation

Der Algorithmus wurde in C++ implementiert. Evaluiert wurde er auf dem EuRoC- (European Robotics Challenge) und dem KITTI-Datensatz, wobei auf diesem ein reiner Stereo Odometry-Algorithmus evaluiert wurde. Zusätzlich wurde der Algorithmus in das Aerostack Framework der Arbeitsgruppe Vision4UAV integriert. Das Framework basierte hauptsächlich auf ROS dem Robot Operating System und wird verwendet autonome Drohnen zu steuern. Daher wurden für die Integration mehrere ROS-Nodes geschrieben. Getestet wurden die Nodes auf einer Stereokamera mit verbautem Odroid Computer, die von Vision4UAV entwickelt wurde. Eine detailiertere Evaluation hat aus Zeitgründen aber nicht stattgefunden.

Bei der Evaluation auf dem KITTI und EuRoC Datensatz, konnte gezeigt werden, dass die Fusion in vielen Fällen für eine genauere Trajektorie sorgt. Außerdem benötigt der Algorithmus etwas weniger Ausführungszeit, da das interne Optimierungsproblem zur optimalen Bewegungsschätzung schneller konvergiert.