3

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.

1 Answers1

2

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

John Alexiou
  • 38,341
  • 1
    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. – John Alexiou 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 $$ – John Alexiou 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
  • For doing dynamics the three configuration angles define your degrees of freedom. Hence you need to integrate numerically the following ODE $$ \pmatrix{\ddot{\phi} \ \ddot{\psi} \ \ddot{\theta} } = \mathbf{f}(t, \pmatrix{{\phi} \ {\psi} \ {\theta} }, \pmatrix{\dot{\phi} \ \dot{\psi} \ \dot{\theta} } ) $$ – John Alexiou Sep 17 '18 at 17:11
  • If you directly integrate angular acceleration into angular velocity and then switch to configuration variables, you would be ignoring the effects of the changing jacobian (the last term of the expression above). – John Alexiou Sep 17 '18 at 17:29
  • I am not sure I understand. Is there a way to get to the angular position, without calculating the angular acceleration? Because all I need is just to get the angles $\phi, \theta$ and $\psi$ at a certain time, given their first derivative. – Ivo Penchev Sep 23 '18 at 13:17