For most real robotics applications the estimates need to be available online to be useful for navigation, planning or manipulation. While the SLAM literature often focuses on batch processing of recorded datasets, iSAM instead focuses on online operation, providing the best estimate available at any time while keeping the computational requirements low.
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).
Timing comparison for the Manhattan dataset.
We compare iSAM [TRO 2008] against other state-of-the-art SLAM algorithms using the simulated Manhattan World by E. Olson. For each algorithm we recover a full solution in every step on a laptop with Intel Core 2 Duo 2.4GHz processor. Similar to the original square root SAM algorithm, iSAM also provides the exact least-square solution, but with the caveat that the most recently added variables might not be converged yet, as relinearization is postponed to the next periodic batch step.
Sparse Pose Adjustment (SPA2d) by Konolige et al. [IROS 2010] provides a fast implementation of the original square root SAM algorithm [IJRR 2006], but batch methods in general have to solve a problem of continously growing size, while iSAM avoids unncessary repetition of calculations.
HOG-Man by Grisetti et al. [ICRA 2010] focuses computation on affected regions using a hierarchical approach, which provides an approximate solution. Note that HOG-Man can provide the exact solution, but will then essentially perform square root SAM. While on the Manhattan dataset the HOG-Man implementation performs slower, on more dense data such as the w10000 dataset it is actually faster than iSAM, though it only provides an approximate solution:
Timing comparison for the w10000 dataset.
We have omitted other state-of-the-art algorithms such as TORO and Treemap, as they have already been shown to be inferior to SPA2d in Konolige et al. [IROS 2010]. In particular, TORO does not correctly deal with angular measurements, which is especially problematic when used in 3D. In contrast, Square Root SAM and iSAM have already been shown to work in 3D vision applications in IJRR 2006 and my thesis work.
Note that iSAM can be slow on denser data, but our latest research has led us to an improved iSAM algorithm based on the Bayes tree [WAFR 2010] that avoids this problem. The slowdown is caused by local fill-in between periodic variable reordering steps. The fill-in on the other hand is caused by large numbers of loop closing constraints in certain simulated test datasets, such as the w10000 dataset. However, including such a large number of loop closing constraints creates an artificial problem while not improving the map quality - a smaller number is sufficient to obtain the same result. Standard datasets such as Intel, Killian Court and Victoria Park have sparse loop closing constraints, yielding good maps without any slowdown.
Good sources for other SLAM implementations and datasets are: