Allgemeines
Inhalt
Für Forschung und Lehre in der AG Wissensbasierte Systeme werden einige Exemplare des Robotertyps KURT2 bzw. KURT-3D angeschafft, von denen zum Ende Januar 2005 zwei Exemplare geliefert wurden. Im Praktikum sollen einige Steuerungs-, Navigations- und Umgebungserkennungsfunktionen auf diesen Robotern in einfacher Form realisiert werden. Weiterhin soll in einem Robotersimulator (USARSim) ein Modell der KURT2-Roboter integriert und im Vergleich mit den physischen Robotern evaluiert werden.
Anwendungskontext für die Softwarekomponenten ist RoboCup Rescue Robot League.
Literatur:
- S.J. Russell, P. Norvig: "Artificial Intelligence. A Modern Approach", 2nd Edition, Prentice Hall, 2003; Kap. 25 ("Robotics", von Sebastian Thrun)
- G. Dudek, M. Jenkin: "Computational Principles of Mobile Robotics", Cambridge Univ. Press, 2000
WWW-Ressourcen, allgemein
Arbeitspakete
Simulator (2 + 2 Studierende)
Basierend auf dem Computerspiel Unreal Tournament entwickeln Sie einen
Robotersimulator für den Rettungsroboter Kurt3D. Zunächst installieren
Sie Unreal Tournament 2003, die Software Pyro und Microsoft Visual
Studio (C++) auf die Praktikumsrechner. Eine Teilgruppe soll ein
Umgebungsmodell von Gebäude 31, 5. Stock, erstellen. Die zweite
Teilgruppe erstellt ein virtuelles Modell von Kurt3D. Anschließend
soll das bestehende Roboterkontrollprogramm für die Simulation
abgeändert werden. Ziel dieser änderungen ist es, die Steursoftware
für den Simulator nutzbar zu machen. Dabei soll sich der virtuelle
Roboter analog dem echten Roboter verhalten.
Weitere Informationen:
USARSim
Unreal Tournament
Pyro
Microsoft Visual Studio
Kurt3D
Opfererkennung (2 Studierende)
Für RoboCup Rescue ist es wichtig, Überlebende zu detektieren. In
diesem Arbeitspaket entwickeln Sie unter Verwendung der
OpenCV-Bibliothek C++-Algorithmen, die den Operator unterstützen
sollen. Dazu gehören neben der Bewegungserkennung auch eine
Farbsegmentierung und Hautfarbenerkennung.
Weitere Informationen:
OpenCV (Intel)
OpenCV (SourceForge)
Motion
CVonline
Geometrische Zusatzattribute für 3D-Daten (2 Studierende)
In diesem Arbeitspaket implementieren Sie Algorithmen zur Bestimmung
geometrischer Zusatzattribute für 3D-Daten. Die Daten werden dabei mit
einem 3D-Laserscanner aufgenommen. Zum einen soll eine semantische
Interpretation (Fußboden, Wände, Decken) bestimmt werden, zum anderen
muss für jeden Punkt das Normal berechnet werden. Anschließend werden
3D-Flächen mit Hilfe der zusätzlichen Attribute aus der Punktmenge
bestimmt.
Weitere Informationen:
3D-Laserscanner
Paper: Colored Maps
Paper: Surface Normals
SPLAM (2 Studierende)
Der Rettungsroboter Kurt3D wird von einem Operator gesteuert, der den
Roboter in einem Stop-Scan-Go-Prozess betreibt. In diskreten
Abständen wird gestoppt und ein 3D-Scan zur Kartierung
aufgenommen. In diesem Arbeitspaket entwickeln Sie ein Modul, das den
Operator bei der Entscheidung zur Scanaufnahme unterstützt. Dazu
müssen C++-Funktionen geschrieben werden, die den
Überlappungsbereich von Arealen nachhalten und planen (SPLAM =
simultaneous planning, localization, and mapping).
Weitere Informationen:
Polygon Clipping
Microcontroller (2 Studierende)
In diesem Arbeitspaket beschäftigen Sie sich mit der
Microcontrol-Software der Kurt-Plattform. Ein Infineon C-167 steuert
die Motoren, liest die Sensoren aus und kommuniziert mit dem
Laptop. Der C-167 wird in C programmiert. Sie suchen eine sogenannte
"tool-chain" und versuchen damit, den vorhandenen C-167 Code
zu compilieren, zu linken, und ihn auf den Roboter zu
transferieren. Anschließend programmieren Sie den vorhandenen,
z.Zt. auf dem Notebook laufenden PI-Regler auf dem C-167 nach.
Weitere Informationen:
Kurt2
Phytec C-167 Board
C-166
Macroassembler AS
vbcc
Keil 167
Human-Robot-Interface (2 Studierende)
In diesem Teil des Praktikums entwickeln Sie ein Interface für den
Rettungsroboter Kurt3D. Dazu werden Sie an die vorhandene
Serversoftware eine Java-basierte Oberfläche programmieren. Da die
Serversoftware in C++ geschrieben ist, verwenden Sie zur Verbindung
das Java Native Interface (JNI).
Weitere Informationen:
JNI
| Last changed: 2004-12-01 |