Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation...

35
Gruppe Wall•E und ECAR Softwareentwicklungspraktikum Sommersemester 2008 Institut für Betriebssysteme und Rechnerverbund Abteilung Kommunikation und Multimedia Technische Universität Braunschweig Betreuer: Kai Homeier, Carina Flämig Kooperative Steuerung von Modellversuchsfahrzeugen

Transcript of Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation...

Page 1: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppe Wall•E und ECAR

Softwareentwicklungspraktikum

Sommersemester 2008

Institut für Betriebssysteme und RechnerverbundAbteilung Kommunikation und Multimedia

Technische Universität Braunschweig

Betreuer: Kai Homeier, Carina Flämig

Kooperative Steuerung von Modellversuchsfahrzeugen

Page 2: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Vorstellung der Gruppen

Aufgabenbeschreibung

Vorstellen der Lösungsansätze Gruppe Wall•E Gruppe ECAR

Page 3: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Gruppe Wall•E Daniel Rother Mark Albers Isabel Hungar Romuald Simo Kom Francoise Jacqueline Ekoue Timo Veit

Gruppe ECAR Günter Dusch Rayan Merched El Masri Ekrem Enes Duman Zhiwei Chen Wira Kakar

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAREinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 4: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Besonderheiten am Projekt Homepage zur ständigen Präsentation nach außen Ernennung von Phasenverantwortlichen nach Abschluss einer Phase Präsentation durch

Phasenverantwortlichen vor beiden Gruppen (ca. jede 2. Woche)

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAREinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 5: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Roboter vom IBR

Anforderungen: selbstständig in einem unbekannten Labyrinth fahren nicht mit Hindernissen kollidieren ein Zielobjekt (roter Ball) finden seine Position im Labyrinth anhand von Baken berechnen

optional: Einsatz mehrerer Roboter

Programmieren in C++

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 6: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Auf dem Roboter: eine Webcam bis zu acht Abstandssensoren sonstige Hardware:

– Mini-ITX Board– Motorsteuerung

Framework zur Ansteuerung der Hardware vom IBR gegeben

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 7: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Simulator nicht auf Hardware angewiesen zum einfacheren Testen

mit Config-Datei lässt sich das Labyrinth leicht editieren

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 8: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 9: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 10: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 11: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von

Allgemeine Projektbeschreibung endet hier.

ES FOLGT:

Präsentation der gruppenspezifischen Arbeit

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 12: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 13: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Use-Case-Diagramm

Page 14: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Ablauf unseres Programms: der Benutzer schaltet den Roboter ein und startet das Programm zunächst überprüft der Roboter seine Hardware und gibt ggf.

eine Fehlermeldung aus anschließend wird die eigentliche Suche gestartet dabei wird der Weg protokoliert wenn der Ball gefunden wurde, fährt der Roboter zu diesem und

beendet das Programm

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 15: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Schwierigkeiten bei dem Suchalgorithmus kein „klassischer“ Irrgarten

sondern freie Fläche mit Hindernissen

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 16: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Grundidee unserer Suche: der Roboter entscheidet sich alle drei Sekunden für eine neue

Richtung dabei bevorzugt er Orte, an denen er noch nicht war Hindernissen wird ausgewichen

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 17: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Positionsbestimmung farbige Baken in den Ecken des Labyrinths über Triangulation wird die Position berechnet

während der Fahrt werden Fahrtrichtung und Strecke protokoliert und daraus die aktuelle Position berechnet

alle zwölf Sekunden wird die Position mithilfe der Baken neu berechnet

diese neu gemessene Position wird mit der zuvor berechneten verglichen

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 18: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 19: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Komponente: Bildverarbeitung mithilfe von OpenCV Bakenerkennung

– Rechtecksdetektion mit Canny-Algorithmus– Colortracking mit CamShift

Zielobjekterkennung– Canny-Algorithmus– Kreisfindung mit der Methode der kleinsten Quadrate– Colortracking mit CamShift

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 20: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 21: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 22: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 23: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Komponente: Logik Hauptkomponente unseres Programms koordiniert die Suche und das Ansteuern des Zielobjekts

– wählt Fahrtrichtung aus– steuert die Motoren– reagiert auf die Sensoren– fordert Bilder der Webcam an und lässt sie analysieren

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 24: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von ModellfahrzeugenEinleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 25: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Modellfahrzeugen

Demonstration:

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 26: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von

Team: ECAR [ Extreme Challenge for Autonomous Robots ]

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 27: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von

Programmablauf Initialisierung und Start durch den User Roboter erkundet das Labyrinth autonom Positionsberechnung immer wenn:

– Richtungsänderung– Countdown abgelaufen

Bildverarbeitung– Canny-Algorithmus und weitere aus der openCV-Bibliothek

Zur Identifikation des ges. Objektes (roter Ball) Zur Identifikation der Baken

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Page 28: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

TemplateMatching Bild des gesuchten Objekts wird über das aktuelle geschoben An jeder Position wird ein Ähnlichkeitsmaß brechnet Wenn Postion hinreichenden Ähnlichkeitswert hat, dann wird

davon ausgegangen, dass sich das ges. Objekt dort befindet.

Page 29: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

TemplateMatching

Page 30: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Kreuzpeilung Voraussetzung: 2. beobachtbare Punkte im Gelände mit

bekannter Position Richtung und Winkel zum ersten Punkt messen Richtung und Winkel zum zweiten Punkt messen Der Schnittpunkt der beiden Geraden bildet die Position des

Fahrzeugs

Page 31: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Kreuzpeilung

Page 32: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Wozu eine Positionsberechnung mit Baken? prinzipiell auch ohne Baken möglich Startposition gegeben, restliche Positionen berechenbar

(Geschwindigkeit, Winkel, Zeit) Vorteil: Geringer Aufwand Problem: Ungenauigkeit

– daher Positionsberechnung mit Baken und Kreuzpeilung

Page 33: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Suchprozess Labyrinth wird in kleine Einheiten (Zellen) unterteilt Da kein konventionelles Labyrinth

– Bsp. Tiefensuche ungeeignet Daher sukzessive Suche von Zelle zu Zelle (20x20cm)

Speicherung bereits besuchter Wege

Page 34: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

Gruppen Wall•E und ECARZwischenpräsentation

Kooperative Steuerung von Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR

Unterteilung des Labyrinths in Zellen

Page 35: Kooperative Steuerung von Modellversuchsfahrzeugen · Use-Case-Diagramm. Zwischenpräsentation Gruppen Wall•E und ECAR Kooperative Steuerung von Modellfahrzeugen Ablauf unseres

ZwischenpräsentationGruppen Wall•E und ECAR

Kooperative Steuerung von

Wir bedanken uns für die Aufmerksamkeit

Einleitung Aufgabenbeschreibung Gruppe Wall•E Gruppe ECAR