IMU Preintegration
- Auch genannt: preintegrated IMU factor, on-manifold preintegration
- Kategorie: State estimation & navigation › Localisation
- Schlagwörter: imu, state-estimation, factor-graphs, sensor-fusion, slam
Zusammenfassen der vielen IMU-Messungen zwischen zwei Keyframes zu einer einzigen Relativbewegungsmessung, die nicht von deren absoluten Zuständen abhängt, sodass ein Optimierer bei geänderten Schätzungen nicht neu integrieren muss.
Definition
Eine IMU liefert Beschleunigungs- und Gyroskopmessungen weit häufiger, als eine Kamera oder ein LiDAR Frames liefert. In einem optimierungsbasierten Schätzer würde ein Zustand pro IMU-Messung das Problem viel zu groß machen, doch das bloße Aufintegrieren der Messungen zu einer Pose hat ein anderes Problem: Das Ergebnis hängt von Anfangsorientierung, Geschwindigkeit und Biases ab, die selbst gerade geschätzt werden. Jedes Mal, wenn der Optimierer diese änderte, müsste der ganze Abschnitt der IMU-Daten neu integriert werden. IMU-Präintegration (IMU preintegration) vermeidet dies, indem sie die Messungen zwischen zwei Zuständen im körperfesten Koordinatensystem des ersten Zustands integriert und so relative Änderungen von Rotation, Geschwindigkeit und Position erzeugt, die nicht von Anfangspose und -geschwindigkeit abhängen.
Lupton und Sukkarieh führten die Präintegration für die visuell-inertiale Navigation ein (2012), und Forster, Carlone, Dellaert und Scaramuzza formulierten sie auf der Rotationsmannigfaltigkeit neu (2015, erweitert 2017); diese Formulierung verwenden die meisten Faktorgraph-Systeme heute. Die Schwerkraft wird separat behandelt, indem sie beim Vergleich der präintegrierten Terme mit den beiden Zuständen wieder hinzugefügt wird. Die Abhängigkeit vom Bias wird mit einer Korrektur erster Ordnung behandelt: Während der Integration akkumuliert das Verfahren zusätzlich Jacobi-Matrizen der präintegrierten Größen bezüglich der Gyroskop- und Beschleunigungssensor-Biases, sodass eine kleine Änderung der Bias-Schätzung die Messung kostengünstig aktualisiert. Die Kovarianz der kombinierten Messung wird mitpropagiert, was dem Faktor sein Gewicht gibt. Entfernt sich die Bias-Schätzung weit von dem bei der Integration verwendeten Wert, wird die Integration wiederholt.
Das Ergebnis ist ein einzelner IMU-Faktor zwischen aufeinanderfolgenden Keyframes in einem Faktorgraphen, der deren Posen, Geschwindigkeiten und Biases verbindet, meist zusammen mit einem Faktor, der einen langsamen Random Walk des Bias modelliert. Erst das macht es praktikabel, IMU-Daten in Schätzern mit gleitendem Fenster und in vollständigen Smoothing-Schätzern wie VINS-Mono, dem Inertialmodus von ORB-SLAM3, LIO-SAM und LVI-SAM zu halten. Die Genauigkeit hängt weiterhin von den IMU-Rausch- und Bias-Parametern ab, die dem Faktor übergeben werden, von der Zeitsynchronisation mit anderen Sensoren und vom diskreten Integrationsschema, das annimmt, dass die Messwerte zwischen den Abtastungen konstant bleiben oder sich einfach ändern.
Warum es wichtig ist
Ohne Präintegration wäre eng gekoppelte visuell-inertiale und LiDAR-inertiale Optimierung zu langsam, um an Bord eines Roboters zu laufen. Sie ist der Grund, warum IMU-Daten in einem einzigen Faktorgraphen neben Kamera-, LiDAR- und anderen Messungen stehen können.
Wichtige Anwendungen
- Backends für visuell-inertiale Odometrie und SLAM
- LiDAR-inertiale Odometrie und Kartierung
- Faktorgraph-Fusion von IMU-Daten mit GPS, Radar oder Radodometrie
- Online-Schätzung der Biases von Beschleunigungssensor und Gyroskop
- Kamera-IMU- und LiDAR-IMU-Kalibrierung
In der Praxis
Mit GTSAM erstellt ein Entwickler ein Präintegrationsobjekt mit den Rauschdichten und Bias-Random-Walk-Werten der IMU, entnommen aus dem Datenblatt oder einer Allan-Varianz-Analyse aufgezeichneter Daten. Jede IMU-Messung zwischen zwei Keyframes wird hineingegeben, und wenn der nächste Keyframe eintrifft, wird das akkumulierte Ergebnis zu einem IMU-Faktor, der die Posen-, Geschwindigkeits- und Bias-Variablen der beiden Keyframes verbindet. Aktualisiert der Optimierer später die Biases, verwendet der Faktor seine gespeicherten Jacobi-Matrizen, statt die Messungen erneut zu verarbeiten. Systeme, die sich mit anderen Sensoren wie Bodenradar lokalisieren, verwenden denselben Faktor, um Posen zwischen den selteneren Radarmessungen zu verbinden.
Häufige Missverständnisse
- Präintegration beseitigt die IMU-Drift — sie organisiert nur die Integration um; Rausch- und Bias-Fehler bleiben bestehen und müssen durch andere Sensoren eingeschränkt werden
- Die präintegrierte Messung steht nach der Berechnung fest — sie hängt von der Bias-Schätzung ab, wird in erster Ordnung korrigiert und muss neu integriert werden, wenn sich der Bias wesentlich ändert
- Präintegration ist nur ein Trick für Geschwindigkeit — sie liefert auch eine korrekt propagierte Kovarianz, und erst diese lässt den Optimierer IMU-Daten gegen andere Sensoren gewichten
Wer das wissen sollte
- Entwickler für SLAM und visuell-inertiale Odometrie
- Ingenieure für Zustandsschätzung
- Navigationsingenieure für Drohnen und Laufroboter
- Forscher, die Schätzer mit Faktorgraph-Bibliotheken bauen
Verwandte Technologien
- GTSAM
- Allan-Varianz (Allan Variance)
- Lie-Gruppen (Lie Groups)
- VINS-Mono
- LIO-SAM
- Inertialnavigationssysteme (Inertial Navigation Systems)
Verwandte Begriffe
Verwandte Projekte
- 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