Hostname: page-component-74656f9884-rdgjk Total loading time: 0 Render date: 2026-11-07T19:53:33.596Z Has data issue: false hasContentIssue false

Vectorial parameterizations of pose

Published online by Cambridge University Press:  10 December 2021

Timothy D. Barfoot*
Affiliation:
University of Toronto Institute for Aerospace Studies, Toronto, Canada
James R. Forbes
Affiliation:
Department of Mechanical Engineering, McGill University, Montreal, Canada
Gabriele M. T. D’Eleuterio
Affiliation:
University of Toronto Institute for Aerospace Studies, Toronto, Canada
*
*Corresponding author. E-mail: tim.barfoot@utoronto.ca
Rights & Permissions [Opens in a new window]

Abstract

Robotics and computer vision problems commonly require handling rigid-body motions comprising translation and rotation – together referred to as pose. In some situations, a vectorial parameterization of pose can be useful, where elements of a vector space are surjectively mapped to a matrix Lie group. For example, these vectorial representations can be employed for optimization as well as uncertainty representation on groups. The most common mapping is the matrix exponential, which maps elements of a Lie algebra onto the associated Lie group. However, this choice is not unique. It has been previously shown how to characterize all such vectorial parameterizations for SO(3), the group of rotations. Some results are also known for the group of poses, where it is possible to build a family of vectorial mappings that includes the matrix exponential as well as the Cayley transformation. We extend what is known for these pose mappings to the $4 \times 4$ representation common in robotics and also demonstrate three different examples of the proposed pose mappings: (i) pose interpolation, (ii) pose servoing control, and (iii) pose estimation in a pointcloud alignment problem. In the pointcloud alignment problem, our results lead to a new algorithm based on the Cayley transformation, which we call CayPer.

Information

Type
Research Article
Copyright
© The Author(s), 2021. Published by Cambridge University Press
Figure 0

Figure 1. Example generating functions, $\phi(\varphi)$, that map rotation angle, $\varphi$, to different vector representations of rotation and pose. The independent variable is shown on the vertical axis to save space. We see that the $2\tan\frac{\varphi}{2}$ function is quite a bit more extreme than the others.

Figure 1

Table 1. Example vector parameterizations of rotation and the associated mappings to SO(3). Note the connection to the Cayley transformation in the $\tan$ parameterizations. The entries in the table are ordered from steepest to shallowest generating function (right to left in Figure 1)

Figure 2

Figure 2. An example of “linear” interpolation between an initial pose (green) and final pose (red) for different vector parameterizations of pose. The paths are straight lines in $\mathbb{R}^6$ but when mapped to SE(3) produce different curves. Each parameterization takes a unique path with the $\phi(\varphi) = 2\tan\frac{\varphi}{2}$ generating function being the most distinct. The figure compares the path taken by each of the generating functions from Figure 1 (same color scheme) as well as displays the full pose trajectory individually for three generating functions.

Figure 3

Figure 3. An example of pose servoing control using a “linear” controller in pose vector space. Once mapped to SE(3), we see different behaviors from the different pose mappings. In this example, the reference pose is moving along the straight black line and there is an initial error. The figure compares the path taken to join the reference by each of the generating functions from Figure 1 (same color scheme) as well as displays the full pose trajectory individually for three generating functions.

Figure 4

Figure 4. Results of pointcloud alignment problem for both the exponential map and CayPer algorithm. The left plot shows the convergence history of the cost function J for 100 trials where the initial pose was randomly selected. We see that the exponential map regularly takes a long time to converge and often becomes stuck in a local minimum when the initial pose is far from the groundtruth. CayPer always converged in 20 iterations or less and always ended at the global minimum. The right plot shows a histogram of the costs, J, at the final iteration for 1000 trials where the initial pose was randomly selected. Again, we see that in approximately 20% of the trials the exponential map failed to converge to the global minimum while CayPer succeeded in all trials.

Figure 5

Figure 5. Two trials of the pointcloud alignment problem. In both cases, CayPer successfully finds the correct minimum while the exponential map succeeds in the top case but not the bottom where it becomes stuck in an undesirable local minimum. Red box is the initial guess, green box is the groundtruth pose, black dots are the groundtruth landmark locations, green dots are the first noisy pointcloud (static), magenta box (hidden by green box) is the CayPer final pose, blue box (when not hidden by green box) is the exponential map final pose, magenta dots are the second noisy pointcloud (transformed) at the final CayPer pose, and blue dots are the second noisy pointcloud (transformed) at the final exponential map pose.