Implementation of the full ISAM2 algorithm for incremental nonlinear optimization.
The typical cycle of using this class to create an instance by providing ISAM2Params to the constructor, then add measurements and variables as they arrive using the update() method. At any time, calculateEstimate() may be called to obtain the current estimate of all variables.
Parameters for ISAM2 using Gauss-Newton optimization. Either this class or ISAM2DoglegParams should be specified as the optimizationParams in ISAM2Params, which should in turn be passed to ISAM2(const ISAM2Params&).
Parameters for ISAM2 using Dogleg optimization. Either this class or ISAM2GaussNewtonParams should be specified as the optimizationParams in ISAM2Params, which should in turn be passed to ISAM2(const ISAM2Params&).
Parameters for the ISAM2 algorithm. Default parameter values are listed below.
This struct is returned from ISAM2::update() and contains information about the update that is useful for determining whether the solution is converging, and about how much work was required for the update. See member variables for details and information about each entry.
This struct is used by ISAM2::update() to pass additional parameters to give the user a fine-grained control on how factors and relinearized, etc.