1 Star 0 Fork 1

zerolover / gtsam

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
USAGE.md 2.45 KB
Copy Edit Web IDE Raw Blame History
dellaert authored 2014-12-03 20:15 . Fixed some top-level files

USAGE - Georgia Tech Smoothing and Mapping library

What is this file?

This file explains how to make use of the library for common SLAM tasks, 
using a visual SLAM implementation as an example.

Getting Started

Install: Follow the installation instructions in the README file to build and install gtsam, as well as running tests to ensure the library is working properly.

Compiling/Linking with gtsam: The installation creates a binary "libgtsam" at the installation prefix, and an include folder "gtsam". These are the only required includes, but the library has also been designed to make use of XML serialization through the Boost.serialization library, which requires the the Boost.serialization headers and binaries to be linked.

If you use CMake for your project, you can use the CMake scripts in the 
cmake folder for finding GTSAM, CppUnitLite, and Wrap.  

Examples: To see how the library works, examine the unit tests provided.


The GTSAM library has three primary components necessary for the construction of factor graph representation and optimization which users will need to adapt to their particular problem.

  • FactorGraph: A factor graph contains a set of variables to solve for (i.e., robot poses, landmark poses, etc.) and a set of constraints between these variables, which make up factors.
  • Values: Values is a single object containing labeled values for all of the variables. Currently, all variables are labeled with strings, but the type or organization of the variables can change
  • Factors: A nonlinear factor expresses a constraint between variables, which in the SLAM example, is a measurement such as a visual reading on a landmark or odometry.

The library is organized according to the following directory structure:

3rdparty      local copies of third party libraries - Eigen3 and CCOLAMD
base          provides some base Math and data structures, as well as test-related utilities
geometry      points, poses, tensors, etc
inference     core graphical model inference such as factor graphs, junction trees, Bayes nets, Bayes trees 
linear        inference specialized to Gaussian linear case, GaussianFactorGraph etc...
nonlinear     non-linear factor graphs and non-linear optimization
slam          SLAM and visual SLAM application code

Comment ( 0 )

Sign in for post a comment