included suggestions from Frank
parent
dc13912ce2
commit
b126d98609
|
|
@ -101,7 +101,7 @@ void ImuFactor::PreintegratedMeasurements::integrateMeasurement(
|
||||||
}
|
}
|
||||||
if(G_test){
|
if(G_test){
|
||||||
// Extended version, without approximation: Gt * Qt * G =(approx)= measurementCovariance_contTime * deltaT
|
// Extended version, without approximation: Gt * Qt * G =(approx)= measurementCovariance_contTime * deltaT
|
||||||
// This in only for testing
|
// This in only for testing & documentation
|
||||||
G_test->resize(9,9);
|
G_test->resize(9,9);
|
||||||
// intNoise accNoise omegaNoise
|
// intNoise accNoise omegaNoise
|
||||||
(*G_test) << I_3x3 * deltaT, Z_3x3, Z_3x3, // pos
|
(*G_test) << I_3x3 * deltaT, Z_3x3, Z_3x3, // pos
|
||||||
|
|
|
||||||
|
|
@ -76,12 +76,8 @@ public:
|
||||||
/// Update preintegrated measurements
|
/// Update preintegrated measurements
|
||||||
void updateIntegratedRotationAndDeltaT(const Rot3& incrR, const double deltaT,
|
void updateIntegratedRotationAndDeltaT(const Rot3& incrR, const double deltaT,
|
||||||
boost::optional<Matrix3&> H = boost::none){
|
boost::optional<Matrix3&> H = boost::none){
|
||||||
deltaRij_ = deltaRij_ * incrR;
|
deltaRij_ = deltaRij_.compose(incrR, H, boost::none);
|
||||||
deltaTij_ += deltaT;
|
deltaTij_ += deltaT;
|
||||||
if(H){
|
|
||||||
H->resize(3,3);
|
|
||||||
*H = incrR.transpose();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -126,16 +126,19 @@ public:
|
||||||
deltaPij_ += deltaVij_ * deltaT + 0.5 * temp * deltaT;
|
deltaPij_ += deltaVij_ * deltaT + 0.5 * temp * deltaT;
|
||||||
}
|
}
|
||||||
deltaVij_ += temp;
|
deltaVij_ += temp;
|
||||||
Matrix3 F_angles_angles;
|
|
||||||
const Matrix3 R_i = deltaRij();
|
|
||||||
updateIntegratedRotationAndDeltaT(incrR,deltaT, F_angles_angles);
|
|
||||||
Matrix3 F_vel_angles = - R_i * skewSymmetric(correctedAcc) * deltaT;
|
|
||||||
if(F){
|
if(F){
|
||||||
|
Matrix3 F_angles_angles;
|
||||||
|
const Matrix3 R_i = deltaRij();
|
||||||
|
updateIntegratedRotationAndDeltaT(incrR,deltaT, F_angles_angles);
|
||||||
|
Matrix3 F_vel_angles = - R_i * skewSymmetric(correctedAcc) * deltaT;
|
||||||
F->resize(9,9);
|
F->resize(9,9);
|
||||||
// pos vel angle
|
// pos vel angle
|
||||||
*F << I_3x3, I_3x3 * deltaT, Z_3x3, // pos
|
*F << I_3x3, I_3x3 * deltaT, Z_3x3, // pos
|
||||||
Z_3x3, I_3x3, F_vel_angles, // vel
|
Z_3x3, I_3x3, F_vel_angles, // vel
|
||||||
Z_3x3, Z_3x3, F_angles_angles;// angle
|
Z_3x3, Z_3x3, F_angles_angles;// angle
|
||||||
|
}else{
|
||||||
|
updateIntegratedRotationAndDeltaT(incrR,deltaT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue