Next: ICP-based 6D SLAM Up: Range Image Registration and Previous: Range Image Registration and

## Calculation of the rotation and translation

In every iteration the optimal tranformation (, ) has to be computed. Eq. () can be reduced to

 (2)

with , since the correspondence matix can be represented by a vector containing the point pairs.

Four methods are known to minimize eq. () [17]. In earlier work [20,27] we used a quaternion based method [7], but the following one, based on singular value decomposition (SVD), is robust and easy to implement, thus we give a brief overview of the SVD-based algorithms. It was first published by Arun, Huang and Blostein [2]. The difficulty of this minimization problem is to enforce the orthonormality of matrix . The first step of the computation is to decouple the calculation of the rotation from the translation using the centroids of the points belonging to the matching, i.e.,

 (3)

and
 (4) (5) (6) (7) (8) (9) (10) (11) (12)

After replacing (), () and () in the error function, eq. () becomes:

In order to minimize the sum above, all terms have to be minimized. The second sum () is zero, since all values refer to centroid. The third part () has its minimum for or
 (14)

Therefore the algorithm has to minimize only the first term, and the error function is expressed in terms of the rotation only:
 (15)

Theorem: The optimal rotation is calculated by . Herby the matrices and are derived by the singular value decomposition of a correlation matrix . This matrix is given by

 (16)

with . The analogous algorithm is derived directly from this theorem.

Proof: Since rotation is length preserving, i.e., the error function () is expanded

The rotation affects only the middle term, thus it is sufficient to maximize
 (17)

Using the trace of a matrix, () can be rewritten to obtain

With defined as in (). Now we have to find the matrix that maximizes .

Assume that the singular value decomposition of is

with and orthonormal matrices and a diagonal matrix without negative elements. Suppose

is orthonormal and

is a symmetric, positive definite matrix. Arun, Huang and Blostein provide a lemma to show that

for any orthonormal matrix . Therefore the matrix is optimal. Prooving the lemma is straightforward using the Cauchy-Schwarz [2]. Finally, the optimal translation is calculated as (cf. eq. () and ())

Next: ICP-based 6D SLAM Up: Range Image Registration and Previous: Range Image Registration and
root 2005-05-03