According to a post here Angular Velocity expressed via Euler Angles you can express angular velocity from euler angles. If I choose Y-Z-Y as a rotation sequence the expression becomes.

$\theta_r, \theta_p, \theta_y$ = roll, pitch, yaw

$$ \vec{\omega} = \dot{\theta_r} \hat{y} + R_z(\theta_p)( \left( \dot{\theta_p} \hat{z} + R_y(\theta_y) \left( \dot{\theta_y} \hat{y} \right) \right) $$

which becomes

enter image description here

according to this


enter image description here

which does not make sense.

does it make sense and does it still work in this case?

  • $\begingroup$ With Y-Z-Y rotations the angular velocity vector is $$ \vec{\omega} = \dot{\theta_r} \hat{y} + R_y(\theta_r) \left( \dot{\theta_p} \hat{z} + R_z(\theta_p) \left( \dot{\theta_y} \hat{y} \right) \right) $$ I think you misunderstood my answer. $\endgroup$ Commented Jul 22, 2019 at 1:02
  • $\begingroup$ @ja72 Yeah I did but you misunderstood the order. it is first roll, then pitch, then yaw. Thus the angular velocity becomes $$ \vec{\omega} = \dot{\theta_y}\hat{y}+R_y(\theta_y)\left(\dot{\theta_p}\hat{z}+R_z(\theta_p)\left(\dot{\theta_r}\hat{y}\right)\right) $$ which finally evaluates to $$ \begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \end{bmatrix} = \begin{bmatrix} a\dot{\theta_p} - bc\dot{\theta_r} \\ \dot{\theta_y}+d\dot{\theta_r} \\b\dot{\theta_p} + ac\dot{\theta_r} \end{bmatrix} $$ is this correct? thanks for giving me your time. $\endgroup$ Commented Jul 23, 2019 at 0:08
  • $\begingroup$ Indeed, but my answer below has the correct order. I don't know what the coefficients $a$, $b$, $c$ ... are so I don't know about your result. Please review my answer and award it if it was helpful. $\endgroup$ Commented Jul 23, 2019 at 1:42
  • $\begingroup$ @ja72 the coefficients are defined in the main post quite clearly and your answer below has the angles in the wrong order. I already said this. When rotating you first rotate in the Y axis with $\theta_r$ then in Z with $\theta_p$ lastly Y again with $\theta_y$. You wrote them in the reverse order even in your answer. $\endgroup$ Commented Jul 23, 2019 at 1:47
  • $\begingroup$ Check the comments of my post then. Comments about the answer should be added there and not here. $\endgroup$ Commented Jul 23, 2019 at 12:48

1 Answer 1


Suppose you have a Y-Z-Y scheme with a corresponding sequence of rotation angles $\theta_y$, $\theta_p$ and $\theta_r$.

After the first rotation (yaw), the 3×3 orientation matrix $\mathrm{E}_y$ and angular velocity vector $\vec{\omega}_y$ is

$$\begin{aligned} \mathrm{E}_y & = \mathrm{rot}(\hat{j}, \theta_y) & \vec{\omega}_y & = \dot{\theta}_y \left(\hat{j}\right) \end{aligned} \;\tag{1}$$

The above should be self-evident. Now consider the second rotation and the orientation matrix $\mathrm{E}_p$ and angular velocity vector $\vec{\omega}_p$. Since the local axes are rotated by the first rotation we have

$$\begin{aligned} \mathrm{E}_p & = \mathrm{E}_y \mathrm{rot}(\hat{k}, \theta_p) & \vec{\omega}_p & = \dot{\theta}_y \left( \hat{j} \right) + \dot{\theta}_p \left( \mathrm{E}_y \hat{k} \right) \end{aligned} \;\tag{2}$$

Finally, with the third rotation we extend this pattern to find the final orientation matrix $\mathrm{E}$ and the final rotation velocity vector $\vec{\omega}$

$$\begin{aligned} \mathrm{E} & = \mathrm{E}_p \mathrm{rot}(\hat{j}, \theta_r) & \vec{\omega} & = \dot{\theta}_y \left( \hat{j} \right) + \dot{\theta}_p \left( \mathrm{E}_y \hat{k} \right) + \dot{\theta}_r \left( \mathrm{E}_p \hat{j} \right) \end{aligned} \;\tag{3}$$

The last part is re-written as

$$\begin{aligned} \mathrm{E} & =\mathrm{rot}(\hat{j}, \theta_y)\mathrm{rot}(\hat{k}, \theta_p) \mathrm{rot}(\hat{j}, \theta_r) & \vec{\omega} & = \dot{\theta}_y \hat{j} + \mathrm{rot}(\hat{j}, \theta_y) \left( \hat{k} \dot{\theta}_p + \mathrm{rot}(\hat{k}, \theta_p) \hat{j} \dot{\theta}_r \right) \end{aligned} \;\tag{4}$$

This expands out to the following jacobian formulation

$$ \vec{\omega} = \begin{bmatrix} 0 & \sin(\theta_y) & -\sin(\theta_p)\cos(\theta_y) \\ 1 & 0 & \cos(\theta_p) \\ 0 & \cos(\theta_y) & \sin(\theta_p) \sin(\theta_y) \end{bmatrix} \pmatrix{ \dot{\theta}_y \\ \dot{\theta}_p \\ \dot{\theta}_r } \;\tag{5}$$

  • $\begingroup$ Proof of the above comes from expanding the identity $ \dot{\mathrm{E}} = \vec{\omega} \times \mathrm{E}$ and the derivative product rule applied to the sequence of rotations in $\mathrm{E}$. $\endgroup$ Commented Jul 22, 2019 at 1:38
  • $\begingroup$ @fullnitrus - Equation (4) above is identical to your equation you posted in the comments. $\endgroup$ Commented Jul 23, 2019 at 12:45
  • $\begingroup$ I checked, equation (5) is identical to $$\begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \end{bmatrix} = \begin{bmatrix} a\dot{\theta_p} - bc\dot{\theta_r} \\ \dot{\theta_y}+d\dot{\theta_r} \\b\dot{\theta_p} + ac\dot{\theta_r} \end{bmatrix}$$ $\endgroup$ Commented Jul 23, 2019 at 12:54
  • $\begingroup$ "After the first rotation (yaw)" $\endgroup$ Commented Jul 23, 2019 at 15:04
  • $\begingroup$ I call it the first rotation because it is always about a fixed axis (the vertical). I come from robotics where kinematics are recursive from the base to the tip, and this is built in a similar fashion. I guess you would consider first the roll, then the pitch and the yaw, but for me it is logically arranged yaw-pitch-roll. The math is the same though. $\endgroup$ Commented Jul 23, 2019 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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