Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS > Class Template Reference

#include <InertialNavFactor_GlobalVelocity.h>

Inheritance diagram for gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< InertialNavFactor_GlobalVelocityshared_ptr
 
- Public Types inherited from gtsam::NoiseModelFactorN< POSE, VELOCITY, IMUBIAS, POSE, VELOCITY >
using ValueType = typename std::tuple_element< I - 1, std::tuple< ValueTypes... > >::type
 
- Public Types inherited from gtsam::NoiseModelFactor
typedef std::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::NonlinearFactor
typedef std::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

bool equals (const NonlinearFactor &expected, double tol=1e-9) const override
 
Vector evaluateError (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1, const POSE &Pose2, const VELOCITY &Vel2, OptionalMatrixType H1, OptionalMatrixType H2, OptionalMatrixType H3, OptionalMatrixType H4, OptionalMatrixType H5) const override
 
POSE evaluatePoseError (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1, const POSE &Pose2, const VELOCITY &Vel2) const
 
VELOCITY evaluateVelocityError (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1, const POSE &Pose2, const VELOCITY &Vel2) const
 
 InertialNavFactor_GlobalVelocity ()
 
 InertialNavFactor_GlobalVelocity (const Key &Pose1, const Key &Vel1, const Key &IMUBias1, const Key &Pose2, const Key &Vel2, const Vector &measurement_acc, const Vector &measurement_gyro, const double measurement_dt, const Vector world_g, const Vector world_rho, const Vector &world_omega_earth, const noiseModel::Gaussian::shared_ptr &model_continuous, std::optional< POSE > body_P_sensor={})
 
void predict (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1, POSE &Pose2, VELOCITY &Vel2) const
 
POSE predictPose (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1) const
 
VELOCITY predictVelocity (const POSE &Pose1, const VELOCITY &Vel1, const IMUBIAS &Bias1) const
 
void print (const std::string &s="InertialNavFactor_GlobalVelocity", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override
 
 ~InertialNavFactor_GlobalVelocity () override
 
- Public Member Functions inherited from gtsam::NoiseModelFactorN< POSE, VELOCITY, IMUBIAS, POSE, VELOCITY >
Key key () const
 
virtual Vector unwhitenedError (const Values &x, OptionalMatrixVecType H=nullptr) const =0
 
Vector unwhitenedError (const Values &x, std::vector< Matrix > &H) const
 
 ~NoiseModelFactorN () override
 
 NoiseModelFactorN ()
 Default Constructor for I/O. More...
 
 NoiseModelFactorN (const SharedNoiseModel &noiseModel, KeyType< ValueTypes >... keys)
 
 NoiseModelFactorN (const SharedNoiseModel &noiseModel, CONTAINER keys)
 
Vector unwhitenedError (const Values &x, OptionalMatrixVecType H=nullptr) const override
 
virtual Vector evaluateError (const ValueTypes &... x, OptionalMatrixTypeT< ValueTypes >... H) const=0
 
Vector evaluateError (const ValueTypes &... x, MatrixTypeT< ValueTypes > &... H) const
 
Vector evaluateError (const ValueTypes &... x) const
 
AreAllMatrixRefs< Vector, OptionalJacArgs... > evaluateError (const ValueTypes &... x, OptionalJacArgs &&... H) const
 
AreAllMatrixPtrs< Vector, OptionalJacArgs... > evaluateError (const ValueTypes &... x, OptionalJacArgs &&... H) const
 
Key key1 () const
 
Key key2 () const
 
Key key3 () const
 
Key key4 () const
 
Key key5 () const
 
Key key6 () const
 
- 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
 
std::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
 
Vector unwhitenedError (const Values &x, std::vector< Matrix > &H) 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)
 
double error (const HybridValues &c) const override
 
virtual bool active (const Values &) const
 
virtual shared_ptr clone () const
 
virtual shared_ptr rekey (const std::map< Key, Key > &rekey_mapping) const
 
virtual shared_ptr rekey (const KeyVector &new_keys) const
 
virtual bool sendable () const
 
- Public Member Functions inherited from gtsam::Factor
virtual ~Factor ()=default
 Default destructor. More...
 
bool empty () const
 Whether the factor is empty (involves zero variables). 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...
 
bool equals (const This &other, double tol=1e-9) const
 check equality More...
 
KeyVectorkeys ()
 
iterator begin ()
 
iterator end ()
 

Static Public Member Functions

static noiseModel::Gaussian::shared_ptr calc_descrete_noise_model (const noiseModel::Gaussian::shared_ptr &model, double delta_t)
 
static void Calc_g_rho_omega_earth_ENU (const Vector &Pos_ENU, const Vector &Vel_ENU, const Vector &LatLonHeight_IC, const Vector &Pos_ENU_Initial, Vector &g_ENU, Vector &rho_ENU, Vector &omega_earth_ENU)
 
static void Calc_g_rho_omega_earth_NED (const Vector &Pos_NED, const Vector &Vel_NED, const Vector &LatLonHeight_IC, const Vector &Pos_NED_Initial, Vector &g_NED, Vector &rho_NED, Vector &omega_earth_NED)
 
