47 std::shared_ptr<Params>
p_;
78 virtual void resetIntegration() = 0;
83 void resetIntegrationAndSetBias(
const Bias& biasHat);
87 return p_.get() ==
other.p_.get();
91 const std::shared_ptr<Params>&
params()
const {
107 virtual Vector3 deltaPij()
const = 0;
108 virtual Vector3 deltaVij()
const = 0;
109 virtual Rot3 deltaRij()
const = 0;
110 virtual NavState deltaXij()
const = 0;
119 virtual void print(
const std::string&
s=
"")
const;
130 std::pair<Vector3, Vector3> correctMeasurementsBySensorPose(
133 OptionalJacobian<3, 3> correctedAcc_H_unbiasedOmega = {},
134 OptionalJacobian<3, 3> correctedOmega_H_unbiasedOmega = {})
const;
150 virtual Vector9 biasCorrectedDelta(
const imuBias::ConstantBias& bias_i,
151 OptionalJacobian<9, 6>
H = {})
const = 0;
154 NavState predict(
const NavState& state_i,
const imuBias::ConstantBias& bias_i,
155 OptionalJacobian<9, 9> H1 = {},
156 OptionalJacobian<9, 6> H2 = {})
const;
159 Vector9 computeError(
const NavState& state_i,
const NavState& state_j,
160 const imuBias::ConstantBias& bias_i,
161 OptionalJacobian<9, 9> H1, OptionalJacobian<9, 9> H2,
162 OptionalJacobian<9, 6> H3)
const;
168 Vector9 computeErrorAndJacobians(
const Pose3& pose_i,
const Vector3& vel_i,
170 const imuBias::ConstantBias& bias_i,
171 OptionalJacobian<9, 6> H1 = {}, OptionalJacobian<9, 3> H2 = {},
172 OptionalJacobian<9, 6> H3 = {}, OptionalJacobian<9, 3> H4 = {},
173 OptionalJacobian<9, 6> H5 = {})
const;
176 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
178 friend class boost::serialization::access;
179 template<
class ARCHIVE>
180 void serialize(ARCHIVE & ar,
const unsigned int ) {
181 ar & BOOST_SERIALIZATION_NVP(p_);
182 ar & BOOST_SERIALIZATION_NVP(biasHat_);
183 ar & BOOST_SERIALIZATION_NVP(deltaTij_);