MotionFX library: The Yaw angle computed in my application seems wrong. Which could be the reason?
Hello, community,
I would like to use the 6-axis fusion algorithm available in the MotionFX library. I implemented it following a sample application and library MotionFX User manual. The flow chart should be the same as the manual. I don't understand why the output of the fusion algorithm provides coherent information only about the roll and pitch angle, the yaw angle is not consistent with the physical reality. What could be the cause?
In the manual, it is said that:
- the roll angle range is from -90 to +90
- the range of the pitch angle + -180 +180
- the range of the yaw angle is 0-360.
If I visualize or plot the first two angles, what I see is consistent with physical reality.
Instead, the yaw angle does not respond as I expect. In particular, I see, that when I rotate my IMU about 40° around the z-axis, the algorithm say me that a 360 ° rotation occurs, then if I rotate physically the IMU about 360°, the algorithm says that at least 8-9 complete rotations occur. It seems a very strange phenomenon (if we consider that roll and pitch are goods) and I don't know what to turn to, you could suggest me a way to follow. Waiting for the answer I am reviewing the datasheets of the two ICs that make up my IMU: LIS3MDL (to get the information from the magnetometer)
ISM330DHCX (to obtain data from accelerator and gyroscope and have them processed by the 6-axis fusion algorithm)
A bad picture (sorry) to explain my problem:
Thank you in advance!
