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!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Sorry, here is the link to the repository:


    Inertial Navigation Filter. Contribute to priseborough/InertialNav development by creating an account on GitHub.
  • Developer

    I cant claim to be much help, but a link to the cloned repository would be a start, if there is one. Anything that helps to simplify and document the code is a good thing in my opinion. 

This reply was deleted.


Hiroki Tanaka liked Hiroki Tanaka's profile
Oct 13
Derrick Davies liked lisa TDrones's profile
Sep 23
xemone liked Max Gilson's profile
Aug 31