Go to file
dellaert 4894dccf5b Merge branch 'feature/BAD_linearize' into feature/BAD: Now awesome performance!
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.
2014-10-14 18:05:59 +02:00
CppUnitLite Swiched from isnan() check to isfinite() check for DOUBLES_EQUAL - also handles infinite case 2013-08-02 19:04:52 +00:00
cmake Change mex_command to uppercase to match INSTALL documentation. Reported by GTSAM user. 2014-07-08 09:01:30 -04:00
doc Moved coordinate frames document into GTSAM 2014-02-21 15:47:51 -05:00
examples No more default 2014-10-07 01:16:10 +02:00
gtsam size_t argument for check 2014-10-14 11:13:09 +02:00
gtsam_unstable Made dimensions constant property. Now performance is ***blazing***, way past custom factors. 2014-10-14 17:46:57 +02:00
matlab documentation and minor cleanup 2014-07-25 17:11:28 -04:00
package_scripts Merge branch 'origin/feature/mex_static_module_revive' 2014-05-28 22:51:23 -04:00
tests Some mode readable matrix types 2014-10-11 23:06:57 +02:00
timing Small speedup in project (result of Visual SLAM slides :-)) 2014-06-24 23:30:39 -04:00
wrap fix warnings on Windows. No need to create variable in catch statement if you're not going to use it. It generates unreferenced variable warnings. 2014-06-01 11:30:04 -04:00
.cproject Moved meta-programming tests to testExpressionMeta.cpp 2014-10-14 08:53:16 +02:00
.gitignore unit test now works 2014-05-31 15:53:41 -04:00
.project Adding faster compilation options for distribution in CMake 2012-02-14 18:03:29 +00:00
CMakeLists.txt Correcting bug fixes for Visual Studio. See bb issues #115,116,118 for more information 2014-09-08 15:19:54 -04:00
DEVELOP Start a DEVELOP document and update INSTALL 2014-05-05 14:42:46 -04:00
INSTALL Start a DEVELOP document and update INSTALL 2014-05-05 14:42:46 -04:00
LICENSE Final cleanup of text files - README.md, LICENSE*, USAGE, and INSTALL. 2014-01-30 14:42:23 -05:00
LICENSE.BSD Final cleanup of text files - README.md, LICENSE*, USAGE, and INSTALL. 2014-01-30 14:42:23 -05:00
README.md README.md edited online with Bitbucket 2014-01-30 20:37:58 +00:00
THANKS adding people 2010-10-21 14:00:49 +00:00
USAGE Final cleanup of text files - README.md, LICENSE*, USAGE, and INSTALL. 2014-01-30 14:42:23 -05:00
gtsam.h Move Transform factors to unstable 2014-07-01 16:03:35 -04:00
gtsam_extra.cmake.in Some cleanup in compiling wrappers 2013-12-12 18:37:27 +00:00
makestats.sh Command line for generating svn stats, needs statsvn from statsvn.org 2012-06-11 14:31:32 +00:00
matlab.h utilities.localToWorld 2014-05-27 00:42:03 -04:00

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:

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.