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
- Rotation is represented by an orthogonal matrix \(R\) \[R(t)\cdot R^T(t)=I\]
- Implicit derivation \[\dot R(t)\cdot R^T(t)+R(t)\cdot\dot R^T(t)=0\]
- 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\]
- 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)\]
- Multiply by \(R(t)\) to get \[\dot R(t) = \hat\omega(t)\cdot R(t)\]
- 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.
- ODE: \[\dot x(t) = \hat\omega x(t), \quad x(t)\in\mathbb{R}^3\]
- Solution: \[x(t) = e^{\hat\omega t} x(0)\]
- where \[e^{\hat\omega t} = I + \sum_{i=1}^\infty \frac{(\hat\omega )^i}{i!}\]
- 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} \]