Given:
- a sequence ${A_i}_{i=1}^n$ of elements of the special Euclidean group, $SE(3)$;
- a sequence of times ${t_i}_{i=1}^n$, where $t_1 \leq t_2 \leq ... \leq t_n$;
- instantaneous body frame velocity given by a twist $v\in se(3)$ at time $t_1$
- instantaneous body frame acceleration $\alpha$ at time $t_1$
I would like to find an interpolating curve $f(t) \in SE(3)$ that is twice differentiable such that $f(t_i) = A_i$ and $f'(t_1) = v$ and $f''(t_1) = \alpha$.
One approach, as suggested by [1], is:
- Compute $\xi_1, ..., \xi_n \in se(3)$ where $\xi_i = \log(A_1^{-1} A_i)$.
- Compute an interpolating curve (e.g. using a B-spline) $\gamma(t)$ in Euclidean space $\mathbb R^6$ such that $\gamma(t_i) = \xi_i$.
Then, the interpolating curve is $f(t) = A_1 \exp(\gamma(t))$.
Unfortunately, this doesn't work well in most places except for a small neighbourhood around $A_1$, because $\exp$ i s a surjective map from $se(3)$ to $SE(3)$. For example, if we interpret the angular part of $\xi$ as an axis-angle representation in $so(3)$, you can flip the sign on the axis and replace the angle $\theta$ with $2\pi - \theta$ and it would represent the same element in $SO(3)$. As a consequence, if some elements $A_i$, $A_{i+1}$ happen to be close together in $SE(3)$ but cross over the $\pi$ threshold, $\xi_i$ and $\xi_{i+1}$ may not be close together in $\mathbb R^6$ and the interpolating curve may take an additional rotation than what would be "natural".
An alternative is to interpolate separately in rotation and translation. However, most rotation formalisms fail in some case. For example, Gibbs vectors (used by [2]) suffer from the drawback that $180^\circ$ rotations cannot be represented. Quaternions (used by [3]) also have a sign ambiguity, so two elements close together in $SO(3)$ are also not guaranteed to be close in quaternion space. Also, an interpolating function in $\mathbb R^4$ may not be normalized in general, and may become singular if it passes through zero (though it is unlikely). I have no idea how the authors in the cited papers overcome these issues.
Besides, using the exponential map is most natural when dealing with nonlinear optimization on the manifold, since the derivatives are easy to compute.
Some help and insights for tackling this problem or working around the drawbacks would be appreciated.
[1] Žefran, M., & Kumar, V. (1998). Interpolation schemes for rigid body motions. Computer-Aided Design, 30(3), 179-189
[2] Alismail, H., Baker, L. D., & Browning, B. (2014, May). Continuous trajectory estimation for 3D SLAM from actuated lidar. In 2014 IEEE International Conference on Robotics and Automation (ICRA) (pp. 6096-6101). IEEE.
[3] Zlot, R., & Bosse, M. (2014). Efficient Large‐scale Three‐dimensional Mobile Mapping for Underground Mines. Journal of Field Robotics, 31(5), 758-779.