70 void resetIntegration()
override;
76 NavState deltaXij()
const override {
return deltaXij_; }
77 Rot3 deltaRij()
const override {
return deltaXij_.attitude(); }
78 Vector3 deltaPij()
const override {
return deltaXij_.position(); }
79 Vector3 deltaVij()
const override {
return deltaXij_.velocity(); }
86 Matrix3 delRdelBiasOmega()
const {
return delRdelBiasOmega_; }
87 Matrix3 delPdelBiasAcc()
const {
return delPdelBiasAcc_; }
88 Matrix3 delPdelBiasOmega()
const {
return delPdelBiasOmega_; }
89 Matrix3 delVdelBiasAcc()
const {
return delVdelBiasAcc_; }
90 Matrix3 delVdelBiasOmega()
const {
return delVdelBiasOmega_; }
94 bool equals(
const ManifoldPreintegration& other,
double tol)
const;
104 void update(
const Vector3& measuredAcc,
const Vector3& measuredOmega,
const double dt,
105 Matrix9* A, Matrix93* B, Matrix93* C)
override;
110 Vector9 biasCorrectedDelta(
const imuBias::ConstantBias& bias_i,
111 OptionalJacobian<9, 6> H = {})
const override;
114 virtual std::shared_ptr<ManifoldPreintegration>
clone()
const {
115 return std::shared_ptr<ManifoldPreintegration>();
122 virtual void updateFactor(
const Vector3& bodyAcceleration,
123 const Vector3& bodyOmega,
double dt,
125 OptionalJacobian<9, 3> G1 = {},
126 OptionalJacobian<9, 3> G2 = {});
129 virtual void updateBiasJacobians(
const Rot3& oldRotation,
130 const Vector3& bodyAcceleration,
131 const Vector3& bodyOmega,
double dt,
132 const Matrix9& stateTransition,
133 const Matrix93& accelerationJacobian,
134 const Matrix93& omegaJacobian);
137#if GTSAM_ENABLE_BOOST_SERIALIZATION
139 friend class boost::serialization::access;
140 template<
class ARCHIVE>
141 void serialize(ARCHIVE & ar,
const unsigned int ) {
142 namespace bs = ::boost::serialization;
143 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(PreintegrationBase);
144 ar & BOOST_SERIALIZATION_NVP(deltaXij_);
145 ar & BOOST_SERIALIZATION_NVP(delRdelBiasOmega_);
146 ar & BOOST_SERIALIZATION_NVP(delPdelBiasAcc_);
147 ar & BOOST_SERIALIZATION_NVP(delPdelBiasOmega_);
148 ar & BOOST_SERIALIZATION_NVP(delVdelBiasAcc_);
149 ar & BOOST_SERIALIZATION_NVP(delVdelBiasOmega_);
Navigation state composing of attitude, position, and velocity.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
IMU pre-integration on NavState manifold.
Definition ManifoldPreintegration.h:33
virtual std::shared_ptr< ManifoldPreintegration > clone() const
Dummy clone for MATLAB.
Definition ManifoldPreintegration.h:114
ManifoldPreintegration()
Default constructor for serialization.
Definition ManifoldPreintegration.h:49
Matrix3 delVdelBiasAcc_
Jacobian of preintegrated velocity w.r.t. acceleration bias.
Definition ManifoldPreintegration.h:45
Vector9 preintegrated() const
Return the preintegrated measurements as NavState tangent coordinates.
Definition ManifoldPreintegration.h:82
Matrix3 delRdelBiasOmega_
Jacobian of preintegrated rotation w.r.t. angular rate bias.
Definition ManifoldPreintegration.h:42
Matrix3 delPdelBiasAcc_
Jacobian of preintegrated position w.r.t. acceleration bias.
Definition ManifoldPreintegration.h:43
NavState deltaXij_
Pre-integrated navigation state, from frame i to frame j Note: relative position does not take into a...
Definition ManifoldPreintegration.h:41
Matrix3 delPdelBiasOmega_
Jacobian of preintegrated position w.r.t. angular rate bias.
Definition ManifoldPreintegration.h:44
Matrix3 delVdelBiasOmega_
Jacobian of preintegrated velocity w.r.t. angular rate bias.
Definition ManifoldPreintegration.h:46
Navigation state: Pose (rotation, translation) + velocity Following Barrau20icra, this class belongs ...
Definition NavState.h:45
Vector9 localCoordinates(const NavState &g, OptionalJacobian< 9, 9 > H1={}, OptionalJacobian< 9, 9 > H2={}) const
Inverse of the optimization chart selected by GTSAM_NAVSTATE_EXPMAP.
Definition NavState.cpp:137
PreintegrationBase()
Default constructor for serialization.
Definition PreintegrationBase.h:63