1
$\begingroup$

Notations I use:

Consider a world frame $\{O_0, \vec{i}_0, \vec{j}_0, \vec{k}_0\}$ coordinate system and a rigid body $B$ with a coordinate system $\{O_1, \vec{i}_1, \vec{j}_1, \vec{k}_1\}$ attached to its center of mass $O_1$. Suppose $$\begin{bmatrix} \vec{i}_1\\ \vec{j}_1\\ \vec{k}_1\end{bmatrix} = R(\theta, \chi,\phi) \begin{bmatrix} \vec{i}_0\\ \vec{j}_0\\ \vec{k}_0\end{bmatrix} $$ Then for a point $P_1 \in B$ one has: $$ \overrightarrow{O_1 P_1} = \begin{bmatrix} x_1 &y_1 &z_1 \end{bmatrix} \cdot \begin{bmatrix} \vec{i}_1\\ \vec{j}_1 \\ \vec{k}_1\end{bmatrix} = \begin{bmatrix} x_1 &y_1 &z_1 \end{bmatrix} R(\theta,\chi, \psi) \begin{bmatrix} \vec{i}_0\\ \vec{j}_0 \\ \vec{k}_0\end{bmatrix} \\ \begin{bmatrix} x_0 &y_0 &z_0 \end{bmatrix} \begin{bmatrix} \vec{i}_0\\ \vec{j}_0 \\ \vec{k}_0\end{bmatrix} $$ therefore

$$\begin{bmatrix} x_0\\ y_0 \\ z_0\end{bmatrix} = R^T(\theta, \chi, \phi) \begin{bmatrix} x_1\\ y_1 \\ z_1\end{bmatrix} $$


Problem statement:

It is known that $$ \dot{R}^T = [\omega] \cdot R^T$$ where $[\omega]$ is the skew-symmetric form of the angular velocity vector $\vec{\omega}$, in world coordinate system.

I am using a MEMS gyroscope to measure orientation, and according to this I think the output of the gyro (assuming a $3$ axis sensor) is the vector $\vec{\omega}$, BUT in body coordinate system ... Is this right? Then what I am actually measuring is $\vec{\omega}_B = R^T \vec{\omega}$ ...

Further more if I want to use DCM algorithm to get the rotation matrix then using the fact that $[R^T \omega] = R^T [\omega] R$ we get $$ \dot{R}^T = - R^T [\omega] = - R^T[\omega] R R^T = -[R^T \omega] R^T = -[\omega_B] R^T$$ where $\omega_B$ is the output of the MEMS gyro ... Is this correct?


Is seems, as suggested in the answer below, that actually $ \omega = R^T \omega_B$ hence the differential equation for $R$ is

$$ \dot{R}^T = [R^T\omega_B] R^T = R^T [\omega_B]$$

$\endgroup$

1 Answer 1

1
$\begingroup$

Further more if I want to use DCM algorithm to get the rotation matrix then using the fact that $[R^T \omega] = R^T [\omega] R$ we get $$ \dot{R}^T = - R^T [\omega] = - R^T[\omega] R R^T = -[R^T \omega] R^T = -[\omega_B] R^T$$ where $\omega_B$ is the output of the MEMS gyro ... Is this correct?

No, this is not correct.

Things start going awry here:

Then what I am actually measuring is $\vec \omega_B = R^T \vec \omega$.

The problem here is that your matrix $R$ transforms world coordinates to body coordinates and hence $R^T$ transforms body coordinates to world coordinates. What you are actually measuring is $\vec \omega_B = R \vec \omega$ rather than $R^T \vec\omega$.

This is correct:

It is known that $$ \dot{R}^T = [\omega] \cdot R^T$$ where $[\omega]$ is the skew-symmetric form of the angular velocity vector $\vec{\omega}$, in world coordinate system.

Combining the above with $[\omega] = [R^T \omega_B] = R^T [\omega_B] R$ yields $$ \dot R^T = R^T [\omega_B]$$

$\endgroup$
1
  • $\begingroup$ Thank you very much for your answer sir: it seems that I forgot that $\omega = R^T \omega_B$ hence ... then indeed $\dot{R} = [R^T \omega_B] R^T = R^T[\omega_B] R R^T = R^T [\omega_B]$ Thank you for pointing that out!!! What should I do now ... accepting your answer and then updating the post ... ? $\endgroup$
    – C Marius
    Commented Dec 1, 2017 at 22:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.