Datum | Autor | Änderung | Version |
---|---|---|---|
07.04.2008 | Kai Homeier | Initiale Version | 1.0 |
Auf den bestehenden Modellversuchsfahrzeuge des IBR soll ein kooperativer, intelligenter Fahrentscheider entwickelt werden. Für ein auf dem Fahrzeug installiertes mini-ITX Board müssen Bildverarbeitung, Ortung und Fahrstrategie implementiert werden.
In einem unbekannten Labyrinth sollen kamerabasiert Objekte gefunden werden (z.B. ein Ball). Zur Orientierung ist es notwendig vorhandene Baken anzupeilen.
Das Programm ist wahlweise in der Programmiersprache C++ oder Java zu erstellen. Die Wahl der Programmiersprache ist dabei gruppeneinheitlich zu treffen.
Für die einzelnen Phasen des Praktikums gibt es pro Gruppe jeweils einen Phasenverantwortlichen, der für das Erreichen des Phasenziels verantwortlich ist.
Dieses Dokument beschreibt die kooperative Steuerung von Modellversuchsfahrzeugen, die als Aufgabe des Softwareentwicklungspraktikums im Sommersemester 2008 durchgeführt wird. Die zu implementierenden Fähigkeiten des Programms werden in den nachfolgenden Abschnitten beschrieben.
Die Aufgabe wird von allen Gruppen parallel bearbeitet.
Da nicht jede Gruppe permanenten Zugriff auf das Fahrzeug haben kann, wird die Entwicklung an stationären Rechnern im CIP-Pool (Raum G40) unter Mac OS X durchgeführt. Die entwickelte Software muss jedoch regelmäßig auch auf den Fahrzeugen erprobt und getestet werden, die unter Linux laufen. Aus diesem Grund wird der Remote-Zugang zu Linux Servern zum Testen des eigenen Programms während des gesamten Praktikums gegeben sein.
Das Fahrzeug soll sich von einer beliebigen Startposition aus Orientieren können. Hierzu sind Baken zu entwerfen, die an dem Fahrzeug bekannten Positionen aufgestellt werden und die möglichst gut durch das Kamerasystem erkannt und unterschieden werden können. Wurden die Startposition und -orientierung festgestellt, kann die aktuelle Position nach Fahrmanövern geschätzt werden. Die geschätzte Position muss regelmäßig überprüft und korrigiert werden.
Um die zu findenden Objekte (bspw. den Ball) und die Baken im Kamerabild zu identifizieren müssen geeignete Operatoren ausgewählt, entwickelt und auf die Kamerabilder angewendet werden. Denkbar ist eine Analyse der Bilder über den Farbraum, durch Kandenfindung (zB. Canny-Algorithmus) und mittels Hough-Transformationen (auch für Kreise)...
Eine Kalibrierung der Kamera ist hierfür notwendig um gefunden Objekte aus dem Bildraum in ein Weltkoordinatensystem umzurechnen. Auch hier bietet zB. openCV gute Hilfestellungen.
Die Fahrzeugansteuerung wird über die Klasse Robot des bereitgestellten Frameworks ermöglicht. Beispiel:
Die Kalibrierung des Fahrzeugs ist in Robot.h zu finden und ggf. zu verfeinern.
Die Kamera kann unter C++ durch die open-Source Bibliothek openCV angebunden werden. OpenCV enthält weiterhin viele Grafik-Routinen die genutzt werden können.
Auch hier bietet das Framework Einstiegshilfen:
Abstandssensorik: TBD
Vacancies of TU Braunschweig
Career Service' Job Exchange
Merchandising
Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
P. O. Box: 38092 Braunschweig
GERMANY
Phone: +49 (0) 531 391-0