Representations of 3D Motion

Representation of Rotations

So far we have thought of motion as a discrete event. An object had some position and orientation, and then suddenly, by application of a transformation \((R,T)\) is has a different position and orientation.

When objects move in the real world, motion is continuous. Position and orientation are functions of time, and the object cannot skip in space/time. It has to pass through every intermediate state.

How can we describe this continuous motion, particularly the the rotational matrix as a function \(R(t)\) of time?

Well, we have to go back to first-year calculus, because calculus is the study of continuous behaviour.

The derivative

  1. Rotation is represented by an orthogonal matrix \(R\) \[R(t)\cdot R^T(t)=I\]
  2. Implicit derivation \[\dot R(t)\cdot R^T(t)+R(t)\cdot\dot R^T(t)=0\]
  3. by transposing the product and moving one term across, we have \[\dot R(t)\cdot R^T(t) = -(\dot R(t)\cdot R^T(t))^T\]
  4. This is a skew-symmetric matrix, hence \[\exists \vec{\omega}\in\mathbb{R}^3, \text{s.t.} \dot R(t)\cdot R^T(t) = \hat\omega(t)\]
  5. Multiply by \(R(t)\) to get \[\dot R(t) = \hat\omega(t)\cdot R(t)\]
  6. If \(R(t_0)=I\) as an initial condition, then \(\dot R(t)=\hat\omega(t)\)

Note \(so(3)\) is the space of all skew-symmetric matrices.

The differential equation

Let \(x(t)\) be a point rotated over time.

Assume that \(\omega\) is constant.

  1. ODE: \[\dot x(t) = \hat\omega x(t), \quad x(t)\in\mathbb{R}^3\]
  2. Solution: \[x(t) = e^{\hat\omega t} x(0)\]
  3. where \[e^{\hat\omega t} = I + \sum_{i=1}^\infty \frac{(\hat\omega )^i}{i!}\]
  4. The rotational matrix \[R(t)=e^{\hat\omega t}\] signifies a rotation around the axis \(\omega\) by \(t\) radians.

\[ \begin{align} \exp : \mathrm{so}(3)&\to\mathrm{SO}(3) \\ \hat\omega& \mapsto e^{\hat\omega} \end{align}\]

This is a map from a Lie algebra to a Lie group.

  • For any \(R\), such an \(\hat\omega\) can be found
    • not necessarily unique.
  • \(\hat\omega\) is the axis of rotation
  • Note Only three degrees of freedom; since \(\hat\omega\) is a 3D vector
    • a scalar factor can be applied to \(t\) (change of unit) or to \(\hat\omega\)
    • useful to normalise \(\hat\omega\) to unit norm
  • Rotation is obviously periodic.
    • A rotation by \(2\pi\) is back to start.

Logarithm

Theorem 2.8 page 27 in the textbook

\[ R = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{bmatrix} = \exp(\hat\omega) \] where \[ \DeclareMathOperator{\tr}{trace} ||\omega|| = \cos^{-1}\big(\frac{\tr(R)-1}2\big) \] and

\[ \frac{\omega}{||\omega||} = \frac1{2\sin(||\omega||)} \begin{bmatrix} r_{32}-r_{23}\\ r_{13}-r_{31}\\ r_{21}-r_{12} \end{bmatrix} \]