mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
mrs_lib::LKF_MRS_odom Class Reference
+ Inheritance diagram for mrs_lib::LKF_MRS_odom:
+ Collaboration diagram for mrs_lib::LKF_MRS_odom:

Public Types

using Base_class = LKF< n, m, p >
 
using x_t = typename Base_class::x_t
 
using u_t = typename Base_class::u_t
 
using z_t = typename Base_class::z_t
 
using P_t = typename Base_class::P_t
 
using R_t = typename Base_class::R_t
 
using statecov_t = typename Base_class::statecov_t
 
using A_t = typename Base_class::A_t
 
using B_t = typename Base_class::B_t
 
using H_t = typename Base_class::H_t
 
using Q_t = typename Base_class::Q_t
 
using coeff_A_t = A_t
 
typedef Eigen::Matrix< unsigned, n, n > dtexp_A_t
 
using coeff_B_t = B_t
 
typedef Eigen::Matrix< unsigned, n, m > dtexp_B_t
 
- Public Types inherited from mrs_lib::LKF< 3, 1, 1 >
using Base_class = KalmanFilter< n, m, p >
 Base class of this class.
 
using x_t = typename Base_class::x_t
 State vector type $n \times 1$.
 
using u_t = typename Base_class::u_t
 Input vector type $m \times 1$.
 
using z_t = typename Base_class::z_t
 Measurement vector type $p \times 1$.
 
using P_t = typename Base_class::P_t
 State uncertainty covariance matrix type $n \times n$.
 
using R_t = typename Base_class::R_t
 Measurement noise covariance matrix type $p \times p$.
 
using Q_t = typename Base_class::Q_t
 Process noise covariance matrix type $n \times n$.
 
using statecov_t = typename Base_class::statecov_t
 Helper struct for passing around the state and its covariance in one variable.
 
typedef Eigen::Matrix< double, n, nA_t
 System transition matrix type $n \times n$.
 
typedef Eigen::Matrix< double, n, mB_t
 Input to state mapping matrix type $n \times m$.
 
typedef Eigen::Matrix< double, p, nH_t
 State to measurement mapping matrix type $p \times n$.
 
typedef Eigen::Matrix< double, n, pK_t
 Kalman gain matrix type $n \times p$.
 
- Public Types inherited from mrs_lib::KalmanFilter< n_states, n_inputs, n_measurements >
typedef Eigen::Matrix< double, n, 1 > x_t
 State vector type $n \times 1$.
 
typedef Eigen::Matrix< double, m, 1 > u_t
 Input vector type $m \times 1$.
 
typedef Eigen::Matrix< double, p, 1 > z_t
 Measurement vector type $p \times 1$.
 
typedef Eigen::Matrix< double, n, nP_t
 State uncertainty covariance matrix type $n \times n$.
 
typedef Eigen::Matrix< double, p, pR_t
 Measurement noise covariance matrix type $p \times p$.
 
typedef Eigen::Matrix< double, n, nQ_t
 Process noise covariance matrix type $n \times n$.
 

Public Member Functions

 LKF_MRS_odom (const std::vector< H_t > &Hs, const double default_dt=1)
 
virtual statecov_t predict (const statecov_t &sc, const u_t &u, const Q_t &Q, double dt) const override
 
virtual statecov_t correct (const statecov_t &sc, const z_t &z, const R_t &R, int param=0) const
 
x_t state_predict_optimized (const x_t &x_prev, const u_t &u, double dt) const
 
P_t covariance_predict_optimized (const P_t &P, const Q_t &Q, double dt) const
 
- Public Member Functions inherited from mrs_lib::LKF< 3, 1, 1 >
 LKF ()
 Convenience default constructor. More...
 
 LKF (const A_t &A, const B_t &B, const H_t &H)
 The main constructor. More...
 
virtual statecov_t correct (const statecov_t &sc, const z_t &z, const R_t &R) const override
 Applies the correction (update, measurement, data) step of the Kalman filter. More...
 
virtual statecov_t predict (const statecov_t &sc, const u_t &u, const Q_t &Q,[[maybe_unused]] double dt) const override
 Applies the prediction (time) step of the Kalman filter. More...
 
- Public Member Functions inherited from mrs_lib::KalmanFilter< n_states, n_inputs, n_measurements >
virtual statecov_t correct (const statecov_t &sc, const z_t &z, const R_t &R) const =0
 Applies the correction (update, measurement, data) step of the Kalman filter. More...
 
virtual statecov_t predict (const statecov_t &sc, const u_t &u, const Q_t &Q, double dt) const =0
 Applies the prediction (time) step of the Kalman filter. More...
 

Static Public Attributes

static const int n = 3
 
static const int m = 1
 
static const int p = 1
 
- Static Public Attributes inherited from mrs_lib::LKF< 3, 1, 1 >
static constexpr int n
 Length of the state vector of the system.
 
static constexpr int m
 Length of the input vector of the system.
 
static constexpr int p
 Length of the measurement vector of the system.
 
- Static Public Attributes inherited from mrs_lib::KalmanFilter< n_states, n_inputs, n_measurements >
static const int n = n_states
 Length of the state vector of the system.
 
static const int m = n_inputs
 Length of the input vector of the system.
 
static const int p = n_measurements
 Length of the measurement vector of the system.
 

Additional Inherited Members

- Public Attributes inherited from mrs_lib::LKF< 3, 1, 1 >
A_t A
 The system transition matrix $n \times n$.
 
B_t B
 The input to state mapping matrix $n \times m$.
 
H_t H
 The state to measurement mapping matrix $p \times n$.
 
- Protected Member Functions inherited from mrs_lib::LKF< 3, 1, 1 >
virtual K_t computeKalmanGain (const statecov_t &sc,[[maybe_unused]] const z_t &z, const R_t &R, const H_t &H) const
 
statecov_t ::type correction_impl (const statecov_t &sc, const z_t &z, const R_t &R, const H_t &H) const
 
- Static Protected Member Functions inherited from mrs_lib::LKF< 3, 1, 1 >
static P_t covariance_predict (const A_t &A, const P_t &P, const Q_t &Q, const double dt)
 
static std::enable_if< check==0, x_t >::type state_predict (const A_t &A, const x_t &x,[[maybe_unused]] const B_t &B,[[maybe_unused]] const u_t &u)
 
static std::enable_if< check !=0, x_t >::type state_predict (const A_t &A, const x_t &x, const B_t &B, const u_t &u)
 
static R_t invert_W (R_t W)
 

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