70 Base(model,
key), nT_(gpsIn) {
74 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
75 return std::static_pointer_cast<gtsam::NonlinearFactor>(
76 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
99 static std::pair<Pose3, Vector3> EstimateState(
double t1,
const Point3& NED1,
100 double t2,
const Point3& NED2,
double timestamp);
104#if GTSAM_ENABLE_BOOST_SERIALIZATION
106 friend class boost::serialization::access;
107 template<
class ARCHIVE>
108 void serialize(ARCHIVE & ar,
const unsigned int ) {
111 & boost::serialization::make_nvp(
"NoiseModelFactor1",
112 boost::serialization::base_object<Base>(*
this));
113 ar & BOOST_SERIALIZATION_NVP(nT_);
162 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
163 return std::static_pointer_cast<gtsam::NonlinearFactor>(
164 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
189#if GTSAM_ENABLE_BOOST_SERIALIZATION
191 friend class boost::serialization::access;
192 template<
class ARCHIVE>
193 void serialize(ARCHIVE & ar,
const unsigned int ) {
196 & boost::serialization::make_nvp(
"NoiseModelFactor1",
197 boost::serialization::base_object<Base>(*
this));
198 ar & BOOST_SERIALIZATION_NVP(nT_);
199 ar & BOOST_SERIALIZATION_NVP(bL_);
249 Base(model, key1, key2), nT_(gpsIn) {
253 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
254 return std::static_pointer_cast<gtsam::NonlinearFactor>(
255 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
266 Vector3 evaluateError(
const Pose3& nTb,
const Point3& bL,
277#if GTSAM_ENABLE_BOOST_SERIALIZATION
279 friend class boost::serialization::access;
280 template<
class ARCHIVE>
281 void serialize(ARCHIVE & ar,
const unsigned int ) {
284 & boost::serialization::make_nvp(
"NoiseModelFactor2",
285 boost::serialization::base_object<Base>(*
this));
286 ar & BOOST_SERIALIZATION_NVP(nT_);
331 Base(model,
key), nT_(gpsIn) {
335 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
336 return std::static_pointer_cast<gtsam::NonlinearFactor>(
337 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
357#if GTSAM_ENABLE_BOOST_SERIALIZATION
359 friend class boost::serialization::access;
360 template<
class ARCHIVE>
361 void serialize(ARCHIVE & ar,
const unsigned int ) {
364 & boost::serialization::make_nvp(
"NoiseModelFactor1",
365 boost::serialization::base_object<Base>(*
this));
366 ar & BOOST_SERIALIZATION_NVP(nT_);
415 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
416 return std::static_pointer_cast<gtsam::NonlinearFactor>(
417 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
442#if GTSAM_ENABLE_BOOST_SERIALIZATION
444 friend class boost::serialization::access;
445 template<
class ARCHIVE>
446 void serialize(ARCHIVE & ar,
const unsigned int ) {
449 & boost::serialization::make_nvp(
"NoiseModelFactor1",
450 boost::serialization::base_object<Base>(*
this));
451 ar & BOOST_SERIALIZATION_NVP(nT_);
452 ar & BOOST_SERIALIZATION_NVP(bL_);
500 Base(model, key1, key2), nT_(gpsIn) {
504 gtsam::NonlinearFactor::shared_ptr
clone()
const override {
505 return std::static_pointer_cast<gtsam::NonlinearFactor>(
506 gtsam::NonlinearFactor::shared_ptr(
new This(*
this)));
528#if GTSAM_ENABLE_BOOST_SERIALIZATION
530 friend class boost::serialization::access;
531 template<
class ARCHIVE>
532 void serialize(ARCHIVE & ar,
const unsigned int ) {
535 & boost::serialization::make_nvp(
"NoiseModelFactor2",
536 boost::serialization::base_object<Base>(*
this));
537 ar & BOOST_SERIALIZATION_NVP(nT_);
3D Pose manifold SO(3) x R^3 and group SE(3)
Navigation state composing of attitude, position, and velocity.
Base class for noise model factors with N variables.
Non-linear factor base classes.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
Definition Key.cpp:30
Matrix * OptionalMatrixType
This typedef will be used everywhere boost::optional<Matrix&> reference was used previously.
Definition NonlinearFactor.h:57
NoiseModelFactorT< Vector, ValueTypes... > NoiseModelFactorN
Noise model factor with N value types and dynamic-sized error vector.
Definition NoiseModelFactorN.h:561
Vector3 Point3
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point3 to Vector3...
Definition Point3.h:38
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition Matrix.cpp:143
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition Key.h:35
noiseModel::Base::shared_ptr SharedNoiseModel
Aliases.
Definition NoiseModel.h:846
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:43
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
Template to create a binary predicate.
Definition Testable.h:112
A helper that implements the traits interface for GTSAM types.
Definition Testable.h:152
A 3D pose (R,t) : (Rot3,Point3).
Definition Pose3.h:42
Prior on position in a Cartesian frame.
Definition GPSFactor.h:38
GPSFactor This
Typedef to this class.
Definition GPSFactor.h:55
GPSFactor()
default constructor - only use for serialization
Definition GPSFactor.h:58
std::shared_ptr< GPSFactor > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:52
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:90
GPSFactor(Key key, const Point3 &gpsIn, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:69
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:74
Version of GPSFactor (for Pose3) with lever arm between GPS and Body frame.
Definition GPSFactor.h:125
std::shared_ptr< GPSFactorArm > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:141
GPSFactorArm This
Typedef to this class.
Definition GPSFactor.h:144
GPSFactorArm()
default constructor - only use for serialization
Definition GPSFactor.h:147
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:162
GPSFactorArm(Key key, const Point3 &gpsIn, const Point3 &leverArm, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:157
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:178
const Point3 & leverArm() const
return the lever arm, a position in the body frame
Definition GPSFactor.h:183
Version of GPSFactorArm (for Pose3) with unknown lever arm between GPS and Body frame.
Definition GPSFactor.h:217
GPSFactorArmCalib()
default constructor - only use for serialization
Definition GPSFactor.h:237
std::shared_ptr< GPSFactorArmCalib > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:231
GPSFactorArmCalib This
Typedef to this class.
Definition GPSFactor.h:234
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:271
GPSFactorArmCalib(Key key1, Key key2, const Point3 &gpsIn, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:248
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:253
Version of GPSFactor for NavState, assuming zero lever arm between body frame and GPS.
Definition GPSFactor.h:301
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:335
GPSFactor2 This
Typedef to this class.
Definition GPSFactor.h:318
GPSFactor2(Key key, const Point3 &gpsIn, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:330
std::shared_ptr< GPSFactor2 > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:315
GPSFactor2()
default constructor - only use for serialization
Definition GPSFactor.h:321
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:351
Version of GPSFactor2 with lever arm between GPS and Body frame.
Definition GPSFactor.h:378
GPSFactor2Arm(Key key, const Point3 &gpsIn, const Point3 &leverArm, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:410
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:415
const Point3 & leverArm() const
return the lever arm, a position in the body frame
Definition GPSFactor.h:436
GPSFactor2Arm()
default constructor - only use for serialization
Definition GPSFactor.h:400
std::shared_ptr< GPSFactor2Arm > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:394
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:431
GPSFactor2Arm This
Typedef to this class.
Definition GPSFactor.h:397
Version of GPSFactor2Arm for an unknown lever arm between GPS and Body frame.
Definition GPSFactor.h:469
const Point3 & measurementIn() const
return the measurement, in the navigation frame
Definition GPSFactor.h:522
GPSFactor2ArmCalib()
default constructor - only use for serialization
Definition GPSFactor.h:489
gtsam::NonlinearFactor::shared_ptr clone() const override
Definition GPSFactor.h:504
GPSFactor2ArmCalib This
Typedef to this class.
Definition GPSFactor.h:486
GPSFactor2ArmCalib(Key key1, Key key2, const Point3 &gpsIn, const SharedNoiseModel &model)
Constructor from a measurement in a Cartesian frame.
Definition GPSFactor.h:499
std::shared_ptr< GPSFactor2ArmCalib > shared_ptr
shorthand for a smart pointer to a factor
Definition GPSFactor.h:483
Navigation state: Pose (rotation, translation) + velocity Following Barrau20icra, this class belongs ...
Definition NavState.h:45
NoiseModelFactorT()
Definition NoiseModelFactorN.h:257
virtual Vector evaluateError(const ValueTypes &... x, OptionalMatrixTypeT< ValueTypes >... H) const=0
Key key() const
Definition NoiseModelFactorN.h:307
Nonlinear factor base class.
Definition NonlinearFactor.h:70