# MEMS gyro measured angular velocity vector

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

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

• 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 ... ? Commented Dec 1, 2017 at 22:56