Hi all,
I just had my first GPS to ATTI switch while running on compass 2. For about the last week, I have been starting every flight with a quick burst of sport mode until the compass redundancy message appears and I then verify I'm using compass 2. I verified compass 2 at the start of my flight today, and right after the ATTI event happened and I regained GPS mode I again verified compass 2 was still selected. Digging into the data from DatCon, I can see that compass 2 (Front) really was selected the whole time. Further, the data from compass 2 was nice and clean the whole time. Looking at many signals and trying to find the root cause, the main thing I note is some unstable oscillations in pitch, roll, magYaw right after a hard input stick combo of elevator and aileron. The delta between Yaw and magYaw was slightly high and rising at the time of the switch to ATTI, but not significantly higher than earlier in the flight... at least prior to the oscillations on magYaw.
In the last plot with pitch and roll, note Aileron and Elevator stick inputs are swapped which appears to be a minor DatCon issue right now. (Elevator should generate the large pitch changes) Anyway, after a strong Elevator (Aileron below) input that returns to zero, you will normally see a nice clean brake operation in pitch afterwards. However, in the final issue prior to ATTI, the brake operation turns into pitch,roll,yaw oscillations of large amplitude. It appears this is the primary cause of entering ATTI mode. With a quadcopter, the combined elevator and aileron inputs both returning to zero require a "coupled" brake operation as one rotor is low, one is high, and the combined brake will feed one rotor about twice as hard as a single axis motion would. It is my theory that something in the control system is not stable in this case and maybe some gains are too high or not correctly handling some nonlinear features. Perhaps the magYaw error plays into this as a third variable. At least we can say there is no noise or other issue with compass 2 (Front). This still gives me hope that firmware tuning can fix this in the next release.
Verifying that compass 2 (Front) really was in use the whole time prior to ATTI (flyCState == 1 is ATTI)
View attachment 2894
Looking at Yaw vs. magYaw prior to ATTI
View attachment 2897
Looking at pitch, roll, and stick inputs prior to ATTI (note Aileron and Elevator are swapped below)
View attachment 2892