Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

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

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.