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.