Universität Bremen  
  FB3 DFKI Kontakt  
  AG BKB > Thomas Röfer > Kognitive Robotik II > Übungszettel > Deutsch
English
 

4. Übungszettel: Navigation und Sicherheit

 

Ausgabe: 27. Juni 2001
Abgabe: 11. Juli 2001

1. Konfigurationsraum (25%)

Erläutert den Begriff des Konfigurationsraums. Macht eine Zeichnung zur Veranschaulichung.

  • Was ist ein Konfigurationsraum?
  • Warum verwendet man ihn?
  • Gibt es auch Konfigurationsräume mit mehr als drei Dimensionen? Wenn ja, nennt bitte Beispiele.

2. Potenzialfeld (50%)

In dieser Aufgabe soll ein Planungsalgorithmus entwickelt werden, der auf der Potenzialfeldmethode basiert.

Teilaufgabe 1. Definiert ein Interface PotentialObject, das zwei Funktionen fordert: double getPotential(double x,double y) soll das Potenzial an der Position (x,y) ausrechnen, das durch das PotentialObject verursacht wird. boolean isGoal(double x,double y) soll zurückliefern, ob (x,y) ausreichend nah an einer Zielposition ist. Schreibt zwei Klassen Goal und PolygonalObstacle, die das Interface PotentialObject implementieren. Goal repräsentiert eine Zielposition, PolygonalObstacle ein Polygon-förmiges Hindernis.

Teilaufgabe 2. Die Klasse PotentialField implementiert ebenfalls PotentialObject, enthält aber eine Liste von PotentialObjects. Die Implementierung von getPotential in dieser Klasse summiert die Einzelpotenziale auf. isGoal liefert zurück, ob isGoal für mindestens eines der enthaltenen Objekte gilt.

Teilaufgabe 3. Definiert ein Potenzialfeld aus einigen Hindernissen und mindestens einem Ziel. Stellt das Feld für den relevanten Bereich am Bildschirm dar, z.B. durch Grauschattierungen.

Teilaufgabe 4. Schreibt eine Funktion, die ausgehend von einer (x,y)-Position eine benachbarte Position (in einer von euch wählbaren Entfernung) zurückliefert, die ein möglichst geringes Potenzial hat. Erstellt auf dieser Basis ein Verfahren, das einen Weg zum Ziel liefert, den ihr in eure Visualisierung des Potenzialfeldes einzeichnen könnt. Die Funktion soll auch melden, wenn es keinen Weg gibt.

3. Sicherheit (25%)

Stellt euch vor, ihr wollt mit JavaStorms oder einer ähnlichen Technik, die auf der Fernsteuerung eines Roboters basiert, ein "sicheres" System bauen. Die Anforderungen sind folgende:

  • Der PC generiert Fahrbefehle (z.B. "fahre vorwärts", "drehe nach links" oder "Stopp"), die der Roboter ausführen soll. Er soll niemals andere Befehle ausführen, als der PC gesendet hat.
  • Die einzige Ausnahme besteht darin, dass er anhalten darf, wenn er einen Befehl nicht ausführen kann.

Diskutiert die möglichen Bedrohungen für das korrekte Funktionieren des Systems. Geht dabei systematisch vor und argumentiert, warum eure Bedrohungsanalyse vollständig ist. Was muss das Programm auf dem Roboter leisten, was das auf dem PC? In welchen Szenarien ist der Übergang in den sicheren Ausnahmezustand "STOPP" nicht hilfreich?

 
   
Autor: Dr. Thomas Röfer
 
  Kognitive Robotik II 
Zuletzt geändert am: 7. August 2002   impressum