MSCEqF 1.0
Multi State Constraint Equivariant Filter for visual inertial navigation
Loading...
Searching...
No Matches
msceqf::Propagator Class Reference

Public Types

using ImuBuffer = std::deque<Imu>
 The Imu measurement buffer.
 

Public Member Functions

 Propagator (const PropagatorOptions &opts)
 Construct a Propagator object given the options.
 
void insertImu (MSCEqFState &X, const SystemState &xi0, const Imu &imu, fp &timestamp)
 insert a new IMU measurement into the imu buffer, if the given IMU measurement has a grater timestamp than the last measurement in the buffer.
 
bool propagate (MSCEqFState &X, const SystemState &xi0, fp &timestamp, const fp &new_timestamp)
 This function implements the mean and covariance propagation from timestamp to new_timestamp for the MSCEqF.
 

Constructor & Destructor Documentation

◆ Propagator()

msceqf::Propagator::Propagator ( const PropagatorOptions & opts)

Construct a Propagator object given the options.

Parameters
opts

Member Function Documentation

◆ insertImu()

void msceqf::Propagator::insertImu ( MSCEqFState & X,
const SystemState & xi0,
const Imu & imu,
fp & timestamp )

insert a new IMU measurement into the imu buffer, if the given IMU measurement has a grater timestamp than the last measurement in the buffer.

Parameters
XActual state estimate
xi0Origin
imuIMU measurement
timestampThe actual timestamp. If a propagation is triggered than the timestamp is updated
Note
This function triggers a propagation if the imu buffer reaches its max size. In such case all the entries of the imu buffer except the last one are deleted to avoid unbounded memory growth.

◆ propagate()

bool msceqf::Propagator::propagate ( MSCEqFState & X,
const SystemState & xi0,
fp & timestamp,
const fp & new_timestamp )

This function implements the mean and covariance propagation from timestamp to new_timestamp for the MSCEqF.

Parameters
XActual state estimate
xi0Origin
timestampIntegration period start time (actual state timestamp). This will be modified by the propagation
new_timestampIntegration period end time (new state timestamp)
Returns
true if propagation succeeded, false otherwise

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