Rotational Motion: Linear Velocity vs Angular Velocity

First consider the simple case of a particle in 2D.





The point is moving in a circular moition at radius  \(r\), with position given by the angular displacement \(\theta (t)\) from the x-axis.

The orbital angular velocity is the rate of change of angle with respect to time: \(\omega =\frac {d\theta }{dt}\).

If \(\theta\) is measured in radians, by definition the arc-length from the positive x-axis around the circle to the particle is \(s =r\theta \).

It follows that the linear velocity is:
\[v(t)=\frac {ds }{dt}=r\omega (t)\]
and\[\omega =\frac {v}{r}\].

You can see from the above relationship that even if \(\omega\) is constant, \(v\) will differ based on \(r\). If you refer to points p1 and p2 on the diagram above, this should intuitively make sense - p1 which is further away from the centre you would expect to be moving faster than p2, which is close to the centre.

In otherwords, if a body is rotating, the speed at a particular point would be different from the speed at another point. On the otherhand if the body is not rotating, the velocity at any point on the body would be the same. 

When dealing with rotating objects it is important therefore to be aware of what velocity we are dealing with. Practically speaking we need to know the distance from the centre of mass, which is typically denoted by \(r\) which is a vector from the center of mass (COM) to the particular point on an object. \(r\) is often referred to as the "radius" of the point. Every single unique point on an object will have a different \(r\).

'Direction' of angular velocity


In the case of the diagram above, if dθ is positive, i.e. angular displacement is anti-clockwise, ω is positive.

Imagine that we are working the real world of 3D, and you are looking at the "disc" from "above. The disc would be rotating counterclockwise. However, now image looking at the disc from "below" - the disc is now spinning clockwise!


If working in 3D it is critical to be precise about the "direction" of rotation, and sometimes it is helpful even when working exclusively working in 2D, to define the rotation in terms of vectors that represent the "axis of rotation".

Referring to the "3D" diagram above, would be defined as a vector in the positive upward z-direction with magnitude of ω. The direction would be determined by the right-hand rule (stick your thumb in the direction of the axis of rotation and "curl" your fingers - the curled fingers point in the direction of rotation).

Vector cross product version


In 2D ω is most certainly only expressed as a scalar. So how do we end up with a velocity with direction? We can start by expressing both ω and r as a 3D vectors:
  • ω: zeros for the x and y components, and z=ω. Now we have two vectors.
  • r: z-component set to zero
\[\begin{pmatrix}0 \\0 \\\omega\end{pmatrix}\times\begin{pmatrix}r_x \\r_y \\0\end{pmatrix}=\begin{pmatrix}-\omega r_y \\\omega r_x\\0\end{pmatrix}=\omega\begin{pmatrix}-r_y \\r_x \\0\end{pmatrix}\]

This is the basis for the following "hack" used to return the velocity vector facing the correct direction, as per Chris Hecker:
\[v=\omega r_{\perp}\]
where the subscript upside down T is the perpendicular operator (not to be confused with the superscript T which represents transpose of matrix!), that turns r and rotates it counterclockwise by 90 degrees (in a right-handed coordinate system).

Cross product matrix version


In some tutorials, the above formula is expressed in terms of cross product matrix as follows:
\[\omega\times r=\left[ r \right]_{\times}^T\omega=\begin{bmatrix} 0 &0  &-r_y  \\ 0 &0  &r_x  \\ r_y &r_x  & 0 \end{bmatrix} \begin{bmatrix} 0 \\ 0 \\ \omega \end{bmatrix} = \begin{bmatrix} -r_y\omega \\ r_x\omega \\ 0 \end{bmatrix}=\begin{bmatrix} -r_y \\ r_x \end{bmatrix}\omega=R_s\omega\]
where:
\([]_{\times}\) is the operator which turns a vector into its anti-symmetric (or skew-symmetric) matrix
\(R_s\) is referring to the "anti-symmetric matrix" or "cross product matrix" of r.

Linear Velocity of a specific point of a rotating body with translational motion


As stated above, the velocity of a particular point of a body depends on the radius from the centre of mass. What of bodies that are simultaneously rotating and translating at the same time?

Chris Hecker in his article here, explains that the Chasles' Theorem can be used to break up the motion into linear and angular components and come up with the following equation which gives the linear velocity of a point of a body that is rotating and translating at the same time.
\[v_p=v_o+\omega r_{\perp}\]

Delving into the maths


Consider the following (the diagram is 3D but the maths is the same for 2D)

