Implementierungsdetails
|
Siehe auch Technical Reports.
Die Betriebssoftware des autonomen mobilen Roboters MOBOT-IV ist als ein verteiltes System kooperierender Prozesse realisiert. Dies erleichtert die Implementierung auf einem leistungsfähigen Parallelrechnersystem (in diesem Fall eines VMEbus-Multiprozessorsystems) und die getrennte Behandlung von Teilproblemen.
In den folgenden Abschnitten wird die Arbeitsteilung des Systems im einzelnen besprochen.
MOBOT-IV benötigt vor dem operativen Einsatz eine Explorationsfahrt, während der er seine Umgebung kennenlernt. Dazu setzt die Komponente zur Umweltkartographierung ('Geographer') jeweils aktuelle, aus Effizienzgründen in ihrer Auflösung stark reduzierte (die volle Auflösung der Lasersensoren wird nur in der Selbstlokalisation ausgenutzt), Sensoraufnahmen der momentanen Umgebung zu einer Gesamtkarte zusammen (siehe Abbildung 1). Um einen aktuellen Sensoreindruck an den korrekten Koordinaten einzutragen, muß der Roboter die genaue Position kennen, an der die Sensoraufnahme erfolgte. Diese Selbstlokalisation wird an anderer Stelle erläutert und stellt eine wesentliche Herausforderung in der Entwicklung autonomer mobiler Roboter dar.
Abbildung 1 Aufbau globaler Karten aus lokalen Sensoreindrücken |
Abbildung 2 Beispiel einer Explorationsfahrt von MOBOT-IV (größer) |
Die Softwarekomponente 'Navigator' ist zuständig für die Planung eines hindernisfrei befahrbaren Kurses zu einem vorgegebenen Zielpunkt. Zur Lösung dieser Aufgabe bedient sich der Navigator der Gesamtkarte der Einsatzumgebung und seiner Kenntnisse über Abmessungen und Manövrierfähigkeit des Fahrzeugs. Für eine weitere Softwarekomponente, die das Fahrzeug steuert ('Pilot'), wird eine Folge von Zwischenzielen generiert, die markante Wendepunkte der vorgesehen Bahn darstellen.
Für die eigentliche Steuerung des Roboters auf seinem Weg zu Zielen, bzw. Zwischenzielen ist die Softwarekomponente 'Pilot' zuständig, die die vom Navigator geplante Referenzbahn so genau wie möglich einzuhalten versucht. Der Pilot erhält von den Lasersensoren (Scanner) Informationen über Objekte im Nahbereich und umfährt, falls möglich, bewegliche oder nachträglich in die Umgebung eingebrachte Hindernisse. Ist der geplante Weg aufgrund von Hindernissen, die dem Navigator zum Planungszeitpunkt nicht bekannt waren, (z.B. Materialpaletten, die eine Durchfahrt versperren) nicht befahrbar, meldet der Pilot diesen Umstand an den Navigator, der nun einen alternativen Kurs planen kann.
Wie bereits im Abschnitt 'Exploration und Weltmodellierung' angesprochen, muß der Geographer während der Exploration jederzeit den genauen Standort kennen, um die aktuelle Sensoraufnahme an den korrekten Koordinaten in die Gesamtkarte der Umgebung eintragen zu können. Genauso ist natürlich der Pilot beim Anfahren von Zielen oder Zwischenzielen jederzeit auf die exakte Kenntnis seiner aktuellen Position angewiesen, um den, vom Navigator in Koordinaten angegebenen, Bestimmungsort erreichen zu können.
Ein essentieller Bestandteil der Kontrollstruktur von MOBOT-IV ist deshalb die Softwarekomponente 'Korrelator', die auf der Basis eines statistischen Verfahrens aus jedem aktuellen Laserscan (0,5 Grad Winkelauflösung -> 720 Meßwerte pro Scan) und gespeicherten Referenzaufnahmen die aktuelle Position und Orientierung des Roboters durch den Vergleich abstrakter Merkmale extrahiert. Diese schritthaltende Positionsbestimmung wird zweimal pro Sekunde ausgeführt und garantiert eine zentimetergenaue Navigation
(siehe Abbildung 3).
Abbildung 3 Statistische Auswertung von Laserscans zur Bestimmung von Position und Orientierung von MOBOT-IV |
Zurück zur Homepage der Arbeitsgruppe