updating build docs and comments

release/4.3a0
Alex Cunningham 2012-03-30 18:14:31 +00:00
parent 1ea890f4e5
commit 4d4ea69919
3 changed files with 19 additions and 9 deletions

View File

@ -22,7 +22,7 @@ endif()
# Default to Debug mode
if(NOT FIRST_PASS_DONE)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
"Choose the type of build, options are: Debug Release Timing Profiling RelWithDebInfo."
FORCE)
endif()

6
README
View File

@ -158,6 +158,12 @@ $] cmake -DGTSAM_BUILD_CONVENIENCE_LIBRARIES:OPTION=ON ..
link all of the tests at once. This option is best for users of GTSAM,
as it avoids rebuilding the entirety of gtsam an extra time.
CMAKE_BUILD_TYPE: We support several build configurations for GTSAM (case insensitive)
Debug (default) All error checking options on, no optimization. Use for development.
Release Optimizations turned on, no debug symbols.
Timing Adds ENABLE_TIMING flag to provide statistics on operation
Profiling Standard configuration for use during profiling
RelWithDebInfo Same as Release, but with the -g flag for debug symbols
Build and Install

20
USAGE
View File

@ -20,6 +20,9 @@ Compiling/Linking with gtsam:
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.
@ -27,7 +30,7 @@ Examples:
Overview
---------------------------------------------------
The gtsam library has three primary components necessary for the construction
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.
@ -48,19 +51,20 @@ Factors:
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.
derived versions of NonlinearFactor, NonlinearFactorGraph, in classes visualSLAM::ProjectionFactor,
visualSLAM::Graph, respectively. The values for the system are stored in the generic
Values structure. For definitions and interface, see gtsam/slam/visualSLAM.h.
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
testVSLAM. 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 a NonlinearFactorGraph object (visualSLAM::Graph)
- Add factors to the graph (note the use of Boost.shared_ptr here) (visualSLAM::ProjectionFactor)
- Create an initial configuration (Values)
- 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
- Extract an updated values from the optimizer