gtsam  4.0.0
gtsam
gtsam::FullIMUFactor< POSE > Class Template Reference

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

+ Inheritance diagram for gtsam::FullIMUFactor< POSE >:

Public Member Functions

 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)
 Single IMU vector - imu = [accel, gyro].
 
virtual gtsam::NonlinearFactor::shared_ptr clone () const
 
virtual bool equals (const NonlinearFactor &e, double tol=1e-9) const
 Check if two factors are equal.
 
void print (const std::string &s="", const gtsam::KeyFormatter &formatter=gtsam::DefaultKeyFormatter) const
 Print.
 
const Vector3 & gyro () const
 
const Vector3 & accel () const
 
Vector6 z () const
 
virtual Vector evaluateError (const PoseRTV &x1, const PoseRTV &x2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 Error evaluation with optional derivatives - calculates z - h(x1,x2)
 
virtual Vector evaluateError (const Pose3 &x1, const Pose3 &x2, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const
 dummy version that fails for non-dynamic poses
 
- Public Member Functions inherited from gtsam::NoiseModelFactor2< POSE, POSE >
 NoiseModelFactor2 ()
 Default Constructor for I/O.
 
 NoiseModelFactor2 (const SharedNoiseModel &noiseModel, Key j1, Key j2)
 Constructor. More...
 
Key key1 () const
 methods to retrieve both keys
 
Key key2 () const
 
virtual Vector unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const
 Calls the 2-key specific version of evaluateError, which is pure virtual so must be implemented in the derived class. More...
 
virtual Vector evaluateError (const X1 &, const X2 &, boost::optional< Matrix & > H1=boost::none, boost::optional< Matrix & > H2=boost::none) const=0
 Override this method to finish implementing a binary factor. More...
 

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
 

Protected Attributes

Vector3 accel_
 measurements from the IMU
 
Vector3 gyro_
 
double dt_
 

Additional Inherited Members

- Protected Types inherited from gtsam::NoiseModelFactor2< POSE, POSE >
typedef NoiseModelFactor Base
 
typedef NoiseModelFactor2< POSE, POSE > This
 

Constructor & Destructor Documentation

◆ FullIMUFactor()

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

Member Function Documentation

◆ clone()

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

Reimplemented from gtsam::NonlinearFactor.


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