PreintegratedImuMeasurements accumulates (integrates) the IMU measurements (rotation rates and accelerations) and the corresponding covariance matrix.
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.
|
| PreintegratedImuMeasurements () |
| Default constructor for serialization and wrappers.
|
|
| PreintegratedImuMeasurements (const boost::shared_ptr< PreintegrationParams > &p, const imuBias::ConstantBias &biasHat=imuBias::ConstantBias()) |
| Constructor, initializes the class with no measurements. More...
|
|
| PreintegratedImuMeasurements (const PreintegrationType &base, const Matrix9 &preintMeasCov) |
| Construct preintegrated directly from members: base class and preintMeasCov. More...
|
|
| ~PreintegratedImuMeasurements () override |
| Virtual destructor.
|
|
void | print (const std::string &s="Preintegrated Measurements:") const override |
| print More...
|
|
bool | equals (const PreintegratedImuMeasurements &expected, double tol=1e-9) const |
| equals
|
|
void | resetIntegration () override |
| Re-initialize PreintegratedIMUMeasurements. More...
|
|
void | integrateMeasurement (const Vector3 &measuredAcc, const Vector3 &measuredOmega, const double dt) override |
| Add a single IMU measurement to the preintegration. More...
|
|
void | integrateMeasurements (const Matrix &measuredAccs, const Matrix &measuredOmegas, const Matrix &dts) |
| Add multiple measurements, in matrix columns.
|
|
Matrix | preintMeasCov () const |
| Return pre-integrated measurement covariance.
|
|
| ManifoldPreintegration (const boost::shared_ptr< Params > &p, const imuBias::ConstantBias &biasHat=imuBias::ConstantBias()) |
| Constructor, initializes the variables in the base class. More...
|
|
void | resetIntegration () override |
|
NavState | deltaXij () const override |
|
Rot3 | deltaRij () const override |
|
Vector3 | deltaPij () const override |
|
Vector3 | deltaVij () const override |
|
Matrix3 | delRdelBiasOmega () const |
|
Matrix3 | delPdelBiasAcc () const |
|
Matrix3 | delPdelBiasOmega () const |
|
Matrix3 | delVdelBiasAcc () const |
|
Matrix3 | delVdelBiasOmega () const |
|
bool | equals (const ManifoldPreintegration &other, double tol) const |
|
void | update (const Vector3 &measuredAcc, const Vector3 &measuredOmega, const double dt, Matrix9 *A, Matrix93 *B, Matrix93 *C) override |
| Update preintegrated measurements and get derivatives It takes measured quantities in the j frame Modifies preintegrated quantities in place after correcting for bias and possibly sensor pose NOTE(frank): implementation is different in two versions. More...
|
|
Vector9 | biasCorrectedDelta (const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 6 > H=boost::none) const override |
| Given the estimate of the bias, return a NavState tangent vector summarizing the preintegrated IMU measurements so far NOTE(frank): implementation is different in two versions. More...
|
|
virtual boost::shared_ptr< ManifoldPreintegration > | clone () const |
| Dummy clone for MATLAB.
|
|
| PreintegrationBase (const boost::shared_ptr< Params > &p, const imuBias::ConstantBias &biasHat=imuBias::ConstantBias()) |
| Constructor, initializes the variables in the base class. More...
|
|
void | resetIntegrationAndSetBias (const Bias &biasHat) |
|
bool | matchesParamsWith (const PreintegrationBase &other) const |
| check parameters equality: checks whether shared pointer points to same Params object.
|
|
const boost::shared_ptr< Params > & | params () const |
| shared pointer to params
|
|
Params & | p () const |
| const reference to params
|
|
const imuBias::ConstantBias & | biasHat () const |
|
double | deltaTij () const |
|
Vector6 | biasHatVector () const |
|
std::pair< Vector3, Vector3 > | correctMeasurementsBySensorPose (const Vector3 &unbiasedAcc, const Vector3 &unbiasedOmega, OptionalJacobian< 3, 3 > correctedAcc_H_unbiasedAcc=boost::none, OptionalJacobian< 3, 3 > correctedAcc_H_unbiasedOmega=boost::none, OptionalJacobian< 3, 3 > correctedOmega_H_unbiasedOmega=boost::none) const |
| Subtract estimate and correct for sensor pose Compute the derivatives due to non-identity body_P_sensor (rotation and centrifugal acc) Ignore D_correctedOmega_measuredAcc as it is trivially zero.
|
|
NavState | predict (const NavState &state_i, const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 9 > H1=boost::none, OptionalJacobian< 9, 6 > H2=boost::none) const |
| Predict state at time j.
|
|
Vector9 | computeError (const NavState &state_i, const NavState &state_j, const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 9 > H1, OptionalJacobian< 9, 9 > H2, OptionalJacobian< 9, 6 > H3) const |
| Calculate error given navStates.
|
|
Vector9 | computeErrorAndJacobians (const Pose3 &pose_i, const Vector3 &vel_i, const Pose3 &pose_j, const Vector3 &vel_j, const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 6 > H1=boost::none, OptionalJacobian< 9, 3 > H2=boost::none, OptionalJacobian< 9, 6 > H3=boost::none, OptionalJacobian< 9, 3 > H4=boost::none, OptionalJacobian< 9, 6 > H5=boost::none) const |
| Compute errors w.r.t. More...
|
|