The proposed GRM operates in a closed loop, consisting of two separate stages: the refinement of global rotations and global translations. Both optimizations are independent and do not require any iteration, matrix inversion, or decomposition. That is, both are linear and deduced in a closed form.
We will now deduce our method for correcting the rotations of the pose circuit. To derive a global origin from a closed loop of relative poses in the sensor pose graph, the pose rotation matrices are first transformed into unit quaternions, denoted as
, and then combined through the following sequence of multiplications:
the rotation of the pose
relative to the pose
is represented by the quaternion called
. This applies to all poses from
to
(global rotations);
represents the rotation of the pose
relative to the pose
(relative rotations). If there were no errors in the rotation estimates, the quaternion
would be the identity quaternion (
). However, in practice, it is an approximation close to that. By composing the rotations of the poses
,
, …,
in the opposite direction of the sensor's trajectory, we can obtain the rotations of these poses relative to the origin
in another way:
the multiplication properties of quaternions allow us to rewrite
as:
to achieve an optimal rotation based on the quaternions
and
, which represent the same rotation of the pose
referenced in the pose
, with i = 1, 2, …, n, it is recommended to interpolate
and
using the SLERP technique in the following manner:
herein
is the interpolated quaternion between
and
representing the rotation of vertex
referenced to vertex
, with i = 1, 2, …, n. Substituting eq. 3 in 4, we have:
to optimize SLERP intervals
, one takes advantage of the constraint that the inverse of
, when multiplied by the composition
, must approximate as much as possible to the identity quaternion, as follows:
performing the appropriate algebra of quaternions and replacing eq. 1 in eq. 6, the above equations are rewritten as:
through the property of multiplying powers of quaternions,
, which applies to equal quaternions, we can deduce that:
to ensure that every quaternion raised to 0 equals the identity, we need to minimize each power of equation 8 to get the best intervals
. We do this by minimizing the following linear system:
for this task we use the Least Squares (LS) method. It is worth noting that n global poses define n-1 equations in eq. 9. Therefore, the solution that minimizes this system is provided by:
where
is the Jacobian matrix of eq. 9 concerning the variables
,
, …,
; and
is the vector of observations. The solution,
is the desired vector of interpolation intervals. As the result of eq. 10 is a function of the number of stations for a closed circuit of n vertices,
is previously known since the matrix
and the vector
follow a simple pattern:
for example, in a circuit with n = 5 vertex, the vector
equals:
i.e., we can find SLERP intervals using:
Once the rotations have been refined, we turn our focus to the refinement of translations, employing the linear model of Lu and Milios (let’s call this model LUM) [
30]. The configuration of the Jacobian hypermatrix is shaped by the alignment of poses within the graph, encapsulating a simple closed-loop topology. If we continue with our prior example involving a loop comprising five poses, we will observe the following structure for the hypermatrix
:
the vector of observations is organized as follows:
is the rotation matrix obtained from the interpolated quaternion
, and
are the relative translations obtained by registration of point cloud pairs. The LS solution is given as:
where
is the vector of refined translations and
is the weight matrix associated with the translation of each pair of point clouds. We define
as the normalized RMSE returned in the pairwise registration. That is, the weight
of a pair is the RMSE of the registration process calculated in the overlap area.