22namespace NAV::BsplineKF
29[[nodiscard]] Eigen::MatrixXd
initialErrorCovarianceMatrix_P0(
const std::vector<Eigen::VectorXd>& initCovariances,
const uint8_t& numStates,
const bool& imuCharacteristicsIdentical =
false);
37void processNoiseMatrix_Q(Eigen::MatrixXd& Q,
const double& dt,
const std::vector<Eigen::VectorXd>& processNoiseVariances,
const uint8_t& numStates,
const bool& imuCharacteristicsIdentical =
false);
50 const double& sigmaScalingFactorAngRate = 3.0,
51 const double& sigmaScalingFactorAccel = 3.0);
65 const double& splineSpacing,
66 const Eigen::Matrix3d& DCM_accel,
67 const Eigen::Matrix3d& DCM_gyro,
68 const size_t& pinIndex,
69 const uint8_t& numMeasurements,
70 const uint8_t& numStates,
71 const uint8_t& numStatesEst,
72 const uint8_t& numStatesPerPin);
86 const std::vector<PinData>& pinData,
88 const uint8_t& numStates,
90 std::vector<Eigen::VectorXd>& processNoiseVariances,
92 const bool& imuCharacteristicsIdentical,
93 const bool& imuBiasesIdentical);
KalmanFilter initializeKalmanFilterManually(const size_t &numInputPins, const std::vector< PinData > &pinData, const PinDataBsplineKF &pinDataBsplineKF, const uint8_t &numStates, const double &dtInit, std::vector< Eigen::VectorXd > &processNoiseVariances, KalmanFilter &kalmanFilter, const bool &imuCharacteristicsIdentical, const bool &imuBiasesIdentical)
Initializes the BsplineKF manually (i.e. using GUI inputs instead of averaging)
void rotateErrorCovariances(Eigen::MatrixXd &P, uint8_t &numStates, const double &sigmaScalingFactorAngRate=3.0, const double &sigmaScalingFactorAccel=3.0)
Rotates the B-spline coefficient error covariances in P, once a new B-spline is introduced.
void 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 rotateCoeffStates(Eigen::MatrixXd &x)
Rotates the B-spline coefficient states in the state vector x, once a new B-spline is introduced.
Eigen::MatrixXd initialErrorCovarianceMatrix_P0(const std::vector< Eigen::VectorXd > &initCovariances, const uint8_t &numStates, const bool &imuCharacteristicsIdentical=false)
Initial error covariance matrix P_0.
Eigen::MatrixXd designMatrix_H(const double &ti, const double &splineSpacing, 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.
Generalized Kalman Filter class.
Information about a sensor which is connected to a certain pin.
Generalized Kalman Filter class.
Definition KalmanFilter.hpp:25
Sensor information specific to the Bspline-KF.
Definition PinData.hpp:179