Equivariant Filter (EqF) implementation. More...
#include <ABC_EQF.h>
Public Member Functions | |
EqF (const Matrix &Sigma, int m) | |
void | propagation (const Input &u, double dt) |
State< N > | stateEstimate () const |
void | update (const Measurement &y) |
Private Member Functions | |
Matrix | inputMatrixBt () const |
Matrix | measurementMatrixC (const Unit3 &d, int idx) const |
Matrix | outputMatrixDt (int idx) const |
Matrix | stateMatrixA (const Input &u) const |
Matrix | stateTransitionMatrix (const Input &u, double dt) const |
Private Attributes | |
int | dof |
Matrix | Dphi0 |
Matrix | InnovationLift |
Matrix | Sigma |
G< N > | X_hat |
State< N > | xi_0 |
Equivariant Filter (EqF) implementation.
gtsam::abc_eqf_lib::EqF< N >::EqF | ( | const Matrix & | Sigma, |
int | m | ||
) |
Initialize EqF
Sigma | Initial covariance |
m | Number of sensors |
Initializes the EqF with state dimension validation and computes lifted innovation mapping
Sigma | Initial covariance |
n | Number of calibration states |
m | Number of sensors Uses SelfAdjointSolver, completeOrthoganalDecomposition().pseudoInverse() |
|
private |
|
private |
Return the measurement matrix C0 (Equation 14b)
d | Known direction |
idx | Calibration index |
Computes the linearized measurement matrix. The structure depends on whether the sensor has a calibration state
d | reference direction |
idx | Calibration index |
|
private |
Return the measurement output matrix Dt
idx | Calibration index |
Computes the measurement uncertainty propagation matrix
idx | Calibration index |
void gtsam::abc_eqf_lib::EqF< N >::propagation | ( | const Input & | u, |
double | dt | ||
) |
Propagate the filter state
u | Angular velocity measurement |
dt | Time step |
Implements the prediction step of the EqF using system dynamics and covariance propagation and advances the filter state by symmtery-preserving dynamics.Uses a Lie group integrator scheme for discrete time propagation
u | Angular velocity measurements |
dt | time steps Updated internal state and covariance |
State< N > gtsam::abc_eqf_lib::EqF< N >::stateEstimate |
|
private |
|
private |
void gtsam::abc_eqf_lib::EqF< N >::update | ( | const Measurement & | y | ) |
Update the filter state with a measurement
y | Direction measurement |
Implements the correction step of the filter using discrete measurements Computes the measurement residual, Kalman gain and the updates both the state and covariance
y | Measurements |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |