gtsam
4.0.0
gtsam
|
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
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 | |
![]() | |
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 |
![]() | |
typedef POSE | X1 |
typedef POSE | X2 |
Protected Attributes | |
Vector3 | accel_ |
measurements from the IMU | |
Vector3 | gyro_ |
double | dt_ |
Additional Inherited Members | |
![]() | |
typedef NoiseModelFactor | Base |
typedef NoiseModelFactor2< POSE, POSE > | This |
|
inline |
time between measurements
Standard constructor
|
inlinevirtual |
Reimplemented from gtsam::NonlinearFactor.