Euler angle velocity of 321 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{\psi}$ needs one rotation, $ \dot{\theta}$ needs two and $ \dot{\phi}$ needs three.

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

Carrying out the matrix multiplication with $ R_1(\psi) R_2(\theta) R_3(\phi)$ being the Euler 321 sequence

$\displaystyle R_1(\psi)R_2(\theta) = \left[ \begin{array}{ccc}
c_{\theta} & 0 &...
... \\
c_{\psi} s_{\theta} & -s_{\psi} & c_{\psi} c_{\theta} \end{array} \right] $

and

$\displaystyle R_1(\psi) = \left[ \begin{array}{ccc}
1 & 0 & 0 \\
0 & c_{\psi} & s_{\psi} \\
0 & -s_{\psi} & c_{\psi}\end{array} \right] $

gives us

$\displaystyle \left[ \begin{array}{c}
\omega_x \\
\omega_y \\
\omega_z \end{a...
...} \right] + \left[ \begin{array}{c}
\dot{\psi} \\
0 \\
0 \end{array} \right] $

Adding the vectors together yields

$\displaystyle \left[ \begin{array}{c}
\omega_x \\
\omega_y \\
\omega_z \end{a...
...\\
c_{\psi} c_{\theta} \dot{\phi} - s_{\psi} \dot{\theta} \end{array} \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

$\displaystyle \left[ \begin{array}{c}
\dot{\phi} \\
\dot{\theta} \\
\dot{\psi...
...omega_y s_{\psi} t_{\theta} + \omega_z c_{\psi} t_{\theta} \end{array} \right] $

In matlab solving for the Euler angle velocites can be done with the following commands. Using the notation $ Ax = b$ , we want to solve for $ x$ , such that $ x = A^{-1}b$ . For our problem then

syms wx wy wz phd thd psd SPS cth cps b x A;

b = [wx wy wz]';

x = [phd thd psd]';

A = [ -sth 0 1; sps*cth cps 0; cps*cth -sps 0];

and solve for the angle velocites with the command

x = inv(A)*b

Note that matlab spits out extra sine and cosine terms that just equal 1 through

$\displaystyle s_{\psi}^2 + c_{\psi}^2 = 1$

The shorthand notation used in this article is

$\displaystyle s_{\psi} = sin(\psi) $

$\displaystyle c_{\psi} = cos(\psi) $

$\displaystyle t_{\psi} = tan(\psi) $



Contributors to this entry (in most recent order):

As of this snapshot date, this entry was owned by bloftin.