   Next: Computing Point Correspondences Up: Scan Registration and Robot Previous: Scan Registration and Robot

Computing the Optimal Rotation and Translation in 6D

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

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

In earlier work  we used a quaternion based method , 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 . 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: 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 with . The analogous algorithm is derived directly from this theorem.

Proof: See  or .

Finally, the optimal translation is calculated using eq. ) (see also ( )).   Next: Computing Point Correspondences Up: Scan Registration and Robot Previous: Scan Registration and Robot
root 2005-05-03