In the rigid body dynamics algorithm book (Featherstone et al.) it claims
We start with a rigid body, $B$, and choose a fixed point, $O$, which can be located anywhere in space. (See Figure 2.1(a).) Given $O$, the velocity of $B$ can be specified by a pair of 3D vectors: the linear velocity, $v_O$, of the body-fixed point that currently coincides with $O$, and an angular velocity vector, $\omega$. The body as a whole can then be regarded as translating with a linear velocity of $v_O$, while simultaneously rotating with an angular velocity of $\omega$ about an axis passing through $O$. From this description, we can calculate the velocity of any other point in the body using the formula $$v_p = v_O + \omega \times \vec{OP}$$ where $P$ is the point of interest, $v_P$ is the velocity of the body-fixed point currently at P, and $\vec{OP}$ gives the position of $P$ relative to $O$.
A few things I am confused with is
- What is $v_O$, from the description it seems like $v_O$ is not the same as the linear velocity of the body frame in the world frame.
- $\omega$ is described as the angular velocity about an axis passing through $O$, so it seems like $\omega$ is neither the body nor the spatial angular velocity, but something different.
I do not understand how to derive this result, can someone help me with this?
Thanks in advance!