1

Let $E$ be the 3-dimensional space with origin $O$ (and without any preferred frame of reference) and assume that we have three orthonormal frames $F_k = \{e_1^k,e_2^k,e_3^k\}$ for $k=1,2,3$. Suppose that $F_2$ is rotating around $F_1$ (which is fixed) and $F_3$ is rotating around $F_2$. Now this implies that there exist rotations $R_{21}$ and $R_{32}$ such that $R_{32} e_i^2 = e_i^3$ and $R_{21} e_i^1 = e_i^2$. Since they are orthogonal transformations we have $R_{kl}R_{kl}^{\top} = I$ and hence by differentiation it follows that $\dot{R_{kl}}R_{kl}^{\top}$ is skew-symmetric, i.e. there exists some vector (angular velocity) $\omega_{kl}$ such that $\dot{R_{kl}}R_{kl}^{\top} v = \omega_{kl} \times v$. To find the angular velocity of $F_3$ w.r.t. $F_1$ we calculate \begin{gather*} \dot{e_i^3} = \frac{d}{dt} R_{32}R_{21}e_i^1 = \dot{R_{32}}R_{21}e_i^1 + R_{32}\dot{R_{21}}e_i^1 = \dot{R_{32}}R_{32}^\top e_i^3 + R_{32}\dot{R_{21}}R_{21}^\top e_i^2 \\ = \omega_{32} \times e_i^3 + R_{32}(\omega_{21} \times e_i^2) = \omega_{32} \times e_i^3 + (R_{32}\omega_{21}) \times e_i^3 = (\omega_{32}+ R_{32}\omega_{21}) \times e_i^3 \end{gather*} where we have used the fact that $ R_{32}(v \times w) = (R_{32}v)\times (R_{32} w)$, since $R_{32}$ is a rotation. This suggests that the angular velocity $\omega_{31}$ of $F_3$ w.r.t. $F_1$ is \begin{align*} \omega_{31} = \omega_{32}+ R_{32}\omega_{21}. \end{align*} However, in most books on rigid body mechanics (see e.g. here or here)it is claimed that \begin{align*} \omega_{31} = \omega_{32}+ \omega_{21}. \end{align*}

Question: Where is the error in the above "proof" of the angular velocity addition formula?

Andrei Kh
  • 147
  • when you introduce the definition of relative angular velocity of $J$ w.r.t. $I$, you need to take the time derivative of quantities "as seen by the observer $I$", i.e. without taking the time derivative of the vectors of the base ${\hat{\mathbf{e}}_i^I}_i$ Tonight I don't have some good reference with me. I'm following the question. If needed, I'll attach to an answer tomorrow – basics Nov 29 '22 at 20:38
  • 1
    @Frobenius terrible explanation, IMHO. The OP seems to know the tensor nature of rotation, in quite a mature way of developing the computations. He's only missing very few things, without the need of sketches and drawings for an answer to his/her question. Maybe they come later, as an example/exercise for him/her to check his/her understandings – basics Nov 30 '22 at 14:52

2 Answers2

0

Let's write the composite rotation of vector, $v_0$,

$v_2(t) = R^{20}(t)v_0 = R^{21}(t) R^{10}(t) v_0$,

and evaluate the time derivative,

$\dot{v}_2(t) = \dot{R}^{20}(t)v_0 = \Omega^{20} R^{20} v_0 = \Omega^{20} v_2 = \omega^{20} \times v_2 \\ \qquad = \dfrac{d}{dt} \left( R^{21} R^{10} \right) v_0 = \\ \qquad = \left( \dot{R}^{21} R^{10} + R^{21} \dot{R}^{10}\right) v_0 = \\ \qquad = \left( \dot{R}^{21} R^{10} + R^{21} \Omega^{10} R^{10} \right) v_0 = \\ \qquad = \left( \dot{R}^{21} R^{12} + R^{21} \Omega^{10} R^{12} \right) R^{21} R^{10} v_0 = \\ \qquad = \left( \dot{R}^{21} R^{12} + R^{21} \Omega^{10} R^{12} \right) v_2 = $.

Now, it's possible to prove (for details, see the handwritten notes linked at the end of the answer) that

$\dot{R}^{21} = \dfrac{d R^{21}}{dt} = \dfrac{^1d R^{21}}{dt} + \Omega^{10} R^{21} - R^{21} \Omega^{10} \qquad \qquad (*)$,

being $\frac{^1 d}{dt}$ the time derivative of the quantities as seen by the moving observer $1$, i.e. without taking the derivative of the vectors of the basis of the reference frame moving with the observer $1$; this latter contribution goes into the last two terms. Thus,

$\dot{v}_2(t) = \left[ \left( \dfrac{^1d R^{21}}{dt} + \Omega^{10} R^{21} - R^{21} \Omega^{10}\right)R^{12} + R^{21} \Omega^{10} R^{12} \right] v_2 = \\ \qquad = \left[ \dfrac{^1d R^{21}}{dt} R^{12} + \Omega^{10} \right] v_2$.

Introducing the definition of the relative angular velocity anti-symmetric tensor of $2$ w.r.t. $1$,

