Hallo Gast, Sie sind nicht angemeldet.

Navigationsmodi

Von Johannes Dörr, Florian Manteuffel am 12.06.2009, aktualisiert am 14.06.2009 um 00:23 Uhr

In den letzten drei Kapiteln wurden die Funktionsweisen der wichtigsten Teilsysteme erklärt. Nun geht es darum, wie diese logisch vernetzt sind und zusammen funktionieren.

Aufgabenmodus

Das gesamte System ist im Prinzip in drei Modi unterteilt, von denen das Verhalten des Roboters stark abhängt. Der Aufgabenmodus ist der erste und wichtigste Modus. Er wird aktiviert, wenn der Roboter ein Ziel vorgegeben bekommt, das er ansteuern soll.

Abb 5.1: Abläufe im Aufgabenmodus

Die Zielposition wird in die Karte eingespeichert, anschließend startet die Wegberechnung, das erste Zwischenziel anzugeben. Diese Koordinate wird an die Bewegungsplanung weitergereicht, die schließlich den Roboter in Bewegung setzt und den Punkt ansteuert. Parallel dazu werden alle Sensoren abgefragt und die aktuelle Roboterposition ermittelt. Mit diesem Wert wird wieder eine neue Wegberechnung gestartet, deren Ergebnis wiederum in eine neuen Bewegungsplanung eingeht. So wird der Kurs des Roboters laufend überprüft. Mit den Hindernissensoren wird nach unbekannten Hindernissen gesucht, die nicht in der Karte eingespeichert sind und deshalb den Weg versperren.

Abb 5.2: Ausweichen mit Hilfe von Sensoren

In so einem Fall wird das Zwischenziel für kurze Zeit ignoriert und von der Hauptsteuerung durch ein neues ersetzt. Dabei versuchen die Sensoren, eine freie Lücke auszumachen, durch die dann gefahren wird (Abb. 5.2). So probiert der Roboter, dem unbekannten Hindernis auszuweichen. Die Position des unbekannten Hindernisses wird in der Karte als solches abgespeichert. Das Ganze ist natürlich ein kritischer Moment und das System hat mit großen Hindernissen, die schwer zu überschauen sind, Probleme. Aus diesem Grund gibt es den Erkundungsmodus, der weiter unten beschrieben wird.
Während der Fahrt wird in der Karte nach eingezeichneten (optischen) Orientierungspunkten gesucht, die die Kamera theoretisch sehen müsste. Die Koordinaten eines gefundenen Punktes werden an die Positionskontrolle weitergegeben, die nun mit der Kamera an dieser Stelle nach dem Punkt sucht. Wurde dieser gefunden, hält der Roboter kurz an, damit die Positionsbestimmung durchgeführt werden kann. Die neue Roboterposition wird in der Karte gespeichert und der Roboter fährt weiter. Die relative Positionsbestimmung der Bewegungskontrolle baut nun auf dem neuen Wert auf. Diese Abfolge (Suchen des Orientierungspunktes in der Karte, danach Suchen mit der Kamera an der vermuteten Stelle) ist ganz entscheidend, da an dem Punkt selber optisch nicht erkannt werden kann, um welchen es sich handelt. Aus diesem Grund muss ein ausreichender Abstand zwischen einzelnen Orientierungspunkten vorhanden sein, damit es nicht zu Verwechslungen kommen kann.

Erkundungsmodus

Abb 5.3: Abfahren eines neuen Hindernisses

Das Einspeichern von neuen Hindernissen beim Ansteuern eines Ziels ist sehr umständlich. Einerseits soll der Roboter möglichst schnell zum Ziel gelangen, andererseits muss ein Hindernis in Ruhe vollständig umfahren werden, damit es später korrekt in die Wegberechnung einbezogen werden kann. Aus diesem Grund beschränkt sich der Aufgabenmodus beim Kontakt mit einem neuen Hindernis auf das Eintragen eines Kontrollpunktes, ohne das Hindernis vollständig aufzuzeichnen. Befindet sich das System später wieder im Erkundungsmodus, werden diese Kontrollpunkte angesteuert, wo das Hindernis dann korrekt in die Karte eingezeichnet wird. Der Roboter gibt sich beim Starten des Modus selbst die Aufgabe, einen Kontrollpunkt anzusteuern. Intern wird also wieder in den Aufgabenmodus gewechselt. Ist der Roboter an dem Punkt angekommen, bei dem das neue Hindernis gesichtet wurde, dreht er sich und folgt der Wand mit Hilfe eines IR-Sensors. Dabei versucht er stets, genau parallel zur Wand zu fahren, sodass die Entfernung zu ihr immer konstant bleibt. Ändert sich jedoch die Entfernung, wird der Kurs entsprechend korrigiert. Diese Stellen, die der Sensor als Ecken identifiziert, werden in der Karte als Points gespeichert. Natürlich muss hierbei eine gewisse Toleranz vorhanden sein, damit erstens kleine Fahr-Ungenauigkeiten des Roboters nicht zu Fehlern führen und außerdem die Datenmenge auf dem Mindestmaß gehalten wird.

Ist das Hindernis schließlich vollständig abgespeichert, wird der nächste Kontrollpunkt angesteuert. Auf diese Weise werden neu auftretende Hindernisse mit in die Karte aufgenommen, ohne dass dieser Vorgang den Aufgabenmodus aufhält. Wie gut das System am Ende mit neuen Hindernissen umgehen kann, hängt von der Programmierung des Ausweichverhaltens sowie von der Sensorik, auf die jenes zugreifen kann, ab.

Administrationsmodus

Der Administrationsmodus ist der Standardmodus, in dem sich der Roboter befindet, wenn er in der Homebase steht und keine Aufgabe ausgeführt wird. Neben einer Zielvorgabe, die das System in den Aufgabenmodus versetzten würde, können ihn auch direkte Anweisungen erreichen. Mit Hilfe eines PC-Kontrollprogramms kann zum Beispiel die Karte vom Roboter runter geladen, auf dem Bildschirm grafisch angezeigt und dort manuell bearbeitet werden. Dies ist in Umgebungen mit komplizierten oder sehr großen Hindernissen hilfreich, da diese von der automatischen Erkennung manchmal nicht korrekt erfasst werden.

Auch die Installation von Positionskontrollsystemen findet im Administrationsmodus statt, der für diese Prozedur eine Art Assistent bietet. Um beispielsweise einen Orientierungspunkt manuell in die Karte einfügen zu können, muss die relative Position zur Homebase bekannt sein, die bei größeren Entfernungen relativ schwer zu ermitteln ist. Damit der Anwender aber möglichst wenig mit der Installation zu tun hat, soll der Roboter diese Aufgabe selbst übernehmen.

Nachdem beispielsweise ein Orientierungspunkt montiert wurde, wird dem Roboter mitgeteilt, in welcher ungefähren Umgebung er zu finden ist. Intern wird dann in den Aufgabenmodus gewechselt und der angegebene Bereich angesteuert. Dort beginnt der Roboter, mit der Kamera den Punkt zu suchen. Wurde er gefunden, wird seine relative Position zum Roboter berechnet und über die absolute Roboterposition in die Karte eingetragen. Da die Position des Punktes in der Karte einer ungenauen Wegmessung des Roboters zu Grunde liegt, muss dieser versuchen, diese Ungenauigkeit möglichst klein zu halten und so oft wie möglich eine Positionskontrolle (z.B. über bereits vorhandene Orientierungspunkte) durchzuführen.

Der Administrationsmodus ermöglicht außerdem ein direktes Fernsteuern des Roboters, was bei der Fehlersuche sehr hilfreich sein kann.