Out of the frustrating situation that has lead us to issue service bulletin 2, there is a silver lining.
As highlighted by the hardware issue, it was discovered that the code was not behaving as expected in how Ardupilot switches EKF.
A few things that were found…
- Gps glitches could cause a false EKF switch.
- It could be random as to which IMU was primary at arming.
- (Not a bug, but definitely not helpful) EKF 3 was not being logged
- IMU 3 was not being sampled at the preferred rate to avoid aliasing
- Scaling of some parameters was not optimal.
Basically, redundancy wasn’t working well enough.
How is this a silver lining? Simple. Hex Staff along with the Ardupilot Development team have been thrashing out solutions for this very complex issue. Many long discussions, and some significant differences of opinion on how to solve the issues are converging on solutions one at a time.
We are designing new test equipment to eliminate the cause of this issue, and hopefully eliminate any new issues that relate to any possible manufacturer issues at any stage of the build.
We have taken lessons learned from this experience, and we are putting these lessons into practice in the design philosophy of our future products.
We are standing by our decision to self report these issues to you the moment that we realised that the issue could affect you all. This has had some negative affects on our business due to some people misunderstanding how honesty works…
We will continue to give you all the worlds best Autopilot system. We will not compromise on that.
Thank you all for sticking by us, we value your support!
PS… an example of the new code