Open Source Robotics

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

GTSAM

Bibliothèque d'optimisation par graphes de facteurs au cœur de nombreux backends SLAM modernes

Licence

BSD-2-Clause

Aperçu

Georgia Tech Smoothing and Mapping — bibliothèque C++ avec liaisons Python pour l'estimation d'état et la fusion de capteurs par graphes de facteurs. Elle fournit le lisseur incrémental iSAM2, un riche ensemble de facteurs prêts à l'emploi pour la préintégration IMU, le GPS, la vision et les mesures de distance, ainsi que la machinerie des groupes de Lie sous-jacente. GTSAM est le backend d'optimisation de nombreux systèmes SLAM modernes, dont LIO-SAM, Kimera et GLIM.

GTSAM modélise les problèmes d'estimation comme des graphes de facteurs : des variables (poses, amers, vitesses, biais) reliées par des facteurs codant les mesures. Il embarque des optimiseurs batch (Levenberg-Marquardt, Gauss-Newton, dogleg) et le lisseur incrémental iSAM2, la préintégration IMU selon Forster et al., des facteurs intelligents pour la vision et un support complet des groupes de Lie pour SO(3)/SE(3). Les liaisons Python exposent l'API complète, et une communauté active le maintient sous licence BSD.

Pourquoi c'est important

Les graphes de facteurs sont devenus la langue commune du SLAM et de la fusion multicapteur, et GTSAM est l'implémentation de référence sur laquelle le domaine s'appuie : largement citée et intégrée à plusieurs des systèmes SLAM ouverts les plus utilisés.

Le problème résolu

Fusionner des mesures IMU, lidar, caméra et GPS en une estimation d'état cohérente est un vaste problème d'optimisation creux. GTSAM l'exprime comme un graphe de facteurs et en exploite la parcimonie, iSAM2 mettant à jour la solution de façon incrémentale à l'arrivée de chaque mesure au lieu de tout recalculer.

Points clés

  • Les graphes de facteurs transforment la fusion multi-capteurs en un problème d'optimisation creux à structure réutilisable
  • iSAM2 offre un lissage incrémental temps réel au lieu de résolutions batch répétées
  • Les facteurs IMU, GPS, vision et distance prêts à l'emploi couvrent la plupart des problèmes d'estimation en robotique
  • Le backend de prédilection de LIO-SAM, Kimera, GLIM et de nombreux systèmes de recherche
  • Les liaisons Python le rendent accessible au-delà des bases de code C++

Pour qui

  • Concepteurs de systèmes SLAM cherchant un backend d'optimisation éprouvé
  • Chercheurs en estimation d'état prototypant de nouveaux facteurs
  • Ingénieurs fusionnant IMU/GPS/vision dans des robots de production
  • Étudiants en master/doctorat apprenant la théorie de l'estimation par la pratique

Limites

  • Courbe d'apprentissage raide — la modélisation par graphes de facteurs et les groupes de Lie sont des prérequis
  • La compilation depuis les sources avec wrappers Python et TBB peut être laborieuse sur certaines plateformes

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