Die vorgestellten Verfahren zur Bildung von Punktpaaren werden in zahlreichen Experimenten untersucht, wobei dazu auch Verfahren kombiniert werden. Die Experimente finden im GMD-Robobench, einem erweiterten Bürotrakt statt (FhG-AIS Gebäude C2 Erdgeschoss). Über einen langen Flur sind dort Büros miteinander verbunden. Der Roboter steht im Flur und nimmt einen 3D-Scan von 180 256 Punkten auf. Anschließend fährt er 2 Meter den Flur entlang und nimmt einen weiteren 3D-Scan auf. Das Scanmatching wird mit dem ICP-Algorithmus solange durchgeführt, bis die Änderung des mittleren Fehlers, also des Fehlers je Punktpaar, kleiner als 0.0001 Zentimeter ist. Eine so kleine Veränderung der Fehlerfunktion deutet auf ein lokales Minimum oder Plateau hin. Der Roboter bestimmt zunächst seine Position mittels der Odometrie. Diese Schätzung ergibt nach der 2-Meter-Fahrt die Werte , die als Startwert für den ICP dienen. Der ICP-Algorithmus bildet nur Punktpaare, falls der Abstand zwischen den nächsten Punkten kleiner als 25cm ist, d.h.
Abbildung 3.4 zeigt exemplarisch, wie mit dem ICP Algorithmus zwei 3D-Scans ineinander geschoben, also registriert werden. Weitere Abbildungen und Animationen befinden sich auf der CD.
|
Tabelle 3.1 stellt die Ergebnisse der Verfahren zur
Punktpaarbildung gegenüber. Es wird die zur Bildung der Punktpaare
benutzte Methode mit der dafür benötigten Zeit angegeben. Die Zeiten
wurden auf einem Pentium III mit 600MHz gemessen. Zusätzlich sind die
Anzahl der Iterationen, die nötig waren um das Konvergenzkriterium zu
erfüllen, der mittlere Fehler
(3.7) sowie die
Endposition des Roboters angegeben.
Abbildung 3.5 veranschaulicht die Entwicklung des
mittleren Fehlers und die Anzahl der gepaarten Punkte in den ersten 20
Iterationen des Algorithmus. Die linke Abbildung zeigt die
Entwicklung, falls alle Punkte Berücksichtigung finden, während in der
rechten Abbildung nur die reduzierten Punkte einbezogen werden. Zu
erkennen ist, dass beide Verfahren etwa gleich schnell konvergieren
(in zirka 5 Schritten).
|
Für die bisher präsentierten Ergebnisse wird wie beschrieben ein
harter Schwellenwert verwendet und alle Punktpaare werden gleich
gewichtet. Der Parameter ermöglicht allerdings auch eine
Gewichtung der Punktpaare; die vorgestellte Transformationsbestimmung
(Kapitel 3.3.3) wird dadurch nicht beeinflusst [40].
Neben der konstanten Verteilung der Gewichte erscheinen folgende
Strategien logisch:
Die Benutzung von dynamischen Gewichten und die Verteilung der
Gewichte mittels Intensitätswerten lassen sich auch mit d-Bäumen
kombinieren, wobei die Programmlaufzeit dann ebenfalls zirka
2 Sekunden beträgt (vgl. Tabelle 3.2).
Abbildung 3.6 zeigt die Entwicklung des mittleren
Fehlers und die Anzahl der benutzten Punktpaare für diese beiden
Strategien. Wie man sieht, wird das Fehlerminimum wiederum während der
ersten Iterationen erreicht.
|
Die angegebenen Endkoordinaten des Roboters können nicht mit einem
Referenzwert verglichen werden, da die genaue Position des Roboters
nicht bekannt ist. Der angegebene Fehler ist der Fehler
(3.7) und nicht jener der Roboterposition.