WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Farbige LEDs tracken...

 

Willa
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 27.03.2009, 19:48     Titel: Farbige LEDs tracken...
  Antworten mit Zitat      
Hallo!
Ich habe einen Tricopter entwickelt (Videos siehe Anhang), den ich in meinem Zimmer autonom fliegen lassen möchte. Dazu fehlt mir eine absolute Positionsbestimmung (GPS scheidet natürlich aus). Ich dachte ich probiers mal mit ner Webcam die den Tricopter von unten filmt, die Position von drei farbigen LEDs bestimmt (R,G,B) und per Funk-RS232 dem Tricopter mitteilt wo er sich befindet. Evtl. funktioniert das ja so. Die Webcam möchte ich mit Matlab auswerten.
Ich habe jetzt mal eine blaue LED ins Bild gehalten, die ergibt im blauen Kanal des Bildes einen riesigen weißen Fleck, im roten und grünen Kanal ist aber auch noch deutlich ein weißer Fleck zu erkennen. So kann meine Webcam natürlich keinen unterschied zwischen den versch. Farben feststellen.... Gibt es da irgendeinen Trick? Wenn ich die LEDs viel dunkler mache ist das ja auch nicht grad so toll für die Zuverlässigkeit meiner Positionsbestimmung....
Viele Grüße,
William

tri2.wmv
 Beschreibung:

Download
 Dateiname:  tri2.wmv
 Dateigröße:  8.69 MB
 Heruntergeladen:  903 mal
Tri.wmv
 Beschreibung:

Download
 Dateiname:  Tri.wmv
 Dateigröße:  46.83 MB
 Heruntergeladen:  913 mal
Private Nachricht senden Benutzer-Profile anzeigen


Martin
Admin

Admin



Beiträge: 652
Anmeldedatum: 16.06.07
Wohnort: Bietigheim-Bissingen
Version: ---
     Beitrag Verfasst am: 27.03.2009, 20:22     Titel:
  Antworten mit Zitat      
Hallo William,

ich habe leider keine Lösung für Dich, aber möchte dein Projekt mal loben! Smile
Einfach eine klasse Sache und super Videos. Endlich mal eine Aufgabe zum "anfassen"! Cool

Finde ich wirklich super und viel Glück beim Umsetzen.

Viele Grüße Martin
_________________

Der kleine goMatlab.de-Knigge - Eine kleine Liste von wichtigen Regeln, die jeder beachten sollte
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 27.03.2009, 20:29     Titel:
  Antworten mit Zitat      
Hi Martin!
Schön dass es Dir gefällt! Mir macht es auch viel Spaß an dem Teil rumzubasteln und das Ergebnis von abstrakter "Rumfilterei" und "Programmiererei" direkt vor mir in der Luft zu haben. Jetzt wäre es natürlich schön wenn ich irgendwie Matlab mit dem Tricopter verknüpfen könnte.... Mich wunderts dass ich zu "LED Tracking Matlab" in Google nichts finde... Wenn ich irgendetwas mit ner Kamera tracken wollen würde, dann würde ich doch an das Objekt ne LED dran bappen, das sollte doch einen schönen Marker ergeben...
Aber anscheinend ist es nicht so leicht wie gedacht......
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 27.03.2009, 21:02     Titel:
  Antworten mit Zitat      
Hmm, eigentlich brauche ich gar keine farbigen Leds, wenn ich einfach den Suchradius beschränke, so dass die Leds nicht verwechselt werden können. Wenn alles klappt bewegt sich mein Copter ja auch fast nicht.
Hat jemand mal ein einfaches Point-Tracking versucht oder weiss jemand wo ich gute Infos darüber finde...?
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 27.03.2009, 22:03     Titel:
  Antworten mit Zitat      
Hi Willa,

ich finde auch, dass es eine spannende Geschichte ist, die du da vorhast. Hab mich auch mal damit beschäftigt allerdings fehlte mir dann das Geld dafür. Ist das bei dir Privat oder wird das von der Hochschule gefördert?

Zur Antwort: Normalerweise müsste die Kamera, die Farbe der LEDs erkennen können. Ein schneller Test mit meiner Handykamera und den mir umgebenden LEDs zeigte das es geht. Ich würde mal eine andere Kamera oder andere LEDs probieren.

