PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Referenzpunkt mit Kamera abfragen



robo_wolf
07.02.2007, 18:50
Hallo Leute,
ich bin auf der Suche nach ein paar Ideen oder Anregungen.
Ein Achssytem mit X und Y soll sich selbst referieren, sprich soll seinen Nullpunkt finden.
Das Ganze soll berührungslos geschehen. Als Marker dient ein Kreuz.
Am besten, wie schon im Threadtitel zu lesen, soll das Erkennen mit einer Kamera funktionieren.
Hat sich eventuell jemand schon mit so etwas beschäftigt? ... und kann mir Anregeung zur Realisierung geben?

Vitis
07.02.2007, 19:01
Weitere Infos währen noch interessant.
Welche Kamer, mit welchem System (µC, PC etc.)?

robo_wolf
07.02.2007, 20:03
Hardware dafür habe ich noch keine in die engere Auswahl genommen,
weder Zeilenkamera(? M1 ?) noch Auswerteeinheit(? glaube nicht, dass ein µC das schafft? ).
Möchte erst einmal ganz offen an das Thema ran.

Preis soll auch ein Rolle spielen. Ist ja klar.
Aber noch vor dem Preis soll die reibungslose Funktion stehen.

Positioniergenauigkeit soll unter 0,5mm liegen

ogni42
08.02.2007, 09:00
Vorgehen (grob):

Du legst eine Nullposition fest (z.B. linke obere Ecke).
Die Kamera muss ein Sichtfeld so haben, dass sie in der linken oberen Ecke, das kreuz im gesamten Sichtfeld hat. Das ist wichtig, da Du nicht weisst, ob du von links oben, rechts unten, links unten oder rechts oben an die Nullposition heran fährst.

Kamera sollte, wenn möglich eine SW Kamera sein. Spart Geld und liefert höhere Ortsauflösung.

Wenn Du also das Kreuz im Bild sehen kannst, brauchst Du dessen Position. Die findest Du per Kreuzkorrelation (->s. wikipedia) heraus. Dann verfährst Du die Kamera, bis der Korrelationspunkt in der Bildmitte ist.

Wenn es jetzt noch genauer werden soll, kannst Du mit subpixel-Berechnung bis auf ca. 1/10 -1/20 Pixel genau positionieren (hängt ein bisschen von der Verwendeten kamera und dem verwendeten Algorithmus ab).

robo_wolf
08.02.2007, 09:23
Hallo ogni42,
besten Dank für die Erklärungung.
Was würdest du für eine Kamera vorschlagen? Farbe, wie du schon geschrieben hast, ist da ja nicht notwendig.
Für die Auswertung muß es sicher ein kleiner PC werden.
Es gibt natürlich fertige Industriesysteme. Die sind meist sehr teuer und mit den reinen Koordinatenfinden unterfordert.

Vitis
08.02.2007, 12:16
0,5mm ist ja schön und gut, aber auf welche Entfernung soll das sein?
Je weiter der Abstand vom Messobjekt, je höher muss dann die Auflösung sein
und um so mehr Daten müssen verwurstelt werden. Im Übrigen werden
die Kameras mit steigender Auflösung auch entsprechend teurer.

ogni42
08.02.2007, 12:23
Hängt ein bisschen vom Rest der Applikation ab. Wenn Du einen PC verwendest, fährst Du wahrscheinlich mit einer einfachen USB oder FireWire Kamera am besten, bei den professionellen (!) Industriekameras (so ab 200€ aufwärts für 640x480 in SW) ist meist schon eine lib/DLL für C und i.d.R. für Windows und Linux mit dabei.

Was darf das denn Kosten? 500um Positioniergenauigkeit ist ja nicht besonders genau. Da reicht es, wenn Du eine Pixelauflösung von 1-2mm hast (sofern, Du die Kanten subpixelgenau bestimmst).

Wie sind denn die Abmessungen Deiner Anlage (Verfahrwege, Abstand x/y-Achsen zum Tisch)?

robo_wolf
08.02.2007, 16:54
Abstand vom Objekt ca. 50mm
Verfahrbereich ca. 320mm * 250mm
Bereich für Kameraerfassung ca. 20mm * 20mm

Die Kamera soll 2 Koordinaten anfahren und dort Markierungspunkte erfassen.

? Industriekameras sind wahrscheinlich besser geeignet. ?
Wenn man zum Beispiel an die Wiederbeschaffung denkt.

ogni42
08.02.2007, 17:03
Nicht nur Wiederbeschaffung, sondern auch robustheit. Ich habe mit den Firewire Kameras von Allied Vision sehr gute Erfahrungen gemacht:
http://www.adept.net.au/cameras/avt/index.shtml

Bei 500x500 Pixeln und 20x20mm kommst Du natürlich ohne Subpixelinterpolation aus.

robo_wolf
08.02.2007, 20:04
Schaut ja gut aus.
Was kostet so etwas?
Registrierung..!
http://www.alliedvisiontec.de/
Ist nur für Kunden.

Welche Anwendungen hast du damit realisiert?

ogni42
09.02.2007, 20:03
Die aktuellen Preise kenne ich leider nicht.

Ich habe damit Messtechnik-Anwendungen realisiert und war mit den Kameras immer hochzufrieden. Vertrieb und Service sind bei denen kompetent und zuvor kommend.

robo_wolf
10.02.2007, 08:52
??? > Vermessen von Oberflächen und Strukturen? < ???
Hört sich sehr intereesant an. :-k
Kannst du mehr darüber berichten? Oder fällt das unter "Diensgeheimnis"?
Hast du dauch die Software von denen verwendet?

Was gäbe es für Alternativen von anderen Herstellern?
Damit meine ich nicht nur die Kameras, auch die Anwendersoftware.

