I am using the 3-Space micro USB sensor in a human pose tracking application. The sensor is mounted vertically on the side of a person's thigh, so that the plug is facing straight up and the components of the board are facing away from the person.
In this orientation, the yaw angle of the sensor represents the human's thigh angle. At the start of the application, I can tare the sensor and use the sensor's yaw angle to track walking data at the thigh. But when the person turns around and faces the other direction, the angle reading is negative of what it was when the program was started.
For example, after taring, the yaw angle reads zero. If the person lifts their thigh in front of them, the sensor yaw angle might read +30 degrees. If the person were to turn around and lift their thigh, the sensor then reads -30 degrees. This makes sense in a global frame of reference, but I want to read angles from the frame of reference of the sensor.
I am unsure if the issue here is the Euler angle decomposition order or the offset orientation or something else. I have had some success by setting the Euler angle decomposition order to 0x02 (ZXY), but I'm unsure if this is the preferred method of handling this. I'm not positive this will be consistent. What is the best way to get the reading I'm looking for from the device?