3

I am using 9-axis IMU fused orientation data and I need to convert quaternion pose to Euler angles for purposes of graphing the data to user. I want my all three angles to be from range [-180, 180] and I found a lot of references how to do that easily.

Roll and yaw work well but when the pitch crosses +90 degrees it starts going back towards -90 and then back to 0, as I increase Y component of my quaternion. This video explains it better.

You can also see the raw data from the sensor on this image:

enter image description here

There are in total three full rotations around each of the axes one after another. First two (solid red and green lines) are OK. Blue one (misslabelled "roll" on the plot, but is actually pitch rotation) does well until it reaches -90 degrees and then flips the direction until +90 and goes back to 0. At the same time this happens, both of the other axes give wrong readings (very fast change).

Is there a way of circumventing this issue around +-90 degrees and computing absolute pose in world frame?

Igor Perić
  • 171
  • 1
  • 8

0 Answers0