-
Diese
Erfindung betrifft Systeme und Verfahren zum automatischen Fokussieren
eines Maschinenvisionsinspektionssystems.
-
Verfahren
zum Betreiben eines Maschinenvisionsinspektionssystems mit einer
Kamera und einem Tisch, die zueinander beweglich sind, um auf ein
Werkstück
auf dem Tisch zu fokussieren und ausgewählte Merkmale zu inspizieren,
sind allgemein bekannt. Präzisionsmaschinenvisionsinspektionssysteme
können verwendet
werden, um präzise
dimensionale Messungen inspizierter Objekte zu erzielen und verschiedene andere
Objektcharakteristiken zu inspizieren. Solche Systeme können einen
Computer, eine Kamera, ein optisches System und einen Präzisionstisch
aufweisen, der in mehrere Richtungen beweglich ist, um es der Kamera
zu erlauben, die Merkmale eines Werkstücks, das inspiziert wird, zu
scannen. Ein beispielhaftes System des früheren Stands der Technik, eines
Typs, der als Allzweck-„Offline"-Präzisionsvisionssystem
charakterisiert werden kann, sind die im Handel erhältliche
Baureihe QUICK VISIONTM Visionsinspektionsmaschinen
und QVPAKTM-Software, die von Mitutoyo America
Corporation (MAC) in Aurora, Illinois erhältlich sind. Die Merkmale und
der Betrieb der Baureihe der QUICK VISIONTM-Visionsinspektionsmaschinen
und der QVPAKTM-Software sind allgemein
zum Beispiel in dem Benutzerhandbuch QVPRK 3D CNC Vision Measuring Machine
Users Guide, veröffentlicht
im Januar 2003 sowie in dem Benutzerhandbuch QVPAK 3D CNC Vision Measuring
Machine Operation Guide, veröffentlicht
im September 1996, beschrieben, die beide hiermit durch Bezugnahme
komplett eingegliedert werden. Dieses Produkt, wie zum Beispiel
das QV-302 Pro-Model kann ein optisches System des Mikroskoptyps
verwenden, um Bilder eines Werkstücks mit verschiedenen Vergrößerungen
bereitzustellen.
-
Derartige
Allzweck-„Offline"-Präzisionsvisionssysteme
enthalten oft ein programmierbares Beleuchtungssystem und einen
Objektivturm mit Objektiven mit verschiedenen Vergrößerungen,
um zum Beispiel ihre Vielseitigkeit zu steigern und die Fähigkeit
des schnellen Wechsels ihrer Konfiguration und der Abbildungsparameter
vorzusehen, um eine große
Vielfalt an Inspektionsaufgaben auszuführen. Es besteht ein allgemeiner Bedarf
am Inspizieren verschiedener Typen von Objekten oder Inspektionswerkstücken oder
verschiedener Aspekte eines einzelnen Werkstücks, die verschiedene Kombinationen
der Vergrößerungen
und programmierbaren Beleuchtungseinstellungen benutzen.
-
Allzweck-Präzisionsmaschinenvisionsinspektionssysteme,
wie zum Beispiel das QUICK VISIONTM-System,
sind auch allgemein programmierbar und betreibbar, um automatisierte
Videoinspektion bereitzustellen. Es ist allgemein erstrebenswert,
dass solche Systeme Merkmale und Werkzeuge enthalten, die das Programmieren
und Betreiben solcher Systeme vereinfachen, so dass der Betrieb
und das Programmieren zuverlässig
von Bedienern, die keine Experten sind, ausgeführt werden kann. Zum Beispiel
lehrt das US-Patent 6 542 180 ein Visionssystem, das automatisierte
Videoinspektion verwendet, darunter Vorgänge, bei welchen die Beleuchtung,
die verwendet wird, um ein Werkstückmerkmal zu beleuchten, auf
der Basis einer Vielzahl ausgewählter
Bereiche eines Bilds des Werkstückmerkmals,
justiert wird.
-
Wie
in dem Patent '180
gelehrt, haben automatisierte Videoinspektionsmessinstrumente im
Allgemeinen eine Programmierfähigkeit,
die es erlaubt, eine automatische Inspektionsereignissequenz durch
den Benutzer für
jede besondere Werkstückkonfiguration
zu definieren. Die Programmierfähigkeit
stellt typischerweise auch die Möglichkeit
bereit, die Ergebnisse der verschiedenen Inspektionsvorgänge zu speichern
und/oder auszugeben.
-
Ein
derartiges Programmieren kann entweder überlegt durchgeführt werden,
wie zum Beispiel durch Programmieren auf Textbasis, oder durch einen
Aufzeichnungsmodus, der allmählich
die Inspektionsereignissequenz „lernt", indem eine Sequenz von Maschinensteuerbefehlen,
die einer Sequenz von Inspektionsvorgängen, die von einem Benutzer
ausgeführt
werden, entspricht, gespeichert wird, oder durch eine Kombination beider
Verfahren. Ein solcher Aufzeichnungsmodus wird oft als „Lernmodus" oder „Trainingsmodus" bezeichnet.
-
Bei
beiden Techniken werden die Maschinensteuerbefehle im Allgemeinen
als ein Teilprogramm gespeichert, das für die bestimmte Werkstückkonfiguration
spezifisch ist. Die Fähigkeit,
Teilprogramme mit Anweisungen zu schaffen, die automatisch eine
vorbestimmte Sequenz von Inspektionsvorgängen während eines „Arbeitsmodus" ausführen, weist
mehrere Vorteile auf, darunter verbesserte Inspektionswiederholbarkeit sowie
die Fähigkeit
automatisch das gleiche Teilprogramm an einer Vielzahl kompatibler
Maschinenvisionsinspektionssysteme und/oder mehrfach auszuführen.
-
Die
oben beschriebenen beispielhaften QUICK VISIONTM-Systeme sowie eine
Anzahl anderer im Handel verfügbarer
Allzweck-„Offline"-Visionssysteme verwenden
typischerweise herkömmliche
Bilderfassungszubehörteile
oder Bauteile auf PC-Basis und herkömmliche Computerbetriebssysteme
auf PC-Basis, wie zum Beispiel das Betriebssystem WindowsTM, um ihre Betriebsverfahren bereitzustellen,
darunter ihre Verfahren zum Betreiben während einer Sequenz von Autofokusvorgängen.
-
Im
Allgemeinen bewegt sich die Kamera während einer Sequenz von Autofokusvorgängen durch
eine Reihe von Positionen entlang einer Z-Achse und erfasst an jeder
Position ein Bild. Für
jedes erfasste Bild wird eine Fokusmetrik berechnet und mit der
entsprechenden Position der Kamera entlang der Z-Achse zu dem Zeitpunkt
in Beziehung gebracht, zu dem das Bild aufgenommen wurde.
-
Ein
bekanntes Verfahren des Autofokussierens wird in „Robust
Auto Focussing in Microscopy" von Jan-Mark
Geusebroek und Arnold Smeulders in ISIS Technical Report Series,
Band 17, November 2000 besprochen. Um eine Z-Achsen-Position der
Kamera zu bestimmen, die einem Autofokusbild entspricht, schätzt das
besprochene Verfahren eine Position der Kamera entlang einer Z-Achse auf der Grundlage
einer gemessenen Zeitmenge, während
welcher sich die Kamera von einer bekannten Ausgangsposition auf
der Z-Achse mit einer konstanten Geschwindigkeit entlang der Z-Achse
bewegt, bis das Bild erfasst ist. Während der Bewegung mit konstanter
Geschwindigkeit werden die Autofokusbilder in Abständen von
40 ms (Videorate) aufgenommen. Das offenbarte Verfahren lehrt, dass
die Videohardware Rahmen mit einer feststehenden Rate aufnimmt,
und dass die Abtastdichte der Fokussierungskurve nur durch Einstellen
der Tischgeschwindigkeit beeinflusst werden kann.
-
Ein
anderes bekanntes Autofokusverfahren und -gerät ist in dem US Patent 5 790
710 beschrieben. In dem '710-Patent wird ein piezoelektrischer
Positionierer verbunden mit einem herkömmlichen motorbetriebenen Bewegungssteuersystem
verwendet, um die Z-Achsen-Position
zu steuern. Das Bewegungssteuersystem mit Motorantrieb stellt eine
relativ gröbere
Auflösungspositionierung über einen
kompletten Bewegungsbereich bereit, während der piezoelektrische
Positionierer schnelle Positionierung mit hoher Auflösung über einen
begrenzten Bereich um die Nennposition bereitstellt, die von dem
motorgetriebenen System erstellt wird. Der piezoelektrische Positionierer
stellt relativ verbesserte Autofokusgeschwindigkeit und -auflösung bereit. Das '710-Patent offenbart
ferner den Einsatz von Strobeimpulsbeleuchtung während Autofokusvorgängen. Das '710-Patent lehrt
das Erfassen von Autofokusbildern bei 60 Hz.
-
Bei
einer Ausführungsform
wurde „das
Bild in der Nähe
des Endes des Videofelds gestrobt, nachdem der piezoelektrische
Fokus in seiner neuen Position gestoppt war". Das '710-Patent schlägt auch eine Alternative vor,
bei der die Position mit einer konstanten Geschwindigkeit bewegt
und das Bild mit einem Strobeimpuls eingefroren wird. In jedem Fall,
und weil der Strobeimpuls die effektive Belichtungszeit der Kamera
verkürzt, kann
ein Teil der normalen Integrationsperiode zum Erfassen eines Kamerarahmenbilds
verwendet werden, um sich zu einer neuen Position fortzubewegen,
bevor der Strobeimpuls später
innerhalb dieser Integrationsperiode ausgelöst wird.
-
Die
Autofokusverfahren, die oben angesprochen wurden, stellen Autofokusbilder
mit herkömmlichen Kamerarahmenraten
und relativ schnelle Autofokusfähigkeit
bereit. Relativ schnelle Autofokusfähigkeit wird auch bei einer
Vielzahl so genannter „Online"- oder „Inline"-Maschinenvisionsinspektionssystemen
bereitgestellt, die spezifisch konzipiert sind, um einen hohen Durchsatz
für einen
spezifischen Satz von Inspektionsvorgängen zu erzielen, der wiederholt
an einem bestimmten Typ eines Massenproduktionsteils in einer bestimmten
Betriebsumgebung ausgeführt
wird. Verglichen mit den zuvor beschriebenen Allzweck-Präzisionsmaschinenvisionsinspektionssystemen,
müssen
derartige Online-Maschinenvisionsinspektionssysteme die Parameter,
die ihre Inspektionsvorgänge
umgeben, weniger häufig
wechseln. Ferner ist die Anpassungsfähigkeit im Allgemeinen weniger
wichtig als Hochgeschwindigkeitsbetrieb. Solche Systeme beruhten
daher typisch auf spezialisierten Hardwarekonfigurationen und spezialisiertem
Programmieren, um Hochgeschwindigkeits betrieb bereitzustellen, darunter
relativ schnelle Autofokusfähigkeit.
-
Ein
weiteres Problem, das für
verwandte Systeme und verfahren typisch ist, besteht darin, dass
Maschinenschwingungen, Verzerrungen und entsprechende Autofokuspositionsmessfehler
auftreten, wenn verschiedene Visionsmaschinenelemente plötzlich kurz
vor einer Autofokusbilderfassung gestoppt werden.
-
US
2003/197925 und WO 00/75709 beschreiben Echtzeitfokussierungssysteme
für ein
Mikroskop.
-
Die
verschiedenen zuvor beschriebenen bekannten Systeme und Verfahren
zum Ausführen
von Autofokusvorgängen
haben entweder nachteilige Autofokussierungsgeschwindigkeitsbeschränkungen,
Autofokussierungspräzisionsbeschränkungen,
kostspielige, spezialisierte und/oder relativ wenig anpassungsfähige Hardware
und/oder einen Mangel an einem geeigneten Verfahren zum einfachen
und verlässlichen
Anpassen und Programmieren der Autofokusvorgänge für eine Vielzahl verschiedener
Werkstücke
oder Werkstückmerkmale,
insbesondere wenn die Autofokusvorgänge den Einsatz von Strobeimpulsbeleuchtung
enthalten. Ein Autofokussystem und -verfahren, die diese verschiedenen
Nachteile und Beschränkungen
getrennt oder gemeinsam überwinden
können,
ist erstrebenswert.
-
Die
Erfindung ist in den Ansprüchen
dargelegt.
-
Anders
als jedes der zuvor beschriebenen bekannten Systeme und Verfahren
zum Ausführen
von Autofokusvorgängen
stellt die vorliegende Erfindung Hochgeschwindigkeits- und Hochpräzisions-Autofokussierung
bereit, die für
ein Allzweck-Präzisionsmaschinenvisionsinspektionssystem
geeignet ist, und verwendet dabei relativ kostengünstige und
anpassungsfähige
Hardware. Zum Beispiel können
relativ kostengünstige
im Handel erhältliche
PC-kompatible Maschinenvisionsbauteile und Bewegungsbauteile verwendet
werden, gemeinsam mit herkömmlichen
Computerbetriebssystemen auf PC-Basis. Spezialisierte Bewegungselemente, wie
zum Beispiel piezoelektrische Stellglieder oder dergleichen, und
ihre dazugehörenden
Steuerelemente sind nicht erforderlich, um hohe Präzision bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren zum schnellen automatischen Fokussieren einer Bildaufnahmevorrichtung
bereitzustellen.
-
Eine
relativ kostengünstige
im Handel erhältliche
Kamera kann verwendet werden, um einen reduzierten erfindungsgemäßen Auslesepixelsatz
bereitzustellen. Der reduzierte Auslesepixelsatz entspricht im Wesentlichen
weniger als dem vollständigen
Gesichtsfeld der Kamera entlang mindestens einer Dimension des Gesichtsfelds
der Kamera. Die Pixelwerte des reduzierten Auslesepixelsatzes eines
Bilds können
zu dem Steuersystemabschnitt in einer Zeit ausgegeben werden, die
wesentlich kürzer
ist als eine Zeit, die zum Ausgeben des kompletten Pixelsatzes,
der einem vollständigen
Gesichtsfeld der Kamera entspricht, erforderlich ist. Daher ist
eine Wiederholungsrate zum Erfassen von Bildern und Speichern der
dem reduzierten Auslesepixelsatz entsprechenden Daten wesentlich
schneller als die Rate in Zusammenhang mit dem Erfassen von Bildern
und Speichern der einem vollständigen
Pixelsatz für
das vollständige
Gesichtsfeld der Kamera entsprechenden Daten.
-
Herkömmliche
Computerbetriebssysteme auf PC-Basis und Visions- und Bewegungsbauteile
weisen im Allgemeinen verschiedene nicht kontrollierte Timinglatenzen,
asynchron getaktete Vorgänge
und dergleichen auf. Existierende Autofokussysteme und -verfahren
für solche
Systeme und Bauteile haben diese unterschiedlichen unvorhersagbaren
Timingbeziehungen und -schwankungen typischerweise in einer Art überwunden,
die relativ langsam auszuführen
ist, um passende Timingmargen und zuverlässig ein erstrebenswertes Niveau
an Fokussierungspräzision
oder -wiederholbarkeit bereitzustellen. Alternativ haben existierende
Autofokussysteme und -verfahren relativ reduzierte Präzision,
Wiederholbarkeit oder Zuverlässigkeit
akzeptiert. Solche Autofokusgeschwindigkeitsprobleme wurden durch
frühere
Autofokussysteme und -verfahren, die unter Einsatz von Computerbetriebssystemen
und Bauteilen auf PC-Basis umgesetzt wurden, ungeeignet gelöst, und
solche Autofokussysteme und -verfahren sind in diesem Hinblick unzulänglich.
Daher werden bei verschiedenen beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren zum schnellen automatischen Fokussieren einer Bildaufnahmevorrichtung,
angemessene Timingmargen und zuverlässige Fokussierungspräzisionsniveaus,
Präzision
und Wiederholbarkeit erzielt, während
schnell Autofokusvorgänge
ohne Abhängigkeit
von den Timinglatenzen eines PC ausgeführt werden.
-
Zusätzlich stellen
verschiedene beispielhafte Ausführungsformen
der erfindungsgemäßen Systeme und
Verfahren Autofokussysteme und Verfahren bereit, die einfach und
zuverlässig
angepasst, betrieben und für
eine Vielzahl verschiedener Werkstücke oder Werkstückmerkmale
programmiert werden können,
darunter Ausführungsformen,
bei welchen die Autofokusvorgänge
den Einsatz von Strobeimpulsbeleuchtung aufweisen. Ferner stellen
verschiedene beispielhafte Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren Systeme und Verfahren bereit, die eine solche Anpassung,
einen solchen Betrieb und ein solches Programmieren zuverlässig durch
einen „Nichtexperten" während manueller
Inspektionsvorgänge
und während verschiedener
Trainingsmodusvorgänge
erlauben.
-
Zu
bemerken ist, dass die erfindungsgemäßen Systeme und Verfahren zum
schnellen automatischen Fokussieren einer Bildaufnahmevorrichtung
besonders beim Gebrauch bei Präzisionsautofokusvorgängen vorteilhaft
sind, die in Maschinenvisionsmesstechnik- und -inspektionssystemen
verwendet werden können. Die
erfindungsgemäßen Systeme
und Verfahren stellen im Allgemeinen Autofokuspräzision und Wiederholbarkeit
bereit, die einen kleinen Prozentsatz der Feldtiefe ausmachen, die
von einem Abbildungsobjektiv bereitgestellt wird. Das ist insbesondere
für ein
Präzisionsmaschinenvisionsinspektionssystem,
das messtechnisch eingesetzt wird, wichtig. Zu bemerken ist, dass
die Autofokussysteme, die von vielen anderen Systemtypen verwendet
werden, in erster Linie klare Bilder bereitstellen und hinsichtlich
ihrer Wiederholbarkeit in Bezug auf die Feldtiefe eines Abbildungsobjektivs
oft vergleichsweise unreif sind. Das ist darauf zurückzuführen, dass
ein klares Bild über
einen relativ großen
Abschnitt der Feldtiefe bereitgestellt wird.
-
Diese
Erfindung stellt Systeme und Verfahren zum automatischen Fokussieren
einer Bildaufnahmevorrichtung mit hoher Geschwindigkeit und hoher
Präzision
bereit, die einen reduzierten Auslesepixelsatz verwenden.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Definieren eines
reduzierten Auslesepixelsatzes bereit, der tatsächlich für eine Anzahl von Autofokusbildern
ausgegeben wird, um die erreichbare Rate an Autofokusbilderfassung
zu steigern.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum automatischen
Fokussieren einer Bildaufnahmevorrichtung bereit, um hohe Geschwindigkeit
und hohe Präzision
unter Einsatz einer relativ beschränkten Anzahl von Einstellungsbedingungen
und/oder Parametern bereitzustellen, die nicht automatisch bestimmt werden.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Erfassen von
Autofokusbildern bereit, während
die Kamera in Bezug zu dem Werkstück bewegt wird.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Erfassen von
Autofokusbildern bereit, während
die Kamera in Bezug auf das Werkstück beschleunigt wird.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Erfassen verschiedener
Autofokusbilder bei hoher Geschwindigkeit bereit, während die
Kamera und/oder das Werkstück
schnell in einer Art bewegt wird, die keine potenziellen Maschinenschwingungen,
Verzerrungen und/oder damit verbundene Autofokuspositionsmessfehler
entstehen lässt,
die sonst dazu tendieren aufzutreten, wenn verschiedene Visionsmaschinenelemente
plötzlich
kurz vor dem Erfassen eines Autofokusbilds gestoppt werden.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen des
reduzierten Auslesepixelsatzabschnitts eines Bildrahmens bereit,
der tatsächlich
für eine
Anzahl von Autofokusbildern auf der Grundlage der Größe und Lage
eines interessierenden Bereichs eines Werkstücks ausgegeben wird.
-
Diese
Erfindung stellt getrennt verschiedene grafische Benutzeroberflächenelemente
bereit, die mit den Systemen und Verfahren verwendet werden können, um
eine erstrebenswerte Ausrichtung oder Überlappung zwischen einem Abschnitt
eines Bildrahmens, der tatsächlich
für eine
Anzahl von Autofokusbildern ausgegeben wird und einem interessierenden
Bereich eines Werkstücks,
zu bestimmen.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bewegen der
Kamera in Bezug zu dem Werkstück
mit einer Geschwindigkeit bereit, die auf der Grundlage einer verwirklichbaren
Wiederholungsrate von Autofokusbilderfassung und einer erstrebenswerten
Fokuskurvenabtastdichte bestimmt wird.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen der
effektiven Belichtungszeit eines Autofokusbilds durch Strobeimpulslichtbeleuchtung
und zum Auswählen
einer Strobeimpulsdauer bereit, die das Verschieben einer sich bewegenden
Kamera innerhalb eines erstrebenswerten Bereichs während der effektiven
Belichtungszeit des Autofokusbilds beschränken.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen eines
Strobeimpulslicht-Leistungsniveaus bereit, das während einer Strobeimpulsdauer
verwendet wird, die auf einer fortgesetzten Beleuchtungsleistungseinstellung
basiert, die dafür
bekannt ist, akzeptable Bildcharakteristiken über eine effektive Belichtungsdauer
zu ergeben, die länger
ist als die Strobeimpulsdauer.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen des
Abschnitts eines Bildrahmens bereit, der tatsächlich für eine Anzahl von Autofokusbildern
auf der Grundlage einer erstrebenswerten Mindestgröße eines
interessierenden Bereichs ausgegeben wird, der die entsprechende
maximal verwirklichbare Abtastrate bestimmt.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen einer
maximalen Kamerabewegungsgeschwindigkeit auf der Grundlage der maximal
verwirklichbaren Abtastrate und einer erstrebenswerten Fokuskurvenabtastdichte,
die mit einer erstrebenswerten Fokuspräzision zusammenhängt, bereit.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen einer
Strobeimpulsdauer bereit, die auf einer maximal zulässigen Kameraverschiebung
beruht, die während
einer effektiven Autofokusbildbelichtungszeit erstrebenswert ist.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren zum Bestimmen eines
Lichtleistungsniveaus bereit, das während der Strobeimpulsdauer
auf der Grundlage einer fortgesetzten Beleuchtungsleistungseinstellung
verwendet wird, die dafür
bekannt ist, akzeptable Bildcharakteristiken über eine effektive Belichtungsdauer
zu ergeben, die länger
ist als die Strobeimpulsdauer, um eine erstrebenswerte Autofokuspräzision bei einer
entsprechenden Autofokusausführungsgeschwindigkeit
zu erzielen, die annähernd
in Bezug auf einen bestimmten interessierenden Bereich für die Autofokusvorgänge optimiert
ist.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren bereit, die einen
Strobeimpuls-Beleuchtungscontroller bereitstellen, der leicht eine
Schnittstelle mit verschiedenen herkömmlichen PC-kompatiblen Maschinenvisionsbauteilen
bilden kann und verschiedene Steuersignale empfängt und gesteuerte Beleuchtungsleistungsniveaus,
schnellen Betrieb und vorhersehbares Timing für verschiedene Autofokusvorgänge bereitstellt.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren bereit, die einen
Strobeimpuls-Beleuchtungscontroller bereitstellen, der betrieben
werden kann, um fortgesetzte Beleuchtungsvorgänge zu steuern.
-
Diese
Erfindung stellt getrennt Systeme und Verfahren bereit, die den
Strobeimpuls-Beleuchtungscontroller bereitstellen, der als Nachrüstung für verschiedene
existierende Maschinenvisionssysteme installiert werden kann, die
dann verschiedene verbesserte erfindungsgemäße Autofokusvorgänge umsetzen
können.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren, und wenn sich die Kamera während einer Autofokusbilderfassung
bewegt, wird zumindest ein Positionswert in Zusammenhang mit der
Abbildungsentfernung für
dieses Autofokusbild in Zusammenhang mit der effektiven Belichtungszeit
des Autofokusbilds erfasst. Bei verschiedenen beispielhaften Ausführungsformen
erfolgt dies, um die Autofokusbildentfernung mit hoher Präzision,
Zuverlässigkeit
und/oder Gewissheit bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren wird ein Visionsinspektionssystem, das verschiedene
verbesserte erfindungsgemäße Autofokusvorgänge aufweist,
in einen Training- oder Lernmodus gegeben, um Parameter, wie zum
Beispiel ein ausgewähltes
Objektiv, die Dimensionen und die Lage eines interessierenden Bereichs,
die Dimensionen und die Lage eines reduzierten Auslesepixelsatzes,
Beleuchtungseinstellungen, Autofokusabtastgeschwindigkeit und -bereich und
dergleichen zu bestimmen, um schneller und genauer automatisch auf
ein bestimmtes Werkstück
zu fokussieren.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren und wenn sich das Visionsinspektionssystem in einem
Training- oder Lernmodus befindet, wird eine grafische Benutzeroberfläche (GUI)
für einen
Bediener bereitgestellt, um in Zusammenhang mit dem Definieren von
Autofokussierungsvorgängen
verwendet zu werden, und einige oder alle der oben angegebenen Parameter
werden definiert und/oder bestimmt. Bei verschiedenen beispielhaften
Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren wird eine Vorführung
der Ergebnisse der definierten Autofokussierungsvorgänge praktisch
in dem Trainingsmodus zum Prüfen
der Ergebnisse bereitgestellt. Bei verschiedenen beispielhaften
Ausführungsformen
initiiert der Bediener die Vorführung
durch ein Merkmal der grafischen Benutzeroberfläche. Bei verschiedenen beispielhaften
Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren werden dann Teilprogrammanweisungen geschaffen, um
vorbestimmte, definierte oder neu bestimmte Parameter oder dergleichen
gemeinsam mit Null, einem oder mehreren anderen Vorgängen zu
verwenden, um die Robustheit der Vorgänge, die automatisch eine geschätzte beste
Fokussierungsposition bestimmen und/oder auf einen interessierenden
Bereich eines Werkstücks
fokussieren, zu beschleunigen und/oder zu verbessern.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren werden ein oder mehrere Fokuswerte nur für einen
beschränkten
interessierenden Bereich bestimmt, der in einem reduzierten Auslesepixelsatz
verschiedener Autofokusbilder aufgenommen ist. Bei verschiedenen beispielhaften
Ausführungsformen
erlauben solche Fokuswerte das Bestimmen einer geschätzten besten
Fokusposition mit hoher Präzision
und hoher Geschwindigkeit unter Einsatz eines Computers oder Controllers des
Maschinenvisionssystems.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren wird die geschätzte
beste Fokusposition als eine Inspektionskoordinate für ein Merkmal
des interessierenden Bereichs verwendet, und die Inspektionsvorgänge werden
an einer anderen Position auf dem Werkstück fortgesetzt.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren wird die geschätzte
beste Fokusposition verwendet, um ein existierendes Autofokusbild
des interessierenden Bereichs auszuwählen, das zum Inspizieren in
dem interessierenden Bereich verwendet wird.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren ist die geschätzte
beste Fokusposition relativ annähernder,
wenn eine relativ niedrigere Präzision
akzeptabel ist, und relativ weniger annähernd, wenn eine relativ höhere Präzision gefordert
wird.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren ruft ein Maschinenvisionssystem automatisch verschiedene
Autofokusparameter für
ein bestimmtes Werkstück
auf der Grundlage eines Teilprogramms, das während eines Trainingsmodus
bestimmt wurde, ab und/oder stellt sie ein, führt verschiedene Autofokusvorgänge auf
der Grundlage der verschiedenen Autofokusparameter aus, lokalisiert
automatisch eine geschätzte
beste Fokusposition für
das Werkstück
und erzielt oder definiert zumindest ein erstrebenswertes Inspektionsbild
des Werkstücks,
das der lokalisierten geschätzten
besten Fokusposition entspricht.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren ruft ein Maschinenvisionssystem automatisch verschiedene
Autofokusparameter für
ein bestimmtes Werkstück
auf der Grundlage eines Teilprogramms, das während eines Trainingsmodus
bestimmt wurde, ab und/oder stellt sie ein, führt verschiedene Autofokusvorgänge auf
der Grundlage der verschiedenen Autofokusparameter aus, darunter
den Einsatz eines ursprünglichen
Satzes von Strobeimpuls-Beleuchtungsparametern, um zumindest ein
Bild zu erfassen und zumindest einen Strobeimpuls-Beleuchtungsparameter
auf der Grundlage des automatischen Bewertens mindestens einer Bildcharakteristik
des mindestens einen Bilds zu verfeinern, lokalisiert automatisch
eine geschätzte
beste Fokusposition für
das Werkstück
und erfasst oder definiert zumindest ein erstrebenswertes Inspektionsbild
des Werkstücks.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren wird das Inspektionsbild unter Einsatz der verfeinerten
Strobeimpuls-Beleuchtungsparameter an der lokalisierten geschätzten besten
Fokusposition erzielt.
-
Diese
sowie weitere Merkmale und Vorteile dieser Erfindung sind beschrieben
in oder ergeben sich aus der folgenden ausführlichen Beschreibung verschiedener
beispielhafter Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren.
-
Verschiedene
beispielhafte Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren werden ausführlich
unter Bezugnahme auf die folgenden Figuren beschrieben, in welchen:
-
1 ein
Diagramm eines beispielhaften Allzweck-Maschinenvisionsinspektionssystems ist,
-
2 ein
Blockschaltbild ist, das ausführlicher
eine beispielhafte Ausführungsform
des Steuersystemabschnitts und des Visionsbauteilabschnitts des
Maschinenvisionsinspektionssystems der 1 zeigt,
-
3 ein
veranschaulichender Graph ist, der eine Fokuskurve veranschaulicht,
die einem Satz dicht abgetasteter Fokuskurvendatenpunkte entspricht,
-
4 ein
veranschaulichender Graph ist, der eine Fokuskurve veranschaulicht,
die einem Satz dünn abgetasteter
Fokuskurvendatenpunkte entspricht,
-
5 ein
schematisches Diagramm ist, das eine beispielhafte Ausführungsform
eines Strobeimpuls-Lichtsteuersystems
gemäß dieser
Erfindung zeigt,
-
6 ein
Flussdiagramm ist, das eine beispielhafte Ausführungsform eines Verfahrens
zum Bestimmen von Parametern zum automatischen Fokussieren auf einen
interessierenden Bereich eines Werkstücks gemäß dieser Erfindung darlegt,
-
7 ein
beispielhaftes Werkstück
und Merkmal, das zu inspizieren ist, gemeinsam mit einem beispielhaften
Multizonen-Bildqualitätswerkzeug
zeigt, das verwendet werden kann, um eine erstrebenswerte Autofokusbeleuchtung
bei verschiedenen Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren zu bestimmen,
-
8 das
beispielhafte Werkstück
und Merkmal der 7, das zu inspizieren ist,
gemeinsam mit zwei beispielhaften Ausführungsformen der Autofokuswerkzeug-Widgets der grafischen
Benutzeroberfläche
zeigt, die bei verschiedenen Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren verwendet werden können,
-
9 und 10 das
beispielhafte Werkstück
und Merkmal der 7, das zu inspizieren ist,
gemeinsam mit beispielhaften Ausführungsformen von Autofokuswerkzeug-Widgets einer grafischen
Benutzeroberfläche
und beispielhaften Ausführungsformen
von Anzeige-Widgets für
einen reduzierten Auslesepixelsatz zeigen, die bei verschiedenen
Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren verwendet werden können,
-
11 eine beispielhafte Ausführungsform eines Autofokuswerkzeug-Widgets
einer grafischen Benutzeroberfläche
gemeinsam mit beispielhaften Ausführungsformen verschiedener
Steuer-Widgets zeigt, die zum Auswählen verschiedener Modi und
Vorgänge
in Zusammenhang mit Autofokusvorgängen bei einem erfindungsgemäßen Trainingsmodus
verwendet werden können,
-
12 eine beispielhafte Ausführungsform einer grafischen
Benutzeroberfläche
für ein
beispielhaftes Autofokuswerkzeug veranschaulicht, das erfindungsgemäß verwendet
werden kann,
-
13 ein Kurvenschreiberausdruck ist, der eine generische
Beziehung zwischen der Größe eines interessierenden
Bereichs und der Fokusbilderfassungsrate bei verschiedenen beispielhaften
erfindungsgemäßen Ausführungsformen
veranschaulicht,
-
14 ein Kurvenschreiberausdruck ist, der beispielhafte
generische Beziehungen zwischen Fokusbilderfassungsrate und Autofokus-Scanbewegungsgeschwindigkeit
für einen
Modus mit niedrigerer Präzision und
einen Modus mit höherer
Präzision
bei verschiedenen beispielhaften Ausführungsformen der Erfindung veranschaulicht,
-
15 ein Kurvenschreiberausdruck ist, der Bewegungsmerkmale
in Zusammenhang mit einer relativ langsamen Autofokusbilderfassungsrate
und einer relativ schnelleren Autofokusbilderfassungsrate bei verschiedenen
beispielhaften erfindungsgemäßen Ausführungsformen
vergleicht,
-
16 ein Kurvenschreiberausdruck ist, der beispielhafte
generische Beziehungen zwischen einer Lichteinstellung (Leistungseinstellung)
während
einer zufrieden stellenden fortgesetzten Beleuchtung sowie entsprechende
Strobeimpulsdauern für
eine Vielzahl von Strobeimpuls-Lichtleistungsniveaus gemäß dieser Erfindung
veranschaulicht, und
-
17 und 18 Flussdiagramme
sind, die eine beispielhafte Ausführungsform eines Verfahrens zum
automatischen Fokussieren einer Bilderfassungsvorrichtung gemäß dieser
Erfindung umreißen.
-
1 ist
ein Blockschaltbild einer beispielhaften Ausführungsform eines programmierbaren
beispielhaften Allzweck-Maschinenvisionsinspektionssystems 10 gemäß dieser
Erfindung. Das Maschinenvisionsinspektionssystem 10 umfasst
eine Visionsmessmaschine 200, die betrieblich zum Austauschen
von Daten und Steuersignalen mit einem Steuersystem 100 verbunden
ist. Das Steuersystem 100 ist ferner betreibbar zum Austauschen
von Daten und Steuersignalen mit einem oder mehreren der Folgenden
verbunden: einem Monitor 111, einem Drucker 112,
einem Joystick 113, einer Tastatur 114 und/oder
einer Maus 115. Die Visionsmessmaschine 200 weist
einen beweglichen Werkstücktisch 210 und
ein optisches Abbildungssystem 205 auf, das eine Zoomlinse
oder eine Anzahl austauschbarer Objektive aufweisen kann. Die Zoomlinse
oder austauschbaren Objektive stellen im Allgemeinen verschiedene
Vergrößerungen
für die
Bilder, die von dem optischen Abbildungssystem 205 geliefert
werden, bereit.
-
Der
Joystick 113 kann typischerweise verwendet werden, um die
Bewegung des beweglichen Werkstücktischs 210 sowohl
in die X- als auch in die Y-Richtung zu steuern, im Allgemeinen
parallel zu den Brennebenen des optischen Abbildungssystems 205,
und der Bewegungsrichtungskomponente des beweglichen optischen Abbildungssystems 205 in
die Z- oder Fokusrichtung. Häufig
ist die Ablenkung, die die Z-Achse steuert, ein Drehablenkungsbauteil
eines Griffs oder Knopfs des Joysticks 113. Der Joystick 113 kann
in einer anderen Form als der gezeigten bereitgestellt werden, wie
zum Beispiel als jede beliebige visuelle Darstellung oder ein Widget
auf dem Bildschirm 111, das dazu bestimmt ist, als eine „virtuelle
Bewegungssteuervorrichtung" des
Maschinenvisionsinspektionssystems 10 zu funktionieren
und das über
eine beliebige Computereingabevorrichtung gesteuert werden kann,
wie zum Beispiel über
die Maus 115 oder dergleichen.
-
2 zeigt
ausführlicher
eine beispielhafte Ausführungsform
des Maschinenvisionsinspektionssystems 10, der Visionsmessmaschine
oder des Visionsbauteileabschnitts 200 und des Steuersystems
oder Steuersystemabschnitts 100 der 1. Wie
in 2 gezeigt, steuert der Steuersystemabschnitt 100 den
Visionsbauteileabschnitt 200. Der Visionsbauteileabschnitt 200 weist
einen Optikeinheitsabschnitt 250, Lichtquellen 220, 230 und 240 und
den Werkstücktisch 210 mit
einem zentralen durchsichtigen Abschnitt 212 auf. Der Werkstücktisch 210 kann
gesteuert entlang der X- und Y-Achse bewegt werden, die in einer
Ebene liegen, die im Allgemeinen zu der Oberfläche des Tischs, auf der ein
Werkstück 20 positioniert
werden kann, parallel ist. Der Optikeinheitabschnitt 250 weist
ein Kamerasystem 260, ein austauschbares Objektiv 252,
eine Turmobjektiveinheit 280 und die koaxiale Lichtquelle 230 auf.
Der Optikeinheitabschnitt 250 kann gesteuert entlang einer
Z-Achse bewegt werden, die im Allgemeinen im rechten Winkel zu der
X- und Y-Achse steht, indem ein steuerbarer Motor 294 verwendet
wird. Jede der X-, Y- und Z-Achsen des Maschinenvisionsinspektionssystems 10 ist
jeweils mit X-, Y- und Z-Achsenpositionscodierern (nicht gezeigt)
versehen, die X-, Y- und Z-Positionsinformationen zu dem Steuersystemabschnitt 100 über entsprechende
Signal- und/oder Steuerleitungen (nicht gezeigt) liefern.
-
Das
Werkstück 20,
das unter Einsatz des Maschinenvisionsinspektionssystems 10 abzubilden
ist, wird auf den Werkstücktisch 210 gelegt.
Eine oder mehrere der Lichtquellen 220, 230 oder 240 senden
Quellenlicht 222, 232 bzw. 242, das verwendet
werden kann, um das Werkstück 20 zu
beleuchten, Licht, das von den Lichtquellen 220, 230 und/oder 240 gesendet
wird, beleuchtet das Werkstück 20 und
wird als Werkstücklicht 255 reflektiert
oder übertragen,
das durch das austauschbare Objektiv 252 und durch ein
Objektiv 282 oder 288 der Turmobjektiveinheit 280 durchgeht
und von dem Kamerasystem 260 gesammelt wird. Das Bild des
Werkstücks 20,
das von dem Kamerasystem 260 erfasst wird, wird über eine
Signal- und Steuerleitung 262 zu dem Steuersystemabschnitt 100 ausgegeben.
Bei verschiedenen beispielhaften Ausführungsformen gemäß dieser Erfindung
kann das Kamerasystem 260 betrieben werden, um einen reduzierten
Auslesepixelsatz auszugeben, der kleiner ist als das vollständige Gesichtsfeld
der Kamera und dies in einer Zeit, die kürzer ist, als eine Zeit, die
erforderlich ist, um einen vollständigen Pixelsatz auszugeben,
der dem vollständigen
Gesichtsfeld entspricht. Bei verschiedenen beispielhaften Ausführungsformen
dient das dem Zweck des Verringerns der Gesamtzeit der erfindungsgemäßen Autofokusvorgänge.
-
Die
Lichtquellen 220, 230 und 240, die verwendet
werden, um das Werkstück 20 zu
beleuchten, können
das Tischlicht 220, das Koaxiallicht 230 und das
Oberflächenlicht 240 enthalten,
wie zum Beispiel ein Ringlicht oder programmierbares Ringlicht,
das mit dem Steuersystemabschnitt 100 über Signalleitungen oder Busse 221, 231 bzw. 241 verbunden
ist. Bei verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren können
eine oder mehrere der Lichtquellen 220-240 in
einem Strobeimpuls-Beleuchtungsmodus verwendet werden. Bei solchen
beispielhaften Ausführungsformen
ist es erstrebenswert, Lichtquellen bereitzustellen, die betrieben
werden können,
um eine Kombination einer sehr schnellen Lichtquellenantwortzeit
(im Mikrosekundenbereich oder darunter) und geeignete optische Leistungsniveaus bereitzustellen.
Bei verschiedenen beispielhaften Ausführungsformen weisen die eine
oder mehreren Lichtquellen, die für das Stroben verwendet werden,
daher eine hoch intensive LED, wie zum Beispiel eine der LEDs der
Produktlinie LuxeonTM, die von Lumileds
Lighting, LLC, San Jose, Kalifornien erhältlich ist, auf. Bei verschiedenen
beispielhaften Ausführungsformen
enthalten die eine oder mehreren Lichtquellen, die für das Stroben
verwendet werden, eine blaue LED mit einer Wellenlänge von
etwa 470 nm. Jede Wellenlänge
innerhalb des Erfassungsbereichs der Kamera wird jedoch bei verschiedenen
beispielhaften Ausführungsformen verwendet.
Im Allgemeinen kann jede der zuvor beschriebenen Lichtquellen 220-240 durch
den Gebrauch einer LED bei verschiedenen beispielhaften Ausführungsformen
umgesetzt werden. Bei verschiedenen beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren können
eine oder mehrere der Lichtquellen 220-240 sowohl
in fortgesetztem Beleuchtungsmodus als auch in einem Strobeimpuls-Beleuchtungsmodus
verwendet werden.
-
Als
eine Hauptoptikeinheit des Maschinenvisionsinspektionssystems 10 kann
der Optikeinheitabschnitt 250 zusätzlich zu den zuvor besprochenen
Bauteilen weitere Objektive und andere optische Elemente enthalten,
wie zum Beispiel Blenden, Strahlenteiler, usw., wie sie für das Bereitstellen
koaxialer Beleuchtung erforderlich sind, oder andere erstrebenswerte
Maschinenvisionsinspektionssystemmerkmale. Der Steuersystemabschnitt 100 dreht
die Turmobjektiveinheit 280 entlang der Achse 284 zwischen
mindestens der ersten und der zweiten Turmobjektivposition, um verschiedene
Vergrößerungen
auf der Grundlage von Steuersignalen bereitzustellen, die über eine
Signalleitung oder einen Bus 281 übertragen werden.
-
Die
Entfernung zwischen dem Werkstücktisch 210 und
dem Optikeinheitabschnitt 250 kann eingestellt werden,
um den Fokus des Bilds des Werkstücks 20, das von dem
Kamerasystem 260 aufgenommen wird, zu ändern. Insbesondere kann bei
verschiedenen beispielhaften Ausführungsformen des Maschinenvisionsinspektions systems 10 der
Optikeinheitabschnitt 250 in der senkrechten Z-Achsenrichtung
zu dem Werkstücktisch 210 anhand
des steuerbaren Motors 294 bewegt werden, der ein Stellglied,
ein Verbindungskabel oder dergleichen antreibt, um den Optikeinheitabschnitt 250 entlang
der Z-Achse zu bewegen. Der Begriff Z-Achse, wie er hier verwendet
wird, bezieht sich auf die Achse, die dazu bestimmt ist, zum Fokussieren
des Bilds verwendet zu werden, das von dem Optikeinheitabschnitt 250 erzielt
wird. Der steuerbare Motor 294 ist beim Gebrauch mit dem
Steuersystemabschnitt 100 über eine Signalleitung 296 verbunden.
-
Wie
in 2 gezeigt, weist der Steuersystemabschnitt 100 bei
verschiedenen beispielhaften Ausführungsformen einen Controller 120,
eine Eingangs-/Ausgangsschnittstelle 110, einen Speicher 130,
eine Abbildungssteuerschnittstelle 140, ein Bewegungssteueruntersystem 145,
einen Beleuchtungssystemtreiber-/-controller 150, eine
Schaltung, ein Hilfsprogramm oder eine Anwendung 155, die
ein Werkstückteilprogramm
erzeugt, eine Schaltung, ein Hilfsprogramm oder eine Anwendung 165,
die ein Teilprogramm ausführt,
eine Schaltung, ein Hilfsprogramm oder eine Anwendung 170,
die den Autofokusbetrieb, steuert, und eine Schaltung, ein Hilfsprogramm
oder eine Anwendung 175 zum Bestimmen und Vergleichen eines
Fokuswerts eines interessierenden Bereichs auf, die durch einen
oder mehrere Daten- und/oder
Steuerbusse und/oder Anwendungsprogrammierschnittstellen 195 untereinander
verbunden sind. Es ist klar, dass solche Schaltungen, Hilfsprogramme
oder Anwendungen verdrahtete Leiterplatten, Softwareschaltungen,
Unterprogramme, Objekte, Operationen, Anwendungsprogrammierschnittstellen,
Manager, Anwendungen oder jede andere bekannte oder später entwickelte
Hardware- oder Softwarestruktur umfassen.
-
Bei
verschiedenen beispielhaften Ausführungsformen speichert der
Speicherabschnitt 130 Daten und/oder „Werkzeuge", die verwendet werden können, um
den Visionssystembauteileabschnitt 200 zu betreiben, um
ein Bild des Werkstücks 20 aufzunehmen
oder zu erfassen, so dass das erfasste Bild des Werkstücks 20 erstrebenswerte
Bildcharakteristiken hat. Der Speicherabschnitt 130 kann
ferner Daten und/oder Videowerkzeuge speichern, die verwendet werden
können,
um das Maschinenvisionsinspektionssystem 100 zu betreiben,
so dass es unterschiedliche Inspektions- und Messvorgänge an den
erfassten Bildern ausführt,
und zwar entweder manuell oder automatisch, und dass es die Ergebnisse über die
Eingangs-/Ausgangsschnittstelle 130 über Daten- und/oder Steuerbusse
und/oder die Anwendungsprogrammierschnittstellen 195 ausgibt.
Der Speicherabschnitt 130 kann auch Daten enthalten, die
eine grafische Benutzeroberfläche
definieren, die über
die Eingangs-/Ausgangsschnittstelle 110 über Daten- und/oder Steuerbusse
und/oder Anwendungsprogrammierschnittstellen 195 betrieben
werden kann. Eine solche Ausführungsform
ist zum Beispiel die zuvor genannte Baureihe von Visionsinspektionsmaschinen
QUICK VISIONTM und zum Beispiel die Software
QVPAKTM.
-
Die
Signalleitungen oder Busse 221, 231 und 241 des
Tischlichts 220, des Koaxiallichts 230 bzw. des Oberflächenlichts 240 sind
jeweils mit der Eingangs-/Ausgangsschnittstelle 110 verbunden.
Eine Steuersignalleitung oder ein Bus 281 der Turmobjektiveinheit 280 ist
ebenfalls mit der Eingangs-/Ausgangsschnittstelle 110 verbunden.
Jeweilige Signal- und/oder Steuerleitungen (nicht gezeigt) der jeweiligen
X-, Y- und Z-Achsen-Positionscodierer
(nicht gezeigt) sind ebenfalls mit der Eingangs-/Ausgangsschnittstelle 110 verbunden.
Die Signal- und Steuerleitung 262 von dem Kamerasystem 260 und
die Signalleitung 296 von dem steuerbaren Motor 294 sind
ebenfalls mit der Eingangs-/Ausgangsschnittstelle 110 verbunden.
Zusätzlich
zum Tragen von Bilddaten, kann die Signal- und Steuerleitung 262 unterschiedliche
Signale von dem Controller 120 befördern, die bei verschiedenen
beispielhaften erfindungsgemäßen Ausführungsformen
einen Bilderfassungspixelbereich für die Kamera einstellen, eine
Bilderfassungs-Kamerabetriebssequenz
oder dergleichen auslösen.
-
Eine
oder mehrere Display-Vorrichtungen 102, wie zum Beispiel
der Bildschirm 111 und der Drucker 112 sowie eine
oder mehrere Eingabevorrichtungen 104, wie zum Beispiel
die Vorrichtungen 113-115 können ebenfalls mit der Eingangs-/Ausgangsschnittstelle 110 verbunden
sein. Die Display-Vorrichtungen 102 und Eingabevorrichtungen 104 können verwendet
werden, um Teilprogramme anzuzeigen, zu schaffen und/oder zu ändern, um
die Bilder anzuzeigen, die von dem Kamerasystem 260 aufgenommen
werden, um verschiedene GUI-Elemente und Widgets, die zum Überwachen
und Steuern des Visionssystembauteileabschnitts 200 verwendet
werden, anzuzeigen und/oder zu ändern
und/oder direkt den Visionssystembauteileabschnitt 200 zu
steuern. Bei einem vollautomatisierten System mit einem vorbestimmten
Werkstückprogramm
können
die Anzeigevorrichtungen 102 und/oder eine oder mehrere
der Eingabevorrichtungen 104 weggelassen werden.
-
Der
Steuersystemabschnitt 100 kann verwendet werden, um Bilderfassungseinstellungen
oder -parameter zu bestimmen und/oder um ein Bild des Werkstücks 20 zu
erfassen, so dass das Eingabebild des Werkstücks 20 erstrebenswerte
Bildcharakteristiken in einem interessierenden Bereich hat, der
ein Werkstückmerkmal,
das zu inspizieren ist, enthält.
Zum Beispiel können
unterschiedliche beispielhafte Ausführungsformen der Autofokussysteme
und -verfahren gemäß dieser
Erfindung gemeinsam mit dem Steuersystemabschnitt 100 verwendet
werden, um erstrebenswerte Bildcharakteristiken zu erstellen, die
von der Fokusqualität
in dem interessierenden Bereich abhängen, der das zu inspizierende
Werkstückmerkmal
enthält.
Bei verschiedenen beispielhaften Ausführungsformen und wenn ein Benutzer
das Maschinenvisionsinspektionssystem 10 verwendet, um
ein Werkstückbilderfassungsprogramm
für das
Werkstück 20 gemäß dieser
Erfindung zu schaffen, erzeugt der Benutzer Werkstückprogrammanweisungen
entweder, indem er die Anweisungen explizit automatisch, halbautomatisch
oder manuell codiert, indem er eine Werkstückprogrammiersprache verwendet,
oder indem er die Anweisungen erzeugt, indem er das Maschinenvisionsinspektionssystem 100 durch
eine Bilderfassungstrainingsequenz führt, so dass die Werkstückprogrammanweisungen
Vorgänge
und Einstellungen erfassen, die gemäß der Trainingsequenz definiert
sind.
-
Diese
Werkstückabbildungsanweisungen
werden von der Schaltung, dem Hilfsprogramm oder der Anwendung 155 zum
Erzeugen der Werkstückteilprogrammierung
codiert und zu anderen Bauteilen über Daten- und/oder Steuerbusse
und/oder Anwendungsprogrammierschnittstellen 195 übertragen.
Die physikalischen Bewegungen werden von dem Bewegungssteueruntersystem 145 gesteuert.
Um die Steuerung der physikalischen Bewegungen zum Beispiel des
Kamerasystems 260 zu verwirklichen, empfängt das
Bewegungssteueruntersystem 145 Positionsinformationen von
den Positionscodierern der X-, Y- und Z-Achse und überträgt Positionsveränderungssteuersignale über Daten-
und/oder Steuerbusse und/oder Anwendungsprogrammierschnittstellen 195.
Im Allgemeinen veranlassen diese Anweisungen das Maschinenvisionsinspektionssystem 10,
den Werkstücktisch 210 und/oder
das Kamerasystem 260 zu handhaben, so dass ein bestimmter
Abschnitt des Werkstücks 20 innerhalb
des Gesichtsfelds des Kamerasystems 260 liegt und eine
erstrebenswerte Vergrößerung,
einen erstrebenswerten Fokuszustand und eine erstrebenswerte Beleuchtung
bereitstellt. Diese Aktionen werden von der Schaltung, dem Hilfsprogramm
oder der Anwendung 165 zum Ausführen des Teilprogramms, über Daten-
und/oder Steuerbusse und/oder die Anwendungsprogrammierschnittstellen 195 ausgeführt. Dieser
Prozess kann für
mehrere Bilder in einem Bildersatz, die zum Inspizieren eines Werkstücks zu erfassen
sind, wiederholt werden.
-
Bei
verschiedenen beispielhaften Ausführungsformen steuert dann der
Steuersystemabschnitt 100 für jedes Autofokusbild gemäß dieser
Erfindung, das hier alternativ Fokusbild genannt wird, und für das daraus hervorgehende
erstrebenswerte Inspektionsbild das Kamerasystem 260, so
dass es ein Bild des Werkstücks 20 erfasst
und mindestens einen Bildabschnitt, der einem interessierenden Bereich
des Werkstücks 20 in
dem erfassten Bild entspricht, zu dem Steuersystemabschnitt 100 ausgibt.
Diese Funktionen werden von der Abbildungssteuerschnittstelle 140 unter
Einsatz von Signalen gesteuert, die zwischen den verschiedenen Bauteilen über Daten-
und/oder Steuerbusse und/oder Anwendungsprogrammierschnittstellen 195 laufen.
Insbesondere liest bei verschiedenen beispielhaften Ausführungsformen
das Kamerasystem 260 die Ausgangspixelwerte mindestens
eines Bildabschnitts, der einem Abschnitt des interessierenden Bereichs
entspricht, durch die Eingangs-/Ausgangsschnittstelle 110 heraus,
und diese werden in digitale Werte umgewandelt, wenn sie nicht bereits
diese Form haben, und in dem Speicher 130 unter der Steuerung
des Controllers 120 gespeichert. Bei verschiedenen beispielhaften
Ausführungsformen
ist der Abschnitt des interessierenden Bereichs, der dem Bildabschnitt
entspricht, ein wesentlicher Abschnitt des interessierenden Bereichs.
Bei verschiedenen beispielhaften Ausführungsformen veranlasst der
Controller 120, dass das erfasste Bild auf einer der Anzeigevorrichtungen 102 angezeigt
wird.
-
Insbesondere
wird bei verschiedenen beispielhaften Ausführungsformen ein Kamerasystem 260 verwendet,
das betrieben werden kann, um zumindest eine Konfiguration eines
reduzierten Auslesepixelsatzes auszugeben, der kleiner ist als das
vollständige
Gesichtsfeld des Kamerasystems 260. Bei verschiedenen beispielhaften
Ausführungsformen
erfolgt dies, um eine wiederholte Bilderfassungs- und Ausgangsrate
bereitzustellen, die signifikant schneller ist als eine wiederholte
Standardbilderfassungsrate in Zusammenhang mit einem oder mehreren
Feldern, die dem vollständigen
Gesichtsfeld des Kamerasystems 260 entsprechen. Bei verschiedenen
beispielhaften Ausführungsformen
ist das Kamerasystem 260 ein digitales Kamerasystem, das digitale
Pixelwerte ausgibt. Bei verschiedenen beispielhaften Ausführungsformen
dieses Typs wird das Kamerasystem 260 anhand einer Redlake
MEGAPLUS-Kamera, Modell ES 310/T umgesetzt, die im Handel von Redlake,
11633 Sorrento Valley Road, San Diego, CA 92121-1010, USA, erhältlich ist,
oder einer CCD-Kamera, die ähnliche
und/oder ausreichende Fähigkeiten
gemäß dieser
Erfindung hat. Ferner wird bei verschiedenen beispielhaften Ausführungsformen
dieses Typs ein Framegrabber, der in der Abbildungssteuerschnittstelle 140 enthalten
ist, unter Gebrauch eines Matrox Meteor-II/Digital-Framegrabbers implementiert,
der im Handel von Matrox Electronic Systems Ltd., Quebec, Kanada
erhältlich
ist, oder einer Framegrabber-Karte, die ähnliche und/oder ausreichende
Fähigkeiten
gemäß dieser
Erfindung hat.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen gibt das Kamerasystem 260 die
Pixelwerte als analoge Signale aus, und die Signale werden in die
Abbildungsteuerschnittstelle 140 eingegeben, die einen
Framegrabber oder dergleichen aufweist, der die analogen Pixelwerte
in digitale Pixelwerte umwandeln kann. Bei verschiedenen beispielhaften
Ausführungsformen
dieses Typs wird das Kamerasystem 260 unter Gebrauch einer
Kamera des Typs Pulnix TM-6705AN umgesetzt, die im Handel von JAI
Pulnix, Inc., 1330 Orleans Dr., Sunnyvale, CA 94089 USA erhältlich ist,
oder einer CCD-Kamera mit ähnlichen
und/oder ausreichenden Fähigkeiten
gemäß dieser
Erfindung. Bei verschiedenen beispielhaften Ausführungsformen werden solche
Bauteile kombiniert mit verschiedenen anderen Bauteilen verwendet,
die hier offenbart werden, darunter der Strobeimpuls-Lichtcontroller,
der unter Bezugnahme auf 5 beschrieben
ist, um erfindungsgemäße Autofokussysteme
und -verfahren mit hoher Geschwindigkeit und Präzision bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen kann der Steuersystemabschnitt 100 ferner
verwendet werden, um automatisch Werkstückmerkmale in solchen Werkstückinspektionsbildern
zu inspizieren und die Inspektionsergebnisse zu speichern und/oder
auszugeben. Bei verschiedenen beispielhaften Ausführungsformen
werden die Werkstückinspektionsanweisungen
von der Schaltung, dem Hilfsprogramm oder der Anwendung 155 zum
Erzeugen von Werkstückteilprogrammierung
codiert und zu anderen Bauteilen nach Bedarf über Daten- und/oder Steuerbusse
und/oder Anwendungsprogrammierschnittstellen 195 übertragen.
-
Bei
verschiedenen beispielhaften Ausführungsformen und wenn ein Benutzer
das Maschinenvisionsinspektionssystem 10 verwendet, um
zumindest einen Abschnitt eines Werkstück-Bildinspektionsprogramms für das Werkstück 20 gemäß dieser
Erfindung zu schaffen, erzeugt der Benutzer Werkstückprogrammanweisungen
entweder durch explizites automatisches, halbautomatisches oder
manuelles Codieren der Anweisungen unter Einsatz einer Werkstückprogrammiersprache
oder durch Erzeugen der Anweisungen, indem er das Maschinenvisionsinspektionssystem 10 durch
eine Bildinspektions-Trainingssequenz bewegt und/oder steuert, so
dass die Schaltung, das Hilfsprogramm oder die Anwendung 155 zum
Erzeugen des Werkstückteilprogramms
Werkstückprogrammanweisungen
erzeugt, die Vorgänge
und Einstellungen aufnehmen, die gemäß der Trainingssequenz bestimmt
sind. Bei verschiedenen beispielhaften erfindungsgemäßen Ausführungsformen
werden bestimmte Autofokusoperationen und -einstellungen durch eine
Schaltung, ein Hilfsprogramm oder eine Anwendung 170 zum
Bestimmen von Autofokusvorgängen
bestimmt und in die erzeugten Werkstückprogrammanweisungen eingegliedert.
Bei verschiedenen beispielhaften Ausführungsformen fällt der
Betrieb der Schaltung, des Hilfsprogramms oder der Anwendung 170 zum
Bestimmen des Autofokusvorgangs zusammen mit dem Betrieb der Schaltung,
des Hilfsprogramms oder der Anwendung 155 zum Erzeugen
des Werkstückteilprogramms
und/oder kann nicht von diesem unterschieden werden. Bei verschiedenen
beispielhaften Ausführungsformen
veranlassen diese Inspektionsanweisungen, wenn sie von der Schaltung,
dem Hilfsprogramm oder der Anwendung 165 zum Ausführen des
Teilprogramms ausgeführt
werden, das Maschinenvisionsinspektionssystem 10 dazu,
automatisch verschiedene Inspektionsvorgänge an dem Bild durchzuführen.
-
Bei
verschiedenen beispielhaften Ausführungsformen werden ein oder
mehrere der oben beschriebenen verschiedenen Vorgänge für mehrere
Bilder in einem Satz von Bildern, der zum Inspizieren eines Werkstücks 20 verwendet
wird, wiederholt. Bei verschiedenen beispielhaften Ausführungsformen
werden verschiedene bekannte oder später entwickelte Visionssystem„Werkzeuge" in dem Speicherabschnitt 130 wie
zuvor beschrieben gespeichert. Bei verschiedenen beispielhaften
Ausführungsformen
werden diese Werkzeuge beim Durchführen eines oder mehrerer der
verschiedenen oben genannten manuellen oder Trainingssequenzvorgänge verwendet.
Einige Beispiele von Videowerkzeugen, die für verschiedene Werkstücksabbildungs- und/oder
Inspektionsvorgänge
verwendet werden können,
sind in den US Patentanmeldungen Nr. 09/736 187, 09/921 886 und
in dem US Patent 6 542 18 offenbart, die alle hier unter Bezugnahme
zur Gänze
eingegliedert werden.
-
Zusätzliche
beispielhafte bekannte Werkzeuge und Verfahren, die zum Bestimmen
von Autofokuseinstellungen und zum Ausführen von Autofokusvorgängen zum
Erzielen eines erstrebenswerten Fokuszustands für ein Inspektionsbild verwendet
werden können,
sind in handelsüblichen
Maschinenvisionsinspektionssystemen offensichtlich, wie zum Beispiel
in der Baureihe von Visionsinspektionsmaschinen QUICK VISIONTM, der dazugehörenden Software QVPAKTM und der entsprechenden eingegliederten
Dokumentation wie oben besprochen. Zu solchen Werkzeugen gehören verschiedene
beispielhafte grafische Anzeige-Widgets für interessierende Bereiche,
Benutzeroberflächen
und Trainingsmodusmenüelemente
und -verhaltensweisen, die bei verschiedenen beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren verwendet werden können.
Derartige grafische Anzeige-Widgets für interessierende Bereiche,
Benutzeroberflächen
und Trainingsmodusmenüelemente
und -verhaltensweisen werden hier unter Bezugnahme eingegliedert.
-
Wie
oben erwähnt,
empfängt
das Bewegungssteueruntersystem 145 bei verschiedenen beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren zum Steuern der physikalischen Bewegungen des Maschinenvisionsinspektionssystems 10 Positionsinformationen
von den Positionscodierern der X-, Y- und Z-Achse und überträgt Positionsänderungssteuersignale über Daten-
und/oder Steuerbusse und/oder Anwendungsprogrammierschnittstellen 195.
Bei verschiedenen beispielhaften erfindungsgemäßen Ausführungsformen werden die X-,
Y- und Z-Achsen-Positionswerte
in dem Bewegungssteueruntersystem 145 des Steuersystemabschnitts 100 mitverfolgt,
und das Bewegungssteueruntersystem 145 kann betrieben werden,
um die Positionswerte als Reaktion auf ein Steuersignal, das von
einem anderen Abschnitt des Steuersystemabschnitts 100 bereitgestellt
wird, zu latchen.
-
Bei
verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung, wird ein solches Latchsteuersignal an das Betriebssteueruntersystem 145 in
Zusammenhang mit der effektiven Belichtungszeit eines entsprechenden
Autofokusbilds bereitgestellt. Bei verschiedenen beispielhaften
Ausführungsformen wird
mindestens der entsprechende Z-Achsenwert dann gelatcht und von
dem Steuersystemabschnitt 100 in Zusammenhang mit diesem
Autofokusbild für
darauf folgenden Gebrauch beim Bestimmen einer geschätzten besten
Fokusposition gemäß dieser
Erfindung gespeichert.
-
Bei
verschiedenen beispielhaften Ausführungsformen werden einer oder
mehrere der oben beschriebenen Vorgänge von einem Bewegungssteueruntersystem 145 ausgeführt, das
eine Bewegungssteuerkarte Galil #DMC-1730 aufweist, die im Handel von Galil
Motion Control Inc., Rocklin, CA, erhältlich ist, oder von einer
Bewegungssteuerkarte mit ähnlichen
und/oder ausreichenden Fähigkeiten
gemäß dieser
Erfindung. Bei verschiedenen beispielhaften Ausführungsformen werden solche
Bauteile kombiniert mit einem oder mehreren hier offenbarten Bauteilen
verwendet, darunter der Strobeimpuls-Lichtcontroller, der unter
Bezugnahme auf 5 beschrieben ist, um erfindungsgemäße Autofokussysteme
und Verfahren mit hoher Geschwindigkeit und hoher Präzision bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren steuert und treibt der Beleuchtungssystemtreiber/-controller 150 das
Beleuchten des Maschinenvisionsinspektionssystems 10. Bei
verschiedenen beispielhaften Ausführungsformen wird das Beleuchtungssystem
betrieben, um relativ ununterbrochene Beleuchtung bereitzustellen.
Relativ ununterbrochene Beleuchtung ist insbesondere für manuelle
Vorgänge
und Trainingsmodusvorgänge
des Maschinenvisionsinspektionssystems 10 geeignet. Bei
verschiedenen weiteren beispielhaften Ausführungsformen wird das Beleuchtungssystem
betrieben, so dass es eine Strobeimpuls-Beleuchtungsfähigkeit
bereitstellt. Bei verschiedenen weiteren beispielhaften Ausführungsformen
wird das Beleuchtungssystem betrieben, um sowohl ununterbrochene
Beleuchtung als auch Strobeimpulsfähigkeit durch die gleichen
Lichtquellen bereitzustellen. Bei verschiedenen beispielhaften Ausführungsformen
steuert und treibt der Beleuchtungssystemtreiber/-controller 150 die
Beleuchtung. Bei verschiedenen beispielhaften Ausführungsformen
gemäß dieser
Erfindung enthält
der Beleuchtungssystemtreiber/-controller 150 das Strobelichtsteuersystem 500,
das unten unter Bezugnahme auf 5 beschrieben ist.
-
Bei
verschiedenen beispielhaften Ausführungsformen tauscht die Schaltung,
das Hilfsprogramm oder die Anwendung 170 zum Bestimmen
des Autofokusvorgangs Daten- und/oder Steuersignale mit einem oder mehreren
Elementen des Steuersystemabschnitts 100 aus. Bei verschiedenen
beispielhaften Ausführungsformen
erfolgt das, um eine erstrebenswerte Kombination von Autofokus-Bilderfassungsvorgängen und/oder -einstellungen
zu bestimmen, die einer erstrebenswerten Kombination von Autofokusgeschwindigkeit
und -präzision
zum Bestimmen einer geschätzten
besten Fokusposition für
einen interessierenden Bereich eines Werkstücks in annähernd der kürzesten praktischen Zeit, die
die erstrebenswerte Präzision
für die
geschätzte beste
Fokusposition bereitstellen kann, entspricht.
-
Bei
verschiedenen beispielhaften Ausführungsformen bestimmen zum
Beispiel die erfindungsgemäßen Systeme
und Verfahren kompatible und/oder zusammenhängende Vorgänge und Einstellungen in Zusammenhang
mit drei Autofokusparametern oder -merkmalen, die steuern wie schnell
ein erfindungsgemäßer Autofokusvorgang
ausgeführt
wird. Bei verschiedenen beispielhaften Ausführungsformen sind diese Autofokusparameter
die Größe eines
interessierenden Bereichs des Autofokusvorgangs, die Rate, mit welcher
die Autofokusbilder erfasst werden, und die Geschwindigkeit, mit
welcher die Kamera entlang der Z-Achsenrichtung
scannt, während
sie Autofokusbilder erfasst.
-
Bei
verschiedenen beispielhaften Ausführungsformen beruhen die Lage
und die Größe des interessierenden
Bereichs insbesondere auf einer spezifischen Bedienereingabe, die
zum Beispiel der Lage und der Größe eines
GUI-Autofokuswerkzeug-Widgets des anzeigenden Abschnitts des interessierenden
Bereichs entspricht, das von einem Bediener lokalisiert und bemessen
wird. Bestimmte beispielhafte GUI-Autofokuswerkzeuge und Autofokuswerkzeug-GUI-Widgets
und interessierende Bereiche werden unten unter Bezugnahme auf die 8-11 besprochen.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen
ein erfindungsgemäßes Autofokuswerkzeug
zusätzlich
zu verschiedenen GUI-Elementen und -Widgets in Zusammenhang mit
dem Werkzeug grundlegende Menüs,
Verfahren, Vorgänge
und Einstellungen aufweist, die auf die Benutzereingabe reagieren
und/oder automatisch verschiedene Vorgänge und/oder Einstellungen
bestimmen und bereitstellen, die das Definieren und Ausführen der
verschiedenen Autofokusvorgänge
für einen
Benutzer des Maschinenvisionsinspektionssystems vereinfachen. Bei
verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung wird somit der Abschnitt des benutzerdefinierten interessierenden
Bereichs, der tatsächlich verwendet
wird, um die entsprechende geschätzte
beste Fokusposition zu bestimmen, halbautomatisch oder automatisch
von verschiedenen Vorgängen
in Zusammenhang mit dem Autofokuswerkzeug justiert und/oder minimiert.
Bei verschiedenen beispielhaften Ausführungsformen wird z.B. der
Abschnitt des benutzerdefinierten interessierenden Bereichs, der
tatsächlich
für Autofokusvorgänge verwendet
wird, so bestimmt, dass er sowohl einen betreibbaren reduzierten
Auslesepixelsatz der Kamera überlappt,
der eine hohe Autofokusbilderfassungsrate erlaubt, als auch eine
ausreichende Anzahl von Pixeln bereitstellt, um die entsprechende
geschätzte
beste Fokusposition mit einem erstrebenswerten Präzisionsniveau
zu bestimmen, das von einer Bedienereingabe oder einem Standardpräzisionsniveau
bestimmt wird. Solche Vorgänge
werden unten ausführlicher
beschrieben.
-
Bei
bestimmten beispielhaften Ausführungsformen
weist der Steuersystemabschnitt 100 jeweilige Fehlerwerte
für die
Größe des interessierenden
Bereichs oder den Abschnitt des interessierenden Bereichs auf, der
tatsächlich
für Autofokusvorgänge gemäß den jeweiligen
erstrebenswerten Präzisionsniveaus,
die von einem Bediener spezifiziert werden, verwendet werden. Bei
verschiedenen beispielhaften Ausführungsformen werden die Standardwerte
empirisch auf der Grundlage von Erfahrung mit einer Vielzahl von
Werkstücken oder
analytisch erstellt. Bei verschiedenen beispielhaften Ausführungsformen
wendet die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs dann die Standardwerte beim Definieren
von Vorgängen
und Einstellungen in Zusammenhang mit einem interessierenden Autofokusbereich
an, der von einem Bediener bestimmt wird. Bei verschiedenen beispielhaften
Ausführungsformen
wird zum Beispiel der Abschnitt des GUI-Autofokuswerkzeug-Widgets, der den interessierenden
Bereich angibt, von einem Bediener lokalisiert und nominal bemessen,
und der Bediener wählt
einen erstrebenswerten Präzisionsmodus
aus. Dann bestimmt die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs bei verschiedenen beispielhaften
Ausführungsformen
den tatsächlich
betrieblichen Pixelsatz innerhalb des interessierenden nominalen
Autofokusbereichs, der von dem Bediener angegeben wird, auf der
Grundlage des ausgewählten
Autofokuspräzisionsmodus
und einem betrieblichen reduzierten Auslesepixelsatz der Kamera,
wie oben dargelegt.
-
Wie
zuvor erwähnt,
kann das Kamerasystem 260 bei verschiedenen beispielhaften
Ausführungsformen
zusätzlich
zum Bereitstellen eines vollständigen
Pixelsatzes, der einem vollständigen
Gesichtsfeld entspricht, betrieben werden, um innerhalb des Kamerarahmens
zumindest einen reduzierten Auslesepixelsatz auszuwählen. Bei
verschiedenen beispielhaften Ausführungsformen weist der zumindest
eine reduzierte Auslesepixelsatz ein zentrales Band von 100 Zeilen
von Pixeln, ein Band von Pixelzeilen, das eine auswählbare variable
Lage oder Erstreckung hat, eine zentral liegende Reihe von 100 × 100 nebeneinander
liegenden (i, j) Pixel, eine auswählbare Reihe von 100 × 100 nebeneinander
liegenden (i, j) Pixeln, die eine variable Lage haben, oder einen
vollauswählbaren
Satz nebeneinander liegender (i, j) Pixel oder dergleichen aus.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen,
wenn ein reduzierter Auslesepixelsatz für den Vorgang ausgewählt wird,
die Zeit zum Ausgeben des reduzierten Auslesepixelsatzes von der
Kamera kürzer
ist als die Zeit zum Ausgeben eines vollständigen Pixelsatzes der Kamera.
Die wiederholte Gesamtbilderfassungsrate des Kamerasystems 260 ist
daher im Vergleich zur wiederholten Bilderfassungsrate in Zusammenhang
mit dem vollständigen
Gesichtsfeld der Kamera schneller. Verschiedene beispielhafte Ausführungsformen,
die die Redlake-Kamera verwenden, stellen zum Beispiel eine Bildrate
von etwa 125 Bildern pro Sekunde bereit, wenn der vollständige Rahmen
von der Kamera ausgegeben wird, und eine Bildrate von etwa 350 Bildern
pro Sekunde, wenn ein reduzierter Auslesepixelsatz von 100 × 100 Pixeln von
der Kamera ausgegeben wird. Bei verschiedenen Kameras, die erfindungsgemäß verwendet
werden können,
steigt ferner die wiederholte Gesamtbilderfassungsrate des Kamerasystems 260,
wie unten unter Bezugnahme auf 13 beschrieben,
bei unveränderten
anderen Faktoren mit dem Reduzieren der Größe des reduzierten Auslesepixelsatzes
an.
-
Der
Begriff reduzierter Auslesepixelsatz wird hier verwendet, um zu
betonen, dass für
eine Vielzahl von Kameras, die für
das Kamerasystem 260 verwendet werden können, ein vollständiges Gesichtsfeld
von dem Kamerasystem 260 „parallel" aufgenommen oder erfasst wird, und
diese Bildaufnahme- oder -erfassungszeit daher nicht durch die Anzahl
der erfassten Pixelwerte beeinflussbar ist. Im Gegensatz hängt typischerweise
die Zeit in Zusammenhang mit dem Ausgeben von Pixelwerten aus dem
Kamerasystem 260, wobei Pixelwerte typischerweise seriell
zu dem Steuersystemabschnitt 100 ausgegeben werden, von
der Anzahl ausgegebener Pixelwerte ab und ist einer der größeren Zeitfaktoren,
die die wiederholte Bilderfassungsrate, die das Kamerasystem 260 liefern
kann, einschränken.
Zu bemerken ist jedoch, dass in verschiedenen beispielhaften Ausführungsformen
und weil nur der reduzierte Auslesepixelsatz tatsächlich bei
verschiedenen Autofokusvorgängen
gemäß dieser
Erfindung funktional ist, das Kamerasystem 260 optional
aber nicht zwingend betrieben wird, um andere Kameravorgänge einzuschränken, wie
zum Beispiel Bildaufnahmevorgänge
oder dergleichen, auf den reduzierten Auslesepixelsatz.
-
Bei
verschiedenen beispielhaften Ausführungsformen bestimmt die Schaltung,
das Hilfsprogramm oder die Anwendung 170 zum Bestimmen
des Autofokusvorgangs auf der Grundlage einer erstellten Größe des reduzierten Auslesepixelsatzes
(und möglicherweise
seiner Position in Bezug zu dem Kamerarahmen), und bekannter Kamerabetriebscharakteristiken
und dergleichen eine betriebliche Autofokusbilderfassungsrate, das
heißt
das betriebliche Timing zwischen dem Erfassen von Autofokusbildern.
Bei verschiedenen beispielhaften Ausführungsformen wird eine wiederholte
freilaufende maximale Standardbilderfassungsrate der Kamera basierend
auf dem erstellten reduzierten Auslesepixelsatz verwendet. Bei verschiedenen
anderen beispielhaften Ausführungsformen
bestimmt die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs eine kleinere Rate als die wiederholte
freilaufende maximale Bilderfassungsrate, und diese bestimmte Rate
wird von der Abbildungssteuerschnittstelle 140 umgesetzt.
-
Bei
verschiedenen beispielhaften Ausführungsformen und auf der Grundlage
eines erstellten betrieblichen Timings zwischen dem Erfassen von
Autofokusbildern und einer erstrebenswerten Autofokuskurven-Abtastdichte,
wie oben unter Bezugnahme auf 3 und 4 dargelegt,
bestimmt die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs eine erstrebenswerte maximale oder
praktische maximale Bewegungsgeschwindigkeit entlang der Z-Achsen-Richtung
während
des Erfassens von Autofokusbildern. Bei verschiedenen beispielhaften
Ausführungsformen
definiert die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs dann alle anderen Bewegungsvorgänge und/oder
Einstellungen, die erforderlich sind, um das Definieren einer Bewegung
zu vervollständigen,
die für
Arbeitsbetrieb-Autofokusvorgänge
verwendet wird. Ähnlich
mit dem Bestimmen des Abschnitts des interessierenden Bereichs,
der tatsächlich
für Autofokusvorgänge verwendet
wird, wird bei verschiedenen beispielhaften Ausführungsformen die erstrebenswerte
Autofokuskurven-Abtastdichte, die dem erstrebenswerten Präzisionsniveau,
das von einem Bediener spezifiziert wird, wie unten unter Bezugnahme auf 3, 4 und 14 ausführlicher
beschrieben, bestimmt.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen
die maximale praktische Z-Achsengeschwindigkeit
ferner durch die zulässige
Menge an Autofokusbild-Unschärfe/Unklarheit
aufgrund der Z-Achsenbewegung
während
der tatsächlichen
Belichtungsperiode eines Autofokusbilds weiter eingeschränkt wird.
Es ist nämlich
beim Ändern
der Brennweite während
der Belichtung nicht möglich
zu bestimmen, welche fokusspezifische Entfernung am meisten oder
alle irgendwelcher unscharfen oder verschwommenen Merkmale des erfassten
Bilds beigetragen hat. Bei verschiedenen beispielhaften Ausführungsformen
wird daher das Kamerasystem 260 oder ein Strobeimpulsbeleuchtungssystem
verwendet, um die effektive Belichtungsdauer der Autofokusbilder
ausreichend einzuschränken,
so dass die Fokuscharakteristiken des erfassten Bilds einer spezifischen
Brennweite und einem erstrebenswerten Präzisionsniveau entsprechen.
-
Bei
verschiedenen beispielhaften Ausführungsformen, die auf einer
erstellten betrieblichen maximalen Z-Achsen-Geschwindigkeit während des Erfassens von Autofokusbildern
und einem bestimmten Limit für
die Menge an Z-Achsen-Verschiebung,
die während
einer effektiven Belichtungsdauer der Autofokusbilder zulässig ist,
beruhen, wird die effektive Belichtungsdauer der Autofokusbilder
auch durch die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs bestimmt. Bei verschiedenen beispielhaften
Ausführungsformen
und wenn diese effektive Belichtungsdauer innerhalb der Belichtungssteuerfähigkeiten
des Kamerasystems 260 liegt, wird ein geeignetes ununterbrochenes
Beleuchtungsleistungsniveau während
des Autofokusbilderfassens verwendet, und das Kamerasystem 260 wird
gesteuert, um die bestimmte effektive Belichtungsdauer bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird ein typisches
Allzweck-Präzisionsmaschinenvisionsinspektionssystem
in etwa gemäß den Konzepten
dieser Erfindung, die oben dargelegt sind, mit einer Objektivkonfiguration
verwendet, die eine Feldtiefe von etwa 14 Mikrometer und eine Vergrößerung von 2,5
einer typischen bearbeiteten Metallwerkstückoberfläche, einem interessierenden
Autofokusbereich mit der Größe von 100 × 100 Pixeln,
einer betrieblichen Abbildungsrate von etwa 222 Autofokusbildern
pro Sekunde und fortgesetzter Beleuchtung betrieben und kann autofokussieren,
um eine geschätzte
beste Fokusposition in etwa 1,2 Sekunden mit einer Wiederholbarkeit
von besser als 0,2 Mikrometer oder weniger als etwa 2 % der Feldtiefe
der Objektivkonfiguration für
wiederholte Autofokusversuche liefern, wobei eine maximale Autofokusbildbeabstandung
von etwa 5-6 % der Feldtiefe der Objektivkonfiguration verwendet
wird. Bei verschiedenen beispielhaften Ausführungsformen, wenn ein maximaler
Autofokusbildabstand von etwa 100 % der Feldtiefe der Objektivkonfiguration
verwendet wird, was weniger Autofokusbilderfassungen und/oder eine
schnellere Z-Achsen-Abtastbewegungsgeschwindigkeit erlaubt, können die
erfindungsgemäßen Systeme
und Verfahren autofokussieren, um eine geschätzte beste Fokusposition in
etwa 0,5 Sekunden, mit einer Wiederholbarkeit größer als 1,7 Mikrometer oder
weniger als etwa 15 % der Feldtiefe der Objektivkonfiguration für wiederholte Autofokusversuche
bereitzustellen. Verschiedene Betrachtungen in Zusammenhang mit
Autofokusbildbeabstandung und der Präzision einer geschätzten besten
Fokusposition sind unten unter Bezugnahme auf die 3 und 4 beschrieben.
-
Bei
verschiedenen beispielhaften Ausführungsformen und wenn eine
effektive Belichtungsdauer nicht innerhalb der Belichtungssteuerfähigkeiten
des Kamerasystems 260 ist und ein Strobeimpuls-Beleuchtungssystem
in dem Maschinenvisionsinspektionssystem 10 enthalten ist,
werden der Lichtsystemtreiber/-controller 150 und/oder
das Strobeimpuls-Beleuchtungssystem gesteuert, um die bestimmte
effektive Belichtungsdauer und ein entsprechendes Strobeimpuls-Beleuchtungsleistungsniveau
zu liefern.
-
Es
ist klar, dass bei verschiedenen beispielhaften Ausführungsformen
eine besonders effektive Belichtungszeit im Allgemeinen eine spezielle
Beleuchtungsstärke
oder ein Leistungsniveau erfordert, um ein erstrebenswertes Gesamtstärkeniveau
für die
erfassten Autofokusbilder bereitzustellen. Bei verschiedenen beispielhaften
Ausführungsformen
erstellt daher während
eines Trainingsmodusbetriebs ein Bediener eine erstrebenswerte Konfiguration
der verschiedenen Beleuchtungen 220, 230 und/oder 240 unter
Einsatz fortgesetzter Beleuchtung und einer Standard-, bekannten
oder effektiven Standardbelichtungszeit, die zum Beispiel von der
Kamera bereitgestellt wird.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird die fortgesetzte
Beleuchtung auf eine erstrebenswerte Stärke oder ein erstrebenswertes
Leistungsniveau manuell, halbautomatisch oder automatisch eingestellt,
um eine erstrebenswerte Bildcharakteristik in einem Werkstückbild bereitzustellen,
das mit einer Standard-, bekannten oder Standardkameraintegrationsperiode
erfasst wird. Zu bemerken ist, dass fortgesetzte Beleuchtung praktischer
und einfacher für
einen Bediener für
eine Vielzahl manueller Operationen zu verwenden ist, die während eines
Betriebstrainingsmodus ausgeführt
werden.
-
Bei
verschiedenen beispielhaften Ausführungsformen funktioniert die
erstrebenswerte Konfiguration der Lichter alternativ mindestens
während
eines Arbeitsmodus des Autofokusvorgangs unter Einsatz einer Strobeimpuls-Beleuchtungsfähigkeit,
die zum Beispiel wie unten unter Bezugnahme auf 5 dargelegt
bereitgestellt wird. Bei solchen verschiedenen beispielhaften Ausführungsformen
weist der Steuersystemabschnitt 100 verschiedene Kalibrierungsfaktoren,
Umwandlungsfaktoren, Nachschlagtabellen oder dergleichen auf, die
von der Schaltung, dem Hilfsprogramm oder der Anwendung 170 zum
Bestimmen des Autofokusvorgangs verwendet werden können, um
eine Stärke
oder ein Leistungsniveau zu bestimmen, die mit der effektiven Belichtungsdauer
zu benutzen sind, die für
das Strobeimpuls-Beleuchtungssystem erstellt wird. Bei verschiedenen
beispielhaften Ausführungsformen
stellt dies die gleiche Gesamtbildbelichtung bereit, die von dem
bekannten fortgesetzten Beleuchtungsstärke- oder -Leistungsniveau bereitgestellt
wird, das in Verbindung mit der Standard-, bekannten oder Standardkameraintegrationsperiode
erstellt wird, die während
des Betriebstrainingsmodus wie oben dargelegt verwendet wird.
-
Bei
verschiedenen beispielhaften Ausführungsformen taktet ein bekanntes
fortgesetztes Lichtquellenleistungsniveau die bekannte oder Standardkameraintegrationsperiode,
erstellt eine Gesamtbelichtungsbeleuchtungsenergie für die Lichtquelle.
Bei verschiedenen beispielhaften Ausführungsformen wird zum Erstellen
eines betrieblichen Strobeimpuls-Beleuchtungsleistungsniveaus
für diese
Lichtquelle die Gesamtbelichtungsbeleuchtungsenergie durch die effektive
Belichtungsdauer geteilt, die für
das Strobeimpuls-Beleuchtungssystem erstellt ist, und das Strobeimpuls-Beleuchtungsleistungsniveau
für diese
Lichtquelle wird entsprechend eingestellt. Zu bemerken ist, dass
bei verschiedenen beispielhaften Ausführungsformen eigentliche Steuerniveaus
für eine
Strobeimpuls-Lichtquelle für
verschiedene praktische Betriebscharakteristiken der Lichtquelle
und/oder verschiedene dazugehörende
optische und elektronische Bauteile eingestellt werden. Entsprechende
Einstellungen sind im Allgemeinen im Laufe der Zeit relativ stabil
und können
daher ursprünglich
und/oder regelmäßig von
Analysen und/oder Experimenten für
einen spezifischen Typ von Lichtquelle und Controller bei verschiedenen
beispielhaften Ausführungsformen
erstellt werden.
-
Bei
verschiedenen beispielhaften Ausführungsformen bestimmt die Schaltung,
das Hilfsprogramm oder die Anwendung 175 zum Bestimmen
und Vergleichen des Fokuswerts des interessierenden Bereichs einen
Fokuswert für
zumindest einen Betriebsabschnitt eines interessierenden Bereichs
in einem Autofokusbild oder anderen Bild, das von dem Kamerasystem 260 erzielt
und in dem Speicher 130 gespeichert wird. Der Fokuswert
weist auf den Fokusgrad hin, der in diesem Abschnitt des Bilds bereitgestellt
wird. Bei verschiedenen beispielhaften Ausführungsformen vergleicht die
Schaltung, das Hilfsprogramm oder die Anwendung 175 zum
Bestimmen und Vergleichen des Fokuswerts des interessierenden Bereichs
ferner verschiedene Fokuswerte, die für den interessierenden Bereich
in mehreren Bildern bestimmt werden. Bei verschiedenen beispielhaften
Ausführungsformen
bestimmt daher die Schaltung, das Hilfsprogramm oder die Anwendung 175 zum Bestimmen
und Vergleichen des Fokuswerts des interessierenden Bereichs auch
dasjenige der Autofokusbilder, das den besten Fokus in dem interessierenden
Bereich bereitstellt.
-
3 ist
ein repräsentativer
Graph, der eine Fokuskurve veranschaulicht, die einem Satz von Fokuswertpunkten 301 entspricht,
die dicht abgetastet werden, das heißt mit einer relativ großen Anzahl
von Lagen entlang der Z-Achse. 4 ist
ein repräsentativer
Graph, der eine Fokuskurve veranschaulicht, die einem Satz von Fokuswertpunkten 401 entspricht,
die dünn
abgetastet werden, das heißt
mit einer relativ kleinen Anzahl von Lagen entlang der Z-Achse.
Wie zuvor beschrieben und wie unten weiter ausführlicher beschrieben, erlauben
verschiedene beispielhafte Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren das Umsetzen einer dicht abgetasteten Fokuskurve in
Zusammenhang mit einem relativ genaueren Autofokusvorgang und das
Umsetzen einer dünn
abgetasteten Fokuskurve in Verbindung mit einem weniger präzisen Autofokusvorgang.
Bei verschiedenen beispielhaften Ausführungsformen erfolgt das, um
eine erstrebenswerte Kombination von Autofokusgeschwindigkeit und
-präzision
zu liefern, die an ein bestimmtes Werkstückinspektionsbild oder eine
bestimmte Anwendung angepasst ist.
-
Der
Fokuswert auf der Y-Achse der 3 entspricht
im Allgemeinen der Qualität
des Fokus eines Merkmals, das in dem betrieblichen interessierenden
Autofokusbereich eines entsprechenden Autofokusbilds enthalten ist.
Ein Fokuswert höher
auf der Y-Achse entspricht einem besseren Fokus des Merkmals in
dem interessierenden Autofokusbereich. Ein Fokuswert niedriger auf
der Y-Achse entspricht
einem schlechteren Fokus des Merkmals in dem interessierenden Autofokusbereich.
Die Fokuskurve ähnelt
typisch der Form einer glockenförmigen
Kurve. Daher liegen die Fokuswerte, die zum Fokussieren von Entfernungen
größer als
und zum Fokussieren von Entfernungen kleiner als der idealen Brennweite
erzielt werden, niedriger als der Fokuswert für die ideale Brennweite. Die
Autofokussuche für
eine beste Fokusposition entspricht daher einer Suche nach dem wahren
Gipfel der wahren glockenförmigen
Fokuskurve.
-
Zu
bemerken ist, dass die hier beschriebenen Autofokusvorgänge Fokuswert-„Probe"daten bereitstellen,
die verwendet werden, um die wahre Fokuskurve und die entsprechende
beste Fokusposition mit einem bestimmten oder ausreichenden Präzisionsniveau
zu schätzen.
Wenn daher ein relativ niedrigerer Präzisionsgrad ausreicht und/oder
ein relativ schneller Satz von Autofokusvorgängen gewünscht wird, werden die Fokuskurvendaten
dünner
abgetastet, das heißt
die betriebliche Beabstandung entlang der Z-Achse zwischen verschiedenen
Autofokusbildern ist größer. In
solchen Fällen
ist die geschätzte
beste Fokusposition eine relativ annäherndere Schätzung des
wahren Gipfels der Fokuskurve. Umgekehrt, wenn ein relativ höherer Präzisionsgrad
erforderlich ist, werden die Fokuskurvendaten dichter abgetastet,
das heißt,
dass die betriebliche Beabstandung entlang der Z-Achse zwischen
verschiedenen Autofokusbildern kleiner ist. In solchen Fällen ist
die geschätzte
beste Fokusposition eine relativ weniger annähernde oder präzisere Schätzung des
wahren Gipfels der Fokuskurve.
-
Nach
dem Bestimmen der geschätzten
Position eines Gipfels einer Fokuskurve stellt die entsprechende
Z-Achsenposition,
die auf der horizontalen Achse der 3 und 4 dargestellt
ist, die Z-Achsen-Position dar, die die geschätzte beste Fokusposition ist,
die einem ausreichend fokussierten oder am besten fokussierten Bild
des Merkmals in dem entsprechenden interessierenden Bereich auf
dem Werkstück
entspricht. Im Allgemeinen stellt bei verschiedenen beispielhaften
Ausführungsformen
diese geschätzte
beste Fokusposition einen Koordinatenwert bereit, der als ein Inspektionswert
für das
Merkmal in dem interessierenden Bereich und/oder als eine Positionierungskoordinate
verwendet wird, die man zum Erfassen eines Bildes des Werkstücks einsetzt,
das am besten verwendet wird, um verschiedene Dimensionen und andere
Inspektionsergebnisse für
das Merkmal in dem interessierenden Bereich zu bestimmen.
-
Eine
Vielzahl von Fokuswertfunktionen, hier auch Fokusmetrik genannt,
können
bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung verwendet werden. Bei verschiedenen beispielhaften Ausführungsformen
ist das Merkmal, das in dem interessierenden betrieblichen Autofokusbereich
enthalten ist, eine Kante, und eine geeignete Kantenfokusmetrik
wird wie unten unter Bezugnahme auf 8 ausführlicher
beschrieben verwendet. Bei verschiedenen anderen beispielhaften
Ausführungsformen
ist das Merkmal, das in dem interessierenden betrieblichen Autofokusbereich
enthalten ist, einfach der Abschnitt der Werkstückoberfläche, der von diesem interessierenden
Bereich definiert wird, und es wird eine geeignete Oberflächenfokusmetrik
verwendet, wie unten unter Bezugnahme auf 8 ausführlicher
beschrieben. Oberflächenfokusmetriken
stellen im Allgemeinen Fokuswerte bereit, die einer Kontrastmessung
in dem interessierenden Autofokusbereich in einem Autofokusbild
entsprechen. Eine beispielhafte Oberflächenfokusmetrik ist unten unter
Bezugnahme auf die Gleichungen 1-3 beschrieben. Verschiedene alternative
Oberflächenfokusmetriken sind
ebenfalls ausführlich
in den eingegliederten Referenzen beschrieben, und verschiedene
geeignete Fokuswertfunktionen sind einem Durchschnittsfachmann auch
bekannt. Solche Funktionen brauchen daher hier nicht weiter beschrieben
zu werden.
-
Wie
zuvor erwähnt,
stellen die hier beschriebenen Autofokusvorgänge Fokuswert-„Probe"daten bereit, die
verwendet werden, um die wahre Fokuskurve zu schätzen und die Lage des wahren
Fokuskurvengipfels zu schätzen,
der einer besten Fokusposition entspricht, und zwar innerhalb eines
erstrebenswerten oder ausreichenden Präzisionsgrades. Wie zuvor erwähnt, werden
die wahre Fokuskurve und die Lage des wahren Fokuskurvengipfels
im Allgemeinen mit besserer Präzision
und Wiederholbarkeit bei einer dichter abgetasteten Fokuskurve geschätzt als
bei einer dünner
abgetasteten Fokuskurve. Zu bemerken ist auch, dass die Fokuskurvenabtastdichte,
das heißt
die betriebliche Beabstandung entlang der Z-Achse zwischen verschiedenen Autofokusbildern
von der Autofokus-Bilderfassungsrate des Kamerasystems 260 kombiniert
mit der Bewegungsgeschwindigkeit entlang der Z-Achse während der
Autofokusbild-Erfassungssequenz in einer Art bestimmt wird, die
für einen
Durchschnittsfachmann klar ist. Diese Faktoren wurden zuvor unter
Bezugnahme auf die Schaltung, das Hilfsprogramm oder die Anwendung 170 zum
Bestimmen des Autofokusvorgangs besprochen.
-
3 zeigt
eine Dimension 302, die die Vollbreitenhalbmaximaldimension
oder FWHM der Fokuskurve der 3 darstellt. 4 zeigt
eine analoge Dimension 402, die die Vollbreitenhalbmaximaldimension
oder FWHM der Fokuskurve der 4 darstellt.
Zur Veranschaulichung ist in 3 auch
eine Dimension 303 gezeigt, die die Feldtiefe oder DOF
der Objektivkonfiguration darstellt, die der Fokuskurve der 3 entspricht. Bei
verschiedenen beispielhaften Ausführungsformen wird die Feldtiefe
gemäß einem
herkömmlichen
Ausdruck bestimmt, der auf der numerischen Öffnung (NA) der Objektivkonfiguration
beruht. Für
die in 3 gezeigte beispielhafte Ausführungsform
ist die FWHM 302 der Fokuskurve ungefähr 3,25 Mal die DOF 303 der grundlegenden
Objektivkonfiguration. 4 zeigt eine analoge DOF-Dimension 403,
die die DOF der Objektivkonfiguration darstellt, die der Fokuskurve
der 4 entspricht.
-
Daher
sind die DOF einer bestimmten Objektivkonfiguration, die NA der
Objektivkonfiguration und die FWHM der entsprechenden Fokuskurve
alle ungefähr
in einem relativ voraussagbaren und ungefähr konstanten Satz von Beziehungen
miteinander verbunden.
-
Daher
wird bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung die betriebliche maximale Beabstandung entlang der Z-Achse zwischen
verschiedenen Autofokusbildern für
einen gegebenen erstrebenswerten Präzisionsmodus oder -grad der
mit der minimalen Fokuskurvenabtastdichte zusammenhängt, auf
der Grundlage des erstrebenswerten Präzisionsmodus oder -grads bestimmt,
kombiniert mit einer Objektivcharakteristik der betreibbaren oder
aktuellen Objektivkonfiguration. Bei verschiedenen beispielhaften
Ausführungsformen
ist die Objektivcharakteristik eine direkte Objektivcharakteristik,
wie zum Beispiel die DOF oder NA eines Objektivs, oder eine indirekte
Objektivcharakteristik, wie zum Beispiel eine Breitendimension der
erwarteten daraus hervorgehenden Fokuskurve, wie zum Beispiel die
FWHM oder dergleichen.
-
Bei
verschiedenen beispielhaften Ausführungsformen werden die Autofokusvorgänge und/oder
-einstellungen beim Betreiben des Autofokusbetriebswerkzeugs in
einem Modus mit niedriger Präzision
so bestimmt, dass die maximale Beabstandung entlang der Z-Achse
zwischen verschiedenen Autofokusbildern mindestens 0,2 Mal die FWHM
der erwarteten Nennfokuskurvenbreite für eine aktuelle Objektivkonfiguration
beträgt.
Das erlaubt eine schnelle Bewegung während Autofokusvorgängen. Bei
verschiedenen anderen beispielhaften Ausführungsformen, ist die maximale
Beabstandung entlang der Z-Achse zwischen verschiedenen Autofokusbildern
bis zu 0,5 Mal die FWHM, wenn das Autofokusvorgängewerkzeug mit einem niedrigen
Präzisionsmodus
betrieben wird. Das erlaubt während
Autofokusvorgängen
eine noch schnellere Bewegung und stellt gleichzeitig ausreichende
Präzision
für mehrere
Autofokusanwendungen mit niedriger Präzision bereit.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen werden ähnliche
maximale Beabstandungen direkt aus der NA einer aktuellen Objektivkonfiguration
bestimmt. Wenn das Autofokusvorgängewerkzeug
mit einem niedrigen Präzisionsmodus
betrieben wird, werden die Autofokusvorgänge und/oder -einstellungen
so bestimmt, dass die maximale Beabstandung in Mikrometer entlang
der Z-Achse zwischen verschiedenen Autofokusbildern mindestens 0,18/NA2 und höchstens
0,45/NA2 für die NA einer aktuellen Objektivkonfiguration
beträgt.
Bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung stellen die Einstellungen oder Parameter, die oben dargelegt
wurden, eine geschätzte
beste Fokusposition mit einer Präzision
in der Größenordnung
von 5 %-15 % der DOF der entsprechenden Objektivkonfiguration bereit.
Für relativ
stark verstärkende
Objektive tendiert die Präzision
hinsichtlich der DOF dazu, am größeren Ende
dieses Prozentbereichs zu liegen, was immer noch Mikrometerniveaupräzision aufgrund
der kleinen DOF derartiger Objektive bereitstellt, die in der Größenordnung
von einigen Mikrometern oder weniger für ein Objektiv mit starker
Vergrößerung liegt.
Umgekehrt tendiert die Präzision
hinsichtlich der DOF bei Objektiven mit relativ kleiner Vergrößerung,
zum Beispiel 1-2,5 Mal Vergrößerung oder
dergleichen, am kleineren Ende dieses Prozentbereichs zu liegen,
was in der Größenordnung
von einigen Mikrometern hervorragende Präzision bereitstellt, und das
trotz der relativ großen
DOF solcher Objektive mit geringer Vergrößerung, die in der Größenordnung
von etwa 10 bis 100 Mikrometern liegen kann.
-
Bei
verschiedenen beispielhaften Ausführungsformen werden die Autofokusvorgänge und/oder
-einstellungen, wenn das Autofokusvorgängewerkzeug mit einem Modus
mit höherer
Präzision
betrieben wird, so bestimmt, dass die maximale Beabstandung entlang
der Z-Achse zwischen verschiedenen Autofokusbildern höchstens
0,1 Mal die FWHM der erwarteten Nennfokuskurvenbreite für eine aktuelle
Objektivkonfiguration beträgt.
Dabei wird etwas an Bewegungsgeschwindigkeit eingebüßt, und
die Gesamtautofokuszeit wird erhöht, um
dichtere Fokuskurvenabtastung und eine signifikant bessere Schätzung der
besten Fokusposition bereitzustellen. Bei verschiedenen beispielhaften
Ausführungsformen
werden die Autofokusvorgänge
und/oder -einstellungen wenn das Autofokusvorgängewerkzeug in einem Modus
mit höherer
Präzision
betrieben wird, so bestimmt, dass die maximale Beabstandung entlang
der Z-Achse zwischen verschiedenen Autofokusbildern mindestens 0,02
Mal die FWHM beträgt.
Dabei büßt man weiter
an Bewegungsgeschwindigkeit ein, und es erhöht die Gesamtautofokuszeit
weiter, um eine geschätzte
beste Fokuspositionspräzision
bereitzustellen, die in etwa die beste erzielbare Präzision für verschiedene
Autofokusanwendungen mit hoher Präzision ist.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen werden die Autofokusvorgänge und/oder
-einstellungen, wenn das Autofokusvorgängewerkzeug in einem Modus
mit höherer
Präzision
betrieben wird, so bestimmt, dass die maximale Beabstandung in Mikrometer
entlang der Z-Achse zwischen verschiedenen Autofokusbildern zumindest
0,018/NA2 und höchstens 0,09/NA2 für die NA
einer aktuellen Objektivkonfiguration beträgt. Bei verschiedenen beispielhaften
Ausführungsformen
gemäß dieser
Erfindung stellen die oben dargelegten Einstellungen oder Parameter
eine geschätzte
beste Fokusposition mit einer Präzision in
der Größenordnung
von 0,5 %-5 % der DOF der entsprechenden Objektivkonfiguration bereit.
Für Objektive mit
relativ starker Vergrößerung tendiert
die Präzision
hinsichtlich der DOF dazu, am größeren Ende
dieses Prozentbereichs zu liegen. Das stellt immer noch Mikrometer-
oder Submikrometerniveaus an Präzision
und Wiederholbarkeit aufgrund der kleinen DOF für solche Objektive bereit,
die in der Größenordnung
von einigen wenigen Mikrometern oder weniger bei einem Objektiv
mit starker Vergrößerung liegen
können.
Umgekehrt tendiert bei Objektiven mit relativ geringer Vergrößerung,
zum Beispiel 1-2,5 Mal Vergrößerung oder
dergleichen die Präzision
hinsichtlich der DOF dazu, am kleineren Ende dieses Prozentbereichs
zu liegen. Das stellt hervorragende Präzision in der Größenordnung
einiger weniger Mikrometer oder weniger bereit, und zwar trotz der
relativ großen
DOF solcher Objektive mit geringer Vergrößerung, die in der Größenordnung
von etwa 10 bis 100 Mikrometer liegen kann.
-
Zu
bemerken ist, dass sowohl die besonderen Objektivmerkmale als auch
die besonderen Werte der maximalen Beabstandung entlang der Z-Achse,
die für
die oben stehenden beispielhaften Ausführungsformen beschrieben sind,
allein veranschaulichend sind und nicht einschränkend gesehen werden dürfen. Verschiedene
andere Objektivcharakteristiken und anwendbare Werte für die maximale
Beabstandung, die für
verschiedene Maschinenvisionssysteme, Anwendungen und Präzisionsgrade
geeignet sind, sind klar.
-
Bei
verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren wird ein Doppeldurchgangssatz von Autofokusvorgängen verwendet,
um die Robustheit des Autofokusvorgangs für unerwartete Werkstückvariationen
und dergleichen anzuheben und gleichzeitig eine erstrebenswerte
Kombination von Autofokusgeschwindigkeit und -präzision zu wahren. Der erste
Durchgang ist konzipiert, um so schnell wie möglich über einen Gesamtdurchgangs-Z-Achsen-Positionsbereich
oder Erstdurchgangs-Autofokusbildbereich,
hier auch Fokusbildbereich genannt, zu laufen, der mit Gewissheit
die beste Fokusposition enthält,
darunter Variationen oder Toleranzen für die Z-Achsen-Nennlage des
interessierenden Bereichs auf dem Werkstück sowie etwaige zusätzliche
Variationen oder Toleranzen für
die Z-Achsen-Nennposition des Werkstücktischs, in dem Ausmaß, dass
solche Positionierungsvariationen nicht von den Vorabvorgängen eliminiert
werden, die ein justiertes Werkstückkoordinatensystem oder dergleichen
erstellen. Im Allgemeinen ist bei verschiedenen beispielhaften Ausführungsformen
gemäß dieser
Erfindung der Erstdurchgangs-Gesamtautofokusbildbereich derart definiert,
dass er um eine Z-Nennposition zentriert ist, die manuell von einem Bediener
oder halbautomatisch oder automatisch auf der Grundlage verschiedener
Objektivparameter, Werkstück-CAD-Daten
und dergleichen bestimmt wurde, um einen ungefähr fokussierten interessierenden
Bereich bereitzustellen. Bei verschiedenen beispielhaften Ausführungsformen
wird der Erstdurchgangs-Gesamtautofokusbildbereich ferner unter
gebührender
Berücksichtigung
der Fokustiefe eines aktuellen Objektivs und den zuvor besprochenen
Positionstoleranzen des interessierenden Werkstückautofokusbereichs und dergleichen definiert.
Bei verschiedenen beispielhaften Ausführungsformen ist der Erstdurchgangs-Gesamtautofokusbildbereich
in der Größenordnung
von 1 bis 4 mm, von welchen der Großteil potenziellen Positionsschwankungen von
Werkstück
und interessierendem Bereich zugewiesen ist, insbesondere, wenn
Objektive mit stärkerer
Vergrößerung verwendet
werden, weil derartige Objektive typischerweise eine DOF haben,
die in der Größenordnung
von Mikrometern liegt und daher typischerweise im Vergleich zu den
potenziellen Positionsschwankungen des interessierenden Werkstückbereichs
vernachlässigbar
ist.
-
Als
Vorwegnahme eines unten beschriebenen zweiten Durchgangs braucht
der erste Durchgang bei verschiedenen beispielhaften Ausführungsformen
nur eine sehr ungefähre
Schätzung
der besten Fokusposition zu stützen.
Die Fokuskurve wird daher während
der Erstdurchgangs-Autofokusvorgänge
zum Beispiel ungefähr 4 entsprechend
dünn abgetastet
oder wie für
den Modus mit niedriger Präzision,
der oben beschrieben wurde, wobei die Feldtiefe oder andere Objektivcharakteristiken
des aktuellen Objektivs gebührend berücksichtigt
werden. Bei verschiedenen beispielhaften Ausführungsformen wird dann die
Lage des Gipfels der Fokuskurve geschätzt, um eine geschätzte beste
Fokusposition bereitzustellen, die ein ungefährer Wert ist, der zum Verfeinern
eines Zweitdurchgangs-Fokusbildbereichs
verwendet werden kann, um schnell eine verfeinerte Schätzung der
besten Fokusposition zu bestimmen.
-
Bei
verschiedenen beispielhaften Ausführungsformen ist der zweite
Durchgang so konzipiert, dass er eine erstrebenswerte verfeinerte
oder Endniveaupräzision
beim Bestimmen der geschätzten
besten Fokusposition bereitstellt. Daher wird während der Zweitdurchgangs-Autofokusvorgänge bei
diesen verschiedenen beispielhaften Ausführungsformen die Fokuskurve
dichter über
einen viel kürzeren
Zweitdurchgangs-Autofokusbildbereich abgetastet, zum Beispiel bei
verschiedenen beispielhaften Ausführungsformen über einen
Bereich von 2 bis 5 Mal die DOF, in der Nähe der ungefähr geschätzten besten
Nennfokusposition, die auf der Grundlage der Erstdurchgangs-Autofokusbilddaten
bestimmt wurde. Die Zweitdurchgangs-Abtastdichte entspricht zum
Beispiel in etwa 3 oder, wie für den Modus
mit höherer
Präzision
oben beschrieben, unter gebührender
Berücksichtigung
der erstrebenswerten Präzision
und Feldtiefe oder anderer Objektivcharakteristiken des aktuellen
Objektivs, bei diesen verschiedenen beispielhaften Ausführungsformen.
Die Lage des Gipfels der Fokuskurve, das heißt die beste Fokusposition
wird dann auf den erstrebenswerten Präzisionsgrad auf der Grundlage
der Zweitdurchgangs-Autofokusbilddaten
bei verschiedenen beispielhaften Ausführungsformen geschätzt.
-
Zu
bemerken ist, dass die geschätzte
beste Fokusposition, die durch Autofokussieren bestimmt wird, bei
verschiedenen beispielhaften Ausführungsformen entweder verwendet
wird, um direkt die Höhe
entlang der Z-Achsen-Richtung zu bestimmen, die als eine Inspektionsdimension
für eine
Oberfläche
in dem interessierenden Bereich verwendet wird, oder zum Positionieren
der Kamera entlang der Z-Achse, um die Schärfe einer Kante in der Bildebene
vor dem Kantenerfassen oder dergleichen oder für beides zu maximieren.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren eine Strobeimpuls-Beleuchtungsfähigkeit verwendet wird, um
die effektive Belichtungsdauer und jede entsprechende Unschärfe-Unklarheit
verschiedener Autofokusbilder wie zuvor unter Bezugnahme auf die
Vorgänge
der Schaltung, des Hilfsprogramms oder der Anwendung 170 zum
Bestimmen des Autofokusvorgangs beschrieben, einzuschränken. Wie
zuvor dargelegt, werden die X-, Y- und Z-Positionswerte, die mit
einem bestimmten bestimmten Autofokusbild zusammenhängen, bei
verschiedenen beispielhaften Ausführungsformen auf der Grundlage
von Positionscodierersignalen von dem Bewegungssteueruntersystem 145 mitverfolgt.
-
Bei
verschiedenen beispielhaften Ausführungsformen muss die relative
Position zwischen der Kamera und dem Tisch oder Werkstück, die
den verschiedenen Autofokusbildern entspricht, die zum Schätzen der
besten Fokusposition verwendet werden, mit hoher Zuverlässigkeit
und hoher Präzision
bekannt sein. Bei verschiedenen beispielhaften Ausführungsformen
gemäß dieser
Erfindung wird daher zumindest der Z-Achsen-Positionswert in dem
Bewegungssteueruntersystem 145 mit einer bekannten Beziehung
zu der effektiven Belichtungszeit des entsprechenden Bilds gelatcht
und in Bezug auf dieses Bild gespeichert. Daher ist es bei verschiedenen
beispielhaften Ausführungsformen,
wenn fortgesetzte Bewegung während
einer Autofokusbilderfassung verwendet wird, vorteilhaft, Strobeimpuls-Beleuchtung
zu verwenden und sowohl die Strobeimpuls-Beleuchtung auszulösen als
auch die entsprechenden Positionswerte zu einem spezifischen Zeitpunkt
in Zusammenhang mit der Strobeimpuls-Beleuchtungsdauer, zum Beispiel
in Beziehung zu dem Strobeimpuls-Beleuchtungsauslöser zu latchen.
Bei verschiedenen beispielhaften Ausführungsformen wird all das unter
der Steuerung des Steuersystemabschnitts 100 zu spezifischen
Zeitpunkten ausgelöst
und wiederholt, wenn die Systemkonfiguration Autofokusbildlagen
entspricht, die eine erstrebenswerte Autofokusbildbeabstandung entlang
einem erstrebenswerten Autofokusbildbereich bereitstellen.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen wird all dies
von dem Steuersystemabschnitt 100 initiiert, wenn sich
die Z-Achsen-Position an einem Ende des betrieblichen Fokusbildbereichs befindet,
und wird über
den Fokusbildbereich gemäß einer
maximalen Freilauf rate oder wiederholtem Timing wiederholt, das
von der Abbildungsteuerschnittstelle 140 und/oder dem Kamerasystem 260 bestimmt
wird, um einen entsprechenden Satz von Autofokusbildern bereitzustellen,
die über
den betrieblichen Fokusbildbereich innerhalb einer erstrebenswerten
maximalen Fokusbildbeabstandung liegen. Bei verschiedenen beispielhaften
Ausführungsformen
wird der Satz von Autofokusbildern auf der Grundlage einer bestimmten
Anzahl von Bildwiederholungen oder einer erfassten Position an oder über das
Ende des Fokusbildbereichs hinaus beendet. Verschiedene Betrachtungen
in Zusammenhang mit typischen Visionssystembauteilen für Hochgeschwindigkeitsabbildung,
das Abbilden sich bewegender Objekte, Synchronisationsproblemen
und dergleichen sind detailliert in „High Speed, Real-Time Machine
Vision", von Perry
C. West, Automated Vision Systems Inc., www.autovis.com, 2001 im
Auftrag von CyberOptics-Imagenation,
www.imagenation.com besprochen, das hiermit durch Bezugnahme zur
Gänze eingegliedert
wird.
-
5 ist
ein schematisches Diagramm, das eine beispielhafte Ausführungsform
mit einem Strobeimpuls-Lichtsteuersystem
gemäß dieser
Erfindung zeigt. Bei verschiedenen beispielhaften Ausführungsformen weist das
Strobeimpuls-Lichtsteuersystem 500 eine fortgesetzte Beleuchtungssteuerfähigkeit
auf. Bei verschiedenen beispielhaften Ausführungsformen befindet sich
das Strobeimpuls-Lichtsteuersystem 500 in dem Beleuchtungssystemtreiber/-controller 150.
Bei verschiedenen beispielhaften Ausführungsformen wird das Lichtsteuersystem 500 unter
Einsatz allgemein bekannter herkömmlicher
Schaltungselemente und herkömmlicher
Schaltungskonzeptionstechniken umgesetzt. Bei verschiedenen beispielhaften
Ausführungsformen
werden die Bauteile des Lichtsteuersystems 500 so ausgewählt, dass
sie einen Hochgeschwindigkeits-, Feedback-gesteuerten aktuellen
Treiber bereitstellen, der eine aktuelle Quelle für eine Lichtquelle,
wie zum Beispiel eine LED oder einen Diodenlaser oder dergleichen
mit Raten bis zu 5 MHz und darüber
betreiben kann. Bei verschiedenen beispielhaften Ausführungsformen
werden die Bauteile ausgewählt,
um eine induzierte Phasenverzögerung
bereitzustellen, die etwa eine Mikrosekunde oder weniger beträgt, das
heißt,
dass der Strobeimpuls innerhalb von etwa einer Mikrosekunde nach
dem Empfang der ansteigenden Flanke des Eingangssteuersignals EXP
2 initiiert wird. Bei verschiedenen beispielhaften Ausführungsformen
werden die Bauteile so ausgewählt,
dass sie Spitzenströme
bis zu etwa 1,5 A für
eine Strobeimpulsmodus-Strobedauer so kurz wie 500 ns und so lang
wie 40 ms bereitstellen.
-
Wie
in 5 gezeigt, weist daher bei verschiedenen beispielhaften
Ausführungsformen
das Lichtsteuersystem 500 eine Lichtquelle 580 auf,
wie zum Beispiel irgendeine der Beleuchtungsvorrichtungen 220, 230 oder 240,
die in der Lage ist, hochintensive Strobeimpuls-Beleuchtung zu liefern. Bei verschiedenen
beispielhaften Ausführungsformen
enthält
die Lichtquelle 580, wie zuvor besprochen eine LED. Es
wird ein Transistor 575 mit schneller Reaktion und mittlerer
Leistung, der zum Beispiel etwa 1,5 A (Spitzenwert 2 A) bereitstellen kann,
angeschlossen, um die Lichtquelle 580 gemäß einem Steuersignal
AA zu treiben. Die Lichtquelle 580 liefert ein Feedbacksteuersignal 583,
das der Ausgangsleistung der Lichtquelle 580 entspricht.
Bei verschiedenen beispielhaften Ausführungsformen kann das Feedbacksteuersignal 583 ausgehend
von einem Abschnitt des Lichts von der Lichtquelle 580 erzeugt
werden. Das Feedbacksteuersignal 583 wird einem Pufferspeicherschaltungsabschnitt 585 bereitgestellt,
der bei verschiedenen beispielhaften Ausführungsformen das Feedbacksteuersignal 583 erfasst
und/oder verstärkt
oder skaliert, um das Feedbacksteuersignal BB bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird das Lichtsteuersystem 500 in
zwei getrennten Modi betrieben. Bei einem Strobeimpuls-Modus wird
ein Steuersignal EXP 2 in einen Hochgeschwindigkeits-Eingabepufferspeicher 505 eingegeben.
Das Signal EXP 2 wird erzeugt und ausgegeben von einem Framegrabber,
der in der Abbildungssteuerschnittstelle 140 wie unten
beschrieben enthalten ist. Ein Multiplexer 512 wird von
einem oder mehreren Modusauswahlsignalen von dem Controller 120,
der Abbildungssteuerschnittfläche 140 oder
einem anderen Bauteil des Steuersystemabschnitts 100 über eine
oder mehrere Signalleitungen gesteuert, um das Steuersignal EXP
2 zu einem Hochgeschwindigkeits-Differenzverstärker 515 zu leiten.
Der Differenzverstärker 515 empfängt auch
das Feedbacksteuersignal BB von dem Pufferspeicherschaltungsabschnitt 585.
Ein Differenzsignal wird von dem Differenzverstärker 515 zu einem
Hochgeschwindigkeitsverstärker 525 ausgegeben,
der das Differenzsignal verstärkt
oder skaliert, um das Steuersignal AA bereitzustellen, das in den
Transistor 575 mit mittlerer Leistung eingegeben wird,
um die Lichtquelle 580 in einem Strobeimpuls-Modus zu treiben.
-
Bei
einem fortgesetzten Beleuchtungsmodus wird ein „DAC IN"-Steuersignal in einen Eingangspufferspeicher 510 eingegeben.
Das DAC IN-Signal wird bei verschiedenen beispielhaften Ausführungsformen
von dem Controller 120 erzeugt und ausgegeben. Der Multiplexer 512,
der von dem einen oder den mehreren Modusauswahlsignalen von dem
Controller 120 gesteuert wird, leitet das DAC IN-Steuersignal zu einem
Differenzverstärker 520.
Der Differenzverstärker 520 empfängt auch
das Feedbacksteuersignal BB von dem Pufferspeicherschaltungsabschnitt 585.
-
Ein
Differenzsignal wird von dem Differenzverstärker 520 zu einem
Verstärker 530 ausgegeben,
der das Differenzsignal verstärkt
oder skaliert, um das Steuersignal AA bereitzustellen, das in den
Transistor 575 mit mittlerer Leistung eingegeben wird,
um die Lichtquelle 580 in einem fortgesetzten Beleuchtungsmodus
zu treiben. Bei dem fortgesetzten Beleuchtungsmodus wird das Steuersignal
AA unter einem maximalen Niveau gesteuert, das den Strom in dem
Transistor 575 mit mittlerer Leistung, und die Lichtquelle 580 auf
einem Niveau steuert, das eine lange Betriebslebensdauer für diese
Bauteile bereitstellt.
-
Mit
zwei solchen getrennten Betriebsmodi kann das Strobelicht-Steuersystem 500 verwendet
werden, um ältere
Visionsinspektionsmaschinen 10 nachzurüsten, und kann bei anderen
Anwendungen verwendet werden, bei welchen es erstrebenswert ist,
ein Präzisionsmaschinenvisionsinspektionssystem
mit Systemen und Verfahren gemäß der vorliegenden
Erfindung sowohl mit als auch ohne Strobeimpulsbeleuchtung sowie mit
herkömmlichen
Systemen und Verfahren zu betreiben, die relativ fortgesetzte Beleuchtung
verwenden, die typischerweise von einem Signal, wie zum Beispiel
dem DAC IN-Signal gesteuert werden. Zu bemerken ist, dass das Strobeimpuls-Lichtsteuersystem 500 mit
zwei solchen getrennten Betriebsmodi besonders zum Bereitstellen
fortgesetzter Beleuchtung während
verschiedener manueller vom Benutzer geleiteter Trainingsmodusvorgänge und
zum Bereitstellen einer Strobeimpulsbeleuchtung nützlich ist,
die eine Gesamtbelichtungsbeleuchtungsenergie ähnlich der bereitstellt, die
während
der verschiedenen Trainingsmodusvorgänge während verschiedener automatischer
Arbeitsmodusvorgänge
bei verschiedenen beispielhaften Ausführungsformen der erfindungsgemäßen Systeme
und Verfahren bereitgestellt wird.
-
Um
sowohl die Strobeimpuls-Beleuchtung auszulösen als auch die entsprechenden
Positionswerte zu einem spezifischen Zeitpunkt in Bezug auf die
Strobeimpuls-Beleuchtungsdauer
zu latchen, werden diese oben beschriebenen Systemelemente betreibbar
in dem Steuersystemabschnitt 100 miteinander verbunden. Die
Betriebsschritte in Zusammenhang mit dem Strobeimpuls-Betriebsmodus sind
unten in Verbindung mit dem Arbeitsmodusbetriebsverfahren der Erfindung
beschrieben.
-
6 ist
ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Lernmodus
der Trainingsmodusverfahren zum Bestimmen von Vorgängen und
Einstellungen für
das automatische Fokussieren auf einen interessierenden Bereich
eines Werkstücks
erfindungsgemäß im Arbeitsmodus
darlegt. Das Verfahren startet in Schritt S100 und setzt sich in
Schritt S110 fort, in dem das Visionsinspektionssystem in einen
Lernmodus versetzt wird. Dann wird in Schritt S120 ein aktuelles
Objektiv für
die Kamera ausgewählt.
Anschließend wird
in Schritt S130 das zu beurteilende Werkstück an einer gewünschten
Stelle positioniert, so dass der zu inspizierende Abschnitt des
Werkstücks
in dem Gesichtsfeld der Kamera liegt. Dann geht der Vorgang weiter zu
Schritt S140.
-
In
Schritt S140 wird die Beleuchtung des Werkstücks eingestellt. Zu bemerken
ist, dass die Beleuchtung von dem Benutzer oder halbautomatisch
oder automatisch eingestellt werden kann. Bei verschiedenen beispielhaften
Ausführungsformen
wird eine fortgesetzte Beleuchtung eingestellt. Dann wird in Schritt
S150 eine Arbeitsansicht des Werkstücks basierend auf der eingestellten
Beleuchtung erzielt. Bei verschiedenen beispielhaften Ausführungsformen
hängt der
Werkstückabschnitt,
der in der Arbeitsansicht sichtbar ist, von der Position ab, an
der das Werkstück
angeordnet wurde.
-
Bei
verschiedenen beispielhaften Ausführungsformen weist die Werkstücksarbeitsansicht,
die auf der Grundlage der eingestellten Beleuchtung erzielt wird,
ein Werkstückansichtsbild
auf, das mit einer Strobeimpuls-Beleuchtungsdauer erfasst wurde,
die kurz genug ist, um ein akzeptables Autofokusbild beim Gebrauch in
Kombination mit irgendeiner praktischen Z-Achsen-Geschwindigkeit während einer
Autofokusbilderfassungssequenz bereitzustellen, Bei verschiedenen
beispielhaften Ausführungsformen,
in welchen eine fortgesetzte Beleuchtung in Schritt S140 eingestellt
wird, werden Strobeimpuls-Beleuchtungsparameter
von den Einstellungen der fortgesetzten Beleuchtung abgeleitet.
-
Dann
wird in Schritt S160 die von der Kamera erzielte Arbeitsansicht
bewertet, um zu bestimmen, ob die Beleuchtung zufrieden stellend
ist oder nicht. Ist die Beleuchtung nicht zufrieden stellend, geht
der Vorgang zu Schritt S170 weiter. Anderenfalls springt der Vorgang
weiter zu Schritt S180.
-
In
Schritt S170 werden die Beleuchtungseinstellungen verfeinert, zum
Beispiel auf der Grundlage des Änderns
verschiedener Beleuchtungseinstellungen durch den Bediener. Dann
geht der Vorgang zurück
zu Schritt S150. Hingegen werden in Schritt S180 die aktuellen Beleuchtungseinstellungen
gespeichert. Der Vorgang geht dann weiter zu Schritt S190. In Schritt
S170 und wenn die nicht zufrieden stellende Beleuchtung zu schwach
ist, wird die Stärke
der Beleuchtung erhöht.
Hingegen wird die Stärke
der Beleuchtung verringert, wenn die nicht zufrieden stellende Beleuchtung
zu hell ist.
-
Bei
verschiedenen beispielhaften Ausführungsformen bestimmen die
erfindungsgemäßen Systeme und
Verfahren drei kompatible und/oder miteinander verbundene Autofokuscharakteristiken
oder Variablen und/oder ihre dazugehörenden Steuerparameter oder
Einstellungen, die steuern, wie schnell ein automatischer Fokussierungsvorgang
gemäß der vorliegenden
Erfindung ausgeführt
werden kann. Bei verschiedenen beispielhaften Ausführungsformen
sind diese Charakteristiken die Größe eines interessierenden Autofokusbereichs
für den
Autofokusvorgang, die Rate, mit der die Autofokusbilder erfasst
werden, und die maximale Geschwindigkeit, mit der die Kamera entlang
der Z-Achse scannt, während
sie Autofokusbilder erfasst.
-
Zu
bemerken ist, dass diese drei Variablen oder Charakteristiken bei
verschiedenen beispielhaften Ausführungsformen zum Erstellen
einer erstrebenswerten Kombination von Hochgeschwindigkeits- und
Hochpräzisionsautofokus
gemäß dieser
Erfindung in einer Wechselbeziehungsart bestimmt werden. Bei verschiedenen
beispielhaften Ausführungsformen
erfolgt dies, um eine erstrebenswerte Kombination von Autofokus-Bilderfassungsvorgängen und/oder
-einstellungen zu bestimmen, die einer erstrebenswerten Kombination von
Autofokusgeschwindigkeit und -präzision
entsprechen, um eine geschätzte
beste Fokusposition in ungefähr
der kürzesten
praktischen Zeit zu bestimmen, die die erstrebenswerte Präzision für die geschätzte beste Fokusposition
bereitstellen kann. Bei verschiedenen beispielhaften Ausführungsformen
gibt es verschiedene Kompromisse und Beziehungen zwischen diesen
drei Variablen sowie alternative beispielhafte Verfahren und Sequenzen
zum Bestimmen ihrer Werte. Allgemeiner wird jedoch bei verschiedenen
beispielhaften Ausführungsformen
der Autofokusparameter oder die Autofokusvariable, die hinsichtlich
von Hardwareeinschränkungen
oder Präzisionsanforderungen
oder dergleichen für
ein bestimmtes Maschinenvisionsinspektionssystem oder einen bestimmten
Satz von Autofokusvorgängen
am schwersten belastet ist, zuerst erstellt, und dann werden die
anderen Autofokusparameter oder -variablen, die weniger solchen
Einschränkungen
und Anforderungen unterliegen, bestimmt.
-
Daher
wird in Schritt S190 der Wert für
eine erste dieser drei Variablen definiert. Dann wird in Schritt S200
der Wert für
eine zweite dieser drei Variablen angesichts des Werts der ersten
der Variablen bestimmt. Dann wird in Schritt S210 der Wert für die dritte
der drei Variablen auf der Grundlage der definierten Werte für die zwei
ersten Variablen bestimmt. Der Vorgang geht dann weiter zu Schritt
S220.
-
In
Schritt S220 werden die Ergebnisse, die von dem Satz von Autofokuscharakteristiken
oder -variablen geliefert werden, durch Prüfen eines Autofokusergebnisses
bestätigt.
Bei verschiedenen beispielhaften Ausführungsformen wird diese Bestätigung durch
eine Autofokusvorführung
bereitgestellt, die die Ergebnisse vergleichbarer Arbeitsmodusvorgänge nachahmt.
Das heißt,
es wird ein Satz von Vorführautofokusvorgängen ausgeführt, der
im Wesentlichen den Arbeitsmodusvorgängen ähnlich ist, die auf der Grundlage
der verschiedenen Lernmodusvorgänge
und dazugehörenden
Maschinenkonfiguration und des Satzes von Autofokuscharakteristiken
oder -variablen bestimmt wurden, welche während der Lernmodusvorgänge festgelegt
wurden. Eine Bewegung, eine Strobeimpulsbeleuchtung und eine Bilderfassungsrate,
die ähnlich
oder identisch sind mit denen, die von den Arbeitsmodusvorgängen und -einstellungen
bereitgestellt werden, werden zum Beispiel verwendet und basierend
auf den resultierenden Autofokusbildern, die über einen entsprechenden Gesamtautofokusbildbereich
auf der Z-Achse verteilt sind, wird eine geschätzte beste Fokusposition bestimmt.
Bei verschiedenen beispielhaften Ausführungsformen wird die Maschine
dann an der geschätzten
besten Fokusposition positioniert, ein Bewertungsbild wird erfasst
und angezeigt, und das Bewertungsbild wird bewertet. Bei verschiedenen
beispielhaften Ausführungsformen
erfolgt dies entweder durch manuelles Prüfen des Bewertungsbilds oder
durch Ausführen
eines Inspektionsvorgangs an dem Bewertungsbild und durch Analysieren der
Ergebnisse. Bei verschiedenen beispielhaften Ausführungsformen
wird die Autofokusvorführung
von dem Bediener unter Einsatz eines entsprechenden GUI-Steuermerkmals
ausgelöst.
-
In
Schritt S230 wird dann der bestätigte
Satz von Autofokusvorgängen
und -einstellungen aufgezeichnet. Dann werden in Schritt S240 die
Teilprogramm-Maschinensteueranweisungen,
die dem bestätigten
Satz von Autofokusvorgängen
und -einstellungen und den eventuellen anderen Einstellungen entsprechen,
die verwendet werden, um die bestätigten Autofokusergebnisse
zu erzeugen, erzeugt. Bei verschiedenen beispielhaften Ausführungsformen
enthalten diese Daten Informationen in Zusammenhang mit den Dimensionen
des interessierenden Bereichs, den Spezifikationen für einen
reduzierten Auslesepixelsatz, eine Bilderfassungswiederholungsrate,
die Beleuchtungseinstellungen, die bei verschiedenen Ausführungsformen
die Strobeimpulsstärke
und Strobeimpuls-Dauer, die Z-Achsen-Abtastgeschwindigkeit,
die Nennparameter des Gesamtautofokusbildbereichs auf der Z-Achse,
das ausgewählte
aktuelle Objektiv und dergleichen enthalten oder nicht. Zu bemerken
ist, dass bei verschiedenen beispielhaften Ausführungsformen die Vorgänge der
Schritte S230 und S240 verschmolzen und/oder nicht zu unterscheiden
sind. Dann werden in Schritt S250 andere erstrebenswerte Teilprogrammanweisungen
falls erforderlich erzeugt. Anschließend verlässt man in Schritt S260 den
Lernmodus, und die erzeugten Teilprogrammmaschinensteueranweisungen
werden für
den zukünftigen Gebrauch,
wie zum Beispiel während
eines automatischen Arbeitsmodus, gespeichert.
-
Wie
zuvor beschrieben werden beim Positionieren des Werkstücks in Schritt
S130 Koordinaten in einer X- und einer Y-Achse für das Werkstück erstellt.
Ferner kann die in Schritt S150 erzielte Arbeitsansicht manuell
von einem Benutzer oder automatisch von dem Maschinenvisionsinspektionssystem
erzielt werden.
-
Zu
bemerken ist, dass das Einstellen der Beleuchtung in Schritt S140
bei verschiedenen beispielhaften Ausführungsformen das direkte Einstellen
von Strobeimpuls-Bildparametern aufweist. Bei verschiedenen beispielhaften
Ausführungsformen
und wenn die Strobeimpuls-Beleuchtung verwendet wird, um die Beleuchtung
einzustellen, wird die Strobeimpuls-Beleuchtung manuell von einem Benutzer
oder automatisch gesteuert oder erstellt. Das Doppelzonenkontrastwerkzeug,
das unten in Verbindung mit 7 beschrieben
ist, ist ein Beispiel eines automatischen Belichtungsbewertungswerkzeugs,
das verwendet wird, um dabei zu helfen, erstrebenswerte Einstellungen
entweder für
den Strobeimpuls oder fortgesetzte Beleuchtung bei verschiedenen beispielhaften
Ausführungsformen
zu erstellen.
-
Beim
Definieren des interessierenden Bereichs für den Autofokusvorgang in den
Schritten S190 oder S200 wird bei verschiedenen beispielhaften Ausführungsformen
der interessierende Bereich für
den Autofokusvorgang unter Einsatz einer grafischen Benutzeroberfläche definiert
oder durch direktes Editieren zum Beispiel über ein Benutzeroberflächenfenster.
Bei noch weiteren beispielhaften Ausführungsformen wird der interessierende
Bereich für
den Autofokusvorgang durch eine Kombination des direkten Editierens
und des Gebrauchs der grafischen Benutzeroberfläche definiert.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften erfindungsgemäßen Ausführungsformen
ein reduzierter Auslesepixelsatz, der zuvor dargelegt wurde, in
Verbindung mit dem Definieren des interessierenden Bereichs definiert
wird. Bei verschiedenen beispielhaften Ausführungsformen wird der reduzierte
Auslesepixelsatz automatisch von dem Steuersystemabschnitt 100 auf
der Grundlage des interessierenden Bereichs definiert, der in den
Lernmodusvorgängen
definiert wird. Bei verschiedenen beispielhaften Ausführungsformen zeigt
eine GUI, die während
der verschiedenen Lernmodusoperationen verwendet wird, bestimmte
Lagen- und/oder Größencharakteristiken
eines betreibbaren reduzierten Auslesepixelsatzes, um einem Bediener
ein visuelles Feedback bereitzustellen, das beim Definieren des
interessierenden Bereichs und/oder eines entsprechenden reduzierten
Auslesepixelsatzes während
verschiedener Lernmodusvorgänge
von Nutzen ist. Verschiedene Betrachtungen in Zusammenhang mit der
Beziehung zwischen einem interessierenden Bereich und einem entsprechenden
reduzierten Auslesepixelsatz bei verschiedenen beispielhaften Ausführungsformen
werden unten unter Bezugnahme auf die 8-11 und 13 besprochen.
-
Beim
Definieren der Fokuskurvenabtastdichte und/oder Autofokusbildbeabstandung
in einem der Schritte S190-S210
wird bei verschiedenen beispielhaften Ausführungsformen die Dichte und/oder
Beabstandung innerhalb eines fortgesetzten Wertebereichs ausgewählt oder
bestimmt. Alternativ werden bei verschiedenen beispielhaften Ausführungsformen
vordefinierte jeweilige Standardwerte für die Dichte und/oder Beabstandung
als diskrete Werte bestimmt, die mit von einem Bediener festgelegten
Einstellungen verbunden sind, wie zum Beispiel grob gegenüber von
fein, präzise
gegenüber
weniger präzise
oder/und schneller gegenüber langsamer.
-
Bei
noch weiteren beispielhaften Ausführungsformen wird die Fokusbilderfassungsrate
definiert entweder als ein Optimierungsmodus oder ein vereinfachter
Modus oder soll ein solcher sein. Bei einem Optimierungsmodus wird
für eine
gegebene Kamera eine gegebene Menge von Steuerung über den
reduzierten Auslesepixelsatz bereitgestellt. Im Allgemeinen wird
zumindest eine Dimension des reduzierten Auslesepixelsatzes, der
in Verbindung mit dem interessierenden Bereich bestimmt wird, verwendet,
um die Autofokusbilderfassungsrate zu bestimmen, das heißt die Bilderfassungsrate,
die die Kamera für
den reduzierten Auslesepixelsatz in Zusammenhang mit dem gewünschten
interessierenden Bereich verwirklichen kann. Bei einem vereinfachten
Modus werden typische Wertesätze
für die
drei Parameter für
jedes auswählbare
Objektiv, das verwendet wird, vorbestimmt, und das niedrige, mittlere
und hohe Präzision
für die
geschätzte
beste Fokusposition bei verschiedenen beispielhaften Ausführungsformen
bildet.
-
Bei
wieder anderen beispielhaften Ausführungsformen wird ein Autofokuswerkzeug
in einem Standardmodus betrieben, der automatisch das Widget, das
den interessierenden Bereich der grafischen Benutzeroberfläche des
Autofokuswerkzeugs angibt, so bemisst, dass es einem angenommenen
typischen reduzierten Auslesepixelsatz entspricht, der eine bekannte
zugehörige
Bilderfassungsrate für
die Kamera hat. Bei verschiedenen beispielhaften Ausführungsformen
positioniert der Benutzer das Anzeige-Widget für den interessierenden Bereich
und steuert eine Dimension des interessierenden Bereichs unabhängig, während die
andere Dimension des interessierenden Bereichs automatisch funktional
von den Charakteristiken des angenommenen typischen reduzierten
Auslesepixelsatzes abhängt.
-
Bei
weiteren beispielhaften Ausführungsformen
ist ein Außerkraftsetzungsmodus
für Fälle vorgesehen,
wenn festgestellt wird, dass die Auflagen hinsichtlich des Anzeige-Widgets
des interessierenden Bereichs des Autofokuswerkzeugs oder der oder
die verfügbaren
reduzierten Auslesepixelsatzkonfiguration(en) für ein bestimmtes Merkmal des
zu inspizierenden Werkstücks
nicht akzeptabel sind. Ein solcher Außerkraftsetzungsmodus kann
zum Beispiel für
Werkstücke
wünschenswert
sein, die eine Oberfläche
mit eigenartiger Form, auf die zu fokussieren ist, haben, wie zum
Beispiel eine lange schmale Form oder dergleichen. In dem Außerkraftsetzungsmodus
wird bei einigen beispielhaften Ausführungsformen der interessierende
Bereich irgendwo in dem vollständigen
Gesichtsfeld der Kamera definiert, dann wird kein reduzierter Auslesepixelsatz verwendet,
und nach Bedarf werden relativ langsame Autofokusvorgängeergebnisse
verwendet.
-
Bei
einigen beispielhaften Ausführungsformen
wird beim Definieren der Scanbewegung und/oder maximalen Geschwindigkeit,
mit der die Kamera entlang der Z-Achse scannt, während Autofokusbilder in den Schritten
S190-S210 erfasst
werden, die Scanbewegung und/oder maximale Geschwindigkeit abgerundet
auf oder ausgewählt
aus diskreten vorbestimmten Geschwindigkeitsauswahlen. Bei verschiedenen
beispielhaften Ausführungsformen
wird die Scanbewegung und/oder die maximale Geschwindigkeit innerhalb
eines fortgesetzten Bereichs verfügbarer Geschwindigkeiten für das Maschinenvisionssystem
bestimmt. Bei verschiedenen anderen beispielhaften Ausführungsformen
weist die Scanbewegung eine Standard- oder spezifizierte Beschleunigung auf,
die von dem Maschinenvisionssystem bereitgestellt wird, und die
Beschleunigung endet an oder unter der maximalen Geschwindigkeit,
die in Verbindung mit der maximalen Autofokusbildbeabstandung verwendet
werden kann, und/oder die maximale Geschwindigkeit wird innerhalb
eines fortgesetzten Bereichs verfügbarer Geschwindigkeiten für das Maschinenvisionssystem
bestimmt.
-
Zu
bemerken ist, dass das in 6 dargelegte
Verfahren verwendet werden kann, um Teilprogrammanweisungen zu bestimmen
oder zu definieren, die zum automatischen Fokussieren einer Bildaufnahmevorrichtung
während
einer automatischen Maschinenvisionsinspektion mit hoher Geschwindigkeit
eines Werkstücks
umgesetzt werden können.
Sobald der Trainings- oder Lernmodus abgeschlossen und das daraus
hervorgehende Teilprogramm gespeichert ist, werden bei verschiedenen
beispielhaften Ausführungsformen
mehrere zusätzliche
entsprechende Werkstücke
automatisch inspiziert, indem die im Arbeitsmodus erzeugten und gespeicherten
Teilprogramme abgerufen und verwendet werden.
-
7 zeigt
eine beispielhafte Ausführungsform
eines Werkstückbilds 701 und
eine beispielhafte Ausführungsform
eines Multizonen-Bildqualitätswerkzeugs 700,
das bei verschiedenen beispielhaften Ausführungsformen verwendet werden
kann, um halbautomatisch oder automatisch eine gewünschte fortgesetzte und/oder
Strobeimpuls-Lichteinstellung zu bestimmen, die bei den schnellen
Autofokussystemen und -verfahren verwendet werden kann, die eine
geschätzte
beste Fokusposition gemäß dieser
Erfindung bestimmen. Verschiedene Verfahren und grafische Benutzeroberflächen, die
für das
Multizonen-Bildqualitätswerkzeug 700 und
dazugehörende
Lichteinstellsysteme verwendet werden können, sind in den US Patenten
6 542 180 und 6 239 554 offenbart, die hiermit durch Bezugnahme
in ihrer Gänze
eingegliedert werden.
-
Die
beispielhafte Ausführungsform
des Multizonen-Bildqualitätswerkzeugs 700,
das in 7 gezeigt ist, ist ein Doppelzonen-Bildqualitätswerkzeug.
Das beispielhafte Doppelzonen-Bildqualitätswerkzeug 700 weist
einen ersten interessierenden Bereich 710 und einen zweiten
interessierenden Bereich 720, die durch einen Balken 730 verbunden
sind, auf. Der Bereich, der von dem Balken 730 belegt ist,
bildet einen kritischen Bereich, in dem im Allgemeinen ein Werkstückmerkmal,
das zu inspizieren ist, enthalten ist. Wie in dem Patent '180 gelehrt, wird
das Doppelzonen-Bildqualitätswerkzeug 700 verwendet,
um eine Lichtkonfiguration und ein Beleuchtungsniveau zu erstellen,
die den Unterschied zwischen den mittleren Bildstärken, die
in dem ersten interessierenden Bereich 710 und in dem zweiten
interessierenden Bereich 720 gemessen werden, maximieren.
Derart führt
bei verschiedenen beispielhaften Ausführungsformen der Übergang
der Stärke über eine
Kante 750 oder ein anderes Merkmal in dem kritischen Bereich
zu der präzisesten
Definition der Kante 750 oder des anderen Merkmals in dem
Bild 701 für
einen gegebenen Fokusgrad in dem kritischen Bereich. Die interessierenden
Bereiche 710 und 720 sind als Rechtecke definiert.
Zu bemerken ist, dass jedwede Anzahl von interessierenden Bereichen
mit einer gewünschten
Form innerhalb des Multizonen-Bildqualitätswerkzeugs 700 bei
verschiedenen beispielhaften Ausführungsformen wie in dem Patent '180 gelehrt bereitgestellt
wird.
-
Ferner
ist zu bemerken, dass bei anderen verschiedenen beispielhaften Ausführungsformen
des Multizonen-Bildqualitätswerkzeugs
verschiedene Verhältnisse
der Breite der interessierenden Bereiche und des oder der Verbindungsbalken
verwendet werden können.
Zu bemerken ist, dass die Länge
des Verbindungsbalkens gleich Null sein kann. Zwei interessierende
Bereiche können
daher unmittelbar benachbart zueinander und rechts von der Kante
eines zu inspizierenden Merkmals in dem kritischen Bereich, wie
zum Beispiel einer Kante angeordnet werden.
-
Ein
Multizonen-Bildqualitätswerkzeug 700 oder
dergleichen ist vorhanden, um in einer Vielzahl von Arten bei verschiedenen
beispielhaften Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren zu funktionieren. Bei verschiedenen beispielhaften
Ausführungsformen
wird zum Beispiel ein Multizonen-Bildqualitätswerkzeug
von einem Bediener während
eines Trainingsmodus verwendet, um eine Beleuchtungskonfiguration
und ein Beleuchtungsniveau, die ursprünglich ungefähr von dem
Bediener definiert wurden, zu bewerten und/oder verfeinern. Bei
verschiedenen beispielhaften Ausführungsformen sind die vom Bediener
ursprünglich ungefähr definierte
Beleuchtungskonfiguration und das Beleuchtungsniveau entweder eine
fortgesetzte oder eine Strobeimpuls-Beleuchtungskonfiguration und -niveau.
Bei verschiedenen beispielhaften Ausführungsformen wird dies unter
Einsatz des Multizonen-Bildqualitätswerkzeugs
verfeinert. Bei weiteren verschiedenen beispielhaften Ausführungsformen
sind die ursprünglich
vom Bediener ungefähr
definierte Beleuchtungskonfiguration und das Beleuchtungsniveau
eine fortgesetzte Beleuchtungskonfiguration, die in eine Strobeimpuls-Beleuchtungskonfiguration
umgewandelt wird, die eine ungefähr
gleichwertige Gesamtbildbelichtung ergibt, und die Strobeimpuls-Beleuchtungskonfiguration
wird anhand des Multizonen-Bildqualitätswerkzeugs verfeinert.
-
Bei
verschiedenen anderen beispielhaften Ausführungsformen gehört ein Multizonen-Bildqualitätswerkzeug
zu dem Teilprogramm und wird ausgeführt, um verschiedene nominale
fortgesetzte oder Strobeimpuls-Beleuchtungsniveaus, die verbunden
mit verschiedenen Autofokusvorgängen
verwendet werden, zu verfeinern. Bei verschiedenen beispielhaften
Aus führungsformen
wird zum Beispiel das Multizonen-Bildqualitätswerkzeug,
wenn der interessierende Autofokusbereich eine Kante, die zu inspizieren
ist, enthält,
nach einer anfänglichen
Autofokussequenz und/oder vor dem Erfassen des endgültigen Inspektionsbilds
an der geschätzten
besten Fokusposition ausgeführt.
Bei verschiedenen beispielhaften Ausführungsformen erfolgt dies,
um für Effekte
der Beleuchtungssystem-Kalibrierungs „drift", Umgebungsbeleuchtungsänderungen
oder dergleichen auszugleichen und stellt die beste praktische Kantenautofokusdefinition
und/oder -präzision
beim automatischen Inspizieren eines Werkstücks im Arbeitsmodus bereit.
-
8 zeigt
das beispielhafte Werkstück
und Merkmal der 7, die zu inspizieren sind,
gemeinsam mit zwei beispielhaften Ausführungsformen von Autofokuswerkzeug-GUI-Widgets, die
bei verschiedenen Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren verwendet werden können.
Zwei beispielhafte Ausführungsformen
von Autofokuswerkzeug-GUI-Widgets, die mit den erfindungsgemäßen Systemen
und Verfahren verwendet werden können,
weisen ein Kantenfokuswerkzeug-Widget 810 und ein Oberflächenfokuswerkzeug-Widget 820 auf.
Bei verschiedenen beispielhaften Ausführungsformen werden diese Autofokuswerkzeuge
verwendet, um automatisch auf das beispielhafte Werkstückbild 801 zu
fokussieren. Bei verschiedenen beispielhaften Ausführungsformen
haben vordefinierte Autofokuswerkzeuge spezifische Einstellungen. Bei
verschiedenen beispielhaften Ausführungsformen werden diese Einstellungen
von einem Benutzer justiert oder neu definiert, brauchen jedoch
nicht neu definiert zu werden, um das Werkzeug zu verwenden. Bei
verschiedenen beispielhaften Ausführungsformen werden die Werkzeuge
mit den vordefinierten Einstellungen verwendet. Verschiedene Betriebscharakteristiken
des Kantenfokuswerkzeug-GUI-Widgets 810 und
des Oberflächenwerkzeug-GUI-Widgets 820 sind
allgemein in dem Benutzerhandbuch QVPAK 3D CNC Vision Measuring
Machine Users Guide und QVPAK 3D CNC Vision Measuring Machine Operation
Guide, die zuvor eingegliedert wurden, beschrieben.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird das Kantenfokuswerkzeug-Widget 810 als eine
Box mit einem Pfeil in der Mitte angezeigt. Bei verschiedenen beispielhaften
Ausführungsformen
wird das Widget 810 von einem Bediener bemessen, positioniert
und gedreht, bis die Box den interessierenden Autofokusbereich anzeigt
oder definiert und der Pfeil eine Kante, die zu inspizieren ist,
anzeigt, die auch die Kante ist, die die Charakteristiken hat, die
von der oder den operativen Kantenfokusmetrik(en) bewertet werden.
-
Bei
verschiedenen beispielhaften Ausführungsformen verwendet die
Kantenfokusmetrik einen oder mehrere herkömmliche Kantengradienten entlang
der Kante in dem interessierenden Bereich, und der für jedes
Autofokusbild verwendete Fokuswert ist die Größe mit Vorzeichen des oder
der Kantengradienten. Die Richtung des Pfeils definiert nämlich eine
Referenzrichtung oder Polarität,
die mit dem Kantengradienten bei diesen verschiedenen beispielhaften
Ausführungsformen
zu verbinden ist. Zu bemerken ist, dass der interessierende Bereich,
der von den Grenzen des Kantenfokuswerkzeug-Widgets 810 angegeben
wird, in der Größe verringert
ist, um nur ein kurzes Segment entlang einer Kante nach Wunsch bei
verschiedenen beispielhaften Ausführungsformen zu enthalten.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird das Oberflächenfokuswerkzeug-GUI-Widget 820 als
eine Box mit einem „X" in der Mitte angezeigt.
Bei verschiedenen beispielhaften Ausführungsformen wird das Oberflächenfokuswerkzeug-Widget 820 von
einem Bediener bemessen, positioniert und gedreht, bis die Box den
interessierenden Autofokusbereich anzeigt oder definiert. Zu bemerken
ist, dass der interessierende Bereich des Oberflächenfokuswerkzeug-Widgets 820 in
der Größe vergrößert oder
verringert wird, um in etwa den eigentlichen Oberflächenabschnitt
zu enthalten, der bei verschiedenen beispielhaften Ausführungsformen
für einen
bestimmten Inspektionsvorgang verwendet wird, wie zum Beispiel eine
Höhenbestimmung
oder eine Oberflächenendfertigungsbewertung
oder dergleichen.
-
Wie
zuvor erwähnt,
wird bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung das Kamerasystem 260 betrieben, um einen reduzierten
Auslesepixelsatz gemäß dieser
Erfindung bereitzustellen. Der reduzierte Auslesepixelsatz entspricht
im Wesentlichen weniger als dem vollständigen Gesichtsfeld des Kamerasystems 260 entlang
mindestens einer Dimension des Gesichtsfelds des Kamerasystems 260.
Eine Wiederholungsrate zum Erfassen einer Sequenz von Autofokusbildern
und zum Speichern der Daten, die dem reduzierten Auslesepixelsatz
entsprechen, ist daher wesentlich schneller als die Rate in Zusammenhang
mit dem Erfassen von Bildern und dem Speichern der Daten, die einem
vollständigen
Pixelsatz für
das gesamte Gesichtsfeld des Kamerasystems 260 entsprechen.
Bei verschiedenen beispielhaften Ausführungsformen wird ein Kamerasystem 260 verwendet,
das betrieben werden kann, um einen reduzierten Auslesepixelsatz
bereitzustellen, der im Wesentlichen oder identisch den interessierenden
Bereichen entspricht, die unter Einsatz des Kantenfokuswerkzeug-Widgets 810 oder
des Oberflächenfokuswerkzeug-Widgets 820 definiert
werden. Bei diesen beispielhaften Ausführungsformen werden die Pixel,
die dem gesamten interessierenden Bereich entsprechen, verwendet,
um einen Fokuswert wie zuvor dargelegt und unten weiter besprochen
zu bestimmen.
-
Bei
verschiedenen beispielhaften Ausführungsformen stellt ein Oberflächenfokusvorgang
einen Bildfokus bereit, der die Definition oder Schärfe einer
Oberflächenbeschaffenheit
in einem interessierenden Bereich oder ein Muster, das auf eine
glatte Oberfläche
in einem interessierenden Bereich projiziert wird, maximiert, um
einen Koordinatenwert bereitzustellen, der die Oberfläche entlang
der Z-Achsen-Richtung präzise lokalisiert,
oder um ein Inspektionsbild an der Koordinate bereitzustellen, die
das klarste Bild zum Inspizieren der Oberfläche bereitstellt. Bei verschiedenen
beispielhaften Ausführungsformen
gibt die Oberflächenfokusmetrik,
die verwendet wird, um den Fokuswert für ein Autofokusbild zu bestimmen,
den Grad des Kontrasts in dem interessierenden Bereich an. Eine
Ausführungsform
einer solchen Oberflächenfokusmetrik
ist der zum Quadrat erhobene Gradient der Pixelbildstärke oder
des Graupegels in dem interessierenden Bereich. Beim Fokussieren
auf eine Oberfläche
beruht bei verschiedenen beispielhaften Ausführungsformen die Kontrastbestimmung
auf dem mittleren zum Quadrat erhobenen Gradienten der Bildstärke oder
des Graupegels innerhalb des interessierenden Bereichs. Die folgenden
Gleichungen führen
zum Beispiel eine beispielhafte Ausführungsform des Berechnens eines
Fokuswerts bei solchen beispielhaften Ausführungsformen vor. Für einen Punkt
i an der Lücke
von vier Pixeln A, B, C und D definiert:
umgeschrieben
wie folgt:
-
Für den interessierenden
Gesamtautofokusbereich (AROI) wird bei verschiedenen beispielhaften
Ausführungsformen
ein repräsentativer
Fokuswert als der mittlere Kontrast für alle N solche Punkte in dem
AROI bestimmt, das heißt.
-
-
9 und 10 zeigen
das beispielhafte zu inspizierende Werkstück und Merkmal der 7 gemeinsam
mit alternativen beispielhaften Ausführungsformen der grafischen
Benutzeroberflächen-Autofokuswerkzeug-Widgets 810' und 820', die dem Kantenfokuswerkzeug
und dem Oberflächenfokuswerkzeug
entsprechen. 9 zeigt auch zwei alternative
Ausführungsformen
von Anzeige-Widgets 870 und 875 eines
reduzierten Auslesepixelsatzes. Das Anzeige-Widget 870 des
reduzierten Auslesepixelsatzes, entspricht dem reduzierten Auslesepixelsatz
von 100 Zeilen von Pixeln, die sich an einer feststehenden Position
in der Mitte des Gesichtsfelds befinden. Das Anzeige-Widget 875 des
reduzierten Auslesepixelsatzes entspricht dem reduzierten Auslesepixelsatz
eines Blocks zu 100 × 100
Pixeln, die sich an einer feststehenden Position in der Mitte des
Gesichtsfelds befinden. Diese alternativen beispielhaften reduzierten
Auslesepixelsätze
werden von verschiedenen im Handel erhältlichen Kameras bereitgestellt.
-
Wenn
daher diese beispielhaften Kameras und reduzierten Auslesepixelsätze bei
verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung verwendet werden, weisen die Autofokuswerkzeug-Widgets 810' und 820', die dem Kantenfokuswerkzeug
bzw. dem Oberflächenfokuswerkzeug
entsprechen, jeweils mindestens eine Dimension auf, die begrenzt
oder auf eine Größe festgelegt
ist, die gleich oder kleiner ist als die entsprechende feststehende
Dimension des betreibbaren reduzierten Auslesepixelsatzes. Das erfolgt,
um Merker oder Auflagen bereitzustellen, die für einen Benutzer beim konstruktiven
Lokalisieren und Bemessen des den interessierenden Bereich definierenden
Widgets in der Nähe
eines Merkmals des Werkstücks,
das zu inspizieren ist, behilflich sind. Bei verschiedenen beispielhaften
Ausführungsformen
gemäß dieser
Erfindung ist zum Beispiel die vertikale Dimension so begrenzt oder
festgelegt, wenn der reduzierte Auslesepixelsatz gemäß dem Anzeige-Widget 870 betreibbar
ist, und sowohl die vertikale als auch die horizontale Dimension
sind so begrenzt oder festgesetzt, wenn der reduzierte Auslesepixelsatz,
der dem Anzeige-Widget 875 entspricht, betreibbar ist.
-
Bei
verschiedenen beispielhaften Ausführungsformen und weil nur der
Abschnitt des interessierenden Bereichs, der den reduzierten Auslesepixelsatz überlappt,
tatsächlich
verfügbar
ist und zum Bestimmen eines entsprechenden Fokuswerts verwendet
wird, ist es klar, dass es zum Bereitstellen ausreichend präziser und/oder
wiederholbarer Fokuswerte vorzuziehen sein kann, dass der betreibbare
reduzierte Auslesepixelsatz den interessierenden Bereich mit einem
ausreichenden Abschnitt überlappt.
Bei verschiedenen beispielhaften Ausführungsformen, insbesondere
wenn der interessierende Bereich relativ klein ist, etwa wie zum
Beispiel in 9 und 10 gezeigt, überlappt
ein Großteil
des interessierenden Bereichs vorzugsweise aber nicht notwendigerweise
den betreibbaren reduzierten Auslesepixelsatz. Bei verschiedenen
beispielhaften Ausführungsformen,
die einen reduzierten Auslesepixelsatz verwenden, der eine feststehende
Lage hat, wird daher ein entsprechendes reduziertes Auslesepixelsatz-Anzeige-Widget
wie das von den Widgets 870 oder 875 angegebene
oder dergleichen angezeigt, wenn ein Anzeige-Widget für einen
interessierenden Autofokuswerkzeugbereich angezeigt wird, wie zum
Beispiel das Widget 810' oder 820' oder dergleichen,
um nützliche
visuelle Merker oder Feedback für
einen Bediener während
verschiedener Trainingsmodusvorgänge bereitzustellen.
Bei solchen Ausführungsformen
kann ein Bediener ein Merkmal oder einen interessierenden Bereich
leicht positionieren, so dass es/er zumindest teilweise den angegebenen
Bereich des reduzierten Auslesepixelsatzes überlappt.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen positioniert der
Benutzer den interessierenden Bereich außerhalb des angezeigten Bereichs
des reduzierten Auslesepixelsatzes, und das Maschinenvisionssystem
kann betrieben werden, um den Werkstücktisch und/oder die Kamera
automatisch oder halbautomatisch neu zu positionieren, so dass der
interessierende Bereich bewegt wird, um zumindest teilweise den
Bereich des reduzierten Auslesepixelsatzes zu überlappen. Bei solchen Ausführungsformen
ist das Widget 870 oder 875, das den reduzierten
Auslesepixelsatz angibt, oder dergleichen nützlich, um eine visuelle Bestätigung der
bereitgestellten Überlappungsmenge
zu liefern.
-
10 zeigt zusätzlich
zu den Widgets 810' und 820' des interessierenden
Autofokuswerkzeugbereichs drei alternative Instanzen eines Anzeige-Widgets
eines reduzierten Auslesepixelsatzes, wobei die verschiedenen Instanzen
an den Positionen 880A, 880B und 880C angegeben
sind. Die Anzeige-Widgets für
einen reduzierten Auslesepixelsatz 880A, 880B und 880C entsprechen
einem reduzierten Auslesepixelsatz eines feststehenden oder Standardblocks
100 × 100
von Pixeln, der sich in einer steuerbaren variablen Position in
dem Gesichtsfeld befindet. Wenn daher ein solcher reduzierter Auslesepixelsatz
verwendet wird, werden die Autofokuswerkzeug-Widgets 810' und 820' bei verschiedenen
beispielhaften Ausführungsformen
gemäß dieser
Erfindung ursprünglich
auf dem Display mit einer Größe präsentiert,
die gleich oder kleiner ist als die entsprechende festgestellte
oder Standardgröße des betreibbaren
reduzierten Auslesepixelsatzes. Das erfolgt, um Merker oder Auflagen
bereitzustellen, die für
einen Bediener hilfreich sind, um in der Nähe eines zu inspizierenden
Merkmals des Werkstücks
das den interessierenden Bereich definierende Widget konstruktiv
zu lokalisieren und zu bemessen.
-
Wie
zuvor beschrieben und weil nur der Abschnitt des interessierenden
Bereichs, der den reduzierten Auslesepixelsatz überlappt, tatsächlich verfügbar ist
und zum Bestimmen eines entsprechenden Fokuswerts verwendet wird,
ist klar, dass es zum Bereitstellen ausreichend präziser und/oder
wiederholbarer Fokuswerte vorzuziehen sein kann, dass der betreibbare
reduzierte Auslesepixelsatz einen ausreichenden Abschnitt des interessierenden
Bereichs überlappt.
Bei verschiedenen beispielhaften Ausführungsformen, insbesondere wenn
der interessierende Bereich relativ klein ist, etwa wie zum Beispiel
in 10 gezeigt, überlappt
vorzugsweise aber nicht notwendigerweise ein Großteil des interessierenden
Bereichs den betreibbaren reduzierten Auslesepixelsatz. Bei verschiedenen
beispielhaften Ausführungsformen,
die einen reduzierten Auslesepixelsatz verwenden, der eine feststehende
Größe und eine
variable Lage hat, wird daher ein geeignetes Anzeige-Widget für einen
reduzierten Auslesepixelsatz, wie zum Beispiel das, das von den
Widgets 880A, 880B und 880C oder dergleichen
angegeben wird, angezeigt, wenn ein Widget für einen interessierenden Autofokuswerkzeugbereich,
wie zum Beispiel die Widgets 810' oder 820' oder dergleichen angezeigt wird.
Das stellt nützliche
visuelle Merker oder Feedback für
einen Bediener während
verschiedener Trainingsmodusvorgänge bereit.
-
Bei
verschiedenen beispielhaften Ausführungsformen werden der reduzierte
Auslesepixelsatz und das entsprechende Anzeige-Widget, wie zum Beispiel
das Widget 880, automatisch zu dem definierten interessierenden
Bereich zentriert, und wenn sich eine Grenze des einen interessierenden
Bereich anzeigenden Abschnitts eines Autofokuswerkzeug-GUI-Widgets
außerhalb
der angegebenen Lage des reduzierten Auslesepixelsatzes erstreckt,
wird automatisch ein Element der grafischen Benutzeroberfläche aktiviert,
um diesen Zustand hervorzuheben. Bei verschiedenen beispielhaften
Ausführungsformen
werden zum Beispiel die Abschnitte des Autofokuswerkzeug-Widgets 820'', die sich außerhalb des angegebenen Bereichs
des reduzierten Auslesepixelsatzes an der Lage 880B erstrecken,
durch einen Linienfarben- oder Stärkenwechsel hervorgehoben,
oder die entsprechende Zone wird hervorgehoben oder dergleichen.
Bei solchen beispielhaften Ausführungsformen
erkennt ein Bediener leicht den Abschnitt eines interessierenden
Bereichs, der den angegebenen Bereich des reduzierten Auslesepixelsatzes
nicht überlappt
und/oder justiert ihn, und/oder entscheidet, ob der überlappende
Abschnitt ausreicht. Wenn der Bediener entscheidet, dass der überlappende
Abschnitt nicht ausreicht, wird der zuvor dargelegte Außerkraftsetzungsmodus
bei verschiedenen beispielhaften Ausführungsformen umgesetzt.
-
An
der Lage 880A überlappt
der angegebene reduzierte Auslesepixelsatz den interessierenden
Bereich 810' komplett.
An der Lage 880C fällt
der interessierende Bereich 820' genau mit dem angegebenen reduzierten
Auslesepixelsatz zusammen, so dass der angegebene reduzierte Auslesepixelsatz
nicht klar sichtbar ist.
-
11 zeigt eine beispielhafte Ausführungsform
eines Oberflächenautofokuswerkzeug-GUI-Widgets 820''' gemeinsam
mit beispielhaften Ausführungsformen
verschiedener Steuer-Widgets, die zum Auswählen verschiedener Modi und
Vorgänge
in Zusammenhang mit Autofokusvorgängen gemäß dieser Erfindung in einem
Trainingsmodus verwendet werden können. Bei verschiedenen beispielhaften
Ausführungsformen
klickt man auf das Steuer-Widget 830 mit einer Maus oder betätigt es
in anderer Weise, um automatische Vorgänge auszulösen, so dass ein interessierender
Bereich bewegt wird, um zumindest teilweise den Bereich eines feststehenden
reduzierten Auslesepixelsatzes wie zuvor dargelegt zu überlappen.
-
Bei
verschiedenen beispielhaften Ausführungsformen klickt man auf
die Steuertaste 832 des Steuer-Widgets 831 mit
einer Maus, um einen Betriebsmodus auszuwählen, bei dem ein relativ kleiner
reduzierter Auslesepixelsatz ausgewählt wird, um eine relativ schnellere
Autofokusbilderfassungsrate für
schnellere Autofokusvorgänge
bereitzustellen, auch wenn der reduzierte Auslesepixelsatz nur einen
ausreichenden Abschnitt eines definierten interessierenden Bereichs überlappt.
Bei verschiedenen beispielhaften Ausführungsformen klickt man hingegen
auf die Steuertaste 833 mit einer Maus oder betätigt sie
auf andere Weise, um einen Betriebsmodus auszuwählen, bei dem der reduzierte
Auslesepixelsatz oder, bei Bedarf, der Außerkraftsetzungsmodus ausgewählt wird,
so dass der betreibbare Satz von Auslesepixeln zumindest groß genug
ist, um den ganzen interessierenden Bereich zu überlappen. Das erfolgt, um
die bestmöglich
geschätzte
beste Fokuspositionspräzision
für einen
eigenartig geformten oder zum Beispiel großen interessierenden Bereich
bereitzustellen.
-
Bei
verschiedenen beispielhaften Ausführungsformen klickt man auf
die Steuertaste 835 des Steuer-Widgets 834 mit
einer Maus oder betätigt
sie auf andere Weise, um einen Autofokusmodus auszuwählen, der
einen relativ niedrigen Präzisionsmodus
zum Bestimmen der geschätzten
besten Fokusposition bereitstellt, zum Beispiel einen Modus mit
niedriger Präzision
in etwa wie zuvor beschrieben. Das stellt ebenfalls relativ schnellen
Autofokusbetrieb bereit. Bei verschiedenen beispielhaften Ausführungsformen
klickt man hingegen auf die Steuertaste 836 mit einer Maus
oder aktiviert sie auf andere Weise, um einen Autofokusmodus auszuwählen, der
den Modus mit höchster
Präzision
zum Bestimmen der geschätzten
besten Fokusposition bereitstellt, zum Beispiel einen Modus mit
hoher Präzision
in etwa wie zuvor beschrieben.
-
Bei
verschiedenen beispielhaften Ausführungsformen klickt man auf
die Steuertaste 838 des Steuer-Widgets 837 mit
einer Maus oder aktiviert sie auf andere Weise, um automatische
Vorgänge
auszulösen, die
eine Autofokuslern- oder Trainingsmodusvorführung auslösen, die die Ergebnisse vergleichbarer
Arbeitsmodusvorgänge
nachahmt, zum Beispiel wie zuvor dargelegt. Bei verschiedenen beispielhaften
Ausführungsformen
klickt man auf die Steuertaste 839 des Steuer-Widgets 837 mit
einer Maus oder betätigt
sie auf andere Weise, um die Einstellungen eines voll definierten
oder trainierten Autofokuswerkzeugs zu akzeptieren, zum Beispiel
um eine Trainingsmodusautofokusvorführung zu umgehen oder um die
Ergebnisse zu akzeptieren, die von einem Schätzungsbild angegeben werden,
das als Ergebnis einer Trainingsmodusautofokusvorführung bereitgestellt
wird, um zu zusätzlichen
Trainingsmodusvorgängen
weiterzugehen.
-
Zu
bemerken ist, dass verschiedene Aspekte der zuvor beschriebenen
Autofokuswerkzeuge und Widgets bei verschiedenen beispielhaften
Ausführungsformen
getrennt oder in verschiedenen Kombinationen umgesetzt werden können. Ferner
ist zu bemerken, dass alternative Formen der verschiedenen GUI-Widgets
und Steuerungen bei verschiedenen beispielhaften Ausführungsformen
klar sind. Die oben stehenden Ausführungsformen sind daher bloß veranschaulichend
und nicht einschränkend.
-
12 veranschaulicht eine beispielhafte Ausführungsform
eines Fensters einer grafischen Benutzeroberfläche für ein beispielhaftes Autofokuswerkzeug,
das erfindungsgemäß eingesetzt
werden kann. Verschiedene beispielhafte Ausführungsformen weisen ein beispielhaftes
Dialogfeld 901 auf, das verbunden mit dem Anzeigen und/oder
Neudefinieren einiger der Standardautofokusparameter in Zusammenhang
mit einem Autofokus-GUI-Werkzeug verwendet werden kann, wie zum
Beispiel das Kantenfokuswerkzeug 810 oder das Oberflächenfokuswerkzeug 820,
die oben dargelegt wurden. Bei verschiedenen beispielhaften Ausführungsformen
ruft ein Benutzer ein solches Dialogfeld zu unterschiedlichen Zeiten
während
des manuellen oder Trainingsmodusbetriebs eines Maschinenvisionsinspektionssystems
auf. Danach richtet der Benutzer bei verschiedenen beispielhaften
Ausführungsformen
das Autofokus-GUI-Werkzeug ein und führt es aus, indem er jeweils
die Standardparameter verwendet.
-
Zu
bemerken ist ferner, dass bei verschiedenen beispielhaften Ausführungsformen
ein ähnliches
Dialogfeld verwendet wird, um die dazugehörenden Autofokusparameter zum
Beispiel eines Autofokus-GUI-Werkzeugs
anzuzeigen und/oder neu zu definieren, das für eine bestimmte Anwendung
oder einen interessierenden Werkstückbereich von dem Benutzer
speziell angepasst wird, grafisch oder auf andere Weise, wie oben
dargelegt. Bei einem Oberflächenfokusmodus
weist das Dialogfeld 901 Anzeigen oder Eingaben auf, die
den Fokusmodus, die Werkzeugposition und Größe, das heißt die Nennlage und Größe des interessierenden
Autofokusbereichs, den Suchbereich, das heißt den Gesamtautofokus-Z-Scanbereich oder
Fokusbildbereich, der bei verschiedenen beispielhaften Ausführungsformen
in genormten Einheiten vorliegt, anzeigen, um hinsichtlich der Feldtiefe
des verwendbaren Objektivs oder dergleichen angewandt zu werden,
und einen Standardsuchtyp, das heißt den Typ von Geschwindigkeits-
und Präzisionskombination,
zum Beispiel niedrige, mittlere oder hohe Präzision, die die Grundlage für verschiedenes
Auswählen
von oder Steuern von verschiedenen anderen Autofokusparametern wie
zuvor in Zusammenhang mit verschiedenen Autofokuspräzisions-
und Geschwindigkeitsbetrachtungen besprochen bereitstellt.
-
Bei
der beispielhaften Ausführungsform,
die in 12 gezeigt ist, beobachtet
und/oder ändert
der Benutzer die Autofokuswerkzeugeinstellungen digital. Zu bemerken
ist auch, dass die Autofokuswerkzeugeinstellungen bei noch weiteren
beispielhaften Ausführungsformen
grafisch beobachtet und/oder geändert
werden. Es ist daher klar, dass die Autofokussysteme und verfahren
gemäß dieser
Erfindung bei verschiedenen beispielhaften Ausführungsformen trainiert und
manuell oder halbautomatisch oder automatisch unter Einsatz verschiedener
leicht zu verwendender Verfahren auf Text- und Grafikbasis benutzt
werden, und bei verschiedenen beispielhaften Ausführungsformen ähnlich speziell
angepasst oder an eine große
Vielzahl von einzelnen Anwendungen und Werkstückmerkmalen und interessierenden
Regionen von Benutzern angepasst werden, die keine Experten sind.
Verschiedene zusätzliche
Parametereinstellungen oder andere nützliche alternative Formen
des Dialogfelds 901 oder dergleichen sollten klar sein.
Es ist daher klar, dass die oben stehende Ausführungsform allein veranschaulichend
und nicht einschränkend
ist.
-
13 ist ein Kurvenschreiberausdruck 1000,
der eine generische Beziehung zwischen der Größe eines reduzierten Auslesepixelsatzes
und einer verwirklichbaren Autofokusbilderfassungsrate bei verschiedenen
beispielhaften Ausführungsformen
gemäß dieser
Erfindung veranschaulicht. Bei verschiedenen beispielhaften Ausführungsformen
kann das Kamerasystem betrieben werden, um aus einer Vielzahl reduzierter
Auslesepixelsätze
verschiedener Größen innerhalb
des gesamten oder maximalen Kameragesichtsfelds auszuwählen.
-
In 13 entspricht die X-Achse der Größe eines
reduzierten Auslesepixelsatzes. Punkte nach rechts auf der X-Achse
zeigen einen reduzierten Auslesepixelsatz an, der größer ist,
was die Kamerapixeleinheiten betrifft, oder dergleichen. Punkte
nach links auf der X-Achse zeigen einen reduzierten Auslesepixelsatz
an, der kleiner ist, was die Kamerapixeleinheiten betrifft, oder
dergleichen. Die Y-Achse in 13 entspricht
der Fokusbilderfassungsrate. Punkte, die auf der Y-Achse höher liegen,
entsprechen schnelleren Fokusbilderfassungsraten als Punkte niedriger
auf der Y-Achse.
-
Die
Kurve 1001 in 13 stellt
ein inhärentes
oder generisches Betriebsmerkmal verschiedener Kameras dar, die
bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung verwendet werden, Die beispielhafte theoretische Kurve 1001 ist
fast linear. Sie ist jedoch nicht perfekt linear, weil die funktionalen
Charakteristiken der meisten Kameras aufgrund eines bestimmten Zeitsteuerungs-„Overheads" für Kameravorgänge, die
sich trotz der Größe des reduzierten
Auslesepixelsatzes für
ein bestimmtes Bild nicht ändern,
nicht linear sind. Zu bemerken ist, dass eine ähnliche tatsächliche
Kurve für
jeden ähnlichen
Typ einzelner Kameras erstellt werden kann, die gemäß den Konzepten
der vorliegenden Erfindung verwendet wird. Die tatsächliche
Kurve für
eine Kamera ist jedoch nicht notwendigerweise die gleiche wie die
tatsächliche
Kurve für
eine andere Kamera. Wie jedoch in 13 gezeigt
ist, ergeben im Allgemeinen kleinere reduzierte Auslesepixelsatzgrößen schnellere
Autofokusbilderfassungsraten bei verschiedenen beispielhaften Ausführungsformen
gemäß der vorliegenden
Erfindung, wobei das Kamerasystem betrieben werden kann, um aus
einer Vielzahl reduzierter Auslesepixelsätze verschiedener Größen innerhalb
des gesamten oder maximalen Kameragesichtsfelds auszuwählen. Umgekehrt
führen
größere reduzierte
Autofokus-Auslesepixelsatzgrößen zu langsameren
Autofokusbilderfassungsraten, können
jedoch erforderlich sein, um einen erstrebenswerten Präzisionsgrad
bereitzustellen. Um eine sehr präzise
Schätzung
der besten Fokusposition zu erzielen, werden bei verschiedenen beispielhaften
Ausführungsformen
gemäß dieser
Erfindung in einem Modus mit hoher Präzision die reduzierten Auslesepixelsatzgrößen verbunden
mit einem definierten interessierenden Bereich so ausgewählt, dass
in der Größenordnung
von 10.000 Pixel in dem Bereich enthalten sind, in dem der reduzierte Auslesepixelsatz
den interessierenden Bereich überlappt.
-
Die
Berücksichtigung
der Kamerabetriebscharakteristiken, die in 13 wiedergegeben
sind, erleichtert im Allgemeinen die Auswahl einer erstrebenswerten
Kombination aus Autofokusparametern gemäß den erfindungsgemäßen Systemen
und Verfahren, darunter die Auswahl einer erstrebenswerten Größe für den interessierenden
Autofokusbereich, um am besten eine erstrebenswerte Kombination
oder einen Kompromiss zwischen Autofokusgeschwindigkeit und -präzision zu
erzielen.
-
14 ist ein Kurvenschreiberausdruck 1100,
der beispielhafte generische Beziehungen zwischen Fokusbilderfassungsrate
und Autofokusscanbewegungsgeschwindigkeit für einen beispielhaften Autofokusmodus
mit niedrigerer Präzision
darstellt, der der Kurve 1101 entspricht, und einen beispielhaften
Autofokusmodus mit höherer
Präzision,
der der Kurve 1102 bei verschiedenen beispielhaften erfindungsgemäßen Ausführungsformen
entspricht. Die X-Achse entspricht der Autofokusbilderfassungsrate,
der gleichen Betriebscharakteristik oder dem Parameter, der auf
der Y-Achse in 13 wiedergegeben ist. Bei verschiedenen
beispielhaften Ausführungsformen
und nach Bestimmen einer Fokusbilderfassungsrate wie in Zusammenhang mit 13 beschrieben, wird daher dann eine zulässige Autofokusscanbewegungsgeschwindigkeit
auf der Grundlage der in 14 veranschaulichten
Beziehungen bestimmt.
-
Die
Y-Achse in 14 entspricht einer mittleren
Autofokusscanbewegungsgeschwindigkeit entlang der Z-Achsen-Richtung für Ausführungsformen,
die eine relativ konstante Geschwindigkeit beim Erfassen einer Sequenz
von Autofokusbildern verwenden, und sie entspricht in etwa der maximalen
Autofokusscanbewegungsgeschwindigkeit innerhalb eines erstrebenswerten
Autofokusbildbereichs entlang der Z-Achsen-Richtung bei Ausführungsformen,
die Beschleunigung über
einen signifikanten Abschnitt des erstrebenswerten Autofokusbildbereichs
verwenden, während
sie eine Autofokusbildsequenz erfassen. In beiden Fällen entsprechen
höhere
Lagen auf der Y-Achse in 14 schnelleren
Autofokusscanbewegungsgeschwindigkeiten und niedrigere Punkte auf
der Y-Achse in 14 entsprechen langsameren
Autofokusscanbewegungsgeschwindigkeiten.
-
Zu
bemerken ist, dass eine bestimmte Autofokusbilderfassungsrate geteilt
durch eine bestimmte mittlere oder maximale Autofokusscanbewegungsgeschwindigkeit
innerhalb des erstrebenswerten Autofokusbildbereichs direkt die
Autofokusbildabtastdichte bzw. die maximale Autofokusbildbeabstandung
jeweils entlang der Z-Achsen-Richtung direkt bestimmt, die für einen
bestimmten Satz von Autofokusbildern bereitgestellt ist und die
entsprechende Fokuskurve bestimmt. Relativ höhere oder dichtere Fokuskurvenabtastdichten
oder relativ kleinere maximale Autofokusbildbeabstandungen treten
daher nach unten und nach rechts auf den Kurven in dem Kurvenschreiberausdruck 1110 auf,
und relativ niedrigere oder dünnere
Fokuskurvenabtastdichten oder relativ größere maximale Autofokusbildbeabstandungen treten
nach oben und nach links auf den Kurven in dem Kurvenschreiberausdruck 1100 auf.
Die Fokuskurvenabtastdichte und ihre Beziehung zu der Autofokuspräzision wurden
zuvor unter Bezugnahme auf die 3 und 4 besprochen.
Wie aus der vorhergehenden Besprechung hervorgeht, bestimmt bei
Ausführungsformen,
die während
einer Autofokusbilderfassung Beschleunigung verwenden, die Größe der maximalen
Autofokusbildbeabstandung eine „nicht lineare" Fokuskurvenabtastdichte,
die im Durchschnitt entweder dichter ist und einer kleineren maximalen
Beabstandung entspricht oder dünner
ist und einer größeren maximalen
Beabstandung entspricht. Die Präzisionseffekte in
Zusammenhang mit der Größe der maximalen
Autofokusbildbeabstandung werden daher durch Analogie mit den entsprechenden
Diskussionen der Fokuskurvenabtastdichte und -präzision, die hier enthalten
sind, verstanden.
-
Relativ
weniger dichte Fokuskurvenabtastung führt im Allgemeinen zu gesteigerter
Ungewissheit oder Fehlern beim Schätzen einer Fokuskurve und der
dazugehörenden
geschätzten
besten Fokusposition. Die Autofokusmoduskurve 1101 mit
relativ niedrigerer Präzision
tritt daher nach oben und links auf, und die Autofokusmoduskurve 1102 mit
relativ höherer
Präzision
tritt nach unten und nach rechts in dem Kurvenschreiberausdruck 1100 auf.
-
Jede
der jeweiligen Autofokusmoduskurven 1101 und 1102 entspricht
einer jeweiligen Fokuskurvenabtastdichte, die an jedem Punkt entlang
der jeweiligen Kurve gleich ist. Der Vorgang gemäß irgendeinem Punkt entlang
der Autofokusmoduskurve 1102 mit höherer Präzision tendiert daher im Allgemeinen
dazu, eine dichter abgetastete Fokus-zu-Position-Kurve zu erzeugen
als die in 3 veranschaulichte. Hingegen
tendiert der Vorgang gemäß irgendeinem
Punkt entlang der Autofokusmoduskurve 1101 mit niedrigerer
Präzision
im Allgemeinen dazu, eine dünner
abgetastete Fokus-zu-Position-Kurve zu erzeugen, als die in 4 veranschaulichte.
Obwohl nur zwei Autofokuspräzisionsmoduskurven
in 14 gezeigt sind, ist es klar, dass eine ganze
Familie von Kurven existiert, die relativ höhere Präzisionen und höhere Abtastdichten
für eine
Fokus-zu-Position-Kurve darstellen, für niedrigere Kurven in dem
Kurvenschreiberausdruck 1100 und niedrigere Präzisionen,
die eine niedrigere Abtastdichte in einer Fokus-zu-Position-Kurve
darstellen, für
höhere
Kurven in dem Kurvenschreiberausdruck 1100.
-
Zu
bemerken ist, dass es bei gleich bleibenden anderen Faktoren im
Allgemeinen vorteilhaft ist, die schnellsten möglichen Autofokusvorgänge bereitzustellen.
Bei verschiedenen beispielhaften Ausführungsformen gemäß dieser
Erfindung ist es daher im Allgemeinen vorzuziehen, an einem Punkt
in Richtung des unteren linken Endes irgendeiner bestimmten Autofokuspräzisionsmoduskurve
vorzugehen, der einen erstrebenswerten Grad an Autofokuspräzision bereitstellt.
Natürlich
hat jede Kamera inhärent
eine maximale Fokusbilderfassungsrate für eine bestimmte Größe eines
interessierenden Autofokusbereichs. Das bestimmt den schnellsten
zulässigen
Betriebspunkt bei verschiedenen Ausführungsformen gemäß dieser
Erfindung. Die Linie 1104 in 14 stellt
generisch einen solchen Punkt dar. Angesichts eines solchen zulässigen oder
ausgewählten
Betriebspunkts wird die entsprechende Autofokusscanbewegungsgeschwindigkeit,
die die erforderliche Abtastdichte oder maximale Autofokusbildabtastbeabstandung
ergibt, leicht bestimmt und als ein entsprechender Autofokusparameter
verwendet. Das wird zum Beispiel durch die Linien 1105 und 1106 in 14 angegeben, die generisch jeweilige zulässige durchschnittliche
Autofokusscanbewegungsgeschwindigkeiten oder maximale Geschwindigkeiten
darstellen, die jeweiligen erstrebenswerten Abtastdichten, maximalen
Beabstandungen oder Präzisionen
entsprechen.
-
Es
ist ferner zu bemerken, dass die oben unter Bezugnahme auf 13 und 14 dargelegte
Analyse in einer unterschiedlichen Reihenfolge bei verschiedenen
beispielhaften Ausführungsformen
auftritt. Zum Beispiel wird beginnend auf der Y-Achse in 14 bei verschiedenen beispielhaften Ausführungsformen
nach dem Auswählen
oder Definieren einer Autofokusscanbewegungsgeschwindigkeit oder
maximalen Geschwindigkeit dann die Fokusbilderfassungsrate aus der
anwendbaren Präzisionsmoduskurve
bestimmt. Mit dieser Autofokusbilderfassungsrate wird bei verschiedenen
beispielhaften Ausführungsformen
die zulässige
reduzierte Auslesepixelsatzgröße auf der
Grundlage der in 13 definierten Beziehungen
bestimmt.
-
Ähnlich beginnt
man bei verschiedenen beispielhaften Ausführungsformen mit dem Auswählen einer erstrebenswerten
Präzision.
Bei diesen verschiedenen Ausführungsformen
wird dann eine Kurve, die eine funktionale Beziehung zwischen Fokusbilderfassungsrate
und mittlerer oder maximaler Autofokusscanbewegungsgeschwindigkeit
definiert, wie in 14 gezeigt, definiert. Bei
verschiedenen beispielhaften Ausführungsformen wird nach dem
eingänglichen
Auswählen
der erstrebenswerten Präzision
eine Autofokusscanbewegungsgeschwindigkeit oder Autofokusbilderfassungsrate
definiert. Dann wird bei diesen verschiedenen Ausführungsformen
die andere aus Autofokusscanbewegungsgeschwindigkeit und Autofokusbilderfassungsrate
bestimmt.
-
Es
ist daher klar, dass nach dem Definieren von zwei der drei Variablen
die dritte Variable bestimmt wird. Ferner ist klar, dass bei verschiedenen
beispielhaften Ausführungsformen
irgendeine Reihefolge beliebiger zwei der drei Variablen auftritt,
was zu dem Wert für
die letzte der drei Variablen, die bestimmt werden, führt. Das
Berücksichtigen
der Kamerabetriebscharakteristiken, dargelegt in 13 und 14,
erleichtert daher im Allgemeinen die Auswahl einer erstrebenswerten
Kombination von Autofokusparametern gemäß dieser Erfindung, um eine
erstrebenswerte Kombination oder den erstrebenswerten Kompromiss
zwischen Autofokusgeschwindigkeit und -präzision am besten zu erzielen.
-
15 ist ein Kurvenschreiberausdruck, der eine Bewegungskurve 1501,
die mit einer herkömmlichen Autofokusbilderfassungsrate
von 30 Bildern pro Sekunde erzielbar ist, mit einer Bewegungskurve 1502 vergleicht,
die mit einer relativ schnelleren Autofokusbilderfassungsrate von
200 Bildern pro Sekunde verwirklichbar ist, die unter Einsatz eines
reduzierten Auslesepixelsatzes bei verschiedenen beispielhaften
Ausführungsformen
gemäß dieser
Erfindung bereitgestellt wird.
-
Die
Kurven 1501 und 1502 entsprechen einem Objektiv
mit schwacher Vergrößerung mit
einer DOF von 306 Mikrometern und einer maximalen Autofokusbildbeabstandung
entlang der Fokussierungsachsenrichtung von 0,3·DOF = 92 Mikrometer. Diese
maximale Bildbeabstandung kann verwendet werden, um eine geschätzte beste
Mittelpräzisions-Fokusposition
bereitzustellen.
-
Die
Kurven 1501 und 1502 zeigen die angesammelte Entfernung
der Bewegung entlang der Fokusachsenrichtung über die Zeit. Ursprünglich wird
jede Bewegung als mit Null Geschwindigkeit an dem Anfang eines erstrebenswerten
Autofokusbildbereichs von 3,0 mm beginnend angenommen. Jede Bewegung
entspricht dann der gleichen Nennbeschleunigung von 0,1 g = 980
mm/s2. Das ist eine typische maximale Beschleunigung,
die von einem Präzisionsmaschinenvisionsinspektionssystem
bereitgestellt wird. Nach etwa 0,28 Sekunden und wie von Kurve 1501 gezeigt,
kann die Geschwindigkeit nicht weiter für die herkömmliche Autofokusbilderfassungsrate
von 30 Bildern pro Sekunde erhöht
werden. Das ist darauf zurückzuführen, dass die
maximale erstrebenswerte Bildbeabstandung, die dem erstrebenswerten
Präzisionsgrad
entspricht, bei dieser Geschwindigkeit erreicht ist. Sie beträgt in etwa
27,7 mm/s. Die von der Kurve 1501 angegebene Bewegung setzt
sich daher mit konstanter Geschwindigkeit über den Rest des Autofokusbildbereichs
von 3,0 mm fort.
-
Hingegen
setzt sich die Nennbeschleunigung von 0,1 g = 980 mm/s2 für die Bewegung,
die von der Kurve 1502 angezeigt wird, durch den gesamten
erstrebenswerten Autofokusbildbereich von 3,0 mm für die relativ
schnellere Autofokusbilderfassungsrate von 200 Bildern pro Sekunde
fort, die bei verschiedenen beispielhaften Ausführungsformen erfindungsgemäß bereitgestellt
wird. Die Geschwindigkeit erreicht am Ende des erstrebenswerten
Autofokusbildbereichs ein Maximum von etwa 77 mm/s. Das verfehlt
die zulässige
maximale Geschwindigkeit von etwa 184 mm/s bei weitem. Die zulässige maximale
Geschwindigkeit kann verwendet werden, um die gleiche maximale Autofokusbildbeabstandung
von 92 Mikrometer bei 200 Bildern pro Sekunde bereitzustellen. Verschiedene
Unterschiede und Vorteile sind für
die Bewegungskurve 1502, die der relativ schnelleren Autofokusbilderfassungsrate
von 200 Bildern pro Sekunde entspricht, ersichtlich, die durch den
Einsatz eines reduzierten Auslesepixelsatzes bei verschiedenen beispielhaften
Ausführungsformen
erfindungsgemäß bereitgestellt
wird, im Vergleich zu der Bewegungskurve 1501, die der
herkömmlichen
Bilderfassungsrate von 30 Bildern pro Sekunde entspricht.
-
Zu
bemerken ist, dass es für
relativ schnelle Bilderfassungsraten, die unter Einsatz eines reduzierten Auslesepixelsatzes
bei verschiedenen beispielhaften erfindungsgemäßen Ausführungsformen bereitgestellt werden,
erstrebenswert sein kann, dass die Bewegung Beschleunigung fast über den
gesamten oder über
den gesamten erstrebenswerten Autofokusbilderfassungsbereich aufweist.
Vorausgesetzt, dass die zulässige
maximale Geschwindigkeit nicht überschritten
wird, verkürzt
das im Allgemeinen die Gesamtzeit, die für Autofokusvorgänge erforderlich
ist. Es ist auch klar, dass beim Einsatz von Beschleunigung während der
Bilderfassung und insbesondere, wenn die Beschleunigung nicht gut
kontrolliert und/oder bekannt ist, es erstrebenswert sein kann,
kurze effektive Belichtungsdauern, deterministisches Codiererpositionslatchen
in Bezug auf die effektive Bildbelichtungszeit und/oder verschiedene
andere erfindungsgemäße Verfahren
zu verwenden, darunter die oben dargelegten, damit die nicht lineare
Verzerrungs-Unklarheit in dem Bild aufgrund des kleinen Bewegungsbereichs
während
der Bildbelichtung reduziert wird, und damit die tatsächliche
Position bei der Nennbelichtungszeit genau bestimmt wird, ohne dass
die Position auf der Grundlage von Zeit und einer sich ständig ändernden
schlecht definierten Geschwindigkeit abgeleitet werden muss. Derartige
Verfahren stellen eine schnelle, einfache und präzise Schätzung der besten Fokusposition
erfindungsgemäß bereit,
auch wenn hohe Bewegungsgeschwindigkeiten und Beschleunigungen verwendet
werden. Es ist klar, dass bei der herkömmlichen Bilderfassungsrate
und entsprechend gezwungenen niedrigeren Geschwindigkeiten und konstanten
Geschwindigkeiten, die bei vielen herkömmlichen Autofokusverfahren
verwendet werden, die potenziellen Fehler aufgrund von Verzerrungs-Unklarheit
und Positionsinterferenz signifikant geringer sind. Bei derartigen Verfahren
wurde es daher nicht für
erforderlich gehalten, die oben zum Reduzieren von Fehlern in Zusammenhang
mit höheren
Geschwindigkeiten und signifikanten Beschleunigungen entlang der
Z-Achsen-Richtung während der
Bilderfassung beschriebenen Verfahren zu verwenden.
-
Ferner
ist zu bemerken, dass die Autofokusbilderfassung entlang des erstrebenswerten
Autofokusbildbereichs in etwa 1/3 weniger Zeit für die Bewegungskurve 1502 abgeschlossen
wird. Zusätzlich
ist die maximale Bildbeabstandung, die tatsächlich entlang der Bewegungskurve 1502 bei
200 Bildern pro Sekunde bereitgestellt wird, etwa 60 % geringer
als die, die entlang der Bewegungskurve 1501 bei 30 Bildern
pro Sekunde bereitgestellt wird. Bei 200 Bildern pro Sekunde
ist daher das Autofokusverfahren sowohl signifikant schneller als
auch signifikant präziser.
Bei der in 15 gezeigten beispielhaften
Ausführungsform
ist die Bewegung über
mindestens einen Teil des Fokusbildbereichs für die relativ schnelle Bildrate,
die erfindungsgemäß bereitgestellt
wird, mindestens 2,5 Mal schneller, als eine schnellste Bewegung,
die kombiniert mit der herkömmlichen
Bilderfassungsrate zulässig
ist, um benachbarte Autofokusbilder zu erzeugen, die entlang der
Fokusachsenrichtung um eine erstrebenswerte maximale Beabstandung
beabstandet sind. Zu bemerken ist, dass verschiedene andere beispielhafte
Ausführungsformen,
bei welchen die Bewegung, die mit der erfindungsgemäß bereitgestellten
Bildrate verwendet wird, eine Vorabbeschleunigung aufweist, bevor
der erstrebenswerte Autofokusbildbereich betreten wird, um entlang
dem erstrebenswerten Autofokusbildbereich schnellere Geschwindigkeiten
bereitzustellen, für
eine erfindungsgemäß bereitgestellte
Bildrate über
zumindest einen Teil des Fokusbildbereichs mindestens 5,0 Mal schneller
ist als eine schnellste zulässige
Bewegung, kombiniert mit einer herkömmlichen Bilderfassungsrate,
um benachbarte Autofokusbilder zu erzeugen, die entlang der Fokusachsenrichtung
um die gleiche maximale Beabstandung beabstandet sind. Bei verschiedenen
beispielhaften Ausführungsformen,
die die Geschwindigkeit der erfindungsgemäßen Autofokusvorgänge noch
weiter anheben, werden solche Vorabbeschleunigungen verwendet, um
Bewegung über mindestens
einen Teil des Fokusbildbereichs bereitzustellen, die mindestens
90 % so schnell ist wie die maximal zulässige schnellste Bewegung kombiniert
mit einer relativ schnellen Bilderfassungsrate, die erfindungsgemäß bereitgestellt
wird, um die maximal erstrebenswerte Autofokusbildbeabstandung bereitzustellen.
-
Zu
bemerken ist, dass, wenn während
der Belichtungszeit eines Autofokusbilds Bewegung besteht, jedes
Pixel der Kamera ein integriertes Signal sammelt, das dem Ganzen
Licht entspricht, das von einem Punkt auf dem Werkstück empfangen
wird, während
es einen bestimmten Bereich entlang der Z-Achsen-Richtung während der
Belichtungszeit durchquert. Als erste diesbezügliche Betrachtung und für Kameras,
die nur relativ längere
Belichtungsdauern bieten, kann dies, wie zuvor dargelegt, zu einer
inakzeptablen Verzerrungs-Unklarheit
in allen Autofokusbildern führen,
oder umgekehrt relativ höhere
Autofokusscanbewegungsgeschwindigkeiten und/oder relativ schnelle
Autofokusvorgänge
verhindern.
-
Bei
einer zweiten diesbezüglichen
Betrachtung und auch wenn die mit der Bewegung verbundene Verzerrungs-Unklarheit ansonsten
wesentlich reduziert ist, lässt
sich, weil verschiedene Abschnitte einer Fokuskurve relativ nicht
linear sind, die präzise
Z-Achsen-Position,
die mit dem „integrierten" Autofokusbild verbunden
sein sollte, nicht immer leicht mit einer erstrebenswerten Präzision bestimmen.
Diese Schwierigkeit wird vergrößert, wenn
Beschleunigung und insbesondere eine relativ ungenau bekannte oder
variable Beschleunigung während
der Autofokusbilderfassung verwendet wird. Einige Ungewissheit und
Fehler sind daher mit dem Zuweisen einer Z-Position für jedes
integrierte Autofokusbild verbunden, auch wenn eine Codiererposition in
Bezug auf die Bildbelichtungszeit wie zuvor dargelegt gelatcht wird.
-
Derartige
Fälle können auftreten,
insbesondere wenn Objektive mit starker Vergrößerung oder kleiner Feldtiefe
verwendet werden und/oder eine niedrige Autofokuspräzisionsanforderung
ansonsten relativ niedrige Abtastdichten und hohe Bewegungsgeschwindigkeiten
erlauben würde.
-
Daher
wird bei verschiedenen beispielhaften Ausführungsformen erfindungsgemäß eine Strobeimpuls-Beleuchtungsfähigkeit
bereitgestellt, die beide dieser Betrachtungen lösen kann, indem effektive Belichtungsdauern
bereitgestellt werden, die im Allgemeinen viel kürzer sind als die, die von
Allzweck-Maschinenvisionskameras
in vernünftiger
Preislage bereitgestellt werden können. Bei einer beispielhaften
Ausführungsform
zum Beispiel, die für
Anwendungen mit relativ hoher Präzision
geeignet ist, werden eine oder mehrere Beleuchtungslichtquellen
mit einer Dauer gestrobt, so dass sich das Werkstück während der
Strobeimpuls-Timingdauer um eine erstrebenswerte maximale Menge
oder weniger bewegt. Bei verschiedenen beispielhaften Ausführungsformen,
die für
Hochpräzisionsmessung
bestimmt sind, liegt die erstrebenswerte maximale Menge an Werkstückbewegung
in der Größenordnung
von 0,25 Mikrometer. Bei einer beispielhaften Ausführungsform
wird zum Beispiel eine 16,66-Mikrosekunden-Belichtung bei einer
Bewegungsgeschwindigkeit von 15 mm pro Sekunde verwendet und angepasst,
um proportional kürzer
zu sein, während
eine Bewegungsgeschwindigkeit proportional schneller wird, nur beschränkt durch
die Fähigkeit
der Lichtquellen und Controller, ausreichende Stärkeniveaus auszugeben, um die
erforderliche Gesamtbildbelichtungsenergie während der sinkenden Belichtungsdauern
bereitzustellen.
-
Bei
verschiedenen weiteren beispielhaften Ausführungsformen wird ausreichende
Messpräzision
bereitgestellt, indem die maximale Bewegung entlang der Fokusachse
während
einer effektiven Autofokusbelichtungsdauer auf maximal 0,5 Mikrometer
beschränkt
wird. Bei noch einer weiteren beispielhaften Ausführungsform
wird ausreichend Messpräzision
bereitgestellt, indem die maximale Bewegung entlang der Fokusachse während einer
effektiven Autofokusbelichtungsdauer auf maximal 0,25 Mal die maximale
Autofokusbildbeabstandung beschränkt
wird, die bei einem Satz von Autofokusbildern entlang dem erstrebenswerten
Autofokusbildbereich bereitgestellt wird.
-
Zu
bemerken ist, dass die effektive Bildintegration bei kurzen Belichtungsdauern
beschränkt
ist, bewegungsinduzierte Bild-Verzerrungs-Unklarheit reduziert oder
eliminiert, und die Ungewissheit hinsichtlich der entsprechenden
Z-Achsen-Position ebenfalls verringert wird, was sowohl die verwirklichbare
Autofokusgeschwindigkeit als auch die Präzision bei verschiedenen beispielhaften
Ausführungsformen
mit kurzen Belichtungsdauern steigert.
-
16 ist ein Kurvenschreiberausdruck 1200,
der beispielhafte generische Beziehungen zwischen einer Lichteinstellung
(Leistungseinstellung) während
einer ununterbrochenen Beleuchtung veranschaulicht, die während einer
Referenz- oder Standardbelichtungszeit zufriedenstellend ist und
jeweiligen Strobeimpulsdauern für
eine Anzahl jeweiliger Strobeimpuls-Lichtleistungsniveaus entspricht. Die
jeweiligen Strobeimpuls-Lichtleistungsniveaus werden von den Linien 1201, 1202 und 1203 dargestellt.
Verschiedene Verfahren zum Erstellen verschiedener erstrebenswerter
Strobeimpuls-Lichtparameter für
einen Autofokusbetrieb wurden zuvor besprochen. Die folgende Besprechung
beschreibt verschiedene Betrachtungen in Zusammenhang mit einem
beispielhaften Verfahren mit ausführlicheren Einzelheiten.
-
Die
X-Achse in 16 entspricht der Lichteinstellung
(Leistungseinstellung) während
ununterbrochener Beleuchtung, die ein zufriedenstellendes „stationäres" Werkstückbild erzeugt,
das während
einer Referenz- oder Standardbelichtungszeit wie der Rahmenrate
herkömmlicher
Kameras erfasst wird. Dieses Beleuchtungs- und Belichtungsverfahren
ist herkömmlich
und gut für
den Betrieb einer Visionsmaschine während manueller Operationen
und Trainingsmodusoperationen geeignet, bei welchen ein Maschinenbediener
beteiligt is. Wie zuvor erwähnt,
erstellt eine bekannte ununterbrochene Leistungseinstellung einer
Lichtquelle mal der bekannten oder Standardkameraintegrationsperiode
eine Gesamtbelichtungs-Beleuchtungsenergie für die Lichtquelle. Die Y-Achse
in 16 entspricht einer Strobeimpuls-Dauer, die für eine gegebene
Strobeimpuls-Lichtleistung
erforderlicht ist, um eine Bildstärke zu erzielen, die mit der
Lichteinstellung (Leistungseinstellung) während ununterbrochener Beleuchtung
gleichwertig ist, das heißt,
um die gleiche Gesamtbelichtungsbeleuchtungsenergie für diese
Lichtquelle bereitzustellen.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen
zu einer ersten Annäherung
eine bestimmte Gesamtbelichtungsbeleuchtungsenergie (die einem bestimmten
fortgesetzten Beleuchtungsniveau beim Einsatz der Referenz- oder
Standardbelichtungszeit entspricht), geteilt durch ein bestimmtes Strobeimpuls-Lichtleistungsniveau
direkt die entsprechende erforderliche Strobeimpuls-Dauer bestimmt.
Jede der jeweiligen Strobeimpuls-Lichtleistungskurven 1201, 1202 und 1203 gibt
eine jeweilige Strobeimpuls-Lichtleistungseinstellung
wieder, die an jedem Punkt entlang der jeweiligen Kurve gleich ist.
Der Betrieb gemäß irgendeinem
Punkt entlang der höheren
Leistungskurve 1203 erlaubt daher eine kürzere Strobeimpuls-Dauer als
der Betrieb gemäß entsprechenden (senkrecht
gefluchteten) Punkten entlang jeder der Kurven 1202 und 1201 mit
niedrigerer Leistung, wie in 16 veranschaulicht.
Obwohl nur drei Strobeimpuls-Lichtleistungskurven
in 16 gezeigt sind, ist es klar, dass eine ganze
Kurvenfamilie existiert, die verschiedene andere Strobeimpuls-Lichtleistungsniveaus
darstellt.
-
Ferner
ist zu bemerken, dass es bei gleich bleibenden anderen Faktoren
im Allgemeinen bei verschiedenen beispielhaften Ausführungsformen
erfindungsgemäß vorteilhaft
ist, an einem Punkt in Richtung des unteren linken Endes jeder Strobeimpuls-Lichtleistungskurve
vorzugehen, um die kürzest
mögliche
Strobeimpuls-Dauer bereitzustellen und Bilder herzustellen, die
die geringste mit Bewegung verbundene Unschärfe und kleinste mögliche Ungewissheit
in der entsprechenden Z-Achsen-Position
haben.
-
Ferner
ist zu bemerken, dass jede Strobeimpuls-Lichtquelle inhärent ein maximal zulässiges Leistungsniveau
hat, und, wenn es keine anderen Kamerareaktionsbetrachtungen und
dergleichen gibt, kann dieser Faktor die schnellste zulässige Strobeimpuls-Dauer bei verschiedenen
erfindungsgemäßen Ausführungen bestimmen.
Die höhere
Leistungskurve 1203 in 16 stellt
im Allgemeinen ein solches maximales Leistungsniveau dar. Angesichts
eines solchen maximalen oder ausgewählten Leistungsniveaus, das
als ein Autofokusparameter eingestellt wird, und bei einem erstrebenswerten
Betriebspunkt, der im Allgemeinen von der Linie 1204 in 16 angegeben ist, wird dann die entsprechende
Strobeimpuls-Dauer, die die erforderliche passende Gesamtbelichtungsbeleuchtungsenergie
bereitstellt, bestimmt und als ein entsprechender Autofokusparameter
wie von den Linien 1205 und 1206 in 16 angegeben verwendet. Die Linien 1205 und 1206 stellen
im Allgemeinen jeweilige Strobeimpuls-Dauern dar, die jeweiligen
Strobeimpuls-Lichtleistungsniveaus entsprechen.
-
Ferner
wird darauf hingewiesen, dass die oben unter Bezugnahme auf 16 dargelegte Analyse bei verschiedenen beispielhaften
Ausführungsformen
in einer unterschiedlichen Reihenfolge auftritt. Bei verschiedenen
beispielhaften Ausführungsformen
wird zum Beispiel eine erstrebenswerte Strobeimpuls-Dauer entlang der
Y-Achse definiert, dann wird die entsprechende erforderliche Strobeimpuls-Lichtleistung
an der Schnittstelle der X-Achsen- und Y-Achsen-Werte in dem Kurvenschreiberausdruck 1200 bestimmt.
Die Berücksichtigung der
verschiedenen Autofokussystem-Betriebscharakteristiken,
die in 13, 14 und 16 wiedergegeben
sind, erleichtert im Allgemeinen die Auswahl einer erstrebenswerten
Kombination von Autofokusparametern gemäß dieser Erfindung, um am besten
eine erstrebenswerte Kombination oder einen Kompromiss für Autofokusgeschwindigkeit
und -präzision
zu erzielen.
-
17 und 18 sind
Flussdiagramme, die eine beispielhafte Ausführungsform eines Verfahrens zum
automatischen Fokussieren einer erfindungsgemäßen Bildaufnahmevorrichtung
darlegen, zum Beispiel während
eines automatischen Arbeitsbetriebsmodus. Beginnend in Schritt S300
geht der Betrieb des Verfahrens in Schritt S310 weiter, in dem ein
Teilprogramm in das Maschinenvisionsinspektionssystem eingegeben wird.
Dann wird in Schritt S320 ein erster Teilprogrammvorgang ausgewählt. Dann
wird in Schritt S330 der erste Teilprogrammvorgang bewertet, um
zu bestimmen, ob er ein Autofokusvorgang ist oder nicht. Ist der
erste Teilprogrammvorgang ein Autofokusvorgang, geht der Betrieb
weiter zu Schritt S340. Ist der erste Teilprogrammvorgang kein Autofokusvorgang,
springt der Betrieb zu Schritt S580.
-
In
Schritt S340 werden die Autofokuseinstellungen oder Parameter, die
erstrebenswert sein können, um
verschiedene Arbeitsmodus-Autofokusvorgänge und -einstellungen komplett
zu definieren, identifiziert. Die Autofokuseinstellungen, die in
Schritt S340 identifiziert werden, entsprechen dem bestätigten Satz
von Autofokusvariablen oder -parametern und allen anderen Einstellungen,
die in Schritt S230 der 6 aufgezeichnet wurden. Diese
Einstellungen sind oben ausführlicher
in Verbindung mit Schritt S230 beschrieben. Zu bemerken ist, dass
zusätzlich
zu Informationen in Zusammenhang mit dem ausgewählten Objektiv die Autofokuseinstellungen
ferner Informationen in Zusammenhang mit verschiedenen Objektivparametern
enthalten können,
wie sie sich auf irgendwelche objektivspezifischen Justierungen
oder Setup-Vorgänge
in Zusammenhang mit den verschiedenen Autofokuseinstellungen beziehen.
Dann werden in Schritt S350 die Parameter und/oder Konfiguration
verschiedener Maschinenvisionsinspektionssystembauteile gemäß den in
Schritt S340 identifizierten Autofokuseinstellungen eingestellt.
Zum Beispiel werden in Schritt S350 verschiedene Einstellungen oder
Steuerparameter in Zusammenhang mit den Dimensionen des interessierenden
Bereichs, der erstrebenswerten Autofokuspräzision und/oder -abtastdichte
und/oder maximalen Autofokusbildbeabstandung entlang dem erstrebenswerten
Autofokusbildbereich, die Beleuchtungseinstellungen, die Autofokusscanbewegung
und/oder maximale Geschwindigkeit und der abgetastete Bereich, Steuerparameter
auf der Grundlage der Parameter des ausgewählten Objektivs, der erstrebenswerte
Autofokusbildbereich und dergleichen eingestellt. Der Betrieb geht
dann weiter zu Schritt S360.
-
In
Schritt S360 wird das Objektiv, das den Objektiveinstellungen entspricht,
die in Schritt S340 identifiziert und in Schritt S350 eingestellt
wurden, ausgewählt
und auf dem optischen Verlauf positioniert.
-
Dann
wird in Schritt S370 der bestimmte interessierende Bereich des Werkstücks entsprechend
auf eine Nennposition in dem Gesichtsfeld positioniert. Dann wird
in Schritt S380 die Nennbeleuchtung eingestellt. Die Nennbeleuchtung,
die in Schritt S380 eingestellt wird, entspricht der Nennbeleuchtung,
die in Schritt 180 gespeichert wurde, wie oben in Zusammenhang
mit 6 beschrieben. Dann geht der Betrieb weiter zu
Schritt S390.
-
In
Schritt S390 wird eine Arbeitsansicht des Werkstücks auf der Grundlage der in
Schritt S380 eingestellten Beleuchtung erzielt. Dann wird in Schritt
S400 die Arbeitsansicht bewertet, um zu bestimmen, ob die Beleuchtung
zufrieden stellend ist oder nicht. Bei verschiedenen beispielhaften
Ausführungsformen
werden zum Beispiel die Ergebnisse eines automatisch ausgeführten Multizonen-Bildqualitätswerkzeugs
zum Bewerten verwendet. Wird die Beleuchtung in Schritt S400 als
nicht zufrieden stellend bestimmt, geht der Betrieb weiter zu Schritt
S410. Anderenfalls springt der Betrieb zu Schritt S420. In Schritt
S410 wird die Beleuchtung verfeinert. Bei verschiedenen beispielhaften
Ausführungsformen
beruht diese Verfeinerung zum Beispiel auf den Ergebnissen des automatisch
ausgeführten
Multizonen-Bildqualitätswerkzeugs
oder erfolgt durch irgendein anderes anwendbares bekanntes oder
später
entwickeltes Mittel zum Verbessern der Beleuchtungseinstellungen.
Der Betrieb kehrt dann zu Schritt S390 zurück, in dem eine weitere Arbeitsansicht
des Werkstücks
auf der Grundlage der verfeinerten Beleuchtung erzielt wird.
-
Zu
bemerken ist, dass die Schritte S390-S410 bei verschiedenen weiteren
beispielhaften Ausführungsformen
weggelassen werden. Bei verschiedenen beispielhaften Ausführungsformen
können
zum Beispiel nach dem mehrmaligen Umsetzen des Verfahrens die Inspektionsergebnisse
oder Benutzerbeobachtung anzeigen, dass die Nennbeleuchtungseinstellungen,
die in Schritt S380 eingestellt wurden, immer eine zufrieden stellende
Beleuchtung ergeben. In einem solchen Fall kann es vorzuziehen sein,
die Schritte S390-S410 als unnötige
Bestätigung
der Beleuchtung wegzulassen. Bei diesen beispielhaften Ausführungsformen,
in welchen die Schritte S390-S410 weggelassen werden, geht der Betrieb
daher direkt von Schritt S380 zu S420.
-
In
Schritt S420 wird die Kamera zu einer Position in der Nähe eines
Endes eines betrieblichen Autofokusbildbereichs bewegt. Bei verschiedenen
beispielhaften Ausführungsformen
entspricht das zum Beispiel einer Verschiebung relativen zu einer
aktuellen nominalen Z-Achsen-Position
des interessierenden Bereichs, zu einer Position in etwa 0,5-2,0
Mal die Feldtiefe auf dem aktuellen Objektiv über eine maximal erwartete
Variation oder Toleranz in der Z-Position des interessierenden Bereichs
hinaus. Dann beginnt die Kamera in Schritt S430, sich entlang der
Z-Achse zu bewegen. Bei verschiedenen beispielhaften Ausführungsformen
enthält
die Kamerabewegung eine Vorabbeschleunigung oder Geschwindigkeit
außerhalb
des betrieblichen Autofokusbildbereichs und ist während der
Autofokusbilderfassung in dem erstrebenswerten Autofokusbildbereich
fortgesetzt und auf einer konstanten Nenngeschwindigkeit. Bei verschiedenen
beispielhaften Ausführungsformen
ist die Kamerabewegung durch einen Teil oder den gesamten erstrebenswerten
Autofokusbildbereich fortgesetzt und beschleunigt. Bei verschiedenen
weiteren Ausführungsformen
gemäß dieser
Erfindung ist die Kamerabewegung unterbrochen und/oder enthält andere
Geschwindigkeitsschwankungen, vorausgesetzt, dass die betrieblichen
Autofokusbilder erfasst werden.
-
Dann
wird in Schritt S440 bei verschiedenen Ausführungsformen, bei welchen die
Kamera nicht direkt zu der betrieblichen Start-End-Position des betrieblichen
Autofokusbildbereichs in Schritt S420 bewegt wird, zum Beispiel,
wenn eine Vorabbeschleunigung bereitgestellt wird, die außerhalb
des betrieblichen Autofokusbildbereichs beginnt, die aktuelle tatsächliche
Z-Achsen-Position mit einer betrieblichen Start-End-Position verglichen,
um den Bereich zu steuern, der zum Erfassen von Autofokusbildern
verwendet wird. Der Betrieb setzt dann mit Schritt S450 fort.
-
In
Schritt S450 wird bestimmt, ob der Vergleich der tatsächlichen
Z-Achsen-Position und der betrieblichen Start-End-Position anzeigt,
dass die tatsächliche
Z-Achsen-Position
innerhalb des betrieblichen Autofokusbilderfassungsbereichs liegt.
Wenn die tatsächliche
Kameraposition, die tatsächliche
Z-Achsen-Position, nicht innerhalb des betrieblichen Autofokusbilderfassungsbereichs
liegt, kehrt der Betrieb zurück
zu Schritt S440, in dem die dort aktuelle tatsächliche Kameraposition mit
der betrieblichen Start-End-Position verglichen wird. Anderenfalls
setzt der Betrieb, sobald die aktuelle tatsächliche Kameraposition innerhalb
des betrieblichen Autofokusbilderfassungsbereichs liegt, in Schritt
S460 fort, in dem ein Steuersignal gesendet wird, um die Kamera
als Vorbereitung auf eine Autofokusbilderfassung zurückzustellen.
Dann wird in Schritt S470 ein Autofokusbild erfasst, das mindestens
den reduzierten Auslesepixelsatz enthält. Zu bemerken ist, dass bei
verschiedenen beispielhaften Ausführungsformen wie zuvor beschrieben
ein aktueller Z-Achsen-Positionswert entsprechend dem erfassten
Autofokusbild gelatcht oder erfasst wird. Der Betrieb setzt dann
fort in Schritt S480.
-
In
Schritt S480 wird der reduzierte Auslesepixelsatz zu dem Steuersystemabschnitt
des Maschinenvisionssystems ausgegeben und gespeichert. Bei verschiedenen
beispielhaften Ausführungsformen
wird der entsprechende Z-Achsen-Positionswert ebenfalls gespeichert.
Dann wird in Schritt S490 bestimmt, ob mehr Autofokusbilder entlang
dem betrieblichen Autofokusbildbereich zu erfassen sind. Bei verschiedenen
beispielhaften Ausführungsformen
umfasst das das Bestimmen, ob eine dann aktuelle tatsächliche
Kameraposition noch in dem betrieblichen Autofokusbildbereich liegt.
Bei verschiedenen anderen beispielhaften Ausführungsformen gehört dazu
das Bestimmen, ob eine vorbestimmte Anzahl von Autofokusbildern,
von der bekannt ist, dass sie den betrieblichen Autofokusbildbereich überspannt,
zum Beispiel basierend auf einer bekannten Bilderfassungsrate und
einem bekannten Autofokusbewegungsprofil erfasst wurden. Müssen entlang
dem betrieblichen Autofokusbildbereich weitere Autofokusbilder erfasst
werden, kehrt der Betrieb zurück
zu Schritt S460, in dem bei verschiedenen beispielhaften Ausführungsformen
ein Steuersignal gesendet wird, um die Kamera als Vorbereitung auf
eine weitere Autofokusbilderfassung zurückzustellen. Anderenfalls geht
der Betrieb weiter zu Schritt S500, in dem die Bewegung der Kamera
in der Z-Achse gestoppt oder für
einen nächsten Betrieb
umgelenkt wird.
-
Bei
den verschiedenen beispielhaften Ausführungsformen der Autofokusvorgänge, die
oben in Zusammenhang mit den Schritten S460-S480 beschrieben wurden,
wird jedes Autofokusbild auf der Grundlage eines Auslösesignals,
das an die Kamera gesendet wird, erzielt. Bei verschiedenen beispielhaften
Ausführungsformen
werden diese Signale von der Bewegungssteuerkarte Galil #DMC-1730 oder dergleichen
basierend auf einem vorbestimmten Timing bereitgestellt, das kompatibel
ist mit oder bestimmt wird auf der Grundlage einer Bilderfassungsrate,
die mit dem betrieblichen reduzierten Auslesepixelsatz und der betrieblichen Autofokusbewegung
kompatibel ist. Bei verschiedenen weiteren beispielhaften Ausführungsformen
werden diese Signale gemäß einem
Standardtiming oder einem Freilauftiming bereitgestellt, das kompatibel
ist mit oder bestimmt wird auf der Grundlage einer betrieblichen
Bilderfassungsrate für
den reduzierten Auslesepixelsatz, und das mit dem betrieblichen
Autofokusbetrieb kompatibel ist. Bei anderen beispielhaften Ausführungsformen
beruhen die Auslösesignale
auf bestimmten Autofokusbildpositionen anstatt auf Zeit. Bei noch
weiteren beispielhaften Ausführungsformen
werden die Bilder auf der Basis von „Bereitsignalen" oder einem Standardtiming
erzielt, das konzipiert ist, um die Fokusbilderfassungsrate, wie
zum Beispiel zuvor unter Bezugnahme auf 13 und 14 beschrieben,
zu maximieren.
-
Bei
verschiedenen beispielhaften Ausführungsformen beruht ein Bestimmen
zwischen diesen verschiedenen Auslöseverfahren und dem Bestimmen
der entsprechenden steuernden Autofokusvariable oder -parameter
auf den Einstellungen für
die Variablen, die in den Schritten S190-S210 der 6 definiert
und bestimmt wurden. Bei noch weiteren beispielhaften Ausführungsformen
und wie ausführlicher
oben in Zusammenhang mit 5 beschrieben,
werden Autofokusbilder auf der Grundlage einer Kaskade von Signalen
erzielt, die von einem Auslösesignal
ausgelöst
werden, die zu einem Strobeimpuls-Beleuchtungscontroller gesendet
werden, der bei verschiedenen beispielhaften Ausführungsformen
auch das Latchen von entsprechenden tatsächlichen Z-Achsen-Positionswerten steuert. Auf
jeden Fall wird dann in Schritt S510 ein Fokuswert des interessierenden
Bereichs für
Pixel bestimmt, die in dem interessierenden Bereich für zumindest
einige der gespeicherten Sätze
reduzierter Auslesepixelsatzdaten enthalten sind. Dann werden in
Schritt S520 die in Schritt S510 bestimmten Fokuswerte des interessierenden
Bereichs analysiert.
-
Bei
verschiedenen beispielhaften Ausführungsformen weist die Analyse
das Vergleichen der Fokuswerte und das Identifizieren des maximalen
bestimmten Fokuswerts auf. Bei weiteren beispielhaften Ausführungsformen
weist die Analyse das Anpassen einer geschätzten Fokuskurve oder eines
Abschnitts einer geschätzten
Fokuskurve oder dergleichen an die bestimmten Fokuswerte durch jedes
beliebige bekannte oder später
entwickelte Verfahren auf. Bei verschiedenen beispielhaften Ausführungsformen
wird zum Beispiel ein Polynom des zweiten Ranges oder höher an zumindest
einige der bestimmten Fokuswerte angepasst, die sich an einer Anzahl
von Positionen befinden, die den maximalen bestimmten Fokuswert
umgrenzen und enthalten. Bei verschiedenen beispielhaften Ausführungsformen
ist das Polynom ein Polynom des fünften Ranges.
-
Dann
wird in Schritt S530 eine geschätzte
beste Fokusposition, die den tatsächlichen Gipfel der Fokuskurve
schätzt,
bestimmt. Bei verschiedenen beispielhaften Ausführungsformen, bei welchen der
maximale bestimmte Fokuswert in dem Schritt S520 bestimmt wurde,
wird eine ausreichend präzise
oder relativ annähernde
Fokusposition des interessierenden Bereichs als die geschätzte beste
Fokusposition bestimmt, die diesem Fokuswert entspricht. Bei weiteren
verschiedenen Ausführungsformen
mit höherer
Präzision,
bei welchen eine geschätzte
Fokuskurve oder ein Abschnitt einer geschätzten Fokuskurve an die in
Schritt S520 bestimmten Fokuswerte angepasst wurde, wird eine präzise oder
relativ weniger annähernde
geschätzte
beste Fokusposition als die Z-Achsen-Position, die dem Gipfel oder der Symmetrielinie
der angepassten Fokuskurve entspricht, bestimmt.
-
Der
Gipfel oder die Symmetrielinie der angepassten Fokuskurve wird durch
jedes bekannte oder später
entwickelte Verfahren bestimmt. Bei verschiedenen beispielhaften
Ausführungsformen,
bei welchen ein Polynom an die bestimmten Fokuswerte angepasst wird,
wird zum Beispiel die Lage des Gipfels von der Nullüberquerung
der ersten Ableitung des angepassten Polynoms oder dergleichen bestimmt.
Zu bemerken ist, dass zahlreiche andere alternative Ausführungsformen
an Stelle der Vorgänge
der Schritte S520 und S530 verwendet werden können, vorausgesetzt, dass eine
ausreichende oder hoch präzise
geschätzte
beste Fokusposition für
den interessierenden Bereich bestimmt wird. Der Betrieb setzt sich
dann in Schritt S540 fort.
-
Bei
verschiedenen beispielhaften Ausführungsformen des Autofokussierungsverfahrens
werden alle Bilder erzielt, bevor ein Fokuswert des interessierenden
Bereichs für
irgendeines der gespeicherten Bilder bestimmt wird. Ebenso werden
bei verschiedenen beispielhaften Ausführungsformen alle Fokuswerte
des interessierenden Bereichs, die in Schritt S510 bestimmt werden,
bestimmt, bevor irgendeine Analyse der bestimmten Fokuswerte in
Schritt S520 eintritt. Bei verschiedenen weiteren beispielhaften
Ausführungsformen
werden die Vorgänge
des Schritts S520 jedoch parallel zu den Vorgängen des Schritts S510 ausgeführt. Das
stellt einen schnelleren Gesamtdurchsatz für die Autofokusvorgänge bereit
und bestimmt ein erstrebenswertes Inspektionsbild in weniger Zeit
bei verschiedenen beispielhaften Ausführungsformen.
-
Ähnlich und
bei noch weiteren beispielhaften Ausführungsformen treten einige
der Vorgänge
des Schritts S510 zwischen den Vorgängen der Schritte S480 und
S490 auf. Bei dieser Ausführungsform
wird der Fokuswert des interessierenden Bereichs für jedes
gespeicherte Bild sofort nach dem Speichern des Bilds bestimmt,
ohne dass auf das Erzielen und Speichern aller darauf folgenden
Bilder gewartet wird. Ebenso treten bei noch weiteren beispielhaften
Ausführungsformen
einige der Vorgänge
des Schritts S520 zwischen den Vorgängen der Schritte S480 und
S490 auf. Bei derartigen beispielhaften Ausführungsformen wird der Fokuswert für den interessierenden
Bereich nicht nur für
jedes gespeicherte Bild sofort bestimmt, nachdem das Bild gespeichert
wurde, sondern eine Analyse der bestimmten Fokuswerte wird noch
während
des Erfassens und Speicherns der darauf folgenden Bilder ausgelöst.
-
In
Schritt S540 und wenn ein ausreichend komplettes und fokussiertes
Inspektionsbild noch nicht in dem Satz erfasster Autofokusbilder
enthalten ist, wird die Kamera zu der geschätzten besten Fokusposition, die
in Schritt S530 identifiziert wurde, bewegt. Dann wird in Schritt
S550 ein Inspektionsbild mindestens des interessierenden Bereichs
des Werkstücks
erfasst. Bei verschiedenen beispielhaften Ausführungsformen weist das Inspektionsbild
das gesamte Gesichtsfeld auf. Bei verschiedenen beispielhaften Ausführungsformen entspricht
das in Schritt S550 erzielte Inspektionsbild der besten verfügbaren Fokusposition
für das
Bild als Ergebnis der erfindungsgemäßen Systeme und Verfahren.
Dann wird in Schritt S560 das Inspektionsbild bewertet, um Inspektionsergebnisse
zu erzielen. Dann werden in Schritt S570 die Inspektionsergebnisse,
die in Schritt S560 erzielt wurden, aufgezeichnet. Dann springt
der Betrieb zu Schritt S590. Hingegen wird in Schritt S580 der nächste Nichtautofokusvorgang
des Teilprogramms ausgeführt.
Der Betrieb setzt sich dann in Schritt S590 fort.
-
In
Schritt S590 wird bestimmt, ob es noch weitere Teilprogrammvorgänge, die
noch auszuführen
sind, gibt. Sind noch Teilprogrammvorgänge auszuführen, kehrt der Betrieb zurück zu Schritt
S320. Anderenfalls setzt sich der Betrieb in Schritt S600 fort,
in dem der Betrieb des Verfahrens stoppt. Zu bemerken ist, dass
bei den verschiedenen beispielhaften Ausführungsformen die geschätzte beste
Fokusposition, die in Schritt S530 bestimmt wird, als eine Inspektionskoordinate
für ein
Merkmal in dem interessierenden Bereich, der dem Autofokusvorgang
entspricht, verwendet wird. Ferner ist bei verschiedenen beispielhaften
Ausführungsformen kein
weiterer Inspektionsvorgang in dem interessierenden Bereich erforderlich,
und zumindest die Schritte S540 und S550 werden bei verschiedenen
Ausführungsformen
weggelassen.
-
Wie
zuvor dargelegt, wird bei verschiedenen alternativen Ausführungsformen
zum Durchführen
oder Ersetzen zumindest einiger der Vorgänge, die oben in Bezug auf
die Schritte S460-S490 beschrieben wurden, ein Satz von Autofokusbildern
auf der Grundlage einer Kaskade von Signalen erzielt, die von einem
Auslösesignal
ausgelöst
werden, das zu einem Strobeimpuls-Lichtcontroller gesendet wird.
Bei verschiedenen beispielhaften Ausführungsformen steuert der Strobeimpuls-Lichtcontroller
auch das Latchen der entsprechenden tatsächlichen Z-Achsen-Positionswerte.
-
Ausführlicher
werden bei verschiedenen beispielhaften Ausführungsformen der Strobeimpuls-Beleuchtungsmodus-Autofokusvorgänge ursprünglich die
Positionen aller Positionscodierer, die mit einer Bewegungssteuerkarte
verbunden sind, gleichzeitig mit hoher Frequenz anhand inhärenter Fähigkeiten
der Bewegungssteuerkarte abgerufen. Fällt die Z-Achsen-Position in
den betrieblichen Autofokusbildbereich, zum Beispiel wenn sie einen
bestimmten Positionswert überschreitet,
der einem Ende des tatsächlichen
Autofokusbildbereichs entspricht, gibt die Bewegungssteuerkarte
ein Auslösesignal
aus. Das ausgegebene Auslösesignal wird
dann in den System-Framegrabber eingegeben, der in einem extern
ausgelösten
Modus während
des Strobeimpuls-Beleuchtungsautofokusmodus betrieben wird. Dann
gibt der Framegrabber ein erstes Signal aus, das das asynchrone
Rückstellen
der Systemkamera initiiert. Das initiiert die Bildintegrationssequenz
der Kamera.
-
Bei
weiteren beispielhaften Ausführungsformen
gibt der Framegrabber nach einer kurzen Verzögerung, die in den Framegrabber
programmiert ist und auf der Grundlage verschiedener bekannter Charakteristiken
der Visionssystembauteile erstellt wird, wie zum Beispiel der Kameraintegrationszeit,
der Z-Achsen-Scanbewegung und verschiedener inhärenter Schaltungsverzögerungen,
ein zweites Steuersignal mit einer definierten Dauer zu dem Strobeimpuls-Beleuchtungscontroller
aus. Als Antwort auf das zweite Steuersignal löst der Strobeimpuls-Beleuchtungscontroller
einen Beleuchtungslichtimpuls von einer oder mehreren zuvor bestimmten
Beleuchtungsquellen aus, die der definierten Dauer entsprechen.
Bei verschiedenen beispielhaften Ausführungsformen definiert das
zweite Steuersignal sowohl das Leistungsniveau als auch die Dauer des
Lichtimpulses. Bei verschiedenen weiteren beispielhaften Ausführungsformen
steuert das zweite Steuersignal die Dauer, während die Lichtquelle gemäß einem
festgelegten oder Standardleistungsniveau getrieben wird. Im Allgemeinen
werden das Strobeimpuls-Lichtleistungsniveau
und die Impulsdauern typischerweise kombiniert mit verschiedenen
anderen Faktoren bestimmt, die die Bildcharakteristiken beeinflussen.
-
Bei
verschiedenen beispielhaften Ausführungsformen wird das zweite
Steuersignal ferner verwendet, um eine aktuelle Z-Achsen-Position
mit einer Zeit zu latchen, die dem Timing des zweiten Steuersignals
entspricht. Bei verschiedenen beispielhaften Ausführungsformen
ist daher das zweite Steuersignal direkt mit der Hochgeschwindigkeits-Positionsaufnahmelatcheingabe
der Bewegungssteuerkarte verbunden, die durch die ansteigende Flanke
oder den Beginn des zweiten Steuersignals ausgelöst werden kann. Als Reaktion
latcht die Bewegungssteuerkarte die aktuellen Positionswerte der
Optikeinheit bei verschiedenen beispielhaften Ausführungsformen.
Die aktuellen Positionswerte werden daher in Bezug auf das entsprechende
Werkstücksinspektionsbild
zum späteren
Abrufen und zur Analyse erfasst und gespeichert.
-
Bei
verschiedenen beispielhaften Ausführungsformen, bei welchen das
Timing nicht kritisch ist, gibt der Framegrabber die aus der Kamera
resultierenden Videodaten, die als Reaktion auf ein Datenlesesignal ausgegeben
werden, ein, so dass die Daten, das heißt das Werkstücksinspektionsbild
verbunden mit den entsprechenden Z-Achsen-Positionswerten zum späteren Abrufen
und zur Analyse gespeichert werden. Zu bemerken ist, dass das effektive
Bildbelichtungstiming und die effektive Bildbelichtungsdauer natürlich von
der Zeit und der Dauer des Strobeimpulses an der vorbestimmten Zeit
während
der Integrationssequenz der Kamera gesteuert werden. Bei verschiedenen
beispielhaften Ausführungsformen
werden daher das Strobeimpuls-Timing und die Strobeimpulsdauer in
Bezug auf das Timing des Latchens der Z-Achsen-Positionen kombiniert
mit einer bekannten Z-Achsen-Scangeschwindigkeit während der
Strobeimpulsdauer verwendet. Das verfeinert die Beziehung zwischen
einem bestimmten Bild, das einen bestimmten Fokuswert hat, und der
entsprechenden Z-Achsen-Position
weiter, um die Fehler und Ungewissheiten in diesem Zusammenhang
vor dem Bestimmen der geschätzten
besten Fokusposition für
ein Inspektionsbild zu minimieren.
-
Zu
bemerken ist, dass bei verschiedenen beispielhaften Ausführungsformen
die oben genannte Kaskade verschiedener Auslösesignale und Timingdauern
alle ein Timing haben, das jeweils von verschiedenen verdrahteten
Verbindungen und/oder Hochgeschwindigkeitstaktgebern gesteuert wird,
die keinen signifikanten unvorhersehbaren Softwareverzögerungen
oder Timinglatenzen unterliegen. Die verschiedenen beispielhaften
erfindungsgemäßen Ausführungsformen
erlauben daher sehr gute Kombinationen von Autofokusgeschwindigkeit
und -präzision,
sogar bei einer Betriebsumgebung des Maschinenvisionssystems, die
im Allgemeinen solche unvorhersehbaren Softwareverzögerungen
oder Timinglatenzen bei anderen weniger wiederholten und/oder weniger
kritischen Aspekten des Maschinenvisionssystembetriebs aufweist.
-
Zu
bemerken ist, dass die Werkstücksinspektionsbilder,
die gemäß verschiedenen
Ausführungsformen
der oben beschriebenen Systeme und Verfahren erfasst werden, mit
viel kürzeren
Belichtungszeiten bereitgestellt werden können und für eine Reihe von Bildern mit
einer viel höheren
Rate an Bilderfassung, als es mit den Bauteilen und Verfahren möglich ist,
die bei herkömmlichen
Präzisionsmaschinenvisionsinspektionssystemen
und dazugehörenden
Verfahren zum automatischen Fokussieren einer Bildaufnahmevorrichtung verwendet
werden. Ebenfalls zu bemerken ist, dass, wenn eine Reihe von Werkstückmerkmalen
abzubilden und mit starker Vergrößerung zu
inspizieren ist, wobei fortgesetzte Bewegung gemäß den Konzepten dieser Erfindung
verwendet wird, jedes stark vergrößerte Gesichtsfeld eine sehr
geringe Feldtiefe hat, die sehr schnell durchquert und übergangen
wird. Die kurzen Belichtungszeiten und die hohen Bilderfassungsraten,
die von den oben beschriebenen Verfahren bereitgestellt werden,
sind daher zum Erfassen stark vergrößerter Präzisionswerkstückautofokus-
und Inspektionsbilder mit gesteigertem Durchsatz besonders wichtig.
-
Ebenso
ist zu beachten, dass, obwohl die Synchronisationsvorgänge, die
verbunden mit den beispielhaften Ausführungsformen die Strobeimpuls-Beleuchtung verwenden,
die inhärenten
Merkmale der verschiedenen beispielhaften Systembauteile einsetzen,
beschrieben wurden bei verschiedenen anderen beispielhaften Ausführungsformen ähnliche
Synchronisationsmerkmale und/oder Signale von einer getrennten Timingschaltung
bereitgestellt werden können,
die gemäß bekannten
digitalen Timingschaltungstechniken umgesetzt werden. Eine solche
Schaltung kann als ein Abschnitt des Controllers 120 bei
verschiedenen beispielhaften Ausführungsformen vorhanden sein.
-
Ebenso
sollte beachtet werden, dass bestimmte existierende Maschinenvisionsinspektionssysteme verschiedene
Ausführungsformen
der erfindungsgemäßen Systeme
und Verfahren mit minimalen oder gar keinen Nachrüstungsänderungen
an solchen existierenden Maschinen verwenden können, und dass die Autofokusfähigkeit,
Robustheit und der Durchsatz solcher Maschinen immer noch gemäß den Konzepten
dieser Erfindung gesteigert werden kann. Bei verschiedenen beispielhaften
Ausführungsformen
weisen die Nachrüstungsänderungen
nur das Hinzufügen
von Maschinenvisionsinspektionssoftwareverfahren und/oder Änderungen
gemäß den Konzepten
dieser Erfindung auf.