DE102018109774B4 - Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm - Google Patents

Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm Download PDF

Info

Publication number
DE102018109774B4
DE102018109774B4 DE102018109774.3A DE102018109774A DE102018109774B4 DE 102018109774 B4 DE102018109774 B4 DE 102018109774B4 DE 102018109774 A DE102018109774 A DE 102018109774A DE 102018109774 B4 DE102018109774 B4 DE 102018109774B4
Authority
DE
Germany
Prior art keywords
workpiece
imaging unit
reference line
image processing
robot
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.)
Active
Application number
DE102018109774.3A
Other languages
English (en)
Other versions
DE102018109774A1 (de
Inventor
Toyoo Iida
Yuki Taniyasu
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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
Priority claimed from JP2018061951A external-priority patent/JP6973233B2/ja
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE102018109774A1 publication Critical patent/DE102018109774A1/de
Application granted granted Critical
Publication of DE102018109774B4 publication Critical patent/DE102018109774B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • G06T2207/10088Magnetic resonance imaging [MRI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects

Abstract

Bildverarbeitungssystem (SYS) zum Durchführen einer Bildmessung für einen oder mehrere in einem Werkstück (W) voreingestellte Messpunkte (Wp) unter Verwendung eines Erscheinungsbildes des Werkstücks (W), wobei das Bildverarbeitungssystem (SYS) dadurch gekennzeichnet ist, dass es umfasst:eine erste Bildgebungseinheit (310), die zur Aufnahme des Erscheinungsbildes konfiguriert ist;einen Roboter (210), der eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) ändert;ein Referenzlinien-Spezifizierungsteil (331, 431), das konfiguriert ist, um eine Anordnungssituation des Werkstücks (W) basierend auf Informationen, die durch Abbildung des Werkstücks (W) erhalten wurden, zu spezifizieren, und um eine Referenzlinie in Bezug auf jeden Messpunkt (Wp), der in dem Werkstück (W) gemäß der spezifizierten Anordnungssituation des Werkstücks (W) festgelegt wurde, zu spezifizieren;ein Abstandsanpassungsteil, das konfiguriert ist, um die erste Bildgebungseinheit (310) auf der spezifizierten Referenzlinie zu positionieren und dem Roboter (210) einen Befehl zu geben, so dass ein Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) in einem Zustand geändert wird, in dem eine optische Achse (O) der ersten Bildgebungseinheit (310) mit der spezifizierten Referenzlinie übereinstimmt;ein erstes Merkmalsmengenberechnungsteil (333), das konfiguriert ist, um eine erste Merkmalsmenge bezüglich eines Fokussierungsgrades der ersten Bildgebungseinheit (310) basierend auf dem von der ersten Bildgebungseinheit (310) erfassten Erscheinungsbild zu berechnen; undein Abstandsbestimmungsteil, das konfiguriert ist, um den Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung in der ersten Merkmalsmenge entsprechend einer Änderung des Abstands zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) durchzuführen,wobei das Bildverarbeitungssystem (SYS) weiterhin umfasst:eine zweite Bildgebungseinheit (410), die so angeordnet ist, dass sie mindestens ein Teil des Werkstücks (W) und des Roboters (210) in einem Bereich eines Sichtfeldes umfasst und ein dreidimensionales Bild eines in dem Bereich des Sichtfeldes vorhandenen Objekts erfasst; undein Speicherteil (140, 141, 150), das konfiguriert ist, um Informationen zu speichern, die eine Referenzlinienrichtung definieren, die jedem der einen oder mehreren Messpunkte (Wp) zugeordnet ist,wobei die Referenzlinien-Spezifizierungsteil (331, 431) umfasst:ein erstes Suchteil, das konfiguriert ist, um nach einem Abschnitt zu suchen, der der Forminformation des Werkstücks (W) in dem dreidimensionalen Bild entspricht; undein Referenzlinien-Bestimmungsteil, das konfiguriert ist, um eine Referenzlinie in Bezug auf jeden Messpunkt (Wp) auf der Grundlage von Informationen über den von dem ersten Suchteil gesuchten Abschnitt und der Informationen, die die im Speicherteil (140, 141, 150) gespeicherte Referenzlinienrichtung definieren, zu bestimmen,und wobei das Bildverarbeitungssystem (SYS) ferner umfasst:ein Positionsanpassungsteil, das konfiguriert ist, um dem Roboter (210) einen Befehl zu geben, so dass ein Winkel zwischen der angegebenen Referenzlinie und der optischen Achse (O) der ersten Bildgebungseinheit (310) in einem Zustand, in dem der Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) beibehalten wird, von 0 auf einen vorbestimmten Wert geändert wird; undein Positionsbestimmungsteil (131), das konfiguriert ist, um eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung der ersten Merkmalsmenge entsprechend der Änderung des Winkels durchzuführen.

