Today we tested the Gaussian sum filter as a source for yaw. We are very impressed with the quality of the estimation since the drone indeed performed very good when we switched to loiter mode after warming up the algorithm in altitude hold. We felt very confident with its performance that we decided to test the transitions, manual source switching with a Lua script. I daresay that the transition between the source 1 (GPS position/ compass yaw) and the source 2 (GPS position/ GSF) was pretty smooth. However, after switching a couple of times between lanes, an EKF fail-safe was triggered. The sequence was this:
- Take off in loiter mode using source 1 (GPS/compass).
- Switch to source 2 (GPS/GSF) after let it warm up.
- Switch to back to source 1.
- After a while, switch to source 2.
It seems that after the second switch to source 2, the correction from GSF is not applied to the yaw anymore since the value does not change as it can be seen in the plot below:
We saw this loss of correction in two separate flights, the logs can be found below:
PS: We flew with the version 4.1.0-beta3 because we forgot to upgrade that drone, I did not see anything related the GSF in the release notes of the 4.1.0-beta4 so if there is an issue I guess it may be still there.