gtsam 4.1.1
gtsam
SLAM

PreintegratedCombinedMeasurements integrates the IMU measurements (rotation rates and accelerations) and the corresponding covariance matrix.

PreintegratedCombinedMeasurements integrates the IMU measurements (rotation rates and accelerations) and the corresponding covariance matrix.

This factor assumes that camera calibration is fixed, but each camera has its own calibration.

This factor optimizes the pose of the body as well as the extrinsic camera calibration (pose of camera wrt body).

Smart factor for range SLAM.

This factor optimizes two consecutive poses of the body assuming a rolling shutter model of the camera with given readout time.

Non-linear factor for 2D projection measurement obtained using a rolling shutter camera.

A class for a measurement between a pose and a point.

A class to model GPS measurements, including a bias term which models common-mode errors and that can be partially corrected if other sensors are used.

A Generic Stereo Factor.

This factor assumes that camera calibration is fixed (but each measurement can be taken by a different camera in the rig, hence can have a different extrinsic and intrinsic calibration).

This factor assumes that camera calibration is fixed, and that the calibration is the same for all cameras involved in this factor.

If you are using the factor, please cite: L.

Non-linear factor for a constraint derived from a 2D measurement.

Binary factor between two Pose3 variables induced by an EssentialMatrix measurement.

Unary inequality constraint forcing a scalar to be greater/less than a fixed threshold.

A class for a measurement predicted by "between(config[key1],config[key2])".

A class for downdating an existing factor from a graph.

Binary factor for a bearing/range measurement.

A class for a soft prior on any Value type.

ImuFactor2 is a ternary factor that uses NavStates rather than Pose/Velocity.

ImuFactor is a 5-ways factor involving previous state (pose and velocity of the vehicle at previous time step), current state (pose and velocity at current time step), and the bias estimate.

PreintegratedImuMeasurements accumulates (integrates) the IMU measurements (rotation rates and accelerations) and the corresponding covariance matrix.

CombinedImuFactor is a 6-ways factor involving previous state (pose and velocity of the vehicle, as well as bias at previous time step), and current state (pose, velocity, bias at current time step).

The measurements are then used to build the CombinedImuFactor. Integration is done incrementally (ideally, one integrates the measurement as soon as it is received from the IMU) so as to avoid costly integration at time of factor construction.

Following the pre- integration scheme proposed in [2], the CombinedImuFactor includes many IMU measurements, which are "summarized" using the PreintegratedCombinedMeasurements class. There are 3 main differences wrpt the ImuFactor class: 1) The factor is 6-ways, meaning that it also involves both biases (previous and current time step).Therefore, the factor internally imposes the biases to be slowly varying; in particular, the matrices "biasAccCovariance" and "biasOmegaCovariance" described the random walk that models bias evolution. 2) The preintegration covariance takes into account the noise in the bias estimate used for integration. 3) The covariance matrix of the PreintegratedCombinedMeasurements preserves the correlation between the bias uncertainty and the preintegrated measurements uncertainty.

The measurements are then used to build the Preintegrated IMU factor. Integration is done incrementally (ideally, one integrates the measurement as soon as it is received from the IMU) so as to avoid costly integration at time of factor construction.

Following the preintegration scheme proposed in [2], the ImuFactor includes many IMU measurements, which are "summarized" using the PreintegratedIMUMeasurements class. Note that this factor does not model "temporal consistency" of the biases (which are usually slowly varying quantities), which is up to the caller. See also CombinedImuFactor for a class that does this for you.

The AntiFactor returns the same linearized Hessian matrices of the original factor, but with the opposite sign. This effectively cancels out any affects of the original factor during optimization."

Template Parameters
VALUEthe Value type

The function will need to have its value function implemented to return a scalar for comparison.

The calibration is unknown here compared to GenericProjectionFactor

The calibration is known here. The main building block for visual SLAM.

Carlone, Z. Kira, C. Beall, V. Indelman, F. Dellaert, Eliminating conditionally independent sets in factor graphs: a unifying perspective based on smart factors, Int. Conf. on Robotics and Automation (ICRA), 2014.

The factor only constrains poses (variable dimension is 6). This factor requires that values contains the involved poses (Pose3). If the calibration should be optimized, as well, use SmartProjectionFactor instead!

The factor only constrains poses (variable dimension is 6 for each pose). This factor requires that values contains the involved poses (Pose3). If all measurements share the same calibration (i.e., are from the same camera), use SmartProjectionPoseFactor instead! If the calibration should be optimized, as well, use SmartProjectionFactor instead!

The calibration and pose are assumed known.

The calibration is known here. i.e. the main building block for visual SLAM.

Template Parameters
POSEthe Pose type

This factor estimates the body pose, body-camera transform, 3D landmark, and calibration.

The calibration is known here. This version takes rolling shutter information into account as follows: consider two consecutive poses A and B, and a Point2 measurement taken starting at time A using a rolling shutter camera. Pose A has timestamp t_A, and Pose B has timestamp t_B. The Point2 measurement has timestamp t_p (with t_A <= t_p <= t_B) corresponding to the time of exposure of the row of the image the pixel belongs to. Let us define the alpha = (t_p - t_A) / (t_B - t_A), we will use the pose interpolated between A and B by the alpha to project the corresponding landmark to Point2.

The factor requires that values contain (for each pixel observation) two consecutive camera poses from which the pixel observation pose can be interpolated.

Each camera may have its own extrinsic calibration or the same calibration can be shared by multiple cameras. This factor requires that values contain the involved poses and extrinsics (both are Pose3 variables).

The factor only constrains poses (variable dimension is 6). This factor requires that values contains the involved poses (Pose3).