0.4.1
Loading...
Searching...
No Matches
IRWKF.hpp File Reference

Kalman filter matrices for the Integrated-Random-Walk (IRW) Multi-IMU fusion. More...

Go to the source code of this file.

Namespaces

namespace  NAV
 
namespace  NAV::IRWKF
 

Functions

Eigen::MatrixXd NAV::IRWKF::designMatrix_H (const Eigen::Matrix3d &DCM_accel, const Eigen::Matrix3d &DCM_gyro, const size_t &pinIndex, const uint8_t &numMeasurements, const uint8_t &numStates, const uint8_t &numStatesEst, const uint8_t &numStatesPerPin)
 Calculates the design matrix H.
 
Eigen::MatrixXd NAV::IRWKF::initialErrorCovarianceMatrix_P0 (const std::vector< Eigen::Vector3d > &initCovariances, const uint8_t &numStates, const bool &imuCharacteristicsIdentical=false)
 Initial error covariance matrix P_0.
 
KalmanFilter NAV::IRWKF::initializeKalmanFilterAuto (const size_t &nInputPins, const std::vector< PinData > &pinData, const PinDataIRWKF &pinDataIRWKF, const std::vector< size_t > &cumulatedPinIds, const std::vector< std::shared_ptr< const NAV::ImuObs > > &cumulatedImuObs, const bool &initJerkAngAcc, const double &dtInit, const uint8_t &numStates, const uint8_t &numMeasurements, std::vector< Eigen::VectorXd > &processNoiseVariances, KalmanFilter &kalmanFilter)
 Initializes the IRWKF automatically, i.e. init values are calculated by averaging the data in the first T seconds.
 
KalmanFilter NAV::IRWKF::initializeKalmanFilterManually (const size_t &numInputPins, const std::vector< PinData > &pinData, const PinDataIRWKF &pinDataIRWKF, const uint8_t &numStates, const double &dtInit, std::vector< Eigen::VectorXd > &processNoiseVariances, KalmanFilter &kalmanFilter, const bool &imuCharacteristicsIdentical, const bool &imuBiasesIdentical)
 Initializes the IRWKF manually (i.e. using GUI inputs instead of averaging)
 
Eigen::MatrixXd NAV::IRWKF::initialStateTransitionMatrix_Phi (const double &dt, const uint8_t &numStates)
 Calculates the state-transition-matrix 𝚽
 
Eigen::Vector3d NAV::IRWKF::mean (const std::vector< std::vector< double > > &sensorType, const size_t &containerPos)
 Calculates the mean values of each axis in a vector that contains 3d measurements of a certain sensor type.
 
void NAV::IRWKF::processNoiseMatrix_Q (Eigen::MatrixXd &Q, const double &dt, const std::vector< Eigen::VectorXd > &processNoiseVariances, const uint8_t &numStates, const bool &imuCharacteristicsIdentical=false)
 Calculates the process noise matrix Q.
 
void NAV::IRWKF::stateTransitionMatrix_Phi (Eigen::MatrixXd &Phi, const double &dt)
 Calculates the state-transition-matrix 𝚽
 
Eigen::Vector3d NAV::IRWKF::variance (const std::vector< std::vector< double > > &sensorType, const size_t &containerPos)
 Calculates the variance of each axis in a vector that contains 3d measurements of a certain sensor type.
 

Detailed Description

Kalman filter matrices for the Integrated-Random-Walk (IRW) Multi-IMU fusion.

Author
M. Maier (marce.nosp@m.l.ma.nosp@m.ier@i.nosp@m.ns.u.nosp@m.ni-st.nosp@m.uttg.nosp@m.art.d.nosp@m.e)
Date
2024-04-02

Definition in file IRWKF.hpp.