Next: Diffusing the Error. Up: Computing Globally Consistent Scenes Previous: Computing Globally Consistent Scenes

### Closing the Loop.

After matching multiple 3D scans, errors have accumulated and loops would normally not be closed. Our algorithm automatically detects a to-be-closed loop by registering the last acquired 3D scan with earlier acquired scans. Hereby we first create a hypothesis based on the maximum laser range and on the robot pose, so that the algorithm does not need to process all previous scans. Then we use the octree based method presented in section 3.1 to revise the hypothesis. Finally, if a registration is possible, the computed error, i.e., the transformation (, ) is distributed over all 3D scans. The respective part is weighted by the distance covered between the scans, i.e.,

1. The translational part is calculated as .
2. Of the three possibilities of representing rotations, namely, orthonormal matrices, quaternions and Euler angles, quaternions are best suited for our interpolation task. The problem with matrices is to enforce orthonormality and Euler angles show Gimbal locks [8]. A quaternion as used in computer graphics is the 4 vector . Given a rotation as matrix , the corresponding quaternion is calculated as follows:

 (13)

The quaternion describes a rotation by an axis and an angle that are computed by

The angle is distributed over all scans using the factor and the resulting matrix is derived as [8]:

 (14) (15)

The next step minimizes the global error.

Next: Diffusing the Error. Up: Computing Globally Consistent Scenes Previous: Computing Globally Consistent Scenes
root 2005-06-17