New EKF viewer in Mission Planner/APM:Copter 3.3

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_Nav...

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.

Views: 7364

Comment by John Dennings on August 25, 2015 at 11:37pm

Awesome work. As usual ...

Comment by Federico Boldori on August 26, 2015 at 1:14am

Will be this ported also to the tower app?

Comment by Federico Boldori on August 26, 2015 at 1:20am

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

Comment by Aldo Vargas on August 26, 2015 at 5:05am

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

Comment by benbojangles on August 26, 2015 at 6:39am

Witchcraft!

Comment by Fnoop on August 26, 2015 at 10:09am

Cool!  Looking forward to seeing this in apmplanner2.

Comment by Bernardo Diaz on August 26, 2015 at 2:40pm

I have already test it (shortly) and I think it is a huge thing. Clearly this can save many copters specially for newbies but for experienced users as well. 

Please make it a standard for all GCS and keep developing this feature. 

Good work dev team!!!


Developer
Comment by Randy on August 26, 2015 at 5:39pm

Yes, I love this feature along with the new real-time vibration monitor which should hopefully make it easier for the pilot and drone builders to know the state of their vehicle.

I've asked for AP2 and Tower developers to add the equivalent in their apps in time for the Copter 3.3 release (issues here, herehere and here) and they indicated they'll try so I'm hopeful.

Comment by Bernardo Diaz on August 26, 2015 at 5:57pm

Randy. I think that this is too important to just make it a clickable option in the hud. Maybe it should be another screen like the gauges too. I know you don´t develop the GCS but maybe it can be arranged with the corresponding developers

Comment by JB on August 26, 2015 at 10:45pm

Randy I second that.

I think a diagnostics tab should be added to the Quick access area so that it can be displayed all the time instead of the gauges and without covering the map or HUD. Ideally one should be able to select what parameter to display as a bar graph (with peak hold) or be able to graph over time as well. I'd also have some ideas how to possibly integrate it into the HUD itself...or maybe produce a diagnostics HUD overlay.

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service