PreintegratedAHRSMeasurements accumulates (integrates) the gyroscope measurements (rotation rates) and the corresponding covariance matrix.
Can be built incrementally so as to avoid costly integration at time of factor construction.
Mathematical Formulation
The preintegrated rotation is updated incrementally with each gyroscope measurement. Given a gyroscope measurement \( \omega_k \) at time \( t_k \), the preintegrated rotation \( \Delta R_{ij} \) from time \( t_i \) to \( t_j \) is the product of many small rotations:
\[\Delta R_{ij} = \prod_{k=i}^{j-1} \text{Exp}((\omega_k - b_g) \Delta t)
\]
where \( b_g \) is the gyroscope bias, and \( \text{Exp}(\cdot) \) is the exponential map from \( \mathbb{R}^3 \) to SO(3).
This class also propagates the covariance of the preintegrated rotation.
|
|
| PreintegratedAhrsMeasurements () |
| | Default constructor, only for serialization and wrappers.
|
| | PreintegratedAhrsMeasurements (const std::shared_ptr< Params > &p, const Vector3 &biasHat=Vector3::Zero()) |
| | Default constructor, initialize with no measurements.
|
| | PreintegratedAhrsMeasurements (const std::shared_ptr< Params > &p, const Vector3 &bias_hat, double deltaTij, const Rot3 &deltaRij, const Matrix3 &delRdelBiasOmega, const Matrix3 &preint_meas_cov) |
| | Non-Default constructor, initialize with measurements.
|
|
Params & | p () const |
|
const Vector3 & | biasHat () const |
|
const Matrix3 & | preintMeasCov () const |
|
void | print (const std::string &s="Preintegrated Measurements: ") const |
| | print
|
|
bool | equals (const PreintegratedAhrsMeasurements &expected, double tol=1e-9) const |
| | equals
|
|
void | resetIntegration () |
| | Reset integrated quantities to zero.
|
| void | integrateMeasurement (const Vector3 &measuredOmega, double deltaT) |
| | Add a single gyroscope measurement to the preintegration.
|
| Rot3 | predict (const Rot3 &Ri, const Vector3 &bias, gtsam::OptionalJacobian< 3, 3 > H1={}, gtsam::OptionalJacobian< 3, 3 > H2={}) const |
| | Predict the orientation at time j, given orientation and bias at time i.
|
|
| PreintegratedRotation () |
| | Default constructor for serialization.
|
|
| PreintegratedRotation (const std::shared_ptr< Params > &p) |
| | Default constructor, resets integration to zero.
|
|
| PreintegratedRotation (const std::shared_ptr< Params > &p, double deltaTij, const Rot3 &deltaRij, const Matrix3 &delRdelBiasOmega) |
| | Explicit initialization of all class members.
|
|
bool | matchesParamsWith (const PreintegratedRotation &other) const |
| | check parameters equality: checks whether shared pointer points to same Params object.
|
|
const std::shared_ptr< Params > & | params () const |
|
const double & | deltaTij () const |
|
const Rot3 & | deltaRij () const |
|
const Matrix3 & | delRdelBiasOmega () const |
|
void | print (const std::string &s) const |
|
bool | equals (const PreintegratedRotation &other, double tol) const |
|
void | resetIntegration () |
| | Re-initialize PreintegratedMeasurements.
|
| void | integrateGyroMeasurement (const Vector3 &measuredOmega, const Vector3 &biasHat, double deltaT, OptionalJacobian< 3, 3 > F={}) |
| | Calculate an incremental rotation given the gyro measurement and a time interval, and update both deltaTij_ and deltaRij_.
|
| Rot3 | biascorrectedDeltaRij (const Vector3 &biasOmegaIncr, OptionalJacobian< 3, 3 > H={}) const |
| | Return a bias corrected version of the integrated rotation.
|