mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Loading...
Searching...
No Matches
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
 Base class of this class.
using x_t
 State vector type $n \times 1$.
using u_t
 Input vector type $m \times 1$.
using z_t
 Measurement vector type $p \times 1$.
using P_t
 State uncertainty covariance matrix type $n \times n$.
using R_t
 Measurement noise covariance matrix type $p \times p$.
using Q_t
 Process noise covariance matrix type $n \times n$.
using statecov_t
 Helper struct for passing around the state and its covariance in one variable.
typedef Eigen::Matrix< double, n, n > A_t
 System transition matrix type $n \times n$.
typedef Eigen::Matrix< double, n, m > B_t
 Input to state mapping matrix type $n \times m$.
typedef Eigen::Matrix< double, p, n > H_t
 State to measurement mapping matrix type $p \times n$.
typedef Eigen::Matrix< double, n, p > K_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, n > P_t
 State uncertainty covariance matrix type $n \times n$.
typedef Eigen::Matrix< double, p, p > R_t
 Measurement noise covariance matrix type $p \times p$.
typedef Eigen::Matrix< double, n, n > Q_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
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.
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.
virtual statecov_t predict (const statecov_t &sc, const u_t &u, const Q_t &Q, double dt) const override
 Applies the prediction (time) step of the Kalman filter.
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.
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.

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, const z_t &z, const R_t &R, const H_t &H) const
std::enable_if< check >=0, 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, 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 file:
  • /home/runner/work/mrs_lib/mrs_lib/include/mrs_lib/lkf.h