The center of mass is transformed to the point \(x(t)\) in world space, at time \(t\).

The fixed x, y, and z axes of the body in body space (ie the basis vectors in local space) transform to the vectors \(x^{'} = R(t)_x, y^{'} = R(t)_y\) and \(z^{'} = R(t)_z\) in world space, where \(R\) is the rotation matrix.

The position of point p at time t is given by:
\[p(t)=R(t)p_o+x(t)\]
where \(p_o\) is points p in object (=local) space.

It follows that the velocity of point p is the derivative of the above.
\[\dot{p}=\dot{R}(t)p_o+v\]
\(\dot(R)(t)\) is of course the angular velocity but how do we perform a derivative on it? The following is the method explained in this video here, which uses the property of the rotation matrix, as follows.
\[R^TR=I\]
Since I is a constant, we can say that:
\[\delta{(R^TR)}=0\] 
By using the product rule we can also say that:
\[\delta (R^TR)=\delta(R^T)R+R^T\delta(R)=\dot{R}^T R+R^T\dot{R}\] (the latter expression simply restating using dot notation)
From the above 2 expressions, we can say that:
\[\dot{R}^TR+R^T\dot{R}=0\]
and by making use of the identity \((AB)^T=B^TA^T\),
\[R^T\dot{R}=-\dot{R}^TR=-(R^T\dot{R})^T\]
Note that the first part of the above is the same as the term within the brackets of the last expression, ie the minus of the matrix is equal to its transpose. This is the property of a anti-symmetrix matrix (\(-A=A^T\)).
Specifically, the 3x3 matrix would look like below (ignore for the moment what the actual elements are)
\[R^T\dot{R}=\begin{pmatrix} 0 & -\omega_z^o &\omega_y  \\ \omega_z^o &0  &-\omega_x^o  \\ -\omega_y^o &\omega_x^o  &0  \end{pmatrix}  \]
By its very nature, the above only has 3 degrees of freedom and can be expressed as a 3D vector (as we have already seen, the \([]_{\times x}\) is the operator that converts a 3D vector \(\omega^o=(\omega_x^o\,\omega_y^o\,\omega_z^o)\) into a 3x3 skew symmetric matrix. 
\[R^T\dot{R}=\begin{pmatrix} 0 & -\omega_z^o &\omega_y  \\ \omega_z^o &0  &-\omega_x^o  \\ -\omega_y^o &\omega_x^o  &0  \end{pmatrix}  =[w^o]_{\times}\]
Multiplying both sides of the equation \(R^T\dot{R}=[\omega^o]_{\times}\) by \(R\), gives:
\[\dot{R}=R[\omega^o]_{\times}\]
Replacing \(\dot{R}\) in the velocity equation earlier on, and noting that multiplying the skew-symmetric matrix of a vector with another vector is the same as the cross product, ie \([a]_{\times}b=a\times b\), we can say that:
\[\dot{p}=\dot{R}(t)p_o+v=R[\omega^o]_{\times}p_o+v=R(\omega^o\times p_o)+v\]
where \(\omega^o\) is the angular velocity of the body with the axis of rotation through the centre of mass in local space.

A more useful form is to express the axis of rotataion in world space. This can be done by using a nifty trick of sticking in \(R^T R\) (which is the identify)the above expression as follows:
\[\dot{p}=R[\omega ^o]_{\times}R^T R\, p_o+v\]
Taking a look at \(R[\omega ^o]_{\times}R^T\), note the following identify, by taking its transpose (\(omega^o\) is a skew-symmetric matrix so its transpose is equivalent to multiplying by minus 1):
\[(R[\omega ^o]_{\times}R^T)^T=R[\omega ^o]_{\times}^T R^T=-R[\omega ^o]_{\times}R^T\]
In otherwords, \(R[\omega ^o]_{\times}R^T\) is also a skew-symmetric matrix.
Which means that the entire thing can be written as a cross product matrix of a vector \(\omega\) - a different \(\omega\) from \(\omega^o\) 
\[R[\omega ^o]_{\times}R^T=[\omega]_{\times}\]
Noting that \(R\,p_o=p\), the velocity equation can be written as:
\[\dot{p}=R[\omega ^o]_{\times}R^T R\, p_o+v=[\omega]_{\times}p+v=\omega\times p+v\]



0 件のコメント:

コメントを投稿

Numerical Integration: 2nd and 4th order Runge-Kutta schemes

Second-order Runge-Kutta scheme (RK2) There are several variations of the second order Runge-Kutta schemes of numerical integration. They ar...