borglab/gtsam

GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.

What it solves

It provides a way to perform smoothing and mapping (SAM) for robotics and vision. Instead of relying on traditional sparse matrices, it uses a more flexible computing paradigm to handle the complex optimization problems associated with robot localization and mapping.

How it works

GTSAM implements these solutions using Factor Graphs and Bayes Networks. It optimizes states by building a factor graph, linearizing and solving in tangent spaces, retracting the results back to manifolds, and iterating until the system converges.

Who it’s for

It is designed for researchers and engineers working in robotics and computer vision who need to estimate the state of a system (like a robot's position and orientation) over time.

Highlights

  • Support for C++, Python, and MATLAB wrappers.
  • Specialized handling for IMU data via a state-of-the-art preintegration scheme on manifolds.
  • Support for automatic differentiation through GTSAM Expressions.
  • Ability to optimize using non-GTSAM types via C++ traits.

Related

  • Project
  • Project
  • Project
  • Project
  • Project