Overview¶
The ISAM2
class in GTSAM is an incremental smoothing and mapping algorithm that efficiently updates the solution to a nonlinear optimization problem as new measurements are added. This class is particularly useful in applications such as SLAM (Simultaneous Localization and Mapping) where real-time performance is crucial.
The algorithm is described in the 2012 IJJR paper by Kaess et al. (2011). For background, also see the more recent booklet by Dellaert & Kaess (2017).
Key Features¶
- Incremental Updates:
ISAM2
allows for incremental updates to the factor graph, avoiding the need to solve the entire problem from scratch with each new measurement. - Nonlinear Optimization: Capable of handling nonlinear systems, leveraging iterative optimization techniques to refine estimates.
- Efficient Variable Reordering: Dynamically reorders variables to maintain sparsity and improve computational efficiency.
Main Methods¶
Initialization and Configuration¶
- ISAM2 Constructor: Initializes the
ISAM2
object with optional parameters for configuring the behavior of the algorithm, such as relinearization thresholds and ordering strategies.
Updating the Graph¶
- update: Incorporates new factors and variables into the existing factor graph. This method performs the core incremental update, refining the solution based on new measurements.
Accessing Results¶
- calculateEstimate: Retrieves the current estimate of the variables in the factor graph. This method can be called with specific variable keys to obtain their estimates.
- marginalCovariance: Computes the marginal covariance of a specified variable, providing insight into the uncertainty of the estimate.
Advanced Features¶
- getFactorsUnsafe: Provides access to the internal factor graph, allowing for advanced manipulations and custom analysis.
- Kaess, M., Johannsson, H., Roberts, R., Ila, V., Leonard, J. J., & Dellaert, F. (2011). iSAM2: Incremental smoothing and mapping using the Bayes tree. The International Journal of Robotics Research, 31(2), 216–235. 10.1177/0278364911430419
- Dellaert, F., & Kaess, M. (2017). Factor Graphs for Robot Perception. Foundations and Trends in Robotics, 6(1–2), 1–139. 10.1561/2300000043