PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsbestimmung per Webcam in Visual Basic - Videoautom.



Wombats
04.03.2006, 16:43
Hallo zusammen!
Vorweg bitte ich darum dieses Thema zu verschieben falls es im falschen Bereich gepost wurde.

Problem: Ein Bekannter hat einen Videoverleihautomaten in dem ein Greifer hoch und runter fährt um die verschiedenen Fächer mit denn Videos anzufahren.
Wenn nun irgendetwas in dem Automaten getauscht wurde (Greifer, Antriebsmotoren o.ä.) müssen die Fächer neu justiert werden.
Das heist das per Software ein Fach angefahren wird um dann selbst zu Prüfen ob die Videokassette noch in das Fach eingeschoben werden kann oder nicht.
Falls nicht wird per Pfeiltasten manuell korrigiert.
Das dauert im Schnitt bis zu 3h.

Meine überlegung ist nun per auf dem Greifer installierter Webcam ein Foto vom Fach zu machen und dann per Visual Basic Software die mitte zu finden um diese Werte in eine Datenbank / Tabelle zu schreiben.
Also denn Automaten praktisch automatisch zu jusiteren.

Mein Problem ist nun das ich von Bilderkennung, Kantenfindung usw. keine Ahnung habe. Ich hatte mir schon OpenVC geladen, komme damit aber auch nicht zurecht, da ich von C / C++ auch keine Ahnung habe :(

Vieleicht hat jemand von euch Erfahrung in diesem Bereich und könnte mir mit Tips / Links oder ein paar Zeilen Visual Basic Code aushelfen?

Vieleicht ist auch der Ansatz mit der Webcam und der Bilderkennung der falsche?

Gruß Ingo

Superhirn
04.03.2006, 16:56
Warum Webcam. Gib auf jedes regal einen Barcode drauf und bei jeden mal zugreifen auf das fach wird entweder ein band da oder kein band da in die datenbank geschrieben. ist einfacher.

Wombats
04.03.2006, 17:03
Sorry, da hab ich mich wohl falsch Ausgedrückt.

Ob Kasetten in denn Fächern liegen ist eigendlich egal. Wichtig ist das nach einer Reperatur o.ä. nicht mehr sichergestellt ist, das der Greifer genau vor die Fächer fährt. Also neu angelernt werden muß.
Dieses Anlernen ist so umständlich und zeitraubend, das es automatisiert werden soll.

Deshalb die Idee mit der Webcam.
Aus den Daten müßte doch eine mitte errechnet werden können und mit denn Daten die exakten Position der Box.

//Edit:
Die Fächer sind alle mit Position X,Y in einer Datenbank gespeichert. Nur stimmen diese Postionsangaben nach einer Reperatur (Aus- / Einbau eines neuen Greifers) nicht mehr.

Spielraum max. 1mm!

Superhirn
04.03.2006, 17:16
Reflexlichschranken (CNY70) könnten irgendwie auf einen irgendwo angebrachten weißen streifen die schwarzen pulse zählen (1puls/fach) und dann genau den anfang des Faches feststellen.so wäre auch die kalibration möglich. Webcam wär mir auch noch zu kompliziert. Und mit der Webcam kommst nie auf 1mm genau da sich licht ja streut und somit kleine differrenzen entstehen.

Wombats
04.03.2006, 17:46
Das geht leider nicht, da die Fächer nicht "aus einem Guß" sondern in Modulen eingebaut sind. Wenn nun ein Modul etwas schief eingebaut wurde, passt es nicht mehr mit dem z.B. oben angebrachten Streífen.
Um die einzelnen Fächer rum ist auch kein Platz für irgendwelche einzelen Makierungen :(

Weiß nicht wie genau eine Bilderkennung bzw. eine Kantenerkennung sein kann bei entsprechender Hardware. (vieleicht Hochauflösende Kamera anstatt billige Webcam)

xanadu
04.03.2006, 18:17
Hast Du vielleicht mal so ein zwei Bilder von den Automaten (vom Innenleben)?

Wombats
04.03.2006, 18:30
Hier hab ich mal ein paar Bilder. Leider nicht gut von der Qualität. Ich hoffe es reicht.

xanadu
05.03.2006, 00:51
Vielleicht wird die ganze Geschichte einfacher, wenn man den umgekehrten Weg gehen kann: Nach dem Umbau wird der Automat komplett mit markierten Dummies bestückt und beim automatischen Teach-In werden alle Dummies ausgelagert. Die Position kann anhand der Markierungen ermittelt werden.

Die Markierungen könnten entweder Reflexmarken sein, die bei einer Suchfahrt mittels Reflexkoppler gefunden werden oder aber einfach zu identifizierende Muster, die mittel Bildverarbeitung erkannt werden.

Gruß,
Chris

Wombats
05.03.2006, 06:00
Die Hülle zu makieren oder einen Satz makierter Hüllen bereit zu stellen ist meiner Meinung nach unpraktikabel.

Dafür müßten jedesmal alle Videos von Hand raus (ca. 1500 Stück) und zwischengelagert werden!

Da im Innenraum nicht viel Platz ist, ist ein manuelles rausnehmen eine Strafe.

Ausserdem ist das Risiko zu groß, das auch nur ein Film nicht mehr in das richtige Fach kommt nach dem wiedereinlagern. Dann wäre alles durcheinander :D

Und ich befürchte fast das es länger dauert als denn Automaten von Hand zu justieren.

xanadu
05.03.2006, 10:19
Okay, dann fällt das auch flach. Jetzt ist guter Rat teuer, denn wenn es wirklich so eng zugeht, wirst Du mit der Bilderkennung pe Kamera auch nicht zum Ziel kommen, da der Bildausschnitt trotz Weitwinkelobjektiv recht klein wird.

Wie wäre es denn mit einer Tast-Sensorik?

Wombats
05.03.2006, 10:41
Ich dachte eigendlich daran jedes Fach einzeln aufzunehemen, auszuwerten usw. um dann zum nächsten Fach zu fahren ...

Vieleicht ein Weitwinkel auf die Kamera um noch etwas näher ran zomen zu können.

Vieleicht braucht mann auch zwei Kameras um eine tiefe zu erhalten und die dann mit auswerten?

Ich hab nur Leider keine Ahnung wie mann so eine Auswertung des Kamarabildes in Visual Basic programiert. :(

Bei einer Tastsensorik ist glaube ich das Problem, das die Fächer z.T. belegt, z.T. mit CD´s, z.T. mit Videos bestückt sind.
Ein Video belegt zwei DVD Fächer.
Hab zu wenig ahnung, was da möglich wäre.

Kann mann einen Distanzsensor auf einen Punkt bringen oder misst der immer ein Fläche? Sonst könnte mann damit vieleicht die Fächer "scannen"?

xanadu
05.03.2006, 11:48
Oh jeh... Ich fürchte, da tut sich ein Missverhältnis auf: Die Zeit, die man zum Entwickeln eines solchen Systems investieren muss, ist für verdammt viele manuelle Teach-Ins gut :-0

Abstandssensoren messen immer eine Keule, je kürzer der Abstand zwischen Sensor und Reflektor, desto kleiner der Punkt.

Jetzt, nachdem Du sagtest, dass du es auch noch mit unterschiedlich großen Objekten zu tun hast, gehen mir langsam die Ideen aus. Ich bin halt bezüglich der Bilderkennung sehr skeptisch, dazu habe ich zu viele Projekte mit solchen Ansätzen im Industriellen Umfeld scheitern sehen.

Ein vergleichbares Problem ist übrigens das Anlernen eines automatischen Staplers in einem Hochregallager. Da gibt es auch immer Abweichungen, weil der Boden niemals 100%ig eben ist. Da werden hunderttausende Euros investiert und das Teach-In ist immer noch... manuell. Einen qualifizierten Mitarbeiter ein paar Tage lang Lehrfahrten machen zu lassen ist immer noch billiger, als über Automatisierung nachzudenken.

Wombats
05.03.2006, 12:15
hehe
ja, da hast Du sicher recht.
Ein weiteres Problem ist, das manuell die Fächer nie so genau eingestellt werden können wie es müßte :) Ist schon nicht möglich da mann nicht alle Fächer ordendlich einsehen kann.
Das heißt wenn der Automat das xte Fach nicht sauber einschieben kann, versucht er es nochmal und danach geht die Anlage auf tillt.

Nun kann es passieren das dieses Fach erst Wochen später angefahren wird. Und dann meist Samstagsnacht :)

Wäre ein weiterer Vorteil gewesen, wenn durch eine Automatik die Anlage justiert worden wäre.

Was die Sache vieleicht intressanter macht ist, das dieser Typ Anlage weltweit verkauft wird / wurde :D

Wombats
05.03.2006, 12:21
Es müßen halt immer vierecke erkannt werden. Ich hatte die Openvc von intel schonmal geladen. Da sind Beispiele bei mit dennen eine Rechteckerkennung einwandfrei funktioniert. Ich hab nur keine Ahnug da dort alles in C/C++ beschrieben ist, wie ich das in Visual Basic bekomme. Auch müßten die Daten nicht von einem auf HDD gespeicherten Bild, sondern von einer Cam oder Grabberkarte kommen. Nur das wurde hier im Forum schon ausgiebig Diskutiert.

Superhirn
05.03.2006, 17:07
Bau das ganze Regal neu sodass es für den Roboter perfekt ist. ist sicher billiger als ein teures Bildverarbeitungssystem. Und raparieren musst es dann auch nicht mehr so oft.

xanadu
05.03.2006, 18:22
@Superhirn: Ich hab's die ganze Zeit gedacht aber nicht auszusprechen gewagt ;-)

stochri
05.03.2006, 19:08
Hallo Zusammen,

es ist zwar schön, wenn eine Maschine so gebaut ist, dass sie sich selber justiert, aber wenn das Regal nunmal mechanisch schon so exisitiert und nicht mehr verändert werden kann ?

Wie wäre es mit 3 oder 4 Abstandssensoren am Greifarm ? Die könnten dem Roboter bei der Justage sicher helfen.
Man muss ja nich immer die billigen Sharp-Sensoren verwenden. Für industrielle Anwendungen gibt es viel präziesere Sensoren, z.B. hier:

http://www.sick.de/de/products/categories/industrial/distancesensors/de.html

Gruss,
Stochri

Wombats
06.03.2006, 11:32
Bau das ganze Regal neu sodass es für den Roboter perfekt ist. ist sicher billiger als ein teures Bildverarbeitungssystem. Und raparieren musst es dann auch nicht mehr so oft.

Das Regal muß nicht repariert werden. Fast immer brechen die Wellen der zu klein Dimensionierten Motoren des Greifers.

Das Regal sollte / kann nicht umgebaut werden, da sonst ja sicherlich auch die Steuerungssoftware geändert werden müßte. Und die ist in dem Verleihprogram eingebaut.

Zu Stochri: Die bieten ja einiges an sensoren an.
Die haben auch Kameras mit Objekterkennung - kosten aber warscheinlich ein Vermögen.