I use android devices (Xiaomi Mi9-SE (Android 10) & Huawei P10 (Android 9)) to collect movement data from bicycle rides. Hereby, I am measuring i.a the Rotation Vector which describes the rotation of the smartphone to the earth's reference frame (https://developer.android.com/reference/android/hardware/SensorEvent#sensor.type_rotation_vector:).
The sensor returns four values, which represent the rotation as a quaternion (w,x,y,z).
In my experiment I recorded a bike ride with two smartphones, which were glued to each other in the same alignment. When I plot the returned values from the Rotation Sensors numerically, they seem to be similar in some phases and dissimilar in others (cf. 1, 2)
However, when in a dissimilar phase (e.g. ~22:12:30h), it seems like the rotations are still somehow the same, but the axis are swapped. I plotted two corresponding rotations (cf. 3, 4). If the x and y axis were swapped and mirrored on the new y, the rotation would become similar. I wonder if this behavior is due to inaccurate/bad sensors or whether I missed something working with quaternions.
Would be really great if someone could tell me, if/where I miss a point here.