Description

  • Im Bereich der Fabrikautomation (FA) verbreiten sich Roboter, die eine visuelle Überprüfung an einem Werkstück durchführen, um zu prüfen, ob Teile korrekt zusammengebaut oder nicht beschädigt worden sind. In einem solchen Roboter werden Positionsdaten eines Messpunktes, der eine Position und eine Haltung des Roboters zum Zeitpunkt der Prüfung anzeigt, eingelernt und im Voraus gespeichert.
  • Zum Beispiel offenbart, als ein Verfahren des Einlernens und Speicherns von Positionsdaten eines Messpunktes in einem Roboter, die offengelegte Patentanmeldung JP 2005/052926 A eine Technologie zum „Erlangen einer Position einer virtuellen Kamera in Bezug auf ein virtuelles Werkstück in einem dreidimensionalen CAD-System „(siehe Absatz [0009]).
  • Ferner, hinsichtlich einer Technik zur Durchführung eine akkuraten visuellen Überprüfung, offenbart zum Beispiel die offengelegte Patentanmeldung JP H08-313225 A eine visuelle Inspektionsvorrichtung, die „eine für die Bildverarbeitung geeignete Kameraposition bestimmt durch Bewegen einer Kamera um einen Inspektionsort herum und durch Messen einer Änderung eines Merkmalsaufkommens, wie Helligkeit oder einer Form eines Bildes“ (siehe Absatz [0014]).
  • DE 10 2009 012590 A1 offenbart eine Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen. Eine Datengewinnungseinheit treibt einen Roboter derart an, dass eine Kamera gegenüber einem Werkstück in einer ersten Richtung bewegt wird, so dass das Werkstück in einem Blickfeld der Kamera erfasst wird. Die Koordinatenbestimmungseinheit gewinnt zweite und dritte Koordinaten eines vorbestimmten Punktes des Roboterarms auf jeweiligen zweiten und dritten Achsen eines dreidimensionalen Koordinatensystems, wobei das Werkstück in dem Blickfeld der Kamera erfasst ist. Die ersten, zweiten und dritten Koordinaten werden als die Koordinaten eines zeitweise definierten Bezugspunktes des Werkstücks in dem dreidimensionalen Koordinatensystem definiert. Eine Stellungsbestimmungseinheit treibt mit einer bestimmten Zeitvorgabe den Roboterarm derart an, dass eine Stellung des vorbestimmten Punktes, basierend auf einer positionsmäßigen Beziehung zwischen den ersten, zweiten und dritten Koordinaten des zeitweise definierten Bezugspunktes auf dem Werkstück und den tatsächlichen Koordinaten des vorbestimmten Punktes des Roboterarms, festgelegt wird.
  • DE 10 2009 020307 A1 offenbart einen Simulator für eine Sichtprüfungsvorrichtung. Die Vorrichtung ist mit einem Roboter ausgestattet, der einen Arm und eine Kamera, die an dem äußersten Ende des Arms befestigt ist, hat, wobei die Kamera einen geprüften Punkt eines Werkstücks prüft. Unter Verwendung von 3-D-Profildaten eines Werkstücks, von Informationen von Linsen von Kameras und Betriebsdaten eines Roboters wird eine Simulation zum Abbilden für eine Mehrzahl von geprüften Punkten des Werkstücks vorgenommen. Um zuzulassen, dass die Kamera die geprüften Punkte des Werkstücks abbildet, werden eine Position und eine Stellung des äußersten Endes des Arms des Roboters ermittelt. Basierend auf der ermittelten Position und der Stellung wird bestimmt, ob das Abbilden möglich ist oder nicht. Wenn das Abbilden möglich ist, werden für einen Einbau zulässige Positionen des Roboters festgestellt und als Kandidaten von Positionen zum tatsächlichen Einbau des Roboters ausgegeben.
  • DE 10 2005 022 344 B4 offenbart eine Vorrichtung und ein Verfahren zur Bestimmung von Lageinformationen eines Werkstücks. Um eine schnelle Einmessung einer Relativlage des Werkstücks zu einem zu dessen Bearbeitung vorgesehenen Werkzeug zu ermöglichen, wird vorgeschlagen, dass die Vorrichtung eine Kamera zur Erfassung zumindest eines Teilbereiches des Werkstücks, erste Verarbeitungsmittel zur Bestimmung geometrischer Parameter auf Basis des von der Kamera erfassten Teilbereichs, einen Speicher für ein Geometriemodell des Werkstücks und zweite Verarbeitungsmittel zur Bestimmung der Lageinformationen des Werkstücks durch einen Abgleich der geometrischen Parameter mit dem Geometriemodell aufweist, wobei die Lageinformationen für eine Positionsbestimmung des Werkstücks in Bezug auf ein zu dessen Bearbeitung vorgesehenes Werkzeug vorgesehen sind.
  • US 2013/0245828 A1 offenbart eine Modellerzeugungsvorrichtung, umfassend: Modelleingabemittel zum Eingeben eines dreidimensionalen Formmodells eines Zielobjekts; Einstelleinrichtungen zum Einstellen von mindestens einer Position und Orientierung von mindestens einer Bilderfassungsvorrichtung zum Erfassen eines Bildes des Zielobjekts, um dadurch eine virtuelle relative Position und Orientierung zwischen dem Zielobjekt einzustellen und der Bilderfassungsvorrichtung für das dreidimensionale Formmodell des Zielobjekts; Auswahlmittel zum Auswählen von mindestens einer Position und Orientierung der durch die Einstelleinrichtung eingestellten Bilderfassungsvorrichtung; und Gruppierungsmittel zum Gruppieren geometrischer Merkmale basierend auf einer Beziehung zwischen einem an der Position und Orientierung der durch die Auswahlmittel ausgewählten Bildaufnahmegerät zu erhaltenden Bild und den geometrischen Merkmalen des dreidimensionalen Formmodells.
  • US 5 608 847 A offenbart ein Verfahren zum Zusammenstellen von Objekten unter Verwendung programmierbarer Roboter. Die Roboter sind jeweils mit drei oder mehr Freiheitsgraden betreibbar, und das Verfahren umfasst das Erfassen eines ersten Objekts mit mindestens einem der Roboter, das Ergreifen eines zweiten Objekts mit mindestens einem anderen Roboter, wobei das erste Objekt in Bezug auf das Roboterobjekt an einem korrekten Ort angeordnet wird zum zweiten Objekt und zum Zusammenbauen des ersten und des zweiten Objekts. Die Objekte können auch in Fixtures positioniert werden und der korrekte Ort eines Objekts in Bezug auf das andere kann in Bezug auf das Fixture bestimmt werden. Die Positionen beider Roboter können bestimmt werden, und es können geeignete Steuerbefehle für diese Roboter bereitgestellt werden, um den Zusammenbau der Objekte zu beeinflussen.
  • US 5 400 638 A offenbart ein Kalibriersystem zum Ausgleichen von Schwankungen der Roboterarmlänge eines Industrieroboters aufgrund von Temperaturänderungen. Das System umfasst eine temperaturschwankungsunempfindliche Kalibriervorrichtung mit einem Paar rechteckiger Hexaeder unterschiedlicher Größe, die oben und unten miteinander kombiniert sind und eine Vielzahl von darauf markierten Messpunkten aufweisen. Eine kontaktlose Sensoreinheit misst relativ einen Teach-In-Messpunkt der Kalibriervorrichtung und vergleicht den gemessenen Wert des Teach-In-Punkts mit dem anfänglich eingegebenen Wert davon, wodurch die durch die Temperaturänderung verursachte Änderung der Roboterarmlänge berechnet wird. Die berührungslose Sensoreinheit umfasst eine Kamera zum Messen eines Mittelpunkts des Teach-In-Messpunkts und einen Laser-Verschiebungssensor (LDS) zum Messen des relativen Abstands zwischen der Roboterhand und dem Teach-In-Messpunkt und zum Erfassen eines dreidimensionalen relativen Fehlers. Die Armlängenvariation wird unter Verwendung eines Differenzwerts zwischen dem anfänglich eingegebenen Wert und dem gemessenen Wert des Einlernmesspunkts gemäß der Methode der kleinsten Quadrate berechnet.
  • Jedoch in den bekannten Vorrichtungen, wie z.B. nach JP 2005/052926 A und JP H08-313225 A , wird die Erzeugung einer Positionsabweichung, wenn ein Werkstück montiert ist oder bei einem Steuerungsfehler des Roboters, nicht berücksichtigt.
  • Es bestehen Bedenken, dass eine relative Positionsbeziehung zwischen dem Roboter und dem Werkstück, wenn der Roboter tatsächlich zu dem Messpunkt bewegt wird, sich von einer relativen Positionsbeziehung zwischen dem Roboter und dem in dem Roboter gespeicherten Werkstück aufgrund der Erzeugung der Positionsabweichung unterscheiden kann, wenn das Werkstück montiert ist, oder des Fehler, wenn der Roboter gesteuert wird. Folglich kann eine Kamera, bei der es sich um eine Bildgebungseinheit handelt, möglicherweise nicht auf einen Inspektionsort fokussiert werden. Wenn die Bildgebungseinheit nicht auf den Inspektions- bzw. Überprüfungsort fokussiert wird, bestehen Bedenken, dass sich die Genauigkeit der Überprüfung verschlechtern kann.
  • Es gibt ein Verfahren, bei dem ein Benutzer eine Position eines Roboters unter Verwendung eines Programmierhandgeräts so anpasst, dass jeder Inspektionsort fokussiert ist, aber es besteht ein Problem dahingehend, dass die Anzahl der vom Benutzer durchgeführten Manipulationsschritte sich mit der zunehmenden Anzahl an Inspektionsstellen erhöht.
  • Ferner gibt es ein Verfahren für das Fokussieren der Bildgebungseinheit durch Verwenden einer Autofokus-Funktion, aber es besteht ein Problem darin, dass, wenn die Autofokus-Funktion verwendet wird, eine optische Größe bzw. Dimension mit einer Änderung in der Brennweite der Bildgebungseinheit geändert wird.
  • Daher besteht ein Bedarf für eine Technologie zum Anordnen einer Bildgebungseinheit an einer geeigneten Position in Bezug auf Messpunkte, die in einem Werkstück eingestellt sind, und zum Durchführen einer geeigneten Bildgebung.
  • Nach einem Ausführungsbeispiel weist ein Bildverarbeitungssystem zur Durchführung einer Bildmessung für einen oder eine Vielzahl von Messpunkten, die in einem Werkstück voreingestellt sind, unter Verwendung eines Erscheinungsbildes des Werkstückes auf: eine erste Bildgebungseinheit, die konfiguriert ist, die Erscheinungs- bzw. das Aussehens-Bild zu erfassen; einen Roboter, der eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit und dem Werkstück ändert; ein Referenzlinienspezifizierungsteil bzw. -einheit, das/die konfiguriert ist, um eine Anordnungssituation des Werkstücks basierend auf Informationen zu spezifizieren, die durch Abbilden des Werkstücks erhalten werden, und um eine Referenzlinie in Bezug auf jeden Messpunkt, der in dem Werkstück gemäß der spezifizierten Anordnungssituation des Werkstücks eingestellt ist, zu spezifizieren; ein Abstandsanpassungssteil bzw. einheit, das/die konfiguriert ist, um die erste Bildgebungseinheit auf der spezifizierten Referenzlinie zu positionieren und dem Roboter einen Befehl zu geben, so dass ein Abstand zwischen der ersten Bildgebungseinheit und dem Werkstück in einem Zustand geändert wird, in dem eine optische Achse der ersten Bildgebungseinheit mit der angegebenen Referenzlinie übereinstimmt; ein erstes Merkmalsmengenberechnungsteil bzw. -einheit, das/die konfiguriert ist für das Berechnen einer ersten Merkmalsmenge hinsichtlich eines Fokussierungsgrads der ersten Bildgebungseinheit basierend auf dem Erscheinungsbild, das durch die erste Bildgebungseinheit erfasst wird; und ein Abstandsbestimmungsteil bzw. -einheit, das/die konfiguriert ist für das Bestimmen des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück zum Durchführen einer Bildmessung für den Messpunkt basierend auf einer Änderung der ersten Merkmalsmenge gemäß einer Änderung des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück.
  • Ferner umfasst das Bildverarbeitungssystem: eine zweite Bildgebungseinheit, die so angeordnet ist, dass sie mindestens einen Teil bzw. Abschnitt des Werkstücks und des Roboters in einem Bereich eines Sichtfelds umfasst und ein dreidimensionales Bild eines vorliegenden Objekts erfasst, das sich im Bereich des Sichtfeldes befindet; und ein Speicherteil, das konfiguriert ist für Speichern von Informationen, die eine Referenzlinienrichtung definiert, die jedem der einen oder der Vielzahl von Messpunkten zugeordnet ist, wobei das Referenzlinien-Spezifizierungsteil ein erstes Suchteil bzw. -einheit umfasst, das/die konfiguriert ist für die Suche nach einem Abschnitt, welcher der Forminformationen des Werkstücks in dem dreidimensionalen Bild entspricht; und ein Referenzlinienbestimmungsteil bzw. -einheit umfasst, das/die konfiguriert für die Bestimmung einer Referenzlinie in Bezug auf jeden Messpunkt basierend auf Informationen über den Abschnitt, der von dem ersten Suchteil gesucht wird, und auf Informationen , welche die Referenzlinienrichtung definieren, die in dem Speicherteil gespeichert ist.
    Des Weiteren enthält das Bildverarbeitungssystem: ein Positionsanpassungsteil bzw. -einheit, das/die konfiguriert ist, um einen Befehl an den Roboter abzugeben so, dass ein Winkel zwischen der spezifizierten Referenzlinie und der optischen Achse der ersten Bildgebungseinheit von 0 auf einen vorgegebenen Wert in einem Zustand geändert wird, in dem zwischen der ersten Bildgebungseinheit und dem Werkstück der Abstand aufrechterhalten wird; und ein Positionsbestimmungsteil bzw. -einheit umfasst, das/die konfiguriert für das Bestimmen einer relativen Positionsbeziehung zwischen der ersten Bildgebungseinheit und dem Werkstück zum Durchführen einer Bildmessung für den Messpunkt basierend auf einer Änderung der ersten Merkmalsmenge gemäß der Änderung des Winkels.
  • Gemäß einer Ausführungsform enthält das Referenzlinien-Spezifizierungsteil ferner: ein zweites Suchteil bzw. -einheit, das/die konfiguriert ist zur Suche eines Abschnitts, der mit einem Referenzbild eines entsprechenden Messpunktes für ein von der ersten Bildgebungseinheit erfasstes Bild übereinstimmt, in einem Zustand , in dem die erste Bildgebungseinheit auf der Referenzlinie positioniert ist, die von dem Referenzlinien-Bestimmungsteil bestimmt ist; und ein Korrekturteil bzw. -einheit umfasst, das/die konfiguriert ist für die Korrektur der Referenzlinie, die von dem Referenzlinien-Bestimmungsteil bestimmt ist, basierend auf den Informationen über den Abschnitt, der von dem zweiten Suchteil gesucht wird.
  • Gemäß einer Ausführungsform umfasst das Bildverarbeitungssystem ferner: ein zweites Merkmalsmengenberechnungsteil bzw. -einheit, das/die konfiguriert ist für das Berechnen einer zweiten Merkmalsmenge bezüglich eines voreingestellten Erfassungszielabschnitts basierend auf dem Erscheinungsbild, das von der ersten Bildgebungseinheit aufgenommen wurde; und ein Bildmessteil bzw. -einheit umfasst, das/die konfiguriert für das Bestimmen der Anwesenheit oder Abwesenheit des Erfassungszielabschnitts an einem Messpunkt, der als ein Ziel dient, oder nahe dem Messpunkt, basierend auf der zweiten Merkmalsmenge, die in einem Zustand berechnet wird, in dem die erste Bildgebungseinheit und das Werkstück mit einem Abstand dazwischen positioniert sind, der von dem Abstandsbestimmungsteil bestimmt wird.
  • Gemäß einer Ausführungsform gibt die Referenzlinien-Spezifizierungsteil einen Befehl an den Roboter, die erste Bildgebungseinheit bei dem nächsten Messpunkt zu positionieren, wenn die von dem Bildmessteil durchgeführte Bestimmung der Anwesenheit oder Abwesenheit des Erfassungszielabschnittes abgeschlossen ist.
  • Gemäß einer Ausführungsform umfasst das Bildverarbeitungssystem ferner ein Messpunkteinstellungs-Empfangsteil, das konfiguriert ist zum Anzeigen von Design- bzw. Entwurfsinformationen des Werkstücks und zum Einstellen des einen oder der Vielzahl von Messpunkten gemäß einer Benutzeroperation in Bezug auf die angezeigte Designinformation.
  • Gemäß einer Ausführungsform umfasst das Bildverarbeitungssystem ferner ein Referenzlinien-Berechnungsteil, das konfiguriert ist, eine Oberflächenform jedes Messpunktes (Wp) basierend auf den Designinformationen des Werkstückes (W) für jeden der Messpunkte (Wp) zu berechnen, die durch das Messpunkteinstellungs-Empfangsteil festgelegt wurden, und eine Referenzlinie jedes Messpunktes (Wp) basierend auf der berechneten Oberflächenform zu berechnen.
  • Gemäß einer weiteren Ausführungsform umfasst eine Bildverarbeitungsvorrichtung zum Durchführen einer Bildmessung für einen oder mehrere in einem Werkstück voreingestellte Messpunkte unter Verwendung eines Erscheinungsbildes des Werkstücks: eine Schnittstelle, die Informationen über ein Erscheinungsbild von einer ersten Bilderfassungseinheit empfängt, die Erscheinungsbild erfasst; eine Schnittstelle zur Kommunikation mit einem Roboter, die eine relative Positionsbeziehung zwischen dem Werkstück und der ersten Bildgebungseinheit ändert; ein Referenzlinien-Spezifizierungsteil, das konfiguriert ist, um eine Anordnungssituation des Werkstücks basierend auf Informationen zu spezifizieren, die durch Abbilden des Werkstücks erhalten werden, und um eine Referenzlinie in Bezug auf jeden Messpunkt, der in dem Werkstück gemäß der spezifizierten Anordnungssituation des Werkstücks eingestellt ist, zu spezifizieren, ein Abstandsanpassungssteil, das konfiguriert ist, um die erste Bildgebungseinheit auf der spezifizierten Referenzlinie zu positionieren und dem Roboter einen Befehl zu geben, so dass ein Abstand zwischen der ersten Bildgebungseinheit und dem Werkstück in einem Zustand geändert wird, in dem eine optische Achse der ersten Bildgebungseinheit mit der angegebenen Referenzlinie übereinstimmt; ein erstes Merkmalsmengen-Berechnungsteil, das konfiguriert ist für das Berechnen einer ersten Merkmalsmenge hinsichtlich eines Fokussierungsgrads der ersten Bildgebungseinheit basierend auf dem Erscheinungsbild, das durch die erste Bildgebungseinheit erfasst wird; und ein Abstands-Bestimmungsteil, das konfiguriert ist für das Bestimmen des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück zum Durchführen einer Bildmessung für den Messpunkt basierend auf einer Änderung der ersten Merkmalsmenge gemäß einer Änderung des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück.
  • Gemäß einer weiteren Ausführungsform veranlasst ein Bildverarbeitungsprogramm zur Durchführung einer Bildmessung für einen oder mehrere in einem Werkstück voreingestellte Messpunkte unter Verwendung eines Erscheinungsbildes des Werkstücks, dass ein Computer auszuführt: einen Schritt des Abbildens des Werkstücks unter Verwendung einer ersten Bildgebungseinheit; einen Schritt zum Spezifizieren einer Anordnungssituation des Werkstücks basierend auf Informationen, die durch Abbilden des Werkstücks erhalten werden; einen Schritt zum Spezifizieren einer Referenzlinie in Bezug auf jeden Messpunkt, der in dem Werkstück entsprechend der spezifizierten Anordnungssituation des Werkstücks eingestellt ist; ein Schritt des Positionierens der ersten Bildgebungseinheit auf der spezifizierten Referenzlinie; einen Schritt zum Geben eines Befehls an den Roboter, der eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit und dem Werkstück ändert, so dass ein Abstand zwischen der ersten Bildgebungseinheit und dem Werkstück in einem Zustand geändert wird, in dem eine optische Achse der ersten Bildgebungseinheit mit der angegebenen Referenzlinie übereinstimmt; einen Schritt des Berechnens einer ersten Merkmalsmenge in Bezug auf einen Fokussierungsgrad der ersten Bildgebungseinheit auf der Grundlage des von der ersten Bildgebungseinheit erfassten Erscheinungsbilds; und einen Schritt des Bestimmens des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück zum Durchführen einer Bildmessung für den Messpunkt basierend auf einer Änderung der ersten Merkmalsmenge gemäß einer Änderung des Abstands zwischen der ersten Bildgebungseinheit und dem Werkstück.
  • In einer Ausführungsform kann eine geeignete Bildgebung bzw. Abbildung durchgeführt werden, indem die Bildgebungseinheit in Bezug auf in dem Werkstück eingestellte Messpunkte an einer geeigneten Position angeordnet wird.
  • Die obigen und andere Merkmale, Aspekte und Vorteile der Offenbarung werden aus der folgenden detaillierten Beschreibung der Offenbarung ersichtlich, die in Verbindung mit den beiliegenden Zeichnungen verstanden wird.
    • 1 ist ein schematisches Diagramm, das eine Grundkonfiguration eines Bildverarbeitungssystems gemäß einer ersten Ausführungsform darstellt.
    • 2 ist ein schematisches Diagramm, das eine Hardwarekonfiguration des Bildverarbeitungssystems darstellt.
    • 3 ist ein Diagramm, das ein Beispiel einer Bewegung eines Roboters darstellt, wenn ein Prozess zum Anpassen des Fokus einer zweidimensionalen Kamera an einen Messpunkt eines Werkstücks ausgeführt wird.
    • 4 ist ein Flussdiagramm eines Erscheinungsbild-Inspektions-Prozesses.
    • 5 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration einer Bildverarbeitungsvorrichtung darstellt.
    • 6 ist ein Flussdiagramm eines Inspektionspfad-Erzeugungsprozesses.
    • 7 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration einer Bildverarbeitungsvorrichtung zeigt, die bei der Ausführung des Inspektionspfad-Erzeugungsprozesses wirkt.
    • 8 ist ein Flussdiagramm eines normalen Korrekturprozesses.
    • 9 ist ein schematisches Diagramm, das eine funktionelle Konfiguration eines Normalen-Bestimmungssystems darstellt.
    • 10 ist ein Flussdiagramm eines Fokusanpassungs-Prozesses.
    • 11 ist ein schematisches Diagramm, das eine funktionelle Konfiguration eines Fokusanpassungs-Systems darstellt.
    • 12 ist ein Flussdiagramm eines Inspektions-Ausführungsprozesses.
    • 13 ist ein schematisches Diagramm, das eine funktionelle Konfiguration eines Inspektions-Ausführungssystems darstellt.
    • 14 A, 14B und 14C sind Diagramme, die ein Beispiel einer bogenförmigen Bahnkurve einer Kamera veranschaulichen.
    • 15 A und 15B sind Diagramm, die ein Beispiel eines Prozesses veranschaulichen, wenn ein Benutzer einen Inspektions-Pfad unter Verwendung der Eingabe-Vorrichtung eingibt.
    • 16 ist ein Flussdiagramm eines Normalen-Bestimmungs-Prozesses gemäß einer zweiten Ausführungsform.
    • 17 ist ein schematisches Diagramm, das eine Konfiguration eines Bildverarbeitungssystems gemäß einer dritten Ausführungsform darstellt.
    • 18A, 18B und 18C sind schematische Darstellung, die Modifizierungsbeispiele einer Referenzlinie veranschaulichen.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Nachfolgend werden Ausführungsformen gemäß der Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. In der folgenden Beschreibung werden die gleichen Teile und Komponenten mit denselben Bezugszeichen bezeichnet. Die Namen und Funktionen derselben sind ebenfalls gleich. Daher wird eine detaillierte Beschreibung davon nicht wiederholt. Man beachte, dass die nachfolgend beschriebenen Ausführungsformen und Modifikationsbeispiele in geeigneter Weise und selektiv kombiniert werden können.
  • 1 ist ein schematisches Diagramm, das eine Grundkonfiguration eines Bildverarbeitungssystems SYS gemäß einer ersten Ausführungsform darstellt. Das Bildverarbeitungssystem SYS, das in 1 dargestellt ist, ist ein System zur Inspektion bzw. Überprüfung eines Aussehens bzw. der äußeren Erscheinung eines Werkstücks W unter Verwendung eines Erscheinungsbildes des Werkstücks W, das durch eine Linie L unterstützt wird. In dem Bildverarbeitungssystem SYS wird eine Erscheinungsbild-Inspektion für einen oder jeden einer Vielzahl von Messpunkten durchgeführt, die in einem vorbestimmten Werkstück W gesetzt bzw. eingestellt sind.
  • Das Bildverarbeitungssystem SYS umfasst eine Bildverarbeitungsvorrichtung 2, einen Roboter 210, eine zweidimensionale Kamera 310 und eine dreidimensionale Kamera 410. Typischerweise kann der Roboter 210 ein gelenkig gelagerter Roboter sein und kann ein Roboter vom SCARA-Typ oder dergleichen sein. Die zweidimensionale Kamera 310 ist an einem distalen Ende des Roboters 210 angebracht. Wenn sich der Roboter 210 bewegt, werden eine Position und eine Haltung bzw. Positur der zweidimensionalen Kamera 310 geändert. Daher kann der Roboter 210 eine relative Positionsbeziehung zwischen der zweidimensionalen Kamera 310 und dem Werkstück W verändern.
  • Die dreidimensionale Kamera 410 ist an einer vorbestimmten Position über der Linie L vorgesehen und ist so angeordnet, dass zumindest ein Teil der Linie L in einem Bildgebungs-Sichtfeld davon enthalten ist. Wenn das Werkstück W so vorgesehen ist, dass es innerhalb des Bildgebungs-Sichtfelds der dreidimensionalen Kamera 410 durch die Linie L angeordnet ist, kann die dreidimensionale Kamera 410 das Werkstück W abbilden.
  • Die Bildverarbeitungsvorrichtung 2 umfasst eine Verwaltungsvorrichtung 100, eine Roboter-Steuerungseinheit 200, eine zweidimensionale Bildverarbeitungsvorrichtung 300 und eine dreidimensionale Bildverarbeitungsvorrichtung 400. In der ersten Ausführungsform umfasst die Bildverarbeitungsvorrichtung 2 vier Vorrichtungen, sie kann auch eine Vorrichtung oder zwei oder mehr Vorrichtungen oder fünf oder mehr Vorrichtungen umfassen.
  • Die Verwaltungsvorrichtung 100 ist mit jeder, der Roboter-Steuerungseinheit 200, der zweidimensionalen Bildverarbeitungsvorrichtung 300 und der dreidimensionalen Bildverarbeitungsvorrichtung 400, über ein Netzwerk NW verbunden. Das Netzwerk NW ist beispielsweise ein Bereichs-Netzwerk. Als Beispiel wird EtherCAT (eingetragene Marke), EtherNet/IP (eingetragene Marke) oder dergleichen als das Netzwerk NW angenommen.
  • Ferner ist die Verwaltungsvorrichtung 100 mit einer Anzeigevorrichtung 110 und einer Eingabevorrichtung 120 verbunden. Die Roboter-Steuerungseinheit 200 ist elektrisch mit dem Roboter 210 verbunden. Die zweidimensionale Bildverarbeitungseinrichtung 300 ist elektrisch mit der zweidimensionalen Kamera verbunden. Die dreidimensionale Bildverarbeitungsvorrichtung 400 ist elektrisch mit der dreidimensionalen Kamera 410 verbunden. Es sei angemerkt, dass die elektrisch verbundenen Vorrichtungen integral konfiguriert sein können. Das heißt, der Roboter 210 und die Roboter-Steuerungseinheit 200 können integral konfiguriert sein. Die zweidimensionale Bildverarbeitungsvorrichtung 300 und die zweidimensionale Kamera 310 können integral konfiguriert sein. Die dreidimensionale Bildverarbeitungsvorrichtung 400 und die dreidimensionale Kamera 410 können integral konfiguriert sein.
  • 2 ist ein schematisches Diagramm, das eine Hardwarekonfiguration des Bildverarbeitungssystems SYS darstellt. Die Verwaltungsvorrichtung 100 umfasst eine zentrale Verarbeitungseinheit (CPU) 130, die einer arithmetischen Verarbeitungseinheit entspricht, einen Hauptspeicher 140 und eine Festplatte 150 als Speichereinheit, eine Anzeige-Steuerungseinheit 160, einen Datenleser/-schreiber 170, eine Eingabe-Schnittstelle (I/F) 181, eine Roboter-Schnittstelle (I/F) 182, eine zweidimensionale Kamera-Schnittstelle (I/F) 183 und eine dreidimensionale Kamera-Schnittstelle (I/F) 184. Diese Einheiten sind über einen Bus 185 so verbunden, dass die Einheiten Daten miteinander austauschen können.
  • Die CPU 130 entwickelt in dem Hauptspeicher 140 Programme (Codes), die ein Bildverarbeitungsprogramm 151 enthalten, das auf der Festplatte 150 installiert ist, und führt die Programme in einer vorbestimmten Reihenfolge aus, um verschiedene Berechnungen auszuführen.
  • Der Hauptspeicher 140 ist typischerweise eine flüchtige Speichervorrichtung, wie etwa ein dynamischer Direktzugriffsspeicher (DRAM). Der Hauptspeicher 140 enthält beispielsweise eine Inspektions- bzw. Überprüfungs-Information 1411 zum Prüfen eines äußeren Erscheinungsbildes des Werkstücks W, ein Bildverarbeitungsergebnis, das von der zweidimensionalen Bildverarbeitungsvorrichtung 300 oder der dreidimensionalen Bildverarbeitungsvorrichtung 400 gesendet wird, ein Verarbeitungsergebnis der CPU 130 und Informationen über eine Position und Stellung bzw. Positur [Koordinatenwerte (X, Y, Z) sowie Winkel (θx, θy, θz) an dreidimensionalen Koordinaten] des Roboters 210, der zweidimensionalen Kamera 310 und der dreidimensionalen Kamera 410, zusätzlich zu dem von der Festplatte 150 gelesenen Programm.
  • Zum Beispiel enthält die Inspektionsinformation 1411 eine dreidimensionale CAD-Information des Werkstücks W, eine Koordinatenposition eines Messpunkts des Werkstücks W, einen Normalenvektor, der die Richtung einer Referenzlinie in Bezug auf den Messpunkt angibt, einen Inspektions- bzw. Überprüfungs-Inhalt von der Inspektion an dem Messpunkt, einen Inspektionsbefehl, wenn es eine Vielzahl von Messpunkten gibt, und einen Bewegungspfad der zweidimensionalen Kamera 310 zum Zeitpunkt der Inspektion. Ferner ist die Inspektionsinformation 1411 für jede Art von Werkstück W vorgesehen. Beispiele für einen Typ des Werkstücks W umfassen einen Motorblock und eine Plastikflasche.
  • Auf der Festplatte 150 können verschiedene Einstellwerte oder dergleichen gespeichert sein. Eine Halbleiterspeichervorrichtung, wie etwa ein Flash-Speicher, kann zusätzlich zu der Festplatte 150 oder anstelle der Festplatte 150 verwendet werden.
  • Die Anzeige-Steuerungseinheit 160 ist mit einer Anzeige verbunden, die der Anzeigevorrichtung 110 entspricht, und benachrichtigt einen Benutzer über ein Verarbeitungsergebnis oder dergleichen in der CPU 130. Das heißt, die Anzeige-Steuerungseinheit 160 ist mit der Anzeigevorrichtung 110 verbunden und steuert eine Anzeige auf der Anzeigevorrichtung 110.
  • Der Daten-Leser/Schreiber 170 leitet eine Datenübertragung zwischen der CPU 130 und einer Speicherkarte 171, die ein Aufzeichnungsmedium ist, weiter. Das heißt, ein Programm oder dergleichen, das von der Verwaltungsvorrichtung 100 ausgeführt wird, wird in der Speicherkarte 171 gespeichert und verteilt, und der Daten-Leser/Schreiber 170 liest das Programm von der Speicherkarte 171 aus. In Reaktion auf einen internen Befehl der CPU 130 schreibt der Daten-Leser/Schreiber 170 ein Bildverarbeitungsergebnis, das von der zweidimensionalen Bildverarbeitungsvorrichtung 300 oder der dreidimensionalen Bildverarbeitungsvorrichtung 400 gesendet wird, ein Verarbeitungsergebnis der CPU 130 oder dergleichen auf die Speicherkarte 171. Es sei angemerkt, dass die Speicherkarte 171 eine universelle Halbleiterspeichervorrichtung, wie z. B. Compact Flash (CF; eingetragene Marke), Secure Digital (SD), ein magnetisches Speichermedium, wie etwa eine flexible Diskette, oder ein optisches Speichermedium, wie etwa ein Compact-Disc-Nur-Lesespeicher (CD-ROM), ist.
  • Die Eingabe-I/F 181 leitet die Datenübertragung zwischen der CPU 130 und der Eingabevorrichtung 120, wie beispielsweise einer Maus, einer Tastatur, einem Touch-Panel oder dergleichen, weiter. Das heißt, die Eingabe-I/F 181 empfängt einen Operationsbefehl, der durch den Benutzer gegeben wird, welcher die Eingabevorrichtung 120 bedient. Der Operationsbefehl enthält beispielsweise einen Befehl zum Bestimmen eines Messpunkts des Werkstücks W, einen Befehl zum Bezeichnen des Werkstücks W und einen Befehl zum Starten einer Inspektion bzw. Überprüfung.
  • Die Roboter-I/F 182 leitet eine Datenübertragung zwischen der CPU 130 und der Roboter-Steuerungseinheit 200 weiter. Das heißt, die Roboter-I/F 182 ist mit der Roboter-Steuerungseinheit 200 verbunden. Ferner gibt die Roboter-I/F 182 einen Befehl für das Anweisen der Roboter-Steuerungseinheit 200 aus, eine Bewegung gemäß einem internen Befehl von der CPU 130 auszuführen.
  • Die zweidimensionale Kamera I/F 183 leitet eine Datenübertragung zwischen der CPU 130 und der zweidimensionalen Bildverarbeitungsvorrichtung 300 weiter. Das heißt, die zweidimensionale Kamera I/F 183 ist mit der zweidimensionalen Bildverarbeitungsvorrichtung 300 verbunden zum Verarbeiten eines zweidimensionalen Bildes, das durch Abbilden des Werkstücks W erhalten wird. Ferner gibt die zweidimensionale Kamera I/F 183 einen Befehl aus zum Anweisen der zweidimensionalen Bildverarbeitungsvorrichtung 300 zum Ausführen verschiedener Bildverarbeitung gemäß einem internen Befehl von der CPU 130.
  • Die dreidimensionale Kamera-I/F 184 leitet eine Datenübertragung zwischen der CPU 130 und der dreidimensionalen Bildverarbeitungsvorrichtung 400 weiter. Ferner gibt die dreidimensionale Kamera-I/F 184 einen Befehl zum Anweisen der dreidimensionalen Bildverarbeitungsvorrichtung 400, um verschiedene Bildverarbeitungen gemäß einem internen Befehl von der CPU 130 auszuführen.
  • Die Roboter-Steuerungseinheit 200 steuert einen Betrieb des Roboters 210 gemäß dem Befehl, der von der Roboterschnittstelle 182 gegeben wird. Die Operation des Roboters 210 ist eine Operation zum Ändern einer Position und einer Positur bzw. Haltung der zweidimensionalen Kamera 310, die an dem Roboter 210 angebracht ist. Das heißt, es kann gesagt werden, dass die Roboter-Steuerungseinheit 200 die Position und die Positur der zweidimensionalen Kamera 310 steuert.
  • Die zweidimensionale Bildverarbeitungsvorrichtung 300 umfasst eine Bildgebungs-Steuerungseinheit 320, eine Bildverarbeitungsmaschine 330 und eine Eingabe- und Ausgabe-I/F 340. Die Einheiten sind über einen Bus 350 verbunden, so dass die Einheiten miteinander Daten kommunizieren können. Gemäß einem Befehl von der Bildverarbeitungsmaschine 330 steuert die Bildgebungs-Steuerungseinheit 320 eine Bildgebungsoperation in der verbundenen zweidimensionalen Kamera 310. Die Bildverarbeitungsmaschine 330 führt verschiedene Arten von Bildverarbeitung durch die CPU 130 über die Eingabe und Ausgabe-I/F 340 aus. Die Eingabe- und Ausgabe-I/F 340 überträgt Ergebnisse verschiedener Arten von Bildverarbeitung, die von der Bildverarbeitungsmaschine 330 ausgeführt werden, an die Verwaltungsvorrichtung 100 über die zweidimensionale Kamera-I/F 183. Ferner empfängt die Eingabe- und Ausgabe-I/F 340 verschiedene Befehle, die von der CPU 130 über die zweidimensionale Kamera I/F 183 gesendet werden.
  • Die dreidimensionale Bildverarbeitungsvorrichtung 400 umfasst eine Bildgebungs-Steuerungseinheit 420, eine Bildverarbeitungsmaschine 430 und eine Eingabe- und Ausgabe-I/F 440. Die Einheiten sind über einen Bus 450 verbunden, so dass die Einheiten miteinander Daten kommunizieren können. Unter der Hardware, die in der dreidimensionalen Bildverarbeitungsvorrichtung 400 enthalten ist, hat Hardware mit dem gleichen Namen, wie die in der zweidimensionalen Bildverarbeitungsvorrichtung 300 enthaltene Hardware, die gleiche Funktion, wie die Hardware mit dem gleichen Namen, und eine Beschreibung davon wird ausgelassen.
  • Die zweidimensionale Kamera 310 und die dreidimensionale Kamera 410 sind Bildgebungseinheiten, die einen Gegenstand abbilden, der in dem Bildgebungs-Sichtfeld vorhanden ist. Die zweidimensionale Kamera 310 enthält ein optisches System, wie etwa eine Linse oder eine Apertur, und ein Lichtempfangselement, wie etwa einen ladungsgekoppelten Bildsensor (CCD-Bildsensor) und einen komplementären Metalloxidhalbleiter (CMOS)-Bildsensor als Hauptkomponenten. Typischerweise ist die dreidimensionale Kamera 410 eine aktive dreidimensionale Kamera und umfasst einen Projektor, der ein Muster zur Messung projiziert, und eine Kamera und Hauptkomponenten der Kamera umfassen ein optisches System, wie z. B. eine Linse oder eine Apertur, und ein Lichtempfangselement, wie etwa ein CCD-Bildsensor oder ein CMOS-Bildsensor. Man beachte, dass eine passive Stereokamera verwendet werden kann.
  • Die zweidimensionale Kamera 310 führt eine Bildgebung gemäß einem Befehl von der zweidimensionalen Bildverarbeitungsvorrichtung 300 durch und gibt die zweidimensionalen Bilddaten, die durch die Bildgebung erhalten wurden, an die zweidimensionale Bildverarbeitungsvorrichtung 300 aus.
  • Die dreidimensionale Kamera 410 führt eine Bildgebung gemäß einem Befehl von der dreidimensionalen Bildverarbeitungsvorrichtung 400 durch und gibt dreidimensionale Bilddaten, die durch die Bildgebung erhalten wurden, an die dreidimensionale Bildverarbeitungsvorrichtung 400 aus.
  • Als nächstes wird ein Überblick über das Bildverarbeitungssystem SYS beschrieben. Das Bildverarbeitungssystem SYS ist ein System zur Inspektion bzw. zum Untersuchen eines Erscheinungsbildes des Werkstücks W für einen oder mehrere Messpunkte Wp, die in dem Werkstück W eingestellt sind. Der Prozess bezüglich der Erscheinungsbild-Inspektion des Werkstücks W, der in dem Bildverarbeitungssystem SYS ausgeführt wird, umfasst einen Prozess der Fokussierung der zweidimensionalen Kamera 310 an dem Messpunkt Wp des Werkstücks W, und ein Verfahren zum Durchführen einer Inspektion in einem Zustand, in dem die zweidimensionale Kamera 310 auf dem Messpunkt Wp fokussiert ist. Die äußere Erscheinung bzw. das Aussehen des Werkstücks W für jeden Messpunkt Wp zu untersuchen, bedeutet, eine Überprüfung des Aussehens an einem Messbereich durchzuführen, der die Messpunkte Wp an jedem in dem Werkstück W eingestellten Messpunkt Wp einschließt. Der Messpunkt Wp ist ein Punkt, der die Messregion repräsentiert, und korrespondiert mit einem Referenzpunkt zur Übereinstimmung mit einer optischen Achse der zweidimensionalen Kamera 310.
  • In dem Bildverarbeitungssystem SYS, wird die Erscheinungsbild-Inspektion des gesamten Werkstücks W durchgeführt durch Wiederholung des Verfahrens der Fokussierung der zweidimensionalen Kamera 310 an dem Messpunkt Wp des Werkstücks W, und des Verfahrens der Durchführung der Inspektion in einem Zustand, in welchem die zweidimensionale Kamera 310 auf den Messpunkt Wp fokussiert ist.
  • Der Prozess der Fokussierung der zweidimensionale Kamera 310 an dem Messpunkt Wp des Werkstückes W enthält ein Verfahren zur Spezifizierung einer Referenzlinie in Bezug auf den Messpunkt Wp, und ein Verfahren der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp auf der spezifizierten Referenzlinie. In dem Bildverarbeitungssystem SYS kann die zweidimensionale Kamera 310 auf der spezifizierten Normalen V positioniert werden. Hier ist die „Referenzlinie“ eine Linie, die als Referenz bzw. Bezug dient, wenn die Richtung der zweidimensionalen Kamera 310 eingestellt wird, und umfasst eine Normale, die eine senkrechte Linie im Wesentlichen senkrecht zu einer Mikroebene des Werkstücks W ist, an der sich der Messpunkt Wp befindet, oder eine Linie, die vom Benutzer willkürlich festgelegt wird. In der Ausführungsform wird die Referenzlinie als die Normale V beschrieben.
  • Eine bestimmte Bewegung des Roboters 210, wenn der Prozess der Fokussierung der zweidimensionale Kamera 310 auf den Messpunkt Wp des Werkstücks W ausgeführt wird, wird mit Bezugnahme auf 3 beschrieben. 3 ist ein Diagramm, das ein Beispiel für die Bewegung des Roboters 210 darstellt, wenn der Prozess der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp des Werkstück W ausgeführt wird.
  • 3 veranschaulicht eine Bewegung des Roboters 210, wenn der Prozess der Positionierung bzw. Ausrichtung der zweidimensionale Kamera 310 auf die Normale V (Schritt S1) ausgeführt wird und eine Bewegung des Roboters 210, wenn der Prozess der Fokussierung der zweidimensionale Kamera 310 auf die Normale V (Schritt S1) ausgeführt wird.
  • In Schritt S1 spezifiziert die Verwaltungseinrichtung 100 eine Anordnungssituation des Werkstücks W basierend auf der durch Abbildung des Werkstücks W gewonnenen Information. Hier entspricht die Anordnungssituation einem Konzept, das nicht nur die Position des Werkstücks W, sondern auch die Richtung des Werkstücks W beinhaltet. Die Verwaltungsvorrichtung 100 spezifiziert die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W gemäß der spezifizierten Anordnungssituation des Werkstücks W eingestellt ist. Wenn hier eine Vielzahl von Messpunkten Wp eingestellt ist, wie in 3 dargestellt, wird der Inspektionspfad WL durch Spezifizieren der Normalen V erzeugt. Das heißt, um den Inspektionspfad WL zu erzeugen, ist es notwendig, dass die Verwaltungsvorrichtung 100 die Anordnungssituation des Werkstücks W spezifiziert und auch die Normale V spezifiziert mit Bezug auf jeden Messpunkt Wp, der in dem Werkstück W entsprechend der vorgegebenen Anordnungssituation des Werkstücks W eingestellt ist.
  • Die Verwaltungsvorrichtung 100 bestimmt die Position und die Positur der zweidimensionalen Kamera 310, so dass die spezifizierte Normale V mit einer optischen Achse O der zweidimensionalen Kamera 310 übereinstimmt, und überträgt Information über die bestimmte Position und Positur der zweidimensionalen Kamera 310 an die Roboter-Steuerungseinheit 200. Die Roboter-Steuerungseinheit 200 sendet einen Operationsbefehl an den Roboter 210 auf der Basis der empfangenen Informationen über die Position und die Positur der zweidimensionalen Kamera 310. Dementsprechend wird die Positur des Roboters 210 in eine Positur bzw. Haltung eines Roboters 210' geändert, wie es durch eine gestrichelte Linie in 3 (S1) angedeutet ist. und die Position sowie die Positur der zweidimensionalen Kamera 310 werden zu einer Position bzw. Positur der zweidimensionalen Kamera 310' verändert, wie es durch eine gestrichelte Linie in 3 (S1) angedeutet ist.
  • In Schritt S2 erzeugt die Verwaltungsvorrichtung 100 eine Normalen-Bahnkurve zum Bewegen der zweidimensionalen Kamera 310 in einen Zustand, in dem die bestimmte Normale V und die optische Achse O der zweidimensionalen Kamera 310 übereinstimmen. Die Verwaltungsvorrichtung 100 überträgt Informationen über die erzeugte normale Bahnkurve und einen Befehl zum Anweisen des Betriebes an die Roboter-Steuerungseinheit 200. Dementsprechend bewegt der Roboter 210 die zweidimensionale Kamera 310 in eine Richtung eines Doppelpfeils in 3 (S2), um einen Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp zu ändern.
  • Ferner weist die Verwaltungsvorrichtung 100 in Schritt S2 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, eine Merkmalsmenge bezüglich eines Grads der Fokussierung a der zweidimensionalen Kamera 310 basierend auf dem zweidimensionalen Bild zu berechnen, das durch zweidimensionalen Kamera 310 erfasst wird. Hier ist der „Grad der Fokussierung a“ ein Index, der angibt, wie fokussiert die zweidimensionale Kamera 310 ist. Es sei angemerkt, dass im Folgenden die Merkmalsmenge in Bezug auf den Grad der Fokussierung a auch einfach als Fokussierungs-Grad a bezeichnet wird. Die Verwaltungsvorrichtung 100 erhält den Fokussierungsgrad a der zweidimensionalen Kamera 310 an jeder der Positionen, an denen der Abstand zwischen dem Messpunkt Wp und der zweidimensionalen Kamera 310 unterschiedlich ist. Die Verwaltungsvorrichtung 100 bestimmt den Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp, in dem die zweidimensionale Kamera 310 auf den Messpunkt Wp fokussiert ist, basierend auf einer Änderung des Fokussiergrads a gemäß einer Änderung der Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp.
  • Somit kann das Bildverarbeitungssystem SYS die Normale V in Bezug auf den Messpunkt Wp des eingestellten Werkstücks W gemäß der durch die Linie L bereitgestellten Anordnungssituation des Werkstücks W spezifizieren. Ferner kann das Bildverarbeitungssystem SYS die zweidimensionale Kamera 310 auf den Messpunkt Wp fokussieren durch Ändern des Abstands zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp. Als Ergebnis ist es möglich, die zweidimensionale Kamera 310 auf den Messpunkt Wp zu fokussieren, ohne das optische System der zweidimensionalen Kamera 310 zu ändern. Daher kann in dem Bildverarbeitungssystem SYS eine genaue Erscheinungsbild-Inspektion ausgeführt werden. Ferner bestimmt in dem Bildverarbeitungssystem SYS die Verwaltungsvorrichtung 100 die Normale V des Messpunkts Wp basierend auf dem Erscheinungsbild, und bestimmt eine Position, bei welcher die zweidimensionalen Kamera 310 auf den Messpunkt Wp fokussiert ist basierend auf den Fokussierungsgrad a der zweidimensionalen Kamera 310, wenn die zweidimensionale Kamera 310 entlang der Normalen V bewegt wurde. Daher ist es in dem Bildverarbeitungssystem SYS möglich, eine Positionsbeziehung zwischen der Position des Werkstücks W, das durch die Linie L bereitgestellt wird, und der zweidimensionalen Kamera einzustellen 310.
  • Ein Verfahren hinsichtlich der Erscheinungsbild-Inspektion des Werkstücks W, das in dem Bildverarbeitungssystem SYS ausgeführt wird, umfasst den Prozess der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp des Werkstücks W und den Prozess der Ausführung der Inspektion in einem Zustand, in dem die zweidimensionale Kamera 310 auf den Messpunkt Wp fokussiert ist. Der Prozess der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp des Werkstück W enthält ein Verfahren der Spezifizierung der Normalen V in Bezug auf den Messpunkt, und ein Verfahren der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp auf bzw. an der spezifizierten Normalen V.
  • Genauer gesagt, enthält der Prozess der Spezifizierung der Normalen V in Bezug auf den Messpunkt Wp ein Verfahren der Spezifizierung des Anordnungszustand des Werkstücks W basierend auf der Information, die durch die Bildgebung des Werkstücks W gewonnen wurde, und ein Verfahren der Spezifizierung der Normalen V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W gemäß dem spezifizierten Anordnungszustand eingestellt ist.
  • In der ersten Ausführungsform wird das Verfahren der Spezifizierung der Normalen V in Bezug auf den Messpunkt Wp ausgeführt unter Verwendung der dreidimensionalen Kamera 410 und der zweidimensionalen Kamera 310. Insbesondere enthält das Verfahren der Spezifizierung der Normalen V bezüglich dem Messpunkt Wp einen Prozess zum Bestimmen der Normalen V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W basierend auf dem von der dreidimensionalen Kamera 410 aufgenommenen dreidimensionalen Bild gesetzt ist, und einen Prozess zum Korrigieren der Normalen V, die in einem Zustand bestimmt wird, in dem die zweidimensionale Kamera 310 auf der bestimmten Normalen V positioniert ist, basierend auf dem von der zweidimensionalen Kamera 310 aufgenommenen zweidimensionalen Bild.
  • Das heißt, in der ersten Ausführungsform, enthält das Verfahren zur Spezifizierung der Normalen V in Bezug auf den Messpunkt Wp: (1) ein Verfahren zur Spezifizierung der Anordnungssituation des Werkstückes W basierend auf dem dreidimensionalen Bildes; (2) ein Verfahren zum Bestimmen der Normalen V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W gemäß der auf dem dreidimensionalen Bild spezifizierten Anordnungssituation festgelegt ist; (3) ein Verfahren zum Spezifizieren der Anordnungssituation des Werkstücks W basierend auf dem zweidimensionalen Bild, das die zweidimensionale Kamera 310 aufgenommen wird in ein Zustand, in dem die zweidimensionale Kamera 310 auf der bestimmten Normalen V positioniert wurde, und (4) ein Verfahren zum Korrigieren der bestimmten Normalen V gemäß der auf der Grundlage des zweidimensionalen Bildes spezifizierten Anordnungssituation.
  • Ein Inspektions-Verfahren, das von der CPU 130 der Verwaltungsvorrichtung 100 ausgeführt wird, um einen Prozess zu realisieren, der bezüglich einer Aussehensinspektion des Werkstücks W in dem Bildverarbeitungssystem SYS ausgeführt wird, wird unter Bezugnahme auf 4 beschrieben. 4 ist ein Flussdiagramm des Inspektions-Verfahren. Die CPU 130 führt das Inspektions-Verfahren aus basierend auf dem Empfangen eines Befehls zum Ausführen einer Inspektion des Werkstücks W. Der Befehl zum Ausführen der Inspektion des Werkstücks W wird beispielsweise von der Eingabevorrichtung 120 durch den Benutzer eingegeben. Man beachte, dass der Befehl zum Ausführen einer Inspektion des Werkstücks W von der dreidimensionalen Bildverarbeitungsvorrichtung 400 oder einer Vorrichtung (nicht dargestellt) eingegeben werden kann, welche die Linie L gemäß dem Werkstück W verwaltet, das innerhalb des Bildgebungs-Sichtfelds der dreidimensionale Kamera 410 vorgesehen ist. In der ersten Ausführungsform wird angenommen, dass die CPU 130 eine Werkstücknummer empfängt, durch die ein Typ des Werkstücks W spezifiziert werden kann, zusammen mit dem Befehl zum Ausführen einer Inspektion des Werkstücks W.
  • In Schritt S100, spezifiziert die CPU 130 die Inspektionsinformation 1411 entsprechend der Werkstücknummer, aus der Vielzahl von Stücken von Inspektionsinformation 1411, die in dem Hauptspeicher 140 gespeichert ist.
  • In Schritt S200, spezifiziert die CPU 130 die Anordnungssituation des Werkstücks W basierend auf dem dreidimensionalen Bild des Werkstücks W 410, das durch die dreidimensionale Kamera abgebildet wurde, und führt einen Inspektionspfad-Erzeugungsprozess aus, um einen Inspektionspfad WL zu erzeugen. (1) Ein Prozess zum Spezifizieren der Anordnungssituation des Werkstücks W basierend auf dem dreidimensionalen Bild und (2) ein Prozess zum Bestimmen einer Normalen V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W gemäß der spezifizierten Anordnungssituation eingestellt ist basierend auf dem dreidimensionalen Bild, werden durch die CPU 130 ausgeführt, die den Inspektionspfad-Erzeugungsprozess ausführt.
  • In Schritt S300 bestimmte die CPU 130, ob eine Inspektion durchgeführt wird oder ob nicht. Insbesondere bestimmt die CPU 130, ob es einen nicht-untersuchten Messpunkt Wp gibt oder nicht. Wenn alle Messpunkte Wp untersucht bzw. inspiziert wurden (NEIN in Schritt S300), beendet die CPU 130 den Inspektions-Prozess. Wenn es einen Messpunkt Wp gibt, der nicht inspiziert wurde (JA in Schritt S300), schaltet die CPU 130 die Steuerung zu Schritt S310 um.
  • In Schritt S310, bestimmt die CPU 130, einen Messpunkt Wp, der noch nicht überprüft worden ist.
  • In Schritt S400 führt die CPU 130 einen normalen Korrekturprozess aus. Der Normalen-Korrekturprozess ist ein Prozess zum Korrigieren einer Normalen V in Bezug auf einen Messpunkt Wp, der nicht inspiziert wurde. Durch die CPU 130, die den normalen Korrekturprozess ausführt, werden (3) ein Prozess ausgeführt zum Spezifizieren der Anordnungssituation des Werkstücks W basierend auf dem von der zweidimensionalen Kamera 310 aufgenommenen zweidimensionalen Bild in einem Zustand, in dem die zweidimensionale Kamera 310 auf der bestimmten Normalen V positioniert ist, und (4) wird ein Prozess ausgeführt zum Korrigieren der bestimmten Normalen V gemäß der Anordnungssituation des Werkstücks W, die basierend auf dem zweidimensionalen Bild spezifiziert ist.
  • In Schritt S500 führt die CPU 130 einen Fokussierungs-Anpassungsprozess aus. Der Fokussierungs-Anpassungsprozess ist ein Prozess der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp. Durch die CPU 130, die den Fokussierungs-Anpassungsprozess durchgeführ, wird ein Prozess der Fokussierung der zweidimensionalen Kamera 310 auf den Messpunkt Wp auf der bestimmten Normalen V ausgeführt.
  • In Schritt S600 führt die CPU 130 einen Inspektions-Ausführungsprozess durch. Der Inspektions-Ausführungsprozess ist ein Prozess zum Ausführen einer Inspektion an dem Messpunkt Wp. Indem die CPU 130 den Inspektions-Ausführungsprozess durchführt, wird ein Prozess zum Ausführen der Inspektion bzw. Prüfung in einem Zustand durchgeführt, in dem die zweidimensionale Kamera 310 auf den Messpunkt Wp fokussiert ist.
  • Alle Funktionen der Bildverarbeitungsvorrichtung 2 werden mit Bezug auf 5 beschrieben. 5 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration der Bildverarbeitungsvorrichtung 2 darstellt. Wie oben beschrieben, umfasst die Bildverarbeitungsvorrichtung 2 die Verwaltungsvorrichtung 100, die Roboter-Steuerungseinheit 200, die zweidimensionale Bildverarbeitungsvorrichtung 300 und die dreidimensionale Bildverarbeitungsvorrichtung 400.
  • Die Verwaltungsvorrichtung 100 enthält einen Hauptspeicher 140, der eine Speichereinheit ist. Der Hauptspeicher 140 umfasst eine Speichereinheit 141 als eine funktionale Konfiguration zum Speichern der Inspektionsinformationen 1411. Ferner umfasst die Verwaltungsvorrichtung 100, als andere funktionale Konfigurationen, eine Positionsbestimmungseinheit 131, eine Pfaderzeugungseinheit 132, eine Normalen-Korrektureinheit 133 eine Normalen-Bahnkurven-Erzeugungseinheit 134, eine Fokuspositions- Bestimmungseinheit 135, eine bogenförmige Bahnkurven-Erzeugungseinheit 136, eine Inspektionsergebnis-Bestimmungseinheit 137 und eine Inspektionsergebnis-Registrierungseinheit 138. Die Positionsbestimmungseinheit 131, die Pfaderzeugungseinheit 132, die Normalen-Korrektureinheit 133, die Normal-Bahnkurven-Erzeugungseinheit 134, die Fokuspositions-Bestimmungseinheit 135, die Bahnkurven-Erzeugungseinheit 136, die Inspektions-Ergebnisbestimmungseinheit 137, und die Prüfungsergebnis-Registrierungseinheit 138 werden typischerweise durch die CPU der Verwaltungsvorrichtung 100 realisiert, die das Programm ausführt.
  • Die Roboter-Steuerungseinheit 200 enthält eine Umwandlungseinheit 220, die Informationen über eine Position und eine Positur des zweidimensionalen Kamera 310 in einem Globalen Koordinaten-System wandelt in Informationen über eine Position und eine Positur der zweidimensionalen Kamera 310 in einem Roboter-Koordinatensystem als funktionelle Konfiguration. Insbesondere wandelt die Umwandlungseinheit die Positionskoordinaten (Xw, Yw, Zw) in dem Globalen Koordinaten-System um zu Positionskoordinaten (Xr, Yr, Zr) in dem Roboter-Koordinatensystem und wandelt Information (Nw) über die Richtung, in dem Globalen Koordinatensystem, um in Information (Nw) über die Richtung, in dem Roboter-Koordinatensystem. Hier wird die Information über die Richtung beispielsweise durch einen Vektor angezeigt. Man beachte, dass die Information über die Richtung durch einen Winkel angezeigt werden kann.
  • Die zweidimensionale Bildverarbeitungseinrichtung 300 umfasst eine Bildverarbeitungs-Maschine 330. Die Bildverarbeitungsmaschine 330 umfasst eine Spezifizierungseinheit 331, eine Fokussierungs-Grad-Berechnungseinheit 332 und eine Merkmalsmengen-Berechnungseinheit 333 als funktionelle Konfigurationen.
  • Die dreidimensionale Bildverarbeitungseinrichtung 400 umfasst eine Bildverarbeitungsmaschine 430. Die Bildverarbeitungs-Maschine 430 umfasst eine Spezifizierungseinheit 431 als eine funktionale Konfiguration.
  • Es sei angemerkt, dass einige oder alle der funktionalen Konfigurationen der Bildverarbeitungsvorrichtung 2, die in 5 dargestellt sind, unter Verwendung einer fest verdrahteten Schaltung, wie etwa einer Anwendungs-Unterschicht (ASL) oder einer feldprogrammierbaren Gatteranordnung (FPGA), realisiert werden. Man beachte, dass einige oder alle der Funktionen der Verwaltungsvorrichtung 100, der Roboter-Steuerungseinheit 200, der zweidimensionalen Bildverarbeitungsvorrichtung 300 und der dreidimensionalen Bildverarbeitungsvorrichtung 400 in anderen Vorrichtungen implementiert werden können.
  • Die Speichereinheit 141 speichert Informationen über die Inspektions-Pfad WL -Eingabe von der Eingabevorrichtung 120. Wenn die Information über den Inspektions-Pfad WL von der Eingabevorrichtung 120 eingegeben wird, zeichnet die CPU 130 die Informationen in der Speichereinheit 141 auf. Anzumerken ist, dass die in der Speichereinheit 141 gespeicherte Information nicht auf die von der Eingabevorrichtung 120 eingegebene Information beschränkt ist und Informationen enthält, die von der Speicherkarte 171 und/oder der Festplatte 150 gelesen werden. Beispielsweise sind eine Koordinatenposition (Xm, Ym, Zm) auf 3D-CAD von jedem Messpunkt Wp und ein Normalenvektor (Nm) in Bezug auf jeden Messpunkt Wp als die Information auf dem Inspektionspfad WL enthalten.
  • Die Positionsbestimmungseinheit 131 bestimmt eine Position und eine Richtung der zweidimensionalen Kamera 310 in dem Globalen Koordinaten-System aus der Information über die Position und die Richtung der zweidimensionalen Kamera 310, die gesendet wird von der Pfad-Erzeugungs-Einheit 132, der Normalen-Korrektureinheit 133, der Normal-Bahnkurven-Erzeugungseinheit 134, der Fokuspositions-Bestimmungseinheit 135 und der Bahnkurven-Erzeugungseinheit 136. Die Positions-Bestimmungseinheit 131 überträgt die Information über die Position und die Richtung der zweidimensionalen Kamera 310 in dem Globalen Koordinaten-System an die Roboter-Steuerungseinheit 200.
  • Die Spezifizierungseinheit 431 der dreidimensionalen Bildverarbeitungs- Vorrichtung 400 spezifiziert die Anordnungssituation des Werkstücks W, die durch die Linie L von dem dreidimensionalen Bild bereitgestellt wird. Als ein Beispiel berechnet die Spezifizierungseinheit 431 die Anordnungssituation des Werkstücks W durch den dreidimensionalen Abbildungsprozess, wie zum Beispiel eine dreidimensionale Musteranpassung oder einen iterativen nächsten Punkt (ICP). Typischerweise wird die von der Spezifizierungseinheit 431 gemessene Position des Werkstückes W dargestellt durch einen Koordinatenwert (Xc3 , Yc3 , Zc3 ) [pixcel] eines Kamera-Koordinaten-Systems in der dreidimensionalen Kamera 410. Ferner, wird die von der Spezifizierungseinheit 431 gemessene Richtung des Werkstücks W typischerweise durch einen Rotationswinkel (θ xc3 , θ yc3 , θ zc3 ) [radians] um eine x-Achse, eine y-Achse und eine z-Achse des Kamerakoordinatensystems in der dreidimensionalen Kamera 410 dargestellt. Die von der Spezifizierungseinheit 431 gemessene Position und Neigung des Werkstücks W wird an die Verwaltungsvorrichtung 100 gesendet.
  • Die Pfad-Erzeugungseinheit 132 erzeugt einen Inspektionspfad WL auf der Grundlage der Position und der Richtung des Werkstücks W in dem Kamerakoordinatensystem der dreidimensionalen Kamera 410, die von der Spezifizierungseinheit 431 gesendet wird, und der in in der Speichereinheit 141 gespeicherten Inspektionsinformation 1411 des Werkstücks W. Typischerweise wird der Inspektionspfad WL durch die Koordinatenposition (Xw, Yw, Zw) [mm] und den Normalenvektor (Nw) in dem Globalen Koordinaten-System dargestellt. Das heißt, die Pfad-Erzeugungseinheit 132 bestimmt die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W gemäß der Anordnungssituation eingestellt ist, die basierend auf dem dreidimensionalen Bild spezifiziert ist.
  • Ferner verwaltet die Pfad-Erzeugungseinheit 132 den Start und das Ende der Inspektion. Insbesondere erzeugt die Pfad-Erzeugungseinheit 132 einen Inspektionspfad WL basierend auf dem Empfang eines Befehls zum Starten einer Inspektion. Die Pfad-Erzeugungseinheit 132 bestimmt die Position und die Richtung (Xw, Yw, Zw, Nw) der zweidimensionalen Kamera 310 basierend auf dem erzeugten Inspektionspfad WL und gibt einen Befehl an die Positionsbestimmungseinheit 131 aus. Ferner, empfängt die Erzeugungseinheit 132 ein Ende-Signal, das anzeigt, dass die Inspektion für einen Messpunkt abgeschlossen wurde, bestimmt die Position und die Richtung (Xw, Yw, Zw) der zweidimensionalen Kamera 310, um die zweidimensionale Kamera 310 an dem nächsten Messpunkt Wp zu positionieren, und gibt einen Befehl an die Positions-Bestimmungseinheit 131 aus. Die Pfad-Erzeugungseinheit 132 beendet die Prüfung basierend auf dem Empfang eines Ende-Signals für alle Messpunkte Wp.
  • Somit empfängt in der ersten Ausführungsform die Pfad-Erzeugungseinheit 132 das Ende-Signal, welches das Ende der Inspektion angibt, und weist die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 sequentiell zu bewegen. Deshalb ist es unnötig, die Verwaltungseinrichtung 100 anzuweisen, zu bestätigen, dass der Benutzer die Inspektion an dem Messpunkt abgeschlossen hat und die Inspektion an dem nächsten Messpunkt Wp nach der Bestätigung zu starten. Das heißt, das Bildverarbeitungssystem SYS gemäß der ersten Ausführungsform enthält die Pfad-Erzeugungseinheit 132, wodurch die Bedienbarkeit für den Benutzer verbessert wird.
  • Die Spezifizierungseinheit 331 der zweidimensionalen Bildverarbeitungseinrichtung 300 spezifiziert Informationen zur Korrektur der Normalen V des Messpunktes Wp, der durch die Pfad-Erzeugungseinheit 132 von dem zweidimensionalen Bild bestimmt ist. Als ein Beispiel berechnet die Spezifizierungseinheit 331 Informationen zum Korrigieren der Normalen V des Messpunkts Wp durch Bildverarbeitung, wie z.B. Musteranpassung. Hier ist die Information zum Korrigieren der Normalen V des Messpunkts Wp eine Information über die Position des Messpunkts Wp. Typischerweise wird die von der Spezifizierungseinheit 431 berechnete Position des Messpunktes Wp repräsentiert von einem Koordinatenwert (XC2, Yc2) [pixcel] des Kamerasystems in der zweidimensionalen Kamera 310 und von einen Rotationswinkel θ c2 [radians] um die Normale, die als Achse dient. Die Information über die Position des Messpunkts Wp, die durch die Spezifizierungseinheit 331 gemessen wird, wird an die Verwaltungsvorrichtung 100 gesendet.
  • Die Normalen-Korrektureinheit 133 korrigiert die Normale V des Messpunkts Wp, der durch die Pfad-Erzeugungseinheit 132 bestimmt wird. Insbesondere spezifiziert die Normalen-Korrektureinheit 133 die Normale V des Messpunkts Wp basierend auf der Information über die Position des Messpunkt Wp, der durch die Spezifizierungseinheit 331 gemessen wird. Das heißt, die Normalen-Korrektureinheit 133 spezifiziert indirekt die Normale V des Messpunkts Wp basierend auf dem zweidimensionalen Bild. Im folgenden wird die Normale V des Messpunktes Wp basierend auf dem zweidimensionalen Bild auch als „gemessene Normale V des Messpunktes Wp“ (ein tatsächlich gemessener Wert) bezeichnet. Andererseits wird die Normale V des Messpunkts Wp, auf den beim Positionieren der zweidimensionalen Kamera 310 Bezug genommen wird, auch als „ermittelte Normale V des Messpunkts Wp“ (ein bestimmter Wert) bezeichnet.
  • Die Normalen-Korrektureinheit 133 berechnet einen Diskrepanz- bzw. Abweichungswert zwischen der gemessenen Normalen V des Messpunkts Wp und der ermittelten Normalen V des Messpunkts Wp, korrigiert die ermittelte Position des Messpunkts Wp basierend auf dem Diskrepanzwert und ermittelt die Position des Messpunktes Wp erneut. Die Normalen-Korrektureinheit 133 bestimmt die Position und die Richtung (Xw, Yw, Zw, Nw) der zweidimensionalen Kamera 310 basierend auf der bestimmten Position des Messpunkts Wp und überträgt die Position und die Richtung (Xw, Yw, Zw, Nw) zu der Positions-Bestimmungseinheit 131. Die Normalen- Korrektureinheit 133 bestimmt die Position und den Normalenvektor des Messpunkts Wp basierend auf dem Diskrepanzwert, der gleich oder kleiner als ein vorbestimmter Wert wird. Die Normalen-Korrektureinheit 133 überträgt die Position und den Normalenvektor des Messpunkts Wp (Xw, Yw, Zw, Nw), die bestimmt worden sind, an die Normal-Bahnkurven-Erzeugungseinheit 134.
  • Die Normal-Bahnkurven-Erzeugungseinheit 134 erzeugt eine Normalen- Bahnkurve (Xw(t), Yw(t), Zw(t)) der zweidimensionalen Kamera 310, um den Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp in einem Zustand zu ändern, in dem die optische Achse O der zweidimensionalen Kamera 310 mit der Normalen V in Bezug auf den Messpunkt Wp übereinstimmt, basierend auf der Position und dem Normalenvektor des Messpunkts Wp, der empfangen wurde. Die Normal-Bahnkurven-Erzeugungseinheit 134 überträgt beispielsweise die generierte Normalen-Bahnkurve und den Bewegungsbereich zu der Positions-Bestimmungseinheit 131 und der Fokus-Positionsbestimmungseinheit 135.
  • Die Fokussierungsgrad-Berechnungseinheit 332 berechnet einen Fokussierungsgrad a aus dem zweidimensionalen Bild und überträgt an die Fokus-Positionsbestimmungseinheit 135 eine Beziehung a(t) zwischen dem Fokussierungsgrad a und einer Zeit t, wann die zweidimensionale Kamera 310 das zweidimensionale Bild erfasst hat.
  • Die Fokus-Positionsbestimmungseinheit 135 spezifiziert eine Position, bei welcher der Grad der Fokussierung a am höchsten ist, aus Informationen, wie dem Grad der Fokussierung a(t) des von der Fokussierungs-Berechnungseinheit 332 übertragenen zweidimensionalen Bildes und der von der von der Normal-Bahnkurven-Erzeugungseinheit 134 übertragen Normalen-Bahnkurve. Die Fokus-Positionsbestimmungseinheit 135 weist einen Bewegungsbereich zu von der spezifizierten Position, wie erforderlich, und instruiert die Normal-Bahnkurven-Erzeugungseinheit 134, eine Normalen-Bahnkurve zu erzeugen. Die Fokus-Positionsbestimmungseinheit 135 bestimmt die Fokusposition (Xw, Yw, Zw) basierend auf ausreichender Information, um die Fokusposition zu bestimmen, die von der Fokussierungsgrad-Berechnungseinheit 332 erlangt wird, und überträgt die Fokusposition (Xw, Yw, Zw) an die Bahnkurven-Erzeugungseinheit 136.
  • Die Bahnkurven-Erzeugungseinheit 136 erzeugt die bogenförmige Bahnkurve so, dass der Winkel, der zwischen dem Normalenvektor V in Bezug auf den Messpunkt und der optischen Achse O der zweidimensionalen Kamera 310 gebildet wird, in einem Zustand geändert wird, in dem der Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp bei der die von der Fokus-Positionsbestimmungseinheit 135 gesendete Fokusposition beibehalten bleibt. Die Bahnkurven-Erzeugungseinheit 136 erzeugt eine bogenförmige Bahnkurve (Xw(t), Yw(t), Zw(t), Yw(t), Nw(t)) für die Position und die Richtung der zweidimensionalen Kamera 310, so dass die optische Achse O der zweidimensionalen Kamera 310 den Messpunkt Wp schneidet. Die Bahnkurven-Erzeugungseinheit 136 überträgt zum Beispiel die erzeugte Bahnkurve und den Bewegungsbereich zu der Positions-Bestimmungseinheit 131 und der Inspektionsergebnis-Bestimmungseinheit 137.
  • Die Merkmalsmengen-Berechnungseinheit 333 berechnet eine Merkmalsmenge b zum Ausführen der für jeden Messpunkt bestimmten Prüfung bzw. Inspektion. Die Merkmalsmengen-Berechnungseinheit 333 berechnet die Merkmalsmenge b, die dem Überprüfungsinhalt aus dem zweidimensionalen Bild entspricht. Ein Verfahren zum Berechnen der Merkmalsmenge b kann beispielsweise aus einer Art des Werkstücks W und dem Inspektionsinhalt bestimmt werden. Die Merkmalsmengen-Berechnungseinheit 333 überträgt eine Beziehung b(t) zwischen der berechneten Merkmalsmenge b und der Zeit t, zu der die zweidimensionale Kamera 310 das zweidimensionale Bild erfasst hat, an die Inspektions-Ergebnisbestimmungseinheit 137.
  • Die Inspektions-Ergebnis-Bestimmungseinheit 137 spezifiziert eine Richtung, in der die Merkmalsmenge b ansteigt, aus Informationen, wie der Merkmalsmenge b(t) des zweidimensionalen Bildes und der von der Bahnkurven-Erzeugungseinheit 136 übertragenen bogenförmigen Bahnkurve. Das Prüfungsergebnis-Bestimmungseinheit 137 überträgt die Richtung, in der die Merkmalsmenge b zunimmt, an die Bahnkurven-Erzeugungseinheit 136. Wenn die zweidimensionale Kamera 310 in der Richtung bewegt werden kann, in der die Merkmalsmenge b innerhalb eines Bereichs zunimmt, in dem die zweidimensionale die Kamera 310 bewegt werden kann, erzeugt die Bahnkurven-Erzeugungseinheit 136 beispielsweise die bogenförmige Bahnkurve. Die Inspektionsergebnis-Bestimmungseinheit 137 spezifiziert einen Maximalwert der Merkmalsmenge b, wenn die Merkmalsmenge b innerhalb des Bereichs beibehalten wird, in dem die zweidimensionale Kamera 310 bewegt werden kann, und bestimmt ein Inspektionsergebnis basierend darauf, ob der Maximalwert gleich oder größer als ein vorbestimmter definierter Wert ist oder nicht. Die Inspektionsergebnis-Bestimmungseinheit 137 überträgt das erhaltene Inspektionsergebnis an die Inspektionsergebnis-Registrierungseinheit 138.
  • Die Inspektionsergebnis-Registrierungseinheit 138 gibt das von der Prüfungsergebnis-Bestimmungseinheit 137 gesendete Prüfungsergebnis von der Prüfungsergebnis-Bestimmungseinheit 137 aus, und überträgt ein Ende-Signal an die Pfad-Erzeugungseinheit 132. Die ausgegebene Prüfungsergebnis wird in einem vorbestimmten Bereich des Hauptspeichers 140 gespeichert. Die Inspektionsergebnis-Registrierungseinheit 138 kann das Inspektionsergebnis in dem Hauptspeicher 140 speichern und das Inspektionsergebnis auf der Anzeigevorrichtung 110 anzeigen.
  • Der Inspektionspfad-Erzeugungsprozess (Schritt S200; siehe 4), der von der CPU 130 der Verwaltungsvorrichtung 100 ausgeführt wird, wird im Detail unter Bezugnahme auf die 6 und 7 beschrieben. 6 ist ein Flussdiagramm des Inspektionspfad-Erzeugungsprozesses. 7 ist ein Diagramm, das ein Beispiel der funktionalen Konfiguration der Bildverarbeitungsvorrichtung 2 darstellt, die bei der Ausführung des Inspektionspfad-Erzeugungsprozesses arbeitet bzw. funktioniert. In 7 ist eine Form des Werkstücks W vereinfacht dargestellt und im Vergleich zu den 1 und 3 beschrieben.
  • Indem die CPU 130 den Inspektionspfad-Erzeugungsprozess ausführt, wird die Anordnungssituation des Werkstücks W spezifiziert und die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, wird gemäß der spezifizierten Anordnungssituation des Werkstücks W spezifiziert.
  • Wie in 4 dargestellt, wird der Inspektionspfad-Erzeugungsprozess (Schritt S200) ausgeführt, nachdem die Prüfungs- bzw. Inspektions-Information 1411, die der Werkstück-Nummer entspricht, in Schritt S100 spezifiziert wurde. Zum Beispiel wird die Inspektionsinformation 1411 für jede Werkstücknummer in der im Hauptspeicher 140 vorgesehenen Speichereinheit 141 gespeichert. Beispielsweise werden ein CAD-Modell zur Erkennung, ein Koordinatenwert (Xmi, Ymi, Zmi) auf dem 3D-CAD des Messpunkt Wp für jede Messpunktnummer (Nr. i), ein Normalenvektor (Nmi) mit einer Größe, die ein definierter Wert ist, ein Prüfpunkt und ein Referenzmodellbild (Ii) als Inspektions-Information 1411 in der Speichereinheit 141 gespeichert (siehe 7). Der Messpunkt Nr. i (i = 1, 2, ...) gibt eine Messreihenfolge an, und die Pfad-Erzeugungseinheit 132 wird gesteuert, um eine Inspektion für einen Messpunkt Wp von Nr. (i + 1) als nächstes zum Messpunkt von Nr. i. durchzuführen.
  • Hier ist das Referenzmodellbild (Ii) ein Referenzbild des Messpunkts und kann ein Referenzbild sein, das in dem Bildgebungsbereich der zweidimensionalen Kamera 310 enthalten ist, wenn die optische Achse O der zweidimensionalen Kamera 310 mit der Normalen V in Bezug auf den Messpunkt Wp von Nr. i abgestimmt ist. Ferner wird das Referenzmodellbild (Ii) typischerweise durch Computergrafik (CG) erzeugt, die es aus dem CAD-Modell zur Erkennung rendert. Es sei angemerkt, dass das Referenzmodellbild (Ii) aus einem Bild erzeugt werden kann, das durch tatsächliches Abbilden des Werkstücks W erhalten wird.
  • Nachdem die Inspektionsinformation 1411 des Werkstück W festgelegt ist, sendet die CPU 130 ein CAD-Modell zur Erkennung der angegebenen Inspektionsinformation 1411 an die dreidimensionale Bildverarbeitungseinrichtung 400 in Schritt S201. Die dreidimensionale Bildverarbeitungsvorrichtung 400 speichert temporär das CAD-Modell zur Erkennung in der Speichereinheit 432 der Bildverarbeitungsmaschine 430. Ferner kann die dreidimensionale Bildverarbeitungsvorrichtung 400 das CAD-Modell zur Erkennung für jede Werkstücknummer im Voraus speichern. In diesem Fall überträgt die CPU 130 in Schritt S201 nur die Werkstücknummer an die dreidimensionale Bildverarbeitungsvorrichtung 400.
  • In Schritt S202, instruiert die CPU 130 die dreidimensionale Bildverarbeitungs-Einrichtung 400, um die Anordnungssituation bzw. -lage des Werkstücks W zu spezifizieren.
  • Ein Verfahren zum Spezifizieren der Anordnungssituation des Werkstücks W, das von der dreidimensionalen Bildverarbeitungsvorrichtung 400 ausgeführt wird, wird unter Bezugnahme auf 7 beschrieben. Die Spezifizierungseinheit 431 der dreidimensionalen Bildverarbeitungsvorrichtung 400 empfängt einen Befehl zum Spezifizieren der Anordnungssituation des Werkstücks W und weist die Bildgebungs- bzw. Abbildungs-Steuerungseinheit 420 an, ein dreidimensionales Bild zu erfassen. Die Bildgebungs-Steuerungseinheit 420 speichert das erfasste dreidimensionale Bild in der Speichereinheit 433 der Bildverarbeitungsmaschine 430. Die Spezifizierungseinheit 431 sucht nach einem Bildbereich ähnlich dem CAD-Modell zur Erkennung, das in der Speichereinheit 432 gespeichert ist, in dem dreidimensionalen Bild, das in der Speichereinheit 433 gespeichert ist. Die Spezifizierungseinheit 431 berechnet eine Position (Xc3, Yc3, Zc3) des Werkstücks W in dem dreidimensionalen Bild und eine Richtung (θ xc3, θ yc3, θ zc3) das Werkstücks W in dem dreidimensionalen Bild von dem Bildbereich, nach dem gesucht wurde. Die Spezifizierungseinheit 431 überträgt die berechnete Position und die berechnete Richtung des Werkstücks W in dem dreidimensionalen Bild an die Verwaltungsvorrichtung 100.
  • Wieder Bezug nehmend auf 6 wird der Inspektionspfad-Erzeugungsprozess beschrieben. In Schritt S203 wird die Information über die Position des Werkstücks W und die Richtung des Werkstücks W von der Vorrichtung dreidimensionalen Bildverarbeitungs-Einrichtung 400 empfangen, und in Schritt S203, spezifiziert die CPU 130 die Anordnungslage des Werkstücks W in dem globalen Koordinatensystem. Insbesondere wandelt eine Umwandlungseinheit 139 (siehe 7), die in der funktionalen Konfiguration der CPU 130 enthalten ist, die Werte (Xc3, Yc3, Zc3, θ xc3, θ yc3, θ zc3) des Kamera-Koordinatensystems in Werte (Xw, Yw, Zw, θ xw, θ yw, θ zw) im globalen Koordinatensystem basierend auf den Koordinatenwerten (Xw0 , Yw0 , Zw0 ) der dreidimensionalen Kamera 410 und einer vorbestimmten Koordinaten-Umwandlungsgleichung. Dementsprechend, wie in 7 dargestellt, wird der Inspektionspfad WL für das Werkstück W erzeugt, das durch die Linie L bereitgestellt wird.
  • In Schritt S204, bestimmt die CPU 130 die Normale V, um den Inspektionspfad WL zu erzeugen und kehrt zu dem Inspektionsprozess zurück. Insbesondere wandelt die Pfad-Erzeugungseinheit 132 (siehe 7) die Koordinaten (Xmi, Ymi, Zmi) und den Normalenvektor (Nmi) jedes Messpunkts Wpi unter den in der Speichereinheit 141 gespeicherten Inspektionsinformationen 1411 in den Koordinatenwert (Xwi, Ywi, Zwi) und den Normalenvektor (Nwi) eines globalen Werkstück-Koordinatensystems um basierend auf der Position (Xw, Yw, Zw) und der Richtung (θ xw, θ yw, θzi) des Werkstücks W des globalen Koordinatensystems und einer vorbestimmten Umwandlungsgleichung. Die Normale V wird durch Berechnen des Koordinatenwerts und des Normalenvektors des Messpunkts Wp in dem globalen Koordinatensystem bestimmt. Ferner wird der Inspektionspfad WL durch Berechnen des Koordinatenwerts und des Normalenvektors des Messpunkts Wp in dem globalen Koordinatensystem erzeugt. Die Pfaderzeugungseinheit 132 aktualisiert die Überprüfungs- bzw. Inspektionsinformation 1411 der Speichereinheit 141 mit Informationen über den erzeugten Überprüfungspfad. Die Pfad-Erzeugungseinheit 132 speichert die aktualisierte Information in der ersten Speichereinheit 142 (siehe 9) des Hauptspeichers 140.
  • Somit, indem die CPU 130 den Inspektionspfad-Erzeugungsprozess ausführt, spezifiziert die dreidimensionale Bildverarbeitungsvorrichtung 400 die Anordnungssituation des Werkstücks W basierend auf dem dreidimensionalen Bild. Ferner werden durch die CPU 130, die den Inspektions-Pfaderzeugungsprozess ausführt, die Position und der Normalenvektor jedes Messpunkts Wp in dem Globalem Koordinaten-System für jeden Messpunkt Wp berechnet, der in dem Werkstück W eingestellt ist. Das heißt, indem die CPU 130 den Inspektionspfad-Erzeugungsprozess ausgeführt, wird die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, gemäß der spezifizierten Anordnungssituation des Werkstücks W bestimmt.
  • Der Normalen-Korrekturprozess (Schritt S400; siehe 4), der von der CPU 130 der Verwaltungsvorrichtung 100 ausgeführt wird, wird im Detail unter Bezugnahme auf die 8 und 9 beschrieben. 8 ist ein Flussdiagramm des normalen Korrekturprozesses. 9 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration der Bildverarbeitungs-Vorrichtung 2 darstellt, die bei der Ausführung des normalen Korrekturprozesses funktioniert. In 9 wird eine Form des Werkstücks W vereinfacht und im Vergleich mit 1 und 3 beschrieben.
  • In dem Schritt S401 sendet die CPU 130 das Bildreferenzmodell an die zweidimensionale Bildverarbeitungseinrichtung 300. Insbesondere spezifiziert die Pfad-Erzeugungseinheit 132 das Referenzmodell für den Messpunkt Wp, der in Schritt S310 von der ersten Speichereinheit 142 bestimmt wurde, und überträgt das Referenzmodellbild über die zweidimensionale Kamera-I/F 183 an die zweidimensionale Bildverarbeitungsvorrichtung 300. Die zweidimensionale Bildverarbeitungsvorrichtung 300 speichert das Referenzmodellbild zeitweilig in der Speichereinheit 334 der Bildverarbeitungsmaschine 330. Es sei angemerkt, dass die zweidimensionale Bildverarbeitungsvorrichtung 300 ein Referenzmodellbild für jeden Messpunkt im Voraus speichern kann. In diesem Fall überträgt die CPU 130 in Schritt S401 nur die Messpunktnummer an die zweidimensionale Bildverarbeitungsvorrichtung 300.
  • In Schritt S402 bestimmt die CPU 130 die Position und die Richtung der zweidimensionalen Kamera 310 aus der Position und dem Normalenvektor des Messpunkts Wp, die in der ersten Speichereinheit 142 gespeichert sind. Insbesondere spezifiziert die Pfad-Erzeugungseinheit 132 die Koordinaten-Position und den Normalen-Vektor in dem globalen Koordinaten-System für die Messpunkte Wp, die in Schritt S310 von der ersten Speichereinheit bestimmt wird. Die Pfad-Erzeugungseinheit 132 bestimmt die Richtung der zweidimensionalen Kamera 310, so dass der spezifizierte Normalenvektor mit der optischen Achse O der zweidimensionalen Kamera 310 übereinstimmt. Ferner, bestimmt die Pfad-Erzeugungseinheit 132 die Position der zweidimensionalen Kamera 310 so, dass sich die zweidimensionale Kamera 310 auf der Normalen V in Bezug auf den Messpunkt Wp befindet und dass der Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp zu einem vorbestimmten Abstand wird. Hier ist der vorbestimmte Abstand ein Abstand, der aus einer Brennweite der zweidimensionalen Kamera 310 berechnet wird und theoretisch einer Entfernung entspricht, bei der die zweidimensionale Kamera 310 auf den Messpunkt fokussiert ist.
  • In Schritt S403 weist die CPU 130 die Roboter-Steuerungseinheit 200 an zu arbeiten. Insbesondere überträgt die Pfad-Erzeugungseinheit 132 die bestimmte Position (Xw, Yw, Zw) und Richtung (Nw) der zweidimensionalen Kamera 310 an die Positions- Bestimmungseinheit 131. Die Positions-Bestimmungseinheit 131 überträgt die Position und die Richtung der zweidimensionalen Kamera 310 an die Roboter-Steuerungseinheit 200 über die Roboter-Schnittstelle 182 (siehe 9).
  • In Schritt S404 weist die CPU 130 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, die Normale des Messpunktes Wp zu spezifizieren.
  • Ein Verfahren zum Spezifizieren der Normalen des Messpunkts Wp, das von der zweidimensionalen Bildverarbeitungseinrichtung 300 ausgeführt wird, wird unter Bezugnahme auf 9 beschrieben. Die Spezifizierungseinheit 331 der zweidimensionalen Bildverarbeitungsvorrichtung 300 empfängt einen Befehl zum Spezifizieren der Normalen des Messpunkts Wp und weist die Bildgebungs-Steuerungseinheit 320 an, ein zweidimensionales Bild zu erfassen. Die Bildgebungs-Steuerungseinheit 320 speichert das erfasste zweidimensionale Bild in der Speichereinheit 335 der Bildverarbeitungsmaschine 330.
  • Die Spezifizierungseinheit 331 sucht nach einem Bildbereich ähnlich dem in der Speichereinheit 334 gespeicherten Referenzmodellbild in dem zweidimensionalen Bild, das in der Speichereinheit 335 gespeichert ist. Die Spezifizierungseinheit 331 berechnet die Position (Xc2 , Yc2 ) des Messpunktes Wp in dem zweidimensionalen Bild und die Richtung (θ c2) des Messpunkts Wp in dem zweidimensionalen Bild von dem gesuchten Bildbereich. Die Spezifizierungseinheit 331 überträgt die berechnete Position und die berechnete Richtung des Messpunkts Wp in dem zweidimensionalen Bild an die Verwaltungsvorrichtung 100.
  • Unter erneuter Bezugnahme auf 8 wird der Normalen-Korrekturprozess beschrieben. Informationen über die Position des Messpunkts Wp und die Richtung des Messpunkts Wp werden von der zweidimensionalen Bildverarbeitungsvorrichtung 300 empfangen, und in Schritt S405 spezifiziert die CPU 130 die Position des Messpunkts Wp und den Normalvektor von dem Messpunkt Wp im globalen Koordinatensystem. Insbesondere wandelt die Umwandlungseinheit 139 (siehe 9), die in der funktionalen Konfiguration der CPU 130 enthalten ist, den Wert (Xc2 , Yc2 , ..., θc2 ) des Kamerakoordinatensystems in den Wert (Xw, Yw, Zw, Nw) des globalen Koordinatensystems um basierend auf der Position (Xw, Yw, Zw) und der Richtung (Nw) der zweidimensionalen Kamera 310, welche die Positions-Bestimmungseinheit 131 an die Roboter-Steuerungseinheit 200 gesendet hat, und gemäß einer vorbestimmten Koordinaten-Umwandlungsgleichung. Dementsprechend wird die gemessene Normale V (der tatsächlich gemessene Wert) des Messpunkts Wp spezifiziert.
  • In Schritt S406 bestimmt die CPU 130 einen Diskrepanzwert. Der Diskrepanzwert ist ein Wert, der eine Abweichung zwischen der gemessenen Normalen V (einem tatsächlich gemessenen Wert) des Messpunkts Wp und der bestimmten Normalen (dem definierten Wert) des Messpunkts angibt. Hier werden die Position und die Richtung der zweidimensionalen Kamera 310 bestimmt, so dass die ermittelte Normale V (der definierte Wert) des Messpunkts Wp mit der optischen Achse O der zweidimensionalen Kamera 310 übereinstimmt. Somit entspricht der Diskrepanzwert auch einem Wert, der eine Abweichung zwischen der gemessenen Normalen V des Messpunktes Wp und der optischen Achse O der zweidimensionalen Kamera 310 angibt. Der Diskrepanzwert wird beispielsweise durch einen Vektor (Δ N) oder dergleichen angegeben. Insbesondere berechnet die Diskrepanzwert-Berechnungseinheit 1330 (siehe 9), die in der Funktionskonfiguration der Normalen-Korrektureinheit 133 enthalten ist, den Diskrepanzwert (Δ N) aus der Position und der Richtung der zweidimensionalen Kamera 310 und der gemessenen Normalen V (der tatsächlich gemessene Wert) des normalen Wp des Messpunkts Wp. Hier, in der ersten Ausführungsform, ist die Richtung (θ c2) des Messpunktes Wp in dem zweidimensionalen Bild ein Rotationswinkel um die Normale, die als Achse dient. Daher stimmt der Normalenvektor des Messpunkts Wp in dem globalen Koordinatensystem, der durch die Umwandlungseinheit 139 umgewandelt wird, mit dem bestimmten Normalenvektor des Messpunkts überein. Das heißt, die Abweichung zwischen der Normalen V (dem tatsächlich gemessenen Wert) des Messpunktes Wp und der bestimmten Normalen (dem definierten Wert) des Messpunktes ist keine Abweichung, die durch eine Fehlanpassung des Normalenvektors verursacht wird, sondern eine Abweichung verursacht durch Fehlanpassung der Positionskoordinaten des Messpunktes Wp.
  • In Schritt S407, bestimmt die CPU 130, ob der Abweichungswert gleich oder kleiner als ein vorbestimmter erster Schwellenwert ist, oder nicht. Wenn der Diskrepanzwert nicht gleich oder kleiner als der erste Schwellenwert ist (NEIN in Schritt S407), schaltet die CPU 130 die Steuerung zu Schritt S408 um.
  • In Schritt S408 berechnet die CPU 130 den Korrekturbetrag aus dem Diskrepanzwert. Insbesondere bestimmt die Korrekturbetrags-Berechnungseinheit 1332 (siehe 9), die in der Funktionskonfiguration der Normalen-Korrektureinheit 133 enthalten ist, den Betrag der Korrektur (Δ X, Δ Y, Δ Z, Δ θ x, Δ θ y, Δ θ z), um die zweidimensionale Kamera 310 basierend auf dem Abweichungswert (Δ N) zu bewegen,. Dementsprechend wird der Korrekturbetrag berechnet, der zum Anpassen der optischen Achse O der zweidimensionalen Kamera 310 an die gemessene Normale V (der tatsächlich gemessene Wert) des Messpunkts Wp erforderlich ist.
  • In Schritt S409 bestimmt die CPU 130 die Position und die Richtung der zweidimensionalen Kamera 310 aus dem Korrekturbetrag. Insbesondere bestimmt die Korrekturbetrags-Berechnungseinheit 1332 die Position und die Richtung (Xw, Yw, Zw, Nw) der zweidimensionalen Kamera 310 aus dem berechneten Korrekturbetrag und der Position und der Richtung der zweidimensionalen Kamera 310, die von der Positions-Bestimmungseinheit 131 in Schritt S403 angewiesen wurde. In diesem Fall korrigiert die Aktualisierungseinheit 1331, die in der funktionalen Konfiguration der Normalen-Korrektureinheit 133 enthalten ist, die Position des Messpunkts Wp, der in der ersten Speichereinheit 142 gespeichert ist, basierend auf dem Ausmaß der Korrektur und aktualisiert die Information in der ersten Speichereinheit 142 mit der Position des korrigierten Messpunkts Wp. Dementsprechend wird die gemessene Normale V (der tatsächlich gemessene Wert) des Messpunkts Wp in der ersten Speichereinheit 142 als die bestimmte Normale V (ein angewiesener Wert) des Messpunkts Wp gespeichert.
  • Die CPU 130 wiederholt die Schritte S403 bis S409, bis der Diskrepanzwert gleich oder kleiner als der erste Schwellenwert ist (JA in Schritt S407). Wenn der Diskrepanzwert gleich oder kleiner als der erste Schwellenwert ist (JA in Schritt S407), schaltet die CPU 130 die Steuerung zu Schritt S410 um.
  • In Schritt S410, bestimmt die CPU 130 die Normale V des Messpunktes Wp nach der Korrektur. Genauer gesagt, in Schritt S409 wird die durch die Aktualisierungseinheit 1331 aktualisierte Information der ersten Speichereinheit 142 als die Position und der Normalenvektor des Messpunkts Wp nach der Korrektur bestimmt.
  • Wie oben beschrieben, sucht die Spezifizierungseinheit 431, die in der Bildverarbeitungseinrichtung 2 des Bildverarbeitungssystems SYS enthalten ist, nach dem Bildbereich ähnlich dem in der Speichereinheit 432 gespeicherten CAD-Modell für die Erkennung 432 in dem dreidimensionalen Bild, das von der dreidimensionalen Kamera 410 aufgenommen wurde. Die in der Bildverarbeitungsvorrichtung 2 des Bildverarbeitungssystems SYS enthaltene Pfad-Erzeugungseinheit 132 wandelt die Information, die von dem durch die Spezifizierungseinheit 431 gesuchten Bildbereich gewonnen wurden, und die Koordinaten (Xmi, Ymi, Zmi) sowie den Normalenvektor (Nmi) von jedem Messpunkt Wp auf dem 3D-CAD, der in der Speichereinheit 141 gespeichert ist, um in die Koordinaten (Xwi, Ywi, Zwi) sowie den Normalenvektor (Nwi) im globalen Arbeits-Koordinatensystem. Als ein Ergebnis bestimmt die Spezifizierungseinheit 431 die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist.
  • Ferner, bei dem Bildverarbeitungssystem SYS, sucht in dem zweidimensionalen Bild, das durch die zweidimensionale Kamera 310 in einem Zustand aufgenommen wird, in dem die zweidimensionalen Kamera 310 auf der von der Spezifizierungseinheit 431 bestimmten Normalen V positioniert ist, die Spezifizierungseinheit 331 nach einem Bildbereich ähnlich dem Referenzmodellbild, das in der Speichereinheit 334 gespeichert ist. Die in der Bildverarbeitungsvorrichtung 2 des Bildverarbeitungssystems SYS enthaltene Normalen-Korrektureinheit 133 korrigiert die durch die Spezifizierungseinheit 431 bestimmte Normale V zur Bestimmung der Normalen V basierend auf der Information, die von dem Bildbereich erlangt wird, nach dem die Spezifizierungseinheit 331 gesucht hat.
  • Das heißt, in dem Bildverarbeitungssystem SYS gemäß der ersten Ausführungsform wird die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, basierend auf der Information bestimmt, die von dem dreidimensionalen Bild erhalten bzw. gewonnen wird, und dann wird basierend auf Informationen korrigiert, die von dem zweidimensionalen Bild gewonnen werden. Das heißt, dass es möglich ist, eine Abweichung zwischen der optischen Achse O der zweidimensionalen Kamera 310 und der Normalen V in Bezug auf den Messpunkt Wp zu korrigieren, welche durch einen Steuerungsfehler des Roboters 210 verursacht wird, basierend auf der Information, die von dem zweidimensionalen Bild gewonnen wird. Ferner, kann eine Abweichung zwischen der optischen Achse O der zweidimensionalen Kamera 310 und der Normalen V in Bezug auf den Messpunkt Wp, welche durch einen Fehler zwischen dem CAD-Modell des Werkstücks W und dem von der Linie L bereitgestellten Werkstück W verursacht wird, basierend auf der aus dem zweidimensionalen Bild erhaltenen Information korrigiert werden. Daher ist es durch Verwendung des Bildverarbeitungssystems SYS gemäß der ersten Ausführungsform möglich, die Positionsbeziehung zwischen der zweidimensionalen Kamera 310 und dem Werkstück W genauer einzustellen.
  • Man beachte, dass in der ersten Ausführungsform angenommen wird, dass die Richtung (θ c2) des Messpunkts Wp in dem zweidimensionalen Bild der Rotationswinkel um die Normale ist, die als eine Achse dient. Jedoch kann die zweidimensionale Bildverarbeitungsvorrichtung 300 nach einem Bildbereich ähnlich dem Referenzmodellbild suchen und kann einen Winkel zwischen einer Ebene, auf welcher der Messpunkt Wp liegt, und der Oberfläche, auf welcher das Werkstück W installiert ist, erfassen bzw. gewinnen aus einer Verzerrung des Bildes innerhalb des Bildbereichs, als ein Ergebnis der Suche. In einem solchen Fall kann die CPU 130 auch eine Abweichung des Normalenvektors erfassen.
  • Der Fokus-Positions-Anpassungsprozess (Schritt S500; siehe 4), der von der CPU 130 der Verwaltungsvorrichtung 100 ausgeführt wird, wird im Detail unter Bezugnahme auf 10 and 11 beschrieben. 10 ist ein Flussdiagramm des Fokus- Positions- Anpassungsprozesses. 11 ist ein Diagramm, das ein Beispiel einer funktionalen Konfiguration der Bildverarbeitungsvorrichtung 2 darstellt, die bei der Ausführung des Fokus-Positionsanpassungsprozesses funktioniert. In 11 ist eine Form des Werkstücks W vereinfacht und im Vergleich zu den 1 und 2 beschrieben.
  • In Schritt S501, erzeugt die CPU 130 eine Bahnkurve zur Bewegung der zweidimensionalen Kamera 310. Genauer gesagt, erzeugt die Bahnkurven-Erzeugungseinheit 134 eine Normalen- Bahnkurve (Xw (t), Yw (t), Zw (t) (Nw) der zweidimensionalen Kamera 310, gewonnen durch Ändern des Abstands zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp in einem Zustand, in dem die korrigierte Normale V, welche in dem Normalen-Korrekturprozess bestimmt wurde (Schritt S400), mit der optischen Achse O der zweidimensionalen Kamera 310 zusammen passt.
  • In Schritt S502 bestimmt die CPU 130 einen Bewegungsbereich der zweidimensionalen Kamera 310. Der Bewegungsbereich hat einen bestimmten Anfangswert und ändert sich allmählich durch Wiederholen der Schritte S502 bis S506. Insbesondere wird der Bewegungsbereich aus der Beziehung zwischen dem in Schritt S505 erhaltenen Fokussierungsgrad a und der Position der zweidimensionalen Kamera 310 bestimmt, so dass sich die zweidimensionale Kamera 310 in einer Richtung bewegt, in der sich der Fokussierungsgrad a erhöht.
  • In Schritt S503 weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 zu bewegen. Genauer gesagt, weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 mit einer konstanten Geschwindigkeit auf der Bahnkurve von Schritt S501 zu bewegen innerhalb des in Schritt S502 bestimmten Bewegungsbereichs. Hier ist die Geschwindigkeit, mit der die zweidimensionale Kamera 310 bewegt wird, eine Geschwindigkeit, bei welcher der Abstand, um den sich die zweidimensionale Kamera 310 in einer Zeit bewegt, die für die Durchführung einer Aufnahme benötigt wird, gleich oder kleiner als eine Fokustiefe bzw. Tiefenschärfe von der zweidimensionalen Kamera 310 ist.
  • In Schritt S504 weist die CPU 130 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, den Grad der Fokussierung a zu berechnen. Insbesondere weist die CPU 130 in Schritt S503 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, den Fokussierungsgrad a der zweidimensionalen Kamera 310 aus dem von der zweidimensionalen Kamera 310 erfassten zweidimensionalen Bild in einer ersten Periode zu berechnen, in dem sich die zweidimensionale Kamera 310 innerhalb des Bewegungsbereichs bewegt, der von der CPU 130 an die Roboter-Steuerungseinheit 200 angewiesen wird.
  • Ein Verfahren zum Berechnen des Grads der Fokussierung a, das von der zweidimensionalen Bildverarbeitungsvorrichtung 300 ausgeführt wird, wird unter Bezugnahme auf 11 beschrieben. Die Fokussierungsgrad-Berechnungseinheit 332 der zweidimensionalen Bildverarbeitungsvorrichtung 300 empfängt einen Befehl zum Berechnen des Fokussierungsgrads a und weist die Bildgebungs-Steuerungseinheit 320 an, das während der ersten Periode erfasste zweidimensionale Bild zu erlangen. Die Bildgebungs-Steuerungseinheit 320 speichert das erfasste zweidimensionale Bild in der Speichereinheit 335 der Bildverarbeitungsmaschine 330. Die Fokussierungsgrad-Berechnungseinheit 332 führt eine vorbestimmte Bildverarbeitung an dem zweidimensionalen Bild durch, um den Fokussierungsgrad a des zweidimensionalen Bildes zu berechnen, das in der Speichereinheit 335 gespeichert ist. Zum Beispiel kann eine Dichteabweichung des zweidimensionalen Bildes als Merkmalsmenge bezüglich des Grads der Fokussierung a verwendet werden, und eine berechnete Dichteabweichung kann als Grad der Fokussierung a eingestellt werden. Die Fokussierungsgrad-Berechnungseinheit 332 überträgt eine Beziehung a(t) zwischen dem berechneten Fokussierungsgrad a und einer Zeit t, zu der die zweidimensionale Kamera 310 das zweidimensionale Bild erfasst hat, an die Fokuspositions-Bestimmungseinheit 135.
  • Zurückkommend auf 10 wird der Fokus-Anpassungsprozess beschrieben. Die CPU 130 empfängt die Beziehung a(t) zwischen dem Grad der Fokussierung a und der Zeit t, zu der die zweidimensionale Kamera 310 das zweidimensionale Bild von der zweidimensionalen Bildverarbeitungsvorrichtung 300 aufgenommen hat, und speichert eine Beziehung zwischen dem Fokussierungsgrad a und der Position der Kamera 310 in Schritt S505. Insbesondere spezifiziert die CPU 130 die Position der zweidimensionalen Kamera 310 zu der Bildaufnahmezeit t beispielsweise aus dem Bewegungsbereich der zweidimensionalen Kamera 310, die in Schritt S503 angewiesen wurde. Eine Beziehung zwischen der spezifizierten Position (Xw(t), Yw(t), Zw(t)) der zweidimensionalen Kamera 310 und dem Grad der Fokussierung a(t) ist in der zweiten Speichereinheit 143 gespeichert.
  • In Schritt S506 bestimmt die CPU 130, ob der Fokussierungsgrad a einen Extremwert innerhalb des Bewegungsbereichs aufweist oder nicht. Wenn der Fokussierungsgrad a nicht den Extremwert innerhalb des Bewegungsbereichs aufweist (NEIN in Schritt S506), wiederholt die CPU 130 die Schritte S502 bis S506, bis der Fokussierungsgrad a den Extremwert innerhalb des Bewegungsbereichs aufweist. Hier, wenn die CPU 130 den Bewegungsbereich in Schritt S502 bestimmt, stellt die CPU 130 eine Startposition der zweidimensionalen Kamera 310 an einer Position weg von dem Werkstück W ein oder bewirkt, dass die Startposition nahe bei dem Werkstück W ist, und sucht eine Position, bei welcher der Fokussierungsgrad a einen Extremwert aufweist. Man beachte, dass, wenn die Startposition der zweidimensionalen Kamera 310 auf eine Position nahe dem Werkstück W eingestellt ist, die Position so eingestellt wird, dass das Werkstück W nicht in Kontakt mit der zweidimensionalen Kamera 310 und dem Roboter 210 kommt.
  • Wenn der Fokussierungsgrad a einen Extremwert innerhalb des Bewegungsbereiches aufweist (JA in Schritt S506), schaltet die CPU 130 die Steuerung zu Schritt S507.
  • In Schritt S507 wird die Position, bei welcher der Fokussierungsgrad a einen Extremwert aufweist, als die Fokusposition bestimmt, und der Prozess kehrt zu dem Inspektionsprozess zurück. Insbesondere bestimmt die Fokuspositions-Bestimmungseinheit 135 die Position der zweidimensionalen Kamera 310, wenn die zweidimensionale Kamera 310 das zweidimensionale Bild erfasst, bei dem der höchste Fokussierungsgrad amax unter den in dem Speicher gespeicherten Fokussierungsgraden a gewonnen wird, um die Fokusposition (Xw, Yw, Zw) darzustellen (siehe 11).
  • Somit wird durch die CPU 130, die den Fokusanpassungsprozess durchführt, ein Prozess zum Fokussieren der zweidimensionalen Kamera 310 auf den Messpunkt Wp auf der bestimmten Normalen V durchgeführt.
  • Der Inspektionsausführungsprozess (Schritt S600; siehe 4), der von der CPU 130 der Verwaltungsvorrichtung 100 ausgeführt wird, wird im Detail unter Bezugnahme auf die 12 bis 14 beschrieben. 12 ist ein Flussdiagramm des Inspektions- bzw. Überprüfungs-Ausführungsprozesses. 13 ist ein Diagramm, das ein Beispiel der funktionalen Konfiguration der Bildverarbeitungsvorrichtung 2 zeigt, die bei der Ausführung des Inspektions-Ausführungsprozesses funktioniert. 14A, 14B und 14C sind Ansichten, die ein Beispiel für die Bahnkurve der zweidimensionalen Kamera 310 veranschaulichen. In 13 ist eine Form des Werkstücks W vereinfacht und im Vergleich zu den 1 und 2 beschrieben.
  • In Schritt S601, spezifiziert die CPU 130 einen Inspektionspunkt des Messpunktes. Insbesondere spezifiziert die CPU 130 das Inspektions- bzw. Prüfobjekt basierend auf einer Korrespondenzbeziehung zwischen dem Messpunkt Wp, der in der ersten Speichereinheit 142 gespeichert ist, und dem Prüfobjekt.
  • In Schritt S602, bestimmt die CPU 130, ob oder ob nicht das Inspektionsobjekt eine Inspektion A ist. Hier bezieht sich die Inspektion A auf eine Inspektion bzw. Überprüfung, bei welcher Bedenken bestehen, dass ein Inspektionsergebnis sich ändern kann gemäß einer Richtung, in welcher die zwei-dimensionale Kamera 310 eine Abbildung bzw. Aufnahme ausführt, wie beispielsweise, ob ein korrektes Drucken auf einer Oberfläche des Werkstücks W durchgeführt wurde oder nicht. Wenn der Inspektionsgegenstand die Inspektion A ist (JA in Schritt S602), schaltet die CPU 130 die Steuerung zum Schritt S615 um.
  • In Schritt S615, führt die CPU 130 die Prüfung an der Fokusposition durch. Insbesondere führt die Inspektionsergebnis-Bestimmungseinheit 137 die Inspektion A an der Fokusposition durch, die in dem Fokuspositions-Anpassungsprozess bestimmt wird (Schritt S500).
  • Wenn der Inspektionsgegenstand nicht die Inspektion A ist (NEIN in Schritt S602), erzeugt die CPU 130 in Schritt S603 eine bogenförmige Bahnkurve, die auf die Fokusposition zentriert ist. Insbesondere in einem Zustand, in dem die Bahnkurven-Erzeugungseinheit 136 den Abstand zwischen der durch die Fokuspositions-Bestimmungseinheit 135 bestimmten Position der zweidimensionalen Kamera 310 und dem Messpunkt Wp beibehält, erzeugt die Bahnkurven-Erzeugungseinheit 136 die bogenförmige Bahnkurve (Xw(t), Yw(t), Zw(t), Nw(t)), so dass sich ein Winkel zwischen der Normalen V in Bezug auf den Messpunkt Wp und der optischen Achse O der zweidimensionalen Kamera 310 von 0 bis zu einem vorbestimmten Wert ändert. Hier wird die bogenförmige Bahnkurve unter Bezugnahme auf 14A, 14B und 14C beschrieben. Wie in 14A gezeigt, erzeugt die Bahnkurven-Erzeugungseinheit 136 eine bogenförmige Bahnkurve, so dass die dimensionale Kamera 310 auf einer Oberfläche einer Kugel angeordnet ist, die einen Radius r aufweist, der einem Abstand zwischen einer Position C der zweidimensionalen Kamera 310, bestimmt von der Positionsbestimmungseinheit 135, und dem Messpunkt Wp entspricht. Wie in 14 B kann die bogenförmige Bahnkurve eine Bahn sein, welche die Fahrt um den Messpunkt Wp erneut wiederholt mit einem geänderten Winkel zwischen der optischen Achse O der zweidimensionalen Kamera 310 und der Normalen V nach einer Fahrt um den Messpunkt Wp herum, einmal mit einem konstanten Winkel zwischen der optischen Achse O der zweidimensionalen Kamera 310 und der Normalen V. Ferner, wie in 14C veranschaulicht, kann die Bahnkurve eine Bahn sein, die sich spiralförmig um den Messpunkt Wp bewegt, während sich der Winkel zwischen der optischen Achse O der zweidimensionalen Kamera 310 und der Normalen V allmählich ändert.
  • Zurückkommend auf 12 wird der Inspektionsausführungsprozess beschrieben. In Schritt S604 bestimmt die CPU 130 den Bewegungsbereich der zweidimensionalen Kamera 310. Der Bewegungsbereich ist beispielsweise ein Bereich, der den Messpunkt Wp mindestens einmal umgibt.
  • In Schritt S605 weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 zu bewegen. Insbesondere weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 mit einer konstanten Geschwindigkeit auf Bahnkurve von Schritt S601 zu bewegen innerhalb des in Schritt S604 bestimmten Bewegungsbereichs.
  • In Schritt S606, weist die CPU 130 die zweidimensionale Bildverarbeitungseinrichtung 300 an, die Merkmalsmenge b entsprechend dem Inspektions-Inhalt zu berechnen. Insbesondere weist die CPU 130 in Schritt S605 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, die vorab für jeden Inspektionsinhalt bestimmte Merkmalsmenge b aus dem von der zweidimensionalen Kamera 310 in der zweiten Periode aufgenommenen zweidimensionalen Bild zu berechnen, wobei sich die zweidimensionale Kamera 310 innerhalb des Bewegungsbereichs bewegt, der von der CPU 130 an die Roboter-Steuerungseinheit 200 angewiesen wird.
  • Ein Verfahren zum Berechnen der Merkmalsmenge b, das von der zweidimensionalen Bildverarbeitungsvorrichtung 300 ausgeführt wird, wird mit Bezug auf 3 beschrieben. Die Merkmalsmengen-Berechnungseinheit 333 der zweidimensionalen Bildverarbeitungsvorrichtung 300 empfängt einen Befehl zum Berechnen der Merkmalsmenge b und weist die Bildgebungs-Steuerungseinheit 320 an, das während der zweiten Periode aufgenommene zweidimensionale Bild zu erfassen. Die Bildgebungs-Steuerungseinheit 320 speichert das erfasste zweidimensionale Bild in der Speichereinheit 335 der Bildverarbeitungsmaschine 330. Die Merkmalsmengen-Berechnungseinheit 333 führt eine vorbestimmte Bildverarbeitung an dem zweidimensionalen Bild durch, um die Merkmalsmenge b des in der Speichereinheit 335 gespeicherten zweidimensionalen Bildes zu berechnen. Die Merkmalsmengen-Berechnungseinheit 333 überträgt die Beziehung b(t) zwischen der berechneten Merkmalsmenge b und der Zeit t, zu der die zweidimensionale Kamera 310 das zweidimensionale Bild erfasst hat, an die Inspektionsergebnis-Bestimmungseinheit 137.
  • Die Merkmalsmenge b ist eine Menge, die als ein Index dient zum Bestimmen, ob eine Anomalie in der äußeren Erscheinung innerhalb der Erscheinungs-Inspektion vorliegt oder nicht. Wenn zum Beispiel eine Überprüfung auf Kratzer an dem Werkstück W durchgeführt wird, an dem ein spezifisches Muster, wie etwa ein Streifenmuster, auf das Aussehen angewendet wird, führt die Merkmalsmengen-Berechnungseinheit 333 einen Prozess zum Entfernen eines spezifischen Musters für das zweidimensionale Bild aus und führt dann einen Kennzeichnungs- bzw. Markierungsprozess zum Spezifizieren eines Bereichs aus, der einen Defekt anzeigt. Dementsprechend berechnet die Merkmalsmengen-Berechnungseinheit 333 einen Fehlerbereich oder eine Defektlänge als Merkmalsmenge b. Man beachte, dass die Merkmalsmenge b mit einer anderen Methode berechnet werden kann.
  • Zum Beispiel kann die Merkmalsmengen-Berechnungseinheit 333 das zweidimensionale Bild in eine Vielzahl von Regionen bzw. Bereichen unterteilen, kann einen Grad des Defektes von einem Farbunterschied zwischen den benachbarten Bereichen berechnen, kann einen Markierungsprozess ausführen, um einen Bereich zu spezifizieren, in dem ein Fehlergrad gleich oder größer als ein definierter Wert ist, und kann den Fehlerbereich oder die Fehlerlänge als die Merkmalsmenge b aus dem Bereich berechnen. Diese Methode ist typischerweise eine Methode, die für die Erkennung von feinen Kratzern verwendet wird.
  • Es ist zu beachten, dass die Merkmalsmengen-Berechnungseinheit 333 die Merkmalsmenge b unter Verwendung des folgenden Verfahrens berechnen kann. Die Merkmalsmengen-Berechnungseinheit 333 führt einen bekannten Kantenextraktionsprozess an dem zweidimensionalen Bild durch und führt dann einen bekannten Expansionsprozess durch. Die Merkmalsmengen-Berechnungseinheit 333 berechnet den Fehlerbereich oder die Defektlänge als Merkmalsmenge b durch Ausführen eines Kennzeichnungs- bzw. Markierungsprozesses zum Spezifizieren eines Bereichs, der einen Defekt nach dem Expansionsprozess anzeigt. Dieses Verfahren ist typischerweise ein Verfahren, das zum Nachweis einer Vertiefung, einer Beule und dergleichen verwendet wird.
  • Es sei angemerkt, dass das Verfahren zum Berechnen der Merkmalsmenge b nicht auf das offenbarte Verfahren beschränkt ist, solange das Verfahren ein Verfahren zum Extrahieren einer Menge ist, die als ein Index dient zum Bestimmen, ob eine Anomalie im Aussehen innerhalb der Erscheinungs-Inspektion vorliegt.
  • Wieder Bezug nehmend auf 12 wird der Inspektions-Ausführungsprozess beschrieben. Die CPU 130 empfängt die Beziehung b(t) zwischen der Merkmalsmenge b und der Zeit t, zu der die zweidimensionale Kamera 310 das zweidimensionale Bild von der zweidimensionalen Bildverarbeitungsvorrichtung 300 erfasst hat, und speichert eine Beziehung zwischen der Merkmalsmengen b und die Position der zweidimensionalen Kamera 310 in Schritt S607. Insbesondere spezifiziert die CPU 130 die Position und die Richtung der zweidimensionalen Kamera 310 zu der Bildaufnahmezeit t beispielsweise aus dem Bewegungsbereich der zweidimensionalen Kamera 310, die in Schritt S505 angewiesen wurde. Die Beziehung zwischen der spezifizierten Position und der spezifizierten Richtung (Xw(t), Yw(t), Zw(t), Nw(t)) der zweidimensionalen Kamera 310 und dem Fokussierungsgrad a(t) ist in der dritten Speichereinheit 144 gespeichert.
  • In Schritt S608 bestimmt die CPU 130, ob es eine Richtung gibt, in der die Merkmalsmenge b zunimmt. Insbesondere spezifiziert die CPU 130 einen maximalen Wert und einen minimalen Wert der Merkmalsmenge b innerhalb des Bewegungsbereichs und führt die Bestimmung basierend darauf aus, ob eine Differenz zwischen dem Maximalwert und dem Minimalwert gleich oder größer als ein dritter Schwellenwert ist oder nicht. Wenn die Differenz zwischen dem maximalen Wert und dem minimalen Wert gleich oder größer als der dritte Schwellenwert ist, bestimmt die CPU 130, dass es die Richtung gibt, in welcher die Merkmalsmenge b zunimmt, bei welcher eine Richtung von einer Position, an der die Merkmalsmenge b zum Minimalwert wird und zu einer Position, an der die Merkmalsmenge b zum Maximalwert wird, als eine Richtung eingestellt wird, in der die Merkmalsmenge b zunimmt.
  • Wenn es keine Richtung gibt, in welcher die Merkmalsmenge b zunimmt (NEIN in Schritt S608), schaltet die CPU 130 die Steuerung zu Schritt S616.
  • Wenn es die Richtung gibt, in welcher die Merkmalsmenge b zunimmt bzw. ansteigt (JA in Schritt S609), erzeugt die CPU 130 eine Bahnkurve in die Richtung, in welcher die Merkmalsmenge b in Schritt S609 ansteigt. Insbesondere bestimmt die CPU 130 die Richtung, in welcher die Merkmalsmenge b zunimmt, aus der Information über die Position und die Richtung der zweidimensionalen Kamera 310, die in der dritten Speichereinheit 144 gespeichert sind, und aus der Merkmalsmenge b, und erzeugt eine Bahnkurve in die Richtung.
  • In Schritt S610 bestimmt die CPU 130 den Bewegungsbereich der zweidimensionalen Kamera 310. Insbesondere bestimmt die CPU 130 den Bewegungsbereich in der Richtung, in der die Merkmalsmenge b zunimmt.
  • In Schritt S611 weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 zu bewegen. Insbesondere weist die CPU 130 die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 mit einer konstanten Geschwindigkeit auf der Bahnkurve von Schritt S609 innerhalb des in Schritt S610 bestimmten Bewegungsbereichs zu bewegen.
  • In Schritt S612 weist die CPU 130 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, die Merkmalsmenge b entsprechend dem Inspektionsinhalt zu berechnen.
  • In Schritt S613, speichert die CPU 130 die Beziehung zwischen der Merkmalsmenge b und der Position der zweidimensionalen Kamera 310.
  • In Schritt S614, bestimmt die CPU 130, ob oder ob nicht der Bewegungsbereich einen Grenzwert erreicht. Insbesondere bestimmt die CPU 130, ob die zweidimensionale Kamera 310 in der zunehmenden Richtung bewegt werden kann oder nicht. Die Positions-Bestimmungseinheit 131 bestimmt, ob die zweidimensionale Kamera 310 in der zunehmenden Richtung bewegt werden kann, abhängig davon, ob die zweidimensionale Kamera 310 und/oder der Roboter 210 nicht mit dem Werkstück W in Kontakt kommt oder gemäß einer Betriebsgrenze des Roboters 210. Wenn der Bewegungsbereich den Grenzwert nicht erreicht (NEIN in Schritt S614), wiederholt die CPU 130 die Schritte S609 bis S614, bis der Bewegungsbereich den Grenzwert erreicht.
  • Wenn der Bewegungsbereich den Grenzwert erreicht (JA in Schritt S614) und wenn es keine Richtung gibt, in der die Merkmalsmenge b zunimmt (NEIN in Schritt S608), führt die CPU 130 die Inspektion in der Fokusposition aus (nach der Ausführung von Schritt S615) und überträgt dann die Prüfungsdaten in Schritt S616. Insbesondere überträgt die CPU 130 ein Inspektionsergebnis an die Inspektionsergebnis-Registrierungseinheit 138, um das Inspektionsergebnis zu registrieren. Wenn es keine Richtung gibt, in der die Merkmalsmenge b ansteigt (NEIN in Schritt S608), berechnet die CPU 130 einen Maximalwert der in der dritten Speichereinheit 144 gespeicherten Merkmalsmenge b und bestimmt, ob oder ob nicht der berechnete Maximalwert gleich oder kleiner als ein definierter Wert ist. Wenn der berechnete Maximalwert gleich oder kleiner als der definierte Wert ist, bestimmt die CPU 130, dass keine Anomalie vorliegt, und registriert keine Anomalie (ein Kreis in 13) als das Inspektionsergebnis. Wenn der berechnete Maximalwert größer als der definierte Wert ist, bestimmt die CPU 130, dass eine Anomalie vorliegt, und registriert eine Anomalie (eine Kreuzmarkierung in 13) als das Inspektionsergebnis. Wenn der Bewegungsbereich den Grenzwert erreicht (JA in Schritt S614), spezifiziert die CPU 130 die höchste Merkmalsmenge bmax unter den Merkmalsmengen b, die in der dritten Speichereinheit 144 gespeichert sind (siehe 13), und bestimmt, ob oder ob nicht die Merkmalsmenge bmax gleich oder kleiner als der definierte Wert ist. Wenn die Merkmalsmenge bmax gleich oder kleiner als der definierte Wert ist, bestimmt die CPU 130, dass keine Anomalie vorliegt und registriert das Inspektionsergebnis. Wenn die Merkmalsmenge bmax größer als der definierte Wert ist, bestimmt die CPU 130, dass eine Anomalie vorliegt und registriert das Inspektionsergebnis. Nachdem die CPU 130 die Inspektion an der Fokusposition ausgeführt hat (nach der Ausführung von Schritt S615), registriert die CPU 130 das Inspektionsergebnis an der Fokusposition. Zum Beispiel weist die Prüfungsergebnis-Bestimmungseinheit 137 die zweidimensionale Bildverarbeitungsvorrichtung 300 an, einen Übereinstimmungsgrad zwischen dem an der Fokusposition erhaltenen zweidimensionalen Bild und dem als Referenz dienenden zweidimensionalen Bild zu berechnen und zu bestimmen, ob es eine oder ob es keine Abnormalität entsprechend dem erhaltenen Übereinstimmungsgrad gibt.
  • Somit, in dem Bildverarbeitungssystem SYS gemäß der ersten Ausführungsform, erzeugt die Bahnkurven-Erzeugungseinheit 136 eine bogenförmige Bahnkurve, so dass ein Winkel, der sich zwischen der Normalen V in Bezug auf den Messpunkt Wp und der optischen Achse O der zweidimensionalen Kamera 310 bildet, sich von 0 auf einen vorbestimmten Wert in einem Zustand ändert, in dem der Abstand zwischen der zweidimensionalen Kamera 310 und dem Messpunkt Wp beibehalten wird. Die CPU 130 weist die Roboter-Steuerungseinheit 200 an, die zweidimensionale Kamera 310 auf der bogenförmigen Bahn zu bewegen, die von der Bahnkurven-Erzeugungseinheit 136 erzeugt wird. Ferner, bestimmt die Prüfungsergebnis-Bestimmungseinheit 137 den Bewegungsbereich der zweidimensionalen Kamera 310 basierend auf der Änderung in der Merkmalsmenge b gemäß der Änderung im Winkel, der zwischen der Normalen V und der optischen Achse O gebildet wird. Das heißt, die Prüfungsergebnis-Bestimmungseinheit 137 bestimmt eine relative Positionsbeziehung zwischen der zweidimensionalen Kamera 310 und dem Werkstück W basierend auf der Änderung der Merkmalsmenge b gemäß der Änderung des Winkels, der zwischen der Normalen V und der optischen Achse O gebildet wird.
  • Da die Prüfungsergebnis-Bestimmungseinheit 137 die Positionsbeziehung zwischen der zweidimensionalen Kamera 310 und dem Werkstück W basierend auf der Merkmalsmenge b bestimmt, ist es möglich, die Prüfung an einer optimalen Position beim Berechnen der Merkmalsmenge b auszuführen. Das heißt, unter Verwendung des Bildverarbeitungssystems SYS gemäß der Ausführungsform ist es möglich, die Inspektion an einer Position durchzuführen, an der kaum eine Lichthofbildung aufgrund eines Zustands auftritt, in dem Licht auf das Werkstück W auftrifft. Es sei angemerkt, dass die Merkmalsmenge b in der Ausführungsform eine Dichteabweichung sein kann, welche die Fokussierungsgrad- Berechnungseinheit 332 als den Fokussierungsgrad a berechnet. Das heißt, die Merkmalsmengen-Berechnungseinheit 333 und die Fokussierungsgrad-Berechnungseinheit 332 können integriert sein.
  • Ein Verfahren zum Registrieren eines Inspektionspfads WL unter Verwendung einer Eingabevorrichtung wird unter Bezugnahme auf 15A und 15B beschrieben. 15A und 15B sind Diagramme, die ein Beispiel eines Prozesses zeigen, wenn die Benutzereingabe den Inspektionspfad WL unter Verwendung der Eingabevorrichtung 120 eingegeben hat. 15A veranschaulicht ein Beispiel eines Bildschirms, der auf der Anzeigevorrichtung 110 angezeigt wird, wenn ein Benutzer einen Pfad unter Verwendung der Eingabevorrichtung 120 eingeben hat. 15 B ist ein Diagramm, das ein Verfahren zur Erzeugung eines Normalvektors veranschaulicht.
  • Wie in 15A gezeigt, plaziert der Benutzer einen Cursor auf einem 3D-CAD-Modell des Werkstückes, das auf der Anzeigeeinrichtung 110 angezeigt wird, und wählt einen Messpunkt und ein Gegenstand bzw. ein Objekt, das an einem Inspektionsort überprüft werden soll. Wenn der Messpunkt ausgewählt ist, wird eine Normale in Bezug auf den Messpunkt unter Verwendung des in 15B dargestellten Verfahrens erzeugt. Die CPU 130 der Verwaltungsvorrichtung 100 erzeugt einen Normalenvektor basierend auf den 3D-CAD-Daten des Werkstücks. Insbesondere spezifiziert die CPU 130 eine Mikroebene umgeben von P1 (x1, y1, z1), P2 (x2, y2, z2) und P3 (x3, y3, z3), an denen sich der Messpunkt Wp2 befindet. Die CPU 130 berechnet einen Vektor senkrecht zu der Mikroebene als einen Normalen-Vektor Nm2 basierend auf der identifizierten Mikroebene.
  • Die CPU 130 registriert Informationen, die der Benutzer registriert hat, unter Verwendung der Eingabevorrichtung 120 in der Speichereinheit 141. Dementsprechend wird die Inspektionsinformation 1411 in der Speichereinheit 141 gespeichert.
  • Somit zeigt die Bildverarbeitungsvorrichtung 2 des Bildverarbeitungssystems SYS in der ersten Ausführungsform das 3D-CAD-Modell des Werkstücks, welches Designinformationen des Werkstücks W entspricht, auf der Anzeigevorrichtung 110 an, und stellt den Messpunkt Wp entsprechend einer Benutzeroperation ein. Daher besteht in dem Bildverarbeitungssystem SYS gemäß der ersten Ausführungsform ein hoher Freiheitsgrad beim Einstellen des Messpunkts Wp.
  • Ferner kann die Bildverarbeitungseinrichtung 2 des Bildverarbeitungssystems SYS in der ersten Ausführungsform die Normale V in Bezug auf jeden der Messpunkte Wp berechnen entsprechend der Benutzerbedienung. Daher kann der Benutzer eine genaue Inspektion durchführen, indem er den Messpunkt Wp einstellt und den Beginn der Inspektion anweist, und die Bequemlichkeit eines Benutzers, der das Bildverarbeitungssystem SYS verwendet, wird verbessert.
  • Wenn in der ersten Ausführungsform die Normale in Bezug auf jeden Messpunkt Wp des Werkstücks W bestimmt wird, bestimmt die Verwaltungsvorrichtung 100 die Normale beim Erzeugen des Pfads basierend auf dem dreidimensionalen Bild und korrigiert dann die Normale V, die für jeden Messpunkt Wp bestimmt wurde basierend auf dem zweidimensionalen Bild. Die zweidimensionale Kamera 310 wird jedoch möglicherweise nicht verwendet. Insbesondere durch den Pfaderzeugungsprozess, der unter Bezugnahme auf die 6 und 7 beschrieben wurde, können die Koordinatenposition auf dem 3D-CAD jedes Messpunkts Wp und der Nomalen-Vektor für jeden Messpunkt Wp in das globale Koordinatensystem gewandelt werden, und die Koordinatenposition des Messpunkts Wp und der Normalen-Vektor für den Messpunkt Wp können in dem globalen Koordinatensystem berechnet werden, um den Normalen-Vektor V des Messpunkts Wp zu bestimmen. In diesem Fall führt die Verwaltungsvorrichtung 100 den Fokuspositions-Anpassungsprozess aus (Schritt S500), ohne den normalen Korrekturprozess (Schritt S400) auszuführen, der in 8 dargestellt ist.
  • Zum Beispiel kann der Normalen-Bestimmungsprozess (Schritt S400A), der in 16 gezeigt ist, anstelle des Pfad-Erzeugungsprozesses (Schritt S200) und des normalen Korrekturprozesses (Schritt S400) in der ersten Ausführungsform ausgeführt werden. 16 ist ein Flussdiagramm des Normalen-Bestimmungsprozesses gemäß der zweiten Ausführungsform.
  • In Schritt S401A sendet die CPU 130 das CAD-Modell zum Erkennen der Inspektionsinformationen 1411, die in der dreidimensionalen Bildverarbeitungsvorrichtung 400 spezifiziert sind.
  • In Schritt S240A weist die CPU 130 die dreidimensionale Bildverarbeitungsvorrichtung 400 an, die Anordnungssituation des Werkstücks W zu spezifizieren.
  • In Schritt S403A, spezifiziert die CPU 130 die Anordnungssituation des Werkstücks W in dem globalen Koordinatensystem.
  • In Schritt S 404A, bestimmt die CPU 130 die Normale des Messpunkts Wp. Insbesondere wandelt die CPU 130 die Koordinaten (Xmi, Ymi, Zmi) und den Normalvektor (Nmi) des Messpunkts Wp unter den in der Speichereinheit 141 gespeicherten Inspektionsinformationen in den Koordinatenwert (Xwi, Ywi, Zwi) und den Normalenvektor (Nwi) eines globalen Werkstück-Koordinatensystems um basierend auf der Position (Xw, Yw, Zw) und der Richtung (θ xw, θ yw, θ zi) des Werkstücks W in dem globalen Koordinatensystem und einer vorbestimmten Umwandlungsgleichung, und bestimmt die Normale V jedes Messpunktes Wp. Die Pfaderzeugungseinheit 132 aktualisiert die Inspektions- bzw. Prüfinformation 1411 der Speichereinheit 141 mit dem Koordinatenwert und dem Normalvektor in dem globalen Koordinatensystem und speichert die Inspektionsinformation in der ersten Speichereinheit 142 (siehe 9).
  • Hier wird in Schritt S501 des Fokusanpassungsprozesses in der zweiten Ausführungsform die Bahnkurve der zweidimensionalen Kamera 310 erzeugt auf der Grundlage der in Schritt S404A bestimmten Normalen V.
  • Wie oben beschrieben, kann die Spezifizierungseinheit 431, die in der Bildverarbeitungsvorrichtung 2 des Bildverarbeitungssystem SYS gemäß der zweiten Ausführungsform enthalten ist, nach einem Bildbereich ähnlich dem in der Speichereinheit 432 gespeicherten CAD-Modell für die Erkennung suchen innerhalb des dreidimensionalen Bildes, das von der dreidimensionalen Kamera 410 aufgenommen wurde. Die in der Bildverarbeitungsvorrichtung 2 des Bildverarbeitungssystems SYS enthaltene Pfad-Erzeugungseinheit 132 wandelt die Information, die von dem von der Spezifizierungseinheit 431 gesuchten Bildbereich gewonnen wird, die Koordinaten (Xmi, Ymi, Zmi) sowie den Normalenvektor (Nmi) jedes Messpunkts auf dem in der Speichereinheit 141 gespeicherten 3D-CAD um in die Koordinaten (Xwi, Ywi, Zwi) und den Normalenvektor (Nwi) in dem globalen Werkstück-Koordinatensystem. Dementsprechend wird die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, bestimmt. Das heißt, in dem Bildverarbeitungssystem SYS ist es möglich, die Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, durch eine Bildgebung zu bestimmen und schnell die Normale V zu bestimmen.
  • In der ersten und zweiten Ausführungsform ändert der Roboter 210 den Abstand zwischen der zweidimensionalen Kamera 310 und dem Werkstück W durch Bewegen der Position der zweidimensionalen Kamera 310. Jedoch, wie in 17 gezeigt, kann der Roboter 210 die Entfernung der zweidimensionalen Kamera 310 und des Werkstücks W durch Bewegen der Position des Werkstücks W ändern. 17 ist ein schematisches Diagramm, das eine Konfiguration des Bildverarbeitungssystems gemäß der dritten Ausführungsform darstellt. Typischerweise ist der Roboter 210 ein Roboter vom SCARA-Typ und kann das Werkstück W in X-, Y- und Z-Richtung (in 17 dargestellte Koordinatenachsen) in dem Globalem Koordinatensystem bewegen. Nachdem die zweidimensionale Kamera 310 auf die Normale in Bezug auf den Messpunkt des Werkstücks W abgestimmt ist, kann die zweidimensionale Kamera 310 fokussiert werden.
  • In Fig. In 17 wird der Roboter vom SCARA-Typ als ein Beispiel genommen. Wenn jedoch das Werkstück W ausreichend klein ist, kann eine Konfiguration, bei der nicht nur die Position des Werkstücks W, sondern auch eine Haltung bzw. Positur davon verändert werden, unter Verwendung einen Armtyp-Roboters angepasst werden. Ferner, wenn das Werkstück W ausreichend klein ist, ist ein Betriebsbereich des Roboters 210 schmaler im Vergleich zu einem Fall, in dem die zweidimensionale Kamera 310 bewegt wird, und daher ist es möglich, das Werkstück W schnell zu bewegen.
  • In der ersten bis dritten Ausführungsform, ist die Kamera, die für die Inspektion bzw. Prüfung des Aussehens verwendet wird, die zweidimensionale Kamera 310. Man beachte, dass ein Verschiebungssensor anstelle der zweidimensionalen Kamera 310 verwendet werden kann. Der Verschiebungssensor weist beispielsweise einen Licht-schneidenden Sensor und einen Ultraschall-Verschiebungssensor auf. Unter Verwendung des Verschiebungssensors ist es möglich, winzige Defekte im Vergleich zu dem Fall zu erkennen, in dem eine zweidimensionale Kamera verwendet wird.
  • In der ersten bis dritten Ausführungsform führt die Bildverarbeitungssystem SYS die Inspektion an einer Position durch, an der schwerlich eine Lichthofbildung auftritt, durch Bewegen der zweidimensionalen Kamera 310 entlang der Bahnkurve. Ferner kann die Inspektion in einer Situation ausgeführt werden, in der kaum eine Lichthofbildung auftritt, indem die Position und/oder die Richtung einer Beleuchtung (nicht dargestellt) zum Bestrahlen des Werkstücks W mit Licht anstelle der zweidimensionalen Kamera 310 geändert wird. Das bedeutet, dass die Bahnkurven-Erzeugungseinheit 136 eine Bahnkurve zum Ändern der Position und/oder Richtung der Beleuchtung erzeugen kann, anstatt eine Bahnkurve zum Ändern der Position und der Richtung der zweidimensionalen Kamera 310 zu erzeugen.
  • In den ersten bis dritten Ausführungsform wird als ein Verfahren zum Bestimmen einer Position der zweidimensionalen Kamera 310, wenn die Inspektion ausgeführt wird, die optimale Position als die Position der zweidimensionalen Kamera 310 bestimmt, wenn die Inspektion ausgeführt wird durch Fokussieren und dann Ändern des zwischen der Normalen V und der optischen Achse O gebildeten Winkels gemäß dem Inspektionsinhalt. Die optimale Position kann jedoch als die Position der zweidimensionalen Kamera 310 bestimmt werden, indem der Winkel, der durch die Normale V und die optische Achse O gebildet wird, gemäß dem Inspektionsinhalt während des Fokussierens geändert wird. Insbesondere kann die zweidimensionale Kamera 310 leicht entlang der normalen Bewegungsbahn bewegt werden, und der zwischen der Normalen V und der optischen Achse O gebildete Winkel kann an der bewegten Position geändert werden. Die Bildverarbeitungsvorrichtung 2 kann eine Merkmalsmenge berechnen, die einen Übereinstimmungsgrad zwischen dem zweidimensionalen Bild und dem Referenzmodellbild angibt, und kann einen Winkel bestimmen, der einer Richtung der zweidimensionalen Kamera 310 unter Winkeln zwischen der Normalen V und der optischen Achse O entspricht, basierend auf der Merkmalsmenge. Danach kann die Bildverarbeitungseinrichtung 2 den Abstand zwischen dem Werkstück W und der zweidimensionalen Kamera 310 in einem Zustand ändern, in welchem die bestimmte Richtung der zweidimensionalen Kamera 310 beibehalten wird, und kann den Abstand von der Merkmalsmenge, die den Übereinstimmungsgrad zwischen dem zweidimensionalen Bild und dem Referenzmodellbild angibt, bestimmen.
  • Ferner wird, in dem ersten Ausführungsbeispiel angenommen, dass die Positionierung der zweidimensionalen Kamera unter Verwendung der zweidimensionalen Kamera und der dreidimensionalen Kamera durchgeführt wird. In der zweiten Ausführungsform wird angenommen, dass die Positionierung der zweidimensionalen Kamera, die für die Inspektion verwendet wird, nur unter Verwendung der dreidimensionalen Kamera durchgeführt wird. Jede Normale V in Bezug auf jeden Messpunkt Wp, der in dem Werkstück W eingestellt ist, kann unter Verwendung nur der zweidimensionalen Kamera bestimmt werden.
  • In der Ausführungsform ist die Referenzlinie eine senkrechte Linie, die einer senkrechten Linie entspricht, senkrecht zur Mikro-Ebene, auf welcher der Messpunkt Wp angeordnet ist. Die Referenzlinie kann jedoch vom Benutzer eingestellt werden. Zum Beispiel kann die Referenzlinie eine Linie sein, die als Referenz dient, wenn die Richtung der zweidimensionalen Kamera 310 eingestellt wird, so dass das Werkstück innerhalb des Bildgebungsbereichs innerhalb einer möglichst großen Schärfentiefe der zweidimensionalen Kamera 310 liegt.
  • 18A, 18B und 18C sind schematische Darstellungen, die Modifikationsbeispiele der Referenzlinie veranschaulichen. Zum Beispiel kann die Referenzlinie basierend auf dem Material des Werkstücks W und der Richtung, in der das Bestrahlungslicht einfällt, eingestellt werden. Zum Beispiel wird im Fall, dass das Licht für die Beleuchtung entlang der optischen Achse der zweidimensionalen Kamera 310 gestrahlt wird und dass das Material der der Oberfläche des Werkstücks W ein spiegelnd reflektierendes Material ist, die Referenzlinie V1 in 18A gesetzt, um die Kamera in einer Position anzuordnen, welche ein spiegelnd reflektiertes Licht nicht erreicht. Insbesondere die Referenzlinie V1 ist eine Linie, die durch den Messpunkt Wp1 verläuft und so eingestellt ist, dass die senkrechte Linie geneigt ist. Auf diese Weise kann die zweidimensionale Kamera 310 unter Berücksichtigung der Richtung des Lichts angeordnet werden, das zu dem Messbereich einschließlich dem Messpunkt Wp1 gestrahlt wird und von dem Messbereich reflektiert wird.
  • Darüber hinaus kann die Referenzlinie W auf der Grundlage der Form der Oberfläche des Werkstücks im Messbereich eingestellt werden, welcher den Messpunkt Wp einschließt. Zum Beispielsweise, in dem Fall, wo die Umgebung der Messpunkte Wp (das heißt, des Messpunkts Wp2, des Messpunktes Wp3, des Messpunktes Wp5, und des Messpunktes Wp6) aus einer Vielzahl von Oberflächen zusammengesetzt ist, werden die Referenzlinie V2 und die Referenzlinie V3 in 18A, die Referenzlinie V5 in 18B, und die Referenzlinie V6 in 18C jeweils so eingestellt, dass jede der Oberflächen bedeckt ist durch das Bildgebungs-Sichtfeld der zweidimensionalen Kamera 310. Auf diese Weise kann, selbst wenn das Werkstück W eine komplexe Oberfläche aufweist, die zweidimensionale Kamera 310 unter Berücksichtigung der Form angeordnet werden.
  • Ferner wird die Referenzlinie V4 in 18B gesetzt, um somit den Bereich einzuschließen, wo der Messpunkt Wp4 in dem Bildgebungsfeld der Ansicht gesetzt ist. Insbesondere wird die Referenzlinie V5 eingestellt zur Vermeidung einer konkaven/konvexen (das heißt, eines Hindernisses) auf der Oberfläche des Werkstücks W. Auf diese Weise ist es möglich, selbst wenn es eine Konkave/Konvexe auf der Oberfläche des Werkstücks W gibt, die Sicht bzw. Bildaufnahme davor zu bewahren, dass sie im voraus durch die Konkave/Konvexe blockiert wird.
  • Diese Referenzlinien können durch die Bildverarbeitungs-Vorrichtung 2 in einer Reihe von Prozessen berechnet werden, wenn der Inspektionspfad WL registriert ist, so wie es mit Bezugnahme auf 15 beschrieben ist, oder können vom Benutzer mit Bezug auf den Messpunkt Wp eingestellt werden. Darüber hinaus kann der Benutzer, nachdem die Referenzlinien durch die Bildverarbeitungseinrichtung 2 berechnet worden sind, eine Feineinstellung der Referenzlinien vornehmen.
  • Bezugszeichenliste
  • SYS
    Bildverarbeitungs-System
    2
    Bildverarbeitungs-Vorrichtung
    100
    Verwaltungs-Vorrichtung
    110
    Anzeige-Vorrichtung
    120
    Eingabe-Vorrichtung
    131
    Positionsbestimmungs-Einheit
    132
    Pfaderzeugungs-Einheit
    133
    Normalen-Korrektur-Einheit
    1330
    Diskrepanzwert-Berechnungs-Einheit
    1331
    Aktualisierungs-Einheit
    1332
    Korrekturbetragsberechnungs-Einheit
    36
    Normal-Bahnkurven-Erzeugungs-Einheit
    135
    Fokuspositions-Bestimmungs-Einheit
    136
    Bahnkurven-Erzeugungs-Einheit
    137
    Prüfungsergebnis-Ermittlungs-Einheit
    138
    Prüfungsergebnis-Registrier-Einheit
    139, 220
    Umwandlungs-Einheit
    140
    Hauptspeicher
    141, 335, 433 160
    Speicher-Einheit
    142
    erste Speicher-Einheit
    143
    zweite Speicher-Einheit
    144
    dritte Speicher-Einheit
    150
    Festplatte
    160
    Anzeige- bzw. Bildschirm-Steuerung
    170
    Datenleser/-schreiber
    171
    Speicherkarte
    181
    Eingabe-I/F bzw. -Schnittstelle
    182
    Roboter-I/F
    183
    zweidimensionale Kamera-I/F
    184
    dreidimensionale Kamera-I/F
    185,350,450
    Bus
    200
    Roboter-Steuerungs-Einheit
    210
    Roboter
    300
    zweidimensionale Bildverarbeitungs-Vorrichtung
    310
    zweidimensionale Kamera
    320, 420
    Bildsteuerungs-Einheit
    330, 430
    Bildverarbeitungs-Maschine
    331, 431
    Spezfizierungs-Einheit
    332
    Fokussierungs-Grad-Berechnungs-Einheit
    333
    Merkmalsmengen-Berechnungs-Einheit
    334, 432
    Speicher-Einheit
    340, 440
    Ein- und Ausgabe-I/F
    400
    dreidimensionale Bildverarbeitungs-Vorrichtung
    410
    dreidimensionale Kamera
    NW
    Netzwerk
    Wp
    Messpunkt
    O
    optische Achse
    V
    Normale
    W
    Werkstück
    WL
    Inspektions-Pfad
    a
    Grad der Fokussierung
    b
    Merkmals-Menge

Claims (8)

  1. Bildverarbeitungssystem (SYS) zum Durchführen einer Bildmessung für einen oder mehrere in einem Werkstück (W) voreingestellte Messpunkte (Wp) unter Verwendung eines Erscheinungsbildes des Werkstücks (W), wobei das Bildverarbeitungssystem (SYS) dadurch gekennzeichnet ist, dass es umfasst: eine erste Bildgebungseinheit (310), die zur Aufnahme des Erscheinungsbildes konfiguriert ist; einen Roboter (210), der eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) ändert; ein Referenzlinien-Spezifizierungsteil (331, 431), das konfiguriert ist, um eine Anordnungssituation des Werkstücks (W) basierend auf Informationen, die durch Abbildung des Werkstücks (W) erhalten wurden, zu spezifizieren, und um eine Referenzlinie in Bezug auf jeden Messpunkt (Wp), der in dem Werkstück (W) gemäß der spezifizierten Anordnungssituation des Werkstücks (W) festgelegt wurde, zu spezifizieren; ein Abstandsanpassungsteil, das konfiguriert ist, um die erste Bildgebungseinheit (310) auf der spezifizierten Referenzlinie zu positionieren und dem Roboter (210) einen Befehl zu geben, so dass ein Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) in einem Zustand geändert wird, in dem eine optische Achse (O) der ersten Bildgebungseinheit (310) mit der spezifizierten Referenzlinie übereinstimmt; ein erstes Merkmalsmengenberechnungsteil (333), das konfiguriert ist, um eine erste Merkmalsmenge bezüglich eines Fokussierungsgrades der ersten Bildgebungseinheit (310) basierend auf dem von der ersten Bildgebungseinheit (310) erfassten Erscheinungsbild zu berechnen; und ein Abstandsbestimmungsteil, das konfiguriert ist, um den Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung in der ersten Merkmalsmenge entsprechend einer Änderung des Abstands zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) durchzuführen, wobei das Bildverarbeitungssystem (SYS) weiterhin umfasst: eine zweite Bildgebungseinheit (410), die so angeordnet ist, dass sie mindestens ein Teil des Werkstücks (W) und des Roboters (210) in einem Bereich eines Sichtfeldes umfasst und ein dreidimensionales Bild eines in dem Bereich des Sichtfeldes vorhandenen Objekts erfasst; und ein Speicherteil (140, 141, 150), das konfiguriert ist, um Informationen zu speichern, die eine Referenzlinienrichtung definieren, die jedem der einen oder mehreren Messpunkte (Wp) zugeordnet ist, wobei die Referenzlinien-Spezifizierungsteil (331, 431) umfasst: ein erstes Suchteil, das konfiguriert ist, um nach einem Abschnitt zu suchen, der der Forminformation des Werkstücks (W) in dem dreidimensionalen Bild entspricht; und ein Referenzlinien-Bestimmungsteil, das konfiguriert ist, um eine Referenzlinie in Bezug auf jeden Messpunkt (Wp) auf der Grundlage von Informationen über den von dem ersten Suchteil gesuchten Abschnitt und der Informationen, die die im Speicherteil (140, 141, 150) gespeicherte Referenzlinienrichtung definieren, zu bestimmen, und wobei das Bildverarbeitungssystem (SYS) ferner umfasst: ein Positionsanpassungsteil, das konfiguriert ist, um dem Roboter (210) einen Befehl zu geben, so dass ein Winkel zwischen der angegebenen Referenzlinie und der optischen Achse (O) der ersten Bildgebungseinheit (310) in einem Zustand, in dem der Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) beibehalten wird, von 0 auf einen vorbestimmten Wert geändert wird; und ein Positionsbestimmungsteil (131), das konfiguriert ist, um eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung der ersten Merkmalsmenge entsprechend der Änderung des Winkels durchzuführen.
  2. Bildverarbeitungssystem (SYS) nach Anspruch 1, dadurch gekennzeichnet, dass das Referenzlinien-Spezifizierungsteil (331, 431) umfasst: ein zweites Suchteil, das konfiguriert ist, um nach einem Abschnitt zu suchen, der einem Referenzbild eines entsprechenden Messpunkts (Wp) für das von der ersten Bildgebungseinheit (310) aufgenommene Bild in einem Zustand entspricht, in dem die erste Bildgebungseinheit (310) auf der durch das Referenzlinien-Bestimmungsteil bestimmten Referenzlinie positioniert ist; und ein Korrekturteil (133), das so konfiguriert ist, dass es die durch das Referenzlinien-Bestimmungsteil bestimmte Referenzlinie auf der Grundlage der Informationen über den von dem zweiten Suchteil gesuchten Abschnitt korrigiert.
  3. Bildverarbeitungssystem (SYS) nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, dass es ferner umfasst: ein zweites Merkmalsmengenberechnungsteil, das konfiguriert ist, um eine zweite Merkmalsmenge bezüglich eines voreingestellten Erkennungszielabschnitts basierend auf dem von der ersten Bildgebungseinheit (310) erfassten Erscheinungsbild zu berechnen; und ein Bildmessteil, das konfiguriert ist, um das Vorhandensein oder Nichtvorhandensein des Erfassungszielabschnitts an einem als Ziel dienenden Messpunkt (Wp) oder in der Nähe des Messpunkts (Wp) zu bestimmen, basierend auf der zweiten Merkmalsmenge, die in einem Zustand berechnet wird, in dem die erste Bildgebungseinheit (310) und das Werkstück (W) mit einem durch den Abstandsbestimmungsteil bestimmten Abstand dazwischen positioniert sind.
  4. Bildverarbeitungssystem (SYS) nach Anspruch 3, dadurch gekennzeichnet, dass das Referenzlinien-Spezifizierungsteil (331, 431) dem Roboter (210) den Befehl gibt, die erste Bildgebungseinheit (310) an dem nächsten Messpunkt (Wp) zu positionieren, wenn die Bestimmung des Vorhandenseins oder Nichtvorhandenseins des von dem Bildmessteil durchgeführten Erfassungszielabschnitts abgeschlossen ist.
  5. Bildverarbeitungssystem (SYS) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass es ferner einen Messpunkteinstellungs-Empfangsteil umfasst, der so konfiguriert ist, dass er Designinformationen des Werkstücks (W) anzeigt und den einen oder die mehreren Messpunkte (Wp) entsprechend einer Benutzeroperation in Bezug auf die angezeigten Designinformationen einstellt.
  6. Bildverarbeitungssystem (SYS) nach Anspruch 5, dadurch gekennzeichnet, dass es ferner ein Referenzlinien-Berechnungsteil umfasst, das so konfiguriert ist, dass es eine Oberflächenform jedes Messpunktes (Wp) basierend auf den Designinformationen des Werkstückes (W) für jeden der Messpunkte (Wp) berechnet, die durch das Messpunkteinstellungs-Empfangsteil festgelegt wurden, und eine Referenzlinie jedes Messpunktes (Wp) basierend auf der berechneten Oberflächenform berechnet.
  7. Bildverarbeitungsvorrichtung (2) zum Durchführen einer Bildmessung für einen oder mehrere in einem Werkstück (W) voreingestellte Messpunkte (Wp) unter Verwendung eines Erscheinungsbildes des Werkstücks (W), wobei die Bildverarbeitungsvorrichtung dadurch gekennzeichnet ist, dass sie umfasst: eine Schnittstelle (183), die Informationen über ein Erscheinungsbild von einer ersten Bildgebungseinheit (310) empfängt, die das Erscheinungsbild erfasst; eine Schnittstelle (182) zur Kommunikation mit einem Roboter (210), die eine relative Positionsbeziehung zwischen dem Werkstück (W) und der ersten Bildgebungseinheit (310) ändert; ein Referenzlinien-Spezifizierungsteil, das konfiguriert ist, um eine Anordnungssituation des Werkstücks (W) basierend auf Informationen, die durch Abbildung des Werkstücks (W) erhalten wurden, zu spezifizieren, und eine Referenzlinie in Bezug auf jeden Messpunkt (Wp), der in dem Werkstück (W) gemäß der spezifizierten Anordnungssituation des Werkstücks (W) festgelegt wurde, zu spezifizieren; ein Abstandsanpassungsteil, das konfiguriert ist, um die erste Bildgebungseinheit (310) auf der angegebenen Referenzlinie zu positionieren und dem Roboter (210) einen Befehl zu geben, so dass ein Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) in einem Zustand geändert wird, in dem eine optische Achse (O) der ersten Bildgebungseinheit (310) mit der angegebenen Referenzlinie übereinstimmt; ein erstes Merkmalsmengenberechnungsteil (333), das konfiguriert ist, um eine erste Merkmalsmenge bezüglich eines Fokussierungsgrades der ersten Bildgebungseinheit (310) basierend auf dem von der ersten Bildgebungseinheit (310) erfassten Erscheinungsbild zu berechnen; und ein Abstandsbestimmungsteil, das konfiguriert ist, um den Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung der ersten Merkmalsmenge entsprechend einer Änderung des Abstands zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) durchzuführen, wobei die Bildverarbeitungsvorrichtung weiterhin umfasst: eine Schnittstelle (184), die Informationen von einer zweiten Bildgebungseinheit (410) empfängt, die so angeordnet ist, dass sie mindestens ein Teil des Werkstücks (W) und des Roboters (210) in einem Bereich eines Sichtfeldes umfasst und ein dreidimensionales Bild eines in dem Bereich des Sichtfeldes vorhandenen Objekts erfasst; und ein Speicherteil (140, 141, 150), das konfiguriert ist, um Informationen zu speichern, die eine Referenzlinienrichtung definieren, die jedem der einen oder mehreren Messpunkte (Wp) zugeordnet ist, wobei die Referenzlinien-Spezifizierungsteil (331, 431) umfasst: ein erstes Suchteil, das konfiguriert ist, um nach einem Abschnitt zu suchen, der der Forminformation des Werkstücks (W) in dem dreidimensionalen Bild entspricht; und ein Referenzlinien-Bestimmungsteil, das konfiguriert ist, um eine Referenzlinie in Bezug auf jeden Messpunkt (Wp) auf der Grundlage von Informationen über den von dem ersten Suchteil gesuchten Abschnitt und der Informationen, die die im Speicherteil (140, 141, 150) gespeicherte Referenzlinienrichtung definieren, zu bestimmen, und wobei die Schnittstelle (184) zur Kommunikation mit dem Roboter (210) verbunden ist mit: einem Positionsanpassungsteil, das konfiguriert ist, um dem Roboter (210) einen Befehl zu geben, so dass ein Winkel zwischen der angegebenen Referenzlinie und der optischen Achse (O) der ersten Bildgebungseinheit (310) in einem Zustand, in dem der Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) beibehalten wird, von 0 auf einen vorbestimmten Wert geändert wird; und einem Positionsbestimmungsteil (131), das konfiguriert ist, um eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zu bestimmen, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung der ersten Merkmalsmenge entsprechend der Änderung des Winkels durchzuführen.
  8. Bildverarbeitungsprogramm zur Durchführung einer Bildmessung für einen oder mehrere in einem Werkstück (W) voreingestellte Messpunkte (Wp) unter Verwendung eines Erscheinungsbildes des Werkstücks (W), wobei das Bildverarbeitungsprogramm dadurch gekennzeichnet ist, dass es einen Computer veranlasst, auszuführen: einen Schritt der Abbildung des Werkstücks (W) unter Verwendung einer ersten Bildgebungseinheit (310); einen Schritt der Spezifizierung einer Anordnungssituation des Werkstücks (W) auf der Grundlage von Informationen, die durch die Abbildung des Werkstücks (W) erhalten werden; einen Schritt zum Festlegen einer Referenzlinie in Bezug auf jeden in dem Werkstück (W) eingestellten Messpunkt (Wp) entsprechend der vorgegebenen Anordnungssituation des Werkstücks (W); einen Schritt zum Positionieren der ersten Bildgebungseinheit (310) auf der angegebenen Referenzlinie; einen Schritt des Gebens eines Befehls an den Roboter (210), der eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) ändert, so dass ein Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) in einem Zustand geändert wird, in dem eine optische Achse (O) der ersten Bildgebungseinheit (310) mit der angegebenen Referenzlinie übereinstimmt; einen Schritt zum Berechnen einer ersten Merkmalsmenge bezüglich eines Fokussierungsgrades der ersten Bildgebungseinheit (310) basierend auf dem von der ersten Bildgebungseinheit (310) aufgenommenen Erscheinungsbild; und einen Schritt zum Bestimmen des Abstands zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) zum Durchführen einer Bildmessung für den Messpunkt (Wp) auf der Grundlage einer Änderung der ersten Merkmalsmenge gemäß einer Änderung des Abstands zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W), wobei Informationen von einer zweiten Bildgebungseinheit (410) empfangen werden, die so angeordnet ist, dass sie mindestens ein Teil des Werkstücks (W) und des Roboters (210) in einem Bereich eines Sichtfeldes umfasst und ein dreidimensionales Bild eines in dem Bereich des Sichtfeldes vorhandenen Objekts erfasst; und von einem Speicherteil (140, 141, 150) Informationen gespeichert werden, die eine Referenzlinienrichtung definieren, die jedem der einen oder mehreren Messpunkte (Wp) zugeordnet ist, und wobei von einem ersten Suchteil nach einem Teil gesucht wird, der der Forminformation des Werkstücks (W) in dem dreidimensionalen Bild entspricht; und von einem Referenzlinien-Bestimmungsteil eine Referenzlinie in Bezug auf jeden Messpunkt (Wp) auf der Grundlage von Informationen über den von dem ersten Suchteil gesuchten Abschnitt und der Informationen bestimmt wird, die die im Speicherteil (140, 141, 150) gespeicherte Referenzlinienrichtung definieren, und von einem Positionsanpassungsteil um dem Roboter (210) ein Befehl gegeben wird, so dass ein Winkel zwischen der angegebenen Referenzlinie und der optischen Achse (O) der ersten Bildgebungseinheit (310) in einem Zustand, in dem der Abstand zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) beibehalten wird, von 0 auf einen vorbestimmten Wert geändert wird; und von einem Positionsbestimmungsteil (131) eine relative Positionsbeziehung zwischen der ersten Bildgebungseinheit (310) und dem Werkstück (W) bestimmt wird, um eine Bildmessung für den Messpunkt (Wp) basierend auf einer Änderung der ersten Merkmalsmenge entsprechend der Änderung des Winkels durchzuführen.