static noiseModel::Gaussian::shared_ptr CalcEquivalentNoiseCov (const noiseModel::Gaussian::shared_ptr &gaussian_acc, const noiseModel::Gaussian::shared_ptr &gaussian_gyro, const noiseModel::Gaussian::shared_ptr &gaussian_process)
 

Private Types

typedef NoiseModelFactorN< POSE, VELOCITY, IMUBIAS, POSE, VELOCITY > Base
 
typedef InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS > This
 

Private Attributes

std::optional< POSE > body_P_sensor_
 
double dt_
 
Vector measurement_acc_
 
Vector measurement_gyro_
 
Vector world_g_
 
Vector world_omega_earth_
 
Vector world_rho_
 

Additional Inherited Members

- Static Public Attributes inherited from gtsam::NoiseModelFactorN< POSE, VELOCITY, IMUBIAS, POSE, VELOCITY >
constexpr static auto N
 N is the number of variables (N-way factor) More...
 
- Protected Types inherited from gtsam::NoiseModelFactorN< POSE, VELOCITY, IMUBIAS, POSE, VELOCITY >
using Base = NoiseModelFactor
 
using KeyType = Key
 
using MatrixTypeT = Matrix
 
using OptionalMatrixTypeT = Matrix *
 
using This = NoiseModelFactorN< ValueTypes... >
 
using IsConvertible = typename std::enable_if< std::is_convertible< From, To >::value, void >::type
 
using IndexIsValid = typename std::enable_if<(I >=1) &&(I<=N), void >::type
 
using ContainerElementType = typename std::decay< decltype(*std::declval< Container >().begin())>::type
 
using IsContainerOfKeys = IsConvertible< ContainerElementType< Container >, Key >
 
using AreAllMatrixRefs = std::enable_if_t<(... &&std::is_convertible< Args, Matrix & >::value), Ret >
 
using IsMatrixPointer = std::is_same< typename std::decay_t< Arg >, Matrix * >
 
using IsNullpointer = std::is_same< typename std::decay_t< Arg >, std::nullptr_t >
 
using AreAllMatrixPtrs = std::enable_if_t<(... &&(IsMatrixPointer< Args >::value||IsNullpointer< Args >::value)), Ret >
 
- 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)
 
- 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)
 
- Protected Attributes inherited from gtsam::NoiseModelFactor
SharedNoiseModel noiseModel_
 
- Protected Attributes inherited from gtsam::Factor
KeyVector keys_
 The keys involved in this factor. More...
 

Detailed Description

template<class POSE, class VELOCITY, class IMUBIAS>
class gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >

Definition at line 77 of file InertialNavFactor_GlobalVelocity.h.

Member Typedef Documentation

◆ Base

template<class POSE , class VELOCITY , class IMUBIAS >
typedef NoiseModelFactorN<POSE, VELOCITY, IMUBIAS, POSE, VELOCITY> gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::Base
private

Definition at line 82 of file InertialNavFactor_GlobalVelocity.h.

◆ shared_ptr

template<class POSE , class VELOCITY , class IMUBIAS >
typedef std::shared_ptr<InertialNavFactor_GlobalVelocity> gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::shared_ptr

Definition at line 100 of file InertialNavFactor_GlobalVelocity.h.

◆ This

template<class POSE , class VELOCITY , class IMUBIAS >
typedef InertialNavFactor_GlobalVelocity<POSE, VELOCITY, IMUBIAS> gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::This
private

Definition at line 81 of file InertialNavFactor_GlobalVelocity.h.

Constructor & Destructor Documentation

◆ InertialNavFactor_GlobalVelocity() [1/2]

template<class POSE , class VELOCITY , class IMUBIAS >
gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::InertialNavFactor_GlobalVelocity ( )
inline

default constructor - only use for serialization

Definition at line 103 of file InertialNavFactor_GlobalVelocity.h.

◆ InertialNavFactor_GlobalVelocity() [2/2]

template<class POSE , class VELOCITY , class IMUBIAS >
gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::InertialNavFactor_GlobalVelocity ( const Key Pose1,
const Key Vel1,
const Key IMUBias1,
const Key Pose2,
const Key Vel2,
const Vector measurement_acc,
const Vector measurement_gyro,
const double  measurement_dt,
const Vector  world_g,
const Vector  world_rho,
const Vector world_omega_earth,
const noiseModel::Gaussian::shared_ptr model_continuous,
std::optional< POSE >  body_P_sensor = {} 
)
inline

Constructor

Definition at line 106 of file InertialNavFactor_GlobalVelocity.h.

◆ ~InertialNavFactor_GlobalVelocity()

template<class POSE , class VELOCITY , class IMUBIAS >
gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::~InertialNavFactor_GlobalVelocity ( )
inlineoverride

Definition at line 113 of file InertialNavFactor_GlobalVelocity.h.

Member Function Documentation

◆ calc_descrete_noise_model()

template<class POSE , class VELOCITY , class IMUBIAS >
static noiseModel::Gaussian::shared_ptr gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::calc_descrete_noise_model ( const noiseModel::Gaussian::shared_ptr model,
double  delta_t 
)
inlinestatic

