I have a problem with the coordinate system change between two 3D rotation sensors A and B. The coordinate systems have the same origin and are (mostly) perpendicular. I tested a somewhat pure rotation around each axis, while measuring for both sensors at the same time.

These are the angle axis rotations over time (x = red, y = green, z = blue), A on the left chart and B on the right chart:

enter image description here

I have now two questions:

  1. Does it make sense to compare two angle axis representations or is it completely nuts? Is there a better way of comparing rotations?
  2. What is the transformation between the two coordinate systems?

Looking at the chart I came up with this:

$z_{A} = -x_{B}$

$x_{A} = y_{B}$

$y_{A} = z_{B}$

Hence the rotation matrix (coordinate system change) from B to A is:

$R_{BA} = \begin{bmatrix} 0 & 0 & -1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ \end{bmatrix}$

Supposedly by then doing $R_{BA} * R_{B}$ I should get $R_A$, but it's not what happens, I get completely different values.

  • $\begingroup$ When you say "angle axis rotations", do you mean some kind of Euler angles? For example, "rotate by $\alpha$ around the $x$ axis, then by $\beta$ around the $y$ axis, then by $\gamma$ around the $z$ axis"? $\endgroup$ – David K Jan 22 '16 at 18:52
  • $\begingroup$ Nope, I mean the logarithm of an SO3 group, maybe calling it angle-axis is not right. $\endgroup$ – aledalgrande Jan 22 '16 at 18:52
  • $\begingroup$ Or the result of applying the Rodrigues theorem to a rotation matrix, if you will. $\endgroup$ – aledalgrande Jan 22 '16 at 18:54

It was the right reasoning, the only problem was that the rotation between the sensors was not a simple 90/180 deg around some axis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.