Interpolation
Lie Group Interpolation
The typical linear interpolation scheme:
will not work on \(SO(3)\) and \(SE(3)\) because this interpolation scheme does not satisfy closure (i.e., the result is no longer in the group):
for some values of \(\alpha \in \left[0, 1 \right]\), \(\mathbf{R}_1, \mathbf{R}_2 \in SO(3)\) and \(\mathbf{T}_1, \mathbf{T}_2 \in SE(3)\).s
Rotation Interpolation
One of the interpolations schemes is:
where \(\mathbf{R}, \mathbf{R}_1, \mathbf{R}_2 \in SO(3)\). We see that when \(\alpha = 0\), we have \(\mathbf{R} = \mathbf{R}_1\), and \(\mathbf{R} = \mathbf{R}_2\) when \(\alpha = 1\). With this definition, we can guarantee close, i.e., \(\mathbf{R} \in SO(3)\) for all \(\alpha \in \left[0, 1 \right]\).
Proof. Let \(\mathbf{R}_{21} = \mathbf{R}_2 \mathbf{R}^T_1 = \exp (\left[ \boldsymbol{\rho} \right]_\times)\). Then, we have:
One way to interepret the interpolation scheme is that it enforces a constant angular velocity, \(\boldsymbol{\omega}\). If the rotation matrix is a function of time, \(\mathbf{R}(t)\), then the scheme is:
Defining the constant angular velocity as:
we get:
which is the solution to the Poisson's equation: