Institut für Informatik, Universität Freiburg


Praktikum Robotik WS 2000/2001

AG Künstliche Intelligenz

 

In diesem Praktikum soll ein Einblick in die Grundlagen mobiler Roboter vermittelt werden. Dazu stehen vier Roboter des Typs Pioneer 1 und ein Roboter des Typs Pioneer 2 zur Verfügung. Alle Roboter sind zur präzisen Positionsbestimmung mit einem Laser-Scanner und zur Ballerkennung mit einer Kamera ausgestattet. Das Praktikum beginnt zunächst mit einer Einarbeitungsphase, in der sowohl der praktische Umgang mit den Robotern als auch theoretische Hintergründe erlernt werden sollen. In der zweiten Phase sollen dann drei Projekte bearbeitet werden.


Übungsblätter

Blatt 1 - Odometrieungenauigkeit

Blatt 2 - Sensor Messung / Objekterkennung (2.11.2000)

Blatt 3 - Behaviours I: Programieren von Prozessen mit Saphira (9.11.2000)

Blatt 4 - Behaviours II: Anfahren von Positionen mittels einfacher Pfadplanung (16.11.2000)

Blatt 5 - Vision I: Ballverfolgung und Ballsuche (23.11.2000)

Blatt 6 - Kicker I: Dribbelnde Roboter (30.11.2000)

Blatt 7 - Kicker II Torschütze (7.12.2000)

Blatt 8 - Kalmann Filter / Sensor Fusion (14.12.2000)

Blatt 9 - Challange: Welches Team stellt den besten Torschützen? (21.12.2000)

 


Projektarbeit

1. Markov-Lokalisierung / Scan-Matching

Markov-Lokalisierung und Scan-Matching sind zwei gängige Methoden zur Bestimmung der Position und Orientierung (Pose) mobiler Roboter. Beide Methoden verbessern schrittweise eine Schätzung dieser Pose durch Sensor Messungen der Umgebung (Laser Scanner/Ultraschallsensoren) und durch Sensor Messungen ausgeführter Aktionen (Odometrie). Während diese Schätzung bei Markov-Lokalisierung als eine Wahrscheinlichkeitsverteilung über alle Posen des Roboters repräsentiert wird, verwendet man bei Scan-Matching eine kompaktere Darstellung mittels einer Normalverteilung. Bei Scan-Matching wird zusätzlich ein spezieller Algorithmus zur Bestimmung der momentanen Position durch einen Vergleich von extrahierten Linien aus den Sensordaten mit einer gespeicherten Karte der Umgebung verwendet.

Da beide Methoden unterschiedliche Ansätze zur Repräsentation und Berechnung der Schätzung verwenden, können unterschiedliche Ergebnisse hinsichtlich Genauigkeit und Robustheit erwartet werden. In diesem Projekt soll ein Algorithmus zur Markov-Lokalisierung auf dem Fußballfeld implementiert werden. Hierzu können Sensormodelle aus den Übungen verwendet werden. Dieser Algorithmus soll dann hinsichtlich Genauigkeit (Angabe des mittleren Fehlers und der Standardabweichung) und Robustheit (Verhalten bei Kollisionen und dem Auftreten mehrerer dynamischer Objekte) mit dem vorhandenen Scan-Matching Algorithmus verglichen werden.

Zusatz Aufgabe: Kombination beider Methoden.

2. Der neue Torwart des CS Freiburg

Neben der durch Defensivspieler des CS Freiburg gut organisierten Abwehr, können die Leistungen des Torwarts als eher mittelmäßig eingestuft werden. Dieser Mangel entsteht einerseits aus der relativ unzuverlässigen Ballerkennung des Vision Systems und andererseits aus der Trägheit der Mechanik des Pioneer 1 Roboters. Deshalb wurde ein Roboter der neueren Reihe (Pioneer 2) angeschafft, dessen Motoren über mehr Leistung verfügen. Zusätzlich wurde dieser Roboter mit einer hochwertigen Sony Kamera und einem Framegrabber ausgestattet. Mit diesem Framegrabber können höhere Auflösungen verarbeitet und damit größere Entfernungen auf dem Fußballfeld ausgewertet werden. Zusätzlich kann der Ausschnitt der Kamera durch eine "Pan-Tilt-Zoom" Einheit bestimmt werden. Damit kann der Torwart den Ball ständig im Blickfeld behalten, ohne seine eigene Position und Orientierung zu verändern.

In diesem Projekt soll ein Saphira-Modul zur Ballerkennung und Verfolgung mittels des Framegrabbers und der "Pan-Tilt-Zoom" Einheit der Kamera realisiert werden. Für die Bildverarbeitung ("Blob" Erkennung) stehen fertige Algorithmen zur Verfügung. Ziel ist es, eine schnelle und zuverlässige Verfolgung des Balles zu realisieren, wobei gegebenenfalls die Position des Roboters verändert werden muß.

Zusatz Aufgabe: Balltrajektorienberechnung und Aktionsauswahl zur Verhinderung eines Tors.

3. Pfadplanung

