# Relation between rotation matrix and angular velocity

**EDIT 4: Here is a tutorial article, where the description of the problem and the derivation of the results are presented in detail.**

**EDIT 3: Mar 20, 2012: please look at this, this is the final and the best version
**

****************************************************************

**Problem**: There are two frames A and B. The rotation transformation from B to A is . Compute the time derivative of the rotation matrix .

**Assumption**: The origins of A and B collocate

**Clarification**: We denote the angular velocity of B relative to A as . (i.e., **assume A is static and B is rotating**). The vector can further be expressed in frame A or frame B as and , respectively.

**Basic Result**:

**Proof**: Let be a point fixed in frame B. Then

(eq.1)

Recall . Taking derivative on both sides gives

On the other hand, we have

(eq.2)

Combining the above two equations gives

Since P is chosen arbitrarily, the above equation holds for all P_B. We have

**List of all the results**: Note and ,. It can be easily implied from the basic result that

**PS**: The identity can be proved based on the fact which can be found in wiki. Consider an arbitrary vector x, then and hence . Since x is arbitrary, we have and hence .

**2D case:** In case one is interested in the 2D case, here is a document: 2D roation angular velocity

**Remark**:

(a) if the assumption is not satisfied, we can move the frame A to the origin of B, then we get an intermediate frame A’. Then the should be replaced by . Since , we still have the result.

(b) note: if the assumption is not satisfied, equation (1) and (2) don’t hold.

(c)* don’t try to use limit (i.e. the definition of derivative) or Rodrigues’ formula to prove*, they can’t explain it well and you would not understand which frame the angular velocity is in. In the above method, the frame where the angular velocity expressed can be observed from eq. (2).

************************************************************************************************

**EDIT 2: Totally understand! about the angular rate and rotation transformation between the body frame and navigation f rame. Look at this angular rate and roation matrix in Navigation** Nov 1, 2011

**EDIT: you should look at this. It is better. angular rate and rotation matrix**

Rotate a vector around the axis a angle . Then the correspoding rotation matrix is

where is the skew-symmetric matrix associating . Furthermore, the exponential can be computed using **Rodrigues’ formula**:

.

See Ma Yi Chapter 2, Page 25.

Today, I am more interested the differential or derivative of a rotation matrix.

## 1. Angular velocity

Angular velocity is a vector, whose direction denotes the rotation direction and magnitude denotes the rotation velocity (rad/s).

## 2. Rotate a particle

Given a angular velocity (direction and velocity), is an arbitrary vector. see the figure below. Then

This is where cross product and skew-symmetric matrices come from. Note need not be perpendicular to . Instead all vectors in obey the above equation. Because , the above equation can be written as

Since can be arbitrary, we have

Note only when is constant, integrating the above equation gives

with .

## Summary:

- Given a rotation axis and a rotation angle, we can get the corrspoding rotation matrix. Canonical exponential representation and Rodrigues’s formula.
- Angular velocity is a vector. It can be interpreted as a direction and a rotating speed. Or it can also be interpreted as three rotating speed around three coordinate axes.
- Given a time variant angular velocity, how to get the derivative of a rotation matrix?
- When angular velocity is constant, we can get the exponential representation of a rotation matrix from its differential or derivative equation.

Very simple but noble proof!!!

one comment: In the eq.2 I think ‘Pa = (‘Pa)b + Wa x Pa = 0 + Wa x Pa = Wa x Pa

where the notation (‘ )b means that the differentiation is performed as the B coordinates is not rotating.

This post was very helpful, thank you. I do however have one question:

Where does the [Rw]_X = R [w]_X R^T come from?

Can I ask you a question: Could you explain more clearly in this section?

Since r(t_0) can be arbitrary, we have

\dot{R}(t)=\Omega(t)R(t)

Note only when \omega(t) is constant, integrating the above equation gives

R(t)=e^{\Omega t}

with R(t_0=0)=I.