You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I am recently navigating through imu_preintegration factor
While scrutinizing ImuFactor and CombinedImuFactor , I bumped into the presence of so-called integration_covariance or biasAccOmegaInt. The two terms appear while propagating uncertainty as follows,
ImuFactor.cpp :: integrateMeasurement
const Matrix3& iCov = p().integrationCovariance;
preintMeasCov_ = A * preintMeasCov_ * A.transpose();
preintMeasCov_.noalias() += B * (aCov / dt) * B.transpose();
preintMeasCov_.noalias() += C * (wCov / dt) * C.transpose();
// NOTE(frank): (Gi*dt)*(C/dt)*(Gi'*dt), with Gi << Z_3x3, I_3x3, Z_3x3
preintMeasCov_.block<3, 3>(3, 3).noalias() += iCov * dt;
At first, I thought this was designed in heuristic to preclude some numerical failure while integrating measurement covariance. But found out it is the value that can be analytically derived, referring to your comment G*CovMeas*GT.
What is the role of it and how can I use it?
The text was updated successfully, but these errors were encountered:
Hello, I am recently navigating through
imu_preintegration factor
While scrutinizing
ImuFactor
andCombinedImuFactor
, I bumped into the presence of so-calledintegration_covariance
orbiasAccOmegaInt
. The two terms appear while propagating uncertainty as follows,ImuFactor.cpp :: integrateMeasurement
CombinedImuFactor.cpp :: integrateMeasurement
At first, I thought this was designed in heuristic to preclude some numerical failure while integrating measurement covariance. But found out it is the value that can be analytically derived, referring to your comment
G*CovMeas*GT
.What is the role of it and how can I use it?
The text was updated successfully, but these errors were encountered: