IMU Preintegration
- Aussi appelé: preintegrated IMU factor, on-manifold preintegration
- Catégorie: State estimation & navigation › Localisation
- Mots-clés: imu, state-estimation, factor-graphs, sensor-fusion, slam
Regroupement des nombreux échantillons IMU entre deux images clés en une seule mesure de mouvement relatif qui ne dépend pas de leurs états absolus, de sorte qu'un optimiseur n'a pas à réintégrer lorsque les estimations changent.
Définition
Une IMU produit des échantillons d'accéléromètre et de gyroscope bien plus souvent qu'une caméra ou un LiDAR ne produit d'images. Dans un estimateur fondé sur l'optimisation, ajouter un état par échantillon IMU rendrait le problème beaucoup trop grand, mais intégrer simplement les échantillons en une pose pose un autre problème : le résultat dépend de l'orientation, de la vitesse et des biais de départ, qui sont eux-mêmes en cours d'estimation. Chaque fois que l'optimiseur les modifierait, tout le segment de données IMU devrait être réintégré. La préintégration IMU (IMU preintegration) évite cela en intégrant les mesures entre deux états dans le repère corps du premier état, ce qui produit des variations relatives de rotation, de vitesse et de position qui ne dépendent pas de la pose et de la vitesse de départ.
Lupton et Sukkarieh ont introduit la préintégration pour la navigation visuelle-inertielle (2012), et Forster, Carlone, Dellaert et Scaramuzza l'ont reformulée sur la variété des rotations (2015, étendue en 2017) ; c'est cette formulation qu'utilisent aujourd'hui la plupart des systèmes à graphe de facteurs. La gravité est traitée séparément, en la rajoutant lorsque les termes préintégrés sont comparés aux deux états. La dépendance aux biais est traitée par une correction du premier ordre : pendant l'intégration, la méthode accumule aussi les jacobiennes des grandeurs préintégrées par rapport aux biais du gyroscope et de l'accéléromètre, si bien qu'une petite variation de l'estimation des biais met à jour la mesure à faible coût. La covariance de la mesure combinée est propagée en parallèle, ce qui donne au facteur son poids. Si l'estimation des biais s'éloigne beaucoup de la valeur utilisée lors de l'intégration, l'intégration est refaite.
Le résultat est un unique facteur IMU entre images clés consécutives dans un graphe de facteurs, reliant leurs poses, vitesses et biais, généralement accompagné d'un facteur qui modélise la lente marche aléatoire des biais. C'est ce qui rend praticable le maintien des données IMU dans des estimateurs à fenêtre glissante et à lissage complet comme VINS-Mono, le mode inertiel d'ORB-SLAM3, LIO-SAM et LVI-SAM. La précision dépend toujours des paramètres de bruit et de biais de l'IMU fournis au facteur, de la synchronisation temporelle avec les autres capteurs et du schéma d'intégration discrète, qui suppose que les mesures restent constantes ou varient simplement entre les échantillons.
Pourquoi c'est important
Sans préintégration, l'optimisation visuelle-inertielle et LiDAR-inertielle fortement couplée serait trop lente pour s'exécuter à bord d'un robot. C'est grâce à elle que les données IMU peuvent figurer aux côtés des mesures de caméra, de LiDAR et d'autres capteurs dans un seul graphe de facteurs.
Applications principales
- Odométrie visuelle-inertielle et modules arrière de SLAM
- Odométrie et cartographie LiDAR-inertielles
- Fusion par graphe de facteurs des données IMU avec le GPS, le radar ou l'odométrie des roues
- Estimation en ligne des biais de l'accéléromètre et du gyroscope
- Étalonnage caméra-IMU et LiDAR-IMU
En pratique
Avec GTSAM, un développeur crée un objet de préintégration avec les densités de bruit et les valeurs de marche aléatoire des biais de l'IMU, tirées de la fiche technique ou d'une analyse de variance d'Allan de données enregistrées. Chaque échantillon IMU entre deux images clés y est injecté, et à l'arrivée de l'image clé suivante, le résultat accumulé devient un facteur IMU reliant les variables de pose, de vitesse et de biais des deux images clés. Lorsque l'optimiseur met ensuite à jour les biais, le facteur utilise ses jacobiennes stockées au lieu de retraiter les échantillons. Les systèmes qui se localisent avec d'autres capteurs, comme le géoradar, utilisent le même facteur pour relier les poses entre les mesures radar moins fréquentes.
Idées reçues
- La préintégration supprime la dérive de l'IMU — elle ne fait que réorganiser l'intégration ; les erreurs de bruit et de biais sont toujours là et doivent être contraintes par d'autres capteurs
- La mesure préintégrée est figée une fois calculée — elle dépend de l'estimation des biais, est corrigée au premier ordre et doit être réintégrée si les biais changent sensiblement
- La préintégration n'est qu'une astuce de vitesse — elle fournit aussi une covariance correctement propagée, et c'est ce qui permet à l'optimiseur de pondérer les données IMU par rapport aux autres capteurs
Qui devrait le savoir
- Développeurs de SLAM et d'odométrie visuelle-inertielle
- Ingénieurs en estimation d'état
- Ingénieurs en navigation de drones et de robots à pattes
- Chercheurs qui construisent des estimateurs avec des bibliothèques de graphes de facteurs
Technologies associées
- GTSAM
- Variance d'Allan (Allan Variance)
- Groupes de Lie (Lie Groups)
- VINS-Mono
- LIO-SAM
- Systèmes de navigation inertielle (Inertial Navigation Systems)
Termes associés
Projets associés
- 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