DE102018109774.3A 2017-05-17 2018-04-24 Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm Active DE102018109774B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017098361 2017-05-17
JP2017-098361 2017-05-17
JP2018-061951 2018-03-28
JP2018061951A JP6973233B2 (ja) 2017-05-17 2018-03-28 画像処理システム、画像処理装置および画像処理プログラム

Publications (2)

Publication Number Publication Date
DE102018109774A1 DE102018109774A1 (de) 2018-11-22
DE102018109774B4 true DE102018109774B4 (de) 2019-06-13

Family

ID=64272189

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018109774.3A Active DE102018109774B4 (de) 2017-05-17 2018-04-24 Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm

Country Status (3)

Country Link
US (1) US10805546B2 (de)
CN (1) CN108965690B (de)
DE (1) DE102018109774B4 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019127250B3 (de) * 2019-10-10 2020-12-03 Franka Emika Gmbh Verifikation einer Vorwärtskinematik eines Robotermanipulators
US20220044380A1 (en) * 2020-08-07 2022-02-10 Toyota Jidosha Kabushiki Kaisha Color tone correction system and color tone correction method
DE102021114598B4 (de) 2020-12-04 2023-03-30 GM Global Technology Operations LLC Verfahren zum Durchführen einer Herstellungsoperation sowie Herstellungssystem zur Durchfürung des Verfahrens

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6693981B2 (ja) * 2018-02-19 2020-05-13 ファナック株式会社 ロボットの動作をシミュレーションするシミュレーション装置
US11312020B2 (en) * 2018-11-20 2022-04-26 Beijing Jingdong Shangke Information Technology Co System and method for fast object detection in robot picking
JP6878391B2 (ja) * 2018-12-18 2021-05-26 ファナック株式会社 ロボットシステムとその調整方法
CN113196337B (zh) * 2019-01-09 2023-08-29 株式会社富士 图像处理装置、作业机器人、基板检查装置及检体检查装置
CN112797897B (zh) * 2019-04-15 2022-12-06 Oppo广东移动通信有限公司 物体几何参数的测量方法、装置和终端
JP7391571B2 (ja) * 2019-08-28 2023-12-05 キヤノン株式会社 電子機器、その制御方法、プログラム、および記憶媒体
CN110962128B (zh) * 2019-12-11 2021-06-29 南方电网电力科技股份有限公司 一种变电站巡检布点方法及巡检机器人控制方法
EP4091777B1 (de) * 2020-01-16 2024-04-03 OMRON Corporation Steuerungsvorrichtung, steuerungsverfahren und steuerungsprogramm
CN111238374B (zh) * 2020-03-16 2021-03-12 天目爱视(北京)科技有限公司 一种基于坐标测量的三维模型构建及测量方法
CN115589531B (zh) * 2022-09-13 2023-10-20 深圳市拓普智造科技有限公司 目标场景的拍摄方法、系统及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400638A (en) 1992-01-14 1995-03-28 Korea Institute Of Science And Technology Calibration system for compensation of arm length variation of an industrial robot due to peripheral temperature change
JPH08313225A (ja) 1995-03-16 1996-11-29 Nippondenso Co Ltd 外観検査装置
US5608847A (en) 1981-05-11 1997-03-04 Sensor Adaptive Machines, Inc. Vision target based assembly
JP2005052926A (ja) 2003-08-04 2005-03-03 Denso Corp 視覚検査装置の教示装置及び教示方法
DE102005022344B4 (de) 2005-05-13 2008-06-19 Siemens Ag Vorrichtung und Verfahren zur Werkstückeinmessung
DE102009020307A1 (de) 2008-05-08 2009-11-12 Denso Wave Inc. Simulator für eine Sichtprüfungsvorrichtung
DE102009012590A1 (de) 2008-03-12 2009-11-19 Denso Wave Inc. Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
US20130245828A1 (en) 2012-03-13 2013-09-19 Canon Kabushiki Kaisha Model generation apparatus, information processing apparatus, model generation method, and information processing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021489A (zh) * 2006-02-15 2007-08-22 奥林巴斯株式会社 外观检查装置
JP4020144B2 (ja) * 2006-03-10 2007-12-12 オムロン株式会社 表面状態の検査方法
JP5448069B2 (ja) * 2009-12-25 2014-03-19 株式会社Ihi ロボット制御装置及び方法
US20150262346A1 (en) * 2012-10-18 2015-09-17 Konica Minolta, Inc. Image processing apparatus, image processing method, and image processing program
JP2016170122A (ja) * 2015-03-13 2016-09-23 キヤノン株式会社 計測装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608847A (en) 1981-05-11 1997-03-04 Sensor Adaptive Machines, Inc. Vision target based assembly
US5400638A (en) 1992-01-14 1995-03-28 Korea Institute Of Science And Technology Calibration system for compensation of arm length variation of an industrial robot due to peripheral temperature change
JPH08313225A (ja) 1995-03-16 1996-11-29 Nippondenso Co Ltd 外観検査装置
JP2005052926A (ja) 2003-08-04 2005-03-03 Denso Corp 視覚検査装置の教示装置及び教示方法
DE102005022344B4 (de) 2005-05-13 2008-06-19 Siemens Ag Vorrichtung und Verfahren zur Werkstückeinmessung
DE102009012590A1 (de) 2008-03-12 2009-11-19 Denso Wave Inc. Vorrichtung zum Ermitteln der Stellung eines Roboterarms mit Kamera zur Durchführung von Aufnahmen
DE102009020307A1 (de) 2008-05-08 2009-11-12 Denso Wave Inc. Simulator für eine Sichtprüfungsvorrichtung
US20130245828A1 (en) 2012-03-13 2013-09-19 Canon Kabushiki Kaisha Model generation apparatus, information processing apparatus, model generation method, and information processing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019127250B3 (de) * 2019-10-10 2020-12-03 Franka Emika Gmbh Verifikation einer Vorwärtskinematik eines Robotermanipulators
US20220044380A1 (en) * 2020-08-07 2022-02-10 Toyota Jidosha Kabushiki Kaisha Color tone correction system and color tone correction method
US11783472B2 (en) * 2020-08-07 2023-10-10 Toyota Jidosha Kabushiki Kaisha Color tone correction system and color tone correction method
DE102021114598B4 (de) 2020-12-04 2023-03-30 GM Global Technology Operations LLC Verfahren zum Durchführen einer Herstellungsoperation sowie Herstellungssystem zur Durchfürung des Verfahrens

