- Mon Feb 20, 2017 10:55 am
#193498
Having a 9DoF Razor IMU M0 (SEN-14001) with the default firmware, enabling Euler angles with the "e" command, one is supposed to get Pitch, Roll and Yaw as the last 3 values. However, by looking at the Pitch value at the same time as the actual movements of the board, the Pitch value is twice as much as the real value.
In other words, if I pitch the board 45 degrees, I read 90 degrees. But when I roll it 45 degrees, the Roll value is correctly 45 degrees. The Yaw value is also correct. 0-360 degrees correspond to a full rotation.
Actually, "Pitch" and "Roll" in this firmware seem to be rather rotation around the X and Y axis given when Yaw=0 degrees, so they aren't really Pitch and Roll relative to the board itself, but to the absolute "forward" direction of the gyros. That's not a big problem, although it would have been more intuitive to have Roll and Pitch relative to the board itself. But having the Pitch value twice the value, is confusing and - I assume - a bug. Can anyone confirm this or correct me if I am wrong?
If this is a bug, I suppose it is in SparkfunMPU9250-DMP.cpp #623-654 (MPU9250_DMP::computeEulerAngles)
In other words, if I pitch the board 45 degrees, I read 90 degrees. But when I roll it 45 degrees, the Roll value is correctly 45 degrees. The Yaw value is also correct. 0-360 degrees correspond to a full rotation.
Actually, "Pitch" and "Roll" in this firmware seem to be rather rotation around the X and Y axis given when Yaw=0 degrees, so they aren't really Pitch and Roll relative to the board itself, but to the absolute "forward" direction of the gyros. That's not a big problem, although it would have been more intuitive to have Roll and Pitch relative to the board itself. But having the Pitch value twice the value, is confusing and - I assume - a bug. Can anyone confirm this or correct me if I am wrong?
If this is a bug, I suppose it is in SparkfunMPU9250-DMP.cpp #623-654 (MPU9250_DMP::computeEulerAngles)