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 2- Sensor Messung und Objekterkennung

Abgabe/Vorführung: 15.11.2001

Anleitung

Um einen Eindruck über die Funktionsweise des Laser-Scanners zu erhalten, steht Ihnen ein spezieller Crystal-Client zur Verfügung. Bitte installieren Sie dieses Programm in ihrem Verzeichnis und starten Sie es anschließend mit dem Aufruf ./aufgabe2. In diesem Demo wird die Datenstruktur "Scan" verwendet, deren Definition in Scan.h gefunden werden kann. Verwenden Sie diese Datenstruktur um die folgende Aufgaben zu lösen.

Vorüberlegung

Jeder Roboter ist mit einem Laser-Scanner ausgestattet, welcher in sehr kurzen Zeitabständen Sensorbilder der Umgebung des Roboters liefert. Hierbei werden Laserstrahlen in den vorderen Bereich (180°) des Roboters emittiert und die Laufzeiten von der Emission bis zur Rückkehr der an Hindernissen reflektierten Strahlen gemessen. Anhand dieser Laufzeiten können präzise Entfernungen zu Wänden oder nahen Hindernissen ermittelt werden. Bedingt durch die viel höhere Ausbreitungsgeschwindigkeit von Licht gegenüber Schall (wie z.B. bei Ultraschallsensoren verwendet), entstehen bei der Laser-Messung ein vergleichbar geringe Fehler.

Eine übliche Vorgehensweise in der Robotik ist es, wichtige Merkmale aus Sensorbildern zu extrahieren. Zum Beispiel für das Roboterfußball ist das Extrahieren von Ecken und Kanten des Feldes und das Extrahieren von Positionen und Umrisse anderer Roboter von großer Wichtigkeit.


Aufgabe 1

Überlegen Sie sich einen Algorithmus zum Herausfiltern von Linien (Reflexionen der Feldgrenzen) aus den Sensorbildern des Laser-Scanners. Betrachten Sie anschließend die vorgegebenen Methoden ScanLineScanDifferenceFilter und ScanMedianFilter (Eine Beschreibung befindet sich in der Dissertation von S. Gutmann) .

Aufgabe 2

Schreiben Sie einen Algorithmus zur Erkennung von Objekten auf dem Fußballfeld. Verwenden Sie dazu Daten, die von Linien "gesäuberten" sind. Es genügt hierbei, Objekte anhand ihres Mittelpunktes und eines umschließenden Kreises zu beschreiben. Verschiedenartige Objekte müssen nicht unterschieden werden können. Erzeugen Sie eine Datenstruktur, in der mehrere Objekte dynamisch gespeichert werden. Zeichnen Sie zusätzlich die erkannten Objekte im Crystal-Fenster ein, ggf. mit verschiedenen Nummern versehen.

Aufgabe 3

Testen Sie die Genauigkeit ihrer Objekterkennung an dem Torwart des CS Freiburg. Messen Sie dazu verschiedene Entfernungen und Winkel zu dem im Tor stehenden Torwart und bestimmen Sie den Fehler der Entfernungs- und Kreisradiusschätzung. Wie könnte man den Gegner präziser erkennen?

Hinweis: Die Fähigkeiten Ihres Roboters zur Erkennung der Position und Grösse des Torwartes sind von entscheidender Wichtigkeit für den kurz vor Weihnachten stattfinden Wettbewerb im Tore schießen!


Abgabe