In this I branch essentially implemented two things 1) I used template-meta-programming to automate adding more functional nodes 2) I overloaded "linearize" so that now reverse AD writes to Eigen::Block<Matrix> views of the VerticalBlockMatrix that will be passed to the JacobianFacor. This did wonders for performance, making the AD pipeline faster than dedicated factors. Because the latter is based on optional<Matrix> references, they cannot apply the same trick :-( 3) Finally, I removed the forward AD pipeline. Not worth keeping (this implementation) alive. |
||
|---|---|---|
| CppUnitLite | ||
| cmake | ||
| doc | ||
| examples | ||
| gtsam | ||
| gtsam_unstable | ||
| matlab | ||
| package_scripts | ||
| tests | ||
| timing | ||
| wrap | ||
| .cproject | ||
| .gitignore | ||
| .project | ||
| CMakeLists.txt | ||
| DEVELOP | ||
| INSTALL | ||
| LICENSE | ||
| LICENSE.BSD | ||
| README.md | ||
| THANKS | ||
| USAGE | ||
| gtsam.h | ||
| gtsam_extra.cmake.in | ||
| makestats.sh | ||
| matlab.h | ||
README.md
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.
On top of the C++ library, GTSAM includes a MATLAB interface (enable GTSAM_INSTALL_MATLAB_TOOLBOX in CMake to build it). A Python interface is under development.
Quickstart
In the root library folder execute:
#!bash
$ mkdir build
$ cd build
$ cmake ..
$ make check (optional, runs unit tests)
$ make install
Prerequisites:
- Boost >= 1.43 (Ubuntu:
sudo apt-get install libboost-all-dev) - CMake >= 2.6 (Ubuntu:
sudo apt-get install cmake)
Optional prerequisites - used automatically if findable by CMake:
- Intel Threaded Building Blocks (TBB) (Ubuntu:
sudo apt-get install libtbb-dev) - Intel Math Kernel Library (MKL)
Additional Information
See the INSTALL file for more detailed installation instructions.
GTSAM is open source under the BSD license, see the LICENSE and LICENSE.BSD files.
Please see the examples/ directory and the USAGE file for examples on how to use GTSAM.