Public Types | Public Member Functions | Protected Attributes | Static Private Member Functions | List of all members
gtsam::FullIMUFactor< POSE > Class Template Reference

#include <FullIMUFactor.h>

Inheritance diagram for gtsam::FullIMUFactor< POSE >:
Inheritance graph
[legend]

Public Types

typedef NoiseModelFactor2< POSE, POSE > Base
 
typedef FullIMUFactor< POSE > This
 
- Public Types inherited from gtsam::NoiseModelFactor2< POSE, POSE >
typedef POSE X1
 
typedef POSE X2
 
- Public Types inherited from gtsam::NoiseModelFactor
typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::NonlinearFactor
typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::Factor
typedef KeyVector::const_iterator const_iterator
 Const iterator over keys. More...
 
typedef KeyVector::iterator iterator
 Iterator over keys. More...
 

Public Member Functions

const Vector3accel () const
 
gtsam::NonlinearFactor::shared_ptr clone () const override
 
bool equals (const NonlinearFactor &e, double tol=1e-9) const override
 
Vector evaluateError (const PoseRTV &x1, const PoseRTV &x2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const override
 
virtual Vector evaluateError (const Pose3 &x1, const Pose3 &x2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 
 FullIMUFactor (const Vector3 &accel, const Vector3 &gyro, double dt, const Key &key1, const Key &key2, const SharedNoiseModel &model)
 time between measurements More...
 
 FullIMUFactor (const Vector6 &imu, double dt, const Key &key1, const Key &key2, const SharedNoiseModel &model)
 
const Vector3gyro () const
 
void print (const std::string &s="", const gtsam::KeyFormatter &formatter=gtsam::DefaultKeyFormatter) const override
 
Vector6 z () const
 
 ~FullIMUFactor () override
 
- Public Member Functions inherited from gtsam::NoiseModelFactor2< POSE, POSE >
virtual Vector evaluateError (const X1 &, const X2 &, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const =0
 
Key key1 () const
 
Key key2 () const
 
 NoiseModelFactor2 ()
 
 NoiseModelFactor2 (const SharedNoiseModel &noiseModel, Key j1, Key j2)
 
Vector unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override
 
 ~NoiseModelFactor2 () override
 
- Public Member Functions inherited from gtsam::NoiseModelFactor
shared_ptr cloneWithNewNoiseModel (const SharedNoiseModel newNoise) const
 
size_t dim () const override
 
double error (const Values &c) const override
 
boost::shared_ptr< GaussianFactorlinearize (const Values &x) const override
 
const SharedNoiseModelnoiseModel () const
 access to the noise model More...
 
 NoiseModelFactor ()
 
template<typename CONTAINER >
 NoiseModelFactor (const SharedNoiseModel &noiseModel, const CONTAINER &keys)
 
Vector unweightedWhitenedError (const Values &c) const
 
double weight (const Values &c) const
 
Vector whitenedError (const Values &c) const
 
 ~NoiseModelFactor () override
 
- Public Member Functions inherited from gtsam::NonlinearFactor
 NonlinearFactor ()
 
template<typename CONTAINER >
 NonlinearFactor (const CONTAINER &keys)
 
virtual ~NonlinearFactor ()
 
virtual bool active (const Values &) const
 
shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 
shared_ptr rekey (const KeyVector &new_keys) const
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor. More...
 
Key front () const
 First key. More...
 
Key back () const
 Last key. More...
 
const_iterator find (Key key) const
 find More...
 
const KeyVectorkeys () const
 Access the factor's involved variable keys. More...
 
const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
virtual void printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print only keys More...
 
KeyVectorkeys ()
 
iterator begin ()
 
iterator end ()
 

Protected Attributes

Vector3 accel_
 
double dt_
 
Vector3 gyro_
 
- Protected Attributes inherited from gtsam::NoiseModelFactor
SharedNoiseModel noiseModel_
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 

Static Private Member Functions

static Vector9 predict_proxy (const PoseRTV &x1, const PoseRTV &x2, double dt)
 

Additional Inherited Members

- Protected Types inherited from gtsam::NoiseModelFactor2< POSE, POSE >
typedef NoiseModelFactor Base
 
typedef NoiseModelFactor2< POSE, POSE > This
 
- Protected Types inherited from gtsam::NoiseModelFactor
typedef NonlinearFactor Base
 
typedef NoiseModelFactor This
 
- Protected Types inherited from gtsam::NonlinearFactor
typedef Factor Base
 
typedef NonlinearFactor This
 
- Protected Member Functions inherited from gtsam::NoiseModelFactor
 NoiseModelFactor (const SharedNoiseModel &noiseModel)
 
- Protected Member Functions inherited from gtsam::Factor
 Factor ()
 
template<typename CONTAINER >
 Factor (const CONTAINER &keys)
 
template<typename ITERATOR >
 Factor (ITERATOR first, ITERATOR last)
 
bool equals (const This &other, double tol=1e-9) const
 check equality More...
 
- Static Protected Member Functions inherited from gtsam::Factor
template<typename CONTAINER >
static Factor FromKeys (const CONTAINER &keys)
 
template<typename ITERATOR >
static Factor FromIterators (ITERATOR first, ITERATOR last)
 

Detailed Description

template<class POSE>
class gtsam::FullIMUFactor< POSE >

Class that represents integrating IMU measurements over time for dynamic systems This factor has dimension 9, with a built-in constraint for velocity modeling

Templated to allow for different key types, but variables all assumed to be PoseRTV

Definition at line 23 of file FullIMUFactor.h.

Member Typedef Documentation

template<class POSE>
typedef NoiseModelFactor2<POSE, POSE> gtsam::FullIMUFactor< POSE >::Base

Definition at line 25 of file FullIMUFactor.h.

template<class POSE>
typedef FullIMUFactor<POSE> gtsam::FullIMUFactor< POSE >::This

Definition at line 26 of file FullIMUFactor.h.

Constructor & Destructor Documentation

template<class POSE>
gtsam::FullIMUFactor< POSE >::FullIMUFactor ( const Vector3 accel,
const Vector3 gyro,
double  dt,
const Key key1,
const Key key2,
const SharedNoiseModel model 
)
inline

time between measurements

Standard constructor

Definition at line 37 of file FullIMUFactor.h.

template<class POSE>
gtsam::FullIMUFactor< POSE >::FullIMUFactor ( const Vector6 &  imu,
double  dt,
const Key key1,
const Key key2,
const SharedNoiseModel model 
)
inline

Single IMU vector - imu = [accel, gyro]

Definition at line 44 of file FullIMUFactor.h.

template<class POSE>
gtsam::FullIMUFactor< POSE >::~FullIMUFactor ( )
inlineoverride

Definition at line 51 of file FullIMUFactor.h.

Member Function Documentation

template<class POSE>
const Vector3& gtsam::FullIMUFactor< POSE >::accel ( ) const
inline

Definition at line 77 of file FullIMUFactor.h.

template<class POSE>
gtsam::NonlinearFactor::shared_ptr gtsam::FullIMUFactor< POSE >::clone ( ) const
inlineoverridevirtual
Returns
a deep copy of this factor

Reimplemented from gtsam::NonlinearFactor.

Definition at line 54 of file FullIMUFactor.h.

template<class POSE>
bool gtsam::FullIMUFactor< POSE >::equals ( const NonlinearFactor e,
double  tol = 1e-9 
) const
inlineoverridevirtual

Check if two factors are equal

Reimplemented from gtsam::NoiseModelFactor.

Definition at line 59 of file FullIMUFactor.h.

template<class POSE>
Vector gtsam::FullIMUFactor< POSE >::evaluateError ( const PoseRTV x1,
const PoseRTV x2,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const
inlineoverride

Error evaluation with optional derivatives - calculates z - h(x1,x2)

Definition at line 84 of file FullIMUFactor.h.

template<class POSE>
virtual Vector gtsam::FullIMUFactor< POSE >::evaluateError ( const Pose3 x1,
const Pose3 x2,
boost::optional< Matrix & >  H1 = boost::none,
boost::optional< Matrix & >  H2 = boost::none 
) const
inlinevirtual

dummy version that fails for non-dynamic poses

Definition at line 99 of file FullIMUFactor.h.

template<class POSE>
const Vector3& gtsam::FullIMUFactor< POSE >::gyro ( ) const
inline

Definition at line 76 of file FullIMUFactor.h.

template<class POSE>
static Vector9 gtsam::FullIMUFactor< POSE >::predict_proxy ( const PoseRTV x1,
const PoseRTV x2,
double  dt 
)
inlinestaticprivate

copy of the measurement function formulated for numerical derivatives

Definition at line 109 of file FullIMUFactor.h.

template<class POSE>
void gtsam::FullIMUFactor< POSE >::print ( const std::string &  s = "",
const gtsam::KeyFormatter keyFormatter = gtsam::DefaultKeyFormatter 
) const
inlineoverridevirtual

Print

Reimplemented from gtsam::NoiseModelFactor.

Definition at line 67 of file FullIMUFactor.h.

template<class POSE>
Vector6 gtsam::FullIMUFactor< POSE >::z ( ) const
inline

Definition at line 78 of file FullIMUFactor.h.

Member Data Documentation

template<class POSE>
Vector3 gtsam::FullIMUFactor< POSE >::accel_
protected

measurements from the IMU

Definition at line 31 of file FullIMUFactor.h.

template<class POSE>
double gtsam::FullIMUFactor< POSE >::dt_
protected

Definition at line 32 of file FullIMUFactor.h.

template<class POSE>
Vector3 gtsam::FullIMUFactor< POSE >::gyro_
protected

Definition at line 31 of file FullIMUFactor.h.


The documentation for this class was generated from the following file:


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:58:10