Rigid Body Motion

From MLSwiki
Revision as of 02:53, 22 July 2009 by Murray (talk | contribs)
Jump to navigationJump to search

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}; \\
       &\text{axis:} &\qquad
         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} \\
       &\text{magnitude:} &\qquad
         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
       \quad\!\text{(pure rotation)} 
     \qquad
     \xi = \begin{bmatrix} v \\ 0 \end{bmatrix} \theta 
       \quad\!\text{(pure translation)}.
    
    </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}; \\
       &\text{axis:} &\qquad
         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} \\
       &\text{magnitude:} &\qquad
         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>).