DE102015011914A1 - Konturlinienmessvorrichtung und Robotersystem - Google Patents

Konturlinienmessvorrichtung und Robotersystem Download PDF

Info

Publication number
DE102015011914A1
DE102015011914A1 DE102015011914.1A DE102015011914A DE102015011914A1 DE 102015011914 A1 DE102015011914 A1 DE 102015011914A1 DE 102015011914 A DE102015011914 A DE 102015011914A DE 102015011914 A1 DE102015011914 A1 DE 102015011914A1
Authority
DE
Germany
Prior art keywords
contour line
image
edge
camera
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102015011914.1A
Other languages
English (en)
Other versions
DE102015011914B4 (de
Inventor
Yuuta Namiki
Fumikazu Warashina
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102015011914A1 publication Critical patent/DE102015011914A1/de
Application granted granted Critical
Publication of DE102015011914B4 publication Critical patent/DE102015011914B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • 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/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37359Contour, to sense corners, edges of surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • 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/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/50Constructional details
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

Eine Konturlinienmessvorrichtung umfasst eine Kantenlinienentnahmeeinheit zum Setzen eines Bildverarbeitungsbereichs und Entnehmen einer Kantenlinie aus einem Objektbild in jedem der Bereiche, eine Kantenpunkteerzeugungseinheit zum Erzeugen von Kantenpunkten, die Schnittpunkte der Kantenlinien und von epipolaren Linien sind, eine Auswahleinheit für einen entsprechenden Punkt zum Auswählen, aus der Vielzahl von Kantenpunkten, eines Paares von Kantenpunkten, die demselben Abschnitt der Referenzkonturlinie entsprechen, und eine Berechnungseinheit für einen dreidimensionalen Punkt zum Berechnen eines dreidimensionalen Punktes auf der Konturlinie des Objektes auf der Grundlage der Sichtlinien der Kameras, die das Paar von Kantenpunkten passieren.

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Konturlinienmessvorrichtung zum Messen einer dreidimensionalen Konturlinienform eines Objektes unter Verwendung einer Stereokamera, und ein Robotersystem.
  • 2. Beschreibung des verwandten Standes der Technik
  • Damit verschiedene Vorgänge bei einem Werkstück unter Verwendung eines Industrieroboters durchgeführt werden, ist eine Erkennung einer dreidimensionalen Konturlinienform des Werkstücks erforderlich. Wenn das Werkstück keine individuellen Unterschiede aufweist, dann können die Informationen bezüglich einer Konturlinienform des Werkstücks auf der Grundlage von Designdaten erlangt werden. Wenn jedoch z. B. das Werkstück ein Spritzgussartikel ist, weist das Werkstück einen individuellen Unterschied für jede Spritzgussform auf, und folglich ist das Messen einer Konturlinienform jedes Werkstücks erforderlich.
  • Hinsichtlich dieses Problempunktes ist im Stand der Technik eine Vorrichtung bekannt, in der genaue dreidimensionale Konturlinieninformationen durch ein Stereoverfahren unter Verwendung von zwei Kameras erlangt werden (z. B. die japanische Patentanmeldungsoffenlegung Nr. 2012-202732 und die japanische Patentanmeldungsoffenlegung Nr. 2013-130508 ). In den Vorrichtungen, die in der japanischen Patentanmeldungsoffenlegung Nr. 2012-202732 und der japanischen Patentanmeldungsoffenlegung Nr. 2013-130508 offenbart sind, nehmen zwei Kameras jeweils ein Bild eines Werkstücks aus voneinander verschiedenen Positionen auf, und wird aus einem Paar von so erlangten Bildern jede Kantenlinie (Bild der Konturlinie) entnommen. Daraufhin werden die Schnittpunkte einer Epipolarlinie, von denen jede auf derselben Epipolarebene erlangt ist, und die Kantenlinie auf jedem Bild bestimmt. Dann werden die Schnittpunkte auf jedem Bild miteinander assoziiert, und werden diese entsprechenden Punkte verwendet, um eine Position von dreidimensionalen Punkten auf einer Konturlinie des Werkstücks zu bestimmen.
  • Wenn eine Vielzahl von Kantenlinien vorliegt, die die Epipolarlinie schneiden, dann macht in den in diesen Patentdokumenten offenbarten Vorrichtungen jedoch das Fehlen einer Eins-zu-Eins-Korrespondenz zwischen Schnittpunkten in jedem Bild das Bestimmen der entsprechenden Punkte schwierig.
  • Kurzfassung der Erfindung
  • Eine Konturlinienmessvorrichtung eines Ausführungsbeispiels der vorliegenden Erfindung umfasst eine erste Kamera und eine zweite Kamera, die ein Bild eines Objektes aufnehmen, um ein erstes Objektbild bzw. ein zweites Objektbild zu erlangen. Die Konturlinienmessvorrichtung umfasst eine Epipolarebenenerzeugungseinheit zum Erzeugen, auf der Grundlage einer Position und einer Stellung der ersten Kamera und der zweiten Kamera, einer Vielzahl von Epipolarlinien, um das Objekt zu durchqueren, und eine Epipolarlinienberechnungseinheit zum Berechnen einer Vielzahl von ersten Epipolarlinien, in der die Vielzahl von Epipolarebenen auf eine Abbildungsoberfläche der ersten Kamera projiziert wird, und einer Vielzahl von zweiten epipolaren Linien, in der die Vielzahl von Epipolarebenen auf eine Abbildungsoberfläche der zweiten Kamera projiziert wird. Die Konturlinienmessvorrichtung umfasst eine Referenzkonturlinieneinstellungseinheit zum Einstellen einer dreidimensionalen Referenzkonturlinie des Objektes, eine Referenzkonturlinienbildberechnungseinheit zum Berechnen eines ersten Referenzkonturlinienbildes und eines zweiten Referenzkonturlinienbildes, in denen die Referenzkonturlinie auf die Abbildungsoberfläche der ersten Kamera bzw. die Abbildungsoberfläche der zweiten Kamera projiziert wird. Die Konturlinienmessvorrichtung umfasst eine Kantenlinienentnahmeeinheit, die einen ersten Bildverarbeitungsbereich in der Umgebung des ersten Referenzkonturlinienbildes einstellt und aus dem ersten Objektbild in dem ersten Bildverarbeitungsbereich eine erste Kantenlinie entnimmt, die ein Bild einer Konturlinie des Objekts ist, während ein zweiter Bildverarbeitungsbereich in der Umgebung des zweiten Referenzkonturlinienbildes eingestellt wird und aus dem zweiten Objektbild in dem zweiten Bildverarbeitungsbereich eine zweite Kantenlinie entnommen wird, die ein Bild der Konturlinie des Objekts ist. Die Konturlinienmessvorrichtung umfasst eine Kantenpunkterzeugungseinheit zum Erzeugen einer Vielzahl erster Kantenpunkte, die Schnittpunkte der ersten Kantenlinie und der Vielzahl erster Epipolarlinien sind, und einer Vielzahl zweiter Kantenpunkte, die Schnittpunkte der zweiten Kantenlinie mit der Vielzahl zweiter Epipolarlinien ist, aus der Vielzahl erster Kantenpunkte und der Vielzahl zweiter Kantenpunkte, die Schnittpunkte der zweiten Kantenlinie mit der Vielzahl zweiter Epipolarlinien sind, und eine Auswahleinheit für einen entsprechenden Punkt zum Auswählen, aus der Vielzahl erster Kantenpunkte und der Vielzahl zweiter kantenpunkte, eines Paares von Kantenpunkten, das aus dem ersten Kantenpunkt und dem zweiten Kantenpunkt besteht, die erzeugt werden, indem dieselbe Epipolarebene verwendet wird, und demselben Abschnitt der Referenzkonturlinie entsprechen. Die Konturlinienmessvorrichtung umfasst eine Berechnungseinheit für einen dreidimensionalen Punkt zum Berechnen eines dreidimensionalen Punkts auf der Konturlinie des Objekts auf der Grundlage einer Sichtlinie der ersten Kamera und einer Sichtlinie der zweiten Kamera, die das Paar von Kantenpunkten durchlaufen.
  • Eine Konturlinienmessvorrichtung eines anderen Ausführungsbeispiels der vorliegenden Erfindung umfasst eine erste Kamera und eine zweite Kamera, die ein Bild eines Objekts aufnehmen, um ein erstes Objektbild bzw. ein zweites Objektbild zu erlangen. Die Konturlinienmessvorrichtung umfasst eine Referenzkonturlinieneinstellungseinheit zum Einstellen der dreidimensionalen Referenzkonturlinie des Objekts, und eine Referenzkonturlinienbildberechnungseinheit zum Berechnen eines ersten Referenzkonturlinienbildes und eines zweiten Referenzkonturlinienbildes, in denen die Referenzkonturlinie auf die Abbildungsoberfläche der ersten Kamera bzw. die Abbildungsoberfläche der zweiten Kamera projiziert wird. Die Konturlinienmessvorrichtung umfasst eine Kantenlinienentnahmeeinheit, die einen ersten Bildverarbeitungsbereich in der Umgebung des ersten Referenzkonturlinienbildes einstellt und aus dem ersten Objektbild in dem ersten Bildverarbeitungsbereich eine erste Kantenlinie entnimmt, die ein Bild einer Konturlinie des Objekts ist, während ein zweiter Bildverarbeitungsbereich in der Umgebung des zweiten Referenzkonturlinienbildes eingestellt wird und aus dem zweiten Objektbild in dem zweiten Bildverarbeitungsbereich eine zweite Kantenlinie entnommen wird, die ein Bild der Konturlinie des Objekts ist. Die Konturlinienmessvorrichtung umfasst eine erste Kantenpunkteerzeugungseinheit zum Erzeugen einer Vielzahl erster Kantenpunkte auf der ersten Kantenlinie, eine Epipolarebenenerzeugungseinheit zum Erzeugen, auf der Grundlage einer Position und einer Stellung der ersten Kamera und der zweiten Kamera, einer Vielzahl epipolarer Ebenen, die jeweils die Vielzahl erster Kantenpunkte passieren, und eine Epipolarlinienberechnungseinheit zum Berechnen einer Vielzahl epipolarer Linien, in der die Vielzahl epipolarer Ebenen auf die Abbildungsoberfläche der zweiten Kamera projiziert sind. Die Konturlinienmessvorrichtung umfasst eine zweite Kantenpunkterzeugungseinheit zum Erzeugen einer Vielzahl zweiter Kantenpunkte, die Schnittpunkte der Vielzahl epipolarer Linien und der zweiten Kantenlinie sind, und eine Auswahleinheit für einen entsprechenden Punkt zum Auswählen, aus der Vielzahl erster Kantenpunkte und der Vielzahl zweiter Kantenpunkte, eines Paares von Kantenpunkten, das aus dem ersten Kantenpunkt und dem zweiten Kantenpunkt besteht, die unter Verwendung des ersten Kantenpunkts erzeugt sind und demselben Abschnitt der Referenzkonturlinie entsprechen. Die Konturlinienmessvorrichtung umfasst eine Berechnungseinheit für einen dreidimensionalen Punkt zum Berechnen eines dreidimensionalen Punktes auf der Konturlinie des Objektes auf der Grundlage einer Sichtlinie der ersten Kamera und einer Sichtlinie der zweiten Kamera, die das Paar von Kantenpunkten passieren.
  • Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung besteht in einem Robotersystem, das einen Roboter, eine Robotersteuereinheit zum Steuern des Roboters und die vorstehend beschriebene Konturlinienmessvorrichtung umfasst, in der die erste Kamera und die zweite Kamera, die in der Konturlinienmessvorrichtung umfasst sind, an einen Armkopfabschnitt des Roboters angefügt sind, oder ein Objekt, von dem ein Bild durch die erste Kamera und die zweite Kamera aufgenommen wird, durch den Armkopfabschnitt des Roboters gehalten wird.
  • Kurze Beschreibung der Zeichnungen
  • Die Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung von Ausführungsbeispielen der vorliegenden Erfindung in Verbindung mit den beiliegenden Zeichnungen deutlich werden. Es zeigen:
  • 1 eine Darstellung, die einen prinzipiellen Aufbau einer Konturlinienmessvorrichtung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 2 eine Blockdarstellung, die eine Steuerkonfiguration der Konturlinienmessvorrichtung in 1 zeigt;
  • 3 eine Blockdarstellung, die eine detaillierte Konfiguration einer Bildverarbeitungseinheit in 2 zeigt;
  • 4 ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung zeigt, die in der Bildverarbeitungseinheit in 3 ausgeführt wird;
  • 5 eine Draufsicht eines Werkstücks, das ein durch die Konturlinienmessvorrichtung zu messendes Objekt ist, gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 eine Darstellung, die ein Beispiel epipolarer Ebenen zeigt;
  • 7 eine Darstellung, die ein Beispiel epipolarer Linien zeigt;
  • 8 eine Darstellung, die ein Beispiel einer Kantenlinie zeigt;
  • 9 eine Darstellung, die ein Beispiel nächstgelegener Punkte zeigt;
  • 10 eine Darstellung, die ein modifiziertes Beispiel gemäß 9 zeigt;
  • 11 eine Darstellung, die ein Verfahren zum Unterteilen der Epipolarebene zeigt;
  • 12 eine Darstellung, die die unterteilte Epipolarebene zeigt;
  • 13 ein Ablaufdiagramm, das ein modifiziertes Beispiel gemäß 4 zeigt;
  • 14 eine Darstellung, die einen prinzipiellen Aufbau eines Robotersystems gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 15 eine Darstellung, die ein modifiziertes Beispiel gemäß 14 zeigt;
  • 16 eine Blockdarstellung, die einen detaillierten Aufbau der Bildverarbeitungseinheit in einer Steuervorrichtung für einen visuellen Sensor in 14 oder 15 zeigt;
  • 17 ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung hauptsächlich in einer Evaluierungseinheit in 16 zeigt; und
  • 18 eine Darstellung, die ein modifiziertes Beispiel gemäß 14 oder 15 zeigt.
  • Ausführliche Beschreibung
  • (Erstes Ausführungsbeispiel)
  • Nachstehend wird ein erstes Ausführungsbeispiel der vorliegenden Erfindung unter Bezugnahme auf 1 bis 13 beschrieben werden. 1 zeigt eine Darstellung, die wiederum einen prinzipiellen Aufbau einer Konturlinienmessvorrichtung 100 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Die Konturlinienmessvorrichtung 100 umfasst ein Paar von Kameras 3 (erste Kamera 3A und zweite Kamera 3B) zum Abbilden eines Werkstücks 2 als ein Objekt, das auf einer Werkbank 1 platziert ist, und eine Steuervorrichtung 5 für einen visuellen Sensor, die mit der ersten Kamera 3A und der zweiten Kamera 3B kommuniziert, um eine Konturlinienform des Werkstücks 2 zu berechnen. Es sei darauf hingewiesen, dass eine Form des Werkstücks 2 durch eine Konturlinie (Konturlinie 2a in 5) definiert ist. Demgemäß wird eine Konturlinienform berechnet, um eine Werkstückform zu spezifizieren.
  • Die Kameras 3 sind elektronische Kameras mit einem Bildgabeelement, wie einer ladungsgekoppelten Vorrichtung (CCD, charge coupled device), und einer wohlbekannten Lichtempfangsvorrichtung mit einer Funktion, in der eine Abbildungsoberfläche (auf einer CCD-Arrayoberfläche) ein zweidimensionales Bild erfasst, indem ein Bild aufgenommen wird. Es sei darauf hingewiesen, dass ein zweidimensionales Koordinatensystem der Abbildungsoberfläche nachstehend als ein Sensorkoordinatensystem bezeichnet wird. Die erste Kamera 3A und die zweite Kamera 3B werden jeweils auf einem Ständer 4 getragen. Eine Position und eine Stellung des Paares von Kameras 3A und 3B in einem dreidimensionalen Weltkoordinatensystem werden derart bestimmt, dass ein Abstand zwischen der ersten Kamera 3A und dem Werkstück 2 und ein Abstand zwischen der zweiten Kamera 3B und dem Werkstück 2 im Wesentlichen gleich zueinander sind. Des Weiteren werden die Position und die Stellung des Paares von Kameras 3A und 3B in einem dreidimensionalen Weltkoordinatensystem derart bestimmt, dass die erste Kamera 3A und die zweite Kamera 3B ein Bild in Bereichen aufnehmen können, die im Wesentlichen identisch zueinander sind (vgl. 5). Es sei darauf hingewiesen, dass das dreidimensionale Weltkoordinatensystem nachstehend als ein Roboterkoordinatensystem bezeichnet werden wird.
  • 2 zeigt eine Blockdarstellung, die wiederum einen Steueraufbau der Konturlinienmessvorrichtung 100 in 1 zeigt. Wie in 2 gezeigt, umfasst die Konturlinienmessvorrichtung 100 das Paar von Kameras 3A und 3B, die Steuervorrichtung 5 für einen visuellen Sensor und weiterhin eine Bedienkonsole 6 für einen visuellen Sensor. Die Bedienkonsole 6 für einen visuellen Sensor gibt in die Steuervorrichtung 5 für einen visuellen Sensor verschiedene Anweisungen ein. Die Steuervorrichtung 5 für einen visuellen Sensor ist konfiguriert, um eine arithmetische Verarbeitungseinheit einschließlich einer zentralen Verarbeitungseinheit (CPU, central processing unit), eines Festwertspeichers (ROM, read only memory), eines Speichers mit wahlfreiem Zugriff (RAM, random access memory), der anderen peripheren Schaltungen und dergleichen zu umfassen. Die Steuervorrichtung 5 für einen visuellen Sensor umfasst, als einen Funktionsaufbau, eine Konturlinieninformationsspeichereinheit 7, eine Kalibrierungsdatenspeichereinheit 8 und eine Bildverarbeitungseinheit 10.
  • Die Konturlinieninformationsspeichereinheit 7 speichert vorab eine Konturlinie des Werkstücks 2 als eine Referenz, d. h. dreidimensionale Forminformationen und Positionsinformationen einer Referenzkonturlinie. Die Referenzkonturlinie wird durch einen Entwurfswert bestimmt. Die Steuervorrichtung 5 für einen visuellen Sensor kann direkt von außen die dreidimensionalen Forminformationen der Referenzkonturlinie lesen, z. B. in einem vorbestimmten Dateiformat. Es sei darauf hingewiesen, dass die Steuervorrichtung 5 für einen visuellen Sensor von außerhalb dreidimensionale CAD-Daten des Werkstücks 2 lesen kann, und ein Benutzer eine Position der Konturlinie des Werkstücks 2 über die Bedienkonsole 6 für einen visuellen Sensor spezifizieren kann, um dreidimensionale Forminformationen zu bestimmen.
  • Die dreidimensionalen Forminformationen der Referenzkonturlinie werden bestimmt, indem z. B. ein einzelnes Koordinatensystem auf dem Werkstück 2 (Werkstückkoordinatensystem) definiert wird, das Positionen von Punkten und Linien, die die Referenzkonturlinie bilden, in Koordinatendaten auf der Grundlage des Werkstückkoordinatensystems darstellt. In diesem Fall entsprechen eine Position und eine Stellung des Werkstückkoordinatensystems relativ zu dem Roboterkoordinatensystem, d. h. eine Position des Ursprungs des Werkstückkoordinatensystems in dem Roboterkoordinatensystem und eine Stellung des Werkstückkoordinatensystems bei der Position, den Positionsinformationen der Referenzkonturlinie.
  • Die Kalibrierungsdatenspeichereinheit 8 speichert vorab Kalibrierungsdaten des Paares von Kameras 3A, 3B. Es sei darauf hingewiesen, dass Verfahren zum Bestimmen von Kalibrierungsdaten und Formaten von Kalibrierungsdaten wohlbekannt sind, und somit die Beschreibung dieses Punktes ausgelassen werden wird. Wenn die Kalibrierungsdaten für eine Kamera bestimmt werden, dann kann eine Position eines dreidimensionalen Punktes in dem Roboterkoordinatensystem (als ein Blickpunkt bezeichnet) auf einem Bild der Kamera, d. h. ein zweidimensionaler Punkt in dem Sensorkoordinatensystem, berechnet werden. Wenn des Weiteren ein Bild des Blickpunktes als der zweidimensionale Punkt in dem Sensorkoordinatensystem bestimmt wird, dann kann eine Sichtlinie, die eine dreidimensionale gerade Linie ist, die den Blickpunkt in dem Robotersystem und einen Fokalpunkt der Kamera passiert, berechnet werden.
  • Wenn des Weiteren die Kalibrierungsdaten von jedem des Paares von Kameras 3A, 3B bestimmt wird, vorausgesetzt dass eine dreidimensionale Position des Blickpunkts in dem Roboterkoordinatensystem bestimmt ist, dann kann eine Ebene, die den Blickpunkt, einen Fokalpunkt der ersten Kamera 3A und einen Fokalpunkt der zweiten Kamera 3B passiert, d. h. eine Epipolarebene (6) berechnet werden. Wenn zudem das Bild des Blickpunktes als ein zweidimensionaler Punkt in dem Sensorkoordinatensystem der ersten Kamera 3A und ein zweidimensionaler Punkt in dem Sensorkoordinatensystem der zweiten Kamera 3B bestimmt wird, dann kann eine dreidimensionale Position des Blickpunktes in dem Roboterkoordinatensystem berechnet werden.
  • Die Bildverarbeitungseinheit 10 führt eine vorbestimmte Verarbeitung (Konturlinienmessverarbeitung) auf der Grundlage von Signalen von der ersten Kamera 3A, der zweiten Kamera 3B, der Konturlinieninformationsspeichereinheit 7, der Kalibrierungsdatenspeichereinheit 8 und der Bedienkonsole 6 für einen visuellen Sensor aus. Dabei bestimmt die Bildverarbeitungsvorrichtung 10 einen zweidimensionalen Punkt in dem Sensorkoordinatensystem der ersten Kamera 3A, der einem dreidimensionalen Punkt auf der Konturlinie des Werkstücks 2 (Messpunkt) entspricht, und einen zweidimensionalen Punkt in dem Sensorkoordinatensystem der zweiten Kamera 3B, der demselben Messpunkt entspricht, d. h. ein Paar entsprechender Punkte. Des Weiteren berechnet die Bildverarbeitungseinheit 10 eine dreidimensionale Position des Messpunktes in dem Roboterkoordinatensystem unter Verwendung des Paares von entsprechenden Punkten. 3 zeigt eine Blockdarstellung, die wiederum einen ausführlichen Aufbau der Bildverarbeitungseinheit 10 zeigt, und 4 zeigt ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung zeigt, die in der Bildverarbeitungseinheit 10 ausgeführt wird.
  • Wie in 3 gezeigt, umfasst die Bildverarbeitungseinheit 10 eine Epipolarebeneerzeugungseinheit 11, eine Epipolarlinienberechnungseinheit 12, eine Kamerasteuereinheit 13, eine Referenzkonturlinieneinstellungseinheit 19, eine Referenzkonturlinienbildberechnungseinheit 14, eine Kantenlinienentnahmeeinheit 15, eine Kantenpunkterzeugungseinheit 16, eine Auswahleinheit 17 für einen entsprechenden Punkt und eine Berechnungseinheit 18 für einen dreidimensionalen Punkt.
  • Eine Konturlinienmessverarbeitung, die in 4 gezeigt ist, wird gestartet, wenn ein Benutzer eine Anweisung zum Messen der Konturlinie des Werkstücks 2 z. B. über die visuelle Sensorbedienkonsole 6 eingibt. Es sei darauf hingewiesen, dass nachstehend unter der Bedingung, dass das Werkstück 2 angrenzend an eine Position angelegt ist, die durch die Positionsinformationen angegeben sind, die in der Konturlinieninformationsspeichereinheit 7 gespeichert sind, die Verarbeitung in 4 nachstehend beschrieben werden wird. 5 zeigt eine Draufsicht des Werkstücks 2, das ein Beispiel einer Konturlinie 2a zeigt. Eine Oberfläche des Werkstücks 2 in 5 ist den Kameras 3A, 3B entgegengerichtet, und in 5 werden zur Verdeutlichung ein Bildaufnahmebereich AR1 der ersten Kamera 3A und ein Bildaufnahmebereich AR2 der zweiten Kamera 3B projiziert. Die Bildaufnahmebereiche AR1, AR2 sind im Wesentlichen gleich zueinander, und enthalten die Gesamtheit des Werkstücks 2.
  • In einem Schritt S1 wird durch eine Verarbeitung in der Epipolarebenenerzeugungseinheit 11 eine Vielzahl von Epipolarebenen ES, die das Werkstück 2 queren, in einem gemeinsamen Blickfeld der ersten Kamera 3A und der zweiten Kamera 3B erzeugt. 6 zeigt eine Darstellung, die ein Beispiel der Epipolarebenen ES zeigt. Es sei darauf hingewiesen, dass in 6 die Abbildungsoberflächen 30 (30A, 30B) der Kameras 3 ebenso gezeigt sind. Die Anzahl epipolarer Ebenen ES wird in Anbetracht der Dichte der Messpunkte auf der Konturlinie 2a des Werkstücks 2, der Berechnungszeit, die zum Berechnen von dreidimensionalen Positionen der Messpunkte erforderlich ist, und dergleichen bestimmt. Damit die Epipolarebenen ES erzeugt werden, muss zumindest dieselbe Anzahl von Blickpunkten P wie die Anzahl von Epipolarebenen ES in einem dreidimensionalen Raum gesetzt werden. Die Blickpunkte P werden z. B. in dem nachfolgenden Prozess gesetzt. Es sei darauf hingewiesen, dass nachstehend zur Vereinfachung der Beschreibung eine optische Achse der ersten Kamera 3A bzw. eine optische Achse der zweiten Kamera 3B angenommen werden, hinsichtlich einander bei einem Punkt zu queren, der um einen geeigneten Abstand von den Kameras 3A, 3B entfernt ist.
  • Als erstes wird eine Summe (Vektor A) eines Richtungsvektors der optischen Achse der ersten Kamera 3A und eines Richtungsvektors der optischen Achse der zweiten Kamera 3B berechnet. Dann wird ein Schnittpunkt (Schnittpunkt A) der optischen Achse und der ersten Kamera 3A und der optischen Achse der zweiten Kamera 3B berechnet. Dann wird eine Ebene (Ebene A) berechnet, die durch die optische Achse der ersten Kamera 3A und die optische Achse der zweiten Kamera 3B ausgebildet ist. Dann wird eine Ebene (Ebene B) berechnet, die den Schnittpunkt A passiert und den Vektor A als Normallinie aufweist. Dann wird eine Schnittlinie (gerade Linie A) der Ebene A und der Ebene B berechnet. Dann wird eine gerade Linie (gerade Linie B) berechnet, die sich auf der Ebene B befindet, den Schnittpunkt A passiert und unter einem rechten Winkel die gerade Linie A schneidet. Als letztes, wie in 5 gezeigt, werden die Blickpunkte P (P1, P2, ..., Pn) auf der geraden Linie B mit einem vorbestimmten Raum dazwischen erzeugt. Hinsichtlich jedes Blickpunktes P, wie in 6 gezeigt, wird die Epipolarlinie ES erzeugt, die den Fokalpunkt FP1 der ersten Kamera 3A und den Fokalpunkt FP2 der zweiten Kamera 3B passiert.
  • In einem Schritt S2 wird durch eine Verarbeitung in der Epipolarlinienberechnungseinheit 12 die Epipolarlinie EL von jeder der Vielzahl von Epipolarebenen ES berechnet, die in dem Schritt S1 erzeugt ist. Mit anderen Worten, wie in 6 gezeigt, wird die Epipolarebene ES auf jede der Abbildungsoberflächen 30A der ersten Kamera 3A und die Abbildungsoberflächen 30B der zweiten Kamera 30B projiziert, um die Epipolarlinie EL zu berechnen. Dies wird hinsichtlich der Vielzahl epipolarer Ebenen ES durchgeführt, um die Vielzahl epipolarer Linien EL zu erhalten. 7 zeigt eine Darstellung, die wiederum ein Beispiel der Vielzahl von Epipolarlinien EL (EL1, EL2, ..., ELn) auf der Abbildungsoberfläche 30 einer der Kameras 3 ist.
  • Es sei darauf hingewiesen, dass wenn die Positionsbeziehung des Paares von Kameras 3A, 3B und des Fokalabstands jeder der Kameras 3A, 3B unverändert bleibt, können die Epipolarlinien ES, die in Schritt S1 erzeugt sind, und die Epipolarlinien EL, die in Schritt S2 erzeugt sind, womöglich nicht wieder bestimmt werden. Somit können die erst einmal erzeugten Epipolarlinien ES und die erst einmal berechneten Epipolarlinien EL gespeichert werden, z. B. in einer Speichervorrichtung innerhalb oder außerhalb der Steuervorrichtung 5 für einen visuellen Sensor, und können gelesen werden, wenn das Messen der Konturlinie des Werkstücks 2 durchgeführt wird. Dadurch kann die Berechnung zum Bestimmen der Epipolarebenen ES und der Epipolarlinien EL ausgelassen werden, und kann eine Konturlinienform mit hoher Geschwindigkeit gemessen werden.
  • In einem Schritt S3 wird durch eine Verarbeitung in der Kamerasteuereinheit 13 ein Steuersignal zu den Kameras 3A, 3B ausgegeben, und werden die erste Kamera 3A und die zweite Kamera 3B veranlasst, ein Bild des Werkstücks 2 aufzunehmen. Die erste Kamera 3A nimmt ein Bild des Werkstücks 2 auf, und nimmt ein erstes Werkstückbild als ein erstes Objektbild auf. Die zweite Kamera 3B nimmt ein Bild des Werkstücks 2 auf, und nimmt ein zweites Werkstückbild als ein zweites Objektbild auf. Dadurch erlangen die Abbildungsoberflächen 30A, 30B der Kamera 3A, 3B jeweils ein Bild (Werkstückbild).
  • In einem Schritt S4 setzt die Referenzkonturliniensetzeinheit 19 die dreidimensionale Referenzkonturlinie des Werkstücks 2, z. B. auf der Grundlage der dreidimensionalen Forminformationen und der Positionsinformationen der Referenzkonturlinie. Dann wird durch eine Verarbeitung in der Referenzkonturlinienbildberechnungseinheit 14 die Referenzkonturlinie des Werkstücks 2, die in der Konturlinieninformationsspeichereinheit 7 gespeichert ist, auf jedes Bild der ersten Kamera 3A und das Bild der zweiten Kamera 3B projiziert, um ein Referenzkonturlinienbild 40 zu berechnen (vgl. 8). Im Einzelnen wird zuerst eine Vielzahl dreidimensionaler Punkte auf der Referenzkonturlinie mit einem vorbestimmten Raum dazwischen gesetzt. Eine Vielzahl dreidimensionaler Punkte wird z. B. in dem Werkstückkoordinatensystem gesetzt, und wird dann eine Koordinate des dreidimensionalen Punkts in eine Koordinate in dem Roboterkoordinatensystem umgewandelt, wodurch die Vielzahl dreidimensionaler Punkte gesetzt wird. Dann wird eine Vielzahl dreidimensionaler Punkte auf das Bild von jeder der Kameras 3A, 3B projiziert, um eine Vielzahl zweidimensionaler Punkte auf dem Sensorkoordinatensystem zu bestimmen. Die Vielzahl zweidimensionaler Punkte, die so erlangt wurden, wird Punkt für Punkt miteinander verbunden, um das Referenzkonturlinienbild 40 zu erlangen.
  • In einem Schritt S5 wird durch eine Verarbeitung in der Kantenlinienentnahmeeinheit 15 eine Kantenlinie 50 aus dem Bild von jeder der Kameras 3A, 3B entnommen. Die Kantenlinie 15 ist ein Satz von Liniensegmenten, in denen Abschnitte, die einen großen Änderungsbetrag in dem Luminanzwert in dem Bild anzeigen, miteinander verbunden wird. Die Kantenlinie 50 kann unter Verwendung eines Sobel-Filters oder eines Canny-Kantendetektors entnommen werden. 8 zeigt eine Darstellung, die wiederum ein Beispiel der Kantenlinie 50 auf dem Bild in der Abbildungsoberfläche 30 zeigt.
  • Wenn die Kantenlinie 50 entnommen wird, dann wird zuerst, wie in 8 gezeigt, ein Kantenlinienfassungsbereich 41 angrenzend an den Referenzkonturlinienbild 40 gesetzt, z. B. innerhalb eines vorbestimmten Abstands ΔL von dem Referenzkonturlinienbild 40. Die vorbestimmte Distanz ΔL kann vorab in einem Speicher in der Steuervorrichtung 5 für einen visuellen Sensor gespeichert werden oder über die Bedienkonsole 6 für einen visuellen Sensor eingestellt werden. Selbst wenn zudem der vorbestimmte Abstand ΔL, der über das gesamte Referenzkonturlinienbild 40 konstant ist, sich ändert, können Änderungen durchgeführt werden abhängig von einem Teil des Referenzkonturlinienbildes 40.
  • Die Kantenlinienentnahmeeinheit 15 sucht die Kantenlinie 50 aus dem Bild in dem Kantenlinienerfassungsbereich 41 zur Durchführung einer Entnahme. Ein Suchbereich der Kantenlinie 50 ist auf diese Art und Weise beschränkt, wodurch eine Wirkung dahingehend erzielt wird, dass verhindert wird, dass Objekte, die von der Konturlinie des Werkstücks verschieden sind, als Erfassungsobjekt aus der Kantenlinie 50 entnommen werden. Zudem entsteht ebenso eine Wirkung, in der die Kantenlinie 50 mit hoher Geschwindigkeit entnommen werden kann. Die Vielzahl von Kantenlinien 50, die miteinander verbunden sind, stellt ein Ist-Bild der Konturlinie des Werkstücks 2 dar. Es sei darauf hingewiesen, dass eine Divergenz zwischen der Referenzkonturlinie und der Ist-Konturlinie des Werkstücks 2 aufgrund eines individuellen Unterschieds des Werkstücks 2, eine Divergenz in Positionsinformationen und dergleichen derart vorliegt, dass in 8 eine Divergenz zwischen dem Referenzkonturlinienbild 40 und den Kantenlinien 50 auftritt.
  • In einem Schritt S6 wird durch eine Verarbeitung in der Kantenpunkterzeugungseinheit 16 ein Schnittpunkt der Kantenlinie 50 auf jedem Bild, das in dem Schritt S5 entnommen ist, und der Epipolarlinie EL berechnet, um einen Kantenpunkt EP zu erlangen. Auf dem Bild von jeder der Kameras 3A, 3B wird die Vielzahl von Kantenpunkten EP erlangt. Nachstehend wird die Vielzahl von Kantenpunkten EP auf dem Bild der ersten Kamera 3A als erste Kantenpunktegruppe bezeichnet werden, und wird die Vielzahl von Kantenpunkten EP auf dem Bild der zweiten Kamera 3B als zweite Kantenpunktegruppe bezeichnet werden.
  • Es sei darauf hingewiesen, dass in 7 die Vielzahl von Kantenlinien 50 die Epipolarlinie EL quert, und die Vielzahl von Kantenpunkten EP (EP1 und EP2, EP3 und EP4) auf derselben epipolaren Ebene ES erzeugt werden. Da in diesem Beispiel ein Fehler hinsichtlich des Kantenpunkts EP bei einem Abschnitt zunimmt, in dem die Kantenlinie 50 und die Epipolarlinie EL näherungsweise parallel zueinander verlaufen, erzeugt die Kantenpunkteerzeugungseinheit 16 keinen Kantenpunkt bei einem solchen Abschnitt.
  • In einem Schritt S7 wird durch eine Verarbeitung in der Auswahleinheit 17 für einen entsprechenden Punkt aus der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe, die in Schritt S6 erlangt sind, ein einzelner Kantenpunkt EP der ersten Kantenpunktegruppe und ein einzelner Kantenpunkt EP der zweiten Kantenpunktegruppe, die einander entsprechen, in jeder der Gruppen ausgewählt. Nachstehend wird das ausgewählte Paar von Kantenpunkten EP, d. h. der Kantenpunkt EP, der aus der ersten Kantenpunktegruppe ausgewählt ist (erster Kantenpunkt), und der Kantenpunkt EP, der aus der zweiten Kantenpunktegruppe ausgewählt ist (zweiter Kantenpunkt), beide als entsprechende Punkte bezeichnet, und wird eine Kombination des ersten Kantenpunktes EP und des zweiten Kantenpunktes EP als ein Kantenpunktepaar bezeichnet. Das Auswählen des Kantenpunktepaars wird z. B. auf die nachfolgende Art und Weise durchgeführt.
  • Zuerst werden aus der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe die Kantenpunkte EP auf derselben epipolaren Ebene ES entnommen. Die entnommenen Kantenpunkte EP sind Kandidaten für das Kantenpunktepaar. Wenn der erste Kantenpunkt EP, der aus der ersten Kantenpunktegruppe entnommen ist, und der zweite Kantenpunkt EP, der aus der zweiten Kantenpunktegruppe entnommen ist, jeweils aus einem einzelnen Punkt bestehen, dann entsprechen die Kantenpunkte EP Eins-zu-Eins einander auf derselben epipolaren Ebene ES, und werden folglich als ein Kantenpunktepaar bestimmt. Es sei darauf hingewiesen, dass wenn zumindest einer des ersten Kantenpunkts EP, der aus der ersten Kantenpunktegruppe entnommen ist, und des zweiten Kantenpunkts EP, der aus der zweiten Kantenpunktegruppe entnommen ist, nicht existieren, dann die Kantenpunkte EP einander nicht auf derselben epipolaren Ebene ES entsprechen, und folglich kein Punktepaar erstellt wird.
  • Wenn demgegenüber zumindest einer des ersten Kantenpunktes EP, der aus der ersten Kantenpunktegruppe entnommen ist, und des zweiten Kantenpunktes EP, der aus der zweiten Kantenpunktegruppe entnommen ist, aus mehreren Punkten besteht, dann wird der nächstliegende Punkt NP auf dem Referenzkonturlinienbild 40 bestimmt, der dem Kantenpunkt EP entspricht. 9 zeigt eine Darstellung, die ein Beispiel des nächstliegenden Punktes NP (NP1, NP2) zeigt. Der nächstliegende Punkt NP ist ein Punkt auf dem Referenzkonturlinienbild 40, zu dem ein Abstand von dem Kantenpunkt EP am kleinsten ist, und sind z. B., wie in 9 gezeigt, Schnittpunkte lotrechter Linien 51, die die Kantenpunkte EP1, EP2 passieren, relativ zu der Kantenlinie 50 und dem Referenzkonturlinienbild 40 die nächstliegenden Punkte NP1, NP2. Von den Schnittpunkten als Startpunkte, kann ein Punkt auf dem Referenzkonturlinienbild 40, zu dem ein Abstand von dem Kantenpunkt EP am kleinsten ist, ermittelt werden, und kann als der nächstliegende Punkt NP bestimmt werden. Wie in 10 gezeigt ist, kann die Gesamtheit der Kantenlinie 50 in einer parallelen und/oder drehenden Art und Weise derart versetzt sein, dass die Kantenlinie 50 dem Referenzkonturlinienbild 40 entspricht, und können dann Punkte mit einem Abstand von den Kantenpunkten EP1', EP2' auf der so versetzten Kantenlinie 50' als die nächstliegenden Punkte NP1, NP2 bestimmt werden.
  • Folglich wird ein erster Projektionsbasispunkt berechnet, der ein Schnittpunkt einer Sichtlinie der ersten Kamera 3A, die den nächstliegenden Punkt NP auf dem Bild der ersten Kamera 3A passiert, und der Referenzkonturlinie des Werkstücks 2 ist. Außerdem wird ein zweiter Projektionsbasispunkt berechnet, der ein Schnittpunkt einer Sichtlinie der zweiten Kamera 3B, die den nächstliegenden Punkt NP auf dem Bild der zweiten Kamera 3B passiert, und der Referenzkonturlinie ist. Da in diesem Fall zumindest einer des ersten Kantenpunktes EP und des zweiten Kantenpunktes EP aus mehreren Punkten besteht, besteht zumindest einer des ersten Projektionsbasispunktes und des zweiten Projektionsbasispunktes aus mehreren Punkten, von denen einer, in dem ein Abstand zwischen dem ersten Projektionsbasispunkt und dem zweiten Projektionsbasispunkt (Interprojektionsbasispunktabstand) kleiner als ein vorbestimmter Wert α ist, für das Kantenpunktepaar ausgewählt wird.
  • Es sei darauf hingewiesen, dass der Interprojektionsbasispunktabstand ein gerader Linienabstand zwischen dem ersten Projektionsbasispunkt und dem zweiten Projektionsbasispunkt sein kann, und alternativ eine Länge der Referenzkonturlinie zwischen dem ersten Projektionsbasispunkt und dem zweiten Projektionsbasispunkt sein kann. Der vorbestimmte Wert α ist ein Schwellwert zum Bestimmen, ob die nächstliegenden Punkte NP auf den entsprechenden Bildern der Kameras 3A, 3B jeweils denselben Abschnitt der Referenzkonturlinie darstellen oder nicht. Wenn die Vielzahl von Kantenpunktepaaren vorliegt, in denen der Interprojektionsbasispunktabstand kleiner als der vorbestimmte Wert α ist, dann kann einer von ihnen, bei einem der Interprojektionsbasispunktabstand der kleinste ist, für das Kantenpunktepaar ausgewählt werden. Wenn die Vielzahl von solchen vorliegt, in denen die Interprojektionsbasispunktabstände derer nahe zueinander liegen, kann das Kantenpunktepaar ebenso in Anbetracht eines Abstands zwischen dem nächstliegenden Punkt NP und dem Kantenpunkt EP ausgewählt werden.
  • Wenn der erste Kantenpunkt EP, der aus der ersten Kantenpunktegruppe entnommen ist, und der zweite Kantenpunkt EP, der aus der zweiten Kantenpunktegruppe entnommen ist, jeweils aus einem einzelnen Punkt bestehen, dann kann der Interprojektionsbasispunktabstand auf eine Art und Weise ähnlich der vorstehend beschriebenen berechnet werden, und kann das Kantenpunktepaar unter der Bedingung ausgewählt werden, dass der Interprojektionsbasispunktabstand kleiner als der vorbestimmte Wert α ist. Somit kann eine Schätzung durchgeführt werden, ob der erste Kantenpunkt EP und der zweite Kantenpunkt EP vorzugsweise einander entsprechen oder nicht, d. h. eine Schätzung, ob diese das effektive Kantenpunktepaar sind oder nicht.
  • In einem Schritt S8 wird durch eine Verarbeitung in der Berechnungseinheit 18 für einen dreidimensionalen Punkt eine Sichtlinie, die den ersten Kantenpunkt EP, der aus dem Kantenpunktepaar besteht, das in Schritt S7 beschrieben ist, mit dem Fokalpunkt der ersten Kamera 3A verbindet, und eine Sichtlinie, die den zweiten Kantenpunkt EP, der aus dem in dem Schritt S7 bestimmten Kantenpunktepaar besteht, mit dem Fokalpunkt der zweiten Kamera 3B verbindet, jeweils berechnet, und wird weiterhin ein Schnittpunkt (Messpunkt) der zwei Sichtlinien berechnet. Dadurch kann eine dreidimensionale Position des Messpunktes der Konturlinie des Werkstücks 2 gemessen werden.
  • Gemäß dem ersten Ausführungsbeispiel, das vorstehend beschrieben wurde, werden die nächstliegenden Punkte NP auf dem Bild derart gesetzt, dass aus der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe ein Paar des ersten Kantenpunktes EP und des zweiten Kantenpunktes EP, die auf derselben epipolaren Ebene ES liegen und demselben Abschnitt der Referenzkonturlinie entsprechen, ausgewählt werden, eine Position des Messpunktes in dem Roboterkoordinatensystem unter Verwendung des Kantenpunktepaares spezifiziert wird, und eine dreidimensionale Position des Messpunktes berechnet wird. Selbst wenn dadurch die Vielzahl von Kantenlinien 50 vorliegt, die die epipolare Linie EL queren, und folglich eine Vielzahl von Kandidaten für das Kantenpunktepaar vorliegt, kann veranlasst werden, dass der erste Kantenpunkt EP und der zweite Kantenpunkt EP einander vorzugsweise eins-zu-eins entsprechen, und kann ein dreidimensionaler Punkt auf der Konturlinie des Werkstücks 2 genau berechnet werden.
  • Zudem ermöglicht ein vergleichsweise einfacher Aufbau, der zwei Kameras umfasst, eine Bestimmung der dreidimensionalen Konturlinienform des Werkstücks 2. Des Weiteren kann das Aufnehmen eines Bildes durch die Kameras 3A, 3B ein Mal durchgeführt werden, wodurch eine Messung der Konturlinienform bzw. ihre Durchführung mit hoher Geschwindigkeit ermöglicht wird. Des Weiteren kann gemäß diesem Ausführungsbeispiel die Position der Konturlinie nicht nur dann bestimmt werden, wenn die dreidimensionale Konturlinie des Werkstücks 2 sich auf einer spezifischen Ebene befindet, sondern ebenso dann, wenn die dreidimensionale Konturlinie nicht auf einer Ebene liegt.
  • Die epipolaren Ebenen ES können ebenso vorab derart unterteilt werden, dass die Punkte EP auf derselben epipolaren Ebene ES eins-zu-eins einander so stark wie möglich in der Auswahleinheit 17 für einen entsprechenden Punkt entsprechen. 11 zeigt eine Darstellung, die ein Verfahren zum Unterteilen der epipolaren Ebene ES durch eine Unterteilungslinie DA und eine Unterteilungslinie DB zeigt, die jeweils der ersten Kamera 3A und der zweiten Kamera 3B entsprechen. Als erstes werden hinsichtlich jeder der Vielzahl epipolarer Ebenen ES Schnittpunkte Pα, Pβ mit der Referenzkonturlinie berechnet. Wenn lediglich ein einzelner Schnittpunkt vorliegt, oder kein Schnittpunkt vorliegt, wird nachfolgend ein Voranschreiten zu dem nachfolgenden Schritt durchgeführt. Wenn mehrere Schnittpunkte vorliegen, dann wird jeder Mittelpunkt Pγ zwischen den Schnittpunkten Pα, Pβ bestimmt, die aneinander auf der epipolaren Ebene angrenzen, und wird die epipolare Ebene ES durch die Unterteilungslinien DA, DB unterteilt, die jeden Mittelpunkt Pγ mit dem Fokalpunkt FP1 der ersten Kamera 3A bzw. dem Fokalpunkt FP2 der zweiten Kamera 3B verbinden.
  • Die epipolare Ebene ES wird durch die Unterteilungslinien DA, DB, die voneinander verschieden sind, hinsichtlich der ersten Kamera 3A und der zweiten Kamera 3B unterteilt. Wie in 12 gezeigt, werden die epipolare Ebene der ersten Kamera 3A und die epipolare Ebene der zweiten Kamera 3B, die durch dieselben Mittelpunkte Pγ1, Pγ2, Pγ3 unterteilt sind, jeweils mit ähnlichen Indizes A1–A4, B1–B4 versehen, die als gemeinsam dafür gelten. Die unterteilten epipolaren Ebenen werden jeweils als voneinander verschiedene epipolare Ebenen betrachtet, und es werden die Kantenpunkte EP auf derselben unterteilten epipolaren Ebene ES jeweils von der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe entnommen, wodurch eine Begrenzung der Anzahl von Kandidaten für die entsprechenden Punkte möglich wird. Da offensichtlich ist, dass die Wirkungen des Unterteilens der Referenzkonturlinie oder des Unterteilens eines Entnahmebereichs der Kantenlinie 50 ähnlich jenen des Unterteilens der epipolaren Ebenen ES erlangt werden kann, wird eine Beschreibung dieses Sachverhalts ausgelassen werden.
  • 13 zeigt ein Ablaufdiagramm, das ein modifiziertes Beispiel gemäß 4 zeigt. In einem Schritt S11 wird auf eine Art und Weise ähnlich dem Schritt S3 in 4 durch eine Verarbeitung in der Kamerasteuereinheit 13 die erste Kamera und die zweite Kamera veranlasst, um einen Betrieb zum Aufnehmen eines Bildes durchzuführen, und wird ein Paar von Bildern erlangt. In einem Schritt S12 wird auf eine Art und Weise ähnlich dem Schritt S4 in 4 durch die Verarbeitung in der Referenzkonturlinienbildberechnungseinheit 14 die Referenzkonturlinie auf das Paar von Bildern projiziert, um das Referenzkonturlinienbild 40 zu berechnen. In einem Schritt S13 wird auf eine Art und Weise ähnlich dem Schritt S5 in 4 durch die Verarbeitung in der Kantenlinienentnahmeeinheit 15 die Kantenlinie 50 aus dem Paar von Bildern entnommen.
  • In einem Schritt 14 wird durch eine Verarbeitung in der Kantenpunkteentnahmeeinheit 16 die Vielzahl von Kantenpunkten EP (erste Kantenpunktegruppe) auf der Kantenlinie 50, die aus dem Bild der ersten Kamera 3A entnommen ist, mit einem vorbestimmten Raum dazwischen erzeugt. In diesem Fall fungiert die Kantenpunkteerzeugungseinheit 16 als eine erste Kantenpunkteerzeugungseinheit. Erste Kantenpunkte EP sind Punkte als Referenz zum Bestimmen dreidimensionaler Punkte auf der Konturlinie und werden gesetzt, um einen vorbestimmten Raum zwischen sich derart aufzuweisen, um die dreidimensionalen Punkte zu erlangen, die hinreichend dicht sind.
  • In einem Schritt S15 wird durch eine Verarbeitung in der Epipolarebenenerzeugungseinheit 11 hinsichtlich jedem der ersten Kantenpunkte EP, die in dem Schritt S14 erzeugt sind, die Vielzahl epipolarer Ebenen ES erzeugt, die die entsprechenden Kantenpunkte EP und die Fokalpunkte der Kameras 3A, 3B passieren.
  • In einem Schritt S16 wird durch eine Verarbeitung in der Epipolarlinienberechnungseinheit 12 die Vielzahl epipolarer Ebenen ES, die in Schritt S15 erzeugt sind, jeweils auf die Abbildungsoberfläche 30B der zweiten Kamera 30B projiziert, und wird die Vielzahl epipolarer Linien EL berechnet.
  • In einem Schritt S17 wird durch eine Verarbeitung in der Kantenpunkteerzeugungseinheit 16 die Vielzahl von Kantenpunkten EP (zweite Kantenpunktegruppe) berechnet, die Schnittpunkte der Vielzahl epipolarer Linien EL, die in dem Schritt S16 erzeugt sind, und der Kantenlinie 50 sind. In diesem Fall fungiert die Kantenpunkteerzeugungseinheit 16 als eine zweite Kantenpunkteerzeugungseinheit.
  • In einem Schritt S18 werden durch eine Verarbeitung in der Auswahleinheit 17 für einen entsprechenden Punkt der erste Kantenpunkt EP und der zweite Kantenpunkt EP, die durch das Erzeugen der epipolaren Ebenen ES und der epipolaren Linien EL auf der Grundlage des ersten Kantenpunktes EP bestimmt sind, aus der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe ausgewählt und als das Kantenpunktepaar bestimmt.
  • Wenn in diesem Fall die Vielzahl erster Kantenpunkte EP und/oder die Vielzahl zweiter Kantenpunkte EP auf derselben epipolaren Ebene ES vorliegt, dann werden auf eine Art und Weise ähnlich der vorstehend beschriebenen der nächstliegende Punkt NP und der Projektionsbasispunkt, die jedem Kantenpunkt EP entsprechen, Punkt für Punkt bestimmt, und werden weiterhin der erste Kantenpunkt und der zweite Kantenpunkt, in denen der Interprojektionsbasispunktabstand kleiner als der vorbestimmte Wert α ist, als das Kantenpunktepaar bestimmt. Dadurch können der erste Kantenpunkt EP und der zweite Kantenpunkt EP, die demselben Abschnitt der Referenzkonturlinie entsprechen, als das Kantenpunktepaar bestimmt werden.
  • In einem Schritt S19 wird auf eine Art und Weise ähnlich dem Schritt S8 in 4 durch eine Verarbeitung in der Berechnungseinheit 18 für einen dreidimensionalen Punkt eine dreidimensionale Position des Messpunktes auf der Konturlinie des Werkstücks 2 unter Verwendung des in dem Schritt S18 berechneten Kantenpunktepaars erlangt.
  • (Zweites Ausführungsbeispiel)
  • Nachstehend wird ein zweites Ausführungsbeispiel der vorliegenden Erfindung unter Bezugnahme auf 14 bis 18 beschrieben werden. Es sei darauf hingewiesen, dass nachstehend die Teile, die mit jenen in 1 bis 10 identisch sind, durch die identischen Bezugszeichen angegeben werden, und hauptsächlich der Unterschied von dem ersten Ausführungsbeispiel beschrieben werden wird. Das zweite Ausführungsbeispiel betrifft ein Robotersystem, das die Konturlinienmessvorrichtung 100 umfasst, in der zumindest eine des Paares von Kameras 3A, 3B oder das Werkstück 2 auf eine bewegliche Art und Weise unter Verwendung eines Roboters vorgesehen ist/sind.
  • 14 zeigt eine Darstellung, die wiederum einen prinzipiellen Aufbau eines Robotersystems 200 gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Wie in 14 gezeigt ist, umfasst das Robotersystem 200 das Paar von Kameras 3A, 3B, die Steuervorrichtung 5 für einen visuellen Sensor, die mit dem Paar von Kameras 3A, 3B kommuniziert, um die Konturlinienform des Werkstücks 2 zu berechnen, einen Roboter 60, der das Paar von Kameras 3A, 3B lagert, und eine Robotersteuervorrichtung 65 zum Steuern des Roboters 60. Es sei darauf hingewiesen, dass das Paar von Kameras 3A, 3B und die Steuervorrichtung 5 für einen visuellen Sensor in dem Aufbau der Konturlinienmessvorrichtung 100 umfasst sind. Die Robotersteuervorrichtung weist eine Funktion einer Robotersteuereinheit auf. Die Steuervorrichtung 5 für einen visuellen Sensor umfasst auf eine ähnliche Art und Weise wie in 2 die Konturlinieninformationsspeichereinheit 7, die Kalibrierungsdatenspeichereinheit 8 und die Bildverarbeitungseinheit 10.
  • Der Roboter 60 ist ein Gelenkroboter, der derart konfiguriert ist, dass eine Vielzahl von Armen 61 schwenkbar miteinander verbunden sind, und der einen Armkopfabschnitt mit einer Hand 62 aufweist. Eine Klammer 63 ist an den Armkopfabschnitt des Roboters 60 angefügt, und das Paar von Kameras 3A, 3B ist an der Klammer 63 fixiert. Dadurch, wenn der Arm 61 angetrieben wird, können die erste Kamera 3A und die zweite Kamera 3B in dem dreidimensionalen Raum bewegt werden, während sie konstant eine relative Position und Stellung der Kameras beibehalten, und eine relative Position und Stellung der Kameras 3A, 3B relativ zu dem Werkstück 2 verändert werden kann.
  • Die Steuervorrichtung 5 für einen visuellen Sensor und die Robotersteuervorrichtung 65 sind miteinander durch ein wohlbekanntes Verfahren verbunden, wie z. B. RS232C und ein lokales Bereichsnetzwerk (LAN, local area network), und können miteinander kommunizieren. Dadurch kann die Steuervorrichtung 5 für einen visuellen Sensor momentane Positionsinformationen des Roboters 60 aus der Robotersteuervorrichtung 65 erlangen. Des Weiteren kann die Robotersteuervorrichtung 65 Konturlinienforminformationen des Werkstücks 2 aus der Steuervorrichtung 5 für einen visuellen Sensor erlangen.
  • In dem zweiten Ausführungsbeispiel, das sich von dem ersten Ausführungsbeispiel unterscheidet, können die Kameras 3A, 3B in dem Roboterkoordinatensystem bewegt werden. In Anbetracht dieses Sachverhalts speichert die Kalibrierungsdatenspeichereinheit 8 in der Steuervorrichtung 5 für einen visuellen Sensor Kalibrierungsdaten der Kameras 3A, 3B in einem Koordinatensystem (mechanisches Schnittstellenkoordinatensystem), das auf den Armkopfabschnitt des Roboters 60 gesetzt ist, d. h. Kalibrierungsdaten in dem mechanischen Schnittstellenkoordinatensystem. Außerdem kann die Robotersteuervorrichtung 65 eine Position des Armkopfabschnitts in dem Roboterkoordinatensystem erkennen.
  • Somit werden auf der Grundlage der Kalibrierungsdaten, die in der Kalibrierungsdatenspeichereinheit 8 gespeichert sind, ein zweidimensionaler Punkt in dem Sensorkoordinatensystem und ein dreidimensionaler Punkt in dem mechanischen Schnittstellenkoordinatensystem veranlasst, einander zu entsprechen, und wird weiterhin das mechanische Schnittstellenkoordinatensystem in das Roboterkoordinatensystem in Reaktion auf die Position des Armkopfabschnitts umgewandelt, die durch die Robotersteuervorrichtung 65 erkannt ist. Dadurch wird ermöglicht, dass der zweidimensionale Punkt in dem Sensorkoordinatensystem und der dreidimensionale Punkt in dem Roboterkoordinatensystem einander entsprechen. Es können mit anderen Worten eine Position und eine Stellung in dem Sensorkoordinatensystem in Anbetracht des Roboterkoordinatensystems bestimmt werden. Dadurch kann auf eine ähnliche Art und Weise wie in dem ersten Ausführungsbeispiel eine dreidimensionale Punktposition der Konturlinie des Werkstücks 2 unter Verwendung von Bilddaten gemessen werden, die in dem Sensorkoordinatensystem dargestellt sind.
  • Es sei darauf hingewiesen, dass die Kalibrierungsdatenspeichereinheit 8 die Kalibrierungsdaten der Kameras 3A, 3B in dem Roboterkoordinatensystem sowie Positionsinformationen des Roboters 60 während der Kalibrierungsausführung speichern kann. In diesem Fall werden Roboterpositionsinformationen während der Werkstückbildaufnahme und Roboterpositionsinformationen während der Kalibrierungsausführung derart verwendet, dass die Position und die Stellung in dem Sensorkoordinatensystem in Anbetracht des Roboterkoordinatensystems während der Werkstückbildaufnahme bestimmt werden können.
  • Unter Verwendung des Roboters 60 kann das Werkstück 2 anstelle der Kameras 3A, 3B konfiguriert sein, um beweglich zu sein. 15 zeigt eine Darstellung, die wiederum ein Beispiel dieses Sachverhalts zeigt. In 15 ist das Paar von Kameras 3A, 3B auf einer Werkbank 32 fixiert und wird das Werkstück 2 durch die Hand 62 des Armkopfabschnitts des Roboters 60 gehalten. Wenn folglich der Roboter 60 angetrieben wird, wird das Werkstück 2 bewegt, was eine Änderung einer relativen Position und Stellung des Werkstücks 2 relativ zu den Kameras 3A, 3B ermöglicht.
  • In diesem Fall speichert die Konturlinieninformationsspeichereinheit 7 in der Steuervorrichtung 5 für einen visuellen Sensor nicht die Position und die Stellung in dem Werkstückkoordinatensystem in Anbetracht des Roboterkoordinatensystems, sondern die Position und die Stellung in dem Werkstückkoordinatensystem in Anbetracht des mechanischen Schnittstellenkoordinatensystems. Die Position und die Stellung in dem Werkstückkoordinatensystem in Anbetracht des mechanischen Schnittstellenkoordinatensystems wird hinsichtlich der Koordinate auf der Grundlage der Roboterpositionsinformationen während der Werkstückbildaufnahme derart umgewandelt, dass von der Position und der Stellung in dem Werkstückkoordinatensystem in Anbetracht des mechanischen Schnittstellenkoordinatensystems die Position und die Stellung in dem Werkstückkoordinatensystem in Anbetracht des Roboterkoordinatensystems bestimmt werden können. Dadurch kann auf eine Art und Weise ähnlich dem ersten Ausführungsbeispiel eine dreidimensionale Punktposition der Konturlinie des Werkstücks 2 unter Verwendung von Bilddaten gemessen werden, die in dem Sensorkoordinatensystem dargestellt sind.
  • In dem zweiten Ausführungsbeispiel werden die Kameras 3A, 3B oder das Werkstück 2 unter Verwendung des Roboters 60 derart bewegt, dass dreidimensionale Punkte von voneinander verschiedenen Abschnitten der Konturlinie des Werkstücks 2 gemessen werden können. 16 zeigt eine Darstellung, die wiederum einen Aufbau der Bildverarbeitungseinheit 10 gemäß dem zweiten Ausführungsbeispiel zeigt. Die Bildverarbeitungseinheit 10 umfasst weiterhin zusätzlich zu dem Aufbau in 3 eine Bildaufnahmepositionsberechnungseinheit 21 und eine Evaluierungseinheit 22.
  • Die Bildaufnahmepositionsberechnungseinheit 21 berechnet eine Sollposition (Position und Stellung) des Armkopfabschnitts. Die Robotersteuervorrichtung 65 steuert den Roboter 60 derart, um den Armkopfabschnitt zu der Sollposition zu bewegen. Die Kamerasteuereinheit 13 veranlasst, dass die Kameras 3A, 3B ein Bild des Werkstücks 2 in dem Zustand aufnehmen, in dem der Armkopfabschnitt bewegt wird, um die Sollposition einzunehmen.
  • Die Bildaufnahmepositionsberechnungseinheit 21 bestimmt die Sollposition des Armkopfabschnitts in Anbetracht einer Normallinienrichtung bei einem Blickpunkt auf der Referenzkonturlinie derart, dass die Referenzkonturlinie mit Leichtigkeit gemessen werden kann. Wenn z. B. die Referenzkonturlinie eine bearbeitete Oberfläche des Werkstücks 2 darstellt, dann wird die Sollposition des Armkopfabschnitts derart bestimmt, dass die Normallinienrichtung bei dem Blickpunkt lotrecht zu der bearbeiteten Oberfläche liegt.
  • Des Weiteren wird die Sollposition derart bestimmt, dass die nachfolgenden drei Bedingungen erfüllt sind: (1) ein Schnittpunkt der optischen Achse der ersten Kamera 3A und der optischen Achse der zweiten Kamera 3B und der Blickpunkt befinden sich bei derselben Position; (2) die Normallinienrichtung bei dem Blickpunkt ist parallel zu einer Summe eines Vektors, der eine Richtung der optischen Achse der ersten Kamera 3A darstellt, und eines Vektors, der eine Richtung der optischen Achse der zweiten Kamera 3B darstellt; und (3) eine Schnittlinie einer Ebene, die durch die optische Achse der ersten Kamera 3A und die optische Achse der zweiten Kamera 3B ausgebildet ist, und einer Ebene, die den Blickpunkt passiert und durch eine Normallinie bei dem Blickpunkt bestimmt ist, befinden sich unter einem rechten Winkel zu einer Tangentiallinie bei dem Blickpunkt auf der Referenzkonturlinie. Dadurch ist es unwahrscheinlich, dass die epipolare Linie EL auf dem Bild parallel zu der Kantenlinie 50 verläuft, was die Messung der Referenzkonturlinie erleichtert.
  • In dem zweiten Ausführungsbeispiel, wenn die Konturlinie in Relation zu den Bildaufnahmebereichen AR1, AR2 der Kameras 3A, 3B jeweils groß ist, wird die Vielzahl von Sollpositionen vorzugsweise eingestellt und wird das Messen der Konturlinie vorzugsweise in mehrere Schritte unterteilt. In diesem Fall bewegt die Robotersteuervorrichtung 65 den Armkopfabschnitt Stück für Stück zu der Vielzahl von Sollpositionen, und es wird eine Konfiguration implementiert, so dass jedes Mal dann, wenn der Armkopfabschnitt sich zu der Vielzahl von Sollpositionen bewegt, die erste Kamera 3A und die zweite Kamera 3B ein Bild des Werkstücks 2 aufnehmen.
  • Die Vielzahl von Sollpositionen kann manuell und ebenso automatisch eingestellt werden. Wenn die Sollpositionen automatisch eingestellt werden, dann wird zuerst ein Blickpunkt auf der Referenzkonturlinie gesetzt und wird eine Sollposition des Armkopfabschnitts wie vorstehend beschrieben bestimmt. Ein Abschnitt der Referenzkonturlinie, der der Sollposition entspricht und sowohl in dem Bildaufnahmebereich AR1 der ersten Kamera 3A als auch dem Bildaufnahmebereich AR2 der zweiten Kamera 3B umfasst ist, wird als ein virtuell aufgenommener Abschnitt in einem Speicher gespeichert. Es sei darauf hingewiesen, dass die Bildaufnahmebereiche AR1, AR2 nicht lediglich physikalisch auf die Kameras selbst beschränkt sind, sondern ebenso durch das Einstellen eines Verarbeitungsbereichs in der Software beschränkt sind.
  • Folglich wird ein neuer Blickpunkt außerhalb des virtuell aufgenommenen Abschnitts gesetzt, wird dann die vorstehende Verarbeitung unter Verwendung des Blickpunkts wiederholt und wird der virtuell aufgenommene Abschnitt zusätzlich in dem Speicher gespeichert. Das Setzen eines neuen Blickpunktes und das Speichern eines virtuell aufgenommenen Abschnitts in dem Speicher werden wiederholt, bis die virtuell aufgenommenen Abschnitte die Gesamtheit der Referenzkonturlinie umfassen. Dadurch kann eine Messung der Gesamtheit der Konturlinie durchgeführt werden. In diesem Fall überlappen die virtuell aufgenommenen Abschnitte, die aneinander angrenzen, einander vorzugsweise derart partiell, dass dazwischen kein nicht aufgenommener Abschnitt vorliegt. Die Blickpunkte können sequenziell bestimmt werden, während ein Überlappungszustand der virtuell aufgenommenen Abschnitte evaluiert wird.
  • Ein Sollpositionssetzverfahren ist nicht auf das vorstehend beschriebene beschränkt. Eine Sollposition kann z. B. in Anbetracht einer Bewegungsdistanz des Armkopfabschnitts von einer Sollposition zu der nachfolgenden Sollposition bestimmt werden. Bei dem Einstellen der Sollpositionen wird ein Bereich vorzugsweise betrachtet, in dem sich der Roboter bewegen kann.
  • Die Evaluierungseinheit 22, die in 16 gezeigt ist, evaluiert die Gültigkeit der Sollposition des Armkopfabschnitts. 17 zeigt ein Ablaufdiagramm, das ein Beispiel einer Verarbeitung hauptsächlich in der Evaluierungseinheit 22 zeigt. Die Verarbeitung, die in dem Ablaufdiagramm gezeigt ist, wird z. B. jedes Mal dann begonnen, wenn eine Sollposition des Armkopfabschnitts durch die Bildaufnahmepositionsberechnungseinheit 21 berechnet wird.
  • In einem Schritt S21 wird der Armkopfabschnitt des Roboters 60 (14), an den das Paar von Kameras 3A, 3B angefügt ist, oder der Roboter 60 (15), der das Werkstück 2 hält, virtuell zu einer Sollposition bewegt. In einem Schritt S22, in dem Zustand, in dem der Armkopfabschnitt bewegt wird, um die Sollposition einzunehmen, wird die Referenzkonturlinie des Werkstücks auf die Abbildungsoberfläche 30A der ersten Kamera 3A und die Abbildungsoberfläche 30B der zweiten Kamera projiziert, um ein virtuelles Referenzkonturlinienbild zu berechnen.
  • In einem Schritt S23 wird die Vielzahl epipolarer Ebenen ES in einem gemeinsamen Blickfeld der ersten Kamera 3A und der zweiten Kamera 3B erzeugt. Die epipolaren Ebenen ES können mit einem vorbestimmten Raum dazwischen erzeugt werden, und es wird auf eine Art und Weise ähnlich dem Schritt S15 in 13 eine Vielzahl von Punkten auf dem virtuellen Referenzkonturlinienbild mit einem vorbestimmten Raum dazwischen erzeugt, und können die epipolaren Ebenen derart erzeugt werden, dass sie die Punkte passieren. In einem Schritt S24 wird die Vielzahl epipolarer Linien EL berechnet, in der die Vielzahl epipolarer Ebenen ES und die Abbildungsoberflächen 30A, 30B der Kameras 3A, 3B jeweils einander queren.
  • In einem Schritt S25 wird eine Vielzahl von Schnittpunkten berechnet, in der das virtuelle Referenzkonturlinienbild und die Vielzahl epipolarer Linien EL einander queren. In einem Schritt S26 wird ein Neigungswinkel des virtuellen Referenzkonturlinienbildes und der epipolaren Linie EL bei jedem Schnittpunkt berechnet. Der Neigungswinkel ergibt sich z. B. durch Subtrahieren eines Winkels der epipolaren Linie EL von einem Winkel des virtuellen Referenzkonturlinienbildes. Ist der Neigungswinkel größer als 90°, dann wird eine Subtraktion um 180° durchgeführt, so dass der Neigungswinkel in einem Bereich von –90° oder mehr bis 90° oder weniger liegt.
  • In einem Schritt S27 wird auf der Grundlage des in dem Schritt S26 berechneten Neigungswinkels eine Bestimmung getroffen, ob die Sollposition gültig ist oder nicht. Wenn z. B. der Betragswert des Neigungswinkels bei jedem Schnittpunkt größer als ein vorbestimmter Winkel ist, sind Fälle ausgeschlossen, in denen die epipolare Linie EL und das Referenzkonturlinienbild parallel zueinander oder näherungsweise parallel zueinander verlaufen, und wird folglich die Sollposition als gültig bestimmt. Alternativ kann die Gültigkeit der Sollposition auf der Grundlage der Anzahl der Schnittpunkte, bei denen der Betragswert des Neigungswinkels nicht mehr als der vorbestimmte Winkel beträgt, oder eines Verhältnisses der Anzahl der Schnittpunkte, bei denen der Betragswert des Neigungswinkels nicht mehr als der vorbestimmte Winkel beträgt, zu der Gesamtanzahl der Schnittpunkte evaluiert werden. Die Sollposition kann als gültig bestimmt werden, wenn die zu messende Position der Konturlinie vorab ausgewiesen ist und der Betragswert des Neigungswinkels bei dem Schnittpunkt in dem Abschnitt größer als der vorbestimmte Winkel ist.
  • Wenn der Schritt S27 bestätigt wird, dann wird die Verarbeitung beendet. Dann bewegt die Robotersteuervorrichtung 65 den Armkopfabschnitt des Roboters 60 in die Sollposition, die durch die Evaluierungseinheit 22 als gültig evaluiert wurde. Wenn demgegenüber der Schritt S27 verneint wird, dann geht der Vorgang zu Schritt S28 über.
  • In dem Schritt S28 berechnet die Bildaufnahmepositionsberechnungseinheit 21 eine neue Sollposition, in der der Betragswert des Neigungswinkels groß ist, und kehrt die Verarbeitung zu Schritt S21 zurück. Die neue Sollposition kann z. B. auf die nachfolgende Art und Weise berechnet werden. Zuerst wird eine Summe eines Vektors, der eine Richtung der optischen Achse der ersten Kamera darstellt, und eines Vektors berechnet, der eine Richtung der optischen Achse der zweiten Kamera darstellt. Dann wird, mit der Summe der Vektoren als eine Drehachse, der Armkopfabschnitt veranlasst, bezüglich der Drehachse zu rotieren. Ein Drehwinkel in diesem Fall kann z. B. ein vorbestimmter Schrittwinkel sein, oder kann ein Schrittwinkel sein, in dem ein Bereich von 0 bis 90° auf vielfache Art und Weise aufgeteilt sein kann. Der Drehwinkel wird um den Schrittwinkel in einem Bereich von –90° bis +90° erhöht oder verringert, wodurch eine Sollposition ermittelt wird, die durch die Evaluierungseinheit 22 als gültig evaluiert wird. Alternativ kann ein arithmetischer Mittelwert, ein Mittelwert oder ein häufigster Wert des Neigungswinkels zu –90 oder +90° addiert werden, um den Drehwinkel zu bestimmen. Eine Drehrichtung des Armkopfabschnitts kann jedwede Richtung sein, und kann in Anbetracht der Position und Stellung, der Bewegung und dergleichen des Roboters 60 bestimmt werden. Wenn eine Drehung in jedwede Richtung ermöglicht wird, dann kann eine Richtung ausgewählt werden, in der der Betragswert des Drehwinkels klein ist.
  • Wenn die Drehung des Armkopfabschnitts den Neigungswinkel bei jedem Schnittpunkt auf einmal nicht hinreichend erhöht, dann kann eine Vielzahl von Sollpositionen gesetzt werden und kann ein dreidimensionaler Punkt auf der Konturlinie bei jeder Sollposition gemessen werden. Wenn z. B. der Neigungswinkel gleichförmig in einem Bereich von –90° bis +90° verteilt ist, dann wird der Neigungswinkel bei den Schnittpunkten zu einem Zeitpunkt nicht hinreichend erhöht, und ist somit dieses Verfahren effektiv.
  • Wie vorstehend beschrieben wurde, sind die Robotersteuervorrichtung 65 und die Steuervorrichtung 5 für einen visuellen Sensor getrennt vorgesehen (14 oder 15). Alternativ kann die Steuervorrichtung 5 für einen visuellen Sensor in der Robotersteuervorrichtung 65 vorgesehen sein. 18 zeigt ein Beispiel, das ein modifiziertes Beispiel dieser Anordnung zeigt. Wie in 18 gezeigt ist, sind eine Robotersteuereinheit 651 und die Steuervorrichtung 5 für einen visuellen Sensor in der Robotersteuervorrichtung 65 vorgesehen. Eine Roboterbedienkonsole 652, die verschiedene Anweisungen hinsichtlich der Betriebe des Roboters 60 eingibt, und der Roboter 60 sind mit der Robotersteuereinheit 651 verbunden.
  • (Modifizierte Beispiele)
  • Solche Modifikationen des vorstehend beschriebenen ersten Ausführungsbeispiels und des zweiten Ausführungsbeispiels sind wie nachstehend beschrieben möglich. Eine Positions-/Stellungsmesseinheit (z. B. ein dreidimensionaler Messsensor 31 in 1) zum Messen einer Position und einer Stellung des Werkstücks 2, können zusätzlich vorgesehen werden. Außerdem kann die Position und die Stellung des Werkstücks 2, die in der Positions-/Stellungsmesseinheit gemessen wurden, in der Konturlinieninformationsspeichereinheit 7 gespeichert werden. In diesem Fall kann z. B. die Referenzkonturlinienbildberechnungseinheit 14 auf der Grundlage der gemessenen Position und Stellung des Werkstücks 2 Werkstückpositionsinformationen abändern, die in der Konturlinieninformationsspeichereinheit 7 gespeichert sind, und die Referenzkonturlinie auf der Grundlage der abgeänderten Werkstückpositionsinformationen auf die Bilder projizieren. Selbst wenn deshalb das Werkstück 2 bei einer Position angelegt ist, die von einer in der Konturlinieninformationsspeichereinheit 7 gespeicherten Position verschieden ist, kann die Konturlinie des Werkstücks 2 geeignet erfasst werden.
  • Der dreidimensionale Messsensor kann, wie in 1 gezeigt, als an dem Ständer fixiert oder dergleichen vorgesehen sein, oder kann bei dem Armkopfabschnitt des Roboters 60 ausgerüstet sein. Zumindest eine des Paares der Kameras 3A, 3B kann eine Funktion des dreidimensionalen Messsensors aufweisen. Als der dreidimensionale Messsensor kann ein Laserabtastsensor und eine Stereokamera verwendet werden. Alternativ können die Position und die Stellung des Werkstücks 2 unter Verwendung eines Dreipunkteberührverfahrens durch einen Kraftsensor oder durch eine zweidimensionale Kamera gemessen werden. Die Position und die Stellung des Werkstücks 2 werden durch Komponenten (sechs Komponenten) einer Sechsachsenrichtung (orthogonale Dreiachsenrichtung und drei Achsen in Drehrichtung) bestimmt, es wird aber womöglich lediglich ein Teil der Komponenten durch den dreidimensionalen Messsensor gemessen. Da das Werkstück 2 einen Unterschied in der Fixierung verursacht, sei darauf hingewiesen, dass die Messung der Position und der Stellung des Werkstücks 2 durch den dreidimensionalen Messsensor nicht ermöglicht, dass die dreidimensionale Konturlinienform des Werkstücks 2 genau gemessen wird.
  • In den vorstehend beschriebenen Ausführungsbeispielen (14, 15) ist das Robotersystem konfiguriert, um das Paar von Kameras 3A, 3B zu veranlassen, ein Paar von Bildern zu erlangen, es kann aber eine einzelne Kamera 3 (z. B. die erste Kamera 3A) ein Paar von Bildern erlangen, was eine Kostenverringerung ermöglicht. In diesem Fall kann der Armkopfabschnitt des Roboters (14), der mit der einzelnen Kamera 3 ausgestattet ist, sukzessive zu einer ersten Position und einer zweiten Position bewegt werden, die den relativen Positionen und der Stellung des Paares der Kameras 3A, 3B relativ zu dem Werkstück 2 entsprechen. Alternativ kann der Armkopfabschnitt des Roboters (16), der das Werkstück 2 hält, sukzessive zu einer ersten Position und einer zweiten Position bewegt werden, die den relativen Positionen und Stellungen des Werkstücks 2 relativ zu dem Paar von Kameras 3A, 3B entspricht. Hierbei kann ein Bild des Werkstücks 2 bei jeder der ersten Position und der zweiten Position aufgenommen werden. Auf diese Weise können Bilder entsprechend den Bildern des Paares von Kameras 3A, 3B erlangt werden.
  • Wenn die einzelne Kamera 3 verwendet wird, dann können die erste Position und die zweite Position auf der Grundlage einer Bedingung bestimmt werden, dass eine relative Position des Paares von Kameras 3A, 3B konstant ist, und können die erste Position und die zweite Position derart bestimmt werden, dass die relative Position gemäß einem aufgenommenen Abschnitt des Werkstücks 2 abgeändert wird. Wenn ein Bild der Konturlinie des Werkstücks 2 in mehreren Schritten unter Verwendung einer einzelnen Kamera 3 aufgenommen wird, dann wird ein Bild des Werkstücks 2 bei jeder der Vielzahl von ersten Positionen und der Vielzahl von zweiten Positionen aufgenommen. In diesem Fall wird das Aufnehmen eines Bildes womöglich nicht alternierend bei den ersten Positionen und den zweiten Positionen durchgeführt, sondern kann ein Bild bei der Vielzahl von ersten Positionen aufgenommen werden, und kann dann ein Bild bei der Vielzahl von zweiten Positionen aufgenommen werden. Dadurch kann ein Bewegungsbetrag des Roboters 60 verringert werden, und kann eine Messung der Konturlinie effektiv durchgeführt werden.
  • In den vorstehend beschriebenen Ausführungsbeispielen werden durch eine Verarbeitung in der Auswahleinheit 17 für einen entsprechenden Punkt aus der ersten Kantenpunktegruppe und der zweiten Kantenpunktegruppe, die Kandidaten für das Kantenpunktepaar sind, der erste Kantenpunkt EP und der zweite Kantenpunkt EP ausgewählt, die einander entsprechen. Durch diese Maßnahme kann eine Differenz zwischen einer Ausrichtung jeder Kantenlinie 50, die den Kantenpunkt EP passiert, und einer Ausrichtung des Referenzkonturlinienbildes 40 bei dem nächstliegenden Punkt NP entsprechend dem Kantenpunkt EP berechnet werden. Hierbei können die Kantenpunkte EP mit dieser Differenz um den vorbestimmten Winkel oder darüber aus den Kandidaten für das Kantenpunktepaar ausgeschlossen werden. Die Auswahleinheit 17 für einen entsprechenden Punkt kann mit anderen Worten Paare von Kantenpunkten unter der Bedingung auswählen, dass eine Ausrichtungsdifferenz kleiner als der vorbestimmte Winkel ist. Dadurch entsprechen die Kantenpunkte EP und die nächstliegenden Punkte NP einander vorzugsweise, und es kann ein genaues Kantenpunktepaar ausgewählt werden.
  • Des Weiteren entnimmt in den vorstehend beschriebenen Ausführungsbeispielen die Kantenlinienentnahmeeinheit 15 aus den Kantenlinien 50 auf den Bildern solche Kantenlinien 50, um die erste Kantenpunktegruppe und die zweite Kantenpunktegruppe zu bestimmen, es können aber alternativ solche Kantenlinien 50 entnommen werden, bei denen eine Licht-und-Schattenausrichtung der Kantenlinie 50 bei den Kantenpunkten EP und eine Licht-und-Schattenausrichtung des Referenzkonturlinienbildes 40 bei dem nächstliegenden Punkt NP einander entsprechen. Die Licht-und-Schattenausrichtung gibt an, welcher von zwei Bereichen mit dem Referenzkonturlinienbild 40 und der Kantenlinie 50 als eine Grenze beleuchtet sind. Vorausgesetzt, dass eine Ausrichtung der Kantenlinie 50 durch einen zweidimensionalen Vektor a dargestellt ist, bedeutet z. B. a und –a, dass die Ausrichtungen der Kantenlinien 50 einander gleich sind, aber die Licht-und-Schattenausrichtungen dieser Vektoren voneinander verschieden sind.
  • Die Licht-und-Schattenausrichtung kann auf der Grundlage von Licht-und-Schatteninformationen in der Umgebung des Referenzkonturlinienbildes 40 und von Licht-und-Schatteninformationen in der Umgebung der Kantenlinie 50 spezifiziert werden. Die Licht-und-Schatteninformationen in der Umgebung des Referenzkonturlinienbildes 40 werden vorab als Informationen der Referenzkonturlinie in der Konturlinieninformationsspeichereinheit 7 gespeichert. Demgegenüber können die Licht-und-Schatteninformationen in der Umgebung der Kantenlinie 50 aus Bildern erlangt werden. Auf diese Weise werden die Kantenlinien 50 unter Berücksichtigung der Licht-und-Schattenausrichtungen von jeder des Referenzkonturlinienbildes 40 und der Kantenlinie 50 derart entnommen, dass wenn das Kantenpunktepaar durch das Referenzkonturlinienbild 40 ausgewählt wird, das korrekte Kantenpaar ausgewählt werden kann.
  • In den vorstehend beschriebenen Ausführungsbeispielen wird der Kantenlinienerfassungsbereich 41 (ein erster Bildverarbeitungsbereich und ein zweiter Bildverarbeitungsbereich) in der Umgebung des Referenzkonturlinienbildes 40 (ein erstes Referenzkonturlinienbild und ein zweites Referenzkonturlinienbild) auf einem Paar von Bildern gesetzt. Des Weiteren werden in dem Kantenlinienerfassungsbereich die Kantenlinien 50 (erste Kantenlinie, zweite Kantenlinie) entnommen, es können aber die Kantenlinien 50 ohne ein Setzen der Bildverarbeitungsbereiche entnommen werden, und ist ein Aufbau der Kantenlinienentnahmeeinheit 15 nicht auf den vorstehend beschriebenen Aufbau beschränkt. Ein Teil der Verarbeitung (z. B. das Setzen und die Evaluierung der Sollpositionen) in der Bildverarbeitungseinheit 10 können unter Verwendung einer Offline-Simulationsvorrichtung durchgeführt werden.
  • In den vorstehend beschriebenen Ausführungsbeispielen misst die Konturlinienmessvorrichtung die Konturlinie des Werkstücks 2, es kann aber eine Konturlinie der anderen Objekte auf eine ähnliche Art und Weise gemessen werden. In den vorstehend beschriebenen Ausführungsbeispielen, wenn ein Paar von Kantenpunkten, die einander auf einem entsprechenden Paar von Bildern entsprechen, bestimmt wird, dann wird eine dreidimensionale Referenzkonturlinie gesetzt, die vorab in der Konturlinieninformationsspeichereinheit 7 gespeichert ist, es ist aber ein Aufbau der Referenzkonturliniensetzeinheit nicht darauf beschränkt. Wenn die relative Position und Stellung der Kameras 3A, 3B relativ zu dem Werkstück 2 abgeändert werden kann, dann kann jedweder Aufbau des Roboters 60 übernommen werden, der in dem Aufbau des Robotersystems umfasst ist.
  • In den vorstehend beschriebenen Ausführungsbeispielen werden die nächstliegenden Punkte NP entsprechend den Kantenpunkten EP auf einem Paar der Bilder (der erste Kantenpunkt, der zweite Kantenpunkt) bestimmt und werden weiterhin die Projektionsbasispunkte (der erste Projektionsbasispunkt, der zweite Projektionsbasispunkt) auf den Referenzkonturlinienbildern (das erste Referenzkonturlinienbild, das zweite Referenzkonturlinienbild) entsprechend den nächstliegenden Punkten NP bestimmt. Ein Paar von Kantenpunkten wird auf der Grundlage einer Positionsbeziehung zwischen dem ersten Projektionsbasispunkt und dem zweiten Projektionsbasispunkt ausgewählt, es ist aber ein Aufbau der Auswahleinheit 17 für einen entsprechenden Punkt nicht darauf beschränkt. Wenn mit anderen Worten aus der Vielzahl erster Kantenpunkte EP und der Vielzahl zweiter Kantenpunkte EP, die Schnittpunkte der Kantenlinien 50 (die erste Kantenlinie, die zweite Kantenlinie) auf einem Paar von Bildern und der Vielzahl epipolarer Linien EL sind, ein Paar von Kantenpunkten bestehend aus dem ersten Kantenpunkt EP und dem zweiten Kantenpunkt EP, die unter Verwendung derselben epipolaren Ebene ES erzeugt sind und demselben Abschnitt der Referenzkonturlinie entsprechen, ausgewählt werden, dann ist die Verarbeitung durch die Auswahleinheit 17 für einen entsprechenden Punkt nicht auf die Verarbeitung in dem Schritt S7 in 4 beschränkt. Wenn des Weiteren aus der Vielzahl erster Kantenpunkte EP und der Vielzahl zweiter Kantenpunkte EP ein Paar von Kantenpunkten EP, das aus dem ersten Kantenpunkt EP und dem zweiten Kantenpunkt besteht, die auf der Grundlage dieses ersten Kantenpunktes EP bestimmt sind und demselben Abschnitt des Konturlinienbildes entsprechen, ausgewählt werden, dann ist die Verarbeitung durch die Auswahleinheit 17 für einen entsprechenden Punkt nicht auf die Verarbeitung in dem Schritt S17 in 13 beschränkt.
  • Gemäß der vorliegenden Erfindung, da ein Paar von Kantenpunkten, die demselben Abschnitt der Referenzkonturlinie eines Objektes entsprechen, ausgewählt werden, selbst wenn die Vielzahl von Kantenlinien vorliegt, die die Epipolarlinie quert, kann das Paar von Kantenpunkten vorzugsweise dazu veranlasst werden, einander zu entsprechen, und kann eine dreidimensionale Konturlinienform des Objektes genau gemessen werden.
  • Die vorstehende Beschreibung ist beispielhaft, und die vorliegende Erfindung ist nicht auf die vorstehend beschriebenen Ausführungsbeispiele und modifizierten Beispiele beschränkt, insoweit die Merkmale der Erfindung nicht angegriffen werden. Bildende Elemente in den vorstehend beschriebenen Ausführungsbeispielen und modifizierten Beispielen umfassen jene, die ersetzbar sein können, solange die Einheitlichkeit der Erfindung beibehalten ist und diese offensichtlich ersetzbar sind. Es sind mit anderen Worten andere Ausführungsbeispiele, die als in den Schutzbereich der technischen Idee der vorliegenden Erfindung fallend gelten müssen, ebenso in dem Schutzbereich der vorliegenden Erfindung mit umfasst. Des Weiteren können die vorstehend beschriebenen Ausführungsbeispiele und eines oder mehrere modifizierte Beispiele beliebig miteinander kombiniert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2012-202732 [0003, 0003]
    • JP 2013-130508 [0003, 0003]

Claims (13)

  1. Konturlinienmessvorrichtung (100), umfassend: eine erste Kamera (3A) und eine zweite Kamera (3B), die ein Bild eines Objekts (2) aufnehmen, um jeweils ein erstes Objektbild und ein zweites Objektbild zu erlangen; eine Epipolarebenenerzeugungseinheit (11) zum Erzeugen, auf der Grundlage einer Position und einer Stellung der ersten Kamera und der zweiten Kamera, einer Vielzahl epipolarer Ebenen (ES), um das Objekt zu queren; eine Epipolarlinienberechnungseinheit (12) zum Berechnen einer Vielzahl erster epipolarer Linien (EL), in der die Vielzahl epipolarer Ebenen auf eine Abbildungsoberfläche (30A) der ersten Kamera projiziert wird, und einer Vielzahl zweiter epipolarer Linien (EL), in der die Vielzahl epipolarer Ebenen auf eine Abbildungsoberfläche (30B) der zweiten Kamera projiziert wird; eine Referenzkonturliniensetzeinheit (19) zum Setzen einer dreidimensionalen Referenzkonturlinie des Objektes; eine Referenzkonturlinienbildberechnungseinheit (14) zum Berechnen eines ersten Referenzkonturlinienbildes und eines zweiten Referenzkonturlinienbildes, in denen jeweils die Referenzkonturlinie auf die Abbildungsoberfläche der ersten Kamera und die Abbildungsoberfläche der zweiten Kamera projiziert wird; eine Kantenlinienentnahmeeinheit (15), die einen ersten Bildverarbeitungsbereich in der Umgebung des ersten Referenzkonturlinienbildes setzt und aus dem ersten Objektbild in dem ersten Bildverarbeitungsbereich eine erste Kantenlinie entnimmt, die ein Bild einer Konturlinie des Objekts ist, während ein zweiter Bildverarbeitungsbereich in der Umgebung des zweiten Referenzkonturlinienbildes gesetzt wird und aus dem zweiten Objektbild in dem zweiten Bildverarbeitungsbereich eine zweite Kantenlinie entnommen wird, die ein Bild der Konturlinie des Objekts ist; eine Kantenpunkteerzeugungseinheit (16) zum Erzeugen einer Vielzahl erster Kantenpunkte, die Schnittpunkte der ersten Kantenlinie und der Vielzahl erster epipolarer Linien sind, und einer Vielzahl zweiter Kantenpunkte, die Schnittpunkte der zweiten Kantenlinie und der Vielzahl zweiter epipolarer Linien sind; eine Auswahleinheit (17) für einen entsprechenden Punkt zum Auswählen, aus der Vielzahl erster Kantenpunkte und der Vielzahl zweiter Kantenpunkte, eines Paares von Kantenpunkten, das aus dem ersten Kantenpunkt und dem zweiten Kantenpunkt besteht, die unter Verwendung derselben epipolaren Ebene erzeugt sind und demselben Abschnitt der Referenzkonturlinie entsprechen; und eine Berechnungseinheit (18) für einen dreidimensionalen Punkt zum Berechnen eines dreidimensionalen Punktes auf der Konturlinie des Objektes auf der Grundlage einer Sichtlinie der ersten Kamera und einer Sichtlinie der zweiten Kamera, die das Paar von Kantenpunkten passieren.
  2. Konturlinienmessvorrichtung (100), umfassend: eine erste Kamera (3A) und eine zweite Kamera (3B), die ein Bild eines Objektes (2) aufnehmen, um jeweils ein erstes Objektbild und ein zweites Objektbild zu erlangen; eine Referenzkonturliniensetzeinheit (19) zum Setzen einer dreidimensionalen Referenzkonturlinie des Objektes; eine Referenzkonturlinienbildberechnungseinheit (14) zum Berechnen eines ersten Referenzkonturlinienbildes und eines zweiten Referenzkonturlinienbildes, in denen die Referenzkonturlinie jeweils auf eine Abbildungsoberfläche der ersten Kamera und eine Abbildungsoberfläche der zweiten Kamera projiziert ist; eine Kantenlinienentnahmeeinheit (15), die einen ersten Bildverarbeitungsbereich in der Umgebung des ersten Referenzkonturlinienbildes setzt und aus dem ersten Objektbild in dem ersten Bildverarbeitungsbereich eine erste Kantenlinie entnimmt, die ein Bild einer Konturlinie des Objektes ist, während ein zweiter Bildverarbeitungsbereich in der Umgebung des zweiten Referenzkonturlinienbildes gesetzt wird und aus dem zweiten Objektbild in dem zweiten Bildverarbeitungsbereich eine zweite Kantenlinie entnommen wird, die ein Bild der Konturlinie des Objektes ist; eine Erzeugungseinheit (16) für einen ersten Kantenpunkt zum Erzeugen einer Vielzahl erster Kantenpunkte auf der ersten Kantenlinie; eine Epipolarebenenerzeugungseinheit (11) zum Erzeugen, auf der Grundlage einer Position und einer Stellung der ersten Kamera und der zweiten Kamera, einer Vielzahl epipolarer Ebenen, die jeweils die Vielzahl erster Kantenpunkte passieren; eine Epipolarlinienberechnungseinheit (12) zum Berechnen einer Vielzahl epipolarer Ebenen, in der die Vielzahl epipolarer Ebenen auf die Abbildungsoberfläche der zweiten Kamera projiziert wird; eine Erzeugungseinheit (16) für einen zweiten Kantenpunkt zum Erzeugen einer Vielzahl zweiter Kantenpunkte, die Schnittpunkte der Vielzahl epipolarer Linien und der zweiten Kantenlinie sind; eine Auswahleinheit (17) für einen entsprechenden Punkt zum Auswählen, aus der Vielzahl erster Kantenpunkte und der Vielzahl zweiter Kantenpunkte, eines Paares von Kantenpunkten, die aus dem ersten Kantenpunkt und dem zweiten Kantenpunkt bestehen, die unter Verwendung des ersten Kantenpunktes erzeugt sind und demselben Abschnitt der Referenzkonturlinie entsprechen; und eine Berechnungseinheit (18) für einen dreidimensionalen Punkt zum Berechnen eines dreidimensionalen Punktes auf der Konturlinie des Objektes auf der Grundlage einer Sichtlinie der ersten Kamera und einer Sichtlinie der zweiten Kamera, die das Paar von Kantenpunkten passieren.
  3. Konturlinienmessvorrichtung gemäß Anspruch 1 oder 2, weiterhin umfassend eine Positions-/Stellungsmesseinheit (31) zum Messen einer Position und einer Stellung des Objektes, wobei die Referenzkonturliniensetzeinheit eine Position und eine Stellung der Referenzkonturlinie auf der Grundlage der Position und der Stellung des Objektes abändert, die durch die Positions-/Stellungsmesseinheit gemessen sind.
  4. Konturlinienmessvorrichtung gemäß zumindest einem der Ansprüche 1 bis 3, wobei die Auswahleinheit für einen entsprechenden Punkt jeden Schnittpunkt von jeder der Vielzahl epipolarer Ebenen mit der Referenzkonturlinie bestimmt, wenn die Vielzahl von Schnittpunkten hinsichtlich der einzelnen epipolaren Ebene vorliegt, die Auswahleinheit für einen entsprechenden Punkt die epipolare Ebene derart unterteilt, dass der einzelne Schnittpunkt hinsichtlich der epipolaren Ebene vorliegt, und ein Paar von Kantenpunkten entsprechend demselben Abschnitt aus den Kantenpunkten entsprechend der unterteilten epipolaren Ebene auswählt.
  5. Konturlinienmessvorrichtung gemäß zumindest einem der Ansprüche 1 bis 4, wobei die Auswahleinheit für einen entsprechenden Punkt hinsichtlich jeder der Vielzahl erster Kantenpunkte einen nächstliegenden Punkt auf dem ersten Referenzkonturlinienbild berechnet, das dem ersten Kantenpunkt entspricht, und einen Schnittpunkt einer Sichtlinie von der ersten Kamera, die den nächstliegenden Punkt passiert, und der Referenzkonturlinie als einen ersten Projektionsbasispunkt berechnet, während hinsichtlich jedem der Vielzahl zweiter Kantenpunkte ein nächstliegender Punkt auf dem zweiten Referenzkonturlinienbild berechnet wird, das dem zweiten Kantenpunkt entspricht, und einen Schnittpunkt einer Sichtlinie von der zweiten Kamera, die den nächstliegenden Punkt passiert, und der Referenzkonturlinie als ein zweiter Projektionsbasispunkt berechnet, und weiterhin das Paar von Kantenpunkten auf der Grundlage einer Positionsbeziehung des ersten Projektionsbasispunkts und des zweiten Projektionsbasispunktes auswählt.
  6. Konturlinienmessvorrichtung gemäß Anspruch 5, wobei die Auswahleinheit für einen entsprechenden Punkt das Paar von Kantenpunkten unter der Bedingung auswählt, dass eine Differenz zwischen einer Ausrichtung der ersten Kantenlinie und einer Ausrichtung des ersten Referenzkonturlinienbildes bei dem nächstliegenden Punkt, der der ersten Kantenlinie entspricht, und eine Differenz zwischen einer Ausrichtung der zweiten Kantenlinie und einer Ausrichtung des zweiten Referenzkonturlinienbildes bei dem nächstliegenden Punkt, der der zweiten Kantenlinie entspricht, weniger als einen vorbestimmter Winkel beträgt.
  7. Konturlinienmessvorrichtung gemäß zumindest einem der Ansprüche 1 bis 6, wobei das erste Referenzkonturlinienbild und das zweite Referenzkonturlinienbild jeweils Licht-und-Schatteninformationen eines Bildes in der Umgebung des ersten Referenzkonturlinienbildes und Licht-und-Schatteninformationen eines Bildes in der Umgebung des zweiten Referenzkonturlinienbildes umfassen, die Kantenlinienentnahmeeinheit eine solche erste Kantenlinie und eine solche zweite Kantenlinie entnimmt, dass eine Licht-und-Schattenausrichtung eines Bildes in der Umgebung der ersten Kantenlinie und einen Licht-und-Schattenausrichtung eines Bildes in der Umgebung der zweiten Kantenlinie jeweils einer Licht-und-Schattenausrichtung in der Umgebung des ersten Referenzkonturlinienbildes und einer Licht-und-Schattenausrichtung in der Umgebung des zweiten Referenzkonturlinienbildes entsprechen, die durch die entsprechenden Licht-und-Schatteninformationen erlangt sind.
  8. Robotersystem (200), umfassend: einen Roboter (60); eine Robotersteuereinheit (65, 651) zum Steuern des Roboters; und eine Konturlinienmessvorrichtung gemäß zumindest einem der Ansprüche 1 bis 7, wobei die erste Kamera (3A) und die zweite Kamera (3B), die in der Konturlinienmessvorrichtung umfasst sind, an einen Armkopfabschnitt des Roboters angefügt sind oder ein Objekt, dessen Bild durch die erste Kamera und die zweite Kamera aufgenommen wird, durch den Armkopfabschnitt des Roboters gehalten wird.
  9. Robotersystem gemäß Anspruch 8, weiterhin umfassend eine Bildaufnahmepositionsberechnungseinheit (21) zum Berechnen einer Sollposition der Armkopfposition des Roboters, wobei die Robotersteuereinheit den Armkopfabschnitt des Roboters zu der Sollposition bewegt, und die erste Kamera und die zweite Kamera ein Bild des Objektes in dem Zustand aufnehmen, in dem der Armkopfabschnitt des Roboters bewegt wird, um die Sollposition einzunehmen.
  10. Robotersystem gemäß Anspruch 9, wobei die Bildaufnahmepositionsberechnungseinheit die Vielzahl von Sollpositionen derart berechnet, dass die erste Kamera und die zweite Kamera Bilder des Objektes in mehreren Schritten aufnehmen, die Robotersteuereinheit den Armkopfabschnitt des Roboters zu der Vielzahl von Sollpositionen Stück für Stück bewegt, und die erste Kamera und die zweite Kamera ein Bild des Objektes jedes Mal dann aufnehmen, wenn der Armkopfabschnitt des Roboters zu der Vielzahl von Sollpositionen bewegt wird.
  11. Robotersystem gemäß Anspruch 9 oder 10, weiterhin umfassend eine Evaluierungseinheit (22) zum Evaluieren der Gültigkeit einer Sollposition des Armkopfabschnitts des Roboters, wobei unter der Annahme, dass der Armkopfabschnitt des Roboters zu der Sollposition bewegt wird, die Evaluierungseinheit das erste Referenzkonturlinienbild und das zweite Referenzkonturlinienbild berechnet, in denen die Referenzkonturlinie des Objektes auf die Abbildungsoberfläche der ersten Kamera bzw. die Abbildungsoberfläche der zweiten Kamera projiziert wird, einen Neigungswinkel bei Schnittpunkten des ersten Referenzkonturlinienbildes und der epipolaren Linien und einen Neigungswinkel bei Schnittpunkten des zweiten Referenzkonturlinienbildes und der epipolaren Linien berechnet, und evaluiert, dass die Sollposition gültig ist, wenn der Neigungswinkel bei jedem der Schnittpunkte größer als ein vorbestimmter Winkel ist, und die Robotersteuereinheit den Armkopfabschnitt des Roboters zu der Sollposition bewegt, die durch den Evaluierungsabschnitt als gültig evaluiert wird.
  12. Robotersystem gemäß Anspruch 11, wobei die Bildaufnahmepositionsberechnungseinheit solch eine neue Sollposition berechnet, um den Neigungswinkel zu erhöhen, wenn die Sollposition durch die Evaluierungseinheit als gültig evaluiert wurde.
  13. Robotersystem gemäß zumindest einem der Ansprüche 8 bis 12, wobei die erste Kamera und die zweite Kamera aus einer einzelnen Kamera bestehen, und die Robotersteuereinheit den Armkopfabschnitt des Roboters derart bewegt, dass das erste Objektbild und das zweite Objektbild unter Positionen und Stellungen aufgenommen werden, in denen die relativen Positionen und Stellungen der einzelnen Kamera und des Objektes voneinander verschieden sind.
DE102015011914.1A 2014-09-18 2015-09-11 Konturlinienmessvorrichtung und Robotersystem Active DE102015011914B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-190182 2014-09-18
JP2014190182A JP5911934B2 (ja) 2014-09-18 2014-09-18 輪郭線計測装置およびロボットシステム

Publications (2)

Publication Number Publication Date
DE102015011914A1 true DE102015011914A1 (de) 2016-03-24
DE102015011914B4 DE102015011914B4 (de) 2022-02-03

Family

ID=55444855

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015011914.1A Active DE102015011914B4 (de) 2014-09-18 2015-09-11 Konturlinienmessvorrichtung und Robotersystem

Country Status (4)

Country Link
US (1) US9672630B2 (de)
JP (1) JP5911934B2 (de)
CN (1) CN105444691B (de)
DE (1) DE102015011914B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020509370A (ja) * 2017-02-28 2020-03-26 クオリティー ヴィジョン インターナショナル インコーポレイテッドQuality Vision International, Inc. 3dモデルの試験対象物への自動アライメント
CN113340230A (zh) * 2021-04-26 2021-09-03 西安交通大学 一种升降式的多视角三维轮廓测量系统及工作方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10290118B2 (en) * 2015-08-06 2019-05-14 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment
US9445081B1 (en) * 2015-09-25 2016-09-13 Intel Corporation Method and system of 3D image capture with dynamic cameras
US10003786B2 (en) 2015-09-25 2018-06-19 Intel Corporation Method and system of 3D image capture with dynamic cameras
JP6088679B1 (ja) * 2016-02-19 2017-03-01 ファナック株式会社 カメラの画像により故障を判定するロボットシステムの故障診断装置
DE102016005699B3 (de) * 2016-05-12 2017-05-18 Carl Zeiss Automated Inspection GmbH Verfahren zum Kalibrieren einer Messvorrichtung zur Vermessung von Karosserieteilen und anderen Werkstücken sowie zur Durchführung des Verfahrens geeignete Messvorrichtung
CN107442973B (zh) * 2016-05-30 2020-06-16 上海气焊机厂有限公司 基于机器视觉的焊道定位方法及装置
JP6721211B2 (ja) * 2016-06-02 2020-07-08 ヤマハファインテック株式会社 位置決め装置及び穿孔装置
DE102016112197B4 (de) * 2016-07-04 2018-05-24 Asm Assembly Systems Gmbh & Co. Kg Verfahren und Vorrichtung zum stereoskopischen Bestimmen von einer Information bezüglich der Höhenlage der Vorderseite eines Anschlusses
CN106441148A (zh) * 2016-08-31 2017-02-22 成都铁安科技有限责任公司 固定方法、固定机架与火车车轮外形测量系统
EP3603904B1 (de) * 2017-03-23 2024-01-24 Fuji Corporation Robotersystem
CN107144236A (zh) * 2017-05-25 2017-09-08 西安交通大学苏州研究院 一种机器人自动扫描仪及扫描方法
JP2019084609A (ja) * 2017-11-06 2019-06-06 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
TWI645157B (zh) * 2017-11-24 2018-12-21 國立高雄應用科技大學 工件輪廓的光學量測系統及量測方法
CN108133477A (zh) * 2017-12-29 2018-06-08 深圳市越疆科技有限公司 一种物体检测方法及智能机械臂
JP7240115B2 (ja) * 2018-08-31 2023-03-15 キヤノン株式会社 情報処理装置及びその方法及びコンピュータプログラム
JP6836561B2 (ja) * 2018-09-20 2021-03-03 ファナック株式会社 画像処理装置及び画像処理方法
JP6871220B2 (ja) 2018-11-08 2021-05-12 ファナック株式会社 制御システム
JP7318377B2 (ja) * 2019-07-10 2023-08-01 株式会社Soken 物体検知装置
JP7396872B2 (ja) * 2019-11-22 2023-12-12 ファナック株式会社 拡張現実を用いたシミュレーション装置及びロボットシステム
EP4131173A4 (de) * 2020-03-30 2023-11-08 Panasonic Intellectual Property Management Co., Ltd. Bildgebungsanweisungsverfahren, bildgebungsverfahren, bildgebungsanweisungsvorrichtung und bildgebungsvorrichtung
JP2021160360A (ja) * 2020-03-31 2021-10-11 株式会社ユーシン精機 金型及びアタッチメントの法線ベクトルの推定方法及びシステム
CN114229396B (zh) * 2022-02-18 2022-05-13 深圳市创新特科技有限公司 电路板取放位置校正装置及校正方法
CN115278080A (zh) * 2022-07-28 2022-11-01 北京五八信息技术有限公司 一种蒙版生成方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012202732A (ja) 2011-03-24 2012-10-22 Dainippon Screen Mfg Co Ltd 3次元位置・姿勢認識装置、3次元位置・姿勢認識方法、3次元位置・姿勢認識プログラム
JP2013130508A (ja) 2011-12-22 2013-07-04 Canon Inc 3次元計測方法、3次元計測プログラム及びロボット装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001183133A (ja) * 1999-12-22 2001-07-06 Sony Corp 3次元形状計測装置および方法、並びに記録媒体
CN1203292C (zh) 2003-08-15 2005-05-25 清华大学 测量物体三维表面轮廊的方法
JP5093653B2 (ja) * 2007-06-21 2012-12-12 株式会社ニコン 測距装置およびその測距方法
JP5713624B2 (ja) 2009-11-12 2015-05-07 キヤノン株式会社 三次元計測方法
JP5671281B2 (ja) * 2010-08-20 2015-02-18 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5744587B2 (ja) * 2011-03-24 2015-07-08 キヤノン株式会社 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
CN103075973A (zh) 2012-12-31 2013-05-01 吉林大学 车身缝隙尺寸非接触在线检测方法
JP5845212B2 (ja) 2013-06-28 2016-01-20 ファナック株式会社 視覚センサ及び力センサを備えたバリ取り装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012202732A (ja) 2011-03-24 2012-10-22 Dainippon Screen Mfg Co Ltd 3次元位置・姿勢認識装置、3次元位置・姿勢認識方法、3次元位置・姿勢認識プログラム
JP2013130508A (ja) 2011-12-22 2013-07-04 Canon Inc 3次元計測方法、3次元計測プログラム及びロボット装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020509370A (ja) * 2017-02-28 2020-03-26 クオリティー ヴィジョン インターナショナル インコーポレイテッドQuality Vision International, Inc. 3dモデルの試験対象物への自動アライメント
CN113340230A (zh) * 2021-04-26 2021-09-03 西安交通大学 一种升降式的多视角三维轮廓测量系统及工作方法

Also Published As

Publication number Publication date
JP5911934B2 (ja) 2016-04-27
DE102015011914B4 (de) 2022-02-03
US20160086343A1 (en) 2016-03-24
JP2016061687A (ja) 2016-04-25
US9672630B2 (en) 2017-06-06
CN105444691B (zh) 2017-05-24
CN105444691A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE102015005267B4 (de) Informationsverarbeitungsvorrichtung, Verfahren dafür und Messvorrichtung
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102015106936B4 (de) Anordnungsevaluierungsvorrichtung zur Evaluierung einer Anordungsposition eines Bereichssensors
DE60124604T2 (de) Stereobildmessvorrichtung
DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
DE102015015194A1 (de) Bildverarbeitungsvorrichtung und -verfahren und Programm
DE112010005008B4 (de) System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb
DE102013205762B4 (de) Informationsverarbeitungsvorrichtung, die eine dreidimensionale Formvermessung durchführt, Informationsverarbeitungsverfahren und Speichermedium
DE112011100652T5 (de) Dreidimensionale messvorrichtung, verarbei- tungsverfahren und nichtflüchtiges computer- lesbares speichermedium
DE112007001977T5 (de) Verfahren zur Generierung dreidimensionaler Modelldaten und Vorrichtung zur Generierung dreidimensionaler Modelldaten
DE102016013274A1 (de) Bildverarbeitungsvorrichtung und verfahren zur erkennung eines bilds eines zu erkennenden objekts aus eingabedaten
DE102013216902A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Programm
DE102009046295A1 (de) Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme
DE19525561C2 (de) 3D-Meßvorrichtung
DE60020919T2 (de) Stereoskopisches Kamerasystem in einem Fahrzeug
EP1497613A1 (de) Verfahren und vorrichtung zur bestimmung der räumlichen koordinaten eines gegenstandes
DE10135300A1 (de) Verfahren und Einrichtung zum Messen dreidimensionaler Information
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102013211240A1 (de) Bereichsmessvorrichtung und Bereichsmessverfahren
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
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE202019105838U1 (de) Anordnung mit einem Koordinatenmessgerät oder Mikroskop
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE

R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final