Homogenous Co-ordinates

Six degrees of Freedom

• Translation - add $$T=[y_1,y_2,y_3]$$
• Rotation - multiply by $$R=\exp(\hat{[\omega_1,\omega_2,\omega_3]})$$
• $$x\mapsto xR+T$$ is affine, not linear

Points in Homogenous Co-ordinates

• Point $$\textbf{X}=[X_1,X_2,X_3]^\mathrm{T}\in\mathbb{R}^3$$
• Embed in $$\mathbb{R}^4$$ as $$\mathbf{\tilde X}=[X_1,X_2,X_3,1]^\mathrm{T}\in\mathbb{R}^4$$
• Vector $$\vec{pq}$$ is represented as $\mathbf{\tilde X}(q)-\mathbf{\tilde X}(p) = \begin{bmatrix} \mathbf{ X}(q) \\ 1 \end{bmatrix} - \begin{bmatrix} \mathbf{ X}(p) \\ 1 \end{bmatrix} = \begin{bmatrix} \mathbf{X}(q) - \mathbf{X}(p) \\ 0 \end{bmatrix}$
• In homogenous co-ordinates,
• points have 1 in last position
• vectors have 0 in last position
• Arithmetics
• Point + Point is undefined
• Vector + Vector is a Vector
• Point + Vector is a Point

Rotation

Let $$R$$ be a $$3\times3$$ rotation matrix.

$R\cdot\vec{x}= R \cdot \begin{bmatrix} x\\y\\z \end{bmatrix} = \begin{bmatrix} x'\\y'\\z' \end{bmatrix}$

$\begin{bmatrix} R & 0 \\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x\\y\\z\\1 \end{bmatrix} = \begin{bmatrix} x'\\y'\\z'\\1 \end{bmatrix}$

Arbitrary motion

What happens if we change some of the zeroes?

$\begin{bmatrix} R & \vec{t} \\ 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} x\\y\\z\\1 \end{bmatrix} = \begin{bmatrix} x'\\y'\\z'\\0 \end{bmatrix} + \begin{bmatrix} \vec{t}\\1 \end{bmatrix} =R\vec{x}+\vec{t}$

We have rotated and translated!

Motion as a function of time

$g = \begin{bmatrix} R & T\\ 0 & 1 \end{bmatrix} \in \mathrm{SE}(3)$

• This is a group

$g_1\cdot g_2 = \begin{bmatrix} R_1 & T_1\\ 0 & 1 \end{bmatrix}\cdot \begin{bmatrix} R_2 & T_2\\ 0 & 1 \end{bmatrix} = \begin{bmatrix} R_1R_2 & R_1T_2+T_1\\ 0 & 1 \end{bmatrix} \in \mathrm{SE}(3)$

$g^{-1} = \begin{bmatrix} R & T\\ 0 & 1 \end{bmatrix}^{-1} = \begin{bmatrix} R^T & -R^TT\\ 0 & 1 \end{bmatrix}$

Canonical Exponential Co-ordinates

1. A homogeneous motion matrix $g(t) = \begin{bmatrix} R(t) & T(t)\\ 0 & 1 \end{bmatrix}$
2. We can differentiate, invert, and multiply to get $\dot g(t)\cdot g^{-1}(t) = \begin{bmatrix} \dot R(t) R^T(t) & \dot T(t)- \dot R(t)R^T(t)T(t) \\ 0 & 0 \end{bmatrix} \in\mathbb{R}^{4\times4}$
3. $$\dot R(t) R^T(t)$$ is skew-symmetric, hence $\dot g(t)\cdot g^{-1}(t) = \begin{bmatrix} \hat\omega & \dot T(t)- \dot R(t)R^T(t)T(t) \\ 0 & 0 \end{bmatrix}$ for some $$\omega\in\mathrm{so}(3)$$
• This can be seen by differentiation $$R(t)R^TR(t)=I$$
4. Write \begin{align} \dot v(t)= \dot T(t)- \hat\omega(t)T(t) \\ \dot g(t)\cdot g^{-1}(t) = \begin{bmatrix} \hat\omega & \dot v(t) \\ 0 & 0 \end{bmatrix} \end{align}
5. Call this matrix $$\hat\xi(t)$$
6. This give the differential equation $\dot g(t) = (\dot g(t) g^{-1}(t))g(t)$
7. If $$\hat\xi$$ is constant, we can integrate to solve the ODE $g(t) = e^{\hat\xi t}g(0)$
• $$v(t)$$ is linear velocity
• $$\omega(t)$$ as angular velocity