Move to fixed size matrix for derivative calculations
parent
b0b5b04ce8
commit
11b196b528
|
|
@ -52,20 +52,11 @@ class ConstantVelocityFactor : public NoiseModelFactor2<NavState, NavState> {
|
||||||
static const Vector3 b_accel{0.0, 0.0, 0.0};
|
static const Vector3 b_accel{0.0, 0.0, 0.0};
|
||||||
static const Vector3 b_omega{0.0, 0.0, 0.0};
|
static const Vector3 b_omega{0.0, 0.0, 0.0};
|
||||||
|
|
||||||
NavState predicted;
|
Matrix99 predicted_H_x1;
|
||||||
Matrix predicted_H_x1;
|
NavState predicted = x1.update(b_accel, b_omega, dt_, H1 ? &predicted_H_x1 : nullptr, {}, {});
|
||||||
|
|
||||||
if (H1)
|
Matrix99 error_H_predicted;
|
||||||
predicted = x1.update(b_accel, b_omega, dt_, predicted_H_x1, {}, {});
|
Vector9 error = predicted.localCoordinates(x2, H1 ? &error_H_predicted : nullptr, H2);
|
||||||
else
|
|
||||||
predicted = x1.update(b_accel, b_omega, dt_, boost::none, {}, {});
|
|
||||||
|
|
||||||
Matrix error_H_predicted;
|
|
||||||
Vector9 error;
|
|
||||||
if (H1)
|
|
||||||
error = predicted.localCoordinates(x2, error_H_predicted, H2);
|
|
||||||
else
|
|
||||||
error = predicted.localCoordinates(x2, boost::none, H2);
|
|
||||||
|
|
||||||
if (H1) {
|
if (H1) {
|
||||||
*H1 = error_H_predicted * predicted_H_x1;
|
*H1 = error_H_predicted * predicted_H_x1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue