Rotational Kinematics and Angular Velocity Vector Transformation

Say we have a rigid body with a body-fixed coordinate system XYZ and an inertial coordinate system (North - East - Down) XoYoZo. If we use the x-y-z convention and rotate the body fixed frame first around the Zo axis, then the Yo and then Xo we end up with multiplying the three rotations to get a transformation matrix R = CzCyCx (where C is the general rotation matrix around a certain axis). R is the transformation matrix to describe how is the body oriented with regard to the inertial frame. This matrix can also be used for the linear velocity vector transformation.

What I cannot understand is why this matrix cannot be used for describing how the angular velocities result on the body frame with respect to the inertial frame? Instead, the matrix is:

$$\begin{pmatrix} 1 & \sin\phi\tan\theta & \cos\phi\tan\theta \\ 0 & \cos\phi & -\sin\phi \\ 0 & \sin\phi/\cos\theta & \cos\phi/\cos\theta \end{pmatrix}$$

,where $\phi$ and $\theta$ describe the orientation of the body fixed frame with respect to the earth fixed frame around the X and Y axes. I have hard time understanding why the angular velocity around the Z axis is not part of the transformation matrix? Also in general, as I stated, why a rotation around the three axes (like the matrix for linear velocity) wouldn't work for the angular velocity vector?

I am sorry for the so what badly formulated question but I am not sure how to express my perplexity otherwise.

There seems to be confusion between a transformation of coordinates (matrix $\mathbf{R}$) and the Jacobian (matrix $\mathbf{J}$).

• The rotation matrix transforms the components of vectors between the body frame and the inertial frame. This happens for all vectors.

\begin{aligned} \boldsymbol{v}_0 & = \mathbf{R} \boldsymbol{v} \\ \boldsymbol{\omega}_0 & = \mathbf{R} \boldsymbol{\omega} \\ \boldsymbol{F}_0 & = \mathbf{R} \boldsymbol{F} \\ \boldsymbol{\tau}_0 & = \mathbf{R} \boldsymbol{\tau} \end{aligned}

• The Jacobian relates the three joint speeds $(\dot{\phi},\dot{\psi},\dot{\theta})$ to body rotational velocity $\boldsymbol{\omega}_0$. For a sequence of rotations the body to inertial rotation matrix is: $\mathbf{R} = \mathbf{R}_x \mathbf{R}_y \mathbf{R}_z$. Now the body rotational velocity vector is defined as follows

$$\boldsymbol{\omega}_0 = \boldsymbol{\hat{\imath}} \dot{\phi} + \mathbf{R}_x \left( \boldsymbol{\hat{\jmath}} \dot{\psi} + \mathbf{R}_y \boldsymbol{\hat{k}} \dot{\theta} \right)$$

Do you see the pattern above? See this post as well as this post for more details.

the above is grouped together into the Jacobian as

$$\boldsymbol{\omega}_0 = \mathbf{J} \pmatrix{\dot{\phi} \\ \dot{\psi} \\ \dot{\theta} }$$

You see, the list of joint speeds is not a vector because each joint speed is riding on a different reference frame. The columns of the Jacobian contain the orientation of each rotation axis in the inertial system

$$\mathbf{J} = \Big[ \begin{array}{c|c|c} \boldsymbol{\hat{\imath}} & \mathbf{R}_x \boldsymbol{\hat{\jmath}} & \mathbf{R}_x \mathbf{R}_y \boldsymbol{\hat{k}} \end{array} \Big]$$

• The matrix you describe in your post is the inverse Jacobian which relates the joint motions to the body rotational velocity

$$\pmatrix{\dot{\phi} \\ \dot{\psi} \\ \dot{\theta} } = \mathbf{J}^{-1} \boldsymbol{\omega}_0$$

where the inverse Jacobian evaluates to

$$\mathbf{J}^{-1} = \begin{pmatrix} 1 & \sin\phi\tan\psi & -\cos\phi\tan\psi \\ 0 & \cos\phi & \sin\phi \\ 0 & -\sin\phi/\cos\psi & \cos\phi/\cos\psi \end{pmatrix}$$

• Thank you very much! That really helped :) I am only wondering if there is a typo in your body rotational velocity vector definition $\omega_o$, in particular if instead of Rz there should be Ry ? – Ivo Penchev Sep 17 '18 at 15:40
• Good catch. I will fix it. – ja72 Sep 17 '18 at 16:09
• One question regarding that: As far as I understand, this is used to get angular coordinates (orientation) using the angular velocities inside $\omega_o$, is that right? Since we cannot integrate $\omega_o$, we need to transform it to the Euler rate vector $(\dot{\phi},\dot{\psi},\dot{\theta})$ (you called it joint motions) and integrate that instead, or am I making a mistake? – Ivo Penchev Sep 17 '18 at 16:21
• Yes, although the integration is rather complex because $$\pmatrix{\ddot{\phi} \\ \ddot{\psi} \\ \ddot{\theta} } = \mathbf{J}^{-1} \boldsymbol{\alpha}_0 +(\frac{{\rm d}}{{\rm d}t} \mathbf{J}^{-1}) \boldsymbol{\omega}_0$$ – ja72 Sep 17 '18 at 16:48
• No, but that what you posted is a differentiation (to get angular acceleration), but what I meant is to integrate and get the position. For that as far as I can tell, we don't need the accelerations, right ? – Ivo Penchev Sep 17 '18 at 17:07