3D Robotics

New EKF viewer in Mission Planner/APM:Copter 3.3

3689664073?profile=original

Many here may not follow the behind the scenes work of the dev team, but here's one glimpse of a cool new feature for data geeks in APM:Copter 3.3. As you may know, the APM flight code uses an Extended Kalman Filter (EKF), which is a sophisticated way (based on Baysian statistics) to do sensor fusion across a wide range of sensors. Along with an attitude solution, the EKF reports the "health" of the solution, which is broadly how confident it is in the result. With APM:Copter 3.3 and the latest Mission Planner, you can now see a graphical display of the EKF, which can really help in optimizing copters for best performance.

Here's lead developer Randy Mackay's explanation from the GitHub issue tracking this development:

With AC3.3 the EKF provides an EKF_STATUS (http://mavlink.org/messages/ardupilotmega#EKF_STATUS_REPORT) message down to the GCS so the mock-up above attempts to present this info to the user in an easy to understand way.

The HUD gets a new "EKF" field that is green, amber or red. The colour of the field depends upon the highest variance from the EKF_STATUS_REPORT message. If the highest is below 0.5 the field is green, below 0.8, it's amber, higher than 0.8 it should be red.

Ideally the user should be able to click on the EKF field in the HUD and a detailed EKF viewer screen should pop-up which shows the individual variances and also the flags.

For most flags, there is a field on the viewer which changes colour depending upon the flag's value. If the flag is "1", the field is green. if the flag is "0", the field is red.
One exception to this is the "const" field (the EKF_CONST_POS_MODE flag) which should be reversed (i.e. "0" = green, "1" = red).

The list of flags can be seen by searching this web page for EKF_STATUS_FLAGS: http://mavlink.org/messages/ardupilotmega
or by checking the ardupilot code directly:
https://github.com/diydrones/ardupilot/blob/master/libraries/AP_NavEKF/AP_Nav_Common.h

It seems some new flag values are being used in the ardupilot code that haven't been defined in the MAVLINK definition for EKF_STATUS_FLAGS. Hopefully Paul or I will add these additional definitions although only the "using_gps" one needs to be shown on the display.

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Cool!  Looking forward to seeing this in apmplanner2.

  • Witchcraft!

  • I'm so relieved about this!, I had a ekf variance when flying over the Atlantic and the vehicle was going to land!!!! hahaha

  • i i forgot to write this: great news and thanks a lot for the updates!

  • Will be this ported also to the tower app?

  • Awesome work. As usual ...

This reply was deleted.