FusionFX and quaternions - stationary drift
Hello,
I'm using the FusionFX library(V2.5) to calculate quaternions and therefore estimate an object position. I'm using an X-NUCLEO-IKS01A3 that has the LSM6DSO (ACC + Gyro) and LIS2MDL ( Mag). I'm using an 16G scale in acc and 2000dps in the gro, at an ODR of 6667Hz and 100Hz for the Mag and I'm calling the propagate and update function at a rate of 100Hz. Everything works pretty well on fast or slow movements, but when i put my dev board on the table after movement, it starts to drift very slowly no stop.
I've been messing around the knobs and this is what i've already tried:
- start_automatic_gbias_calculation 1, set knobs, wait 10 or more seconds, read the gbias_***_th_sc values, but they don't change
- LMode 0, 1 or 2, it doesn't seem to change the behavior.
- modx is set at 1
- messing around the Atime, Mtime and FrTime values
- Mag calibration
When i read the knobs, i get the default Mtime of 1.5. The documentation on the UM2220 says that this last values range from 0 to 1. There must be a mistake.
From what I've been reading, this must be when the sensor is stationary, there is still deviation on the values of the sensors, and that error is being integrated by the algorithm over the time, causing this stationary drift. Is this correct? How can i minimize this sensor deviation? applying filters (LPF and HPF) on the acc+gyro? is there a parameter in the library that allows to recognize or set a threshold for when its stationary?
best regards,
Pedro
