GTSAM
Biblioteca de optimización de grafos de factores que impulsa muchos backends SLAM modernos
Licencia
BSD-2-Clause
Resumen
Georgia Tech Smoothing and Mapping — una biblioteca C++ con enlaces Python para estimación de estado y fusión sensorial basadas en grafos de factores. Ofrece el suavizador incremental iSAM2, un rico conjunto de factores listos para preintegración de IMU, GPS, visión y medidas de rango, y la maquinaria de grupos de Lie subyacente. GTSAM es el backend de optimización de muchos sistemas SLAM modernos, incluidos LIO-SAM, Kimera y GLIM.
GTSAM modela los problemas de estimación como grafos de factores: variables (poses, puntos de referencia, velocidades, sesgos) conectadas por factores que codifican mediciones. Incluye optimizadores por lotes (Levenberg-Marquardt, Gauss-Newton, dogleg) y el suavizador incremental iSAM2, preintegración de IMU según Forster et al., factores inteligentes para visión y soporte completo de grupos de Lie para SO(3)/SE(3). Los enlaces Python exponen toda la API y una comunidad activa lo mantiene bajo licencia BSD.
Por qué importa
Los grafos de factores se convirtieron en la lengua franca del SLAM y la fusión multisensor, y GTSAM es la implementación de referencia sobre la que construye el campo: ampliamente citada e integrada en varios de los sistemas SLAM abiertos más utilizados.
Qué problema resuelve
Fusionar mediciones de IMU, lidar, cámara y GPS en una estimación de estado consistente es un gran problema de optimización disperso. GTSAM lo expresa como grafo de factores y explota su dispersión, con iSAM2 actualizando la solución incrementalmente conforme llegan nuevas mediciones en lugar de resolver desde cero.
Puntos clave
- Los grafos de factores convierten la fusión multisensor en un problema de optimización disperso con estructura reutilizable
- iSAM2 ofrece suavizado incremental en tiempo real en lugar de repetidos cálculos por lotes
- Los factores listos de IMU, GPS, visión y rango cubren la mayoría de los problemas de estimación en robótica
- El backend elegido por LIO-SAM, Kimera, GLIM y muchos sistemas de investigación
- Los enlaces Python lo hacen accesible más allá de las bases de código C++
Para quién es
- Constructores de sistemas SLAM que necesitan un backend de optimización probado
- Investigadores de estimación de estado que prototipan nuevos factores
- Ingenieros que fusionan IMU/GPS/visión en robots de producción
- Estudiantes de posgrado que aprenden teoría de estimación en la práctica
Limitaciones
- Curva de aprendizaje pronunciada — el modelado con grafos de factores y los conceptos de grupos de Lie son prerrequisitos para un uso productivo
- Compilar desde código fuente con envoltorios Python y TBB puede ser laborioso en algunas plataformas