Goal
For this project, I needed to use an Extended Kalman Filter to estimate a 7-state vector (position, velocity, and orientation angles) of the spacecraft navigation. I was provided with the simulated noisy measurement data. The spacecraft also experienced probabilistic event-driven disturbances that created high uncertainty and non-linearity.
Method
To create an EKF, I first needed to linearize the nonlinear state transition and measurement models. I derived the Jacobian matrices for the motion and measurement models. In order to optimize the EKF, I built one with constant noise matrices and one with adaptive time decaying noise matrices based on the events. I manually tuned the covariance matrices of the filter by comparing its output to the desired output.
I compared the two EKFs using Kalman gain norm, RMS error, mean error, standard deviation, and subjective visual inspection.
All of this project was done using Matlab.
Results
- Showed that the adaptive noise model can enhance the EKF performance in this instance. It resulted in slightly better tracking and smoother estimates.
- Demonstrated difficulty of estimating state with severe noise and non-linearity and learned techniques to deal with these.
- See the images on the right for the EKF results compared to the actual state for the velocity and the x position.