[Physics] Rotational Kinematics and Angular Velocity Vector Transformation

angular velocityrotational-kinematics

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.

Best Answer

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} $$