-
Notifications
You must be signed in to change notification settings - Fork 755
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.
License
Unknown, Unknown licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.BSD
borglab/gtsam
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
README - Georgia Tech Smoothing and Mapping library --------------------------------------------------- What is 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. A set of MATLAB mex wrappers is included. GTSAM is not (yet) open source: See COPYING & LICENSE The code is organized according to the following directory structure: 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 All of the above contain code and tests, and build local shared libraries that are then bundled in a top-level shared library libgtsam.la. After his is built, you can also run the more involved tests that test the entire library: tests more involved tests that depend on slam Furthermore the MATLAB wrapper generator code is run as well wrap MATLAB wrapper generation code gtsam.h interface file for which wrappers will be generated toolbox MATLAB proxy classes and wrappers generated matlab examples and tests of the above Finally, there are some local libraries built needed in the rest of the code: colamd COLAMD and CCOLAMD by Tim Davis needed for re-ordering CppUnitLite unit test library doc documentation ldl LDL by Tim Davis (will probably go) m4 local M4 macros spqr_mini Core frontal solver from SuiteSparse (will probably go as not LGPL) Boost Dependencies: ------------------ The GTSAM library is based on the 'Boost C++ Libraries' which can be found here: http://www.boost.org/. Donwload the lates version and extract Boost in any place. To this place the compiler will be linking. - On Linux BOOST can also be installed with a packaged manager. - On Mac OS Mac Port can be used. For example the Boost path could be '/opt/local/include/' on a typical Mac system, where you should be able to find one of the header files: /opt/local/include/boost/config.hpp If your boost files are on a different place change the path according to your path. The path to the Boost files can be set as an environmental variable in the startup scrip. For a Bash shell the startup file is ~/.bashrc put the following command in this file: export BOOST_DIR=/opt/local/include/ Installation: ------------- To finally install the library go into the directory where you unpacked the GTSAM library, run the command below for example: $] ./configure --with-toolbox=$HOME/toolbox/ --with-boost=/opt/local/include/ where the path after --with-toolbox should point to the directory you want to have the gtsam matlab scripts installed in. This command will configure the makefile for compiling the GTSAM library. The 'toolbox' flag sets the path where you want to install the GTSAM Matlab Toolbox. You have to set it to an existing directory. After successful installation there will be a gtsam directory with all Matlab GTSAM Toolbox files. The 'boost' flag sets the path where you installed or copied the BOOST C++ Library. The path has to be set to the top boost directory. In this directory there are a bunch of folders (e.g. boost, doc, libs ....). Set the path to this folder. After configure you makefile you have to compile the library Type: $] make $] make install Parallel Build ---------------- The above will put object files and executables in the source directories. If you like, it is very easy to configure the libraries to put all these in a parallel build tree so they do not clutter the source tree. To do this, instead of running configure in the gtsam directory itself, run it in sub-directory of choice, e.g.: $] mkdir build $] cd build $] ../configure --with-toolbox=$HOME/toolbox/ --with-boost=/opt/local/include/ $] make install Built-in Unit Tests: ---------------- There is one more optional step in which you can invoke the unit tests included in the gtsam libraries. $] make check By verifying all the test results are positive, you can make sure that the functionalities of the gtsam libraries are correct. The toolbox directory flag is where you want to compile the GTSAM Matlab toolbox. Compile Matlab Toolbox: ----------------------- 1) Start Matlab 2) Go to File->Set Path and add the toolbox directory where you installed the GTSAM Matlab Toolbox 3) Change your current directory to the GTSAM Matlab Toolbox 4) Type 'make_gtsam' at the Command Window Run Matlab Unit Tests: ----------------------- In the matlab command window, change directory to $gtsam/matlab and then type 'run_tests', which will invoke the matlab unit tests.
About
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.
Resources
License
Unknown, Unknown licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE.BSD
Stars
Watchers
Forks
Packages 0
No packages published