ogni42
10.02.2007, 14:23
Ich habe die Kameras in verschiedenen Anwendungen eingesetzt. Unter anderem bei der Vermessung von Extrusionsgütern (z.B. Fensterprofile).

Die Software von AVT bietet Dir nur den grundlegenden Zugriff auf die Kamera, sprich: Konfiguration und Zugriff auf die Bilddaten. Ist sehr leicht zu benutzen. Alles weitere, Bildvorverarbeitung, Kantenextraktion, Konturfindung, etc. ist mit der Hand gemacht.

Empfehlen kann ich die LTILib (gibt's bei sourcefourge), sofern Du mit C++ auf dem PC arbeitest (Windows oder Linux).

robo_wolf
11.02.2007, 09:30
Hallo ogni42,
vielen Dank für deine Antworten.
Wie genau hast du die Profile vermessen müssen?
Bzw. wie genau war es dir möglich?
Hattest du Problem mit der Erfassung von unterschiedlichen Oberflächen.
Dabei meine ich Unterschiede in der Charge der zuvermessenden Teile.
>>> stärkere Reflektionen oder Absorbtionen der Beleuchtung und damit verbundenen Fehlerfassungen...
sorry wie ich so tief löchere... =P~

ogni42
11.02.2007, 18:12
Vermessen wurde bis zu einem 1/10000 des Sichtbereiches. Das geht aber nur mit speziellen Optiken (Telezentrischen Objektiven) und ebensolcher Beleuchtung sowie reichlich Algorithmik.

Da - so ich das richtig verstanden habe - Du nur einen Referenzpunkz anfahren willst, ist das viel preiswerter zu machen. Ein einfaches perspektivisches Objektiv sollte da reichen, da Du ja nicht absolut vermessen musst.

Was ist denn Dein Anwendungsfeld neben der Referenzpunktfahrt?

robo_wolf
11.02.2007, 18:39
Das Referieren der Kamera ist nur ein Teil.(Nullpunkt)
Danach möchte ich auf einer Leiterplatte Koordinaten anfahren.
Ablauf ungefähr so:
Anlage referiert(um Nullpunkt zu haben)
>>>
Leiterplatte wird an "relativ" feste Position eingelegt
>>>
Kamera sucht auf Leiterplatte dessen Referenzpunkte(2 Stück)
>>>
danach ist Bearbeitung der Leiterplatte möglich, da man mit den 2 Referenzpunkten genaue Positionen errechnen und anfahren kann.

ogni42
11.02.2007, 20:08
Eigentlich brauchst Du ja nur die Referenzpunktfahrt. Danach sollte Dein x-y-Tisch schon selbständig genau genug positionieren können. Wie gesagt: Um den Referenzpunkt anzufahren reicht ein Aufbau mit einem (guten) Perspektivischen Objektiv.

robo_wolf
12.02.2007, 06:37
Ja klar.
>>> Fahre den Nullpunkt(Referenzpunkt) des Achsensystems an.
Damit habe ich die Ausgangsbedingung geschaffen, dass er die Referenzpunkte der Leiterplatte finden kann.
>>> Fahre die Referenzpunkte der jeweiligen Leiterplatte an.
Somit sollte ich in der Lage sein, an Hand von Berechnungen jede Koordinate auf der Leiterplatte an zufahren.

Jetzt kommt aber noch dazu das es unterschiedliche Leiterplatten(in Größe und Anordnung der Referenzpunkte) sind.

ogni42
12.02.2007, 18:33
Vorausgesetzt, Du hast eine brauchbare Mechanik an Deinem x-y-Tisch und einen festen Anschlag für (oBdA) die linke obere Ecke der Platine, brauchst Du nur einen Referenzpunkt.

Knifflig wird es natürlich, wenn Du nicht rechteckige, sondern z.B. runde Platinen hast. Dann würde ich so vorgehen, dass das Nullpunktkreutz mit auf die Platine geätzt wird (quasi als linke obere Ecke). Aus Position und Rotation des Kreuzes lassen sich dann die Koordinaten transformieren.

robo_wolf
13.02.2007, 07:20
Nein, es sind nur rechteckige Leiterplatten.

Mit den Kanten und einem Punkt ist es natürlich etwas einfacher.
Aber wird das Arbeiten mit den Leiterplattenkanten nicht zu ungenau?
Zumal die Leiterplatten immer genau in die Ecke gebracht werden müssen.(Jede Mechanik hat und braucht ihr "Spiel")

Ob ein oder zwei Referenzpunkte ist für mich erst einmal sekundär.
Mir geht es für das Erste um das "WIE" und mit was?
Da ich mich mit so etwas noch nicht so intensiv auseinander gesetzt habe, bräuchte ich primär einen kleinen Einstieg in die Materie.
> sprich ich brauch ein wenig Input zum Funktionsprinzip des optischen Messens mit Kameras usw.
Wäre um Links und Querverweise zu diesen Themen sehr dankbar.

ogni42
13.02.2007, 19:29
Hmm, solange es Dir egal ist, wo das Referenzpunktkreuz ist, fährst Du wahrscheinlich am besten, wenn Du es mit auf die Platine ätzt. Dann hast Du sicher eine definierte Position auf der Platine und es ist egal, ob die genau in der Ecke liegt.

Startpunkte im Netz für Infos sind:

http://de.wikipedia.org/wiki/Digitale_Bildverarbeitung

robo_wolf
14.02.2007, 05:31
Hallo ogni42,
Danke erst einmal...

wie du schon geschrieben hast... mit den Referenzkreuz auf der Leiterplatte ist eine definierte Position sicher gestellt.

Falls dir noch mehr "input" zu dem Thema über den Weg oder Bildschirm kommt....
Bin um jede Info dankbar.