DE10161060A1 - Fehlerprüfverfahren für einen dreidimensionalen Gegenstand - Google Patents

Fehlerprüfverfahren für einen dreidimensionalen Gegenstand

Info

Publication number
DE10161060A1
DE10161060A1 DE10161060A DE10161060A DE10161060A1 DE 10161060 A1 DE10161060 A1 DE 10161060A1 DE 10161060 A DE10161060 A DE 10161060A DE 10161060 A DE10161060 A DE 10161060A DE 10161060 A1 DE10161060 A1 DE 10161060A1
Authority
DE
Germany
Prior art keywords
matrix
mirror
error
difference
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10161060A
Other languages
English (en)
Other versions
DE10161060B4 (de
Inventor
Yutaka Miyahara
Taro Akabane
Masami Takeshi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzuki Motor Corp
Original Assignee
Suzuki Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzuki Motor Corp filed Critical Suzuki Motor Corp
Publication of DE10161060A1 publication Critical patent/DE10161060A1/de
Application granted granted Critical
Publication of DE10161060B4 publication Critical patent/DE10161060B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges

Landscapes

  • Biochemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Analytical Chemistry (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Analysis (AREA)

Abstract

Fehlerprüfverfahren für dreidimensionale Formen wendet die Differenz zwischen einem Abstandscode, der mittels Scannens eines einwandfreien Gegenstands erlangt worden ist (ein Wert, der einen Schwenkwinkel eines Spiegels kennzeichnet), und einem Abstandscode, der mittels Scannens eines Prüfgegenstands erlangt worden ist, an jeder Messposition an. Differenzen werden für eine Matrix gespeichert, bei der eine linienförmige Richtung der Anstrahlung und eine Bewegungsrichtung des Ortes der Anstrahlung zwei orthogonale Achsen sind. Der häufigste Differenzwert aus den Matrixelementen in der linienförmigen Richtung der Anstrahlung wird für jeden Schwenkwinkel des Spiegels gefunden. Ein Matrixelement, das eine Differenz aufweist, die von dem häufigsten Differenzwert um mehr als einen gesetzten Wert abweicht, wird in jeder Schwenkposition des Spiegels gefunden. Daher werden Bereiche, die Abstandscodes aufweisen, die nicht mit Abstandscodes des einwandfreien Gegenstands übereinstimmen, als Fehlerkandidaten erkannt und identifiziert, selbst wenn die Abstandscodedaten relativ verschoben werden. Das Vorhandensein/Fehlen von Fehlern auf dem Prüfgegenstand wird auf der Basis der gegenwärtigen Zustände der Matrixelemente als Fehlerkandidaten ermittelt.

Description

Die Erfindung betrifft ein verbessertes Fehlerprüf­ verfahren einer dreidimensionalen Form.
Für ein Verfahren des Erkennens von Oberflächenfehlern eines dreidimensionalen Gegenstands offenbart beispielsweise die ungeprüfte japanische Patentanmeldeschrift No. 10-10053 ein Verfahren zum Erkennen eines Fehlers basierend auf einer Änderung oder einer Differenz an der Begrenzung von Strukturen durch Aufstrahlen streifenförmiger Lichtmuster auf den Gegenstand.
Jedoch erkennt dieses Verfahren das Vorhandensein oder Fehlen von Fehlern auf dem Gegenstand lediglich basierend auf Änderungen in der Helligkeit. Daher ist es für das Verfahren schwierig, Fehler auf der Oberfläche des Gegenstands zu erkennen, die Schatten infolge komplexer Vorsprünge oder vertiefter Formen hervorrufen können oder die verschiedene Schattierungen infolge einer Ölverschmutzung oder einer Markierung, der Mittelwertls eines Markierungsmittels getätigt worden ist, aufweist. Dieses Verfahren produziert oft falsche Alarme beim Erkennen normaler Markierungen als Fehler, die durch Ölverschmutzung oder Markierungen, der Mittelwertls eines Markierungsmittels getätigt worden sind, verursacht werden.
Um solch ein Problem zu lösen, wurden Fehlerprüf­ verfahren erfunden, die die dreidimensionale Form eines Gegenstands verwenden, die gemäß bekannten trigonometrischen Messprinzipien geprüft wird.
Das Prinzip eines Fehlerprüfverfahrens, das eine dreidimensionale Form basierend auf trigonometrischem Messprinzip verwendet, wird unter Bezugnahme auf Fig. 6(a) kurz erläutert.
Ein Lichtprojektor 1 emittiert einen Strahl, beispielsweise einen Laserstrahl, der mittels eines Spiegels 3 ausgerichtet wird, um linienförmig einen Gegenstand 2 in einem Muster anzustrahlen, das eine Ausdehnung in Richtung der Breite (X-Koordinatenrichtung) in Fig. 6(a) aufweist. Ein Spiegelantriebsmittel (nicht in der Figur gezeigt) schwenkt den Spiegel 3 inkremental um ein vorbestimmtes Maß in eine solche Richtung, dass der Anstrahlungsart senkrecht zu der linienförmigen Anstrahlung bewegt wird, mit anderen Worten in eine Richtung, die die Anstrahlung von rechts nach links (Y- Koordinatenrichtung) von Fig. 6(a) bewegt. Ein rotierendes positionserkennendes Mittel (nicht in der Figur gezeigt) erkennt die Schwenkposition des Spiegels 3. Eine Kamera 4 nimmt ein Bild des Gegenstands 2 in jeder Schwenkposition des Spiegels 3 unter Aufrechterhalten einer vorbestimmten Relativposition in Bezug auf den Spiegel 3 auf. Eine Bildverarbeitungseinheit 5 findet die Vorsprünge/vertieften Formen des Gegenstands 2 mittels Speicherns eines Wertes (ab hier als Abstandscode bezeichnet), der den Schwenkwinkel des Spiegels 3 kennzeichnet für eine Matrix von Laserstrahl- Abtastposition in einem Kamerakoordinatensystem der Kamera 4, für das die linienförmige Richtung der Anstrahlung und die Bewegungsrichtung des Anstrahlungsortes zwei orthogonale Achsen sind.
Die Linie L1(α), wie in Fig. 6(a) gezeigt, ist der optische Pfad des Laserstrahls, der mittels des Spiegels 3 reflektiert wird, um den Gegenstand 2 anzustrahlen. Die Linie L2 ist eine gerade Linie, die den Punkt des Gegenstands 2, der mittels des Laserstrahls angestrahlt wird, mit der Kamera 4 verbindet.
Die Position des Spiegels 3 in Bezug auf die Kamera 4, mit anderen Worten die Länge der geraden Linie, die den Spiegel 3 und die Kamera 4 verbindet, bleibt konstant. Der Winkel zwischen der geraden Linie, die den Spiegel 3 und die Kamera 4 verbindet, und der Linie L1 wird angesichts der Kenntnis des Schwenkwinkels des Spiegels 3 problemlos ermittelt.
Der Winkel zwischen der geraden Linie, die den Spiegel 3 und die Kamera 4 verbindet, und der Linie L2 wird als ein Winkel zwischen der Linie L2 und der optischen Achse der Kamera 4 auf der Basis der erkannten Laserstrahlposition auf einem Kamerakoordinatensystem der Kamera 4 berechnet.
Demgemäß ist die Berechnung komplex und erfordert eine lange Zeit für die Berechnung, obwohl es möglich ist, den Abstand zwischen der Kamera 4 und dem Gegenstand 2 gemäß dem trigonometrischen Messprinzip zu finden. Daher werden die Schwenkwinkel des Spiegels 3, die mit den Abständen in Beziehung stehen, als eine entsprechende Matrix der Laserstrahl-Abtastposition auf einem Kamerakoordinatensystem der Kamera 4 gespeichert, anstatt den Abstand zwischen der Kamera 4 und dem Gegenstand 2 zu berechnen. Daher wird die Form des Gegenstands 2 gespeichert, und das Erfordernis für eine komplexe Berechnung wird vermieden.
Wenn beispielsweise angenommen wird, dass eine Matrix (X, Y) auf einem Kamerakoordinatensystem, für das die linienförmige Richtung der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung zwei orthogonale Achsen sind, aus n Zeilen- × m Spalten-Matrixelementen (i1, j1) bis (in, jm) besteht, dann wird, wenn der Schwenkwinkel des Spiegels 3 α ist und der abgestrahlte Strahl in dem Kamerakoordinatensystem bei (X(x=1 bis n), j) erkannt wird, wie in Fig. 6(a) gezeigt, der α-Wert bei allen der n Matrixelemente in der X-Koordinatenrichtung der Matrix (X(x=1 bis n), j) in dem Kamerakoordinatensystem gespeichert. Es wird ermittelt, dass die Höhe des Gegenstands 2 (lediglich mittels einer durchgezogenen Linie dargestellt) die gleiche in einem Abschnitt ist, wo die Strahlung auftrifft, da der α-Wert konstant ist.
Wenn es einen Vorsprung 2f (wie in Fig. 6(a) gezeigt) an der Position (i, j) auf der Oberfläche des Gegenstands 2 gibt, trifft die Anstrahlung nicht den oben liegenden Abschnitt des Vorsprunges 2f, wenn der Schwenkwinkel des Spiegels 3 α ist. Die Anstrahlung trifft den oben liegenden Abschnitt des Vorsprunges 2f, wenn der Schwenkwinkel des Spiegels 3 beispielsweise α' ist. Daher wird der α'-Wert lediglich an der Position des Vorsprunges 2f gespeichert, der (i, j) aus den n Matrixelementen in der X-Koordinatenrichtung der Matrix (X(x=1 bis n), j) auf dem Kamerakoordinatensystem ist. Demgemäß wird das Vorhandensein des Vorsprunges 2f auf dem Gegenstand 2 basierend auf einer Differenz zwischen den Schwenkwinkeln α und α' bestätigt.
Die Verarbeitungseinheit 5 führt die oben erwähnte Verarbeitung wiederholt aus. Das heißt, die Schwenkwinkel des Spiegels 3, mit anderen Worten die Abstandscodewerte, werden bei jeder Schwenkposition des Spiegels 3 für eine Matrix eines Laserstrahls gespeichert, der die Positionen in dem Kamerakoordinatensystem der Kamera 4 erkennt, während der Spiegel 3 geschwenkt wird, um die Anstrahlung in die Y- Koordinatenrichtung zu verschieben.
Fig. 7(a) ist ein Beispiel eines Bildes, wenn ein Abstandscodewert auf jeder Matrix abgedunkelt und durch das Erzeugen eines Abstandscodewertes, der an jedem Matrixelement gespeichert ist, visualisiert wird einer grauskalierten Schwärzung entspricht. Beispielsweise ist der Abstandscodewert gleich 0 (schwarz auf einer Grauskala), wenn sich die Anstrahlung an dem rechten Ende des Gegenstands 2 befindet, und der Abstandscodewert ist 255 (weiß auf einer Grauskala), wenn sich die Anstrahlung an dem linken Ende des Gegenstands 2 befindet. Solch ein Bild wird im weiteren als Abstandscodebild bezeichnet.
Wenn ein Oberflächenfehler des Gegenstands 2 basierend auf solch einem Prinzip erkannt wird, wird der Vorsprung/die vertiefte Form des einwandfreien Gegenstands 2 erstmals mittels der Bildverarbeitungseinheit 5 gefunden. Dann wird das Abstandscodebild des einwandfreien Gegenstands 2 erlangt, wie beispielsweise in Fig. 7(a) gezeigt. Das Abstandscodebild wird als ein Referenzabstandscodebild bezeichnet.
Im Folgenden wird der Vorsprung/die vertiefte Form des Prüfgegenstands 2 mittels der Bildverarbeitungseinheit 5 in ähnlicher Weise gefunden, wie oben beschrieben, anschließend erhaltend ein Abstandscodebild des Prüfgegenstands 2. Fig. 7(b) ist ein Beispiel eines Abstandscodebildes, das von dem Prüfgegenstand 2 erlangt worden ist und das einen Fehler 6 in der Mitte aufweist.
Dann wird das Vorhandensein/Fehlen eines Fehlers auf dem Prüfgegenstand 2 durch einen Vergleich an jedem Matrixelement (ix(x=1 bis n), jy(y=1 bis m)) zwischen Abstandscodes, die in einem Referenzabstandscodebild gespeichert sind, das von dem einwandfreien Gegenstand 2 erzielt worden ist, und Abstandscodes, die in einem Abstandscodebild gespeichert sind, das von dem Prüfgegenstand 2 erlangt worden ist, ermittelt.
Insbesondere wird ein Referenzabstandscodebild, wie in Fig. 7(a) gezeigt, zuerst mit einem Abstandscodebild, als ein Prüfgegenstand in Fig. 7(b) gezeigt, verglichen, um eine Differenz von Abstandscodes bei jedem Matrixelement (ix(x=1 bis n), jy(y=1 bis m)) zu ermitteln. Diese Differenz wird für jedes Matrixelement (ix(x=1 bis n), jy(y=1 bis m)) gespeichert. Da die Skala einer Differenz von Abstandscodes als eine entsprechende Grauskala-Schwärzung visualisiert wird, wie oben beschrieben, wird ein Bild erlangt, wie beispielsweise in Fig. 7(c) gezeigt. Solch ein Bild wird weiterhin als ein differenzenbasiertes Abstandscodebild bezeichnet.
Ferner wird, da eine Bildverarbeitung für das differenzenbasierte Abstandscodebild mittels Eliminierens von Rauschen oder ähnlichem durchgeführt wird, der Fehler 6 sichtbar, und das Vorhandensein/Fehlen eines Fehlers auf dem Prüfgegenstand 2 wird problemlos ermittelt. Solch ein Bild wird weiterhin als ein fehlerextrahierendes Bild bezeichnet.
Da solch ein Verfahren angewendet wird, wird das Vorhandensein/Fehlen eines Fehlers basierend auf einer absoluten Differenz bei Vorsprüngen/vertieften Formen der Oberfläche des Gegenstands 2 ermittelt. Daher wird ein Fehler korrekt erkannt, während negative Effekte infolge eines Wechsels in der Schwärzung des Bildes, der durch Schatten auf dem Gegenstand 2, Ölverschmutzung, Markierungen, der Mittelwertls eines Markierungsmittels getätigt worden sind, oder ähnliches begründet ist, signifikant reduziert werden.
Jedoch muss bei dem trigonometrischen Messprinzip die Schwenkposition des Spiegels 3 mit hoher Präzision gesteuert werden. Wenn es einen leichten Fehler in der Schwenkposition des Spiegels 3 gibt, wird ein ernsthafter Fehler in den Abstandscodes in Bezug auf die Oberflächenform des Gegenstands 2 ermittelt.
Im Folgenden werden die Gründe kurz unter Bezugnahme auf die Fig. 8(a) bis 8(e) erläutert, warum solch ein Problem auftritt. Fig. 8(a) ist ein Beispiel einer Form des Gegenstands 2, wobei ein Abstandscodebild erlangt worden ist. Der Gegenstand 2 weist eine periphere Nut 2a, die einen rechtwinkligen Querschnitt auf der Außenseite aufweist, und eine periphere Nut 2b, die einen keilförmigen Querschnitt aufweist, auf. Der Gegenstand 2 weist einen flachen Abschnitt 2c auf, der in dessen Mitte in einer vertieften Form gewölbt ist.
Die Linie A-A' in Fig. 8(a) zeigt die linienförmige Richtung (X-Koordinatenrichtung) von Laserstrahlen, die von dem Spiegel 3 abgestrahlt werden, und die Linie B-B' kennzeichnet die Richtung (Y-Koordinatenrichtung) eines Bewegens des Ortes der Anstrahlung.
Lediglich auf den flachen Abschnitt, wo sich die linienförmige Richtung (X-Koordinatenrichtung) der Anstrahlung auf den Gegenstand 2 mit der Linie B-B' überlappt, wird fokussiert, und Fig. 8(b) zeigt die Daten von Beziehungen zwischen den Matrizen des Laserstrahls, der die Positionen erkennt, und den Abstandscodes bei einer Referenztemperatur (beispielsweise 15°C). In Fig. 8(b) stellt der Abstandscode 255 einen Referenzwert des linken Endes des Gegenstands 2 dar, während der Abstandscode 0 einen Referenzwert des rechten Endes des Gegenstands 2 darstellt. Die Daten werden visualisiert, um diese Referenzwerte horizontal zu lokalisieren.
Die Höhe des Gegenstands 2 ist in diesem Beispiel überall konstant, unabhängig davon, wo die Strahlen auf die Linie B-B' aufgestrahlt werden, mit anderen Worten, welche Schwenkposition der Spiegel 3 aufweist. Daher ist das Bild in Fig. 8(b) flach mit einem konstanten Wert Z, wobei die Bewegungsrichtung des Ortes der Anstrahlung (Y- Koordinatenrichtung) die horizontale Achse, und die Höhe des Gegenstands 2 die vertikale Achse (Z-Koordinatenrichtung) darstellen.
Fig. 8(c) zeigt Beziehungen zwischen den Matrizen des Laserstrahls, der die Positionen erkennt, und den Abstandscodes, wenn der gleiche Gegenstand 2 bei einer Temperatur höher als die Referenztemperatur gemessen wird. Wie deutlich in den Fig. 8(b) und 8(c) gezeigt, werden bei den Abstandscodedaten, die bei der Temperatur gemessen worden sind, die höher als die Referenztemperatur ist, die Referenzwerte des Abstandscodes so eingestellt, dass die gleiche Höhe an dem rechten und dem linken Ende des Gegenstands 2 vorhanden ist. Jedoch werden, während sich die Anstrahlung entlang der rechten Seite des Gegenstands 2 verschiebt (positive Y-Koordinatenrichtung), fehlerhafte Messergebnisse in dem Maß erlangt, wie sich die Abstandscodewerte graduell erhöhen.
Dies ist eine Abnormalität der Messung infolge des Fehlers der Schwenkpositionen des Spiegels 3, wie oben erwähnt. Beispielsweise wird angenommen, dass sich der Spiegel 3 in Fig. 6(b) zu 3b anstatt zu 3a als eine korrekte Schwenkposition infolge eines Positionsfehlers bewegt, hervorgerufen durch den Temperaturanstieg. Wenn sich der Spiegel 3 an der korrekten Position 3a befindet, um den Laserstrahl entlang der Linie L1 abzustrahlen, und die Kamera 4 den Laserstrahl an der Position (X(x=1 bis n), j) auf dem Kamerakoordinatensystem auffangen kann, steht der Schwenkwinkel des Spiegels 3, mit anderen Worten der dreistellige Abstandscodewert, mit ihm in Beziehung und wird gespeichert.
Jedoch ist der Spiegel 3 in Wirklichkeit in die Position 3b versetzt. Obwohl der Laserstrahl entlang der Linie L1' abgestrahlt wird und bei (X(x=1 bis n), j+Δj) auf dem Kamerakoordinatensystem erkannt worden ist, erkennt die Bildverarbeitungseinheit 5 dies selbst nicht und ermittelt, dass der Laserstrahl entlang der Linie L1 bei (X(x=1 bis n), j+Δj) auf dem Kamerakoordinatensystem erkannt worden ist. Als Ergebnis speichert die Bildverarbeitungseinheit 5 den Abstandscode α entsprechend einem Schwenkwinkel, der ursprünglich bei (X(x=1 bis n), j) auf dem Kamerakoordinatensystem gespeichert werden sollte, an der Position (X(x=1 bis n), j+Δj) auf dem Kamerakoordinatensystem, also an der Position, wo α' als ursprünglicher Abstandscode gespeichert werden sollte. Demgemäß resultiert eine fehlerhafte Messung, wie in Fig. 8(c) gezeigt. Mit anderen Worten wird der α-Abstandscode, der größer als der ursprüngliche α'-Abstandscode ist, an der Position zu dem rechten Ende hin auf dem Kamerakoordinatensystem gespeichert, so dass ein Widerspruch gefunden wird, wie in Fig. 8(c) gezeigt. Ferner wird ermittelt, wie deutlich in Fig. 6(a) gezeigt, dass die Höhe einer Oberfläche höher als ein Abschnitt mit einem kleineren Abstandscode (α' <α) an jeder Matrixposition auf der gleichen Linie mit dem gleichen Y-Wert auf dem Kamerakoordinatensystem ist, beispielsweise bei (X(x=1 bis n), j).
Fig. 9(a) zeigt ein Beispiel eines Abstandscodebildes, das auf der Basis von Abstandscodes aufgebaut worden ist, die bei einer Temperatur gemessen worden sind, die höher als die Referenztemperatur ist. Das Abstandscodebild wird, wie in Fig. 9(a) gezeigt, mit dem Abstandscodebild verglichen, das bei der Referenztemperatur, wie in Fig. 7(a) gezeigt, vorbereitet worden ist, um Differenzen der Abstandscodes zu finden. Dann wird ein differenzenbasiertes Abstandscodebild erlangt, wie in Fig. 9(b) gezeigt. Wie deutlich in Fig. 9(b) gezeigt, werden die Differenzwerte entlang der rechten Seite (positive Y-Koordinatenrichtung) des Differenzenbasierten Abstandscodesbildes infolge des oben erwähnten Abstandscodefehlers groß. Wenn ein fehlerextrahierendes Bild basierend auf dem differenzenbasierten Abstandscodebild gebildet wird, bleibt ein Gebiet, das große Differenzen aufweist, auf dem rechten Seitenabschnitt (positive Y- Koordinatenrichtung) bestehen, wo ursprünglich keine Fehler vorgekommen sind. Dieser Abschnitt wird als ein Fehler extrahiert, so dass der Gegenstand 2, der ursprünglich ein gutes Produkt ist, als ein minderwertiges Produkt ermittelt wird.
Als ein Verfahren, um solch ein Problem zu lösen, werden Abstandscodebilder als Referenzen bei unterschiedlichen Temperaturen vorbereitet, und die Referenzabstandscodebilder werden abhängig von der Temperatur ausgewählt, bei der eine Untersuchung durchgeführt wird.
Jedoch benötigt die Bildverarbeitungseinheit 5, um eine Vielzahl von Abstandscodebildern als Referenzen vorzubereiten, einen großen Speicher. Ferner müssen infolge von Temperaturänderungen abhängig von der Tageszeit Abstandscodebilder als Referenzen wiederholt innerhalb des gleichen Tages neu ausgewählt werden, und die Messprozeduren werden fehlerhaft.
Demgegenüber könnte die Temperatur mittels Steuerns der Messumgebung konstant gehalten werden. Jedoch ist in diesem Fall die für eine Temperatursteuerung erforderliche Ausrüstung problematisch.
Demgemäß liegt der Erfindung das Problem zugrunde, die oben erwähnten herkömmlichen Probleme zu lösen, und ein Fehlerprüfverfahren einer dreidimensionalen Form bereitzustellen, das fehlerfrei Fehler auf einer Gegenstandsoberfläche prüfen kann, ohne die Einstellung gemäß den Temperaturänderungen zu ändern, und ohne die Temperatur der Umgebung zu steuern.
Das erfindungsgemäße Fehlerprüfverfahren einer dreidimensionalen Form sieht vor einen Lichtprojektor, der einen Laserstrahl emittiert, einen Spiegel zum Reflektieren des Laserstrahls von dem Lichtprojektor, um einen Gegenstand linienförmig anzustrahlen, ein Spiegelantriebsmittel, um den Spiegel um ein vorbestimmtes Maß in eine Richtung zu schwenken, so dass ein Bewegen des Ortes der Anstrahlung orthogonal zu der linienförmigen Anstrahlung ist, eine Kamera, um ein Bild des Gegenstands in jeder Schwenkposition des Spiegels mittels Aufrechterhaltens einer vorbestimmten Position in Bezug auf den Spiegel aufzunehmen, und eine Bildverarbeitungseinheit, um einen Vorsprung/eine vertiefte Form des Gegenstands mittels Speicherns von Werten, die Schwenkwinkel des Spiegels kennzeichnen, für die Positionen des Laserstrahl in einem Kamerakoordinatensystem zu finden, für das die linienförmige Richtung der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung zwei orthogonale Achsen sind. Ein Vorsprung/eine vertiefte Form eines einwandfreien Gegenstands wird gefunden und dann mittels der Bildverarbeitungseinheit im Voraus gespeichert. Dann wird ein Vorsprung/eine vertiefte Form eines Prüfgegenstands mittels der Bildverarbeitungseinheit gefunden. Das Vorhandensein/Fehlen eines Fehlers auf dem Prüfgegenstand wird mittels des Vergleichens eines Wertes, der einen für den einwandfreien Gegenstand gespeicherten Schwenkwinkel des Spiegels kennzeichnet, mit einem Wert, der einen für den Prüfgegenstand gespeicherten Schwenkwinkel des Spiegels kennzeichnet, an jedem Matrixelement geprüft. Um das oben angegebene Problem zu lösen, wird insbesondere eine Differenz zwischen einem Wert der einen für den einwandfreien Gegenstand gespeicherten Schwenkwinkel des Spiegels kennzeichnet, und einem Wert, der einen für den Prüfgegenstand gespeicherten Schwenkwinkel des Spiegels kennzeichnet, an jedem Matrixelement ermittelt. Diese Differenz wird für jedes Matrixelement gespeichert. Ein häufigster Differenzwert wird aus Matrixelementen in einer linienförmigen Richtung der Anstrahlung für jede Spalte der Matrixelemente ermittelt, die in der Richtung der Anstrahlung angeordnet sind. Matrixelemente, die Differenzen aufweisen, die von den häufigsten Differenzwerten um mehr als ein gesetztes Maß abweichen, werden in jeder der Spalten der Matrixelemente ermittelt. Diese Elemente werden als Fehlerkandidaten gespeichert. Dann wird das Vorhandensein/Fehlen von Fehlern auf dem Prüfgegenstand basierend auf allen existierenden Zuständen der Matrixelemente als Fehlerkandidaten auf der Matrix ermittelt.
Im Folgenden werden die Prinzipien erläutert, wie die Erfindung die herkömmlichen Probleme löst.
Als erstes werden ein Lichtprojektor, ein Spiegelantriebsmittel, eine Kamera und eine Bildverarbeitungseinheit betrieben. Wie in der herkömmlichen Weise wird der Vorsprung/die vertiefte Form eines einwandfreien Gegenstands gefunden und dann mittels Speicherns von Werten gespeichert, die Schwenkwinkel des Spiegels kennzeichnen, mit anderen Worten Abstandscodes für eine Matrix eines Kamerakoordinatensystems, für das die linienförmige Richtung der Anstrahlung und das Bewegen des Ortes der Anstrahlung zwei orthogonale Achsen sind. Demgemäß wird ein Abstandscodebild, wie beispielsweise in Fig. 7(a) gezeigt, als ein Referenzabstandscodebild erlangt.
Anschließend werden, wie oben erwähnt, der Lichtprojektor, das Spiegelantriebsmittel, die Kamera und die Bildverarbeitungseinheit wiederholt betrieben. Ein Abstandscode wird für eine Matrix eines Kamerakoordinatensystems gespeichert, für das die linienförmige Richtung der Anstrahlung und das Bewegen des Ortes der Anstrahlung zwei orthogonale Achsen sind, und der Vorsprung/die vertiefte Form des Prüfgegenstands wird gefunden. Demgemäß wird ein Abstandscodebild, wie beispielsweise in Fig. 9(a) gezeigt, erlangt. Normalerweise ist die Umgebungstemperatur verschieden von der Temperatur, bei der das Referenzabstandscodebild erlangt worden ist. Daher weist das in Fig. 9(a) gezeigte Abstandscodebild einen Fehler bei den Abstandscodes auf infolge einer positionalen Verschiebung des Spiegels oder eines Erkennungsfehlers (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) von Schwenkpositionen infolge einer Temperaturabweichung oder ähnlichem eines rotierenden positionserkennenden Mittels zum Erkennen der Schwenkposition des Spiegels.
Im Folgenden wird die Differenz zwischen den Abstandscodes des einwandfreien Gegenstands und den Abstandscodes des Prüfgegenstands an jedem Matrixelement, für das die Richtung der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung zwei orthogonale Achsen sind, für jedes Matrixelement ermittelt. Dann wird die Differenz für jedes Matrixelement gespeichert. Demgemäß wird ein differenzenbasiertes Abstandscodebild erlangt, wie beispielsweise in Fig. 9(b)gezeigt. Da das Abstandscodebild des Prüfgegenstands einen Fehler in sich selbst aufweist, erhöhen sich die Differenzwerte der Abstandscodes in Richtung auf das Ende des Gegenstands, wie in Fig. 8(c) gezeigt.
Jedoch weist das Abstandscodebild des Prüfgegenstands aufgrund der Abweichung der Schwenkwinkel des Spiegels oder des fehlerhaften Erkennens von Schwenkwinkeln Fehler auf. Daher sollten die Abstandscodes, die für Matrixelemente in derselben Spalte in der Richtung der Anstrahlung gespeichert worden sind, alle gleiche Fehler aufweisen. Beispielsweise sind, wenn der Gegenstand 2 geprüft wird, wie in Fig. 8(a) gezeigt, die Abstandscodedaten an dem Ende des Gegenstands 2, die bei der Referenztemperatur gemessen worden sind, als durchbrochene Linie in Fig. 8(d) dargestellt, wobei die horizontale Achse die linienförmige Achse (X- Koordinatenrichtung) der Anstrahlung ist. Ferner sind die Abstandscodedaten an dem Ende des Gegenstands 2, die bei einer höheren Temperatur als die Referenztemperatur gemessen worden sind, als eine durchgezogene Linie in Fig. 8(d) dargestellt. Daher werden entweder die Abstandscodedaten des Gegenstands 2, die bei der Referenztemperatur gemessen worden sind, oder die Abstandscodedaten des Gegenstands 2, die bei einer höheren Temperatur als die Referenztemperatur gemessen worden sind, verschoben, und beide werden überlappt, wie in Fig. 8(e) gezeigt. Dann wird das Vorhandensein/Fehlen eines Oberflächenfehlers mittels Ermittelns des Vorhandenseins/Fehlens ungleicher Abstandscodedaten an jeder Position in der Spalte von Matrixelementen in der Richtung der Anstrahlung (X-Koordinatenrichtung) ermittelt.
Als erstes werden die häufigsten Differenzwerte in jeder Spalte der Matrixelemente, die in der Richtung der Anstrahlung angeordnet sind, aus den Matrixelementen in der linienförmigen Richtung der Anstrahlung ermittelt. Wenn der Prüfgegenstand 2 keine Fehler auf seiner Oberfläche aufweist, sollten die jeweiligen Abstandscodedaten wie in Fig. 8(e) übereinstimmen, wenn die Abstandscodedaten des Gegenstands 2, die bei der Referenztemperatur gemessen worden sind, mit den Abstandscodedaten des Gegenstands 2, die bei einer höheren Temperatur als die Referenztemperatur gemessen worden sind, überlappt werden. In diesem Fall sind all die Differenzwerte, die in den Matrixelementen in der linienförmigen Richtung der Anstrahlung ermittelt worden sind, äquivalent zu ΔZ. Es ist offensichtlich, dass manchmal andere Differenzen als ΔZ erkannt werden, wenn der Gegenstand 2 einen Vorsprung- /Vertiefungsfehler auf seiner Oberfläche aufweist. Jedoch sind die meisten Differenzen in den Matrixelementen in der linienförmigen Richtung der Anstrahlung stets äquivalent zu ΔZ in Fig. 8(d), da die Oberfläche des Gegenstands 2 normalerweise nicht schwer beschädigt ist. Dieser ΔZ-Wert ist äquivalent zu einer Verschiebungsgröße. Ferner ist ΔZ selbst auf einen Abstandscodefehler infolge einer positionalen Verschiebung des Spiegels oder eines Erkennungsfehlers (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) durch eine Temperaturverschiebung oder ähnliches eines rotierenden positionserkennenden Mittels zum Erkennen der Schwenkposition des Spiegels begründet.
Anschließend werden Matrixelemente, die Differenzen aufweisen, die von den häufigsten Differenzwert (ΔZ) um mehr als einen gesetzten Wert abweichen, in jeder Spalte von Matrixelementen ermittelt, die in der Richtung der Anstrahlung angeordnet sind, und werden als Fehlerkandidaten gespeichert. Der Matrixelementenbereich, der Differenzen aufweist, die von dem häufigsten Differenzwert (ΔZ) um mehr als einen gesetzten Wert abweichen, stellt einen Bereich dar, in dem die Abstandscodedaten des Gegenstands, die bei der Referenztemperatur gemessen worden sind, und die Abstandscodedaten des Gegenstands, die bei einer höheren Temperatur als die Referenztemperatur gemessen worden sind, nicht miteinander übereinstimmen, selbst wenn die Abstandscodedaten verschoben werden. Dies kennzeichnet, dass der Bereich Vorsprungs-/Vertiefungsfehler aufweist.
Schließlich wird das Vorhandensein/Fehlen von Fehlern auf einem Prüfgegenstand gemäß dem gegenwärtigen Zustand aller Matrixelemente ermittelt, die Defektkandidaten auf einer Matrix sind, das heißt all die Fehlerkandidaten innerhalb einer Projektionsebene auf dem Gegenstand, für die die linienförmige Richtung der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung entlang zweier orthogonaler Achsen ermittelt worden sind. Wenn beispielsweise ein punktueller Fehlerkandidat ermittelt worden ist, wird dies einfach als ein Messfehler betrachtet. Es ist ebenfalls möglich, festzustellen, dass ein Gegenstand keine Abnormalität aufweist. Wenn Fehlerkandidaten in einem bestimmten Gebiet eng beieinander liegen, ist es möglich, deutlich festzustellen, dass sie Oberflächenfehler darstellen.
Daher wird der Bereich (ΔZ) eines Abstandsmesscodefehlers ermittelt, begründet auf einer Positionsverschiebung des Spiegels oder einem Erkennungsfehler (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem eines rotierenden positionserkennenden Mittels für das Erkennen der Schwenkposition des Spiegels. Dann wird ein Test durchgeführt, um zu ermitteln, ob die Abstandscodedaten des Gegenstands, die bei der Referenztemperatur gemessen worden sind, mit den Abstandscodedaten des Gegenstands, die bei einer höheren Temperatur als die Referenztemperatur gemessen worden sind, mittels Verschiebens der Abstandscodedaten um einen Betrag äquivalent zu einem Fehler übereinstimmen. Demgemäß kann eine geeignete Fehlerprüfung jederzeit unabhängig von Temperaturdifferenzen während der Messung durchgeführt werden.
Die Probleme werden, wie oben beschrieben, gelöst, selbst wenn die Messung bei einer Temperatur niedriger als die Referenztemperatur durchgeführt wird.
Um das oben angegebene Problem für jeden Vorsprung/jede vertiefte Form eines einwandfreien Gegenstands und den Vorsprung/die vertiefte Form eines Prüfgegenstands zu lösen, wird ein Wert, der einen häufigsten Schwenkwinkel eines Spiegels kennzeichnet, aus Matrixelementen in der linienförmigen Richtung der Anstrahlung in jeder Spalte von Matrixelementen ermittelt, die in der Richtung der Anstrahlung angeordnet sind. Um die Werte, die die häufigsten Schwenkwinkel eines Spiegels kennzeichnen, bei dem Vorsprung/der vertieften Form eines einwandfreien Gegenstands und bei dem Vorsprung/der vertieften Form eines Prüfgegenstands in Übereinstimmung zu bringen, werden die Werte für den Prüfgegenstand in jeder Spalte von Matrixelementen, die in der Richtung der Anstrahlung angeordnet sind, verschoben. Dann werden die Werte, die Schwenkwinkel des Spiegels kennzeichnen, die für den einwandfreien Gegenstand gespeichert worden sind, bei jedem Matrixelement mit den Werten verglichen, die Schwenkwinkel des Spiegels kennzeichnen, die für den Prüfgegenstand gespeichert worden sind, um so das Vorhandensein/Fehlen von Fehlern auf dem Prüfgegenstand zu erkennen.
In diesem Fall sind die Werte, die die häufigsten Schwenkwinkel eines Spiegels kennzeichnen äquivalent zu einer geraden Linie, die die maximale Länge in der linienförmigen Richtung der Anstrahlung auf einem Gegenstand aufweist. Jedoch basiert dies auf der Annahme, dass die gerade Linie orthogonal zu der optischen Achse der Kamera verläuft. Daher wird diese gerade Linie bei jedem einwandfreien Gegenstand und einem Prüfgegenstand spezifiziert. Dann werden die Datenwerte, die Schwenkwinkel eines Spiegels kennzeichnen, verschoben und an jeder Spalte von Matrixelementen verglichen, die in der Richtung der Anstrahlung angeordnet sind, um so diese geraden Linien zu überlappen. Dies erlaubt eine korrekte Erkennung von Fehlern, ohne Temperaturdifferenzen während der Messung zu beachten. Dieser Verschiebebetrag ist gleich dem Bereich (ΔZ) eines Abstandscodefehlers, der auf der oben erwähnten Positionsverschiebung des Spiegels oder Fehlers (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem eines rotierenden positionserkennenden Mittels zum Erkennen der Schwenkposition des Spiegels begründet ist.
Die oberen und andere Ziele, Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung offenbar, wenn sie in Verbindung mit den angehängten Figuren gelesen werden, in denen gleiche Bezugszeichen die gleichen Elemente bezeichnen. Es zeigen
Fig. 1 ein funktionales Blockdiagramm, das einen schematischen Aufbau einer Fehlerprüfvorrichtung zeigt, der erforderlich ist, ein erfindungsgemäßes Fehlerprüfverfahren auf eine dreidimensionale Form durchzuführen;
Fig. 2 ein funktionales Blockdiagramm, das eine schematischen Aufbau einer Bildverarbeitungseinheit in der Fehlerprüfvorrichtung zeigt;
Fig. 3 ein Flussdiagramm, das die Operationen der Bildverarbeitungseinheit in der Fehlerprüfvorrichtung schematisch zeigt;
Fig. 4(a) ein konzeptionelles Diagramm eines Prüffensters, um Differenzdaten zu spezifizieren, die von einem differenzenbasierten Abstandscodebild extrahiert werden;
Fig. 4(b) ein konzeptionelles Diagramm, das ein visualisiertes fehlerextrahierendes Bild zeigt, das mittels der Bildverarbeitungseinheit in der Fehlerprüfvorrichtung erlangt wird;
Fig. 5 ein konzeptionelles Diagramm, das ein Beispiel des Sortierens der extrahierten Differenzdaten zeigt;
Fig. 6(a) ein konzeptionelles Diagramm, auf das sich beim Erläutern des Prinzips eines herkömmlichen Fehlerprüfverfahrens einer dreidimensionalen Form bezogen wird;
Fig. 6(b) ein konzeptionelles Diagramm, auf das sich im Erläutern der Probleme, die bei den herkömmlichen Fehlerprüfverfahren einer dreidimensionalen Form ermittelt werden, bezogen wird;
Fig. 7(a) ein konzeptionelles Diagramm, das ein Beispiel eines Referenzabstandscodebildes zeigt, das mittels des herkömmlichen Fehlerprüfverfahren einer dreidimensionalen Form erlangt wird;
Fig. 7(b) ein konzeptionelles Diagramm, das ein Beispiel eines Abstandscodebildes zeigt, das einen Fehler enthält und das mittels des herkömmlichen Fehlerprüfverfahrens einer dreidimensionalen Form erlangt wird;
Fig. 7(c) ein konzeptionelles Diagramm, das ein Beispiel eines differenzenbasierten Abstandscodebildes zeigt, das mittels eines herkömmlichen Fehlerprüfverfahrens einer dreidimensionalen Form erlangt wird;
Fig. 7(d) ein konzeptionelles Diagramm, das ein Beispiel eines fehlerextrahierenden Bildes zeigt, das mittels des herkömmlichen Fehlerprüfverfahrens einer dreidimensionalen Form erlangt wird;
Fig. 8(a) zeigt eine Draufsicht, die ein Beispiel einer Gegenstandsform zeigt, von dem ein Abstandscodebild erlangt wird;
Fig. 8(b) eine konzeptionelle Sicht, die eine Gegenstandsform zeigt, die durch extrahierte Abstandscodes mittels Bestrahlens des Gegenstands bei einer Referenztemperatur und durch Einstellen der Abstandscodes gezeigt wird;
Fig. 8(c) eine konzeptionelle Sicht, die eine Gegenstandsform zeigt, die durch extrahierte Abstandscodes mittels Scannens des Gegenstands bei einer Temperatur höher als die Referenztemperatur durch Einstellen der Abstandscodes gezeigt wird;
Fig. 8(d) eine konzeptionelle Sicht, auf die sich im Erläutern der herkömmlichen Probleme und einiger der Basisprinzipien der Erfindung bezogen wird;
Fig. 8(e) eine konzeptionelle Sicht, auf die sich im Erläutern einiger der Basisprinzipien der Erfindung bezogen wird;
Fig. 9(a) eine konzeptionelle Sicht, die ein Beispiel eines Abstandscodebildes zeigt, das auf der Basis der Abstandscodes generiert worden ist, der Mittelwertls Scannens eines Gegenstands bei einer Temperatur höher als eine Referenztemperatur extrahiert worden sind;
Fig. 9(b) eine konzeptionelle Sicht, die ein Beispiel eines differenzenbasierten Abstandscodebildes zeigt, das mittels Vergleichens eines Abstandscodebildes, das bei der Referenztemperatur generiert worden ist, mit einem Abstandscodebild, das bei einer Temperatur höher als die Referenztemperatur generiert worden ist, erlangt wird;
Fig. 9(c) eine konzeptionelle Sicht, die ein Beispiel eines fehlerextrahierenden Bildes zeigt, das von einem differenzenbasierten Abstandscodebild mittels des herkömmlichen Fehlerprüfverfahrens einer dreidimensionalen Form erlangt wird.
Bezugnehmend auf Fig. 1 weist eine Fehlerprüfvorrichtung 7 einen Lichtprojektor 1 auf, der einen Laserstrahl ausstrahlt. Ein Spiegel 3 reflektiert den Laserstrahl von dem Lichtprojektor 1, um einen Gegenstand 2 in einer X- Koordinatenrichtung in Fig. 1 linienförmig zu beleuchten. Ein Galvano-Scanner 8 treibt den Spiegel mit einer schwenkenden Bewegung um ein vorbestimmtes Maß in die Richtung an, in der sich der Ort der Anstrahlung orthogonal zu der linienförmigen Strahlungslinie bewegt. Das heißt, die schwenkende Bewegung bewegt den Auftreffpunkt des in die Richtung der Strahlungslinie verlaufenden Strahls entlang der Y- Koordinatenachse in Fig. 1. Ein rotierender positionserkennender Sensor 9, der an dem Galvano-Scanner 8 befestigt ist, erkennt die Schwenkposition des Spiegels 3. Eine Kamera 4 ist vorgesehen, ein Bild von dem Gegenstand 2 an jeder Schwenkposition des Spiegels 3 mittels Aufrechterhaltens der relativen Position in Bezug auf den Spiegel 3 aufzunehmen. Ein Aufnahmetisch 11 nimmt den Gegenstand 2 auf seiner Oberfläche auf.
Der Lichtprojektor 1, der Galvano-Scanner 8 und eine Bildverarbeitungseinheit 10, die gleichzeitig ein Antriebssteuermittel der Kamera 4 ist, erkennen den Vorsprung/die vertiefte Form einer Oberfläche des Gegenstands 2 mittels wiederholten Ausführens eines Prozesses, um Werte, die die Schwenkwinkel des Spiegels 3 (Abstandscodes) kennzeichnen, als Antwort auf einen Laserstrahl zu speichern, der Positionen auf einem Kamerakoordinatensystem der Kamera 4 erkennt, während der Spiegel 3 geschwenkt wird, so dass die Abstandscodes als Antwort in eine Matrix (X, Y) in dem Kamerakoordinatensystem gespeichert werden, für das die linienförmige Richtung (X-Koordinatenrichtung) der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung (Y-Koordinatenrichtung) zwei orthogonale Achsen sind.
Der Lichtprojektor 1, der Spiegel 3, die Kamera 4 und der Galvano-Scanner 8 als Spiegelantriebsmittel weisen die gleichen Konfigurationen und Funktionen wie die bei dem herkömmlichen Beispiel auf, wie in Fig. 6(a) gezeigt. Daher wird deren ausführliche Beschreibung weggelassen.
Die Bildverarbeitungseinheit 10 weist ebenfalls die gleiche Konfiguration wie die der Bildverarbeitungseinheit 5 des herkömmlichen Beispiels auf, wie in Fig. 6(a) gezeigt, ausgenommen für einen internen Prozessor und Speicher.
Fig. 2 ist ein funktionales Blockdiagramm, das eine schematische Konfiguration der Bildverarbeitungseinheit 10 zeigt. Die Figur zeigt ebenfalls die elektrischen Verbindungen des Lichtprojektors 1, des Galvano-Scanners 8, des rotierenden positionserkennenden Sensors 9 und der Bildverarbeitungseinheit 10.
Wie in Fig. 2 gezeigt, weist die Bildverarbeitungseinheit 10 eine CPU 12 für das arithmetische Verarbeiten, einen ROM 13, der ein Steuerprogramm der CPU 12 enthält, einen nichtflüchtigen Speicher zum Speichern eines Vorsprungs/einer vertieften Form des einwandfreien Gegenstands 2 und einen RAM 15 auf, der für die temporäre Speicherung oder ähnliches der arithmetischen Daten verwendet wird. Der Speicherbereich des RAM 15 wird als ein differenzenbasierter Abstandscodebildspeicherbereich 15a, ein Pufferbereich 15b, ein Kennzeichenbildspeicherbereich 15c, ein Abstandscodebildspeicherbereich 15d und ein Referenzabstandscodebildspeicherbereich 15e verwendet. Der RAM 15 kann auch andere Funktionen (nicht gezeigt oder aufgezählt) enthalten.
Der Lichtprojektor 1, die Kamera 4 und der Galvano- Scanner 8 werden jeweils mittels der CPU 12 durch die Treiberschaltkreise 16, 17 und 18 und einen Eingabe-Ausgabe- Schaltkreis 19 hindurch gesteuert und angetrieben. Die rotierende Position des Galvano-Scanners 8, die mit der Schwenkposition des Spiegels 3 in Beziehung steht, wird mittels des rotierenden positionserkennenden Sensors 9 erkannt. Ein A/D-Wandler 20 erzeugt ein digitales Äquivalent der rotierenden Position für die Verbindung durch den Eingabe-Ausgabe-Schaltkreis 19 hindurch zu der CPU 12.
Der Ursprung (oder die Nullposition) des Galvano- Scanners 8 verschiebt sich manchmal infolge von Temperaturunterschieden. Selbst bei der Prüfgenauigkeit des rotierenden positionserkennenden Sensors 9 kann manchmal eine nichtlineare Verschiebung infolge von Temperaturänderungen vorkommen. In einem strengen Sinne ist es nicht möglich zu sagen, dass die CPU 12 die Schwenkposition des Spiegels 3 fehlerfrei erkennen kann.
Wie unter Bezugnahme auf die Fig. 6(a) und 6(b) bei der herkömmlichen Weise erläutert worden ist, ist ein Fehler zwischen tatsächlichen Ebenen von Abstandscodes und Ebenen von Abstandscodes, die die Bildverarbeitungseinheit 10 erkennt, infolge einer Verschiebung der Schwenkpositionen des Spiegels infolge von Temperaturänderungen begründet, oder ein Erkennungsfehler ist durch Temperaturverschiebungen oder ähnliches des rotierenden positionserkennenden Sensors 9 zum Erkennen der Schwenkposition des Spiegels 3 begründet.
Eine Anzeigevorrichtung 22 ist mit dem Eingabe-Ausgabe- Schaltkreis 19 der CPU 12 durch einen Treiberschaltkreis 21 hindurch verbunden. Die Anzeigevorrichtung 22 zeigt die endgültigen Ermittlungsergebnisse von Oberflächenfehlern des Gegenstands 2 an, der Mittelwertls der arithmetischen Verarbeitung in der CPU 12 gefunden worden sind.
Eine manuelle Dateneingabevorrichtung 23 (MDI) bildet eine Mensch-Maschine-Schnittstelle zwischen der Bildverarbeitungseinheit 10 und einem Bediener. Die manuelle Dateneingabevorrichtung 23 wird für das Starten der Bildverarbeitungseinheit 10, das Eingeben von Messbefehlen und ähnliches verwendet.
Die Fehlerprüfmethode einer dreidimensionalen Form bei dem Ausführungsbeispiel wird unter Bezugnahme auf die Konfigurationen und das Flussdiagramm in Fig. 3 ausführlich erläutert.
Als erstes speichert ein Bediener bei der Vorbereitung zum Ermitteln der Fehler auf der Oberfläche des Prüfgegenstands 2 einen Vorsprung/eine vertiefte Form des einwandfreien Gegenstands 2 in die Bildverarbeitungseinheit 10 der Fehlerprüfvorrichtung 7.
Insbesondere plaziert ein Bediener als erstes den einwandfreien Gegenstand an einer vorbestimmten Position auf dem Aufnahmetisch 11 in der Fehlerprüfvorrichtung 7 und gibt Messbefehle für das Referenzieren der Dateneingabe mittels Bedienens der manuellen Dateneingabevorrichtung 23 ein.
Die Bildverarbeitungseinheit 10 erkennt die Eingabe von Messbefehlen zum Referenzieren der Dateneingabe und treibt an und steuert den Lichtprojektor 1, die Kamera 4 und den Galvano-Scanner 8. Wie in der herkömmlichen Weise speichert die Einheit einen Vorsprung/eine vertiefte Form des einwandfreien Gegenstands in den nichtflüchtigen Speicher 14 der Bildverarbeitungseinheit 10 als ein Referenzabstandscodebild, wie in Fig. 7(a) gezeigt. Die Temperatur (Lufttemperatur), bei der ein Vorsprung/eine vertiefte Form des einwandfreien Gegenstands 2 mittels der Referenzdateneingabeverarbeitung gespeichert worden ist, wird als die Referenztemperatur definiert. Diese Referenztemperatur muss sich innerhalb eines Temperaturbereiches befinden, so dass die Fehlerprüfvorrichtung 7 fehlerfrei betrieben werden kann. Jedoch gibt es keine besondere Beschränkung, solange sich die Referenz innerhalb des Bereiches befindet. Beispielsweise gibt es praktisch keine Nachteile, selbst wenn es eine schwache Verschiebung des Ursprungs des Spiegels 3 oder eine schwache Temperaturverschiebung oder ähnliches des rotierenden positionserkennenden Sensors 9 gibt.
Bei dem Ausführungsbeispiel wird ein Wert von X- Koordinaten an jeder Position, wo die Länge der Strahlungslinie 24 auf dem Gegenstand 2 in einer linienförmigen Richtung durch n teilbar ist, für ein Matrixelement i1 bis in auf einem Kamerakoordinatensystem gehalten. Ein Wert der Y-Koordinaten in jeder Position, bei der der Abstand der Schwenkpositionen, wobei der Laser von dem linken Ende zu dem rechten Ende des Werkzeuges 2 ausstrahlt, durch m teilbar ist, wird für ein Matrixelement j1 bis jm in einem Kamerakoordinatensystem gehalten. Mit anderen Worten gibt es n×m Matrixelemente (i1, j1) bis (in bis jm) in der gesamten Matrix.
Der Abstandscodewert, der den Schwenkwinkel des Spiegels 3 kennzeichnet, ist 255 (was mit Weiß auf einer Grauskala korrespondiert), wenn der Laserstrahl das linke Ende des Gegenstands 2 bei der Referenztemperatur anstrahlt, und der Wert ist 0 (was mit Schwarz auf einer Grauskala korrespondiert), wenn der Laserstrahl das rechte Ende des Gegenstands 2 bei der Referenztemperatur anstrahlt.
Die Bildverarbeitungseinheit 10 speichert Schwenkwinkel des Spiegels 3 als Antwort auf die Matrix eines Laserstrahls, der die Position in einem Kamerakoordinatensystem der Kamera 4 erkennt, mit anderen Worten die Abstandscodes. Daher werden, wenn es eine Fläche gibt, die vertikal auf dem Gegenstand 2 steht, das heißt, wenn sich die Erkennungsposition des Laserstrahls innerhalb einer X-Y- Fläche nicht in dem Maße ändert, wie sich der Schwenkwinkel des Spiegels 3 ändert, werden unterschiedliche Abstandscodes in derselben Matrix gespeichert. In diesem Fall stellt ein Wert, der schließlich als Antwort auf diese Matrix gespeichert worden ist, einen Abstandscode dar, der am Ende eingegeben wird.
Fig. 7(a) ist ein Bild, wenn ein Abstandscodewert, der in jedem Matrixelement von (i(x=1 bis n), j(y=1 bis m)) auf einem Kamerakoordinatensystem gespeichert worden ist, als grau skalierte Schwärzung visualisiert wird, während die Fehlerprüfvorrichtung 7 bei der Referenztemperatur gestartet wird. Dieses Bild ist ein Abstandscodebild als eine Referenz.
Jedoch repräsentiert das Abstandscodebild in Fig. 7(a) einfach visualisierte Daten für ein besseres Verständnis der Erläuterung. Das Abstandscodebild wird mit einfachen Daten, wie numerischen Daten, für die interne Verarbeitung der Bildverarbeitungseinheit 10 verwendet. Selbst ein Referenzabstandscodebild, das in dem nichtflüchtigen Speicher 14 gespeichert ist, mit anderen Worten Daten, die einen Vorsprung/eine vertiefte Form des einwandfreien Gegenstands 2 ausdrücken, repräsentiert numerischen Daten eines dreidimensionalen Feldes. Es ist insbesondere nicht notwendig, das Abstandscodebild von Fig. 7(a) auf der Anzeigevorrichtung 22 anzuzeigen.
Der Gegenstand 2, der für das Generieren des Abstandscodebildes als eine Referenz verwendet wird, wird nach der Operation von dem Aufnahmetisch 11 entfernt.
Im Folgenden plaziert der Bediener, um Fehler auf der Oberfläche des Prüfgegenstands 2 zu prüfen, in gleicher Weise den Prüfgegenstand 2 auf den Aufnahmetisch 11 und bedient die manuelle Dateneingabevorrichtung 23, um Messbefehle für die Fehlerprüfung einzugeben.
Nach dem Lesen eines Referenzabstandscodebildes, das von dem einwandfreien Gegenstand 2 erlangt worden ist, aus dem nichtflüchtigen Speicher 14 in den Referenzabstandscodebildspeicherbereich 15e des RAM 15 (Schritt S1) treibt an und steuert die Bildverarbeitungseinheit 10, die die Eingabe der Messbefehle für die Fehlerprüfung erkannt hat, den Lichtprojektor 1, die Kamera 4 und den Galvano-Scanner 8 für die oben erwähnte Referenzdateneingabeverarbeitung. Dann speichert die Einheit einen Vorsprung/eine vertiefte Form des Prüfgegenstands 2 in den Abstandscodebildspeicherbereich 15d des RAM 15 als ein Abstandscodebild, wie in Fig. 9(a) gezeigt (Schritt S2).
Die Struktur des Datenfeldes eines Abstandscodebildes ist exakt die gleiche wie die des Datenfeldes des oben erwähnten Referenzabstandscodebildes, so dass deren Erläuterung weggelassen wird. Jedoch werden oft Differenzen zwischen Abstandscodes, die als ein Abstandscodebild gespeichert sind, und Abstandscodes, die als ein Referenzabstandscodebild gespeichert sind, auf der gleichen Matrix infolge von Temperaturänderungen oder ähnlichem ermittelt, selbst wenn die Form des Prüfgegenstands 2 einwandfrei ist.
Anschließend findet die Bildverarbeitungseinheit 10 die Differenz zwischen einem Referenzabstandscodebild, das von dem einwandfreien Gegenstand 2 erlangt worden ist, und einem Abstandscodebild, das von dem Prüfgegenstand 2 erlangt worden ist, bei jedem Matrixelement von (i(x=1 bis n), j(y=1 bis m)). Die Einheit speichert dann temporär jeden Differenzwert in den differenzenbasierten Abstandscodebildspeicherbereich 15a des RAM 15 für jedes Matrixelement von (ix(x=1 bis n), jy(y=1 bis m)) (Schritt S3).
Wenn der Bereich von Differenzen von Abstandscodes als eine grau skalierte Schwärzung visualisiert wird, wie oben beschrieben, würde beispielsweise ein differenzenbasierter Abstandscodebild erlangt, wie in Fig. 9(b) gezeigt. Jedoch ist es eigentlich unnötig, ein differenzenbasiertes Abstandscodebild zu visualisieren und auf der Anzeigevorrichtung 22 darzustellen.
Im Folgenden baut die Bildverarbeitungseinheit 10 ein Prüffenster in dem differenzenbasierten Abstandscodebildspeicherbereich 15a auf (Schritt S4), wie in Fig. 4(a) gezeigt. All die Differenzwerte, die in dem Prüffenster enthalten sind, werden in den Pufferbereich 15b des RAM 15 kopiert (Schritt S5). Der Inhalt des differenzenbasierten Abstandscodebildes in Fig. 4(a) ist der gleiche wie der des differenzenbasierten Abstandscodebildes in Fig. 9(b). Das Prüffenster in Fig. 4(a) ist konzeptionell gleich dem Abstandscodebild und dem differenzenbasierten Abstandscodebild, wie oben erwähnt, und wird eigentlich nicht auf der Anzeigevorrichtung 22 angezeigt. In Wirklichkeit wird jedes Differenzdatum für eine vertikale Spalte, die äquivalent zu der Matrix (i1, j1) bis (in, j1) auf dem Kamerakoordinatensystem ist, in den Pufferbereich 15b mittels der Verarbeitung des oben erwähnten Schrittes S4 extrahiert und mittels des initialen Ausführens von Schritt S5.
Dann führt die Bildverarbeitungseinheit 10 einen aufsteigenden oder absteigenden Sortierprozess auf alle Differenzdaten durch, die in den Pufferbereich 15b extrahiert worden sind, um einen Mittelwert der häufigsten Differenzdaten zu finden (Schritt S6)
Fig. 5 zeigt ein Beispiel von Differenzdaten, die im Schritt S6 sortiert worden sind. In dem Beispiel von Fig. 5 werden ähnliche Differenzen am häufigsten zwischen a1 und a2 gefunden. Ähnliche Differenzen werden ebenfalls am häufigsten zwischen b1 und b2 gefunden. Um die arithmetische Verarbeitung zu vereinfachen, wird einen Mittelwert a0 der häufigsten Differenzen zwischen a1 und a2 als ein häufigster Differenzwert definiert.
Der Mittelwert a0, wie oben beschrieben, stellt den ΔZ- Wert dar, mit anderen Worten einen Fehler eines Abstandscodes, der auf einer Positionsverschiebung des Spiegels 3 oder einem Erkennungsfehler (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem des rotierenden positionserkennenden Sensors 9 zum Erkennen der Schwenkposition des Spiegels 3 begründet ist. Wenn eine Oberflächenform des Prüfgegenstands 2 einwandfrei ist, sollten die Abstandscodes, die von dem Prüfgegenstand 2 erlangt worden sind, einwandfrei mit den Abstandscodes des Referenzabstandscodebildes übereinstimmen, da alle Abstandscodes für eine vertikale Spalte um den häufigsten Referenzwert a0 (= ΔZ) verschoben werden.
Dann fragt die Bildverarbeitungseinheit 10 Informationen ab, ob es Matrixelemente gibt oder nicht, die Differenzen aufweisen, die von dem häufigsten Differenzwert a0 um mehr als einen Schwellenwert (beispielsweise den gesetzten Wert ΔS in Fig. 5) in dem Pufferbereich 15b abweichen. Wenn es solche Elemente gibt, kennzeichnet die Bildverarbeitungseinheit 10 die Matrixelemente, die solche Differenzen aufweisen, und speichert sie als Fehlerkandidaten (Schritt S7).
Dieses Kennzeichnen wird insbesondere mittels Setzen von Fehlerkandidaten-Flags an entsprechenden Positionen von Fehlerkandidaten in dem Kennzeichenbildspeicherbereich 15c des RAM 15 erreicht, wo die Speicherung von n Zeilen- × m Spalten-Matrixelementen gestattet ist, wie in dem differenzenbasierten Abstandscodebildspeicherbereich 15a. Wenn beispielsweise Differenzwerte an der Stelle (i4, j1) und an der Stelle (i5, j1) in einem differenzenbasierten Abstandscodebild in einem Abstand zwischen b1 und b2 in Fig. 5 enthalten sind, würden Fehlerkandidaten-Flags bei (i4, j1) und bei (i5, j1) in dem Kennzeichenbildspeicherbereich 15c gesetzt. Die Bereiche, in denen Fehlerkandidaten-Flags gesetzt werden, sind Bereiche, in denen Abstandscodes, die von dem Prüfgegenstand 2 erlangt worden sind, nicht mit den Abstandscodes eines Referenzabstandscodebildes übereinstimmen, selbst wenn die Abstandscodedaten mittels der oben erwähnten Differenz a0 (= ΔZ) verschoben werden. Mit anderen Worten kennzeichnen die Bereiche, dass die Oberfläche des Gegenstands 2 Fehler aufweisen kann.
Dieses Kennzeichnen ist im Wesentlichen das gleiche wie die Prozedur, bei der eine Differenz bei beiden Formen mittels Überlappens einer Form des Gegenstands 2, das keine Defekte aufweist, das bei der Referenztemperatur überwacht worden ist, mit einer Form des Prüfgegenstands 2, der bei einer höheren oder niedrigeren Temperatur als die Referenztemperatur überwacht worden ist, wie beispielsweise in Fig. 8(e) gezeigt.
Im Folgenden ermittelt die Bildverarbeitungseinheit 10, ob die Erkennungsverarbeitung von Fehlerkandidaten für all die Differenzen abgeschlossen ist, die in dem differenzenbasierten Abstandscodebildspeicherbereich 15a gespeichert sind, mit anderen Worten, ob die oben erwähnten Schritte S5 bis S7 für all die Spalten j=1 bis m ausgeführt worden sind (Schritt S8). Wenn die Erkennungsverarbeitung noch nicht vollendet ist, wird die Einstellungsposition des Prüffensters in der Spaltenrichtung verschoben, mit anderen Worten in Richtung nach rechts in Fig. 4(a) (Schritt S9). Wie oben beschrieben, werden die Schritte S5 bis S7 wiederholt ausgeführt, bis alle Spalten gescannt sind.
Schließlich ermittelt die Bildverarbeitungseinheit 10, wenn die Erkennungsverarbeitung der Fehlerkandidaten für all die Spalten j=1 bis m vollendet ist, das Vorhandensein/Fehlen von Fehlern auf dem Prüfgegenstand 2 basierend auf dem gegenwärtigen Zustand all der gekennzeichneten Matrixelemente, das heißt den gesetzten/nicht gesetzten Zustand der Fehlerkandidaten-Flags in dem Kennzeichenbildspeicherbereich 15c. Dann zeigt die Anzeigevorrichtung 22 die Ergebnisse an, um den Bediener zu benachrichtigen (Schritt S10).
Fig. 4(b) zeigt ein Beispiel des EIN/AUS-Zustandes von Fehlerkandidaten-Flags, die in dem Kennzeichenbildspeicher­ bereich 15c mittels der Wiederholung der oben erwähnten Schritt S5 bis S7 gesetzt worden sind. Das Bild wird hier als fehlerextrahierendes Bild bezeichnet. Dieses fehler­ extrahierende Bild ist ebenfalls, wie oben beschrieben, konzeptionell. Fig. 4(b) visualisiert die EIN/AUS-Zustände von Fehlerkandidaten-Flags mittels Zeigens eines Bereiches, in dem ein Fehlerkandidaten-Flag als Weiß gesetzt ist, oder eines Bereichs, in dem ein Fehlerkandidaten-Flag nicht als Schwarz gesetzt ist. In dem Beispiel in Fig. 4(b) sind weiße Bereiche, in denen Fehlerkandidaten-Flags gesetzt sind, über ein kleines Gebiet verstreut. Als Ergebnis ermittelt die Bildverarbeitungseinheit 10, dass der Prüfgegenstand 2 keine Fehler aufweist und zeigt eine Aussage wie "keine Abnormalität" auf der Anzeigevorrichtung 22 an.
Wenn weiße Bereiche, in denen mehr als eine vorbestimmte Anzahl von Fehlerkandidaten-Flags gesetzt sind, über ein Gebiet hin, kontinuierlich gefunden werden, wird eine Aussage wie "fehlerhaft" angezeigt.
Es ist auch möglich, das Vorhandensein/Fehlen von Fehlern unter Berücksichtigung der gesamten Form von Abschnitten in die Fehlerkandidaten-Flags gesetzt sind, zusätzlich zu der Größe des Gebietes zu ermitteln, wo Fehlerkandidaten-Flags gesetzt sind. Wenn beispielsweise die Bereiche, in denen Fehlerkandidaten-Flags gesetzt sind, eine größere Länge als einen bestimmten Wert in jeder Achsenrichtung aufweisen, kann dies als Hinweis aufgefaßt werden, dass der Gegenstand 2 Oberflächenfehler aufweist.
Wie bei einem Vergleich zwischen einem fehlerextrahierenden Bild in Fig. 4(b), das mittels der Verarbeitung in dem Ausführungsbeispiel erlangt worden ist, und einem fehlerextrahierenden Bild in Fig. 9(c), das in der herkömmlichen Weise erlangt worden ist, deutlich zu sehen ist, beugt das Ausführungsbeispiel einem Ermittlungsfehler vor, der aus einem Fehler von Abstandscodes resultiert, die in einer Positionsverschiebung des Spiegels 3 oder einem Erkennungsfehler (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem des rotierenden positionserkennenden Sensors 9 zum Erkennen der Schwenkposition des Spiegels 3 begründet ist. Das Vorhandensein/Fehlen von Oberflächenfehlern auf dem Gegenstand 2 wird korrekt ermittelt.
Der Grund ist, wie oben beschrieben, dass die Prozedur für das Erkennen einer Differenz bei beiden Formen mittels Überlappens der Form des Gegenstands 2, der keine Fehler aufweist, der bei der Referenztemperatur überwacht worden ist, mit der Form des Prüfgegenstands 2, der bei einer höheren oder niedrigeren Temperatur als der Referenztemperatur überwacht worden ist, digital ausgeführt wird.
Im Folgenden wird ein Ausführungsbeispiel kurz erläutert. Bei dem Ausführungsbeispiel werden die häufigsten Abstandscodes aus Matrixelementen in der linienförmigen Richtung der Strahlungslinie 24 gefunden, das heißt in der X- Koordinatenrichtung, an jeder Schwenkposition des Spiegels 3 für jeden Vorsprung/jede vertiefte Form des einwandfreien Gegenstands 2 und dem Vorsprung/der vertieften Form des Prüfgegenstands 2. Abstandscodes, die für den Prüfgegenstand 2 erlangt worden sind, werden in jeder Schwenkposition des Spiegels 3 verschoben, um die häufigsten Abstandscodes bei dem Vorsprung/der vertieften Form des einwandfreien Gegenstands 2 und dem Vorsprung/der vertieften Form des Prüfgegenstands 2 in Übereinstimmung zu bringen. Dann werden Abstandscodes, die von dem einwandfreien Gegenstand 2 erlangt worden sind, mit Abstandscodes, die von dem Prüfgegenstand 2 erlangt worden sind, bei jedem Matrixelement verglichen, um so das Vorhandensein/Fehlen von Fehlern auf dem Prüfgegenstand 2 zu prüfen.
Bei diesem Ausführungsbeispiel wird zuerst der einwandfreie Gegenstand 2 mittels der Fehlerprüfvorrichtung 7 gescannt, um ein Abstandscodebild als eine Referenz zu produzieren (wie beispielsweise in Fig. 7(a) illustriert). Das Abstandscodebild wird in dem Referenzabstandscodebildspeicherbereich 15e gespeichert. Der Prüfgegenstand 2 wird dann mittels der Fehlerprüfvorrichtung 7 gescannt, um ein Abstandscodebild als eine Referenz zu produzieren (wie beispielsweise in Fig. 9(a) illustriert). Dieses Bild wird in dem Abstandscodebildspeicherbereich 15d gespeichert.
Dann wird ein Prüffenster, wie in Fig. 4(a) gezeigt, mittels der Bildverarbeitungseinheit 10 in dem Referenzabstandscodebildspeicherbereich 15e aufgebaut. Abstandscodes der Matrixelemente, äquivalent zu (i1, j1) bis (in, j1) werden extrahiert, und ein aufsteigender oder absteigender Sortierprozess wird für all die extrahierten Abstandscodes durchgeführt, um die häufigsten Abstandscodes zu finden. Aus den Sortierergebnissen werden die Daten erlangt, wie in Fig. 5 gezeigt. In diesem Fall wird eine Gruppe von häufigsten Abstandscodes lediglich für die Zahl von Flächen gefunden, die orthogonal zu der optischen Achse der Kamera 4 sind. Beispielsweise werden hinsichtlich einer A-A'-Position, wie in Fig. 8(a) gezeigt, für den Gegenstand 2 eine Oberfläche 2d, ein flacher Abschnitt 2c und der untere Abschnitt der peripheren Nut 2a zu X,Y-Koordinaten, die häufige Abstandscodes aufweisen. Da die Höhe einer abgeschrägten Oberfläche 2e uneinheitlich ist, werden Daten solch einer abgeschrägten Oberfläche nicht zu häufigen Abstandscodes. Ferner ist eine periphere Nut 2b in zwei gepunkteten Formen angeordnet, die über zwei Orte verteilt sind. Daher ist deren Gebiet extrem klein und die Nut stellt keine Koordinaten bereit, die häufige Abstandscodes aufweisen. Die häufigsten Abstandscodes in dem Beispiel von Fig. 8(a) und Fig. 8(d) sind Abstandscodes, die für Koordinaten des flachen Abschnittes 2c (gerade Linie, die die maximale Länge in der linienförmigen Richtung der Anstrahlung auf dem Gegenstand 2 aufweist) gespeichert werden. Ein Abstandscode, der äquivalent zu einer Referenzoberfläche des normalen Gegenstands 2 als Referenz ist (die Form, die mit einer durchbrochenen Linie in Fig. 8(d) gezeigt ist), wird basierend auf der Höhe des flachen Abschnittes 2c spezifiziert.
Die Bildverarbeitungseinheit 10 baut ein Prüffenster in dem Abstandscodebildspeicherbereich 15d auf, wie in Fig. 4(a) gezeigt. Dann werden die Abstandscodes von Matrixelementen äquivalent zu (i1, j1) bis (in, j1) extrahiert. Ein aufsteigender oder absteigender Sortierprozess wird für all die extrahierten Abstandscodes, wie oben erwähnt, durchgeführt, um die häufigsten Abstandscodes zu finden. Wie oben erwähnt, wird ein Abstandscodewert, der äquivalent einer Referenzoberfläche des Prüfgegenstands 2 ist (die Form, die mit einer durchgezogenen Linie in Fig. 8(d) gezeigt ist), basierend auf der Höhe des flachen Abschnitts 2c spezifiziert, der aus einer geraden Linie besteht, die die maximale Länge in der linienförmigen Richtung der Strahlungslinie auf dem Gegenstand 2 aufweist.
Anschließend werden die häufigsten Abstandscodewerte des Prüfgegenstands 2 von den häufigsten Abstandscodewerten des einwandfreien Gegenstands 2 abgezogen, um auf diese Weise eine Abstandscodedifferenz ΔZ zu finden, wie in Fig. 8(d) gezeigt. Dieser ΔZ-Wert ist ein Fehler von Abstandscodes, der äquivalent zu einer Positionsverschiebung des Spiegels 3 oder einem Erkennungsfehler (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem des rotierenden postionserkennenden Sensors 9 zum Erkennen einer Schwenkposition des Spiegels 3 ist.
Dann wird die Differenz ΔZ zu jedem Abstandscode von (i1, j1) bis (in, j1) addiert, der aus dem Abstandscodebildspeicherbereich 15d extrahiert wurde. (Bei diesem Ausführungsbeispiel hat ΔZ ein negatives Vorzeichen.) Die Abstandscodewerte, die von dem Prüfgegenstand 2 erlangt worden sind, werden alle verschoben und erneut in den Abstandscodebildspeicherbereich 15d geschrieben. Infolge dieser Prozedur werden der Vorsprung/die vertiefte Form des einwandfreien Gegenstands 2 mit einem Vorsprung/einer vertieften Form des Prüfgegenstands 2 miteinander in Wirklichkeit an dem flachen Abschnitt 2c als eine Referenz überlappt, wie beispielsweise in Fig. 8(e).
Die oben erwähnte Prozedur wird für all die Datenfelder j1 bis jm in dem Abstandscodebildspeicherbereich 15d wiederholt ausgeführt. Daher wird ein Fehler ΔZ eines Abstandscodes, der charakteristischerweise in jeder Schwenkposition ermittelt wird, in jeder Schwenkposition des Spiegels 3 ermittelt. Abstandscodewerte, die von dem Prüfgegenstand 2 erlangt worden sind, werden lediglich um den Fehler ΔZ verschoben und dann erneut in den Abstandscodebildspeicherbereich 15d geladen.
Schließlich wird das Vorhandensein/Fehlen von Fehlern auf der Oberfläche des Prüfgegenstands 2 durch einen Vergleich zwischen den Abstandscodes, die von dem einwandfreien Gegenstand 2 erlangt worden sind, und den Abstandscodewerten (deren Daten bereits verschoben worden sind), die von dem Prüfgegenstand 2 erlangt worden sind, ermittelt.
Bei diesem Ausführungsbeispiel wird die Referenzoberfläche für die Anordnung von einer Oberfläche dargestellt, die eine gerade Linie beinhaltet, die die maximale Länge in der linienförmigen Richtung der Anstrahlung auf der Gegenstand 2 aufweist, mit anderen Worten eine gerade Oberfläche, die die Koordinaten beinhaltet, die die häufigsten Abstandsmesscodes in einer Vielzahl von Matrixelementen aufweisen, die einen identischen Y-Wert aufweisen. Daher kann eine Referenzoberfläche oft der flache Abschnitt 2c oder die Oberfläche 2d abhängig von der Position der Anstrahlung sein. Jedoch ändert sich die Referenzoberfläche gleichzeitig und gleichermaßen in dem Referenzabstandscodebildspeicherbereich 15e und den Abstandscodebildspeicherbereich 15d, so dass es kein Problem für den Vergleich gibt.
Selbst bei diesem Ausführungsbeispiel wird ähnlich dem anfänglich erläuterten Ausführungsbeispiel eine Differenz bei beiden Formen in Wirklichkeit mittels Überlappens einer Form des Gegenstands 2, der keine Fehler aufweist und bei der Referenztemperatur überwacht worden ist, mit einer Form des Prüfgegenstands 2, der bei einer höheren oder niedrigeren Temperatur als der Referenztemperatur überwacht worden ist, erkannt. Daher ist es möglich, einem Fehler von Abstandscodes vorzubeugen, der auf einer Positionsverschiebung des Spiegels 3 oder einem Erkennungsfehler (nichtlineare Verschiebung, Ursprungsverlagerung oder ähnliches) infolge einer Temperaturverschiebung oder ähnlichem des rotierenden positionserkennenden Sensors 9 zum Erkennen der Schwenkposition des Spiegels 3 begründet ist. Das Vorhandensein/Fehlen von Oberflächenfehlern auf dem Gegenstand 2 wird entsprechend ermittelt.
Bei dem erfindungsgemäßen Fehlerprüfverfahren einer dreidimensionalen Form werden Differenzen zwischen Werten ermittelt, die Schwenkwinkel eines Spiegels kennzeichnen, die äquivalent zu Abständen zwischen einem einwandfreien Gegenstand und einer Kamera sind, und Werten, die Schwenkwinkel eines Spiegels kennzeichnen, die äquivalent zu Abständen zwischen einem Prüfgegenstand und der Kamera sind. Die Differenzen werden in einer Matrix gespeichert, für die die linienförmige Richtung der Anstrahlung und die Bewegungsrichtung des Ortes der Anstrahlung zwei orthogonale Achsen sind. Der häufigste Differenzwert aus Matrixelementen in der linienförmigen Richtung der Anstrahlung wird bei jeder Schwenkposition ermittelt. Matrixelemente, die Differenzen aufweisen, die von der häufigsten Differenz um mehr als einen gesetzten Wert abweichen, werden gefunden. Demgemäß erkennt das Verfahren Bereiche, wo die Werte, die Schwenkwinkel des Spiegels kennzeichnen, die äquivalent zu Abständen zwischen einem einwandfreien Gegenstand und der Kamera sind, und die Werte, die Schwenkwinkel des Spiegels kennzeichnen, die äquivalent zu Abständen zwischen einem Prüfgegenstand und der Kamera sind, nicht miteinander übereinstimmen, selbst wenn die Werte, die Schwenkwinkel des Spiegels kennzeichnen, relativ verschoben werden. Die erkannten Bereiche werden als Fehlerkandidaten gespeichert. Ferner ermittelt das Verfahren das Vorhandensein/Fehlen von Fehlern auf einem Prüfgegenstand basierend auf all den gegenwärtigen Zuständen der Matrixelemente, die Fehlerkandidaten auf einer Matrix sein können. Daher ermittelt das Verfahren fehlerfrei das Vorhandensein/Fehlen von Fehlern auf der Oberfläche des Prüfgegenstands, selbst wenn die Genauigkeit der Schwenkposition des Spiegels und des rotierenden positionserkennenden Mittels zum Erkennen der Schwenkposition des Spiegels infolge von Temperaturänderungen reduziert ist.
Ferner ermittelt das Verfahren das Vorhandensein/Fehlen von Fehlern auf der Oberfläche eines Prüfgegenstands mittels Findens von Werten, die die häufigsten Schwenkwinkel des Spiegels kennzeichnen, aus Matrixelementen in der linienförmigen Richtung der Anstrahlung jeder Spalte von Matrixelementen, die in der Richtung der Anstrahlung für jeden Vorsprung/jede vertiefte Form eines einwandfreien Gegenstands und jeden Vorsprung/jede vertiefte Form eines Prüfgegenstands angeordnet sind. Die Werte, die Schwenkwinkel des Spiegels kennzeichnen, die von dem Prüfgegenstand in jeder Spalte von Matrixelementen erlangt worden sind, die in der Richtung der Anstrahlung angeordnet sind, werden verschoben, um die Werte, die die häufigsten Schwenkwinkel des Spiegels kennzeichnen, bei dem Vorsprung/der vertieften Form des einwandfreien Gegenstands und dem Vorsprung/der vertieften Form des Prüfgegenstands in Übereinstimmung zu bringen. Dann überlappt das Verfahren praktisch den Vorsprung/die vertiefte Form des einwandfreien Gegenstands mit dem Vorsprung/der vertieften Form des Prüfgegenstands. Daher ermittelt das Verfahren fehlerfrei das Vorhandensein/Fehlen von Fehlern auf der Oberfläche auf einem Prüfgegenstand, selbst wenn die Genauigkeit der Schwenkposition des Spiegels und des rotierenden positionserkennenden Mittels zum Erkennen der Schwenkposition des Spiegels infolge von Temperaturänderungen reduziert ist.
Als Ergebnis wird die Fehlerprüfung fehlerfrei auf der Oberfläche eines Gegenstands ausgeführt, ohne die Einstellungen zu ändern, so dass die Fehlerprüfung fehlerfrei ausgeführt wird, und ohne aktives Steuern der Temperatur der Umgebung. Operationen für Fehlerprüfungen werden vereinfacht, und zusätzliche Einrichtungen zum Verbessern der Prüfgenauigkeit sind unnötig. Kosten für Anlagen- und Ausrüstungsinvestionen werden ebenfalls reduziert.

Claims (6)

1. Fehlerprüfverfahren zum Erkennen von Oberflächenfehlern auf einer dreidimensionalen Form, aufweisend:
wiederholtes Scannen eines Lichtstrahles in einem linearen Muster auf einem ersten Gegenstand (2), wobei
der erste Gegenstand (2) einen Referenzgegenstand darstellt, der eine gewünschte Oberflächenform aufweist;
Speichern von Referenzbildern des linearen Muster auf dem ersten Gegenstand (2), zusammen mit dazugehöriger Information über die Positionen des Lichtstrahles, um einen ersten Matrixwert in jeder Position des Lichtstrahles zu produzieren;
wiederholtes Scannen des Lichtstahles in dem linearen Muster auf einem zweiten Gegenstand (2), wobei
der zweite Gegenstand (2) einen Prüfgegenstand darstellt;
Speichern von Prüfbildern der linienförmigen Struktur auf dem zweiten Gegenstand (2), zusammen mit dazugehöriger Information über Positionen des Lichtstrahls, um einen zweiten Matrixwert in jeder Position des Lichtstrahls zu produzieren;
Finden eines Satzes von Differenzen zwischen jedem Element der ersten Matrix und jedem korrespondierenden Element der zweiten Matrix;
Definieren des Satzes von Differenzen als Fehlerkandidatenelemente, wobei die Differenz eine häufigste Differenz durch einen vorbestimmten Wert überschreitet; und
Ermitteln des Vorhandenseins von Fehlern basierend auf Zuständen der Fehlerkandidaten.
2. Fehlerprüfverfahren gemäß Anspruch 1, wobei der Schritt des wiederholten Scannens aufweist:
Drehen eines Spiegels (3) um eine Achse;
Reflektieren eines Lichtstrahls von dem Spiegel (3), um eine Linie auf dem Gegenstand (2) zu beleuchten; und
Bewegen des Gegenstands (2) in eine Richtung orthogonal zu der Linie.
3. Fehlerprüfverfahren gemäß Anspruch 2, wobei der Schritt des Speicherns dazugehöriger Informationen über die Position das Speichern von augenblicklichen Winkel des Spiegels (3) beinhaltet.
4. Oberflächenfehlererkennungsverfahren für einen dreidimensionalen Gegenstand (2), aufweisend:
Scannen eines Lichtstrahls über eine Oberfläche eines einwandfreien Gegenstands (2) hin;
Speichern einer ersten Matrix von Reflexionen des Lichtstrahls von dem einwandfreien Gegenstand (2);
Scannen des Lichtstrahls über eine Oberfläche eines Prüfgegenstands (2) hin, um eine zweite Matrix zu produzieren;
Differenzbildung zwischen den Reflexionen des Lichtstrahls von dem Prüfgegenstand (2) und den korrespondierenden Elementen in der Matrix, um eine Differenzmatrix zu bilden;
Addieren eines häufigsten Wertes in der Differenzmatrix zu allen Elementen in der zweiten Matrix, um eine korrigierte Matrix zu produzieren;
Unterscheiden der Elemente in der korrigierten Matrix von korrespondierenden Elementen in der ersten Matrix;
Definieren von Elementen in der korrigierten Matrix, die von den korrespondierenden Elementen in der ersten Matrix um einem vorbestimmten Betrag abweichen, als Fehlerkandidaten; und
Prüfen von Mustern der Fehlerkandidaten, um Fehler auf der Oberfläche des Prüfgegenstands (2) zu erkennen.
5. Fehlerprüfverfahren, aufweisend:
Finden und Speichern einer ersten Matrix eines Vorsprungs/einer vertieften Form eines einwandfreien Gegenstands (2) im Voraus;
Finden einer zweiten Matrix eines Vorsprungs/einer vertieften Form eines Prüfgegenstands (2);
Finden einer Differenz zwischen einem Wert der ersten Matrix und einem korrespondierenden Element der zweiten Matrix und Speichern der Differenzen als eine Differenzmatrix;
Finden eines häufigsten Wertes in der Differenzmatrix;
Unterscheiden der Elemente in der Differenzmatrix von dem häufigsten Wert, um eine Kandidatenmatrix zu produzieren; und
Identifizieren der Elemente in der Kandidatenmatrix als Fehlerkandidaten, die einen vorbestimmten Wert übersteigen.
6. Fehlerprüfverfahren gemäß Anspruch 5, ferner aufweisend das Prüfen einer Musters der Fehlerkandidaten, um Fehler zu identifizieren.
DE10161060A 2000-12-12 2001-12-12 Fehlerprüfverfahren für einen dreidimensionalen Gegenstand Expired - Fee Related DE10161060B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP377116-00 2000-12-12
JP2000377116A JP3721983B2 (ja) 2000-12-12 2000-12-12 三次元形状の欠陥検査方法

Publications (2)

Publication Number Publication Date
DE10161060A1 true DE10161060A1 (de) 2002-09-19
DE10161060B4 DE10161060B4 (de) 2007-04-12

Family

ID=18845888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10161060A Expired - Fee Related DE10161060B4 (de) 2000-12-12 2001-12-12 Fehlerprüfverfahren für einen dreidimensionalen Gegenstand

Country Status (3)

Country Link
US (1) US6766047B2 (de)
JP (1) JP3721983B2 (de)
DE (1) DE10161060B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007071847A (ja) * 2005-09-09 2007-03-22 Nagaoka Univ Of Technology 表面凹凸測定における異常測定値の検出方法
JP4812568B2 (ja) * 2006-09-07 2011-11-09 株式会社ミツトヨ 光学式測定装置、光学式測定方法、及び光学式測定処理プログラム
US7873236B2 (en) * 2007-08-28 2011-01-18 General Electric Company Systems, methods and apparatus for consistency-constrained filtered backprojection for out-of-focus artifacts in digital tomosythesis
US8391634B1 (en) * 2009-04-28 2013-03-05 Google Inc. Illumination estimation for images
JP5564348B2 (ja) * 2010-07-15 2014-07-30 株式会社キーエンス 画像処理装置及び外観検査方法
US8798393B2 (en) 2010-12-01 2014-08-05 Google Inc. Removing illumination variation from images
CN102721701B (zh) * 2012-07-03 2014-06-04 山东理工大学 陶瓷天线罩光透射扫描检测装置
CN103884723B (zh) * 2012-12-20 2016-02-10 山东新华医疗器械股份有限公司 自动灯检机的同步跟踪图像采集机构
US11084091B2 (en) * 2018-01-26 2021-08-10 William MAKINEN System and method for detecting 3D printing errors
US20220276181A1 (en) * 2019-08-26 2022-09-01 Nec Corporation Surface anomaly detecting device, system, method, and non-transitory computer-readable medium
CN114833523B (zh) * 2022-03-17 2023-09-29 中国第一汽车股份有限公司 一种通过柔性压料板消除凹形翻边暗坑的方法
CN117784088A (zh) * 2024-01-30 2024-03-29 荣耀终端有限公司 激光扫描装置、系统、控制方法及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05312549A (ja) * 1992-02-06 1993-11-22 Hitachi Ltd パターン検出方法及びその装置
US5680207A (en) * 1992-12-14 1997-10-21 Nikon Corporation Defect inspecting apparatus and defect inspecting method
AT404638B (de) * 1993-01-28 1999-01-25 Oesterr Forsch Seibersdorf Verfahren und vorrichtung zur dreidimensionalen vermessung der oberfläche von gegenständen
DE4408291C2 (de) * 1994-03-11 1997-04-10 Abb Patent Gmbh Verfahren zur automatisierten optischen Prüfung einer Schweißnaht eines Bauteils unter Anwendung des Lichtschnittverfahrens
US6487307B1 (en) * 1994-11-30 2002-11-26 Isoa, Inc. System and method of optically inspecting structures on an object
JPH1010053A (ja) 1996-06-24 1998-01-16 Nissan Motor Co Ltd 表面欠陥検査装置

Also Published As

Publication number Publication date
JP3721983B2 (ja) 2005-11-30
US6766047B2 (en) 2004-07-20
US20020070363A1 (en) 2002-06-13
DE10161060B4 (de) 2007-04-12
JP2002181520A (ja) 2002-06-26

Similar Documents

Publication Publication Date Title
EP2002203B1 (de) Verfahren und system zur formmessung einer spiegelnden oberfläche
EP2037227B1 (de) Verfahren und Vorrichtung zum Bestimmen der Position eines Fahrzeugs, Computerprogramm und Computerprogrammprodukt
DE4222804A1 (de) Einrichtung und verfahren zur automatischen visuellen pruefung elektrischer und elektronischer baueinheiten
DE102016215529B4 (de) Härteprüfvorrichtung und Härteprüfverfahren
DE102015116047A1 (de) Prüfvorrichtung und Steuerverfahren für eine Prüfvorrichtung
EP2511648B1 (de) Messanordnung und Verfahren zur Bestimmung mindestens der Crimphöhe eines Leitercrimps
DE10161060B4 (de) Fehlerprüfverfahren für einen dreidimensionalen Gegenstand
EP0995108A1 (de) Verfahren zur automatischen erkennung von oberflächenfehlern an rohkarosserien und vorrichtung zur durchführung des verfahrens
DE10011200A1 (de) Verfahren zur Bewertung von Strukturfehlern auf einer Waferoberfläche
EP3417237B1 (de) Referenzplatte und verfahren zur kalibrierung und/oder überprüfung eines deflektometrie-sensorsystems
DE10237540A1 (de) Fehlerinspektionsvorrichtung und Herstellungsverfahren einer Halbleitervorrichtung
DE2939396A1 (de) Lagenabtastvorrichtung
DE10134240A1 (de) Verfahren und Vorrichtung zur Auswertung einer Halbleiter-Wafer Strukturform
DE112018008035T5 (de) Dreidimensionale Messvorrichtung
DE102018207374A1 (de) Koordinatenmessmaschine und Koordinatenmessverfahren
DE3624959C2 (de)
DD219567A5 (de) Verfahren und geraet fuer die fehlerpruefung von uebertragungsmasken von leitungsmustern integrierter schaltungen
DE102021211376A1 (de) Verfahren und system zum überprüfen vonreparatur- oder montagevorgängen
EP1022541A2 (de) Verfahren und Vorrichtung zur Bestimmung der Geometrie von blattförmigem Gut oder Stapeln davon
EP0355377B1 (de) Verfahren zur optischen Prüfung von Flachbaugruppen
DE19817714B4 (de) Verfahren zur Messung der Lage von Strukturen auf einer Maskenoberfläche
DE102018214280A1 (de) Inspektionssystem und Verfahren zum Korrigieren eines Bildes für eine Inspektion
DE102019131693A1 (de) Messgerät zur untersuchung einer probe und verfahren zum bestimmen einer höhenkarte einer probe
WO1999058931A1 (de) Steuerung eines koordinatenmessgerätes mit einem prüfmerkmal und nachfolgendem geometrieelement
DE102021004537A1 (de) Messvorrichtung, Steuerungs- bzw. Regelungsvorrichtung, Steuerungs- bzw. Regelungsverfahren und Programm

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee