-
Gebiet der Erfindung
-
Die
Erfindung betrifft im Allgemeinen maschinelle Sichtinspektionssysteme
und insbesondere Systeme und Verfahren zum automatischen Fokussieren
eines maschinellen Sichtinspektionssystems.
-
Hintergrund der Erfindung
-
Maschinelle
Präzisionssichtinspektionssysteme (oder kurz „Visionssysteme”)
können verwendet werden, um präzise dimensionale
Messungen inspizierter Objekte zu erhalten und, um verschiedene andere
Objektcharakteristiken zu inspizieren. Solche Systeme können
einen Computer, eine Kamera und ein optisches System und eine Präzisionsstufe
einschließen, die in mehreren Richtungen beweglich ist, um
eine Arbeitsstückinspektion zu ermöglichen. Ein exemplarisches
System des Standes der Technik, das als ein „off-line” Präzisionsvisionssystem
für einen allgemeinen Zweck gekennzeichnet werden kann,
ist die kommerziell erhältliche QUICKVISION®-Serie
von PC-basierten Visionssystemen und die QVPAK®-Software,
die bei der Mitutoyo Cooperation (MAC) erhältlich ist,
die in Aurora, IL. ansässig ist. Die Merkmale und der Betrieb
der QICKVISION®-Serie der Visionssysteme
und der QVPAK®-Software sind z.
B. im QVPAK 3D CNC-Visionsmessmaschinennutzerhandbuch beschrieben, welches
im Januar 2003 veröffentlicht wurde, und in dem QVPAK 3D
CNC-Visionmessmaschinenbetriebshandbuch, welches im September 1996
veröffentlicht wurde, welche beide vollständig
durch Bezug hier eingefügt werden. Diese Art von System
ist in der Lage ein mikroskopartiges optisches System zu verwenden
und die Stufe zu bewegen, so dass Inspektionsbilder von entweder
kleinen oder relativ großen Arbeitsstücken bei
verschiedenen Größenordnungen bereitgestellt werden
können.
-
Maschinelle
Präzisionssichtinspektionssysteme für einen allgemeinen
Zweck, wie das QUICK VISION TM-System sind, ebenso im Allgemeinen programmierbar,
um eine automatisierte Videoinspektion durchzuführen. Solche
Systeme schließen üblicherweise GUI-Merkmale und
vordefinierte Bildanalyse „Videowerkzeuge” ein,
so dass der Betrieb und die Programmierung durch „Nichtexpertenbenutzter” durchgeführt
werden können. Zum Beispiel lehrt
US Patentnummer 6,542,180 (hier später
das „
'180 Patent”),
welches hier vollständig durch Bezug eingefügt
wird, ein Sichtsystem, welches eine automatisierte Videoinspektion
verwendet.
-
Wie
in dem
'180 Patent gelehrt
wird, weisen automatisierte Videoinspektionsmesstechnikinstrumente üblicherweise
eine programmierende Fähigkeit auf, die einen durch den
Nutzer zu definierende automatische Inspektionsereignisabfolge für
jede einzelne Arbeitsstückgestaltung erlaubt. Eine solche Programmierung
kann als eine textbasierte Programmierung umgesetzt werden, oder
auch durch einen Aufnahmemodus, der fortlaufend die Inspektionsereignisabfolge „lernt” durch
Speichern einer Abfolge von Maschinensteuerinstruktionen entsprechend
einer Abfolge von Inspektionsabläufen, die durch einen Nutzer
durchgeführt werden, oder durch eine Kombination beider
Verfahren. Solch ein Aufnahmemodus wird häufig als „Lernmodus” oder „Trainingsmodus” bezeichnet.
In jeder der beiden Technologien werden die Maschinensteuerinstruktionen
im Allgemeinen als ein Teilprogramm gespeichert, welches spezifisch für
die bestimmte Arbeitsstückgestaltung ist, und automatisch
eine vordefinierte Abfolge von Inspektionsabläufen während
eines „Laufmodus” des Ablaufes durchführt.
-
Im
Allgemeinen bewegt sich die Kamera, während einer bekannten
Abfolge von Autofokusabläufen, durch einen Bereich von
Positionen entlang einer Z-Achse und erfasst an jeder Position ein
Bild. Für jedes erfasste Bild wird eine Fokusmetrik berechnet
und auf die entsprechende Position der Kamera entlang der Z-Achse
zu der Zeit bezogen, wenn das Bild erfasst wurde. Ein bekanntes
Autofokussierungsverfahren ist in der
„Robust Autofocusing
in Microscopy" von Jan-Mark Geusebroek und Arnold Smeulders
in der ISIS Technical Report Series, Band 17, November 2000, diskutiert,
welche hier vollständig durch Bezug eingefügt
wird. Um eine Z-Achsenposition der Kamera zu bestimmen, die einem
Autofokusbild entspricht, schätzt das diskutierte Verfahren
eine Position der Kamera entlang einer Z-Achse, aufgrund einer gemessenen
Zeitdauer, während der sich die Kamera von einer bekannten
Ausgangsposition auf der Z-Achse mit einer konstanten Geschwindigkeit
entlang der Z-Achse bewegt, bis das Bild erfasst wird. Während
der Bewegung mit konstanter Geschwindigkeit werden die Autofokusbilder
in 40 Millisekundenintervallen erfasst (Videorate). Das offenbarte
Verfahren lehrt, dass die Videohardwareerfassungsrahmen mit einer
konstanten Rate erfasst, und dass die Probendichte der fokussierenden
Kurve, durch Einstellen der Stufengeschwindigkeit, beeinflusst werden
kann. Ein anderes bekanntes Autofokusverfahren und eine Vorrichtung
ist im
US Patentnummer 5,790,710 beschrieben
(hierin später das „
'710 Patent”),
welches hier vollständig durch Bezug eingefügt
wird. In dem –
710 Patent
wird ein piezoelektrischer Positionierer in Zusammenarbeit mit einem
konventionellen motorgetriebenen Bewegungssteuersystem verwendet,
um die Z-Achsenpositionbewegung während dem Erfassen der
Autofokusbilder zu steuern. Ein anderes verbessertes Autofokussystem
und -verfahren ist in dem
US
Patentnummer 7,030,351 beschrieben, welches allgemein zugeteilt
und vollständig durch Bezug hier eingefügt wird.
In all diesen Fällen werden eine relativ große Anzahl
von Bildern während des Laufmodus als eine Basis für
die Autofokussierung vor dem Erfassen der Inspektionsbilder erfasst.
Aufgrund zunehmender Berechnungsgeschwindigkeiten, trotz dieser
Verbesserungen, bleiben die physikalischen Bewegungen, die für
die oben beschriebenen Systeme und Verfahren benötigt werden,
allgemein als ein erster Faktor, der den Inspektionsdurchsatz beschränkt.
Ein Autofokussystem und -verfahren, welches den Durchsatz weiter
verbessern kann, ist wünschenswert.
-
Die
vorliegende Erfindung ist auf ein System und ein Verfahren zur Bereitstellung
von Inspektionsbildern bei einer verbesserten Rate gerichtet. Insbesondere
werden ein System und ein Verfahren zum schnellen Einstellen für
akzeptable ungefähre Fokuspositionen bereitgestellt, unter
Verwendung einer beschränkten Anzahl physikalischer Bewegungen.
-
Zusammenfassung der Erfindung
-
Dieser
Zusammenfassung ist bereitgestellt, um eine Auswahl von Konzepten
in vereinfachter Form einzuführen, die unten weiter in
der detaillierten Beschreibung beschrieben werden. Diese Zusammenfassung
ist nicht dafür gedacht Schlüsselmerkmale des
beanspruchten Gegenstandes zu identifizieren, noch ist sie dafür
gedacht, als eine Hilfe zur Bestimmung des Bereichs des beanspruchten
Gegenstandes verwendet zu werden.
-
Im
Gegensatz zu jedem der vorher beschriebenen, bekannten Systeme und
Verfahren zum Durchführen von Autofokusabläufen,
bietet die vorliegende Erfindung einen verbesserten Inspektionsdurchsatz
durch Verwenden einer schnellen ungefähren Autofokussierung,
die für bestimmte Abläufe in einem maschinellen
Präzisionssichtinspektionssystem für einen allgemeinen
Zweck geeignet ist. Die Begriffe „schnelle ungefähre
Autofokussierung” und „schnelle ungefähre
Fokussierung” werden im Allgemeinen hier austauschbar verwendet,
und es kann angenommen werden, dass sie dasselbe bedeuten, solange
nichts anderes bezeichnet ist. Einige vorteilhafte Merkmale der
Verfahren schließen ein, dass sie umgesetzt werden können,
um den Durchsatz von bereits eingesetzten Maschinen zu verbessern,
und dass sie keinen speziellen Fokussensor benötigen. Entsprechend
einem Aspekt der Erfindung wird ein allgemeines Verfahren zum Umsetzten
der schnellen ungefähren Autofokusabläufe während
eines Lernmodus bereitgestellt (z. B. in einer Ausführungsform durch
Trainieren eines schnellen ungefähren Autofokusvideowerkzeugs).
Im Allgemeinen wird ein Satz von Lernmodusabläufen zur
Bestimmung einer repräsentativen Fokuskurve und eines verwandten
Fokusschwellwertes bereitgestellt, bei einem gegebenen Bild eines
repräsentativen Bereichsvon-Interesse (ROI). In einer Ausführungsform,
schließen Lernmodus schnelles ungefähres Autofokuslernen
oder „Werkzeugtrainingsabläufe” ein Erfassen
eines repräsentativen Bildes des repräsentativen
Bereichs-von-Interesse ein. Der Be reich-von-Interesse kann unter
Verwendung einer Videowerkzeugbenutzerschnittstelle z. B. definiert
werden und schließt im Allgemeinen ein repräsentatives
zu inspizierendes Merkmal ein. Für den Zweck ein Teilprogramm
zu entwerfen, ist das repräsentative Merkmal für
entsprechende Merkmale auf anderen Arbeitsstücken repräsentativ.
Dann wird eine repräsentative merkmalsspezifische Fokuskurve
für den Bereich-von-Interesse (ROI) bestimmt. Die merkmalsspezifische Fokuskurve,
welche den Bildfokus für den ROI als eine Funktion der
Z-Koordinate kennzeichnet, die für die Bildgebung verwendet
wurde, kann durch konventionelle Verfahren während des
Lernmodus bestimmt werden. Dann wird ein Fokusschwellwert bestimmt
und/oder gelernt, entsprechend einem Level mit „ungefährem” Fokus,
welches ausreichend zur Unterstützung der gewünschten
Merkmalinspektionsabläufe ist (in diesem Zusammenhang kann „gelernt” „bestimmt” und „aufgenommen” bedeuten,
in einer Form in einem Teilprogramm (z. B. als ein Videowerkzeugparameter)
als Basis für eine spätere automatische Inspektion
der entsprechenden Merkmale). Allgemeiner können die bestimmten
und/oder gelernten repräsentativen merkmalsspezifischen
Fokuskurvendaten und die Fokusschwellwertdaten in jeder bequemen
Art charakterisiert und aufgenommen werden. In einer Ausführungsform
können die „Kurvendaten” einer konventionellen
Form einer Fokuskurve entsprechen, und die „Wertdaten” können einem
Standardschwellwert entsprechen. In anderen Ausführungsformen
können die Kurvendaten anderen Arten von Daten entsprechen,
wie eine dichte Fokuskurven „F-Z-Nachschlagetabelle”,
Koeffizienten, welche eine nominale analytische Kurvenform individualisieren,
eine gestutzte Nachschlagetabelle usw.. Ähnlicherweise
können in anderen Ausführungsformen die Schwellwertdaten
anderen Arten von Daten entsprechen, wie „Fokusstiefe (DOF-Einheiten)”,
die gemeinsam mit den Kurvendaten verwendet werden zur Berechnung
des numerischen Werts im Laufmodus, eines numerischen Werts, der
in der Lernzeit berechnet und gespeichert wird, und eines Multiplizierungsfaktors
(z. B. einen Bruch) für die Fokuskurvenpeakhöhe
usw..
-
In Übereinstimmung
mit einem anderen Aspekt der Erfindung ist ein allgemeines Verfahren
zur Umsetzung schneller ungefährer Autofokusabläufe während
des Laufmodus bereitgestellt (z. B. durch Ausführen von
Abläufen eines schnellen ungefähren Autofokusvideowerkzeugs).
Im Allgemeinen werden ein Satz von Laufmodusabläufen bereitgestellt,
zum Verwenden repräsentativer Fokuskurvendaten und Fokusschwellwertdaten,
zur Bestätigung oder Bereitstellung eines schnellen ungefähren
Fokus für ein Bild, welches zur Inspektion eines Arbeitsstücksmerkmals
verwendet werden soll. Im Allgemeinen werden die repräsentativen
Fokuskurvendaten und die Fokusschwellwertdaten vorher festgesetzt
worden sein, für ein entsprechendes Merkmal in einem entsprechenden
Werkstück, so wie während eines Lernmodus. Solch
eine Verwendung eines schnellen ungefähren Fokus ermöglicht
ein akzeptables Präzisionslevel in vielen Anwendungsfällen,
wo der Inspektionsablauf keine präzisen Z-Koordinatendaten erfordert.
Zum Beispiel können unter Verwendung einer geeigneten Bildverarbeitung
verschiedene XY-Kantenstellenmessungen relativ präzise
und wiederholbar bleiben, sogar, wenn sie aus einem Inspektionsbild
bestimmt werden, welches Bild und Schärfen einschließt
(z. B. ein Bild, welches nur ungefähr im Fokus ist).
-
In
einer Ausführungsform schließt der Laufmodus schnelle
ungefähre Autofokusabläufe und das Erfassen eines
ersten Bildes im Bereich-von-Interesse einschließlich des
zu inspizierenden Merkmals ein. Dann werden vorher gelernte repräsentative merkmalsspezifische
Fokuskurvendaten und Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich-von-Interesse
und dem zu inspizierenden Merkmal erfasst. Ein erster Bildfokuswert
wird dann für den gegenwärtigen Bereich-von-Interesse
bestimmt, und eine Bestimmung wird vorgenommen, ob der erste Bildfokuswert
größer als der Fokusschwellwert ist. Wenn der
erste Bildfokuswert größer als der Fokusschwellwert
ist, dann werden Merkmalsinspektionsabläufe in dem gegenwärtigen
Bild durchgeführt, und wenn nicht, wird eine Z-Achsenbewegung in
einer ersten Einstellrichtung für eine geschätzte erste
Einstellentfernung zu einer Peakfokus Z-Höhe durchgeführt,
wobei die erste Einstellentfernung aufgrund der repräsentativen
merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert
geschätzt werden. An der geschätzten ersten Einstellentfernung
wird ein zweites Bild erfasst und ein zweiter Bildfokuswert wird
für den Bereich-von-Interesse bestimmt. In einer Ausführungsform
wird dann eine Bestimmung durchgeführt, ob der zweite Bildfokuswert
schlechter als der erste Bildfokuswert ist. Wenn bestimmt wird,
dass der zweite Bildfokuswert nicht schlechter als der erste Bildfokuswert
ist, werden dann, in einer Ausführungsform, Merkmalsinspektionsabläufe
in dem gegenwärtigen Bild durchgeführt. Wenn der
zweite Bildfokuswert schlechter als der erste ist, wird dann eine
Z-Achsenbewegung in einer Richtung durchgeführt, die der
ersten Einstellrichtung entgegengesetzt ist, für eine geschätzte
zweite Einstellentfernung zu einer Peakfokus Z-Höhe, wobei die
zweite Einstellentfernung auf Grundlage zumindest einer der ersten
Einstellentfernung unter repräsentativen merkmalsspezifischen
Fokuskurvendaten geschätzt wird. An der geschätzten
zweiten Einstellentfernung wird ein drittes Bild erfasst und Merkmalinspektionsabläufe
werden dann in dem gegenwärtigen Bild durchgeführt
(das dritte Bild). In einer Ausführungsform ist die zweite
Einstellentfernung ungefähr zweimal die erste Einstellentfernung.
-
In Übereinstimmung
mit einem anderen Aspekt der Erfindung kann eine erhöhte
Umsetzung des schnellen ungefähren Fokuslernmodus verwendet werden.
In der erhöhten Umsetzung wird ein repräsentatives
Arbeitsstück in einer betriebsfähigen Position
zur Inspektion bereitgestellt, und ein erstes/nächstes
zu inspizierendes Merkmal wird in dem Gesichtsfeld positioniert,
wobei das repräsentative Merkmal entsprechenden Merkmalen
auf anderen Arbeitsstücken entspricht, und ein Bild wird
erfasst. Eine Bestimmung wird dann durchgeführt, ob der schnelle
ungefähre Fokus verwendet werden wird (z. B. auf Grund
einer Benutzereingabe). Wenn bestimmt wird, dass der schnelle ungefähre
Fokus nicht verwendet werden wird, werden dann andere Merkmalsinspektionsabläufe
definiert. Wenn der schnelle ungefähre Fokus verwendet
werden wird, dann wird ein schnelles ungefähres Autofokuswerkzeug
ausgewählt (z. B. durch einen Benutzer unter Verwendung einer
grafischen Benutzerschnittstelle). Sobald das Werkzeug ausgewählt
ist, kann es verwendet werden, um einen Bereich-von-Interesse (ROI)
zu definieren, einschließlich des repräsentativen
Merkmals, und eine repräsentative merkmalsspezifische Fokuskurve
kann für den Bereich-von-Interesse (ROI), wie oben beschrieben,
bestimmt werden. Dann wird ein Fokusschwellwert, entsprechend einem
Level des „ungefähren” Fokus, bestimmt,
welches ausreichend zur Unterstützung der gewünschten
Merkmalinspektionsabläufe ist. in einer Ausführungsform
kann der Benutzer die Sichtmaschine bedienen, um ein Bild bereitzustellen,
welches in einem Level defokussiert ist, der als schlechtester Fokus
beurteilt wird, den er akzeptabel findet. In einer Ausführungsform,
wird dies subjektiv, durch Betrachten des Bildes, bestimmt. In einer
anderen Ausführungsform bestimmt er dies durch Durchführung
von Inspektionsabläufen bei verschiedenen Fokusleveln,
und durch Auswerten der Präzision und/oder Wiederholbarkeit
der Ergebnisse, verglichen mit den Ergebnissen eines gut fokussierten
Bildes. Der Fokusschwellwert kann alternativ automatisch bestimmt
werden. Zum Beispiel kann in einigen Ausführungsformen
dies durch Bestimmung des Fokuswertes geschehen, welcher einer vorbestimmten
Anzahl von Inkrementen der Fokallänge in dem gegenwärtigen
optischen System, weg von der Fokuspeakstelle auf der repräsentativen merkmalsspezifischen
Fokuskurve, entspricht. Schnelle ungefähre Autofokuswerkzeugdaten und/oder
Parameter werden dann aufgenommen, einschließlich der repräsentativen
merkmalsspezifischen Fokuskurvendaten und der Fokusschwellwertdaten
in Verbindung mit einem Teilprogramm. Als nächstes werden
die Merkmalinspektionsabläufe definiert, welche in dem
Bereich-von-Interesse auszuführen sind. Wenn dort mehr
zu inspizierende Merkmale vorhanden sind, dann wird die Routine
für das nächste Merkmal wiederholt. Jedoch, in
einer anderen Ausführungsform der Routine, sind Abläufe
eingeschlossen, so dass, wenn die zusätzlichen Merkmale
im Wesentlichen gleich dem gegenwärtigen Merkmal sind,
die Abläufe am Block 740, welche die repräsentative
merkmalsspezifische Fokuskurve bestimmen, und der repräsentative
Fokusschwellwert durch Abläufe ersetzt werden, die die
wesentliche Gleichartigkeit bestimmen (z. B. aufgrund einer Nutzereingabe
oder einer Merkmalserkennung usw.) und dann die vorher bestimmte
repräsentative merkmalsspezifische Fokuskurve und den repräsentativen Fokusschwellwert
wiederverwenden, welche für das im Wesentlich gleiche Merkmal
bestimmt wurden.
-
In Übereinstimmung
mit noch einem Aspekt der Erfindung kann eine erhöhte Implementierung
eines schnellen ungefähren Fokus in einem Laufmodus verwendet
werden, z. B. wie folgt. Am Start des Laufmodus ist ein Teilprogramm
bereitgestellt, entlang mit einem Arbeitsstück in Position
zur Inspektion. Das Teilprogramm wird gestartet und das erste/nächste
Werkzeug wird bestimmt und das erste/nächste (zu inspizierende)
Merkmal wird in dem Gesichtsfeld positioniert. Wenn das schnelle
ungefähre Autofokuswerkzeug verwendet wird, dann werden
die repräsentativen merkmalsspezifischen Fokuskurvendaten
und Fokusschwellwertdaten entsprechend dem gegenwärtigen
Merkmal aufgerufen. Ein erstes Bild wird dann erfasst und ein erster
Bildfokuswert wird in dem Bereich-von-Interesse bestimmt, welcher
durch das Werkzeug bestimmt wurde, und eine Bestimmung wird vorgenommen,
ob der erste Bildfokuswert größer als der Fokusschwellwert ist.
Wenn der erste Bildfokuswert größer als der Fokusschwellwert
ist, werden dann die Merkmalsinspektionsabläufe beginnen.
Wenn der erste Bildfokuswert nicht größer ist,
dann wird eine erste Einstellentfernung auf eine Peakfokus Z-Höhe
aufgrund der repräsentativen merkmalsspezifischen Fokuskurvendaten
und des ersten Bildfokuswerts geschätzt. Die Sichtmaschine
wird dann zur Einstellung der Z-Höhe durch die erste Einstellentfernung
in einer ersten Einstellrichtung bewegt (z. B. um Z zu erhöhen),
und danach wird ein zweites Bild erfasst und ein zweiter Bildfokuswert
für den Bereich-von-Interesse bestimmt. Eine Bestimmung
wird dann vorgenommen, ob der zweite Bildfokuswert größer
als der Fokusschwellwert ist. Wenn der zweite Bildfokuswert größer
als der Fokusschwellwert ist, dann beginnen die Merkmalinspektionsabläufe,
und wenn er nicht größer ist, dann wird eine Bestimmung
weiterhin durchgeführt, ob der zweite Bildfokuswert größer
als der erste Bildfokuswert ist. Wenn der zweite Bildfokuswert größer
als der erste Bildfokuswert ist, dann bezeichnet dies, dass die
erste Einstellrichtung richtig war, aber die erste Einstellentfernung
nicht. Daher, in einer Ausführungsform, rufen oder führen
die schnellen ungeführen Fokusabläufe Standardfokusab- Läufe
aus (z. B. konventionelle Abläufe wie ein Erfassen zusätzlicher
Bilder, Bestimmen einer neuen Fokuskurve, finden ihres Peaks usw.).
Solche Abläufe sind langsamer, aber robuster. In einer
anderen Ausführungsform können die Autofokusabläufe
abgeschlossen werden, und eine Fehlerbezeichnung kann ausgegeben
werden. In einer anderen Ausführungsform können
eines oder mehrere zusätzliche vorberechnete Einstellungen
durchgeführt werden, in Abhängigkeit von der Form
der Kontrastkurve. Wenn der zweite Bildfokuswert nicht größer
als der erste Bildfokuswert ist, dann wird eine zweite Einstellentfernung bestimmt
und die Sichtmaschine wird in eine „entgegengesetzte” Einstellrichtung
bewegt, die der ersten Einstellrichtung entgegengesetzt ist, um
die Z-Höhe durch die zweite Einstellentfernung einzustellen.
Die zweite Einstellentfernung wird aufgrund von zumindest entweder
der ersten Einstellentfernung oder den repräsentativen
merkmalspezifischen Fokuskurvendaten bestimmt. Zum Beispiel wird
in einer Ausführungsform die zweite Einstellentfernung
als ungefähr zweimal die erste Einstellentfernung bestimmt.
In einer anderen Ausführungsform wird die zweite Einstellentfernung
unabhängig der ersten Einstellentfernung bestimmt, aber
auf dieselbe Art. Ein drittes Bild wird dann erfasst und ein dritter
Bildfokuswert wird in dem Bereich-von-Interesse bestimmt, und eine
Bestimmung wird vorgenommen, ob der dritte Bildfokuswert größer
als der Fokusschwellwert ist. Wenn der dritte Bildfokuswert nicht
größer als der Fokusschwellwert ist, dann rufen
oder führen aus die schnellen ungefähren Standartfokusabläufe
(z. B. wie oben beschrieben), und wenn er größer
ist, dann werden Merkmalsinspektionsabläufe in dem gegenwärtigen
Bild durchgeführt. In einer Ausführungsform können
die schnellen ungefähren Fokusabläufe (optional)
einen zusätzlichen Aspekt aufweisen, wobei, unter manchen
Umständen, die letzte erfolgreiche plus oder minus Z-Einstellrichtung
aufgenommen werden kann und/oder als die erste Einstellrichtung
in einem darauffolgenden nächsten Vorgang zur Durchführung
der schnellen ungefähren Autofokusabläufe verwendet
werden, für ein nächstes zu inspizierendes Merkmal.
Wenn es mehrere zu inspizierende Merkmale gibt, dann beginnt die
Routine noch mal mit dem nächsten Merkmal oder aber die
Inspektionsergebnisse werden gespeichert/ausgegeben und/oder das
Teilprogramm wird beendet.
-
Es
sollte geschätzt werden, dass das Durchführen
einer nachfolgenden Einstellung oder Suche in derselben Richtung,
wie die letzte (vorherige) erfolgreiche Einstellrichtung vorteilhaft
ist, wenn ein Teil, welches als nominell flach (oder ungefähr
so) inspiziert wird, aber auf der Stufe des maschinellen Sichtsystems
geneigt oder gewölbt ist. Wenn ein Feld von Merkmalen auf
solchen Teilen inspiziert wird (z. B. gedruckte Schaltkreislöcher)
ist die Neigung wahrscheinlich gleichbleibend oder zumindest nur
langsam wechselnd, so dass eine Fokuseinstellrichtung, die während
der Inspektion des vorherigen Arbeitsstückmerkmals erfolgreich
war, wahrscheinlich die korrekte Fokuseinstellrichtung für
das nächste Arbeitsstückmerkmal ist. Daher wird
dieses Verfahren wahrscheinlich beim Inspizieren solcher Arbeitsstücke
den Durchsatz verbessern oder maximieren.
-
Kurze Beschreibung der Zeichnungen
-
Die
vorangegangenen Aspekte und viele der vorhandenen Vorteile dieser
Erfindung werden schneller geschätzt werden, da dieselben
besser verständlich werden durch Bezug auf die folgende
detaillierte Beschreibung, und wenn sie in Zusammenhang mit dem
beigefügten Zeichnungen genommen werden, in denen:
-
1 ein
Diagramm ist, welches verschiedene, typische Komponenten eines maschinellen Präzisionssichtinspektionssystems
für einen allgemeinen Zweck zeigt;
-
2 ein
Diagramm eines Steuersystemabschnittes ist und eines Sichtkomponentenabschnittes
eines maschinellen Sichtinspektionssystems;
-
3 ein
Diagramm ist, welches Auf- und Seitenansichten eines Arbeitsstückes
und einer Reihe zu inspizierender Merkmale zeigt, entlang mit einer
Abfolge von Fokuspositionen einer Kamera gemäß einer
Ausführungsform von schnellen ungefähren Autofokusabläufen
während einer Abfolge von Merkmalsinspektionen.
-
4 ein
repräsentativer Graph ist, der eine gelernte repräsentative
Fokuskurve und eine diskrepante Laufzeit Fokuskurve zeigt;
-
5 ein
Flussdiagramm ist, welches einen exemplarischen allgemeinen Ablauf
für schnelle ungefähre Fokusabläufe während
des Lernmodus zeigt;
-
6 ein
Flussdiagramm ist, welches eine exemplarische allgemeine Routine
für schnelle ungefähre Fokusabläufe während
des Laufmodus zeigt;
-
7 ein
Flussdiagramm ist, welches eine Routine für eine erhöhte
Implementierung schneller ungefährer Fokusabläufe
während des Lernmodus zeigt;
-
8A und 8B Flussdiagramme
sind, die eine Routine für eine erhöhte Implementierung schneller
ungefährer Fokusabläufe während des Laufmodus
zeigen;
-
9A bis 9C Diagramme
sind, welche verschiedene Merkmale einer Ausführungsform
einer schnellen ungefähren Autofokuswerkzeugbenutzterschnittstelle
zeigen, einschließlich einer Werkzeugparameter bearbeitenden
Dialogbox; und
-
10 ein
Diagramm ist, welches eine Ausführungsform einer maschinellen Sichtinspektionssystembenutzerschnittstellenanzeige,
einschließlich verschiedener, mit einem schnellen ungefähren
Autofokuswerkzeug verbundenen Merkmal, zeigt.
-
Detaillierte Beschreibung der bevorzugten
Ausführungsform
-
1 ist
ein Blockdiagramm eines exemplarischen maschinellen Sichtinspektionssystems 10, welches
in Übereinstimmung mit der vorliegenden Verbindung verwendet
werden kann. Das maschinelle Sichtinspektionssystem 10 schließt
eine Sicht messende Maschine 12 ein, die wirksam zum Austausch
von Daten und Steuersignalen mit einem steuernden Computersystem 14 verbunden
ist. Das steu ernde Computersystem 14 ist weiterhin wirksam zum
Austausch von Daten und Steuersignalen mit einem Monitor oder einer
Anzeige 16, einem Drucker 18, einem Joystick 20,
einer Tastatur 24 und einer Maus 26 verbunden.
Der Monitor oder die Anzeige 16 kann eine Benutzerschnittstelle
anzeigen, die zur Steuerung und/oder Programmierung der Abläufe des
maschinellen Sichtinspektionssystems 10 geeignet ist.
-
Die
Sicht messende Maschine
12 schließt eine bewegliche
Arbeitsstückstufe
32 und ein optisches Bildsystem
34 ein,
welches eine Zoomlinse oder austauschbare Linsen einschließen
kann. Die Zoomlinse oder die austauschbaren Linsen, stellen im Allgemeinen
verschiedene Vergrößerungen für die Bilder
bereit, die durch das optische Bildsystem
34 bereitgestellt
werden. Das maschinelle Sichtinspektionssystem
10 ist im
Allgemeinen mit der QUICK VISION
®-Serie
der Sichtsysteme und der QVPAK
®-Software
vergleichbar, wie oben diskutiert, und ähnlichen kommerziell
erhältlichen maschinellen Präzisionssichtinspektionssystemen
des Standes der Technik. Das maschinelle Sichtinspektionssystem
10 ist
auch in dem
US Patentnummer 7,454,053 beschrieben,
welches hier vollständig durch Bezug eingefügt
wird. Verschiedene Aspekte von Sichtmessmaschinen und Steuersystemen
sind ebenfalls detaillierter in der parallelen anhängigen
und allgemein zugänglichen
US
Patentabmeldung Nr. 10/632,823 beschrieben, die am 4. August
2003 angemeldet wurde, und in
US
Patentnummer 7,324,682 , welche am 25. März 2004
angemeldet wurde, welche beide ebenso hier durch Bezug vollständig
eingefügt werden. Die schnellen ungefähren Fokusabläufe,
wie hier diskutiert, können dramatisch den Durchsatz für
einige Anwendungen von maschinellen Sichtinspektionssystemen erhöhen.
Weiterhin können die Verfahren als ein einfach zu verwendendes
Videowerkzeug und/oder Autofokusablaufmodus verwendet werden.
-
2 ist
ein Diagramm eines Steuersystemabschnittes 120 und eines
Sichtkomponentenabschnittes 200 eines maschinellen Sichtinspektionssystems 100 in Übereinstimmung
mit der vorliegenden Erfindung. Wie unten detaillierter beschrie ben werden
wird, wird der Steuersystemabschnitt 120 zur Steuerung
des Sichtkomponentenabschnittes 200 verwendet. Der Sichtkomponentenabschnitt 200 schließt
einen optischen Anordnungsabschnitt 205, Lichtquellen 220, 230 und 240 und
eine Arbeitsstückstufe 210 mit einem mittleren
transparenten Abschnitt 212 ein. Die Arbeitsstückstufe 210 ist
gesteuert zwischen X- und Y-Achsen beweglich, die in einer Ebenen
liegen, die im Allgemeinen parallel der Oberfläche der
Stufe ist, auf der ein Arbeitsstück 20 positioniert
werden kann. Der optische Anordnungsabschnitt 205 schließt
ein Kamerasystem 260 und eine austauschbare Objektivlinse 250 ein,
und kann eine Revolverlinsenanordnung 280 mit Linsen 286 und 288 einschließen,
und die koaxiale Lichtquelle 230. Alternativ zu der Revolverlinsenanordnung,
kann eine starre oder manuell austauschbare Vergrößerungsänderungslinse,
oder eine Zoomlinsengestaltung, oder ähnliches eingeschlossen
sein. Der optische Anordnungsabschnitt 205 ist gesteuert
entlang einer Z-Achse beweglich, die im Allgemeinen senkrecht zu
den X- und Y-Achsen ist, unter Verwendung eines steuerbaren Motors 294,
wie unten weiter beschrieben wird.
-
Ein
Arbeitsstück 20, das abzubilden ist, unter Verwendung
des maschinellen Sichtinspektionssystems 100 wird auf die
Arbeitsstückstufe 210 platziert. Eines oder mehrere
eines Stufenlichts 220, eines koaxialen Lichts 230 und
eines Oberflächenlichts 240 kann Quelllicht 222, 232 oder 242 jeweils
emittieren, um das Arbeitsstück 20 zu beleuchten.
Das Quelllicht wird als Werkstücklicht 255 reflektiert
oder übertragen, welches durch die austauschbare Objektivlinse 250 und
die Revolverlinsenanorndung 280 verläuft und durch
das Kamerasystem 260 gesammelt wird. Das Bild des Arbeitsstückes 220,
welches durch das Kamerasystem 260 erfasst wird, wird an
eine Signalleitung 262 zu dem Steuersystemabschnitt 120 ausgegeben.
Die Lichtquellen 220, 230 und 240 können mit
dem Steuersystemabschnitt 120 durch Signalleitungen oder
Busse 221, 231 und 241 jeweils verbunden
sein. Um die Bildvergrößerung zu ändern
kann der Steuersystemabschnitt 120 die Revolverlinsenanordnung 280 entlang
der Achse 284 rotieren, um eine Revolverlinse durch eine
Signalleitung oder einen Bus 281 auszuwählen.
-
In
verschiedenen exemplarischen Ausführungsformen ist der
optische Anordnungsabschnitt 205 in der vertikalen Z-Achsenrichtung
relativ zu der Arbeitsstückstufe 210 beweglich
unter Verwendung eines steuerbaren Motors 294, welcher
einen Betätiger, ein verbindendes Kabel oder ähnliches
antreibt und den optischen Anordnordnungsabschnitt 205 entlang
der Z-Achse zu bewegen, um den Fokus des Bildes des Arbeitsstückes 20 zu ändern,
welches durch das Kamerasystem 260 erfasst wurde. Der Begriff
Z-Achse, wie hier verwendet, bezieht sich auf die Achse, die dafür
gedacht ist zum Fokussieren des Bildes verwendet zu werden, welches
durch den optischen Anordnungsabschnitt 205 erhalten wurde. Der
steuerbare Motor 294, wenn er verwendet wird, ist mit der
Eingabe-/Ausgabeschnittstelle 130 über eine Signalleitung 296 verbunden.
-
Wie
in 2 gezeigt, schließt in verschiedenen
exemplarischen Ausführungsformen der Steuersystemabschnitt 120 eine
Steuerung 125, eine Eingabe-/Ausgabeschnittstelle 130,
ein Speicher 140, einen Arbeitsstückprogrammerzeuger
und -ausführer 170 und einen Energieversorgungsabschnitt 190 ein. Jede
dieser Komponenten, ebenso wie die unten beschriebenen zusätzlichen
Komponenten, können durch einen oder mehrere Daten/Steuerbusse und/oder
Anwendungsprogrammschnittstellen oder durch direkte Verbindungen
zwischen den verschiedenen Elementen miteinander verbunden sein.
-
Die
Eingabe-/Ausgabeschnittstelle 130 schließt eine
Bildsteuerschnittstelle 131, eine Bewegungssteuerschnittstelle 132,
eine Beleuchtungssteuerschnittstelle 133 und eine Linsensteuerschnittstelle 134 ein.
Die Bewegungssteuerschnittstelle 132 kann ein Positionssteuerelement 132a und
ein Geschwindigkeits-Beschleunigungssteuerelement 132b einschließen.
Jedoch sollte geschätzt werden, dass in verschiedenen exemplarischen
Ausführungsformen solche Elemente zusammengefasst und/oder ununterscheidbar
sein können. Die Beleuchtungssteuerschnittstelle 133 schließt
Beleuchtungssteuerelemente 133a bis 133n ein,
welche z. B. die Auswahl, die Leistung, den Ein-/Ausschalter und
die Stroboskoptaktzei ten steuern, wenn anwendbar, für die
verschiedenen entsprechenden Lichtquellen des maschinellen Sichtinspektionssystems 100.
-
Der
Speicher 140 schließt einen Bilddateispeicherabschnitt 141,
einen Arbeitsstückprogrammspeicherabschnitt 142,
welcher eines oder mehrere Teilprogramme einschließen kann
oder ähnliches, und einen Videowerkzeugabschnitt 143 ein.
Der Videowerkzeugabschnitt 143 schließt einen
Werkzeugabschnitt 143a und andere ähnliche Werkzeugabschnitte
(nicht gezeigt) ein, welche den GUI, den Bildverarbeitungsablauf
usw., für jedes der entsprechenden Werkzeuge bestimmt.
Der Videowerkzeugabstandabschnitt 143 schließt
ebenso einen Bereich-von-Interesse-Erzeuger 143x ein, der
automatische, halbautomatische und/oder manuelle Abläufe unterstützt,
welche verschiedene ROIs definieren, die in verschiedenen Videowerkzeugen
ausführbar sind, die in dem Videowerkzeugabschnitt 143 eingeschlossen
sind.
-
Insbesondere
schließt in verschiedenen Ausführungsformen gemäß dieser
Erfindung der Videowerkzeugabschnitt 143 den Autofokuswerkzeugabschnitt 143f ein,
welcher verschiedene Abläufe und Merkmale in Bezug auf
die Autofokusabläufe bereitstellt, wie unten detaillierter
beschrieben. In einer Ausführungsform kann der Autofokuswerkzeugabschnitt 143f eine
Autofokusmodussteuerung 143fa, Hochpräzisionsautofokuswerkzeuge 143fb und
ein schnelles ungefähres Autofokuswerkzeug 143fc einschließen.
Kurz, können die Hochpräzisionsautofokuswerkzeuge 143fb ähnlich
bekannten Autofokuswerkzeugen arbeiten, z. B. Abläufe im Lernmodus
und Laufmodus ausführen, wie ein Erfassen eines gegenwärtigen
Bildstapels an verschiedenen Z-Höhen, ein Erzeugen der
gesamten oder eines Teils einer Fokuskurve und ein Auffinden ihres
Peaks als eine am besten fokussierte Position, die immer zu dem
gegenwärtigen Arbeitsstückmerkmal und den Betriebsbedingungen „passt”.
Das schnelle ungefähre Autofokuswerkzeug 143fc arbeitet
aufgrund schneller ungefährer Fokusverfähren der
vorliegenden Erfindung. Im Gegensatz zu den „Hochpräzisionsautofokuswerkzeugen” 143fb bestimmt
das schnelle ungefähre Autofokuswerkzeug 143fc eine repräsentative
Fo kuskurve für ein bestimmtes Merkmal im Lernmodus, und
bezieht sich auf dieselben Fokuskurvendaten, wenn ein ähnliches
bestimmtes Merkmal während des Laufmodus inspiziert wird,
um das Zeit kostende Verfahren des Erfassens und Analysierens eines
neuen Bildstapels im Laufmodus zu vermeiden. Die Autofokusmodussteuerung 143fa kann
Abläufe durchführen, wie hier offenbart, um die Autofokuswerkzeuge
(d. h. die Hochpräzisionswerkzeuge 143fb oder
das schnelle ungefähre Autofokuswerkzeug 143fc)
oder Werkzeugmodi davon abhängig zu konfigurieren, welches
Werkzeug oder welcher Modus aktiviert ist.
-
Die
Beschreibung „Hochpräzision” der Autofokuswerkzeuge 143fb ist
nicht als beschreibend gedacht, er ist einfach nur im Gegensatz
zu der niedrigen Fokuspräzision des schnellen ungefähren
Autofokuswerkzeugs 143fc ausgewählt, welches zum
Akzeptieren eines einigermaßen verschlechterten Bildfokus
gedacht ist, im Austausch für einen höheren Durchsatz.
Die Hochpräzisionsautofokuswerkzeuge 143fb stellen
im Allgemeinen die am besten fokussierte Position bereit, welche
die entsprechende Oberflächen Z-Höhe präziser
bezeichnet. Im Gegensatz dazu verwendet das schnelle ungefähre
Autofokuswerkzeug 143fc die Verfahren der vorliegenden Erfindung,
um schnell ein ungefähr fokussiertes Bild bereitzustellen,
welches zuverlässig ausreichend präzise X-Y-Kantenmessungen
unterstützen kann, aber meistens nicht zur Bestimmung einer
präzisen Z-Höhenmessung geeignet ist.
-
Alternative
Gestaltungen sind für den Autofokuswerkzeugabschnitt 143f möglich.
Zum Beispiel kann das Hochpräzisionsautofokuswerkzeug 143fb und
das schnelle ungefähre Autofokuswerkzeug 143fc partitionierte
Modussteuerfunktionen einschließen, sodass ein einzelner
Modussteuerabschnitt 143fa ausgelassen werden kann. Alternativ kann
der Autofokuswerkzeugabschnitt 143f eines oder mehrere
allgemeine Autofokuswerkzeugelemente bereitstellen, und der Modussteuerabschnitt 143fa kann
Abläufe bereitstellen, die die Benutzerschnittstelle und
die Wechselwirkungen der allgemeinen Autofokuswerkzeugelemente in
einer Art regeln, die davon abhängen, ob ein Hochpräzisionsautofokuswerkzeugverhalten oder
ein schnelles ungefähres Autofokuswerkzeugverhalten gewünscht
ist. In solch einem Fall können die Schaltungen, Routinen oder
Anwendungen, die die Abläufe der Hochpräzisionsautofokuswerkzeuge 143fb und/oder
des schnellen ungefähren Autofokuswerkzeugs 143fc bereitstellen,
zusammengelegt und/oder unterscheidbar sein. In bestimmten Implementierungen
kann die Autofokusmodussteuerung 143fa zur Implementierung eines
schnellen ungefähren Autofokusmodus verwendet werden (im
Gegensatz zu einem einzelnen Werkzeug). Insbesondere kann diese
Erfindung in jeder jetzt bekannten oder später entwickelten
Form implementiert werden, die in Zusammenarbeit mit dem maschinellen
Sichtinspektionssystem 100 betreibbar ist, um die hier
offenbarten Merkmale in Bezug auf die schnellen ungefähren
Autofokusabläufe bereitzustellen.
-
Im
Allgemeinen speichert der Speicherabschnitt 140 Daten,
die zum Betreiben des Sichtsystemkomponentenabschnittes 200 zum
Erbringen oder Erfassen eines Bildes des Werkstücks 20 verwendbar
sind, sodass das erfasste Bild des Werkstücks 20 gewünschte
Bildcharakteristiken aufweist. Der Speicherabschnitt 140 kann
ebenso Inspektionsergebnisdaten speichern, und kann weiterhin Daten speichern,
die zum Betreiben des maschinellen Sichtinspektionssystems 100 zum
Durchführen verschiedener Inspektions- und Messabläufe
auf den erfassten Bildern verwendbar sind (z. B. implementiert, teilweise
als Videowerkzeuge), entweder manuell oder automatisch, und die
Ergebnisse durch die Eingabe-/Ausgabeschnittstelle 130 ausgeben.
Der Speicherabschnitt 140 kann ebenso Daten beinhalten,
die eine grafische Benutzerschnittstelle definieren, die durch die
Eingabe-/Ausgabeschnittstelle 130 betreibbar ist.
-
Die
Signalleitungen oder Busse 221, 231 und 241 des
Stufenlichts 220, des koaxialen Lichtes 230 und
des Oberflächenlichtes 240 sind jeweils alle durch
die Eingabe-/Ausgabeschnittstelle 130 verbunden. Die Signalleitung 262 von
dem Kamerasystem 260 und die Signalleitung 296 von
dem steuerbaren Motor 294 sind mit der Eingabe-/Ausgabeschnittstelle 130 verbunden.
Zusätzlich, zum Übertragen von Bilddaten, kann
die Signalleitung 262 ein Signal von der Steuerung 125 übertragen,
welches eine Bilderfassung auslöst.
-
Eine
oder mehrere Anzeigevorrichtungen 136 und eine oder mehrere
Eingabevorrichtungen 138 können ebenso mit der
Eingabe-/Ausgabeschnittstelle 130 verbunden sein. Die Anzeigevorrichtungen 136 und
die Eingabevorrichtungen 138 können zur Anzeige
einer Benutzerschnittstelle verwendet werden, welche verschiedene
graphische Benutzerschnittstellen (GUI) Merkmale einschließen
kann, die zur Durchführung von Inspektionsabläufen und/oder
zur Erzeugung und/oder Modifizierung von Teilprogrammen verwendbar
sind, um die durch das Kamerasystem 260 erfassten Bilder
anzusehen und/oder den Sichtsystemkomponentenabschnitt 200 direkt
zu steuern. In einem vollständig automatisierten System
mit einem vordefinierten Teilprogramm (oder Arbeitsstückprogramm)
können die Anzeigevorrichtungen 136 und/oder die
Eingabevorrichtungen 138 ausgelassen werden.
-
In
verschiedenen exemplarischen Ausführungsformen, wenn ein
Benutzer das maschinelle Sichtinspektionssystem 100 zur
Erzeugung eines Teilprogramms für das Arbeitsstück 20 verwendet, erzeugt
der Benutzer Teilprogramminstruktionen, entweder durch expliziertes
Kodieren der Instruktionen automatisch, halbautomatisch oder manuell
unter Verwendung einer Arbeitsstückprogrammiersprache oder
durch Erzeugen der Instruktionen durch Betätigen des maschinellen
Sichtinspektionssystems 100 in einem Lernmodus, um eine
gewünschte Bilderfassungstrainingssequenz bereitzustellen.
Zum Beispiel kann eine Trainingssequenz das Positionieren eines
Arbeitsstückmerkmals in dem Gesichtsfeld (FOV), das Einstellen
von Lichtleveln, das Fokussieren oder Autofokussieren, das Erfassen
eines Bildes und die Bereitstellung einer Inspektionstrainingssequenz
umfassen, die auf das Bild angewandt wird (z. B. unter Verwendung
von Videowerkzeugen). Der Lernmodus arbeitet so, dass die Sequenz(en)
erfasst werden und in entsprechende Teilprogramminstruktionen konvertiert
werden. Diese Instruktionen bringen die maschinelle Sichtinspektion
dazu, die trainierte Bilderfassung und Inspektionsab lauf zum automatischen
Inspizieren eines Arbeitsstückes oder Arbeitsstücken
auszuführen, die zum Arbeitsstück passen, welches
bei Erzeugung des Teilprogramms verwendet wurde.
-
Diese
Analyse und Inspektionsverfahren, die zum Inspizieren von Merkmalen
in einem Arbeitsstückbild verwendet werden, sind typischerweise
in verschiedenen Videowerkzeugen verkörpert, einschließlich
dem Videowerkzeugabschnitt 143 des Speichers 140 und
einschließlich der Autofokuswerkzeuge 143fb und 143fc.
Viele bekannte Videowerkzeuge oder kurz „Werkzeuge” sind
in kommerziell verfügbaren maschinellen Sichtinspektionssystemen eingeschlossen,
wie die QUICK VISION®-Serie von Sichtsystemen
und die damit verbundene QVPAK®-Software,
wie oben diskutiert.
-
3 ist
ein Diagramm 300, welches eine Draufsicht 310 und
eine Seitenansicht 320 eine Serie zu inspizierenden Arbeitsstückmerkmalen
im Laufmodus zeigt, entlang mit einer Sequenz von Kamerafokuspositionen
während einer Sequenz von Merkmalinspektionen entsprechend
einer Ausführungsform von schnellen ungefähren
Autofokusabläufen. Wie in der Draufsicht 310 gezeigt,
schließt das Arbeitsstück 311 Arbeitsstückmerkmale 312A bis 312D ein.
Zur Erklärung ist jedes der Arbeitsstückmerkmale 312A bis 312D umschlossen
in einem Bereichvon-Interesse (ROI) gezeigt, welches durch die äußeren
Begrenzungen seines entsprechenden schnellen Autofokusvideowerkzeugs
definiert ist, um ausgewählt zu werden, untersucht und
im Lernmodus manipuliert, um ein Teilprogramm zu erzeugen, wie unten
mit Bezug zu 10 detaillierter beschrieben. Jedoch
wird verstanden werden, dass die verschiedenen Merkmale und ihre
entsprechenden Videowerkzeuge typischerweise im Gesichtsfeld der
Kamera, jeweils eines, alleine positioniert sind, wie durch die
Beschreibung unten impliziert. Jeder einzelne Vorgang einer schnellen
Autofokusvideowerkzeug GUI-Vorrichtung ist Teil eines entsprechenden Vorgangs
des schnellen Autofokusvideowerkzeugs. Aufgrund dieses eins zu eins
Verhältnisses, ist es häufig angenehm sich untereinander
austauschbar auf die graphische Vorrichtung und das Werkzeug zu beziehen
und die Bedeutung wird aufgrund des Zusammenhangs klarwerden. Nichtsdestotrotz
wird verstanden werden, dass die zwei Begriffe nicht tatsächlich
identisch sind, und dass das Werkzeug zugrundeliegende Abläufe
und andere Merkmale zusätzlich zu der Vorrichtung umfasst.
-
In 3 verläuft
die Teilprogramminspektionssequenz von links nach rechts, wie durch
die Pfeile bezeichnet, beginnend mit der Inspektion des Arbeitsstücksmerkmals 312A und
danach voranschreitend zu jedem der Arbeitsstückmerkmale 312B, 312C und 312D.
Zur Erklärung kann man sich denken, dass sich eine Kamera
von links nach rechts über das Arbeitsstück 311 bewegt
und nacheinander Bilder der Bereiche von Interesse von jedem der
Videowerkzeuge 314A bis 314D erfasst, wie unten
beschrieben. Die schnellen Autofokusvideowerkzeuge 314A bis 314D regeln
die fokussierenden Abläufe, die durchgeführt werden,
um akzeptable Inspektionsbilder der entsprechenden Bereiche-von-Interesse zu
erfassen.
-
Wie
in der Seitenansicht 320 gezeigt, ist in diesem Beispiel
das Arbeitsstück 311, relativ zu einer horizontalen
gestrichelten Linie 321 gewölbt, die eine flache
Oberflächenebene eines Arbeitsstückes darstellt,
welches zur Erzeugung des Teilprogramms während des Lernmodus
verwendet wurde, wie unten detaillierter beschrieben werden wird.
Im Allgemeinen wird geschätzt werden, dass bestimmte nominalflache
und dünne Arbeitsstückteile relativ einfach deformieren
und/oder unabsichtlich auf der Stufe geneigt werden können
(z. B. bedruckte Schaltkreise, große flache Panelanzeigen
usw.). Demnach können die Laufmodusarbeitsstücke
nicht der Form der jeweiligen Arbeitsstücke entsprechen,
die zum Training im Lernmodus verwendet wurden. Die Deformation
des Arbeitsstückes 311 in 3 ist in
der Z-Richtung zur besseren Illustration übertrieben. Zusätzlich
wurde eine rein schematische Darstellung der Kamera verwendet, um
die fokussierenden Bewegungen zu betonen, die unten detaillierter
beschrieben werden.
-
Wie
in der Seitenansicht 320 für das Arbeitsstückmerkmal 312A gezeigt,
wird die Kamera ursprünglich auf eine nominelle Z-Höhe 322A gesetzt, die
einer gelernten ursprünglichen Fokussierungsposition (einer
Z-Position) relativ zu der flachen Ebene 321 entspricht,
wie während des Lernmodus festgelegt wurde. Es wird geschätzt
werden, dass, da das Arbeitsstückmerkmal 312A auf
der gewölbten Oberfläche des Arbeitsstückes 311 signifikant
unter die flache Ebene 321 fällt, die nominelle
Z-Höhe 320A der Kamera nicht zu einem akzeptablen
Fokus metrischen Wert führt (also bezogen auf einen Fokuswert) in
dem ROI, wie unten detaillierter beschrieben. Eine Standard erste
Einstellungsrichtung war ursprünglich programmiert oder
festgelegt, welche in diesem Fall die Kamera dazu bringt, sich aufwärts
um eine ursprüngliche Einstellentfernung zu bewegen, von
der Z-Höhe 322A zu einer Z-Höhe 322A'.
Die ursprüngliche Einstellentfernung ist eine geschätzte
Entfernung von der Z-Höhe 322A zu einer am besten
fokussierten Position aufgrund der Fokuskurvendaten, die während
des Lernmodus bestimmt wurden, und des gegenwärtigen Fokuswertes,
wie unten detaillierter beschrieben werden wird. An der Z-Höhe 322A' wird
ein neues Bild erfasst und der Fokuswert wird wieder ausgewertet,
und wird wieder als nicht akzeptabel bestimmt, und wird weiterhin
als schlechter als der erste Fokuswert bestimmt. Als Ergebnis dieses Ausgangs
bewegt die Routine die Kamera in die entgegen gesetzte Richtung,
um eine Einstellentfernung, die, wie zuvor, als die Entfernung zu
einer am besten fokussierten Position geschätzt wird (z.
B. um zweimal die Entfernung, die sich in die ursprüngliche Einstellrichtung
bewegt wurde), und ein neues Bild wird erfasst. Diese Einstellung
führt dazu, dass sich die Kamera in der Z-Höhe 322A'' befindet.
An der Z-Höhe 322A'' befindet sich die Kamera
unterhalb der ursprünglich gelernten und programmierten
Position 322A, so wie sich das Arbeitsstückmerkmal 312A unter
der Position seines entsprechenden Merkmals während des
Lernmodus befindet. Als ein Ergebnis wird ein Fokuswert, der für
den ROI in dem neuen/gegenwärtigen Bild bestimmt wurde,
als auf ein akzeptables Niveau bestimmt (z. B. wie unten mit Bezug
zu 4 betont), und die Inspektionsabläufe (z.
B. X-Y-Kantenortmessabläufe) werden in dem gegenwärtigen
Bild durchgeführt.
-
Das
Teilprogramm bewegt dann die Kamera zu der programmierten X-Y-Stelle
des nächsten Arbeitsstückmerkmals 312B.
In der schnellen ungefähren Fokusvi deowerkzeugabläufeausführungsform nach 3 wird
die Kamera an die letzte, erfolgreiche Kamera Z-Höhe bewegt
und positioniert, die ein akzeptables Inspektionsbild produziert
hat (d. h. zur Z-Höhe 322A''), wobei jede Z-Höhe
des Merkmals 312B „verworfen” wird, welches
im Lernmodus beobachtet oder aufgenommen wurde. Es ist vorteilhaft dieses
Merkmal in verschiedenen Ausführungsformen der schnellen
ungefähren Fokusvideowerkzeugsoperationen aufzunehmen,
jedoch ist es nicht strikt notwendig. Ein Bild wird an der ursprünglichen Z-Höhe 322B erfasst
(welche 322A'' entspricht) und der in dem ROI bestimmte
Fokuswert wird aufgrund der Wölbung des Arbeitsstückes 311 akzeptabel sein,
wobei die Positionen des Arbeitsstücksmerkmals 312B ungefähr
auf derselben Höhe wie die des Arbeitsstückmerkmals 312A sind.
Inspektionsabläufe werden in dem Bild durchgeführt.
-
Das
Teilprogramm bewegt die Kamera dann zu der programmierten X-Y-Stelle
des nächsten Arbeitsstückmerkmals 312C.
Wie zuvor wird die Kamera zu der letzten erfolgreichen Kamera Z-Höhe
bewegt und positioniert, die ein akzeptables Inspektionsbild erzeugt
hat (d. h. zu einer Z-Höhe 320B). Ein Bild wird
bei der ursprünglichen Z-Höhe 322C (welche 322B entspricht)
erfasst. Da das Arbeitsstückmerkmal 312C sich
an einer deutlich unterschiedlichen Höhe befindet als das
Arbeitsstückmerkmal 312B, und die Kamera ursprünglich
auf derselben Z-Höhe ist, ist das erfasste Bild deutlich
außerhalb des Fokus und stellt keinen akzeptablen Fokuswert
in diesem ROI bereit. In der schnellen ungefähren Fokusvideowerkzeugabläufeausführungsform
von 3, wenn ein vorheriges schnelles ungefähres
Fokuswerkzeug zu einer erfolgreichen Bildhöhe bewegt wird,
wird die Richtung dieser Bewegung gespeichert und als die erste
Einstellrichtung für einen folgenden Vorgang des schnellen
ungefähren Fokuswerkzeugs verwendet. In diesem Beispiel
verursacht die Kamera eine Abwärtsbewegung, um eine ursprüngliche
Einstellentfernung, von der Z-Höhe 322C zu einer
Z-Höhe 322C'. So wie mit allen Einstellentfernungen
ist die ursprüngliche Einstellentfernung eine geschätzte Entfernung
von der gegenwärtigen Z-Höhe 322A zu einer
am besten fokussierten Position aufgrund von Fokuskurvendaten, die
während des Lernmodus erfasst wurden, und dem gegenwärtigen
Fokuswert, wie unten detaillierter beschrieben wird. An der Z-Höhe 322C' wird
ein neues Bild erfasst und der Fokuswert wird wieder ausgewertet,
und wird wieder als nicht akzeptabel bestimmt und weiterhin als
schlechter als der erste Fokuswert bestimmt. Als Ergebnis dieses
Ausgangs bewegt die Routine dann die Kamera in die entgegen gesetzte
Richtung, um eine Einstellentfernung, die, wie zuvor, als die Entfernung zu
einer am besten fokussierten Position geschätzt wird (z.
B. zweimal die Entfernung, in die ursprüngliche Einstellrichtung
bewegt) und ein neues Bild wird erfasst. Die Einstellung führt
dazu, dass sich die Kamera in der Z-Höhe 322C'' befindet.
An der Z-Höhe 322C'' befindet sich die Kamera
oberhalb der letzten erfolgreichen Z-Höhe 332B gerade
so, wie sich das Arbeitsstückmerkmal 312C oberhalb
der Position des vorherigen Arbeitsstückmerkmals 312B befindet.
Die Kamera folgte nun der lokalen Deformation oder Neigung des Teils.
Als ein Ergebnis wird ein Fokuswert, der für den ROI in
dem neuen/gegenwärtigen Bild bestimmt ist, bestimmt, auf
einem akzeptablen Niveau zu sein, und Inspektionsabläufe
werden in dem gegenwärtigen Bild durchgeführt.
-
Das
Teilprogramm bewegt dann die Kamera zu der programmierten X-Y-Stelle
des nächsten Arbeitsstückmerkmals 312D und
die letzte erfolgreiche Kamera X-Höhe, die ein akzeptables
Inspektionsbild erzeugt hat (d. h. die Z-Höhe 322C'').
Ein Bild wird in der ursprünglichen Z-Höhe 322D erfasst
(welche 322C'' entspricht). Da das Arbeitsstückmerkmal 312D an
einer deutlich unterschiedlichen Höhe ist, als das Arbeitsstückmerkmal 312C,
ist das erfasste Bild deutlich außerhalb des Fokus und
stellt keinen akzeptablen Fokuswert in dem ROI bereit. Wie vorher
bemerkt, in der schnellen ungefähren Fokusvideowerkzeugabläufeausführungsform
von 3, wenn ein vorheriges schnelles ungefähres
Fokuswerkzeug in eine erfolgreiche Bildhöhe bewegt wird,
wird die Richtung davon gespeichert und als die Ausgangssuchrichtung
für ein folgendes schnelles ungefähres Fokuswerkzeug
verwendet. Dies ist eine gute Strategie für leicht gewölbte
oder geneigte Oberflächen, welche im Allgemeinen eine konstante
Neigungsrichtung für große Abschnitte der Oberfläche
beibehalten (was für das gegenwärtige Merkmal
der Fall ist). Daher bewegt sich in diesem Beispiel die Kamera dann aufwärts,
um eine ursprüngliche Einstellrichtung von der Z-Höhe 322D zu
einer Z-Höhe 322D'. Die ursprüngliche
Einstellentfernung wird, wie oben beschrieben, geschätzt.
An der Z-Höhe 322D' wird ein neues Bild erfasst
und der Fokuswert wird wieder ausgewertet und wird als akzeptabel
bestimmt. An der Z-Höhe 322D' befindet sich die
Kamera oberhalb der letzten erfolgreichen Z-Höhe 322C'',
genauso wie sich das Arbeitsstückmerkmal 312D oberhalb
der Position des vorherigen Arbeitsstückmerkmals 312C befindet.
Die Kamera verfolgt weiterhin die lokale Deformation oder Neigung
des Teils. Als ein Ergebnis wird ein Fokuswert, der für
den ROI in dem neuen/gegenwärtigen Bild bestimmt wurde,
als auf einem akzeptablen Niveau liegend bestimmt, und die Inspektionsabläufe
werden in dem gegenwärtigen Bild durchgeführt.
-
4 ist
ein Diagramm eines Graphen
400, der eine gelernte repräsentative
Fokuskurve
410 zeigt, welche in dem Teilprogramm während
der Lernmodusabläufe bestimmt und/oder aufgenommen wurde,
und eine diskrepante Laufmodusfokuskurve
420. Jede Fokuskurve
entspricht dem ROI, der in einem Vorgang eines schnellen ungefähren
Fokuswerkzeugs definiert wurde. Insbesondere entspricht der ROI
demselben Merkmal während des Lernmodus und den Laufmodusabläufen.
In diesem Zusammenhang bedeutet „dasselbe Merkmal” ein
Merkmal, welches gleich und kongruent auf zwei verschiedenen Arbeitsstücken
ist. Es sollte geschätzt werden, dass die diskrepante Laufmodusfokuskurve
420 nicht tatsächlich
bestimmt ist, sondern Laufmodusfokusverhalten unterliegt oder dieses
reflektiert und hier nur für die Erklärung gezeigt
ist. Im Allgemeinen, um die gelernte repräsentative Fokuskurve
410 während eines
Lernmodus zu erzeugen, wie die Kamera des maschinellen Sichtsystems
durch einen Bereich durch Positionen entlang der Z-Achse bewegt
wird, um ein Bild an jeder Position zu erfassen. Exemplarische Technologien
für die Bestimmung und Analyse von Fokuskurven sind in
der
US Patentnummer 6,542,180 gelehrt,
welches hier vollständig durch Bezug eingefügt
ist. Für jedes erfasste Bild wird ein Fokusmetrikwert für
den ROI berechnet und mit der entsprechenden Z-Position der Kamera
zu der Zeit gepaart, bei welcher das Bild erfasst wurde, um Datenpunkte
(Koordinaten) bereitzustellen, die die Fokuskurve definieren. In
einer Ausführungsform kann die Fokusmetrik eine Berechnung
des Kontrasts oder der Schärfe des Bereichs-von-Interesse
in einem Bild beinhalten. In verschiedenen Ausführungsformen können
die Fokuswerte oder die Kurve normalisiert sein (z. B. wie durch
4 gezeigt).
In einer Ausführungsform können die Fokuswerte
oder die Kurve durch den Mittelgraustufenwert oder das Mittel der quadratischen
Graustufenwerte der Bildpixel in dem ROI normalisiert sein. Verschiedene
Fokusmetriken sind detailliert in den eingefügten Dokumenten
beschrieben und verschiedene geeignete Fokuswertfunktionen sind
dem Fachmann bekannt. Demnach werden solche Funktionen nicht weiterhin
beschrieben.
-
Wie
allgemein bekannt ist, hängt die Form einer Fokuskurve
von einer Anzahl von Faktoren ab, wie die Art der Oberfläche
(z. B. Form, Textur usw.), der Fokallänge, der Größe
des Bereichs-von-Interesse (z. B. kann ein größerer
Bereich-von-Interesse weniger Rauschen entsprechen), Beleuchtungsbedingungen
usw.. Die Fokusmetrikwerte (z. B. normalisierte Kontrastwerte) auf
der Y-Achse von 4 entsprechen im Allgemeinen
der Qualität des Fokus eines Merkmals, welches in dem Bereich-von-Interesse
eines entsprechenden Bildes eingeschlossen ist. Ein Fokuswert, der
höher auf der Y-Achse liegt, entspricht einem besseren
Fokus. Demnach entspricht eine beste Fokusposition dem Peak der
Fokuskurve (z. B. der Peakfokuskurven Z-Höhe 211), wie
unten detaillierter beschrieben werden wird. Eine Fokuskurve ist
häufig ungefähr symmetrisch und ähnelt
einer Glockenkurve. In der in 4 gezeigten Ausführungsform
wurden die Fokuswerte für die Kurven 410 und 420 „ideal” normalisiert
(d. h. ihre Maxima wurden gleichgesetzt, obwohl sie in der Praxis normalerweise
leicht unterschiedlich werden, sogar nach einer Normalisierung),
so dass sie anständig verglichen werden können.
Es wird geschätzt werden, dass die Normalisierung der vollen
Fokuskurve 420 in einer tatsächlichen Ausführungsform
nicht durchgeführt würde, da die Daten der Fokuskurve 420 tatsächlich
in der Praxis nicht erfasst werden (es ist nur zur Erklärung
in 4 gezeigt). Jedoch kann eine Normalisierung des
ersten Bildfokus werts 424 und anderer einzelner Bildfokuswerte,
die während des Laufmodus bestimmt wurden (z. B. durch
den mittleren Graustufenwert oder den mittleren Quadratgraustufenwert
in dem Bereich-von-Interesse) im Allgemeinen in verschiedenen Ausführungsformen durchgeführt
werden, um die Effekte von Faktoren zu kompensieren, wie verschiedene
Beleuchtungsbedingungen, Oberflächenausführungen
und ähnliches.
-
Wie
oben beschrieben, kann die gelernte repräsentative Fokuskurve 410 eine
Kurve sein, die zu einem Satz von Fokuswertdatenpunkten passt, die während
eines Trainings bei einem Vorgang eines schnellen ungefähren
Fokuswerkzeug während dem Lernmodus bestimmt wurden. Im
Gegensatz dazu ist die Laufmodusfokuskurve 420 nicht durch
schnelle ungefähre Fokusabläufe bestimmt. Jedoch,
wenn Hochpräzisionsautofokusabläufe während
dem Laufmodus durchgeführt werden, würde die Fokuskurve 420 dabei
herauskommen. Wie unten detaillierter beschrieben werden wird, ist
ein wichtiger Vorteil der schnellen ungefähren Fokusabläufe
der vorliegenden Erfindung, dass die Fokuskurve 420 im
Allgemeinen nicht bestimmt ist, was die Zeit kostende Bilderfassungsabläufe
in Zusammenhang mit dem Erzeugen einer Fokuskurve eliminiert. Die
gelernte repräsentative Fokuskurve 410 repräsentiert
oder ersetzt eher die Fokuskurve 420 für den zugrundeliegenden Laufmodus,
um eine akzeptable ungefähre Fokusposition zu bestimmen.
-
Zur
Erklärung können wir 4 so betrachten,
dass es die Basis für einige vorher mit Bezug zu 3 beschriebene
Abläufe bildet. Zum Beispiel kann die gelernte repräsentative
Fokuskurve 410 einem Merkmal auf der flachen Ebene 321 von 3 während
der Lernmodusabläufe entsprechen. Die diskrepante (z. B.
breitere) Laufmodusfokuskurve 420 kann demselben Merkmal
auf dem gewölbten Arbeitsstück 311 während
der Laufmodusabläufe entsprechen (Merkmal 312A in
dieser Erklärung). Beide Kurven sind normalisiert, wie
vorher diskutiert. Die Laufmodusfokuskurve 420 kann diskrepant
relativ zu der gelernten repräsentativen Fokuskurve 410 sein, da
das gewölbte Arbeitsstück 311 eine etwas
andere Gestal tung als die flache Ebene 321 des Lernmodus Arbeitsstückes
aufweist. Aufgrund solcher Diskrepanzen werden die geschätzten
Einstellentfernungen, wie vorher mit Bezug auf 3 beschrieben, welche
auf der gelernten repräsentativen Fokuskurve 410 basieren,
irgendwie inkorrekt sein. Die geschätzten Einstellentfernungen
werden daher die Kamera nicht präzise an der Peakfokus
Z-Höhe 411 positionieren. Jedoch in den in 4 gezeigten
Ausführungsformen, wenn die geschätzte Einstellentfernung
eine ungefähr fokussierte Z-Höhe bereitstellt, die
zwischen den Z-Höhenbegrenzungen 414 liegt, akzeptieren
die schnellen ungefähren Fokusabläufe dies als
einen ausreichenden Fokuslevel zum Unterstützen der darauffolgenden
Inspektionsabläufe, welche in dem korrespondierenden Bild
auszuführen sind. Das Anwenden der schnellen ungefähren
Fokusabläufe kann besonders vorteilhaft sein, wenn die darauffolgenden
Inspektionsabläufe eine X-Y-Kantenerfassung und bezogene
X-Y-Messabläufe sind. Dies ist so, da solche X-Y-Messabläufe
relativ unempfindlich auf ein gewisses Maß von Bildunschärfe sind,
welche dazu neigen ein Kantenprofil ohne eine deutliche Versetzung
einer Mittelposition (z. B. ein maximaler Gradientenpunkt) des Kantenprofils
zu verbreitern. Daher kann in solchen Fällen ein schnelles
ungefähres Fokuswerkzeug oder Modus zur Erhöhung
des Inspektionsdurchsatzes verwendet werden, ohne die Inspektionspräzision
beträchtlich zu beeinflussen.
-
Die
ungefähr fokussierten Z-Höhenbegrenzungen 414 können
entsprechend einem vorher festgelegten Wert oder Algorithmus festgelegt
werden, der in einem schnellen ungefähren Fokuswerkzeug oder
Modus eingeschlossen ist, und darauffolgend in dem Teilprogramm
angewandt werden. In dieser Beziehung, wenn die ungefähr
fokussierten Z-Höhenbegrenzungen 414 auf die repräsentative
Fokuskurve 410 angewandt werden, können sie betrachtet
werden, als einen repräsentativen Fokusschwellwert 415 an
ihrem Teilabschnitt definierend. Wie unten detaillierter beschrieben
werden wird, kann der Fokusschwellwert 415 verwendet werden,
um dazu beizutragen, schnell einen akzeptablen ungefähren
Fokus zu erreichen, und dabei die Zeit kostende Aufgabe der Bestimmung
einer Laufmodusfokuskurve 420 zu verhindern. In verschiedenen
Ausführungsformen sind die Z- Höhenbegrenzungen 414 vorteilhaft
von der Peakfokus Z-Höhe zwischen 1 und 7 mal die bekannte
Fokallänge (DOF) des gegenwärtigen optischen Systems
gesetzt und noch vorteilhafter zwischen 2 und 7 mal DOF. Die Z-Höhenbegrenzungen, die
auf diese Art gesetzt sind, definieren typischerweise einen genügend
niedrigen Schwellwert für die schnellen ungefähren
Fokusabläufe, auf die sich oben bezogen wurde, um ausreichend
fokussierte Bilder zu identifizieren, trotz der Diskrepanzen zwischen
dem Lernmodus und den Laufmodusfokuskurven. Zur selben Zeit wurden
solche Einstellungen gezeigt, um einen normalisierten Fokusschwellwert
zu definieren (auf einer Lernmodusfokuskurve), der einen gewünschten
Level von X-Y-Messpräzision und Wiederholbarkeit für
einen weiten Bereich von Arbeitsstücken bereitstellt. Jedoch,
allgemeiner, können die Z-Höhenbegrenzungen 414 an
jeder Anzahl von DOF's gesetzt werden, die zuverlässig
ausreichend fokussierte Bilder bereitstellen, und schon genug Bilddefokussierung
erlauben, sodass die schnellen ungefähren Fokusabläufe
typischerweise in der Lage sind ein akzeptables Bild bereitzustellen,
welches ein Fokuswert oberhalb des Schwellwertes 415 aufweist,
welches den Z-Höhenbegrenzungen 414 entspricht.
-
Die
vorhergehenden Ausführungsformen sind nicht beschränkt.
Zum Beispiel wird in einigen Ausführungsformen der entsprechende
Fokusschwellwert 415 in dem Teilprogramm angewendet, eher
als explizit die ungefähr fokussierten Z-Höhenbeschränkungen 414 zu
verwenden. In anderen Ausführungsformen können
andere Schwellwert bestimmende Verfahren und/oder Werte verwendet
werden, und in gewissen Ausführungsformen kann der Fokusschwellwert 415 variabel
sein. In einigen Ausführungsformen kann der Fokusschwellwert 415 leicht, aufgrund
von Informationen, angepasst werden, die während des Laufmodus
erhalten werden.
-
Die
folgende Beschreibung wiederholt im Wesentlichen die vorangegangene
Beschreibung der Abläufe, die das Merkmal 312A der 3 umgeben, während
zusätzliche Erklärungen in Bezug auf 4 hinzugefügt
werden. Wie in 3 ge zeigt, befindet sich in
der Seitenansicht 320 des Arbeitsstückmerkmals 312A die
Kamera von Anfang an auf eine nominelle Z-Höhe 322A gesetzt,
die einer gelernten Ausgangsfokussierungsposition (einer Z-Position)
relativ der flachen Ebene 321 entspricht, wie während
des Lernmodus festgesetzt. Ein erstes Bild wird erfasst und ein
erster Bildfokuswert wird für den ROI in dem Bild bestimmt,
wie durch die Linie 424 in 4 gezeigt.
Wie in 4 gezeigt, wird geschätzt werden, dass,
aufgrund der unbekannten Gestaltung des Laufmoduswerkstücks,
die Stelle der am besten fokussierten Z-Höhe im Allgemeinen
nicht bekannt ist, und der erste Bildfokuswert 424 einer
der zwei Kandidaten Z-Höhen entsprechen kann, die durch
die Punkte 423A und 423D dargestellt sind. Die
schnellen ungefähren Fokusmethoden der vorliegenden Erfindung
sind dafür gedacht, um automatisch diese beiden Fälle
mit sehr wenigen Bewegungen anzufahren. Die Beschreibung der Fokusabläufe
in 3 entspricht dem Fall, wenn die Z-Höhe 322A tatsächlich
dem Kandidatenpunkt 423A entspricht. In jenem Fall, da
das Arbeitsstückmerkmal 312A auf der gewölbten
Oberfläche des Arbeitsstückes 311 deutlich unterhalb
seine angenommene Z-Höhe fällt (die Höhe
der flachen Ebene 321 während des Lernmodus),
wie in 3 gezeigt, führt das Bild an der ersten
Z-Höhe 322A zu einem relativ niedrigen Fokuswert 424,
wie in 4 gezeigt. Da der Fokuswert 424 unterhalb
des repräsentativen Fokusschwellwertes 415 liegt,
ist der Fokuswert 424 inakzeptabel und das erste Bild wird
als ein inakzeptables Inspektionsbild bestimmt. Daher stellen die
schnellen ungefähren Fokusabläufe die Z-Höhe
durch Bewegen entlang einer Ausgangs- oder ersten Einstellrichtung
ein, die ursprünglich programmiert oder festgesetzt wurde, für
eine geschätzte erste Einstellentfernung, welche in diesem
Fall die Kamera dazu bringt, sich aufwärts um eine ursprüngliche
Einstellentfernung 417 zu bewegen, in 4 gezeigt,
von der Z-Höhe 322A zu einer Z-Höhe 322A'.
Eine geschätzte erste Einstellentfernung ist eine geschätzte
Entfernung von der Z-Höhe 322A zu einer Peakfokus
Z-Höhe 411 aufgrund der repräsentativen
Fokuskurve 410 (während des Lernmodus bestimmt)
und dem gegenwärtigen Fokuswert 424. An der Z-Höhe 322A' wird
ein zweites Bild erfasst und ein zweiter Fokuswert 424A' wird
für den ROI bestimmt.
-
In
diesem Fall, da die erste Einstellrichtung die falsche Richtung
war, befindet sich der zweite Fokuswert 424A' unterhalb
des repräsentativen Fokusschwellwertes 415 und
ist sogar noch schlechter als der erste Fokuswert 424,
und das zweite Bild wird als ein inakzeptables Inspektionsbild bestimmt.
Als ein Ergebnis stellen die schnellen ungefähren Fokusabläufe
die Z-Höhe durch Bewegen von der Z-Höhe 322A' entlang
der Richtung, die der ersten Einstellrichtung entgegengesetzt ist,
um eine zweite Einstellentfernung 418 ein, und erreichen
die Z-Höhe 322A'. Wie zuvor ist die zweite Einstellentfernung 418 eine geschätzte
Entfernung zu der Peakfokus Z-Höhe 411 von der
gegenwärtigen Z-Höhe. In einer Ausführungsform
wird die zweite Einstellentfernung einfach als zweimal die in der
ersten Einstellrichtung bewegte Entfernung geschätzt, was
die Peakfokus Z-Höhe erreichen sollte, wenn die Fokuskurve 420 nicht
relativ zu der Fokuskurve 410 diskrepant ist und die Fokuskurve 410 ungefähr
symmetrisch ist. In einer anderen Ausführungsform basiert
die zweite Einstellentfernung auf der repräsentativen Fokuskurve 410 (wie während
des Lernmodus bestimmt) und der gegenwärtige Fokuswert 424A',
welcher vorteilhaft wäre, wenn die Fokuskurve 410 asymmetrisch
ist. In jedem Fall wird an der Z-Höhe 322A'' ein
drittes Bild erfasst und ein dritter Bildfokuswert 424A'' wird
für den ROI bestimmt. In diesem Fall, da die zweite Einstellrichtung
die richtige Richtung war, trotz der Effekte der diskrepanten Fokuskurve 420,
befindet sich der dritte Bildfokuswert 424A'' oberhalb
des repräsentativen Fokusschwellwerts 415 und
das dritte Bild wird als ungefähr fokussiert bestimmt,
so dass es ein akzeptables Inspektionsbild ist. Es wird geschätzt
werden, dass auf die erste Bilderfassung an dem gegenwärtigen
zu inspizierenden Merkmal folgend, die schnellen ungefähren
oben beschriebenen Autofokusabläufe höchstens
zwei Bewegungen entlang der Z-Richtung erfordern, um ein akzeptables,
ungefähr fokussiertes Inspektionsbild bereitzustellen.
Im Vergleich zu konventionellen Autofokusverfahren und Werkzeugen
(z. B. aufgrund tatsächlicher Bestimmung der Laufmodusfokuskurve
und ihrer Peakfokus Z-Höhe) erlaubt dies den beschriebenen
schnellen ungefähren Fokusabläufen den Inspektionsdurchsatz
deutlich zu erhöhen (z. B. den Durchsatz zu verdoppeln), wenn
wiederholt kompatible Inspektionsabläufe für eine
Serie von Merkmalen durchgeführt werden (z. B. wenn die
X-Y-Dimensionen und Orte eines gedruckten Schaltkreises oder IC-Elementes
wie Löcher, Durchgänge, Verbindungsspuren oder ähnliches
gemessen werden).
-
Die
folgende Beschreibung kann im Allgemeinen verstanden werden, als
der ursprünglichen Sequenz von Abläufen folgend,
wie vorher beschrieben. Jedoch entspricht die folgende Beschreibung
einem hypothetischen Fall, in dem das Laufmodusarbeitsstück
nicht die in 3 gezeigte Gestaltung aufweist.
Eher weist es eine Gestaltung auf, so dass das gegenwärtige
Arbeitsstückmerkmal signifikant über seine angenommenen
Z-Höhe positioniert ist (z. B. aufgrund einer Wölbung,
die das Spiegelbild von dem ist, was in 3 gezeigt
ist). Wie in 4 gezeigt, wird die angenommene
Z-Höhe 322A-2 für die erste Bilderfassung
verwendet (d. h. die repräsentative Merkmalshöhe
während dem Lernmodus). Dies entspricht dem Fall, wenn
die ursprüngliche Z-Höhe 322A-2 tatsächlich
dem Kandidaten 423D entspricht. Wie in 4 gezeigt,
führt das Bild in der ersten Z-Höhe 322A-2 zu
einem relativ niedrigen Fokuswert 424. Da sich der Fokuswert 424 unterhalb
dem repräsentativen Fokusschwellwert 415 befindet,
ist der Fokuswert 424 unakzeptabel und das erste Bild wird
als ein unakzeptables Inspektionsbild bestimmt. Daher stellen die
schnellen ungefähren Fokusabläufe die Z-Höhe
durch Bewegen entlang der ursprünglichen oder ersten Einstellrichtung
ein, die ursprünglich programmiert oder festgelegt wurde,
für eine geschätzte erste Einstellentfernung,
welche in diesem Fall die Kamera dazu bringt, sich aufwärts,
um eine ursprüngliche Einstellentfernung 417 zu
bewegen, wie in 4 gezeigt, von der Z-Höhe 322A-2 zu
einer Z-Höhe 322A''-2. Die geschätzte
erste Einstellentfernung ist wieder eine geschätzte Entfernung
von der Z-Höhe 322A-2 zu der Peakfokus Z-Höhe 411 aufgrund
der repräsentativen Fokuskurve 410 (während des
Lernmodus bestimmt) und dem gegenwärtigen Fokuswert 424.
An der Z-Höhe 322A''-2 wird ein zweites Bild erfasst
und ein zweiter Bildfokuswert 424D' für den ROI
bestimmt. In diesem Fall, da die erste Einstellrichtung die richtige
Richtung war, trotz der Effekte der diskrepanten Fokuskurve 420,
befindet sich der zweite Bildfokuswert 424D' über
dem repräsentativen Fokusschwellwert 415 und das
zweite Bild wird als ungefähr fokussiert bestimmt, sodass
es ein akzeptables Inspektionsbild darstellt.
-
5 ist
ein Flussdiagramm, welches einen exemplarischen allgemeinen Ablauf 500 zur
Umsetzung der schnellen ungefähren Fokusabläufe
während des Lernmodus darstellt. Im Allgemeinen beschreibt 5 einen
Satz von Abläufen zur Bestimmung einer repräsentativen
Fokuskurve und dem Fokusschwellwert, bei einem gegebenen Bild eines
repräsentativen Bereichs-von-Interesse (ROI) einschließlich
eines repräsentativen zu inspizierenden Merkmals. Wie in 5 gezeigt,
wird an einem Block 510 ein repräsentatives Bild
des Bereichs-von-Interesse einschließlich des repräsentativen
zu inspizierenden Merkmals erfasst, wobei das repräsentative Merkmal
entsprechenden Merkmalen auf anderen Arbeitsstücken entspricht
(z. B. eines der Merkmale 312A bis 312D aus 3).
An einem Block 540 wird eine repräsentative merkmalsspezifische
Fokuskurve (z. B. siehe Kurve 410 von 4)
für den Bereich-von-Interesse (ROI) bestimmt und/oder gelernt. Die
repräsentative fokusspezifische Fokuskurve entspricht einer
Vielzahl von Bildern an jeweiligen Z-Höhenschritten zwischen
der Kamera und dem repräsentativen Merkmal. Ein Fokusschwellwert
(z. B. siehe Schwellwert 415 aus 4), der
einen ausreichenden Fokuslevel für Inspektionsabläufe
definiert, wird ebenso bestimmt und/oder gelernt. Es wird geschätzt
werden, dass wenn ein Bild einen Fokuswert bereitstellt, der sich
oberhalb des Fokusschwellwertes befindet, es als ausreichend „im
Fokus” für Zwecke von Inspektionsabläufen
betrachtet werden kann, die auszuführen sind, sogar, wenn
der Fokuslevel nicht der beste Fokuslevel sein kann, sondern nur
ein ungefährer Fokus.
-
An
einem Block 550 werden die bestimmten und/oder gelernten
repräsentativen merkmalsspezifischen Fokuskurvendaten und
die Fokusschwellwertdaten zur späteren Verwendung gespeichert,
wenn entsprechende Merkmale andere Arbeitsstücke inspiziert
werden. In einer Ausführungsform können die „Kurvendaten” einer
konventionellen Form einer Fokuskurve entsprechen und die „Wertdaten” können einem
Standartschwellwert entsprechen, wie im Folgenden detaillierter
beschrie ben werden wird. In anderen Ausführungsformen können
die Kurvendaten anderen Arten von Daten entsprechen, wie eine dichte
Fokuskurven „Fokuswert bis Z”-Nachschlagetabelle,
Koeffizienten, welche eine nominale analytische Kurvenform anpassen,
eine gekürzte Nachschlagetabelle usw.. Ähnlich
können in anderen Ausführungsformen die Fokusschwellwertdaten
anderen Arten von Daten entsprechen, wie „Fokallänge
(DUF) Einheiten”, die gemeinsam mit den Kurvendaten verwendet
werden, um Berechnen eines numerischen Fokuswerts in einem Laufmodus,
einen zu einer Lernzeit berechneten und gespeicherten numerischen
Werts, eines Multiplikationsfaktors (z. B. eines Bruchs) für
die Fokuskurvenpeakhöhe usw..
-
6 ist
ein Flussdiagramm, welches eine exemplarische allgemeine Routine 600 für
eine Ausführungsform von schnellen ungefähren
Fokusabläufen während des Laufmodus zeigt. Im
Allgemeinen beschreibt 6 einen Satz von Abläufen
entsprechend der vorliegenden Erfindung zum Anwenden eines Satzes
von repräsentativen Fokuskurvendaten und Fokusschwellwertdaten
zur Bereitstellung eines schnellen ungefähren Fokus für
ein zum Inspizieren eines Arbeitsstückmerkmals zu verwendendes
Bild. Im Allgemeinen werden die repräsentativen Fokuskurvendaten
und die Fokusschwellwertdaten vorher für ein entsprechendes
Merkmal in einem entsprechenden Arbeitsstück festgesetzt
(z. B. in einem Lernmodus). Eine solche Verwendung schneller ungefährer
Fokusabläufe bietet ein akzeptables Präzisionslevel
in vielen Anwendungsfällen, in denen die Inspektion zuerst
auf X-Y-Messungen basiert wird, welche in verschiedenen Anwendungsfällen
zuverlässig bleiben können, sogar wenn sie aus
einem Inspektionsbild bestimmt wurden, welches ein gewisses Ausmaß an
Bildunschärfe erhielt (z. B. ein Bild, welches nur als
ungefähr im Fokus betrachtet wurde).
-
Wie
in 6 gezeigt, wird an einem Block 615 ein
erstes Bild des Bereichs-von-Interesse erfasst, einschließlich
des zu inspizierenden Merkmals. An einem Block 622 werden
die vorher gelernten repräsentativen merkmalsspezifischen
Fokuskurvendaten und Fokusschwellwertdaten entsprechend dem gegenwärtigen
Bereich von-Interesse festgesetzt. An einem Block 632 wird
ein erster Bildfokuswert in dem gegenwärtigen Bereich-von-Interesse bestimmt.
An einem Entscheidungsblock 634 wird eine Bestimmung durchgeführt,
ob der erste Bildfokuswert größer als der Fokusschwellwert
ist. Wenn der erste Bildfokuswert nicht größer
als der Fokusschwellwert ist, dann geht die Routine an einem Block 640 weiter,
wie unten detaillierter beschrieben wird. Wenn an einem Entscheidungsblock 634 bestimmt
wurde, dass der erste Bildfokuswert größer als
der Fokusschwellwert ist, dann fährt die Routine an einen
Block 680 fort, wo die Merkmalsinspektionsabläufe
in dem gegenwärtigen Bild durchgeführt werden.
-
An
dem Block 640 wird eine Bewegung in eine erste Einstellrichtung
für eine geschätzte erste Einstellentfernung zu
einer Peakfokus Z-Höhe durchgeführt, wobei die
erste Einstellentfernung aufgrund der repräsentativen merkmalsspezifischen
Fokuskurvendaten und dem ersten Bildfokuswert geschätzt ist.
In einem Block 652 wird ein zweites Bild erfasst und ein
zweiter Bildfokuswert wird in den Bereich-von-Interesse bestimmt.
An einem Entscheidungsblock 656 wird eine Bestimmung durchgeführt, ob
der zweite Bildfokuswert schlechter als der erste Bildfokuswert
ist. Wenn der zweite Bildfokuswert schlechter als der erste Bildfokuswert
ist, fährt die Routine an einen Block 660 fort,
wie unten detaillierter beschrieben werden wird. Wenn an dem Entscheidungsblock 656 bestimmt
wird, dass der zweite Bildfokuswert nicht schlechter als der erste
Bildfokuswert ist, dann fährt die Routine an den Block 680 fort, wo
Merkmalsinspektionsabläufe in dem gegenwärtigen
Bild durchgeführt werden. Wie unten detaillierter beschrieben
werden wird, mit Bezug zu den 8A und 8B,
kann in anderen Ausführungsformen eine schnelle ungefähre
Fokuslaufmodusroutine zusätzlich verifizieren, dass der
zweite Bildfokuswert größer als der Fokusschwellwert
ist, bevor Merkmalsinspektionen in dem gegenwärtigen Bild
durchgeführt werden. In anderen Worten kann die Routine 600 in einem
gewünschten Fall vorteilhaft sein, in dem gut gesteuerte
Arbeitsstücke Laufmodusfokuskurven bereitstellen, die vorhersehbar ähnlich
zu der gelernten repräsentativen Fokuskurve sind (z. B.
siehe Beispiele der 4), sodass, wenn eine Fokuswertverbesserung
an dem Entscheidungs block 656 erkannt wird, da die geschätzte
erste Einstellentfernung auf der gelernten repräsentativen
Fokuskurve basierte, von welcher angenommen wurde, dass sie gleich
der Laufmodusfokuskurve ist, wird weiterhin angenommen, dass die
resultierende Z-Höhe, die nahe genug an dem Peak der Fokuskurve
ist, oberhalb des Fokusschwellwertes sein soll.
-
An
dem Block 660, da der zweite Bildfokuswert vorher als schlechter
als der erste Bildfokus bestimmt wurde, wird eine Bewegung in eine
Richtung durchgeführt, die entgegengesetzt der ursprünglichen
oder ersten Einstellrichtung für eine geschätzte zweite
Einstellentfernung zu einer Peakfokus Z-Höhe durchgeführt,
wobei die zweite Einstellentfernung aufgrund von zumindest entweder
der ersten Einstellentfernung oder den repräsentativen
merkmalsspezifischen Fokuskurvendaten in Kombination mit dem zweiten
Bildfokuswert geschätzt wird. In einer Ausführungsform
kann die geschätzte Einstellentfernung ungefähr
zweimal die erste Einstellentfernung sein, aber in die entgegen
gesetzte Richtung. An einem Block 662 wird ein drittes
Bild erfasst. An dem Block 680 werden Merkmalsinspektionsabläufe
in dem gegenwärtigen Bild durchgeführt. Wie unten
detaillierter mit Bezug zu den 8A und 8B beschrieben werden
wird, kann in anderen Ausführungsformen eine schnelle ungefähre
Fokuslaufmodusroutine zusätzlich verifizieren, dass der
dritte Bildfokuswert größer als der Fokusschwellwert
ist, bevor die Merkmalsinspektionsabläufe in dem dritten
Bild durchgeführt werden.
-
7 ist
ein Flussdiagramm, welches eine Routine 700 für
eine verbesserte Umsetzung der schnellen ungefähren Fokusabläufe
während des Lernmodus darstellt. Es wird geschätzt
werden, dass die schnelle ungefähre Fokuslernmodusroutine 700 in
manchen Ausführungsformen als eine verbesserte Umsetzung
betrachtet werden kann, die in den Bereich verschiedener Ausführungsformen
der allgemeinen schnellen ungefähren Fokuslernmodusroutine 500 aus 5 fällt
oder damit überlappt. Wie in 7 gezeigt,
wird an einem Block 710 ein repräsentatives Arbeitsstück
in einer betriebsfähigen Position zur Inspektion bereitgestellt.
An einem Block 712 wird ein Lernmodus gestartet. An einem
Block 714 wird ein ers tes/nächstes repräsentatives
zu inspizierendes Merkmal in dem Gesichtsfeld positioniert, wobei das
repräsentative Merkmal entsprechende Merkmale auf anderen
Arbeitsstücken repräsentiert. An einem Block 716 wird
ein Bild erfasst. An einem Entscheidungsblock 720 wird
eine Entscheidung vorgenommen, ob die schnellen ungefähren
Fokusabläufe verwendet werden. Wenn schnelle ungefähre
Fokusabläufe verwendet werden, fährt die Routine
an einen Block 722 fort, wie unten detaillierter beschrieben
werden wird. Wenn an einem Entscheidungsblock 720 bestimmt
wird, dass die schnellen ungefähren Fokusabläufe
nicht verwendet werden, dann fährt die Routine an einen
Block 780 fort, wo andere Merkmalsinspektionsabläufe
definiert sind. Es wird geschätzt werden, dass, wenn die
Routine von dem Entscheidungsblock 720 zu dem Block 780 fortfährt, dass
in manchen Umsetzungen dies bedeutet, dass für die an dem
gegenwärtigen Merkmal durchzuführenden Inspektionsabläufen
der schnelle ungefähre Fokus nicht geeignet ist. Daher,
wenn an dem Block 720 fortgesetzt wird, kann der Block 780 die
Funktionen für traditionellere Autofokuswerkzeuge umfassen
(z. B. die Hochpräzisionsautofokuswerkzeuge 143fb aus 2 und
den vollen Satz von Abläufen des maschinellen Sichtsystems 100).
-
An
einem Block 722 wird ein schnelles ungefähres
Autofokuswerkzeug (oder Modus) ausgewählt. An einem Block 730 wird
ein Bereich-von-Interesse (ROI) für das jeweilige Merkmal
definiert (z. B. durch Konfigurieren einer schnellen ungefähren
Autofokuswerkzeugvorrichtung in einer GUI). An einem Block 740 wird
eine repräsentative merkmalsspezifische Fokuskurve für
den Bereich-von-Interesse (ROI) bestimmt und/oder gelernt. Die repräsentative merkmalsspezifische
Fokuskurve entspricht einer Vielzahl von Bildern an jeweiligen Z-Höhenschritten zwischen
der Kamera und dem repräsentativen Merkmal. Ein Fokusschwellwert,
der einen ausreichenden Fokuslevel für Inspektionsabläufe
definiert, wird ebenso bestimmt und/oder gelernt. An einem Block 750 werden
schnelle ungefähre Autofokuswerkzeugdaten in Verbindung
mit einem Teilprogramm gespeichert, wobei die Werkzeugdaten die repräsentativen
merkmalsspezifischen Fokuskurvendaten und die Fokusschwellwertdaten
einschließen. An ei nem Block 780 werden Merkmalsinspektionsabläufe
definiert. Es wird geschätzt werden, dass, wenn die Routine
von dem Block 750 zu dem Block 780 fortfährt,
dass in manchen Umsetzungen der Ablauf des Blockes 780 zum
Lehren/Lernen von Inspektionsabläufen verwendet werden
kann, welche in dem ungefähr fokussierten Bild durchgeführt
werden könnten, welches durch das schnelle ungefähre
Autofokuswerkzeug während des Laufmodus bereitgestellt
werden wird. Im Gegensatz dazu kann während des Lernmodus
das schnelle ungefähre Autofokuswerkzeug automatisch ein
fokussiertes Bild für den Benutzer zur Verwendung mit Block 780 Abläufen
bereitstellen, d. h. es wird gerade eben Abläufe zur Charakterisierung
der gesamten Fokuskurve durchgeführt haben, sodass, wenn
sie vollständig ist, sie eine Bewegung zur Bereitstellung
des am besten fokussierten Bildes machen kann. Es wird geschätzt werden,
dass komplexere Versionen des schnellen ungefähren Autofokuswerkzeugs
mit zusätzlichen potentiellen Lernmodusabläufen
ebenso bereitgestellt werden können.
-
Zurück
zu 7, an einem Entscheidungsblock 790 wird
eine Entscheidung getroffen, ob es mehr zu inspizierende Merkmale
gibt. Wenn es mehr zu inspizierende Merkmale gibt, kehrt die Routine
zu dem Block 714 zurück. Wenn an dem Entscheidungsblock 790 bestimmt
wird, dass es keine weiter zu inspizierenden Merkmale gibt, dann
fährt die Routine an einen Block 795 fort, wo
das Teilprogramm gespeichert ist, welches optional den Lernmodus
beenden kann. Es wird geschätzt werden, dass gewisse Schritte
der Routine 700 als die allgemeinen Abläufe der
allgemeineren Routine 500 aus 5 expandierend
betrachtet werden kann. Insbesondere kann die Routine 700 in
gewissen Ausführungsformen so betrachtet werden, als ob
die allgemeinen Abläufe der Routine 500 im Zusammenhang
mit einem Training eines schnellen ungefähren Fokusvideowerkzeug
im Lernmodus implementieren und/oder expandieren, und sie im Zusammenhang
mit dem Training wiederholter Vorgänge des Werkzeugs in
Zusammenhang setzen, welche in manchen Vorgängen im Lernmodus
mit dem Training anderer Arten von Werkzeugen durchsetzt werden
kann (z. B. durch die Benutzerentscheidung gezeigt, die am Entscheidungsblock 720 benötigt
wird, die Auswahl des Benut zers eines schnellen ungefähren
Fokuswerkzeugs an dem Block 722 und den potentiellen Benutzerabläufen
an dem Block 730).
-
8A und 8B sind
Flussdiagramme, die Abschnitte 800A und 800B einer
Routine 800 für eine verbesserte Umsetzung von
schnellen ungefähren Fokusabläufen während
eines Laufmodus zeigen. Es wird geschätzt werden, dass
die schnelle ungefähre Fokuslaufmdusroutine 800 in
gewissen Ausführungsformen betrachtet werden kann, als
eine verbesserte Umsetzung der allgemeineren schnellen ungefähren
Fokusablaufmodusroutine 600 der 6. Wie in 8A gezeigt,
sind an einem Block 810 ein Teilprogramm und ein Arbeitsstück
in Position zur Inspektion bereitgestellt. An einem Block 812 wird
das Teilprogramm gestartet (z. B. im Laufmodus). An einem Block 814 wird
das erste/nächste Werkzeug bestimmt (und/oder konfiguriert
und/oder definiert) und das erste/nächste (zu inspizierende Merkmal)
wird in dem Gesichtsfeld positioniert.
-
An
einem Entscheidungsblock 820 wird eine Entscheidung getroffen,
ob das schnelle ungefähre Autofokuswerkzeug verwendet wird.
Wenn das schnelle ungefähre Autofokuswerkzeug verwendet wird,
dann fährt die Routine an einem Block 822 fort, wie
unten detaillierter beschrieben werden wird. Wenn an einem Entscheidungsblock 820 bestimmt wird,
dass das schnelle ungefähre Autofokuswerkzeug nicht verwendet
wird, dann fährt die Routine an einem Punkt A fort, welcher
an einem Block 870 in 8B fortfährt,
wie unten detaillierter beschrieben werden wird.
-
An
einem Block 822 werden repräsentative merkmalsspezifische
Fokuskurvendaten und Fokusschwellwertdaten erfasst, entsprechend
dem gegenwärtigen Merkmal. An einem Block 832 wird
ein erstes Bild erfasst und ein erster Bildfokuswert bestimmt im
Bereich-von-Interesse. An einem Entscheidungsblock 834 wird
eine Entscheidung getroffen, ob der erste Bildfokuswert größer
als der Fokusschwellwert ist. Wenn der erste Bildfokuswert nicht
größer als der Fokusschwellwert ist, dann fährt
die Routine an einem Block 840 fort, wie unten im Detail
beschrieben werden wird. Wenn an einem Entscheidungsblock 834 bestimmt
wird, dass der erste Bildfokuswert größer als
der Fokusschwellwert ist, dann fährt die Routine an einem
Punkt B fort, welcher an einem Block 880 in 8B fortfährt,
wie unten im Detail beschrieben wird.
-
An
einem Block 840 wird eine erste Einstellentfernung zu einer
Peakfokus Z-Höhe geschätzt, aufgrund der repräsentativen
merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert.
An einem Block 850 wird die Z-Höhe eingestellt
durch Bewegen der geschätzten ersten Einstellentfernung in
eine erste Einstellrichtung. An einem Block 852 wird ein
zweites Bild erfasst und ein zweiter Bildfokuswert wird für
den Bereich-von-Interesse bestimmt.
-
An
einem Entscheidungsblock 854 wird eine Entscheidung getroffen,
ob der zweite Bildfokuswert größer als der Fokusschwellwert
ist. Wenn der zweite Bildfokuswert nicht größer
als der Fokusschwellwert ist, dann fährt die Routine an
einem Entscheidungsblock 856 fort, wie unten im Detail
beschrieben werden wird. Wenn an dem Entscheidungsblock 854 bestimmt
wird, dass der zweite Bildfokuswert größer als der
Fokusschwellwert ist, dann fährt die Routine an dem Punkt
B fort, welcher an dem Block 880 in 8B fortfährt,
wie unten im Detail beschrieben werden wird.
-
An
einem Entscheidungsblock 856 wird eine Entscheidung getroffen,
ob der zweite Bildfokuswert größer als der erste
Bildfokuswert ist. Wenn der zweite Bildfokuswert nicht größer
als der erste Bildfokuswert ist, dann fährt die Routine
an einem Punkt C fort, welcher an einem Block 860 in 8B fortfährt,
wie unten im Detail beschrieben werden wird. Wenn an einem Entscheidungsblock 856 bestimmt
wird, dass der zweite Bildfokuswert größer als
der erste Bildfokuswert ist, dann fährt die Routine an
dem Punkt A fort, welcher an dem Block 870 in 8B fortfährt, wie
unten im Detail beschrieben werden wird.
-
Wie
in 8B gezeigt, wird an einem Block 860 (welcher
von einem Punkt C in 8A fortfährt) die Z-Höhe
eingestellt durch Bewegen einer geschätzten zweiten Einstellentfernung
in einer Richtung, die der ersten Einstellrichtung entgegengesetzt ist,
wobei die geschätzte zweite Einstellentfernung aufgrund
von zumindest entweder der ersten Einstellentfernung oder den repräsentativen
merkmalsspezifischen Fokuskurvendaten in Kombination mit dem zweiten
Bildfokuswert bestimmt wird. An einem Block 862 wird ein
drittes Bild erfasst und ein dritter Bildfokuswert wird in dem Bereich-von-Interesse
bestimmt.
-
An
einem Entscheidungsblock 866 wird eine Entscheidung getroffen,
ob der dritte Bildfokuswert größer als der Fokusschwellwert
ist. Wenn der dritte Bildfokuswert nicht größer
als der Fokusschwellwert ist, dann fährt die Routine an
einem Block 870 fort, wie unten im Detail beschrieben werden
wird. Wenn an dem Entscheidungsblock 866 bestimmt wird,
dass der dritte Bildfokuswert größer als der Bildfokusschwellwert
ist, dann fährt die Routine an einem Block 880 fort,
wie unten im Detail beschrieben wird. An einem Block 870 werden
Standartfokusabläufe durchgeführt (z. B. Autofokusabläufe,
welche eine neue Fokuskurve während dem Laufmodus bestimmen).
Es wird geschätzt werden, dass eine Ankunft an dem Block 870 bedeutet,
dass die vorangegangenen schnellen ungefähren Fokusabläufe
dabei versagten ein ausreichend fokussiertes Bild bereitzustellen.
Wenn der Block 870 wiederholt erreicht wird, beim Bestimmen
eines Arbeitsstückteilprogramms im Lernmodus, kann dies
bedeuten, dass die Arbeitsstückoberfläche oder
ihre Merkmale im Allgemeinen eine „sich schlecht verhaltende” Fokuskurve
erzeugen (z. B. eine deutlich asymmetrische Fokuskurve oder eine
Fokuskurve mit einer Vielzahl signifikanter Fokuspeaks über
ihren Z-Bereich). In solchen Fällen wird die Verwendung
der schnellen ungefähren Fokusabläufe nicht geeignet
sein. An einem Block 880 werden Merkmalsinspektionsabläufe
in dem gegenwärtigen Bild durchgeführt. An einem
optionalen Block 885 wird die letzte erfolgreiche Einstellrichtung des
letzten erfolgreichen schnellen ungefähren Fokusvideowerkzeugs
verwendet/gespeichert als die erste Einstellrichtung (z. B. für
einen nächsten Vorgang des schnellen ungefähren
Autofokuswerkzeugs).
-
An
einem Entscheidungsblock 890 wird eine Entscheidung getroffen,
ob es weitere zu inspizierende Merkmale gibt. Wenn es keine weiteren
zu inspizierenden Merkmale gibt, dann fährt die Routine
an einem Block 895 fort, wie unten im Detail beschrieben
werden wird. Wenn an einem Entscheidungsblock 890 bestimmt
wird, dass es mehr zu inspizierende Merkmale gibt, dann fährt
die Routine an einem Punkt D fort, welcher an dem Block 814 in 8A fortfährt,
wie oben beschrieben. An einem Block 895 werden die Inspektionsergebnisse
gespeichert/ausgegeben und/oder das Teilprogramm wird beendet.
-
Es
wird geschätzt werden, dass die Routine 800 der 8A und 8B in
einer zu betrachtenden Ausführungsform eine verbesserte
Umsetzung der Routine 600 der 6 sein kann.
Zum Beispiel beim Vergleich des Blocks 656 aus 6 mit
den Blocks 854 und 856 und der darauffolgenden
Abläufe aus 8A und 8B wird
geschätzt werden, dass der Block 656 ideale Bedingungen
annimmt, unter welchen die Laufzeitfokuskurve und die repräsentative
Fokuskurve (z. B. siehe 4) im Wesentlichen gleich sind.
Bei dem idealen Umstand, wenn die Laufzeitfokuskurve und die repräsentative
Fokuskurve als im Wesentlichen gleich angenommen werden, der Entscheidungsblock 656 aus 6 ausreichend darin,
dass es nur eine geringe Diskrepanz zwischen beiden gibt, sodass
es typischerweise keine Notwendigkeit gibt, Standardautofokusabläufe
zu schalten (z. B. solche, wie jene, die durch die Hochpräzisionsautofokuswerkzeuge 143fb aus 2 verwendet werden).
Solche idealen Bedingungen können z. B. unter Bedingungen
auftreten, wenn hochgradig reproduzierbare Teile, konsistente Beleuchtung
usw. verwendet werden. Im Gegensatz dazu zeigen die Entscheidungsblöcke 854 und 856 und
die darauffolgenden Abläufe der 8A und 8B eine
robustere, verbesserte Umsetzung, die für potentiell nicht ideale
Bedingungen geeignet ist, in welchen die Fokuskurve und die repräsentative
Fokuskurve unähnlich sein können. Demnach, wie
oben beschrieben, wird an dem Entscheidungsblock 854 eine
Entscheidung vorgenommen, ob der zweite Bildfokuswert größer
als der Fokusschwellwert ist, und wenn er es nicht ist, dann wird
an dem Block 856 eine Entscheidung getrof fen, ob der zweite
Bildfokuswert größer als der erste Bildfokuswert
ist. Dies ist eine Kombination von Schritten, die den besten Gesamtdurchsatz bereitstellen
kann, d. h. wenn der zweite Bildfokuswert größer
als der erste Bildfokuswert ist, dann kann abgeleitet wirken, dass
die Z-Höheneinstellung in der korrekten Richtung durchgeführt
wurde, aber dabei versagte, die erwartete Menge an Verbesserung
in dem resultierenden Bildfokus bereitzustellen. Davon ausgehend
kann abgeleitet werden wirken, dass die Laufmodusbedingungen nicht
ausreichend zu den Lernmodusbedingungen passen, sodass die Lernmodus-
und die Laufmodusfokuskurven beträchtlich unterschiedlich
sind, und die schnellen ungefähren Fokusabläufe
wahrscheinlich kein ausreichend fokussiertes Bild bereitstellen,
wobei in diesem Fall die Routine an dem Block 870 fortfährt,
wo Standartfokusabläufe durchgeführt werden (z.
B. solche wie jene der Hochpräzisionsautofokuswerkzeuge 143fb aus 2).
Im Gegensatz dazu, wenn an dem Entscheidungsblock 856 bestimmt
wird, dass der zweite Bildfokuswert nicht größer
als der erste Bildfokuswert ist, dann kann abgeleitet werden, dass
die Z-Höheneinstellung in die Richtung gemacht wurde. Dies
ist eines der möglichen Zwischenergebnisse, welches in den
schnellen ungefähren Fokusabläufen erwartet wird,
und daher geht der Ablauf mit einer normalen schnellen ungefähren
Einstellung weiter, die an dem Block 860 durchgeführt
wird.
-
9A bis 9C sind
Diagramme, die verschiedene Merkmale einer Ausführungsform
einer schnellen ungefähren Autofokuswerkzeugnutzerschnittstelle
zeigen, einschließlich einer schnellen ungefähren
Autofokuswerkzeugparameterdialogbox 900. In einer Ausführungsform
kann eine registerartige Dialogboxgestaltung verwendet werden, sowie die
Autofokusparameterdialogbox 900, welche vom Benutzer auswählbare
registerartige Abschnitte 910a, 910b und 910c einschließt. 9A zeigt
den registerartigen Abschnitt 910a, welcher für „Stellenauswahlen” da
ist, und welcher die X- und Y-Mittelkoordinaten darstellt, ebenso
wie die Breite (W) und Höhe (H) des schnellen ungefähren
Autofokuswerkzeugs (ROI). Diese Werte können durch graphische Definition
eines Bereichs-von- Interesse für ein zu inspizierendes
Arbeitsstückmerkmal bestimmt werden, und/oder sie können
direkt in die Dialogbox eingegeben werden.
-
9B zeigt
den registerartigen Abschnitt 910b, welcher für „Basisauswahlen” da
ist, und welcher das gewünschte Verfahren zur Bestimmung
der ursprünglichen Z-Höhe („Z-ursprünglich”)
darstellt, welche zur Erfassung des ersten Bildes während
der schnellen ungefähren Autofokuswerkzeugabläufe
zu verwenden ist, und ebenso das gewünschte Verfahren zur
Bestimmung der ersten Einstellrichtung während der Laufmodus
schnellen ungefähren Fokuswerkzeugabläufe darstellt.
Für das Z ursprünglich wird ein Benutzer mit einer
Option der „manuellen” oder „automatischen” (flache
Sequenz) ausgestattet. Wird die „automatische” Auswahl,
wie oben mit Bezug zu 3 und 4 beschrieben,
betrachtet, wenn schnelle ungefähre Fokusabläufe
für eine Sequenz von Arbeitsstückmerkmalen entlang
einer ungefähr flachen Oberfläche durchgeführt
werden, können die schnellen ungefähren Fokuswerkzeugabläufe
ein automatisches angepasstes Verfahren zur Bestimmung von Z ursprünglich
umsetzen. In einer Ausführungsform, während des
Laufmodus, wenn ein gegenwärtiger Vorgang eines schnellen
ungefähren Fokuswerkzeugs einem vorangegangenen schnellen ungefähren
Fokuswerkzeug folgt, wird die ursprüngliche Z-Höhe,
die für das erste Bild solch eines Werkzeugs verwendet
wird, angepasst ausgewählt werden, aufgrund der letzten
vorherigen „erfolgreichen” Z-Höhe, die
ein ausreichend fokussiertes Bild bereitstellte. Das Auswählen
der „auf automatischen (flachen Sequenz)” Einstellung
kann solch ein Verfahren für die damit verbundenen schnellen
ungefähren Fokuswerkzeug(e) aktivieren. In einer Ausführungsform kann
die ursprüngliche Z-Höhe als gleich der letzten erfolgreichen
Z-Höhe gesetzt werden. In einer anderen Ausführungsform
kann die ursprüngliche Z-Höhe angepasst gleich
der letzten erfolgreichen Z-Höhe plus ein angepasst bestimmtes
zusätzliches Entfernungsinkrement in der Richtung der letzten
erfolgreichen Einstellrichtung gesetzt werden (z. B. auf Grundlage
einer Steigung, die durch eine Vielzahl vorheriger erfolgreicher
Z-Höhen bezeichnet wird). Die automatische (flache) Sequenzauswahl
wird in bestimmten Ausführungsformen allgemein als am effektivsten
betrachtet, wenn eine Serie zu inspizierender Merkmale ungefähr
koplanar auf einer Werkstückoberfläche liegen.
-
Wenn
die „manuelle” Auswahl für Z ursprünglich
durchgeführt wird, kann dies ein Verfahren implementieren,
bei welchem, während dem Laufmodus die ursprüngliche
Z-Höhe, die für das erste Bild eines gegenwärtigen
Vorgangs eines schnellen ungefähren Fokuswerkzeuges verwendet
wurde, die Z-Höhe ist, die beim Training jenes Werkzeugs
während dem Lernmodus verwendet wurde. In manchen Ausführungsformen
kann dieser Art von manuellem Ablauf als der effektivste betrachtet
werden, bei Umständen, in denen relativ wenige isolierte
zu inspizierende Merkmale vorliegen, oder, wenn die Arten zu inspizierender
Arbeitsstücke dazu neigen, die Merkmale über eine
Vielzahl von Oberflächen unterschiedlicher Höhen
verteilt zu haben, sodass es am besten sein kann, die ursprünglichen
Z-Höhen den Z-Höhen folgen zu lassen, die während
des Lernmodus erfasst wurden. Typischerweise können die Z-Höhen
in solchen Umständen während des Lernmodus erfasst
werden, wenn der Nutzer die Z-Höhe einstellt, oder durch
einstellen aufgrund von CAD Daten usw.
-
Der
registerähnliche Abschnitt 910b erlaubt dem Nutzer
ein geeignetes Verfahren zur Bestimmung der ersten Einstellrichtung
auszuwählen, welche während der Laufmodus schnellen
ungefähren Fokuswerkzeugabläufe verwendet wird – entweder „manuell” oder „automatisch”.
In einer Ausführungsform, wie oben mit Bezug zu den 3 und 4 beschrieben,
kann die letzte vorherige erfolgreiche Bewegungsrichtung eines vorherigen
Durchgangs für ein schnelles ungefähres Fokuswerkzeug
als die erste Einstellrichtung für einen nachfolgenden
Vorgang eines schnellen ungefähren Fokuswerkzeugs verwendet
werden. Im Gegensatz dazu, ist bei einer „manuellen” Auswahl
die erste Einstellrichtung was auch immer der Benutzer als die erste
Einstellrichtung während des Lernmodus eingibt. Zum Beispiel, wenn
ein Benutzer „manuell” auswählt, kann
in einer Ausführungsform eine weitere Pop-up-Box bereitgestellt
werden, welche dem Benutzer erlaubt, eine Richtung auszuwählen,
wie „Suche aufwärts” oder „Suche
abwärts”.
-
Diese
Arten von Optionen können in Umständen nützlich
sein, wenn das maschinelle Sichtsystem sehr nahe an einer unregelmäßigen
Oberfläche arbeitet, sodass es wünschenswert sein
kann, ein Suchen in Richtung der Oberfläche anfangs zu vermeiden,
damit die Kamera nicht auf dem Arbeitsstück zerschellt.
-
9C zeigt
den registerähnlichen Abschnitt 910c, welcher
für die „repräsentativen Datenauswahlen” da
ist, und welcher die repräsentative Fokuskurve darstellt
oder identifiziert und den repräsentativen Fokusschwellwert,
der mit einem entsprechenden Vorgang eines schnellen ungefähren
Fokuswerkzeug während des Laufmodus zu verwenden ist. Wie
vorher offenbart, verwendet das schnelle ungefähre Autofokuswerkzeug
schon existierende Daten oder während des Laufmodus gelernte
Daten, im Gegensatz zu Echtzeitfokuskurvendaten. Für die „auf repräsentative
Fokuskurvendaten, Name oder Stelle” ist eine Box bereitgestellt,
in welche Einträge gemacht werden können, die
die repräsentativen Fokuskurvendaten definieren, die während
des Laufmodus verwendet werden. In verschiedenen Ausführungsformen
können die Daten selber eingegeben werden (z. B. in der
Form von rohen Fokuskurvendatenpunkten oder einem Satz von Koeffizienten
zur Definition einer Kurve, die zu den rohen Fokuskurvendatenpunkten
passt) oder die Eingabe kann ein variabler Stringname oder Dateiname
oder eine Speicheradressposition oder ein externer Subroutineidentifizierer
oder ähnliches sein, wo die Daten gespeichert sind, oder
so charakterisiert, dass sie durch den entsprechenden Vorgang des
schnellen ungefähren Fokuswerkzeuges während des
Laufmodus aufgerufen werden können. In einer Ausführungsform
können die Daten automatisch in die Box während
dem Lernmodus eingegeben werden, und ein Benutzer kann die Daten
in der Box prüfen (z. B. um eine Entscheidung zu treffen,
ob die existierenden Daten verwendet werden, oder sie mit allgemeinen Werten überschrieben
werden, oder um die Datenspeicherstelle umzubenennen oder ähnliches).
-
Es
sollte geschätzt werden, dass die verschiedenen Benutzerschnittstellenmerkmale
und auswählbare Ablaufmerkmale, wie oben beschrieben, nur
exemplarisch und nicht beschreibend sind. Zum Beispiel können
in verschiedenen Ausführungs formen die repräsentativen
Fokuskurvendaten und die repräsentativen Fokusschwellwertdaten
direkt in ein Teilprogramm gespeichert werden, und der registerähnliche
Abschnitt 910c wurde ausgelassen. Noch allgemeiner können
verschiede optionale Merkmale in dem Videowerk ausgelassen werden,
und ihre entsprechenden Benutzerschnittstellenmerkmale können
daher auch ausgelassen werden. Weiterhin ist ersichtlich, dass die
graphische Form und die Menühierarchie, die sich auf die
Benutzerschnittstelle eines schnellen ungefähren Autofokuswerkzeugs
bezieht, verschiedene Formen in anderen Ausführungsformen
einnehmen kann.
-
Der
registerähnliche Abschnitt 901c ermöglicht
dem Nutzer die Daten für die „repräsentative
Fokusschwellwertdaten, Name oder Stelle” zu prüfen oder
einzugeben, die den repräsentativen Fokuskurvendaten entspricht,
die auf demselben Register und dem selben entsprechenden Vorgang
eines schnellen ungefähren Fokuswerkzeugs identifiziert
sind. Wie oben in Bezug zu 3 und 4 und
anderswo beschrieben, wird der Fokusschwellwert (oder Daten, die
den Fokusschwellwert definieren) typischerweise während
des Lernmodus erfasst, und während des Laufmodus verwendet,
um zu bestimmen, ob ein Bildfokuswert bedeutet, dass das entsprechende
Bild einen genügenden Fokus bereitstellt, um Arbeitsstückmerkmalinspektionsabläufe
zu unterstützen. Ähnlich zu der „repräsentative
Fokuskurvendaten oder Name oder Stelle” können
in verschiedenen Ausführungsformen die „repräsentative Fokusschwellwertdaten,
Name oder Stelle” die repräsentativen Fokusschwellwertdaten
in jedem von einigen Formaten definieren (z. B. ein numerischer
Wert, ein Dateiname, ein Dateiname für eine Subroutine, die
die gewünschten Werte ausrechnet auf Grundlage der Fokusgruppendaten,
usw.). In einer Ausführungsform können die Daten
automatisch in die Box während des Lernmodus eingegeben
werden, und ein Nutzer kann die Daten in der Box prüfen
(z. B. um eine Entscheidung vorzunehmen, ob die existierenden Daten
verwendet werden, oder ob sie mit einem anderen Wert überschrieben
werden, oder die Datenspeicherstelle oder ähnliches umzubenennen).
-
Für
all die registerähnlichen Abschnitte 910a bis 910c stellt
der „Standardknopf” unten die Einträge zurück
auf ihre Standardwerte (z. B. die manuellen oder automatischen Auswahlen
auf dem registerartigen Abschnitt 910b), und der „OK” Knopf
akzeptiert die gegenwärtigen Parameter und schließt
die Autofokusparameterdialogbox 900, und der „Löschen” Knopf
stellt alle Parameter auf ihren Zustand zurück, bevor die
gegenwärtige Bearbeitungssequenz begonnen hat, und schließt
die Dialogbox 900. Eine andere Art von Modus oder Routine,
die in die Lernmodus schnelle ungefähre Fokusabläufe
eingeschlossen ist oder darauf bezogen ist, kann ein „leicht
zu benutzen” Merkmal bereitstellen, welches für
unerfahrene Benutzer nützlich ist, und könnte
Parameter auf einem registerförmigen Abschnitt (nicht gezeigt) bezeichnen.
Der Modus oder die Unterroutine schließt eine automatische
Bewertung bestimmter Sequenzen der Inspektionsabläufe unter
Verwendung schneller ungefährer Fokuswerkzeuge während
des Lernmodus ein. In einer Ausführungsform kann der Werkzeugmodus
oder die Unterroutine eine Vielzahl vorher trainierter schneller
ungefährer Fokuswerkzeuge bewerten und bestimmen, ob es wahrscheinlich
ist, dass die Arbeitsstückoberfläche, auf der
die Merkmalsinspektionsabläufe gegenwärtig definiert
sind, nominell planar ist (z. B. durch Auswerten, ob die vorher
trainierten schnellen ungefähren Fokuswerkzeuge alle Ursprungs-Z-Höhen
einschließen, die innerhalb eines relativ schmalen Bereichs fallen,
oder ein anderes geeignetes Verfahren). Wenn das so ist, dann kann
der Werkzeugmodus oder die Unterroutine den Nutzer benachrichtigen, dass
es tatsächlich geeignet sein könnte, eine oder beide
der „automatischen” Einstellungen zu implementieren,
wie vorher mit Bezug zu dem „Basisregister 910b” beschrieben,
wenn die Einstellungen noch nicht geeignet sind. Im Gegensatz dazu,
wenn die Auswertung der vorher trainierten ursprünglichen Z-Höhen
signifikante Höhenvariationen aufweisen, dann kann der
Werkzeugmodus oder die Subroutine den Benutzer benachrichtigen,
dass es tatsächlich geeignet sein könnte, eine
oder beide der „manuellen” Einstellungen zu implementieren,
wie vorher mit Bezug zu dem „Basisregister 910b” beschrieben, wenn
die Einstellungen noch nicht geeignet sind. Solch ein in den Lernmodus
schnellen ungefähren Fokusabläufen eingeschlossener
Modus oder Routine kann den Benutzern helfen, die nur an konventi onelle
Autofokusvorgänge gewöhnt sind, die robustere und/oder
schnellere Teilprogramme unter geeigneter Verwendung des schnellen
ungefähren Fokuswerkzeugs erzeugen.
-
10 ist
ein Diagramm, welches eine Ausführungsform einer maschinellen Sichtinspektionssystembenutzerschnittstellenanzeige 1000 zeigt,
einschließlich einer Anordnung verschiedener Merkmale in
Verbindung mit einem schnellen ungefähren Autofokuswerkzeug.
In einem exemplarischen in 10 gezeigten
Zustand, schließt die Benutzerschnittstellenanzeige 1000 ein Gesichtsfeldfenster 1003 ein,
welches ein Arbeitsstückbild 1010 anzeigt. Die
Benutzerschnittstelle 1000 schließt weiterhin
verschiedene Mess- und/oder Ablaufauswahlschieber ein, wie die Auswahlschieber 1020 und 1040,
ein Echtzeit X-Y-Z (Positionskoordinatenfenster 1030 und
ein Lichtsteuerfenster 1050).
-
Das
Gesichtsfeldfenster 1003 schließt eine exemplarische
schnelle ungefähre Autofokusvorrichtung 1014 ein
und ein Bereich-von-Interesse 1014' der einem gegenwärtigen
zu inspizierenden Arbeitsstückmerkmal 1012 überlagert
wird. In verschiedenen Ausführungsformen, wenn der Benutzer
ein schnelles ungefähres Autofokuswerkzeug oder Modus auswählt
(z. B. durch einen Auswahlschieber, der verschiedenen alternative
Werkzeug- und/oder Modusauswahlknöpfe anzeigt), kann die
Benutzerschnittstelle automatisch eine Autofokusparameterdialogbox
anzeigen, wie die vorher beschriebene, in 9 gezeigte
Parameterdialogbox 900. In einer Ausführungsform
kann die Vorrichtung 1014 automatisch in der Benutzerschnittstelle
angezeigt werden, um einem Benutzer zu erlauben, den Bereichvon-Interesse 1014' graphisch
zu definieren, für den Vorgang des schnellen ungefähren
Fokuswerkzeugs (z. B. Durchziehen der quadratischen Griffe, die
sich an der Grenze der Vorrichtung 1014 befinden und unter Verwendung
einer Computermaus und einem Bildschirmcursor). Es wird geschätzt
werden, dass in gewissen Ausführungsformen das Arbeitsstückmerkmal 1012 und
die schnelle ungefähre Autofokus-Bereich-von-Interesse-Vorrichtung 1014 und
der Bereich-von- Interesse 1014', ähnlich den schnellen
ungefähren Autofokus-Bereichen-von-Interesse 314A bis 314D aus 3,
erscheinen und wirken.
-
Es
wird geschätzt werden, dass durch Verwendung der Verfahren
der vorliegenden Erfindung signifikante Durchsatzverbesserungen
für autofokussierende Abläufe erreicht werden
können. In gewissen Ausführungsformen und Anwendungsfällen
steigen die schnellen ungefähren Fokussierungsabläufe der
vorliegenden Erfindung den Durchsatz um ungefähr 2,5 bis
15 mal verglichen zu konventionelleren autofokussierenden Verfahren,
die Fokuskurven im Laufmodus bestimmen. Im Allgemeinen hängt
die Verbesserung des Durchsatzes davon ab, welche konventionellen
autofokussierenden Betriebsmodi zum Vergleich verwendet werden (z.
B. ob eine geringe, mittlere oder hohe Dichte von Fokuskurvenpunkten
zur Bestimmung der konventionellen Laufmodusfokuskurven verwendet
wurden) und von den Sequenzen erfolgreicher Fokusabläufe,
die in dem Teilprogramm verwendet werden, und die in geeigneter Form
schnelle ungefähre Autofokusabläufe verwenden
können lange Sequenzen oder kurze Sequenzen sind. Die Durchsatzzunahme
ist für lange Sequenzen größer, welche
auf einer großen Breite von relativ planaren oder flachen
Teilen auftreten.
-
Während
die bevorzugte Ausführungsform der Erfindung gezeigt und
beschrieben wurde, werden viele Variationen in den gezeigten und
beschriebenen Anordnungen von Merkmalen und Sequenzen von Abläufen
dem Fachmann aufgrund dieser Offenbarung ersichtlich werden. Demnach
wird geschätzt werden, dass vielfältige Veränderungen
darin gemacht werden können, ohne den Geist und Bereich der
Erfindung zu verlassen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - US 6542180 [0003, 0003, 0004, 0048]
- - US 5790710 [0005, 0005, 0005]
- - US 7030351 [0005]
- - US 7454053 [0026]
- - US 10/632823 [0026]
- - US 7324682 [0026]
-
Zitierte Nicht-Patentliteratur
-
- - „Robust
Autofocusing in Microscopy” von Jan-Mark Geusebroek und
Arnold Smeulders in der ISIS Technical Report Series, Band 17, November
2000 [0005]