Top Level Modules


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  

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
2. nav_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