Institut
für Informatik, Universität Freiburg
|
Institut für
Informatik |
Grundlagen der Künstlichen Intelligenz |
Abgabe/Vorführung: 23.11.2000
Vorüberlegung:
In der letzten Übung wurden zwei verschiedene Verhalten zur Steuerung eines Roboters implementiert. Diese Verhalten kann man als reaktiv bezeichnen, da sie unmittelbar auf Sensor Eingaben reagieren. Im Gegensatz zu reaktivem Verhalten kennt man "planerisches" Verhalten, welches basierend auf einer Menge möglicher Operatoren und eines Anfangs- und Zielzustandes einen optimalen Plan erstellt. Eine typische Anwendung ist zum Beispiel ein Roboter-Postbote, der mehrere Räume in einem Bürogebäude anfährt und dabei dynamischen Hindernissen (Menschen) und statischen Hindernissen (Wänden) ausweicht. Auch beim Roboterfußball ist das Anfahren von Positionen auf dem Feld sehr wichtig, um zum Beispiel Abwehr- bzw. Angriffspositionen einzunehmen oder die Elfmeter Position anzufahren. Auch hierbei liegt die Komplexität in der Dynamik des Zustandraumes.
Gegenstand dieser Übung ist es jedoch nicht einen Planer zu entwickeln, dies ist ein mögliches Projekt nach Beendigung aller Übungsblätter, sondern basierend auf der Kombination von einfachen Modulen das Anfahren von Positionen zu ermöglichen, was entweder mit Saphira Bahaviours oder einzelnen Zustandsmaschinen in Form von Prozessen erfolgen kann.
Schreiben Sie ein Verhalten, welches den Roboter vom Benutzer vorgegebene Positionen auf dem Fußballfeld anfahren läßt. Die gewünschten Positionen auf dem Feld sollen über eine Markierung auf dem "LPS" (Saphira Fenster) mit der Maus eingegeben werden können. Bei dieser Aufgabe kann angenommen werden, daß der Weg zu dem jeweiligen Zielpunkt frei von Hindernissen ist.
Hilfe: Verwenden Sie nicht die Positionsansteuerung des Roboters, da sonst Aufgabe 2 nicht gelöst werden kann. Schauen Sie auf Seite 7 im Saphira Hanbuch nach den Funktionen zur Abfrage der Maus.
Verschmelzen Sie die Hindernisvermeidung von Übungsblatt 3 mit dem Verhalten von Aufgabe 1. Kann man das Resultat als robust bezeichnen?