gtsam
Loading...
Searching...
No Matches
gtsam::LeggedEstimator Class Referenceabstract

Detailed Description

Common runtime interface shared by all four legged estimator variants.

Inheritance diagram for gtsam::LeggedEstimator:

Public Member Functions

virtual ~LeggedEstimator ()=default
 Destroy the estimator interface.
void turnHeightPriorOn (double terrainHeight)
 Enable contact height priors at the supplied terrain height.
void turnHeightPriorOff ()
 Disable contact height priors.
virtual void predict (const Vector3 &omegaBody, const Vector3 &specificForceBody, double dt)=0
 Predict the estimator forward with one IMU sample.
virtual void processContacts (const std::vector< ContactMeasurement > &activeContacts)=0
 Process the currently active contacts at the current estimator time.
virtual ExtendedPose3d estimate () const =0
 Return the current propagated estimate as ExtendedPose3d.
virtual imuBias::ConstantBias estimateBias () const =0
 Return the IMU bias used or estimated by the current estimator.

Protected Member Functions

const std::optional< double > & terrainHeight () const
 Optional terrain height used internally for contact height priors.

Static Protected Member Functions

static ExtendedPose3d MakeEstimate (const NavState &navState, const Matrix &footholds)
 Build the shared ExtendedPose3d state layout used by all estimators.
static NavState EstimateNavState (const ExtendedPose3d &estimate)
 Recover the base NavState from an ExtendedPose3d estimate.
static Matrix EstimateFootholds (const ExtendedPose3d &estimate)
 Recover the foothold matrix from an ExtendedPose3d estimate.

Member Function Documentation

◆ estimate()

virtual ExtendedPose3d gtsam::LeggedEstimator::estimate ( ) const
pure virtual

Return the current propagated estimate as ExtendedPose3d.

The state layout is (R, p, v, f_1, ..., f_k), where the first two translational blocks are base position and base velocity, followed by one world-frame foothold block per foot.

Implemented in gtsam::LeggedCombinedFixedLagSmoother, gtsam::LeggedFixedLagSmoother, and gtsam::LeggedInvariantEKF.

◆ estimateBias()

virtual imuBias::ConstantBias gtsam::LeggedEstimator::estimateBias ( ) const
pure virtual

Return the IMU bias used or estimated by the current estimator.

Implemented in gtsam::LeggedCombinedFixedLagSmoother, gtsam::LeggedFixedLagSmoother, and gtsam::LeggedInvariantEKF.

◆ predict()

virtual void gtsam::LeggedEstimator::predict ( const Vector3 & omegaBody,
const Vector3 & specificForceBody,
double dt )
pure virtual

Predict the estimator forward with one IMU sample.

Implemented in gtsam::LeggedCombinedFixedLagSmoother, gtsam::LeggedFixedLagSmoother, and gtsam::LeggedInvariantEKF.

◆ processContacts()

virtual void gtsam::LeggedEstimator::processContacts ( const std::vector< ContactMeasurement > & activeContacts)
pure virtual

Process the currently active contacts at the current estimator time.

Implemented in gtsam::LeggedCombinedFixedLagSmoother, gtsam::LeggedFixedLagSmoother, and gtsam::LeggedInvariantEKF.


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