29 cout << (
s.empty() ?
s :
s +
"\n") << endl;
30 cout <<
"gyroscopeCovariance:\n[\n" << gyroscopeCovariance <<
"\n]" << endl;
32 cout <<
"omegaCoriolis = (" << omegaCoriolis->transpose() <<
")" << endl;
36 bool PreintegratedRotationParams::equals(
39 if (!
other.body_P_sensor
44 if (!
other.omegaCoriolis
51 void PreintegratedRotation::resetIntegration() {
54 delRdelBiasOmega_ = Z_3x3;
59 cout <<
" deltaTij [" << deltaTij_ <<
"]" << endl;
60 cout <<
" deltaRij.ypr = (" << deltaRij_.ypr().transpose() <<
")" << endl;
65 return this->matchesParamsWith(
other)
66 && deltaRij_.equals(
other.deltaRij_,
tol)
97 void PreintegratedRotation::integrateGyroMeasurement(
102 const Rot3 incrR =
f(biasHat, H_bias);
106 deltaRij_ = deltaRij_.compose(incrR,
F);
109 const Matrix3 incrRt = incrR.
transpose();
110 delRdelBiasOmega_ = incrRt * delRdelBiasOmega_ + H_bias;
113 #ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V43
114 void PreintegratedRotation::integrateMeasurement(
121 if (optional_D_incrR_integratedOmega) {
124 const Rot3 incrR =
f(biasHat, H_bias);
125 *optional_D_incrR_integratedOmega << H_bias / -
deltaT;
130 Rot3 PreintegratedRotation::biascorrectedDeltaRij(
const Vector3& biasOmegaIncr,
132 const Vector3 biasInducedOmega = delRdelBiasOmega_ * biasOmegaIncr;
133 const Rot3 deltaRij_biascorrected = deltaRij_.
expmap(biasInducedOmega,{},
H);
135 (*H) *= delRdelBiasOmega_;
136 return deltaRij_biascorrected;
139 Vector3 PreintegratedRotation::integrateCoriolis(
const Rot3& rot_i)
const {
140 if (!p_->omegaCoriolis)
141 return Vector3::Zero();
142 return rot_i.
transpose() * (*p_->omegaCoriolis) * deltaTij_;