Ansonsten wäre womöglich auch die Wii Fernbedienung in Kombination mit Infrarot-LEDs interessant für dich. Hätte den Vorteil, dass du wirklich nur die LEDs als Punkte sehen würdest. Der Rest wäre Schwarz. Ist dann womöglich einfacher als wenn du verschiedene Farben hast. Ansonsten fällt mir auch noch Soundtriangulation mit einem Mikrofonarray ein. Würde natürlich auch mit einem anderen Funksignal funktionieren. Guck auch mal wie das Fraunhofer Institut das damals gemacht hat. Hmm hab jetzt ne Stunde den richtigen Link gesucht. Hab aufjedenfall vor ner Weile einen fahrbaren Roboter gesehen, der auch eine Drohne oben drauf hat, welche alleine abhebt und wieder richtig landen kann. Wenn ich die Links noch finde poste ich sie.

Viel Erfolg noch,

der Oli

So hab den Link doch noch gefunden:

http://www.youtube.com/watch?v=Kh1SSfB2a5o
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 27.03.2009, 22:46     Titel:
  Antworten mit Zitat      
Hi Oli,
das ist komplett privat, kann froh sein wenn die Hochschule mir genug Zeit lässt um solche Dinge überhaupt zu machen... So teuer ist das aber echt nicht. Die Motoren kosten bspw. 4 Euro pro Stück, die Regler je 8 Euro. Gyros und ACC sind auch nicht sooo teuer. Insgesamt vielleicht 200 Euro (wenn man Modellbauer ist und Fernsteuerung, Ladegeräte etc sowieso schon hat). Allerdings kostet die Entwicklung von so einem Ding schon ziemlich viel Zeit...
Also die Webcam erkennt die Farbe der LEDs, allerdings sind die Dinger wohl so hell dass alle drei Farbkanäle am Anschlag sind. IR-Leds wären schön, allerdings bräuchte ich dann wie du gesagt hast ne spezielle Kamera dafür, bzw. einen Filter. Danke auch für den Link, auch wenn die Landung noch ziemlich unbeholfen aussieht steckt da sicherlich extrem viel Knowhow drin...
Eben hatte ich die Idee dass ich ne LED mit der halben Frequenz blinken lasse mit der aufgenommen wird. Z.B. wenn die kamera 30fps hat, blinkt die LED mit 15Hz. Dann ist die Led in den augenommenen Bildern immer abwechseln an und aus. Anschließend könnte ich immer Bild 1 minus Bild 2 rechnen usw. Jeder Bildbereich der nicht mit 15Hz blinkt sollte dann schwarz sein, die Led sollte als weisser Punkt erscheinen.
Aber wahrscheinlich müsste ich dann das Blinken exakt mit der Kamera Framerate synchronisieren, sonst wird das nix.
Ich würde aber gerne meine Webcam benutzen, denn dann muss ich kein Geld investieren sondern nur Zeit... hmmm... Vielleicht doch Ultraschallsensoren am Copter? Kostet aber ne ganze Menge...
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 28.03.2009, 00:34     Titel:
  Antworten mit Zitat      
Kannst du vll die Verschlusszeit und Empfindlichkeit der Kamera steuern?
Ist zwar nicht bei allen machbar, aber wenn ja, dann solltest du zumindest so die Übersteuerung in den Griff bekommen.

Sehr ehrgeiziges Projekt. Hut ab. Smile
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 30.07.2009, 17:23     Titel:
  Antworten mit Zitat      
Hallo,
dieses Thema lässt mich nicht los. Ich habe folgendes Problem...: Ich suche mir in zwei verschiedenen Bildern mit "centroids" die Zentren von hellen Punkten. Nun möchte ich folgendes machen:
Die Punkte, die am nähesten zusammenliegen sollen als "Gruppe" behandelt werden, so dass ich den Versatz der hellen Punkte jeweils herausbekomme. Aber wie stelle ich das an? Wie kann ich Matlab herausfinden lassen welches der näheste Punkt ist?
Hier mein bisheriger Code:
Code:

clear
clc
A1=rgb2gray(imread('track1.jpg'));
B1=rgb2gray(imread('track2.jpg'));
A = im2bw(A1, (200/255));
A = bwlabel(A,8);
A  = regionprops(A, 'centroid');
A = cat(1, A.Centroid);


figure
imshow(A1)
hold on
plot(A(:,1), A(:,2), 'b*')
hold off

B = im2bw(B1, (200/255));
B = bwlabel(B,8);
B  = regionprops(B, 'centroid');
B = cat(1, B.Centroid);

figure
imshow(B1)
hold on
plot(B(:,1), B(:,2), 'b*')
hold off
 


Die Bilder hänge ich auch mal an, damit ihr ggf. testen könnt.

track2.jpg
 Beschreibung:

Download
 Dateiname:  track2.jpg
 Dateigröße:  73.99 KB
 Heruntergeladen:  1183 mal
track1.jpg
 Beschreibung:

Download
 Dateiname:  track1.jpg
 Dateigröße:  73.99 KB
 Heruntergeladen:  1140 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 30.07.2009, 21:35     Titel:
  Antworten mit Zitat      
