And I’m back with guesses for more stable Euler angles:
- The main source of noise seems to be the Gyro L3GD20.
The Libraries are kept really minimalistic, so ist will not be a too big problem to refine them.
I wonder why the Gyro-FIFO is not used for instance, and there is no temperature readout and compensation in the Gyro lib.
The AHRS kalman filter code itself (reliability filter) sets the gravity sensors weight to zero at below 0.5 and above 1.5 g vector sum. Questionable if optimal that way, and indeed prone to periodic accellerations, which vactor sum eventually crosses the 1.0g gravity -> at that point, the accelerometer reliability is seen upon as beeing 100% in this code.
I also don’t find any physical reasonning for the Ki and Kp values, which should be directly dependant on the separate sensor noise levels.