gtsam
Loading...
Searching...
No Matches
PreintegrationBase.h File Reference

Go to the source code of this file.

Classes

class  gtsam::PreintegrationBase
 PreintegrationBase is the base class for PreintegratedMeasurements (in ImuFactor) and CombinedPreintegratedMeasurements (in CombinedImuFactor). More...
struct  gtsam::internal::GravityParametrization< Unit3 >
struct  gtsam::internal::GravityParametrization< Point3 >

Namespaces

namespace  gtsam
 Global functions in a separate testing namespace.

Functions

template<class PIM>
Vector9 gtsam::internal::preintegrationError (const PIM &pim, const NavState &state_i, const NavState &state_j, const imuBias::ConstantBias &bias_i, const Vector3 &n_gravity, OptionalJacobian< 9, 9 > H1={}, OptionalJacobian< 9, 9 > H2={}, OptionalJacobian< 9, 6 > H3={}, OptionalJacobian< 9, 3 > H4={})
 Calculate the 9-dof preintegration error for an explicit gravity vector.
template<class PIM>
Vector9 gtsam::internal::preintegrationError (const PIM &pim, const NavState &state_i, const NavState &state_j, const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 9 > H1={}, OptionalJacobian< 9, 9 > H2={}, OptionalJacobian< 9, 6 > H3={})
 Calculate the 9-dof error using the gravity vector stored in params.
template<class PIM>
Vector9 gtsam::internal::preintegrationErrorAndJacobians (const PIM &pim, const Pose3 &pose_i, const Vector3 &vel_i, const Pose3 &pose_j, const Vector3 &vel_j, const imuBias::ConstantBias &bias_i, const Vector3 &n_gravity, OptionalJacobian< 9, 6 > H1={}, OptionalJacobian< 9, 3 > H2={}, OptionalJacobian< 9, 6 > H3={}, OptionalJacobian< 9, 3 > H4={}, OptionalJacobian< 9, 6 > H5={}, OptionalJacobian< 9, 3 > H6={})
 Assemble pose/velocity Jacobians for an explicit gravity vector.
template<class PIM>
Vector9 gtsam::internal::preintegrationErrorAndJacobians (const PIM &pim, const Pose3 &pose_i, const Vector3 &vel_i, const Pose3 &pose_j, const Vector3 &vel_j, const imuBias::ConstantBias &bias_i, OptionalJacobian< 9, 6 > H1={}, OptionalJacobian< 9, 3 > H2={}, OptionalJacobian< 9, 6 > H3={}, OptionalJacobian< 9, 3 > H4={}, OptionalJacobian< 9, 6 > H5={})
 Assemble pose/velocity Jacobians using gravity stored in params.
template<class GRAVITY, class PIM>
double gtsam::internal::resolveGravityMagnitude (const std::string &factorName, const PIM &pim, const std::optional< double > &gravityMagnitude)
 Resolve the gravity magnitude stored by the gravity-aware IMU factors at construction.

Detailed Description

Author
Luca Carlone
Stephen Williams
Richard Roberts
Vadim Indelman
David Jensen
Frank Dellaert
Varun Agrawal
Luca Carlone
Stephen Williams
Richard Roberts
Vadim Indelman
David Jensen
Frank Dellaert

Function Documentation

◆ resolveGravityMagnitude()

template<class GRAVITY, class PIM>
double gtsam::internal::resolveGravityMagnitude ( const std::string & factorName,
const PIM & pim,
const std::optional< double > & gravityMagnitude )

Resolve the gravity magnitude stored by the gravity-aware IMU factors at construction.

For a parametrization with a fixed magnitude (Unit3) this is the given value, or by default the norm of the gravity vector in the preintegration params, and it must be positive. For the free-vector parametrization (Point3) the magnitude is part of the optimized variable, so none may be given and the stored value is unused. Throws std::invalid_argument on misuse, including preintegrated measurements without params when the default is needed.