BNO055 How to use Euler angles

Hi all,

I'm using BNO055 to get Euler angles roll and pitch (angles are less 30 degrees, so not quaternions). After turning on the power of the sensor, I reset sensor and select the IMU mode, no more settings are performed. In the manual, I did not find a detailed description of the use of the Euler angles of this sensor, so I ask you to help with the following questions:

1) What angle (roll, pitch, heading) which axis corresponds on the image of the default coordinate system (section 3.4 of the manual). 
2) What is the default direction of rotation for each axis? The one indicated by the arrows in the image?


3) What is the default Fusion data output format (Android or Windows) on power-up and reset? The manual seems to be a contradiction: in table 4.2 (Register Map Page) the default value 0x80 is specified for the UNIT_SEL register, i.e. ORI_Android_Windows bit is equal to 1. Meanwhile, in item 4.3.60, this bit is set to 0 (after Reset).
4) What is the order of the rotations? And do I need to rotate the axes of rotation when turning?

Best reply by BSTRobin

Hello insight,

1: We use Intrinsic rotations. You can test the BNO055 in dd2.0. After giving a pitch angle(around y axis), like 30deg, first, and then give a roll angle(around x axis), like 30 deg, then you can see that the pitch angle stays at 30deg. So we use the axis attached to the device, which is Intrinsic rotations.

2: We use the Tait-Bryan angles. And both z-x-y and z-y-x are OK. You can test it by firstly rotate around z axis for like 30deg, and then rotate around x axis for 30 deg, and then around y axis for 30 deg. You can then see the angles on each axis are staying 30 deg. That's the same with z-y-x. You can try these sequence in rotation matrix to see whether your transformation is correct.

3: For windows solution, the angle around x axis is pitch, and the angle around y axis is roll. You can test this also according to Table 3-13. Because the range of pitch is -180~+180deg, and the range of roll is -90~+90deg. You can rotate the device and check the range.

4: You can simply use the right-hand rule to decide the increase direction.

5: After self-test, when the x axis nose up, the roll angle increases. And when the x axis nose down, the roll angle decreases.

View original
7 replies
Resolved