Definition at line 404 of file InertialNavFactor_GlobalVelocity.h.

◆ Calc_g_rho_omega_earth_ENU()

template<class POSE , class VELOCITY , class IMUBIAS >
static void gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::Calc_g_rho_omega_earth_ENU ( const Vector Pos_ENU,
const Vector Vel_ENU,
const Vector LatLonHeight_IC,
const Vector Pos_ENU_Initial,
Vector g_ENU,
Vector rho_ENU,
Vector omega_earth_ENU 
)
inlinestatic

Definition at line 349 of file InertialNavFactor_GlobalVelocity.h.

◆ Calc_g_rho_omega_earth_NED()

template<class POSE , class VELOCITY , class IMUBIAS >
static void gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::Calc_g_rho_omega_earth_NED ( const Vector Pos_NED,
const Vector Vel_NED,
const Vector LatLonHeight_IC,
const Vector Pos_NED_Initial,
Vector g_NED,
Vector rho_NED,
Vector omega_earth_NED 
)
inlinestatic

Definition at line 319 of file InertialNavFactor_GlobalVelocity.h.

◆ CalcEquivalentNoiseCov()

template<class POSE , class VELOCITY , class IMUBIAS >
static noiseModel::Gaussian::shared_ptr gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::CalcEquivalentNoiseCov ( const noiseModel::Gaussian::shared_ptr gaussian_acc,
const noiseModel::Gaussian::shared_ptr gaussian_gyro,
const noiseModel::Gaussian::shared_ptr gaussian_process 
)
inlinestatic

Definition at line 306 of file InertialNavFactor_GlobalVelocity.h.

◆ equals()

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

equals

Reimplemented from gtsam::NoiseModelFactor.

Definition at line 137 of file InertialNavFactor_GlobalVelocity.h.

◆ evaluateError()

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::evaluateError ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1,
const POSE &  Pose2,
const VELOCITY &  Vel2,
OptionalMatrixType  H1,
OptionalMatrixType  H2,
OptionalMatrixType  H3,
OptionalMatrixType  H4,
OptionalMatrixType  H5 
) const
inlineoverride

implement functions needed to derive from Factor

Definition at line 228 of file InertialNavFactor_GlobalVelocity.h.

◆ evaluatePoseError()

template<class POSE , class VELOCITY , class IMUBIAS >
POSE gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::evaluatePoseError ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1,
const POSE &  Pose2,
const VELOCITY &  Vel2 
) const
inline

Definition at line 211 of file InertialNavFactor_GlobalVelocity.h.

◆ evaluateVelocityError()

template<class POSE , class VELOCITY , class IMUBIAS >
VELOCITY gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::evaluateVelocityError ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1,
const POSE &  Pose2,
const VELOCITY &  Vel2 
) const
inline

Definition at line 219 of file InertialNavFactor_GlobalVelocity.h.

◆ predict()

template<class POSE , class VELOCITY , class IMUBIAS >
void gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::predict ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1,
POSE &  Pose2,
VELOCITY &  Vel2 
) const
inline

Definition at line 206 of file InertialNavFactor_GlobalVelocity.h.

◆ predictPose()

template<class POSE , class VELOCITY , class IMUBIAS >
POSE gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::predictPose ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1 
) const
inline

Definition at line 149 of file InertialNavFactor_GlobalVelocity.h.

◆ predictVelocity()

template<class POSE , class VELOCITY , class IMUBIAS >
VELOCITY gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::predictVelocity ( const POSE &  Pose1,
const VELOCITY &  Vel1,
const IMUBIAS &  Bias1 
) const
inline

Definition at line 176 of file InertialNavFactor_GlobalVelocity.h.

◆ print()

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

implement functions needed for Testable print

Reimplemented from gtsam::NoiseModelFactor.

Definition at line 118 of file InertialNavFactor_GlobalVelocity.h.

Member Data Documentation

◆ body_P_sensor_

template<class POSE , class VELOCITY , class IMUBIAS >
std::optional<POSE> gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::body_P_sensor_
private

Definition at line 92 of file InertialNavFactor_GlobalVelocity.h.

◆ dt_

template<class POSE , class VELOCITY , class IMUBIAS >
double gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::dt_
private

Definition at line 86 of file InertialNavFactor_GlobalVelocity.h.

◆ measurement_acc_

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::measurement_acc_
private

Definition at line 84 of file InertialNavFactor_GlobalVelocity.h.

◆ measurement_gyro_

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::measurement_gyro_
private

Definition at line 85 of file InertialNavFactor_GlobalVelocity.h.

◆ world_g_

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::world_g_
private

Definition at line 88 of file InertialNavFactor_GlobalVelocity.h.

◆ world_omega_earth_

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::world_omega_earth_
private

Definition at line 90 of file InertialNavFactor_GlobalVelocity.h.

◆ world_rho_

template<class POSE , class VELOCITY , class IMUBIAS >
Vector gtsam::InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS >::world_rho_
private

Definition at line 89 of file InertialNavFactor_GlobalVelocity.h.


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


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:23:55