PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Graustufen Sensor



muzy
30.09.2008, 20:08
Hallo

Ich suche einen Sensor, welcher Graustufen auswerten kann. Ein Farbsensor ist mir ein wenig zu Groß dafür, da nur 2 Farben (Braun und Grün) Auseinander gehalten werden müssen, und ich denke ein Graustufensensor reicht da?

Eine Auswertung über Pc möchte ich nicht wirklich machen, da ich keine Ahnung habe, wie ich dem Controllerboard die Werte übergeben kann.

Grüße

Sebastian

Besserwessi
30.09.2008, 21:05
Braun und grün sind gar nicht so leicht auseinanderzuhalten. Wenn man Pech hat, können die auch den selben Helligkeitswert haben. Man sollte aber mit einem Vereinfachten Farbsensor auskommen, nur mit den Farben rot und grün. Im einfachsten Fall also eine Photodiode Verstärker und je 1 LED rot und grün die vom Controller gesteuert werden.

muzy
30.09.2008, 21:12
Also muss ich sozusagen zweimal die Photodiode abfragen ?

Also Einmal grüne LED an und dann die Auswertung der Photodiode und einmal rote LED an und dann die Messwerte der Photodiode schauen ?

Besserwessi
30.09.2008, 21:42
So ähnlich,
weil es sehr schwer ist alles fremdlich fernzuhalten wird es darauf hinauslaufen im wechsel ohne LED, mit rot und mit grün zu messen. Werte ist dann die Differenz zwischen dem Photostrom mi einer LED und ohne interessant. Je nach Hinterdrundstörungen sollte man diese Messung einige male Widerholen, um z.B. 100 Hz Störungen aus dem Umgebungslicht zu unterdrücken.
Man bekommt dann für jede Probe 2 Werte. Um eher grünliche von eher rötlichen (braunen) farben zu unterscheiden könnte man z.B. das Verhältnis der beiden Werte nehmen.

Um nicht zu sehr auf den Glanz der Probe zu reagieren könnte die Ausrichtung z.B. so sein, das die Photodiode senkrecht zur Probe mißt, die LEDs aber seitlich streifenden Einfall haben. Als Photodiode wäre z.B. die BPW24 sehr gut geeigenet, denn da ist schon gleich eine Linse mit dran. Besonders die grüne LED sollte relativ hell sein, denn da ist da Auge recht empfindlich, Photodioden aber eher weniger.

muzy
30.09.2008, 21:46
Um das Anwendungsgebiet vlt mal zu erläutern, ich möchte auf einer braunen Fläche (in dem Fall Erde) Pflanzen (grün) erkennen und damit agieren können mit den Werten. Ich hab hie rim Forum schon häufiger etwas gelesen von einer Auswertung mit Kamera, jedoch hab ich noch nie etwas darüber gelesen wie Werte dem Board übergeben werden können.

Dies mit den LED's ist einleuchtend, aber das mit dem Licht abschirmen sollte weniger ein Problem sein , denke ich zumindest!

Besserwessi
30.09.2008, 22:25
Gerade wenn es um die erkennung von Pflanzen geht, ist der Sensor mit LEDs vielleicht doch nicht so gut, denn man doch relativ viel Abstand und eine rauhe, auch von der Form her undefinierte Oberfläche (es sei den man hat nur Flechten oder dünnes Moos). Das Problem das man dann hat, es es einen genau defierten Punkt zu untersuchen ohne viel optischen Aufwand. Das Abschirmen von Fremdlicht kann man durch das widerhohlte an/aus der LED weniger wichtig werden lassen. Ohne Das wird man kaum auskommen können.

Da wäre dann eine Farbkammera oder ein Extra Farbsensor eventuell doch besser. Statt der Farbkammera eventuell auch nur eine Farb CCD Zeile.

muzy
01.10.2008, 08:53
Wobei cih das Problem habe mit der Kamera, Wie lese ich diese aus? Kann das ein Mikrocontroller?

Und auch die CCD Zeile wüsst ich a) nicht wo ich die herbekommen würde und b) wie ich diese auslesen kann.

i_make_it
01.10.2008, 11:24
Was außer dem Preis spricht dagegen ein PC104 Board eine USB Farb Kamera und ein USB nach I2C Konverter zu nehmen und Zugriff auf fast alle Bilderkennungssoftware für PC's zu haben?
Der Speicher, die Rechenleistung und die zur Verfügung stehende Software sprechen dafür.
Mann kann schön per Kanten oder Muster Erkennung die Pflanze identifizieren oder gleich mit zwei Kameras ein Stereobild verarbeiten.
Per IC2 können Daten an den MC gehen und zur Robotersteuerung benutzt werden.
Mann kann auf existierende Librarys aufsetzen und muß nicht alles neu entwickeln.

muzy
01.10.2008, 12:08
Also von dem Posting versteh ich nur die hälfte, sorry.

Also mein Peoblem liegt bei Verbindung von dem PC zur eigentlichen Board bei der Kameravariante!

i_make_it
01.10.2008, 12:34
Nun ein PC104 Board z.B. MOPS/520 ist ein Embedded PC auf einer kleinen Platine (kleiner Euroformat).

Du verarbeitest das Bild komplett im PC. z.B. kannst Du mit zwei Kameras eine Stereo Kamera aufbauen und somit die Position von Objekten relativ zu den Kameras feststellen. (Stichwort Stereobasierte Tiefenkarte)
Oder halt per Kantenextraktion und daraus folgend Umrissbildnung und anschließende Farbwertfeststellung des so freigestellten Objeketes, die durchschnittliche Farbe ermitteln.
Jetzt mußt du dir ausdenken was dein Roby machen soll.
Und edntsprechende I2C Datagramme designen die dann der Steuer MC verarbeitet.
z.B. Kameraträger steht auf 12Uhr = zeigt genau vor den Roby.
Bildverarbeitung liefert einen Baum 120 cm vor den Kameras und 20 cm rechts von der Mittelachse.
Der Roby ist 50cm breit.
Er muß also mindestens 5cm nach links ausweichen um den Baum zu umfahren.
Oder aber du erkennst einen Apfel und kannst aus Entfernung, Seitenrichtwinkel und Höhenrichtwinkel dessen Position relativ zu einem Greifarm der ihn pflücken soll errechnen, dann müssen halt diese Offset Daten an den Steuerrechner des Greifers gehen oder an den Roboter steuerrechner falls der Apfel noch außer Reichweite des Arms ist und duch ändern der Roby Position in Reichweite gebracht werden kann.
Die kopplung ist also abhängig davon was du machen möchtest.
Wenn du einen einfachen Farbsensor haben willst, wirst du nur RGB Werte übergeben.
Wenn eine Verfahrinformation benötigt wird, dann benötigst du nach der Identifizierung der Pflanze deren Positionsdaten relativ zum Roboter.

Besserwessi
01.10.2008, 17:52
Eine Farb ccd Zeile könnte man z.B. aus einem alten Scanner kriegen, ader z.B. von Pollin als Restposten. Das Ansteuern wäre theoretisch auch vom Controller aus möglich, allerding nicht ganz einfach.

Crazy Harry
02.10.2008, 09:09
Ich mache gerade Versuche mit dem TCS230 (Farbsensor) und denke das wäre was für dich. Beleuchtung mit RGB-LEDs und nacheinander die Kanäle R, G, B und Helligkeit auslesen. Damit läßt sich braun und grün bestimmt unterscheiden und teuer ist der Sensor glaub ich (hab ihn nicht gekauft :D ) auch nicht.

i_make_it
02.10.2008, 10:23
Ich denke muzy sollte mal genau definieren was der Sensor können soll.

-Berührende Erkennung (schließt Fremdlicht aus, geht aber meist nur bei regelmäsig geformten Körpern. Außerdem Muß der Sensor erst mal positioniert werden)

-Erkennung von Objekten die sich in der Umgebung des Roboter befinden.

-Wie klar sind denn die grüne und braune Farbe? Welche Bandbreite kann eine Farbe annehmen? Das schließt ggf. einen Grauton Sensor komplett aus.
(Wer erinnert sich an die Fotokopiersicheren Levelcode Karten von Computerspielen der 80er Jahre? Rot auf braunen Grund. Die Farben waren so gewählt das die Graustufen Sensoren der Kopierer eine homogene graue Fläche erkannten.)

Mein erster Farbsensor arbeitete wie im folgenden Bild.
IR und UV fehlten in Version 1 noch.
http://www.bilder-hochladen.net/files/8b02-1.jpg
Das Ganze wurde durch eine C-Control der ersten Generation gesteuert und unterschied die Farben von verschiedenen "Bauklötzen" die mein Industrieroboter nach Farbe, Metall/nicht Metall und Gewicht sortierte.

Frank E.
14.10.2008, 22:01
Hallo,

ich würde mal Tests mit Infrarot machen. Pflanzen sehen nicht nur grün aus, sondern reflektieren auch in ganz erheblichem Maße IR. Ich kann mich da an (analoge) IR-Fotos erinnern, auf denen Bäume schneeweiß aussahen ...

Frank