Entwicklung einer Bewegungssteuerung für autonome Kettenfahrzeuge

Entwicklung einer Bewegungssteuerung für autonome Kettenfahrzeuge

Das Ziel der Arbeit war die Entwicklung einer Bewegungssteuerung für Kettenfahrzeuge, welche für den autonomen Einsatz in Gebäuden vorgesehen sind. Als Plattform dient das Kettenfahrzeug der WE4 mit dem Namen “Rumbler”.

Die Konzeption des Roboters sieht Verwendungen in Rescue- bzw. Surveillance-Einsätzen vor, weshalb die Bewegungssteuerung im wesentlichen zwei Anwendungsfälle abdecken muss. Es handelt sich dabei zum einen um das Erkunden von unbekannten Gebieten oder Gebäuden, bei dem von der Umgebung eine Karte erstellt werden muss. Der zweite Anwendungsfall beschreibt den Einsatz in bekanntem Gelände, von dem bereits eine Karte vorhanden ist, die zur Navigation und Ableitung der entsprechenden Bewegungsbefehle verwendet werden kann.

Die Entwicklung einer autonomen Bewegungssteuerung lässt sich in drei Teilprobleme zerlegen. Das erste Problem umfasst die Erstellung der Karte und die Lokalisierung in dieser. Dabei handelt es sich um eines der fundamentalsten Probleme im Bereich Robotik, welches unter dem Namen “Simultaneous Localization And Mapping” (SLAM) bekannt ist. Die Schwierigkeit besteht dabei, aus fehlerbehafteten Sensorinformationen, eine bestmögliche Karte der Umgebung zu erstellen und gleichzeitig die Position des Roboters innerhalb dieser Karte zu bestimmen. Um die Rechenleistung für den Missioncontroller zu reduzieren, ist es erforderlich, den SLAM-Algorithmus in einer modifizierten Form betreiben zu können, in der nur die Lokalisierung in einer bereits bestehenden Karte durchgeführt wird.

Bei dem zweiten Teilproblem handelt es sich um die Wegfindung in der, durch den SLAM-Algorithmus generierten, Karte. Dabei muss der Wegfindungsalgorithmus für den Typ der verwendeten Karte geeignet sein. Es handelt sich hierbei um eine so genannte “Gridmap”, eine Karte, die aus einer Gitterstruktur besteht und dessen Zellen die jeweilige Information enthalten. Zur Lösung dieses Teilproblem wird eine Variante des Theta*- Algorithmus verwendet, der in dieser Art von Karten die optimalste Verbindung zwischen zwei Punkten findet. Der Vorteil gegenüber anderen Algorithmen besteht dabei in der Art der gefundenen Wege, diese weisen einen natürlichen, nicht stufenförmigen Verlauf auf. Daraus lassen sich leicht entsprechende Fahrbefehle für den Roboter ableiten, was dadurch unterstützt werden muss, dass bei der Wegfindung bereits die Geometrie des Roboters berücksichtigt wird.

Die autonome Steuerung des Roboters beschreibt das dritte Teilproblem, dass es in dieser Arbeit zu lösen galt. Hierbei muss die Logik die beiden bereits erwähnten Anwendungsfälle abdecken. Einer der Hauptaufgaben der Logik ist dabei die Koordinierung der Algorithmen zur Kartierung und Wegfindung, sowie der Ableitung entsprechender Fahrbefehle aus deren Informationen. Eine weitere Schwierigkeit dabei, ist die Unvollständigkeit der zur Verfügung stehenden Informationen. Als Beispiel sei hier eine vor dem Roboter laufende Person genannt. Diese ist normalerweise kein Bestandteil einer Karte und wird deshalb auch nicht bei der Wegfindung berücksichtigt. Daraus resultiert die Notwendigkeit einer Online-Auswertung der Sensorinformationen, im speziellen des Laser-Sensor. Diese müssen
ebenfalls direkt ausgewertet werden, um die Ausführbarkeit der Fahrbefehle zu testen. Dafür muss zuvor ein Scan (Eine Messreihe des Laser-Entfernungsmessers) auf Hindernisse untersucht werden und entschieden werden, ob der zur Verfügung stehende Platz zur Durchführung des Fahrbefehls ausreicht. Eine weitere Aufgabe der Logik besteht darin, die Ausführung der Fahrbefehle durch das Drive Subsystem zu überwachen und ggf. zu korrigieren. Dies erfordert unter Umständen eine Neuberechnung und Übermittlung der Steuerdaten während der Fahrt.

Eine weitere Anforderung bei der Entwicklung ist die Trennung zwischen der allgemeinen Bewegungssteuerung und dem plattformspezifischen Teil des Roboters. Dadurch wird gewährleistet, dass sich die Bewegungssteuerung leicht auf andere Roboterplattformen portieren lässt. Dies führt zu einer besseren Wiederverwendbarkeit des implementierten Programmcodes.

In dieser Arbeit konnte gezeigt werden, dass die Bewegungssteuerung die zuvor spezifizierten Anforderungen erfüllt. Dies wurde in umfangreichen Fahrversuchen verifiziert. Die Funktion der Bewegungssteuerung hat dabei sowohl bei der Nutzung einer bereits bestehenden Karte genau so überzeugt, wie bei der Erkundung der Umgebung, bei der die Karte eigenständig durch den Roboter erstellt wird. Es wurde deutlich, dass eine Bewegungssteuerung mit Wissensbasis (die Karte) deutlich besser funktioniert, als eine einfachere Variante mit Reflex Agenten, der lediglich aufgrund einzelner Messungen Entscheidungen trifft. Die Mächtigkeit der Bewegungssteuerung in der Kombination mit Karte und Wegfindungsalgorithmus, konnte an vielen Situationen verdeutlicht werden. Als Beispiele seien hier genannt, das Finden von Auswegen in Sackgassen und Labyrinthen oder das Suchen von alternativen Routen bei versperrten Wegen.

 

Ralf Rüther
(August 2012)