$\Omega^{21} := \dfrac{^1d R^{21}}{dt} R^{12} = \left( \dot{R}^{21} - \Omega^{10} R^{21} + R^{21} \Omega^{10} \right) R^{12} = \dot{R}^{21} R^{12} - \Omega^{10} + R^{21} \Omega^{10} R^{12}$,

we get

$\dot{v}_2(t) = \left( \Omega^{21} + \Omega^{10} \right) v_2 = \Omega^{20} v_2$,

and thus $\Omega^{20} = \Omega^{21} + \Omega^{10}$, and eventually $\omega^{20} = \omega^{21} + \omega^{10}$.

For details (derivation of $(*)$) and an example, try to have a look at these notes, https://basics.altervista.org/test/Physics/Me/rotations/kinematics_successive_rotations.html .

basics
  • 8,365
  • Thank you for your answer. However, I don't see where the error in my derivation truly is. Since I am working in a fixed vector space $E$ and all vectors are absolute (i.e. not represented w.r.t. any particular frame), it seems to me that the problem is maybe in the interpretation of the vectors $\omega_{32}$ and $\omega{21}$? – Andrei Kh Nov 30 '22 at 17:02
  • Yes, the problem is there! $\dot{R}{32} R{32}^T$ is not $\omega_{32 \times}$. The relative angular velocity is defined as $\frac{^1 d R_{32}}{dt} R_{32}^T$ and not $\frac{d R_{32}}{dt} R_{32}^T$. Please, take a look at the hand-notes. You can find the details hidden in $(*)$, and an example with the composition of two successive rotations – basics Nov 30 '22 at 19:11
  • Indeed, the error is that $R_{32}$ is a frame-independent transformation, which rotates the input by a frame-independent fixed vector $\omega_{32}$ (which does not rotate together with the second frame, when it rotates around the first frame). Hence this is not what one would view as a "relative rotation". – Andrei Kh Dec 08 '22 at 13:36
  • Are you ok with that? Rotations are always quite a pain in the *ss – basics Dec 08 '22 at 13:38
0

You have the general rule of

$$\dot{{\rm R}}\,{\rm R}^{\intercal}=\boldsymbol{\omega}\times$$

which depending on how each ${\rm R}$ is defined results in either a rotation vector in the inertial frame or in the body frame.

That is the difference here between your $\omega_{21}$ and the book's $\omega_{21}$

It has to be that your $\omega_{21}$ is defined with the basis vectors of $F_2$, and the more common definition is to have everything in the same basis-vectors as the inertial frame.

That is unless there is some other mistake in the calculation. I did not follow through all of it because the notation is confusing me. I have proved the rotational kinematics myself many times, but using notation that I understand and I can interpret easily.


Consider a sequence of rotating frames, each i-th frame with ${\rm R}_i$ the 3×3 orientation matrix that transforms the local basis-vectors into the inertial basis-vectors.

Designate as $\mathbf{z}_i^{i-1}$ as the direction of rotation if the i-th frame in the i-1-th frame, and $\theta_i$ the angle of rotation. This describes the orientation of the i-th frame recursively from the orientation of the previous frame

$$ {\rm R}_{i}={\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i}) \tag{1}$$

where ${\rm rot}({\rm axis},\,{\rm angle})$ is an elementary rotation about a single axis, by an angle (use the Rodrigue's formula).

Note that the axis of rotation in the inertial basis-vectors is

$$ \boldsymbol{z}_{i}={\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1} \tag{2} $$

If I re-arrange the rotational velocity expression ${\rm \dot{R}}\,{\rm R}^\intercal = \boldsymbol{\omega}_i \times$ in terms of the derivative I get the following expressions for the time-rate of rotations

$$\begin{aligned}\dot{{\rm R}}_{i-1} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i-1}\\ \dot{{\rm R}}_{i} & =\boldsymbol{\omega}_{i}\times{\rm R}_{i}\\ \tfrac{{\rm d}}{{\rm d}t}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\dot{\theta}_{i}) & =\left(\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i}) \end{aligned} \tag{3}$$

Now take the time derivative of (1) and apply the product rule.

$$\small \begin{aligned}{\rm \dot{R}}_{i} & ={\rm \dot{R}}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})+{\rm R}_{i-1}\tfrac{{\rm d}}{{\rm d}t}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\\ \boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})+{\rm R}_{i-1}\left(\left(\boldsymbol{z}_{i}^{i-1}\theta_{i}\right)\times{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\right)\\ \boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i}+\left({\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times\left({\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\right)\\ \boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i}+\left({\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times{\rm R}_{i}\\ \end{aligned} \tag{4}$$

Follow with with collecting terms, and factoring out the ${\rm R}_i$ term to get

$$ \begin{aligned} \boldsymbol{\omega}_{i} & =\boldsymbol{\omega}_{i-1}+{\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\\ \boldsymbol{\omega}_{i} & =\boldsymbol{\omega}_{i-1}+\boldsymbol{z}_{i}\dot{\theta}_{i} \end{aligned} \tag{5} $$

which is interpreted as the relative rotation velocity between body i and its predecessor is $\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}$ in the local basis-vectors of frame i-1, and $\boldsymbol{z}_{i}\dot{\theta}_{i}$ in the inertial basis-vectors.

JAlex
  • 3,090