Added USAGE file with a short tutorial

Fixed typo in README
release/4.3a0
Alex Cunningham 2009-11-13 14:01:51 +00:00
parent fc440f823b
commit e549dd5305
2 changed files with 67 additions and 1 deletions

2
README
View File

@ -16,7 +16,7 @@ Directory structure:
matlab MATLAB proxy classes and wrappers
Boost Depedencies:
Boost Dependencies:
------------------
The GTSAM library is based on the 'Boost C++ Libraries' which can be
found here: http://www.boost.org/.

66
USAGE Normal file
View File

@ -0,0 +1,66 @@
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.
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.
Config:
A configuration 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.
VSLAM Example
---------------------------------------------------
The visual slam example shows a full implementation of a slam system. The example contains
derived versions of NonlinearFactor, NonlinearFactorGraph, and a Config, in classes
VSLAMFactor, VSLAMGraph, and VSLAMConfig, respectively.
The clearest example of the use of the graph to find a solution is in
testVSLAMGraph. The basic process for using graphs is as follows (and can be seen in
the test):
- Create a NonlinearFactorGraph object (VSLAMGraph)
- Add factors to the graph (note the use of Boost.shared_ptr here) (VSLAMFactor)
- Create an initial configuration (VSLAMConfig)
- Create an elimination ordering of variables (this must include all variables)
- Create and initialize a NonlinearOptimizer object (Note that this is a generic
algorithm that does not need to be derived for a particular problem)
- Call optimization functions with the optimizer to optimize the graph
- Extract an updated configuration from the optimizer