1
$\begingroup$

I'm taking a robotics class and trying to understand Euler angles. My understanding is, matrices are applied to to the vector from right to left (the first transformation applied is the one closest to $\overrightarrow{\boldsymbol{x}} $)

My book defines Euler angles as:

enter image description here

enter image description here

enter image description here

If we are rotating about the Z axis first, then shouldn't the rightmost matrix be for the Z rotation and not the X rotation?

Shouldn't we have the transformation $${_a^b}R_{{Z^\prime}{Y^\prime}{X^\prime}}=R_X(\gamma)R_Y(\beta)R_Z(\alpha) $$ rather than $${_a^b}R_{{Z^\prime}{Y^\prime}{X^\prime}}=R_Z(\alpha)R_Y(\beta)R_X(\gamma) $$

I've read the definition from my textbook in several places and am aware it is correct, but

$\endgroup$
1
$\begingroup$

This comes from the fact that the $\hat Z_B$ rotation moves the $\hat Y_B$ axis you're rotating about next.

If you do them in your proposed order, then the result is what you would get if you rotate the $B$ axes about $\hat Z_A$, $\hat Y_A$, and then $\hat X_A$, rather than $\hat Z_B$, then (the new) $\hat Y_B$, and then (the even newer) $\hat X_B$.

I propose you find a book or a die or a cup or something and play around with $90^\circ$ and $180^\circ$ turns (it's what I did before writing this answer, as a sanity check). For simplicity, say $\gamma = 0^\circ$ (at least at first) so you only get two rotations, and see how it works.

$\endgroup$
  • $\begingroup$ Thanks for the reply, I get that each rotation happens on intermediate rotated frames. But in terms of looking at the matrices as linear transformations being applied to some $\overrightarrow{\boldsymbol{x}} $, doesn't the way the matrices are written indicate that the first transformation applied would be $R_X$? $\endgroup$ – blueether Oct 5 '18 at 17:36
  • $\begingroup$ Or does Euler Angles assume $\overrightarrow{\boldsymbol{x^\intercal}} $ to the left of the rotation expression? $\endgroup$ – blueether Oct 5 '18 at 17:39
  • $\begingroup$ No, $\vec{ x^T}$ is to the right. Applying the angles to the intermediate ($B$) axes rather than the fixed ($A$) axes has the effect of reversing the appropriate order of the rotation matrices. $\endgroup$ – Arthur Oct 5 '18 at 21:29
1
$\begingroup$

The difference is between intrinsic and extrinsic rotations.

In intrinsic rotations, each rotation is about a current axis

In extrinsic rotations, each rotation is about the original axes

Refer: https://en.wikipedia.org/wiki/Euler_angles#Definition_by_intrinsic_rotations

In your image, the intrinsic rotation convention is used.

$\endgroup$
  • $\begingroup$ This answer came a bit late, but I am equally appreciative as I was not aware of the intrinsic vs extrinsic terminology. $\endgroup$ – blueether Aug 8 at 16:16
1
$\begingroup$

The classic consecutive matrix product $R_2 R_1$ applies to rotations about original axes (extrinsic).

Normally, it is more easy to visualize , e.g., a rotation around $z$, followed by a rotation around the new axis $y'$ (intrinsic).

But $y'=R_z \, y$, and to convert the rotation $R_{y'}$ around $y'$ into a rotation around $y$, you shall first revert $R_z$, apply the rotation around $y$, bring again $y$ to $y'$, so we can write

$$R_{y'}R_z = (R_z R_y {R_z}^{-1}) R_z = R_z R_y$$

And that is the same for additional rotations.

That corresponds to how a linear map transforms under a change of the reference system: what $R_{y'}$ produces in the new system is what $(R_z R_y {R_z}^{-1})$ does in the original one.

In fact, if we have a rotation (or any linear transform) that applied to a generic vector $\bf v$ provides a vector $\bf w$ $$ {\bf w} = {\bf R}\,{\bf v} $$ if we transform the two vectors through a linear invertible matrix $\bf T$ (so including rotations, but not only), i.e. $$ {\bf v'} = {\bf T}\,{\bf v}\quad {\bf w'} = {\bf T}\,{\bf w} $$ then we have $$ {\bf w'} = {\bf T}\,{\bf w} = {\bf T}\,{\bf R}\,{\bf v} = {\bf T}\,{\bf R}\,{\bf T}^{\, - \,{\bf 1}} \;{\bf Tv} = \left( {{\bf T}\,{\bf R}\,{\bf T}^{\, - \,{\bf 1}} } \right){\bf v'} $$

The matrix $\bf R$ and ${{\bf T}\,{\bf R}\,{\bf T}^{\, - \,{\bf 1}} }$ are similar matrices

$\endgroup$
  • $\begingroup$ Can you explain again why $R_{y'}$ = $R_zR_yR_z^{-1}$? Wouldn't the $R_y$ change the location of the $Z$ axis? $\endgroup$ – simplename Aug 8 at 18:26
  • 1
    $\begingroup$ @simplename: sure it does, but then when pre- and post- multiplied by $R_z, {R_z}^{-1}$ (wrt the original z axis) the result on the $z$ axis, and any other, is the same as $R_{y'}$: see addendum to my answer. $\endgroup$ – G Cab Aug 8 at 18:54
  • $\begingroup$ @G Cab So if I have any arbitrary axis $a$ and a rotation about another arbitrary axis $b$, such that $R_b$ turns $a$->$a'$, $R_bR_aR_b^{-1} = R_{a'}$? And so by extension $R_cR_bR_aR_b^{-1}R_C^{-1} = R_{a'}$, where $R_b$ followed by $R_c$ turns $a$->$a'$? $\endgroup$ – simplename Aug 8 at 19:09
  • $\begingroup$ @simplename: added some more notes about similarity $\endgroup$ – G Cab Aug 8 at 21:32

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.