Boden-Luft-Abwehr: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:


== Durchführung ==
== Durchführung ==
Die Durchführung wurde in mehrere Abschnitte unterteilt. Zuerst wurde mit Beispielbildern die Bildverarbeitung bearbeitet, dann wurde die Webcam in Matlab eingebunden, danach wurde die Lego Motoren des Raketenwerfers über Matlab angesteuert und eine Regelung entworfen, welches den Raketenwerfer auf das erkannt Objekt ausrichtet und zuletzt wurden alle Programmteile zusammengeführt.
=== Bildverarbeitung ===
Um ein rotes Objekt zu erkennen wurde der Ansatz gewählt, nur die rote Matrix aus dem Bild zu nehmen, und dort anhand eines Schwellwertes zu entscheiden, welche Pixel zum Objekt gehören. Leider hat der RGB Farbraum keine befriedigenden Ergebnisse erbracht. auf Abbildung 2 ist deutlich zu Erkennen, wie sich das rote Objekt vom blauen Hintergrund abhebt, doch im der Matrix mit den Rotwerten und im Histogramm ist zu erkennen, dass die Farbe rot nicht besonders aus den anderen Farben heraussticht.
Daher wurde das Bild in einen anderen Farbraum transformiert. Angeboten hat sich hier der YCBCR Farbraum, da in diesem die Farbe rot deutlicher herauszufiltern ist. Hier ist sowohl im Teil CR (Chroma Rot) des Farbraums als auch im Histogramm zu sehen, dass die Farbe Rot deutlich hervorsticht (Abbildung 3). So konnte ein klarer Schwellwert vom Farbwert 160 festgelegt werden. Voraussetzung für die Funktionalität mit diesem Schwellwert ist natürlich, dass die Farbe rot ähnlih ist, wie auf dem Beispielbild und auch die Beleuchtungsverhältnisse stimmen, mehr dazu im Abschnitt Webcam.
Da in einem Bild mehrere Objekte rot sein können muss natürlich festgelegt werden, welches Objekt herauszufiltern ist. Hierzu wurde das Größte Objekt im Bild gesucht und extrahiert (Abbildung 4).


== Ergebnisse ==
== Ergebnisse ==

Version vom 23. Juni 2016, 21:15 Uhr

Autor: Adam Fankhauser

Betreuer: Prof. Schneider

Einleitung

Dieses Projekt wurde im Kurs Digitale Signal und Bildverarbeitung im Sommersemester 2016 als Bestandeil der Übungen durchgeführt und ist in diesem Artikel dokumentiert

Aufgabenstellung

Aufgabe in diesem Projekt war die Weiterführung des Projekts Lego Mindstorms Rocket Launcher aus dem Fachpraktikum Elektrotechnik (WS 14/15). Der mechanisch fertiggestellte Rocket Launcher sollte per Webcam ein Objekt, beispielsweise einen roten Ballon, erkennen, sich auf das Objekt ausrichten und eine Rakete gezielt darauf abfeuern. Die Steuerung sollte über Matlab erfolgen.

Vorbereitung

Grundlage der Steuerung war die Vorarbeit der Gruppe, die den Rocket Launcher mechanisch aufgebaut hat. Diese hat ihr Arbeit ausreichend dukumentiert und ein Simulink-Modell hinterlassen, welches die Steuerung über die Tasten des EV3-Moduls ermöglicht. Mit Hinblick auf die Erweiterung des Programms um die Steuerung und Regelung des Rocket Launchers sollte das Simulink Modell nicht weiter genutzt werden, sondern die Funktionen in Matlab Code umgesetzt werden.

Für die Einbindung der Webcam und des Lego EV3-Moduls wurde Matlab mit den Support Packages USB Webcams und LEGO MINDSTORMS ausgerüstet.

Durchführung

Die Durchführung wurde in mehrere Abschnitte unterteilt. Zuerst wurde mit Beispielbildern die Bildverarbeitung bearbeitet, dann wurde die Webcam in Matlab eingebunden, danach wurde die Lego Motoren des Raketenwerfers über Matlab angesteuert und eine Regelung entworfen, welches den Raketenwerfer auf das erkannt Objekt ausrichtet und zuletzt wurden alle Programmteile zusammengeführt.

Bildverarbeitung

Um ein rotes Objekt zu erkennen wurde der Ansatz gewählt, nur die rote Matrix aus dem Bild zu nehmen, und dort anhand eines Schwellwertes zu entscheiden, welche Pixel zum Objekt gehören. Leider hat der RGB Farbraum keine befriedigenden Ergebnisse erbracht. auf Abbildung 2 ist deutlich zu Erkennen, wie sich das rote Objekt vom blauen Hintergrund abhebt, doch im der Matrix mit den Rotwerten und im Histogramm ist zu erkennen, dass die Farbe rot nicht besonders aus den anderen Farben heraussticht.

Daher wurde das Bild in einen anderen Farbraum transformiert. Angeboten hat sich hier der YCBCR Farbraum, da in diesem die Farbe rot deutlicher herauszufiltern ist. Hier ist sowohl im Teil CR (Chroma Rot) des Farbraums als auch im Histogramm zu sehen, dass die Farbe Rot deutlich hervorsticht (Abbildung 3). So konnte ein klarer Schwellwert vom Farbwert 160 festgelegt werden. Voraussetzung für die Funktionalität mit diesem Schwellwert ist natürlich, dass die Farbe rot ähnlih ist, wie auf dem Beispielbild und auch die Beleuchtungsverhältnisse stimmen, mehr dazu im Abschnitt Webcam.

Da in einem Bild mehrere Objekte rot sein können muss natürlich festgelegt werden, welches Objekt herauszufiltern ist. Hierzu wurde das Größte Objekt im Bild gesucht und extrahiert (Abbildung 4).

Ergebnisse

Siehe auch

hier SVN Link

Weblinks




→ zurück zum Hauptartikel: DSB SoSe2016