# Rigid Body Motion

The following are the key concepts covered in this chapter:

1. Rotational motion of a rigid body is represented by an element of the special orthogonal group
<amsmath>

SO(3) = \{ R \in {\mathbb R}^{3 \times 3} \mid R^T R = I, \det R = 1 \}.

</amsmath>

Other parameterizations of SO(3) include fixed and Euler angle sets, and unit quaternions.

2. The configuration of a rigid body is represented as an element <amsmath>g \in \text{SE}(3)</amsmath>. An element <amsmath>g \in \text{SE}(3)</amsmath> may also be viewed as a mapping <amsmath>g:{\mathbb R}^3 \to {\mathbb R}^3</amsmath> which preserves distances and angles between points. In homogeneous coordinates, we write
<amsmath>
 g = \begin{bmatrix} R & p \\ 0 & 1 \end{bmatrix} \qquad
\aligned
R &\in SO(3) \\
p &\in {\mathbb R}^3.
\endaligned

</amsmath>

The same representation can also be used for a rigid body transformation between two coordinate frames.

3. Rigid body transformations can be represented as the exponentials of twists:
<amsmath>
 g = \exp(\widehat{\xi} \theta) \qquad
\widehat{\xi} = \begin{bmatrix} \widehat{\omega} & v \\ 0 & 0 \end{bmatrix}, \quad
\aligned
\widehat{\omega} &\in so(3), \\
v &\in {\mathbb R}^3, \theta \in {\mathbb R}.
\endaligned

</amsmath>

The twist coordinates of <amsmath>\widehat{\xi}</amsmath> are <amsmath>\xi = (v,\omega) \in {\mathbb R}^6</amsmath>.

4. A twist <amsmath>\xi = (v, \omega)</amsmath> is associated with a screw motion having attributes
<amsmath>
 \alignedat 2
&\text{pitch:} &\qquad h &= \frac{\omega^T v}{\|\omega\|^2}; \\
l &= \begin{cases}
\{ \frac{\omega\times v}{\|\omega\|^2} + \lambda\omega:


\lambda \in{\mathbb R} \}, &\text{if $\omega\neq0$} \\ \{ 0 + \lambda v:\lambda \in {\mathbb R} \}, &\text{if $\omega=0$};

     \end{cases} \\
M &= \begin{cases}
\|\omega\|, &\text{if $\omega\neq0$} \\
\| v \|, &\text{if $\omega = 0$}.
\end{cases}
\endalignedat

</amsmath>

Conversely, given a screw we can write the associated twist. Two special cases are pure rotation about an axis <amsmath>l = \{q + \lambda \omega\}</amsmath> by an amount <amsmath>\theta</amsmath> and pure translation along an axis <amsmath>l = \{0 + \lambda v\}</amsmath>:

<amsmath>
 \xi = \begin{bmatrix} -\omega\times q \\ \omega \end{bmatrix} \theta
\xi = \begin{bmatrix} v \\ 0 \end{bmatrix} \theta

</amsmath>
5. The velocity of a rigid motion <amsmath>g(t) \in \text{SE}(3)</amsmath> can be specified in two ways. The spatial velocity,
<amsmath>
 \widehat{V}^s = \dot g g^{-1},

</amsmath>

is a twist which gives the velocity of the rigid body as measured by an observer at the origin of the reference frame. The body velocity,

<amsmath>
 \widehat{V}^b = g^{-1} \dot g,

</amsmath>

is the velocity of the object in the instantaneous body frame. These velocities are related by the adjoint transformation

<amsmath>
 V^s = \operatorname{Ad}_g V^b \qquad
\operatorname{Ad}_g = \begin{bmatrix} R & \widehat{p}R \\ 0 & R \end{bmatrix},

</amsmath>

which maps <amsmath>{\mathbb R}^6 \to {\mathbb R}^6</amsmath>. To transform velocities between coordinate frames, we use the relations

<amsmath>
 \aligned
V_{ac}^s &= V_{ab}^s + \operatorname{Ad}_{g_{ab}} V_{bc}^s \\
V_{ac}^b &= \operatorname{Ad}_{g_{bc}^{-1}} V_{ab}^b + V_{bc}^b,
\endaligned

</amsmath>

where <amsmath>V_{ab}^s</amsmath> is the spatial velocity of coordinate frame <amsmath>B</amsmath> relative to frame <amsmath>A</amsmath> and <amsmath>V_{ab}^b</amsmath> is the body velocity.

6. Wrenches are represented as a force, moment pair
<amsmath>
 F = (f, \tau) \in {\mathbb R}^6.

</amsmath>

If <amsmath>B</amsmath> is a coordinate frame attached to a rigid body, then we write <amsmath>F_b = (f_b, \tau_b)</amsmath> for a wrench applied at the origin of <amsmath>B</amsmath>, with <amsmath>f_b</amsmath> and <amsmath>\tau_b</amsmath> specified with respect to the <amsmath>B</amsmath> coordinate frame. If <amsmath>C</amsmath> is a second coordinate frame, then we can write <amsmath>F_b</amsmath> as an equivalent wrench applied at <amsmath>C</amsmath>:

<amsmath>
 F_c = \operatorname{Ad}_{g_{bc}}^T F_b.

</amsmath>

For a rigid body with configuration <amsmath>g_{ab}</amsmath>, <amsmath>F^s := F_a</amsmath> is called the spatial wrench and <amsmath>F^b := F_b</amsmath> is called the body wrench.

7. A wrench <amsmath>F = (f, \tau)</amsmath> is associated with a screw having attributes
<amsmath>
 \alignedat 2
&\text{pitch:} &\qquad h &= \frac{f^T \tau}{\|f\|^2}; \\
l &= \begin{cases}
\{ \frac{f\times \tau}{\|f\|^2} + \lambda f:


\lambda \in{\mathbb R} \}, &\text{if $f\neq0$} \\ \{ 0 + \lambda \tau:\lambda \in {\mathbb R} \}, &\text{if $f=0$};

     \end{cases} \\
M &= \begin{cases}
\|f\|, &\text{if $f\neq0$} \\
\| \tau \|, &\text{if $f = 0$}.
\end{cases}
\endalignedat

</amsmath>

Conversely, given a screw we can write the associated wrench.

8. A wrench <amsmath>F</amsmath> and a twist <amsmath>V</amsmath> are reciprocal if <amsmath>F \cdot V = 0</amsmath>. Two screws <amsmath>S_1</amsmath> and <amsmath>S_2</amsmath> are reciprocal if the twist <amsmath>V_1</amsmath> about <amsmath>S_1</amsmath> and the wrench <amsmath>F_2</amsmath> along <amsmath>S_2</amsmath> are reciprocal. The reciprocal product between two screws is given by
<amsmath>
 S_1 \odot S_2 = V_1 \cdot F_2 = V_1 \odot V_2 = v_1 \cdot \omega_2
+ v_2^T \omega_1

</amsmath>

where <amsmath>V_i = (v_i, \omega_i)</amsmath> represents the twist associated with the screw <amsmath>S_i</amsmath>. Two screws are reciprocal if the reciprocal product between the screws is zero.

9. A system of screws <amsmath>\{S_1, \dots, S_k\}</amsmath> describes the vector space of all linear combinations of the screws <amsmath>\{S_1, \dots, S_k\}</amsmath>. A reciprocal screw system is the set of all screws which are reciprocal to <amsmath>S_i</amsmath>. The dimensions of a screw system and its reciprocal system sum to 6 (in <amsmath>se(3)</amsmath>).