1 #include "../EigenArduino-Eigen30/Eigen30.h"
2 #include "ServoControl.h"
16 void SetQ(
float dt,
float sd);
26 mutex_t* mutex_highG_;
27 mutex_t* dataMutex_barometer_;
28 mutex_t* dataMutex_state_;
35 Eigen::Matrix<float, 3, 1> x_k{0, 0, 0};
36 Eigen::Matrix<float, 3, 3> F_mat = Eigen::Matrix<float, 3, 3>::Zero();
37 Eigen::Matrix<float, 2, 3> H = Eigen::Matrix<float, 2, 3>::Zero();
38 Eigen::Matrix<float, 3, 3> P_k = Eigen::Matrix<float, 3, 3>::Zero();
39 Eigen::Matrix<float, 3, 3> Q = Eigen::Matrix<float, 3, 3>::Zero();
40 Eigen::Matrix<float, 2, 2> R = Eigen::Matrix<float, 2, 2>::Zero();
41 Eigen::Matrix<float, 3, 3> P_priori = Eigen::Matrix<float, 3, 3>::Zero();
42 Eigen::Matrix<float, 3, 1> x_priori = Eigen::Matrix<float, 3, 1>::Zero();
43 Eigen::Matrix<float, 3, 2> K = Eigen::Matrix<float, 3, 2>::Zero();
44 Eigen::Matrix<float, 2, 1> y_k = Eigen::Matrix<float, 2, 1>::Zero();
46 Eigen::Matrix<float, 3, 2> B = Eigen::Matrix<float, 3, 2>::Zero();
A class to hold all info for ring buffers and mutexes used for data.
Definition: dataLog.h:146
Definition: kalmanFilter.h:8
void update()
Update Kalman Gain.
Definition: kalmanFilter.cpp:180
void Initialize()
Sets altitude by averaging 30 barometer measurements taken 100 ms apart.
Definition: kalmanFilter.cpp:79
void kfTickFunction(float dt, float sd)
Run Kalman filter calculations as long as FSM has passed IDLE.
Definition: kalmanFilter.cpp:53
FSM_State
Labels for each FSM state. Contains intermediary states (eg: Launch Detect) along with actual states ...
Definition: rocketFSM.h:17
Sensor (Low-G, High-G and GPS) struct definitions.
Definition: dataLog.h:208
Structure for all values tracked for state estimation.
Definition: dataLog.h:85