Ein wichtiges Element für ein erfolgreiches Fußballspiel ist eine optimale Planung des Weges zu gewünschten Zielen. Die Schwierigkeit auf dem Fußballfeld für diese Planung besteht darin, daß Hindernisse (andere Roboter) sich dynamisch verändern. In diesem Projekt sollen selbst gewählte Ansätze zur Pfadplanung untersucht und gegebenenfalls als Saphira-Modul realisiert werden. Hierzu kann das Modul zur exakte Positionsbestimmung mittels Scan-Matching eingesetzt werden.



Arbeitsschritte:

Benutzung der Saphira Software

Für die Benutzung der Saphira Software auf einem der Roboter müssen Sie zunächst die notwendigen Umgebungsvariablen setzen, was mit dem Aufruf von source ~praktikum/prakEnv getan werden kann. Bequemer ist es jedoch, wenn man diesen Aufruf gleich in der Datei .login im Heimatverzeichnis folgendermaßen einträgt:

    set os=`uname -s`
    if ($os == Linux) then
        ~praktikum/prakEnvir
    else
        # Hier den Aufruf von Setup-Skripten auf der Sun eintragen.
        # bsp. setup xemacs
        # ...

    endif        

Nachdem die Umgebungsvariablen erfolgreich gesetzt wurden, kann die Saphira Software gestartet werden. Geben Sie dazu den Befehl $xsaphira ein und stellen Sie eine Verbindug mit dem Roboter durch den Menu-Aufruf Connect-->RT-IO-->dev/cua0 her. Die Oberfläche der Saphira Software sollte auf Ihrer Workstation erscheinen. Falls sie dies nicht tut, müssen Sie noch zusätzlich den X-Server auf ihrer Workstation mit dem Befehl "xhost +" freigeben.

Module, die von uns für das Roboterfußball entwickelt wurden, können zusätzlich geladen werden. Wählen Sie dazu den Menupunkt Files-->LoadPrograms und geben Sie den Namen des zu startenden Moduls ein. Zur Auswahl stehen die folgenden Module bereit:

  1. selflocalisation - Dieses Modul verbessert mittels des Scan-Matching Verfahrens die Positionsabschätzung des Roboters. Wenn dieses Modul gestartet wurde, kann von einer zentimeter genauen Positionsbestimmung auf dem Fußballfeld ausgegengen werden (siehe Dissertation von S. Gutman).
  2. vision - Dieses Modul stellt Funktionen zur Ballerkennung und Ball-Positionsabschätzung bereit (siehe Diplomarbeit von M. Thiel).
  3. kicker - Mit diesem Modul kann die Kick-Vorrichtung der Roboter angesteuert werden (siehe Memo von I. Herrmann).

Eigens erstellte Programme, wie zum Beispiel eines für die Kreisfahrt in Übung 1, können ebenfalls als "shared object" realisiert werden. Schauen Sie sich dazu folgendes Beispiel an und modifizieren Sie es im Sinne Ihres eigenen Moduls.


Literatur

ActivMedia, Inc, Saphira Software Manual, Version 6.1f

ActiveMedia, Inc, Pioneer 2 Operation Manual, Version 6

ActiveMedia, Inc, PSOS Manual, Version 4.9

ActiveMedia, Inc, Behaviours and Fuzzy Control

J.-S. Gutmann, W. Hatzack, I. Herrmann, B. Nebel, F. Rittinger, A. Topor, T. Weigel, and B. Welsch, The CS Freiburg Robotic Soccer Team: Reliable Self-Localization, Multirobot Sensor Integration, and Basic Soccer Skills, in: M. Asada, RoboCup-98: Robot Soccer World Cup II, Springer-Verlag, Berlin, Heidelberg, New York, to appear. (gzip'ed postscript file)

J.S. Gutmann, Robuste Navigation autonomer mobiler Systeme, Dissertation, Fakultät für Angewandte Wissenschaften, Univ. Freiburg, Okt. 2000. (gzip'ed postscript file)

A. Topor, Die Ballerkennung und Positionsschätzung des CS-Freiburg Teams beim RoboCup'98, Studienarbeit, Fakultät für Angewandte Wissenschaften, Univ. Freiburg, Feb. 1999. (gzip'ed postscript file)

A. Topor, Roboterfußball: Pfadplanung in dynamischer Umgebung, Diplomarbeit, Fakultät für Angewandte Wissenschaften, Univ. Freiburg, Feb. 1999. (gzip'ed postscript file)

M. Thiel, Roboterfußball: Zuverlässige Ballerkennung und Positionsabschätzung, Diplomarbeit, Fakultät für Angewandte Wissenschaften, Univ. Freiburg, Dez. 1999. (gzip'ed postscript file)

B. Dümler, Roboter-Schußvorrichtung. Memo, Aug. 2000 (gzip'ed postscript file)

J.-S. Gutmann, T. Weigel, and B. Nebel. Fast, accurate, and robust self-localization in polygonal environments. In Submitted, 1999.( gzip'ed postscript file)

G. Welch and G. Bishop. An introduction to the kalman filter. Technical Report TR 95-041, University of North Carolina, Department of Computer Science, 1995.(gzip'ed postscript file)

D. Fox, W. Burgard, and S. Thrun. Markov localization for mobile robots in dynamic environments. Journal of Artificial Intelligence Research, 11:391--427, 1999. (gzip'ed postscript file)

D. Fox, W. Burgard, F. Dellaert, and S. Thrun. Monte Carlo Localization: Efficient position estimation for mobile robots. AAAI-99. (gzip'ed postscript file)