49 boost::optional<gtsam::Matrix &> H1 = boost::none,
50 boost::optional<gtsam::Matrix &> H2 = boost::none)
const override {
52 static const Vector3 b_accel{0.0, 0.0, 0.0};
53 static const Vector3 b_omega{0.0, 0.0, 0.0};
55 Matrix99 predicted_H_x1;
56 NavState predicted = x1.
update(b_accel, b_omega, dt_, H1 ? &predicted_H_x1 :
nullptr, {}, {});
58 Matrix99 error_H_predicted;
62 *H1 = error_H_predicted * predicted_H_x1;
gtsam::Vector evaluateError(const NavState &x1, const NavState &x2, boost::optional< gtsam::Matrix & > H1=boost::none, boost::optional< gtsam::Matrix & > H2=boost::none) const override
Caclulate error: (x2 - x1.update(dt))) where X1 and X1 are NavStates and dt is the time difference in...
double error(const Values &c) const override
noiseModel::Diagonal::shared_ptr model
Vector9 localCoordinates(const NavState &g, OptionalJacobian< 9, 9 > H1=boost::none, OptionalJacobian< 9, 9 > H2=boost::none) const
localCoordinates with optional derivatives
Pose3 x2(Rot3::Ypr(0.0, 0.0, 0.0), l2)
Navigation state composing of attitude, position, and velocity.
NavState update(const Vector3 &b_acceleration, const Vector3 &b_omega, const double dt, OptionalJacobian< 9, 9 > F, OptionalJacobian< 9, 3 > G1, OptionalJacobian< 9, 3 > G2) const
ConstantVelocityFactor(Key i, Key j, double dt, const SharedNoiseModel &model)
Non-linear factor base classes.
std::uint64_t Key
Integer nonlinear key type.
~ConstantVelocityFactor() override
noiseModel::Base::shared_ptr SharedNoiseModel