55 lines
2.5 KiB
Markdown
55 lines
2.5 KiB
Markdown
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.
|
|
|
|
|
|
Overview
|
|
---------------------------------------------------
|
|
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
|
|
|
|
|
|
|