PlanetPhysics/Euler Angle Velocity of 123 Sequence

The method of deriving the Euler angle velocity for a given sequence is to transform each of the derivatives into the reference frame. Remember that an Euler angle sequence is made up of three successive rotations. In other words, the angular velocity $$\dot{\phi}$$ needs one rotation, $$\dot{\theta}$$ needs two and $$\dot{\psi}$$ needs three.

$$ \vec{\omega} = R_3(\psi) R_2(\theta) R_1(\phi) \left[  \begin{matrix} \dot{\phi} \\ 0 \\ 0 \end{matrix} \right] + R_3(\psi)  R_2(\theta)  \left[  \begin{matrix} 0 \\ \dot{\theta} \\ 0 \end{matrix} \right] + R_3(\psi) \left[ \begin{matrix} 0 \\ 0 \\ \dot{\psi} \end{matrix} \right] $$

Carrying out the matrix multiplication with $$ R_3(\psi) R_2(\theta) R_1(\phi)$$ being the Euler 123 sequence $$ R_3(\psi) R_2(\theta) =  \left[  \begin{matrix} c_{\psi} c_{\theta} & s_{\psi} & -c_{\psi} s_{\theta} \\ -s_{\psi} c_{\theta} & c_{\psi} & s_{\theta} s_{\psi} \\ s_{\theta} & 0 & c_{\theta} \end{matrix} \right] $$

and

$$ R_3(\psi) = \left[ \begin{matrix} c_{\psi} & s_{\psi} & 0 \\ -s_{\psi} & c_{\psi} & 0 \\ 0 & 0 & 1 \end{matrix} \right] $$

gives us

$$ \left[ \begin{matrix} \omega_x \\ \omega_y \\ \omega_z \end{matrix} \right] = \left[ \begin{matrix} c_{\theta} c_{\psi} \dot{\phi} \\ -c_{\theta} s_{\psi} \dot{\phi} \\ s_{\theta} \dot{\phi} \end{matrix} \right] + \left[ \begin{matrix} s_{\psi} \dot{\theta} \\ c_{\psi} \dot{\theta} \\ 0 \end{matrix} \right] + \left[ \begin{matrix} 0 \\ 0 \\ \dot{\psi} \end{matrix} \right] $$

Adding the vectors together yields

$$ \left[ \begin{matrix} \omega_x \\ \omega_y \\ \omega_z \end{matrix} \right] = \left[ \begin{matrix} \dot{\phi} c_{\theta} c_{\psi} + \dot{\theta} s_{\psi} \\ \dot{\theta} c_{\psi} - \dot{\phi} s_{\psi} c_{\theta} \\ \dot{\phi} s_{\theta} + \dot{\psi} \end{matrix} \right] $$

Of course, we also wish to have the Euler angle velocities in terms of the angular velocities which requires us to solve the linear equations for them. Using a program like Matlab makes it easy for us to get

$$ \left[ \begin{matrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{matrix} \right] = \left[ \begin{matrix} (\omega_x c_{\psi} - \omega_y s_{\psi}) / c_{\theta} \\ \omega_x s_{\psi} + \omega_y c_{\psi} \\ (-\omega_x c_{\psi} + \omega_y s_{\psi}) s_{\theta} / c_{\theta}  + \omega_z \end{matrix} \right]  $$