iSAM: Incremental Smoothing and Mapping

What is iSAM?

iSAM is an optimization library for sparse nonlinear problems as encountered in simultaneous localization and mapping (SLAM). The iSAM library provides efficient algorithms for batch and incremental optimization, recovering the exact least-squares solution. The library can easily be extended to new problems, and functionality for often encountered 2D and 3D SLAM problems is already provided. The iSAM algorithm was originally developed by Michael Kaess and Frank Dellaert at Georgia Tech.

Parts of the Manhattan world dataset during incremental optimization.

Why Use iSAM?

iSAM provides a range of advantages over other state-of-the-art SLAM algorithms, for details please see:

Comparison to other algorithms

iSAM has successfully been used online on a range of mobile robot platforms, including ground robots (DARPA LAGR platform, Willow Garage PR2), aerial robots (quadrotors), and underwater robots (Bluefin HAUV, Hydroid REMUS 100).

Copyright and License

Copyright (C) 2009-2013 Massachusetts Institute of Technology.
Michael Kaess, Hordur Johannsson, David Rosen, Nicholas Carlevaris-Bianco, and John Leonard

iSAM is available as open source under GNU LGPL version 2.1.


iSAM runs on both Linux and Mac OS X (Windows is not supported). iSAM requires cmake, and depends on SuiteSparse and the SDL library for visualization. Detailed installation instructions are part of the included documentation ("make doc").

Online documentation

You can get iSAM from our public git repository:

svn co

Or you can download the current and previous releases here:
isam_v1_7.tgz (2.0 MB) (Jul 2, 2013)
isam_v1_6.tgz (2.0 MB) (Mar 30, 2012) [fixed ChangeLog Apr 15, 2012]
isam_v1_5.tgz (1.2 MB) (Nov 12, 2010)
isam_v1_4.tgz (1.2 MB) (Aug 29, 2010)

References (please cite when using this software)

Details of the algorithms used in this software are provided in these publications:

Full list of iSAM-related references in BibTeX format.

Newer publications will be available from my web page.

Many thanks to Richard Roberts for his help with this software. Thanks also to John McDonald, Ayoung Kim, Ryan Eustice, Aisha Walcott, Been Kim and Abe Bachrach for their feedback and patience with earlier versions.

Last updated: Jul 2, 2013 by