Institut für Informatik, Universität Freiburg


Institut für Informatik
Albert-Ludwigs-Universität Freiburg
Praktikum Robotik
Wintersemester 2001/2002

Grundlagen der Künstlichen Intelligenz
Veranstalter: Prof. Dr. Bernhard Nebel
Betreuer: Alexander Kleiner
  

Übungsblatt 5 - Einfache Pfadplanung

Abgabe/Vorführung: 23.11.2001

Vorüberlegung:

Nach efolgreicher Durchführung der letzten Übungen sollte Ihr Roboter jetzt in der Lage sein Objekte (andere Roboter, Ball) zu lokalisieren, bzw. beliebige Positionen auf dem Spielfeld anzufahren. Diese Fähigkeiten bilden die Grundlage für ein Standardproblem in der Robotik, die Pfadplanung. Man kann sich anhand eines Irrgartens leicht vorstellen, daß einfache reaktive Verhalten, die bei Kontakt mit Hindernissen ein Ausweichen einleiten, nicht immer zum Erreichen des Ziels ausreichend sind. Gegenstand dieser Übung ist es, Erfahrungen mit dieser Problematik zu sammeln, wobei keine komplette Lösung des Planungsproblems erwartet wird.


Aufgabe 1

Ihr Roboter besitzt die Fähigkeit, Positionen auf dem Feld anzufahren. Erweitern Sie diese Fähigkeit, so daß der Benutzer die Möglichkeit hat diese Zielpositionen mit der Maus vorzugeben. Zeichnen Sie zusätzlich die zu fahrende Strecke (hier eine Gerade) und sämtliche Positionen in Ihrem Crystal-Fenster ein.

Aufgabe 2

Erweitern Sie Aufgabe 1 um eine Listenstruktur, in der mehrere Positionen von der Mauseingabe gespeichert werden können. Der Roboter soll dann nacheinander alle Positionen in dieser Liste abfahren. Verbindungen zwischen den einzelnen Listenpunkten und die Listenpunkte selbst, sollten ebenfalls im Crystal-Fenster eingezeichnet werden.

Aufgabe 3

Erweitern Sie Aufgabe 2 um einen einfachen Planer, der bei durch Hindernissen blockierten Strecken automatisch einen weiteren Wegpunkt einfügt, welcher den Roboter um diese Hindernisse herumführt. Man kann von maximal zwei Hindernissen ausgehen, jedoch sollte der Roboter die minimale Strecke fahren. Ein "Backtracking" Verhalten (Löschen von nicht angefahrenen Positionen) des Algorithmus sei hier nicht gefordert.

Hinweis: Vergrößern Sie die Hindernisse um die Größe Ihres Roboters und nehmen Sie diesen als Punkt an.


Abgabe