Habe eine Lösung gefunden. Einfach für jeden Punkt die Distanz zu den anderen Punkten berechnen und die geringste Distanz nehmen.
Hab mal wieder ein Video gecaptured, es werden 5 Leds getrackt. Allerdings muss der Threshold für die Binärisierung wohl noch angepasst werden. Aber immerhin klappt schonmal irgendwas. Allerdings schafft mein Computer nur 0.5 frames pro sekunde...

track.wmv
 Beschreibung:

Download
 Dateiname:  track.wmv
 Dateigröße:  294.42 KB
 Heruntergeladen:  848 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 02.08.2009, 01:25     Titel:
  Antworten mit Zitat      
Jetzt klappt das mit den LEDs tracken. Ich berechne die Distanz der LEDs zur Kamera, den Gierwinkel und die Position + Geschwindigkeit. Das sende ich dann per RS232 and den Copter. Theoretisch müsste ich damit den Copter stationär über der Kamera halten können. In der Praxis habe ich bestimmt wieder mal irgendwas nicht bedacht... Ein Video vom Tracking des Copters (noch nicht im Flug) gibt es im Anhang...
Ich guck mal morgen ob das funktionieren kann.

tritrack2.wmv
 Beschreibung:
3 Led Tracking

Download
 Dateiname:  tritrack2.wmv
 Dateigröße:  2.45 MB
 Heruntergeladen:  847 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 02.08.2009, 20:01     Titel:
  Antworten mit Zitat      
Der Vollständigkeit halber...:
Es ist vollbracht, Matlab steuert meinen Copter und hält in auf der Stelle:
http://www.youtube.com/watch?v=OD6i_fkT1ZE
Jetzt ein Bierchen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 03.10.2009, 12:08     Titel:
  Antworten mit Zitat      
Und hier nochmal das "Gesamtwerk" in einem schönen, kleinen Filmchen:

http://www.vimeo.com/6766174

gomatlab.de wird im Abspann auch kurz erwähnt. Schließlich wurde mir bei meinen Projekten stets souverän geholfen.

Viel Spaß beim angucken!

p.s.: Dieses LED-Tracking-Dings funktioniert mittlerweile sehr gut. Der Copter kann jetzt auch ganz autonom einen kleinen Pfad abfliegen. Falls das jemanden interessiert findet ihr Videos davon bei meinem Vimeo-Account:
http://www.vimeo.com/willa
_________________

Viele Grüße,
William
Meine Micro Air Vehicles
Private Nachricht senden Benutzer-Profile anzeigen
 
Olli
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 19.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2009, 14:58     Titel:
  Antworten mit Zitat      
Hi, hab eben erst dein Projekt gesehen und sieht sehr interessant aus. Möchtest du den Tricopter auch mal außerhalb deines Zimmers fliegen lassen? Ich könnte mir vorstellen, dass es Probelme bei Sonneneinstrahlung gibt besonders auch wenn du IR LEDs benutzen möchtest gerade auch weil du von unten filmst. Was passiert wenn der copter mal außerhalb des Bildbereichs kommt (durch eine Unachtsamkeit oder Unfall)? Da ich mich nicht so mit dem Gerät auskennen würde ich noch gerne wissen wie sich dein Tricopter stabilisiert? Nur anhand der Lichter? Wäre es nicht sinnvoller dies über ein oder zwei Lagesensoren auf den Tricopter direkt zu steuern und sich nur noch um die Position zum Sender zu kümmern?

Meine Vorschläge zur Positionsbestimmung wären dann noch (mal aus Sicht von vor einem halben Jahr gesehen) das du vielleicht nicht die farben aus dem Bild filterst sondern hingehst und entweder 3 LEDs an die Flächen machst und diese im vierertakt blinken läßt in der Art
1. Sekunde LED1,
2. Sekunde LED2,
3. Sekunde LED3,
4. Sekunde alles aus bzw alle 3 an um das erste LED eindeutig bestimmen zu können

oder aber an den ersten Arm 1 LED an den 2. Arm 2 LEDs ...

aus der heutigen Sicht und für die Zukunft wenn der Tricopter im Freien fliegen soll wäre es da möglich an jeden "Flügel" eine Art Funksender anzubringen, welche den Sender anpingen und man anhand der Laufzeit die Position zum Sender bestimmen kann?


P.S. Gibt es für dein Projekt einen Baukasten und was würde es zusammen kosten? Sieht echt sehr interessant aus Smile
Da gabs doch auch damals so ein Projekt im ccc-Camp oder so. Ich meine mal was darüber gelesen zu haben *hm*
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 03.10.2009, 15:14     Titel:
  Antworten mit Zitat      
