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 framework for smoothing and mapping (SAM) in robotics and computer vision, allowing systems to estimate the state of a robot or object by optimizing a network of constraints (factors) rather than relying on traditional sparse matrix calculations.
How it works
GTSAM uses Factor Graphs and Bayes Networks as its core computing paradigm. It represents problems as a graph where nodes are variables to be estimated and edges (factors) are constraints between them. The library performs manifold optimization, which involves building a factor graph, linearizing and solving in tangent spaces, and retracting the results back to the manifolds to iterate toward convergence.
Who it’s for
It is designed for robotics and vision researchers and engineers who need to implement high-performance state estimation, SLAM (Simultaneous Localization and Mapping), and sensor fusion.
Highlights
- Multi-language support: Core library written in C++ with wrappers for Python and MATLAB.
- IMU Preintegration: Includes a state-of-the-art scheme for handling Inertial Measurement Unit data on manifolds for efficient estimation.
- Automatic Differentiation: Supports GTSAM Expressions for efficient automatic differentiation.
- Hardware Acceleration: Provides CUDA linear solvers and optional Intel oneMKL integration for performance optimization.
Related
- Project
- Project
- Project
- Project
- Project