Also Published As

Publication number Publication date
CN108965690A (zh) 2018-12-07
US10805546B2 (en) 2020-10-13
US20180338090A1 (en) 2018-11-22
CN108965690B (zh) 2021-02-26
DE102018109774A1 (de) 2018-11-22

Similar Documents

Publication Publication Date Title
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102016114337B4 (de) System und verfahren zum verknüpfen von koordinatenräumen maschinellen sehens in einer umgebung angeleiteten zusammenbaus
DE102018213985B4 (de) Robotersystem
DE112010005008B4 (de) System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb
DE112006002674B4 (de) Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem
DE102008041523B4 (de) Verfahren zur dreidimensionalen Messung und Vorrichtung zur dreidimensionalen Messung
DE102018129143B4 (de) Variabler messobjektabhängiger Kameraaufbau und Kalibrierung davon
DE102013211240B4 (de) Bereichsmessvorrichtung und Bereichsmessverfahren
DE102015015194A1 (de) Bildverarbeitungsvorrichtung und -verfahren und Programm
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
EP2886043A1 (de) Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten
DE102020118635A1 (de) 3D-Datenerzeugungsvorrichtung und Robotersteuersystem
DE112010002174T5 (de) Verfahren und vorrichtung für ein praktisches 3d-sehsystem
DE102013216902A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm
EP2834789A2 (de) Verfahren und vorrichtung zur optischen bestimmung einer position und/oder orientierung eines objekts im raum
EP1910999B1 (de) Verfahren und anordnung zur bestimmung der relativen lage eines ersten objektes bezüglich eines zweiten objektes, sowie ein entsprechendes computerprogramm und ein entsprechendes computerlesbares speichermedium
EP3578321A1 (de) Verfahren zum verwenden mit einer maschine zum erstellen einer erweiterte-realität-anzeigeumgebung
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE102018208080B3 (de) Verfahren und System zum Lokalisieren eines Objekts in einer Umgebung eines Roboters
DE102018103129B4 (de) Vorrichtung und Verfahren zum Erzeugen eines Betriebsprogramms eines Inspektionssystems
EP1915239B1 (de) Verfahren zum erzeugen eines umgebungsbildes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final