Hallo Olli!
Dake für dein Feedback Very Happy .
Zitat:
Möchtest du den Tricopter auch mal außerhalb deines Zimmers fliegen lassen? Ich könnte mir vorstellen, dass es Probelme bei Sonneneinstrahlung gibt besonders auch wenn du IR LEDs benutzen möchtest gerade auch weil du von unten filmst.

Outdoor fliege ich nicht autonom. Das macht meiner Meinung nicht sooo viel Sinn, den im freien kann man auch "einfach" per GPS navigieren. Die Herausforderung und das Neue an diesem Projekt ist eben der autonome indoor Flug.
Zitat:
Was passiert wenn der copter mal außerhalb des Bildbereichs kommt (durch eine Unachtsamkeit oder Unfall)?

Im Moment ist das "nicht vorgesehen"... Man könnte aber relativ einfach eine Sicherheitsfunktion einbauen: Wenn Bildbereich (z.B. nach links) verlassen, dann steuere solange nach rechts bis der Copter wieder im Bild ist.
Zitat:
Da ich mich nicht so mit dem Gerät auskennen würde ich noch gerne wissen wie sich dein Tricopter stabilisiert? Nur anhand der Lichter?

Mein Copter wird durch 3 Gyroskope und einen 2-achs Beschleunigungssensor stabilisiert. Durch diese Sensoren bleibt er zwar immer waagerecht, aber er kennt seine absolute Position im Raum nicht. Diese kann man entweder per LED-Tracking bestimmen und regeln oder aber (outdoor) per GPS und elektronischem Kompass und Luftdrucksensor.
Zitat:
Meine Vorschläge zur Positionsbestimmung wären dann noch (mal aus Sicht von vor einem halben Jahr gesehen) das du vielleicht nicht die farben aus dem Bild filterst sondern hingehst und entweder 3 LEDs an die Flächen machst und diese im vierertakt blinken läßt

An soetwas hatte ich auch schon gedacht. Dazu müsste man aber die Kamera und die LEDs synchronisieren. Mit einem Blinktakt von 1 Sekunde würde man aber nicht weit kommen. Es müsste schon mit ca. 15Hz die Position erfasst werden, d.h. die LEDs müssten mit 3*15Hz Blinken, so schnell kann aber meine Kamera keine Bilder erfassen.
Zitat:
wäre es da möglich an jeden "Flügel" eine Art Funksender anzubringen, welche den Sender anpingen und man anhand der Laufzeit die Position zum Sender bestimmen kann?

Das wäre bestimmt möglich, aber auch sehr teuer... Mein LED-Tracking funktioniert ohne irgendeine teure Sache und ohne dass ich mir was neues kaufen musste.
Zitat:
Gibt es für dein Projekt einen Baukasten und was würde es zusammen kosten? Sieht echt sehr interessant aus

Noch gibt es den nicht, aber ich arbeite im Moment daran einen Schaltplan zu zeichnen und eine Platine zu entwerfen. Wenn du mehr Infos suchst kannst du hier mehr über mein Projekt lesen:
http://shrediquette.blogspot.com
www.tinyurl.com/tricopterthread
Die Kosten würden sich wohl auf ca. 300 Euro belaufen denke ich mal. Die Gyroskope sind leider das teuerste daran (ca. 55 Euro pro Stück)
_________________

Viele Grüße,
William
Meine Micro Air Vehicles
Private Nachricht senden Benutzer-Profile anzeigen
 
Willa
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 80
Anmeldedatum: 23.05.08
Wohnort: Bremen
Version: Willa v1.0
     Beitrag Verfasst am: 03.10.2009, 15:22     Titel:
  Antworten mit Zitat      
Übrigens befestige ich zur Positionbestimmung 4 LEDs am Copter (Bild siehe Anhang). Dadurch kann ich jetzt immer genau bestimmen wo vorne und wo hinten ist. Ich suche einfach nach zwei hellen Punkten mit dem geringsten Abstand zueinander -> das ist hinten. Dann bleiben noch zwei helle Punkte übrig die ich ebenfalls eindeutig zuordnen kann (ich gehe davon aus, dass mein Copter keine Loopings fliegt und die Kamera nicht von der Decke fällt).
Die Kamera ist wie gesagt mittlerweile an der Decke befestigt, damit ich auch autonom starten und landen kann und ein etwas größeres Sichtfeld bei der Kamera habe.

unbenannt_298.jpg
 Beschreibung:
LED Positionen Draufsicht

Download
 Dateiname:  unbenannt_298.jpg
 Dateigröße:  2.08 KB
 Heruntergeladen:  1122 mal

_________________

Viele Grüße,
William
Meine Micro Air Vehicles
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.