I have worked with Ardupilot for a long time and I am very impressed with the EKF used there. I did some research and found out it was Paul Riseborough's Inertial Nav EKF.
I would like to implement this ekf on another personal project separate from APM, and I seem to be getting close, but the whole thing seems pretty complicated. I have cloned the Inertial_Nav github repository and modified one of the test harnesses until I think it seems to be doing what I want, but it seems a lot of the work is still done in the test harness and not in the EKF code itself. I'd like to make it as simple as possible to implement this system.
I am only using GPS and IMU data. (no rangefinder, airspeed, etc)
Does anyone have any tips on how to implement this? Is there a guide on what each function in the ekf does and how to use them? It seems to me that the 2 main methods are the UpdateStrapdownEquationsNED() method and the CovariancePrediction() method. Is this correct? and how do I set everything else up before I call these functions?
Like I said, it seems I have done it with a small degree of success already, but I am highly doubtful that my way of doing it is either correct or at all efficient.
I would be interesting in contributing a few simple additions to this repository to improve the simplicity of implementation for others if I can figure it out myself.
I can provide more details if needed. Thanks for any help!