4
$\begingroup$

I'm currently confused at the moment about the components order obtained from a well-known relationship between derivative of a rotation matrix and its angular velocity: $\dot{R} = R \hat{\Omega}$.

I constructed the rotation matrix $R$ from consecutive rotations around $Z,Y,X$ axis using the formulae given in https://en.wikipedia.org/wiki/Euler_angles. So is it true that the $\Omega$ vector (whose skew-symmetric form is $\hat{\Omega}$) will be $[\omega_z,\omega_y,\omega_x]^T$? Moreover, if $R$ is a rotation matrix from frame $B$ to frame $A$, is $\Omega$ angular rate written with respect to frame $B$?

I'd very grateful to hear from you. Thanks in advance.

$\endgroup$

1 Answer 1

4
$\begingroup$

First of I will denote a rotation matrix from frame $B$ to frame $A$ as $R^{AB}$ and the angular velocity of frame $B$ with respect to frame $A$ expressed in frame $B$ as $^{BA}\vec{\omega}^B = \begin{bmatrix}^{BA}\omega^B_x & ^{BA}\omega^B_y & ^{BA}\omega^B_z\end{bmatrix}^\top$.

The way how I remember how to derive the time derivative of a rotation matrix is by considering the rotation that occurs of frame $B$ relative to frame $A$ in a really small time step. Namely this rotation can be found by assuming $^{BA}\vec{\omega}^B$ to be constant during that time step and to use an axis angle representation of that rotation from the current frame $B$ (relative to $A$) to frame $B$ (relative to $A$) a small time step into the future, denoted by $B^*$. Here the axis, $\begin{bmatrix}u_x & u_y & u_z\end{bmatrix}^\top$, is the normalized angular velocity vector and the angle, $\theta$, is its magnitude times the time step. In the limit of the time step to zero we can use that $\cos\theta = 1$ and $\sin\theta = \theta$, therefore

$$ R^{BB^*} = \begin{bmatrix} \cos\theta + u_x^2(1-\cos\theta) & u_xu_y(1-\cos\theta)-u_z\sin\theta & u_xu_z(1-\cos\theta)+u_y\sin\theta \\ u_xu_y(1-\cos\theta)+u_z\sin\theta & \cos\theta + u_y^2(1-\cos\theta) & u_yu_z(1-\cos\theta)-u_x\sin\theta \\ u_xu_z(1-\cos\theta)-u_y\sin\theta & u_yu_z(1-\cos\theta)+u_x\sin\theta & \cos\theta + u_z^2(1-\cos\theta) \end{bmatrix} = \begin{bmatrix} 1 & -u_z\,\theta & u_y\,\theta \\ u_z\,\theta & 1 & -u_x\,\theta \\ -u_y\,\theta & u_x\,\theta & 1 \end{bmatrix} = \begin{bmatrix} 1 & -^{BA}\omega^B_z\,dt & ^{BA}\omega^B_y\,dt \\ ^{BA}\omega^B_z\,dt & 1 & -^{BA}\omega^B_x\,dt \\ -^{BA}\omega^B_y\,dt & ^{BA}\omega^B_x\,dt & 1 \end{bmatrix} $$

which can also be written as

$$ R^{BB^*} = I + \begin{bmatrix} 0 & -^{BA}\omega^B_z & ^{BA}\omega^B_y \\ ^{BA}\omega^B_z & 0 & -^{BA}\omega^B_x \\ -^{BA}\omega^B_y & ^{BA}\omega^B_x & 0 \end{bmatrix} dt = I + ^{BA}\vec{\omega}^B_\times\,dt $$

where $^{BA}\vec{\omega}^B_\times$ refers to what you called the skew-symmetric form $\hat{\Omega}$, however I prefer this notation since it better illustrates its connection to the cross product. So the combined rotation can then be written as

$$ R^{AB}(t+dt) = R^{AB^*}(t) = R^{AB}(t)\,R^{BB^*}(t) = R^{AB}(t)\,\left(I + ^{BA}\vec{\omega}^B_\times(t)\,dt\right) $$

which can be substituted into the definition of the time derivative of $R^{AB}$

$$ \begin{align} \dot{R}^{AB}(t) &= \lim_{dt \to 0} \frac{R^{AB}(t+dt) - R^{AB}(t)}{dt} \\ &= \lim_{dt \to 0} \frac{R^{AB}(t)\,\left(I + ^{BA}\vec{\omega}^B_\times(t)\,dt\right) - R^{AB}(t)}{dt} \\ &= R^{AB}(t)\,^{BA}\vec{\omega}^B_\times(t). \end{align} $$


If $^{BA}\vec{\omega}^A$, the angular velocity expressed in frame $A$, is given instead you would get

$$ R^{AA^*} = I - ^{BA}\vec{\omega}^A_\times\,dt $$

where the minus sign comes from the fact that $^{AB}\vec{\omega}^A = -^{BA}\vec{\omega}^A$. So the combined rotation can be written as

$$ R^{AB}(t+dt) = R^{A^*B}(t) = R^{A^*A}(t)\,R^{AB}(t) $$

where $R^{A^*A} = {R^{AA^*}}^\top$. By combining this with $\vec{v}_\times^\top = -\vec{v}_\times$ then it can be shown that

$$ \dot{R}^{AB} = ^{BA}\vec{\omega}^A_\times\,R^{AB}. $$


And if you have found $\dot{R}^{AB}$ but actually need $\dot{R}^{BA}$, then you can use that a rotation matrix multiplied by its transpose (${R^{AB}}^\top = R^{BA}$) is equal to the identity matrix. So taking the time derivative of that and applying the chain rule gives

$$ \frac{d}{dt}\left(R^{BA}\,R^{AB}\right) = \dot{R}^{BA}\,R^{AB} + R^{BA}\,\dot{R}^{AB} = 0 $$

Solving for $\dot{R}^{BA}$ gives

$$ \dot{R}^{BA} = -R^{BA}\,\dot{R}^{AB}\,R^{BA}. $$

Substituting in the two previously derived expressions for $\dot{R}^{AB}$ gives

$$ \begin{align} \dot{R}^{BA} &= -R^{BA}\,R^{AB}\,^{BA}\vec{\omega}^B_\times\,R^{BA} = -^{BA}\vec{\omega}^B_\times\,R^{BA} = ^{AB}\vec{\omega}^B_\times\,R^{BA} \\ &= -R^{BA}\,^{BA}\vec{\omega}^A_\times\,R^{AB}\,R^{BA} = -R^{BA}\,^{BA}\vec{\omega}^A_\times = R^{BA}\,^{AB}\vec{\omega}^A_\times. \end{align} $$

It can also be noted that if you have the rotation matrix $R^{AB}$ then it is only meaningful to pre-multiply it with things which are expressed in frame $A$ and post-multiply it with things which are expressed in frame $B$ (so basically the closest letter in the subscript of the rotation matrix). That is also why I used the notation of the rotation matrix with letters of the reference frames in its subscript, because it makes it easier to keep track of this.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .