PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Objekte erkennen



Roboter n00b
15.09.2005, 19:39
Hi Liebe Forumler^^

Ich hätte eine kleine Frage: Ich möchte meinem bot die fähigkeit beibringen, dass er z.B rote Colabüchsen erkennen kann, und dann mit einem greifarm oä. aufnehemen kann. Was für ne sensorik brauch ich da?

danke vielmal

Manf
15.09.2005, 22:37
Die Aufgabe der Unterscheidung besteht immer darin, das Zielobjekt von etwas Anderem zu unterscheiden. Was ist das Andere?
Eine Dose wie die Coladose nur in einer anderen Farbe?
oder etwas anderes im Gewicht leer voll?
Wie sind die Zielobjekte angeordnet, die alle in Reichweite des Greifarms stehen? Stehen sie sortiert?
Manfred

Roboter n00b
15.09.2005, 22:58
hi Manf
Also die Coladose hab ich primär wegen des Farbunterschiedes gewählt, da ich mir vorstellen könnte, aufgrund der Farbe so etwas zu realisieren. Nun, wäre das mit irgend einem Farbsensor möglich?

Die dosen würde ich gerne willkürlich anordnen, sodass der robby frei durchs zimmer fährt, und wenn er eine dose bermerkt, diese aufnimmt

gruss Serge

Manf
15.09.2005, 23:37
Es gibt also eine ebene (begrenzte) Fläche auf der irgendwo, an verschiedenen Stellen, eine rote Coladose "steht".
Diese soll gefunden und aufgesammelt werden.

Es ist mir schon klar dass das der Versuch ist eine willkürliche Spezifikation festzunageln, aber es wäre halt der nächste Schritt.
Manfred

Roboter n00b
15.09.2005, 23:40
ok, aber bevor ich überhaupt mal was probieren kann, muss ich eben noch wissen, wie ich genau eine rote büchse als solche identifizieren kann :)

Manf
15.09.2005, 23:47
Ja, das ist schon in Ordnung.
Nur, wenn man eine ebene Fläche hat auf der rote Coladosen stehen, sollte man versuchen sie an der Farbe zu erkennen, oder an der optischen Reflexion überhaupt, oder duch Fühler?
Sind die Alternativen im Sinne der Aufgabenstellung? oder geht es um Farberkennung?
Manfrd

Günter49
16.09.2005, 14:11
Wenn es nur um das Erkennen roter Farbflächen geht und die ganze Rechnung mit einem µ-Controller ausgeführt werden soll, ist die CMUcam (bei ausreichender und vor allem gleichbleibender Beleuchtung) eine mögliche Lösung.

Steht mehr Rechen-Power zur Verfügung (PC) kann man auch eine normales Web-Cam-Bild auf rote Farbflächen untersuchen. Als Beispiel - in Ermangelung einer Cola-Dose - ein Bild mit einer roten Mülltonne.( Web-Cam Bild 320x240 mit eigenem Visual Basic5 Programm ausgewertet )

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=678

Schwieriger wird es, wenn du eine rote Cola-Dose von einer etwa gleich großen roten Schachtel unterscheiden willst. Dann wirst du dich schon etwas in die Bildverarbeitung einarbeiten und/oder weitere Sensoren zu Hilfe nehmen müssen.

Gruß, Günter

Roboter n00b
16.09.2005, 16:34
Ja, das ist schon in Ordnung.
Nur, wenn man eine ebene Fläche hat auf der rote Coladosen stehen, sollte man versuchen sie an der Farbe zu erkennen, oder an der optischen Reflexion überhaupt, oder duch Fühler?
Sind die Alternativen im Sinne der Aufgabenstellung? oder geht es um Farberkennung?
Manfrd


Also es sind alle Alternativen in ordnung, solange sie funktionieren, und eine gewisse herausforderung darstellen :)

@Günter
Die idee gefällt mir schon mal sehr gut^^
Wär das mit so einer Cam realisierbar?
http://www.roboter-teile.de/Shop/pd122651047.htm?categoryId=2

als uC steht mir ein avr32 zur verfügung (RNC)

hab ich das jetzt richtig verstanden, dass ich den avr so programmieren kann, dass er das bild nach roten punkten absuchen kann? Also gibts nen befehl der einem sowas macht, und könnte mir da jemand etwas helfen?
So ganz allein werd ich das wohl nicht herbekommen^^

danke Serge

Felix G
16.09.2005, 16:51
Diese Kamera ist geeignet...

allerdings ist es dann keine große Herausforderung mehr ein rotes Objekt auf dem Bild zu finden
(das kann die nämlich selbst schon)

Günter49
16.09.2005, 17:39
@Serge
Wie Felix G ja schon geschrieben hat, sucht die CMUcam farbige Flächen in einem Bild selbstständig und kann die Lage der Fläche im Bild über eine serielle Schnittstelle an den AVR ausgeben, so dass der dann die Motoren deines Roboters so ansteuern kann, dass er in Richtung der roten Fläche = Cola-Dose fährt. Wenn man will, ist die CMUcam so etwas wie eine einfache SmartCam, also eine Verbindung von Camera und (einfacher) Bildverarbeitung. Dadurch wird der µ-Controller von der Rechenarbeit der Bildverarbeitung entlastet.

Da auch die Firma Roboterteile.de noch kein deutsches Handbuch anbietet, ( obwohl sie das schon seit nun gut eineinhalb Jahren als „in Vorbereitung“ befindlich verspricht), solltest du dir gleich das englische Handbuch von den Entwicklern der Kamera mal herunterladen.

http://www.cs.cmu.edu/~cmucam2/downloads.html

Bilder und Videos wie das Ganze auf einem Roboter funktioniert findest du hier:
http://www.cs.cmu.edu/~cmucam/gallery.html

Ein schönes Beispiel für einen Roboter, der nur von der CMUcam und einem µ-Controller gesteuert wird ist Mark Whitneys Nod:
http://www.acroname.com/robotics/gallery/nod/nodvid.mpg

Für die Anbindung der CMUcam an einen AVR findest du sicherlich reichlich Informationen, wenn du hier im Roboternetz ein bisschen suchst. Es läuft glaube ich z. Zt. gerade ein aktueller thread zu diesem Thema.

Gruß, Günter

Roboter n00b
16.09.2005, 18:14
hi
Danke erstmal für eure antworten und die coolen links :) , hat mich sehr inspiriert. Nur etwas versteh ich noch nicht ganz. Diese Cam, die ich da vorgeschlagen hab, hat ja eine Bildbearbeitung integriert. Heisst das nun, dass ich das programm da drauf machen muss, oder kommt das auf den avr?

//Edit: Ist denn auch sowas möglich, dass man mit dieser cam ein gesicht erkennen lassen kann? Also dass man quasi vom bot angeschaut wird?

thx

Günter49
16.09.2005, 19:25
Heisst das nun, dass ich das programm da drauf machen muss, oder kommt das auf den avr?
Welches Programm?
Auf dem AVR läuft das Hauptprogramm zur Robotersteuerung, das sendet einen Befehl an die CMUcam, deren fest eingebautes Programm (firmware) arbeitet den Befehl ab und gibt dann z.B. die Mittelpunkt-Koordinaten der gesuchten Farbfläche an den AVR zurück, der diese Daten dann zur Steuerung des Roboters weiter verarbeiten kann.


Ist denn auch sowas möglich, dass man mit dieser cam ein gesicht erkennen lassen kann? Also dass man quasi vom bot angeschaut wird?
Das ist nach den Beispielbildern mit der Hand wohl möglich Hautfarben zu erkennen, aber ich glaube, das wird nur sicher funktionieren, wenn du dein Gesicht in einer Farbe anmalst, die die CMUcam gut erkennen kann, z.B. Orange :)

Gruß, Günter

Roboter n00b
16.09.2005, 19:37
hi Günter

Okey, ich habs nun schon etwas besser begriffen. Finde ich auch irgendwo ein beispielprogramm, welches ich für avr und bascom verwenden kann?

Und nochwas wegen dem gesicht: Wäre es nich möglich, das bild nach mehreren farbstellen abzusuchen in einem bestimmten abstand? Also zB such einen schwarzen punkt und such 30pixel daneben noch mal einen, um augen zu erkennen