Main Module
Haskell Code for main.hs
The main module is the driving function for system sampling. It does not have an equivalent block in the Simulink system since the full controller samples input components specific to the hardware.
Parsing Functions to read in the data as a list of floats.
State Estimation Module for State_estimation.hs
Calls the State Observer and Navigation Observer with the measured samples parsed in Main.
State Observer
State_Observer.mdl - Simulink
State Observer Model that
1. adjusts the acceleration gain
2. Calls the Kalman Filter and
3. adjusts bias output.
StateObserver function calls the
1. kalman filter function (ekf) and
2. the gainAcc function
1. kalman filter function (ekf) and
2. the gainAcc function
Note: The gainBias is a scalar multiple of 1 applied to a vector - this was written but is not called - do we logically need to scalar multiply by 1?
EKF.mdl - Simulink
EKF model that
1. calls y_
2. calls x_est_
3. calls k_function
4. calls y_est_
5. performs matrix and list operations on all of the above
The lower level of the following functions are in the State Functions module.
Reduces the list of input to the first 9 elements
calls f_function and adds a gain of the model sample time: 0.05 to the output of f_function - then rebuilds the output list
calls h_function and return the list of values without rebuilding the entire list
Navigation Observer
Navigation_Observer.mdl - Simulink
1. converts GPS to Local coordinate system
2. adjusts the acceleration gain
3. Calls the Kalman Filter and
4. Convert Local back to GPS
5. Convert Local Speed
6. Output wind estimates
Splits the model operations into 3 sections
1. pre-ekf
1. pre-ekf
2. nav_ekf
3. post_ekf
3. post_ekf
The lower level of the following functions are in the Navigation Functions module.
Visit Sub-Module Pages for More Detail:
No comments:
Post a Comment