[go: up one dir, main page]

DE112021007326T5 - Abbildungsvorrichtung zur berechnung der dreidimensionalen lage auf der grundlage eines von einem bildsensor aufgenommenen bildes - Google Patents

Abbildungsvorrichtung zur berechnung der dreidimensionalen lage auf der grundlage eines von einem bildsensor aufgenommenen bildes Download PDF

Info

Publication number
DE112021007326T5
DE112021007326T5 DE112021007326.5T DE112021007326T DE112021007326T5 DE 112021007326 T5 DE112021007326 T5 DE 112021007326T5 DE 112021007326 T DE112021007326 T DE 112021007326T DE 112021007326 T5 DE112021007326 T5 DE 112021007326T5
Authority
DE
Germany
Prior art keywords
camera
orientation
workpiece
image
gravity
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
DE112021007326.5T
Other languages
English (en)
Inventor
Yuuki Takahashi
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 DE112021007326T5 publication Critical patent/DE112021007326T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • 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/37555Camera detects orientation, position workpiece, points of workpiece
    • 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/40584Camera, non-contact sensor mounted on wrist, indep from gripper
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Diese Abbildungsvorrichtung umfasst: eine Einheit zur Erkennung der Orientierung, die die Ausrichtung einer Kamera in Bezug auf die Richtung der Schwerkraft erfasst; und eine Einheit zum Einstellen eines Parameters, die Parameter zur Berechnung einer dreidimensionalen Position einstellt, die einer bestimmten Position in einem von der Kamera aufgenommenen Bild entspricht. Eine Speichereinheit speichert Einstellinformationen zum Einstellen von Parametern, die der Ausrichtung der Kamera entsprechen. Die Einheit zum Einstellen eines Parameters stellt Parameter auf der Grundlage der Schwerkraftrichtung, der Ausrichtung der Kamera und der Einstellinformationen ein.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Abbildungsvorrichtung, die eine dreidimensionale Position auf der Grundlage eines von einem Bildsensor erfassten Bildes berechnet.
  • TECHNISCHER HINTERGRUND
  • Eine Vorrichtung, die eine dreidimensionale Position eines Werkstücks erkennt, indem sie ein Bild verarbeitet, das durch Aufnahme eines Bildes des Werkstücks mit einer Kamera erhalten wurde, ist im Stand der Technik bekannt. So ist beispielsweise eine Vorrichtung bekannt, die die Position eines Werkstücks aus Bildern erkennt, die von zwei in einer Stereokamera enthaltenen Kameras aufgenommen wurden, und die eine Operation auf der Grundlage der erkannten Position des Werkstücks durchführt (z. B. Japanische nicht angefochtene Patentveröffentlichung Nr. 2009-269110A).
  • Ein von einer Kamera aufgenommenes Bild kann je nach dem Zustand der Kamera bei der Aufnahme des Bildes beeinträchtigt werden. Wenn beispielsweise ein Fotograf ein Bild aufnimmt, während er eine Kamera hält, kann das Bild aufgrund von Verwacklungen verzerrt sein. Im Stand der Technik ist es bekannt, diesen Einfluss zu korrigieren, wenn ein Bild von einer Kamera aufgenommen wird (z. B. Japanische nicht angefochtene Patentveröffentlichung Nr. 11-44900 A und Japanische nicht angefochtene Patentveröffentlichung Nr. 2011-259314 A ).
  • [ZITIERLISTE]
  • [PATENTLITERATUR]
    • [PTL 1] Ungeprüfte japanische Patentveröffentlichung Nr. 2009-269110 A
    • [PTL 2] Ungeprüfte japanische Patentveröffentlichung Nr. 11-44900 A
    • [PTL 3] Ungeprüfte japanische Patentveröffentlichung Nr. 2011-259314 A
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • [TECHNISCHES PROBLEM]
  • Es ist bekannt, die dreidimensionale Position eines Werkstücks unter Verwendung eines vorgegebenen Berechnungsmodells zu berechnen, wenn die dreidimensionale Position auf der Grundlage der Position in einem zweidimensionalen, von einer Kamera aufgenommenen Bild berechnet wird. Das Berechnungsmodell umfasst verschiedene Parameter, um eine dreidimensionale Position aus einer Position in einem zweidimensionalen Bild zu berechnen.
  • Die Kamera kann ein Werkstück in verschiedene Richtungen abbilden. Beispielsweise kann das Werkstück in einem Zustand abgebildet werden, in dem die optische Achse des Objektivs gegenüber der horizontalen Richtung geneigt ist. Ein Aktuator eines Roboters oder dergleichen kann die Position und Ausrichtung der Kamera verändern. Durch Anbringen einer Kamera an einem Gelenkroboter ist es beispielsweise möglich, Bilder eines Werkstücks in verschiedenen Richtungen aufzunehmen und die Position des Werkstücks zu ermitteln. Ein mit dem Roboter ausgestattetes Gerät kann dann auf der Grundlage der erkannten Position des Werkstücks verschiedene Arten von Operationen durchführen. So kann die Kamera bewegt werden, anstatt fest installiert zu sein, was die Anzahl der Einsatzmöglichkeiten der Kamera erhöht und den Wert der Kamera steigert.
  • Wenn der Aktuator oder dergleichen die Ausrichtung der Kamera ändert, ändert sich auch die Richtung der Sichtlinie der Kamera. Zu diesem Zeitpunkt kann die relative Positionsbeziehung zwischen dem Objektiv und einem Lichtempfangselement der Kamera aufgrund des Gewichts der Kamera oder des Objektivs leicht verschoben sein. Dies kann dazu führen, dass die dreidimensionale Position des Werkstücks falsch berechnet wird.
  • Die Ausrichtung der Kamera in Bezug auf ein Werkstück kann als Methode zur Verbesserung der Erfassungsgenauigkeit der dreidimensionalen Position des Werkstücks festgelegt werden. Ein Fehler in der dreidimensionalen Position kann durch die Einstellung von Parametern des Berechnungsmodells in der Nähe einer vorgegebenen Ausrichtung der Kamera reduziert werden. Mit anderen Worten, es ist möglich, eine Position und Ausrichtung der Kamera für die Abbildung eines Werkstücks zu bestimmen und Parameter zu verwenden, die der Position und Ausrichtung entsprechen.
  • Andererseits ist es schwierig, die dreidimensionale Position des Werkstücks genau zu erfassen, wenn die Parameter des Berechnungsmodells nicht auf der Grundlage der vorgegebenen Position und Ausrichtung der Kamera festgelegt werden. So kann beispielsweise die Ausrichtung der Kamera beliebig verändert werden, um die dreidimensionale Position des Werkstücks zu erfassen. Es ist notwendig, die Parameter des Berechnungsmodells entsprechend der jeweiligen Ausrichtung einzustellen. Es besteht jedoch das Problem, dass die notwendige Einstellung einer unendlichen Anzahl von Parametern die Einstellung der Parameter tatsächlich erschwert. Aus diesem Grund besteht ein Bedarf an einem Gerät, das die Position eines Werkstücks als Reaktion auf die Ausrichtung einer Kamera mit einfacher Steuerung genau erfassen kann.
  • (LÖSUNG DES PROBLEMS)
  • Eine Abbildungsvorrichtung gemäß einem Aspekt der vorliegenden Offenbarung umfasst einen Bildsensor, der so konfiguriert ist, dass er ein Werkstück abbildet. Die Abbildungsvorrichtung umfasst eine Einheit zur Erkennung der Schwerkraft-Richtung, die so konfiguriert ist, dass sie eine Schwerkraftrichtung erfasst, und eine Einheit zur Erkennung der Orientierung, die so konfiguriert ist, dass sie eine Ausrichtung des Bildsensors in Bezug auf die Schwerkraftrichtung erfasst. Die Abbildungsvorrichtung enthält eine Einheit zur Einstellung eines Parameters, die so konfiguriert ist, dass sie einen Parameter zum Berechnen einer dreidimensionalen Position entsprechend einer spezifischen Position in einem durch den Bildsensor erfassten Bild einstellt, und einen Speicherteil, der so konfiguriert ist, dass er Einstellinformationen zum Einstellen des Parameters entsprechend der Ausrichtung des Bildsensors speichert. Die Abbildungsvorrichtung umfasst eine Einheit zur Erkennung eines Merkmals, die so konfiguriert ist, dass sie einen vorbestimmten Merkmalsabschnitt in dem Bild des Werkstücks erfasst, und eine Einheit zur Berechnung der Merkmalsposition, die so konfiguriert ist, dass sie die dreidimensionale Position des Merkmalsabschnitts unter Verwendung des von der Einheit zur Einstellung eines Parameters eingestellten Parameters berechnet. Die Einheit zur Einstellung eines Parameters ist so konfiguriert, dass sie den Parameter auf der Grundlage der Richtung der Schwerkraft, der Ausrichtung des Bildsensors und der Einstellinformationen einstellt.
  • [VORTEILHAFTE WIRKUNG DER ERFINDUNG]
  • Gemäß einem Aspekt der vorliegenden Offenbarung ist es möglich, eine Abbildungsvorrichtung bereitzustellen, die eine dreidimensionale Position eines Werkstücks als Reaktion auf eine Ausrichtung eines Bildsensors genau erfasst.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist eine schematische Darstellung eines Roboter-Systems gemäß einer Ausführungsform.
    • 2 ist ein Blockdiagramm des Roboter-Systems gemäß der Ausführungsform.
    • 3 ist eine Draufsicht auf ein erstes Werkstück gemäß der Ausführungsform.
    • 4 ist ein Beispiel für ein Bild, wenn das erste Werkstück abgebildet wird.
    • 5 ist eine schematische Darstellung des Roboter-Systems, wenn ein zweites Werkstück abgebildet wird.
    • 6 ist eine Draufsicht auf das zweite Werkstück gemäß der Ausführungsform.
    • 7 ist ein Beispiel für ein Bild, wenn das zweite Werkstück abgebildet wird.
    • 8 ist eine perspektivische Ansicht einer Kamera zur Erläuterung eines Kamera-Koordinatensystems und einer Richtung der Schwerkraft.
    • 9 ist ein Flussdiagramm zur Erläuterung der Steuerung des Roboter-Systems.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Eine Abbildungsvorrichtung gemäß einer Ausführungsform wird unter Bezugnahme auf die 1 bis 9 beschrieben. Die Abbildungsvorrichtung der vorliegenden Ausführungsform fungiert als dreidimensionale Positionserfassungsvorrichtung, die eine dreidimensionale Position einer bestimmten Position in einem Bild auf der Grundlage des von einem Bildsensor erfassten Bildes berechnet.
  • 1 ist eine schematische Darstellung eines Roboter-Systems mit einer Abbildungsvorrichtung gemäß der vorliegenden Ausführungsform. 2 ist ein Blockdiagramm des Roboter-Systems gemäß der vorliegenden Ausführungsform. In Bezug auf 1 und 2 erkennt das Roboter-System 3 der vorliegenden Ausführungsform die Position eines ersten Werkstücks 38, das als Werkstück dient, und ergreift und transportiert das erste Werkstück 38. Das Roboter-System 3 erfasst auch die Position eines zweiten Werkstücks 39, das als Werkstück dient, und führt einen Vorgang zum Anordnen des ersten Werkstücks 38 in einem ausgesparten Abschnitt 39a des zweiten Werkstücks 39 durch.
  • Das Roboter-System 3 umfasst eine Hand 5, die als Arbeitswerkzeug dient und ein erstes Werkstück 38 ergreift, und einen Roboter 1, der die Hand 5 bewegt. Das Roboter-System 3 umfasst eine Steuerung 2, die das Roboter-System 3 steuert. Das Roboter-System 3 umfasst auch einen Sockel 95, auf dem das erste Werkstück 38 platziert wird, und einen Sockel 96, auf dem das zweite Werkstück 39 gelagert wird. Das zweite Werkstück 39 wird auf dem Sockel 96 von einem vorbestimmten Stützelement getragen.
  • Die Hand 5 der vorliegenden Ausführungsform ist ein Arbeitswerkzeug, das das Werkstück 38 greift und freigibt. Das am Roboter 1 angebrachte Arbeitsgerät ist nicht auf diese Form beschränkt, und es kann jedes Arbeitsgerät verwendet werden, das für einen vom Roboter-System 3 ausgeführten Vorgang geeignet ist. Zum Beispiel kann ein Schweißbrenner zum Schweißen als Arbeitsgerät verwendet werden.
  • Der Roboter 1 der vorliegenden Ausführungsform ist ein Gelenkroboter mit einer Vielzahl von Gelenken 18. Der Roboter 1 umfasst einen oberen Arm 11 und einen unteren Arm 12. Der untere Arm 12 wird von einem Schwenksockel 13 getragen. Die Schwenkbasis 13 wird von einem Sockel 14 getragen. Der Roboter 1 umfasst ein Handgelenk 15, das mit einem Endabschnitt des oberen Arms 11 verbunden ist. Das Handgelenk 15 weist einen Flansch 16 zur Befestigung der Hand 5 auf. Die Bauteile des Roboters 1 sind so ausgebildet, dass sie sich um eine vorgegebene Antriebsachse drehen. Der Roboter 1 ist nicht auf diese Form beschränkt, und jeder Roboter, der in der Lage ist, die Ausrichtung eines Arbeitswerkzeugs zu ändern, kann verwendet werden.
  • Der Roboter 1 der vorliegenden Ausführungsform umfasst eine Roboterantriebsvorrichtung 21 mit Antriebsmotoren zum Antrieb von Komponenten wie dem oberen Arm 11. Die Hand 5 umfasst eine Handantriebsvorrichtung 22, die die Hand 5 antreibt. Die Handantriebsvorrichtung 22 der vorliegenden Ausführungsform treibt die Hand 5 durch Luftdruck an. Die Handantriebsvorrichtung 22 umfasst eine Luftpumpe und ein Magnetventil zur Zuführung von Druckluft zu einem Zylinder.
  • Die Steuerung 2 besteht aus einem Gehäuse der Steuerung 40 und einem Handbediengerät 26, mit dem eine Bedienungsperson das Gehäuse der Steuerung 40 bedient. Das Gehäuse der Steuerung 40 enthält eine arithmetische Verarbeitungsvorrichtung (einen Computer), der eine zentrale Verarbeitungseinheit (CPU) enthält, die als Prozessor dient. Die arithmetische Verarbeitungsvorrichtung umfasst einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM) und dergleichen, die über einen Bus mit der CPU verbunden sind. Der Roboter 1 wird auf der Grundlage von Betriebsbefehlen von der Steuerung 2 gesteuert. Der Roboter 1 transportiert das erste Werkstück 38 automatisch auf der Grundlage eines Betriebsprogramms 61.
  • Das Gehäuse der Steuerung 40 enthält einen Speicherteil 42, der alle Informationen über das Roboter-System 3 speichert. Der Speicherteil 42 kann aus einem nicht temporären Speichermedium gebildet werden, das Informationen speichern kann. Beispielsweise kann der Speicherteil 42 ein Speichermedium wie einen flüchtigen Speicher, einen nichtflüchtigen Speicher, ein magnetisches Speichermedium oder ein optisches Speichermedium umfassen.
  • Das für den Betrieb des Roboters 1 im Voraus erstellte Betriebsprogramm 61 wird in die Steuerung 2 eingegeben. Alternativ kann der Bediener einen Einlernpunkt des Roboters 1 festlegen, indem er das Einlern-Handgerät 26 betätigt und den Roboter 1 fährt. Die Steuerung 2 kann das Betriebsprogramm 61 auf der Grundlage des Lernpunkts erstellen.
  • Das Betriebsprogramm 61 ist in dem Speicherteil 42 gespeichert. Die Betriebssteuerungseinheit 43 sendet auf der Grundlage des Betriebsprogramms 61 einen Betriebsbefehl für den Antrieb des Roboters 1 an den Roboterantriebsteil 44. Der Roboterantriebsteil 44 enthält eine elektrische Schaltung, die einen Antriebsmotor antreibt und die Roboterantriebsvorrichtung 21 auf der Grundlage des Betriebsbefehls mit Strom versorgt. Die Betriebssteuerungseinheit 43 sendet einen Betriebsbefehl zum Antrieb der Handantriebsvorrichtung 22 an den Handantriebsteil 45. Der Handantriebsteil 45 enthält einen elektrischen Schaltkreis zum Antrieb einer Luftpumpe oder dergleichen und versorgt die Luftpumpe oder dergleichen auf der Grundlage des Betriebsbefehls mit Strom.
  • Die Betriebssteuerungseinheit 43 entspricht einem Prozessor, der nach dem Betriebsprogramm 61 gesteuert wird. Der Prozessor ist so ausgebildet, dass er in der Lage ist, im Speicherteil 42 gespeicherte Informationen zu lesen. Der Prozessor fungiert als Betriebssteuerungseinheit 43, indem er das Betriebsprogramm 61 liest und die im Betriebsprogramm 61 definierte Steuerung durchführt.
  • Der Roboter 1 umfasst einen Zustandsdetektor zur Erfassung der Position und Ausrichtung des Roboters 1. Der Zustandsdetektor gemäß der vorliegenden Ausführungsform umfasst einen Positionsmelder 23, der an dem Antriebsmotor jeder Antriebsachse der Roboterantriebsvorrichtung 21 angebracht ist. Der Positionsmelder 23 kann z.B. aus einem Encoder bestehen, der die Drehposition der Abtriebswelle des Antriebsmotors erfasst. Die Position und die Ausrichtung des Roboters 1 werden anhand des Ausgangs jedes Positionsmelders 23 ermittelt.
  • Für das Roboter-System 3 wird ein Referenzkoordinatensystem 71 festgelegt, das sich nicht bewegt, wenn sich die Position und die Ausrichtung des Roboters 1 ändern. In dem in 1 dargestellten Beispiel liegt der Ursprung des Referenzkoordinatensystems 71 auf der Basis 14 des Roboters 1. Das Referenzkoordinatensystem 71 wird auch als Weltkoordinatensystem bezeichnet. Im Referenzkoordinatensystem 71 ist die Lage des Ursprungs fest und die Richtungen der Koordinatenachsen sind ebenfalls fest. Das Referenzkoordinatensystem 71 hat als Koordinatenachsen eine X-Achse, eine Y-Achse und eine Z-Achse, die orthogonal zueinander sind. Außerdem ist eine W-Achse als Koordinatenachse um die X-Achse festgelegt. Eine P-Achse wird als Koordinatenachse um die Y-Achse festgelegt. Eine R-Achse wird als Koordinatenachse um die Z-Achse festgelegt.
  • Das Einlern-Handgerät 26 ist über eine Kommunikationseinrichtung mit dem Gehäuse der Steuerung 40 verbunden. Das Einlern-Handgerät 26 enthält einen Eingabeteil 27 zur Eingabe von Informationen über den Roboter 1 und die Hand 5. Der Eingabeteil 27 besteht aus Eingabeelementen wie einer Tastatur und Drehknöpfen. Das Einlern-Handgerät 26 umfasst einen Anzeigeteil 28, der Informationen über den Roboter 1 und die Hand 5 anzeigt. Der Anzeigeteil 28 kann aus einem Anzeigefeld bestehen, das Informationen anzeigen kann, wie z. B. ein Flüssigkristallanzeigefeld oder ein organisches Elektrolumineszenz (EL)-Anzeigefeld. Wenn das Programmiergerät eine Anzeigetafel vom Typ Touchpanel enthält, fungiert die Anzeigetafel als Eingabeteil und Anzeigeteil.
  • Für das Roboter-System 3 wird ein Werkzeugkoordinatensystem 74 mit einem Ursprung an einer beliebigen Position des Arbeitswerkzeugs festgelegt. Das Werkzeug-Koordinatensystem 74 ändert seine Position und Ausrichtung zusammen mit dem Arbeitswerkzeug. In der vorliegenden Ausführungsform ist der Ursprung des Werkzeug-Koordinatensystems 74 auf den Werkzeugmittelpunkt der Hand 5 festgelegt. Die Position des Roboters 1 entspricht der Position des Werkzeugmittelpunkts (der Position des Ursprungs des Werkzeug-Koordinatensystems 74) im Referenzkoordinatensystem 71. Auch die Ausrichtung des Roboters 1 entspricht der Ausrichtung des Werkzeug-Koordinatensystems 74 in Bezug auf das Referenzkoordinatensystem 71.
  • Das Roboter-System 3 gemäß der vorliegenden Ausführungsform umfasst eine Abbildungsvorrichtung, die die Positionen der Werkstücke 38 und 39 erfasst. Die Abbildungsvorrichtung umfasst eine Kamera 6, die als Bildsensor dient und ein Bild des Werkstücks 38 aufnimmt. Bei der Kamera 6 der vorliegenden Ausführungsform handelt es sich um eine zweidimensionale Kamera, die ein zweidimensionales Bild einfängt. Die Kamera 6 wird von dem Roboter 1 getragen. Die Kamera 6 ist über ein Trägerelement an der Hand 5 befestigt. Die Kamera 6 verändert ihre Position und Ausrichtung zusammen mit der Hand 5.
  • Die Kamera 6 kann ein Bild in einem Sichtfeld 6a aufnehmen. Die Kamera 6 verfügt über einen Mechanismus zur Schärfeneinstellung 24 zum Einstellen des Fokus. Der Mechanismus zur Schärfeneinstellung 24 der vorliegenden Ausführungsform hat eine automatische Fokussierungsfunktion. Mit anderen Worten, die Kamera 6 hat eine Autofokusfunktion. Die Kamera 6 ist so ausgebildet, dass sie automatisch auf die Werkstücke 38 und 39 fokussiert und die Werkstücke 38 und 39 abbildet, wenn der Roboter 1 seine Position und Ausrichtung ändert. Ein Mechanismus zur Fokussierung durch willkürliche Steuerung, wie z. B. ein Kontrasterkennungsverfahren oder ein Phasendifferenzverfahren, kann als Mechanismus zur Fokuseinstellung verwendet werden.
  • Alternativ kann auch eine Kamera mit einer Flüssiglinse als Bildsensor eingesetzt werden. In diesem Fall kann ein Mechanismus zur Änderung der Form der Flüssiglinse als Mechanismus zur Schärfeneinstellung verwendet werden. Beispielsweise kann ein Mechanismus zum Ändern einer an die Flüssigkeitslinse angelegten Spannung oder ein Mechanismus zum Bewegen eines Halteelements der Flüssigkeitslinse zum Ändern eines an die Flüssigkeitslinse angelegten Wasserdrucks verwendet werden.
  • Im Roboter-System 3 ist für die Kamera 6 ein Kamera-Koordinatensystem 72 als Sensorkoordinatensystem eingestellt. Das Kamera-Koordinatensystem 72 ändert seine Position und Ausrichtung zusammen mit der Kamera 6. Der Ursprung des Kamera-Koordinatensystems 72 wird an einer vorbestimmten Position an oder in der Kamera 6 festgelegt, wie z. B. dem Objektivzentrum oder dem optischen Zentrum der Kamera 6. Das Kamera-Koordinatensystem 72 hat eine X-Achse, eine Y-Achse und eine Z-Achse, die orthogonal zueinander sind. Das Kamera-Koordinatensystem 72 der vorliegenden Ausführungsform ist so eingestellt, dass sich die Z-Achse in einer Richtung parallel zur optischen Achse des Objektivs der Kamera 6 erstreckt. Bei der vorliegenden Ausführungsform sind die Position und die Ausrichtung des Kamera-Koordinatensystems 72 in Bezug auf das Werkzeug-Koordinatensystem 74 konstant, da die Kamera 6 fest mit der Hand 5 verbunden ist.
  • Die Abbildungsvorrichtung der vorliegenden Ausführungsform umfasst eine Bewegungsvorrichtung, die die Kamera 6 bewegt. In dem Roboter-System 3 fungiert der Roboter 1 als Bewegungsvorrichtung. Wenn sich die Position und Ausrichtung des Roboters 1 ändern, ändern sich auch die Position und Ausrichtung der Kamera 6.
  • Die Abbildungsvorrichtung umfasst eine Bildverarbeitungsvorrichtung, die ein vom Bildsensor erfasstes Bild verarbeitet. In dem Roboter-System 3 der vorliegenden Ausführungsform fungiert das Gehäuse der Steuerung 40 als Bildverarbeitungsgerät. Das Gehäuse der Steuerung 40 umfasst eine Bildverarbeitungseinheit 50, die ein von der Kamera 6 aufgenommenes Bild verarbeitet. Die Bildverarbeitungseinheit 50 umfasst eine Bildsteuerungseinheit 58, die einen Bildaufnahmebefehl an die Kamera 6 sendet.
  • Die Bildverarbeitungseinheit 50 umfasst eine Einheit zur Erkennung der Schwerkraft-Richtung 51, die eine Richtung der Schwerkraft erfasst, und eine Einheit zur Erkennung der Orientierung 52, die die Ausrichtung der Kamera 6 in Bezug auf die Richtung der Schwerkraft erfasst. Die Bildverarbeitungseinheit 50 umfasst eine Einheit zur Einstellung eines Parameters 53, die Parameter zur Berechnung einer dreidimensionalen Position einstellt, die einer bestimmten Position in dem von der Kamera 6 aufgenommenen Bild entspricht.
  • Die Bildverarbeitungseinheit 50 enthält eine Einheit zur Erkennung eines Merkmals 54, die einen vorbestimmten Merkmalsabschnitt in dem Bild jedes der Werkstücke 38 und 39 erkennt. Die Bildverarbeitungseinheit 50 enthält eine Einheit zur Berechnung der Merkmalsposition 55, die eine dreidimensionale Position des Merkmalsteils unter Verwendung der von der Einheit zur Einstellung eines Parameters 53 eingestellten Parameter berechnet. Die Bildverarbeitungseinheit 50 enthält eine Einheit zur Erkennung der Beschleunigung 56, die die Beschleunigung des Bildsensors erfasst, wenn der Roboter gefahren wird. Die Bildverarbeitungseinheit 50 enthält eine Einheit zur Erzeugung eines Betriebsbefehls 59, die Betriebsbefehle für den Roboter 1 und die Hand 5 basierend auf dem Ergebnis der Bildverarbeitung erzeugt.
  • Die Bildverarbeitungseinheit 50 entspricht einem Prozessor, der gemäß dem Betriebsprogramm 61 gesteuert wird. Insbesondere entspricht jede der Einheit zur Erkennung der Schwerkraft-Richtung 51, der Einheit zur Erkennung der Orientierung 52, der Einheit zur Einstellung eines Parameters 53, der Einheit zur Erkennung eines Merkmals 54, der Einheit zur Berechnung der Merkmalsposition 55, der Einheit zur Erkennung der Beschleunigung 56, der Einheit zur Steuerung eines Bildes 58 und der Einheit zur Erzeugung eines Betriebsbefehls 59 einem Prozessor, der gemäß dem Betriebsprogramm 61 gesteuert wird. Der Prozessor arbeitet als jede der Einheiten, indem er das Betriebsprogramm 61 liest und die im Betriebsprogramm 61 definierte Steuerung durchführt.
  • Wie in 1 gezeigt, legt das Roboter-System 3 der vorliegenden Ausführungsform das Werkstück 38 auf der Oberfläche des Sockels 95 ab, indem es ein vorgegebenes Verfahren anwendet. Beispielsweise legt der Bediener oder ein anderes Roboter-System das Werkstück 38 an einer vorgegebenen Position auf der Oberfläche des Sockels 95 ab. Das Werkstück 39 wird ebenfalls nach einem ähnlichen Verfahren auf der Oberfläche des Sockels 96 platziert. Dann ändert der Roboter 1 seine Position und Ausrichtung und ergreift mit der Hand 5 das Werkstück 38, das auf der Oberseite des Sockels 95 liegt. Das Roboter-System 3 setzt das Werkstück 38 in den vertieften Teil 39a des Werkstücks 39 ein, indem es die Position und Ausrichtung des Roboters 1 ändert, wie durch einen Pfeil 101 angezeigt. Die Werkstücke 38 und 39 mit dem in dem vertieften Teil 39a platzierten Werkstück 38 werden nach einem vorgegebenen Verfahren transportiert. Zum Beispiel transportiert der Bediener oder ein anderes Robotersystem die Werkstücke 38 und 39 zu vorgegebenen Positionen.
  • Wenn das Werkstück 38 auf der Oberfläche des Sockels 95 abgelegt wird, kann sich übrigens die Position des Werkstücks 38 auf dem Sockel 95 verschieben. In dem in 1 gezeigten Beispiel wird beim Einlernen der Position und Ausrichtung des Roboters 1 eine Referenzposition des Werkstücks 38 bestimmt. Die Referenzposition ist eine Position, an der das Werkstück 38 abgelegt werden soll. Wenn das Werkstück 38 jedoch tatsächlich auf der Oberseite des Sockels 95 platziert wird, kann das Werkstück 38 in einer Position platziert werden, die von der Referenzposition abweicht. In ähnlicher Weise kann das Werkstück 39, wenn es auf der Oberfläche des Sockels 96 abgelegt wird, gegenüber einer in der Lehrarbeit ermittelten Referenzposition verschoben sein. Jedes der Werkstücke 38 und 39 weist auch Maßfehler auf. Das Roboter-System 3 der vorliegenden Ausführungsform erkennt die dreidimensionalen Positionen der Werkstücke 38 und 39 anhand der von der Kamera 6 aufgenommenen Bilder.
  • Im Roboter-System 3 der vorliegenden Ausführungsform nimmt die Kamera 6 beim Greifen des ersten Werkstücks 38 ein Bild des Werkstücks 38 auf. Die Bildverarbeitungseinheit 50 berechnet eine dreidimensionale Position des Werkstücks 38 basierend auf dem Bild des Werkstücks 38. Die Bildverarbeitungseinheit 50 steuert die Position und Ausrichtung des Roboters 1 so, dass sie der Position des Werkstücks 38 entspricht. Dann ändert die Bildverarbeitungseinheit 50 die Position und Ausrichtung des Roboters 1 und greift das Werkstück 38 mit der Hand 5.
  • Wenn das erste Werkstück 38 in den vertieften Teil 39a des zweiten Werkstücks 39 eingelegt wird, erfolgt die Steuerung zur Erfassung der dreidimensionalen Position des Werkstücks 39 auf die gleiche Weise wie die Steuerung zur Erfassung der dreidimensionalen Position des Werkstücks 38. Die Kamera 6 nimmt ein Bild des Werkstücks 39 auf. Die Bildverarbeitungseinheit 50 berechnet eine dreidimensionale Position des Werkstücks 39 auf der Grundlage des Bildes des Werkstücks 39. Die Bildverarbeitungseinheit 50 berechnet die Position und Ausrichtung des Roboters 1 zum Ablegen des Werkstücks 38 in den vertieften Teil 39a des Werkstücks 39. Die Bildverarbeitungseinheit 50 ändert die Position und Ausrichtung des Roboters 1 und legt das Werkstück 38 in den vertieften Teil 39a des Werkstücks 39 ein. Danach lässt die Hand 5 das Werkstück 38 los und der Roboter 1 kehrt in die Position und Ausrichtung zu Beginn des Vorgangs zurück.
  • 3 zeigt eine Draufsicht auf das erste Werkstück gemäß der vorliegenden Ausführungsform. Wie aus 1 und 3 hervorgeht, umfasst das Werkstück 38 einen plattenförmigen Bereich 38a und einen auf dem plattenförmigen Bereich 38a gebildeten plattenförmigen Bereich 38b. Die plattenfömigen Bereiche 38a und 38b haben jeweils eine rechteckige, parallelepipedische Form. Der plattenförmige Bereich 38b hat einen Randbereich 38c am äußeren Umfang seiner oberen Oberfläche. Der Randbereich 38c ist ein Bereich, der einer im plattenförmigen Bereich 38b ausgebildeten Ecke entspricht. In der vorliegenden Ausführungsform ist der Randbereich 38c ein Merkmalsteil des Werkstücks 38.
  • Wie in 1 gezeigt, ist die Kamera 6 bei der vorliegenden Ausführungsform senkrecht über dem Werkstück 38 angeordnet, wenn das Werkstück 38 gegriffen wird. Zu diesem Zeitpunkt ist der Abstand von der Oberfläche des Werkstücks 38, auf der das Merkmalsteil gebildet wird, zur Kamera 6 vorgegeben. In diesem Beispiel werden die Position und die Ausrichtung des Roboters 1 so gesteuert, dass die Position der Oberseite des plattenförmigen Bereich 38b einen vorgegebenen Z-Achsenwert im Kamera-Koordinatensystem 72 hat. Außerdem wird die Ausrichtung der Kamera 6 so eingestellt, dass die optische Achse des Objektivs der Kamera 6 im Wesentlichen senkrecht zur Oberfläche des plattenförmigen Bereichs 38b mit dem Merkmalsteil des Werkstücks 38 verläuft.
  • 4 zeigt ein Beispiel für ein von der Kamera aufgenommenes Bild des ersten Werkstücks. Die Kamera 6 führt eine Fokussierung durch und nimmt ein Bild 66 auf. Das Bild 66 enthält ein Bild 68 des ersten Werkstücks 38. Für das von der Kamera aufgenommene Bild 66 wird ein Bildkoordinatensystem 73 festgelegt. Die Einheit zur Erkennung eines Merkmals 54 der Bildverarbeitungseinheit 50 erkennt den Randbereich 38c als einen Merkmalsabschnitt des Werkstücks 38, indem sie einen Mustervergleich durchführt. Ein Referenzbild zur Erfassung der Position des Randbereichs 38c beim Mustervergleich wird im Voraus erstellt und im Speicherteil 42 gespeichert. Die Einheit zur Erkennung eines Merkmals 54 erkennt den Randbereich 38c, der als ein Merkmalsabschnitt in dem von der Kamera 6 aufgenommenen Bild dient, unter Verwendung des Referenzbildes.
  • Die Einheit zur Berechnung der Merkmalsposition 55 berechnet die Position des Merkmalsbereichs des Werkstücks 38 in dem von der Kamera 6 aufgenommenen Bild. Zum Beispiel wird die Position einer Ecke des Randbereichs 38c im Bild 68 unter Verwendung von Koordinatenwerten des Bildkoordinatensystems 73 ermittelt. Die Einheit zur Berechnung der Merkmalsposition 55 ermittelt die dreidimensionale Position des Merkmalsabschnitts unter Verwendung eines Berechnungsmodells auf der Grundlage der Position des Merkmalsabschnitts im Bild. Eine solche Position des Merkmalsabschnitts des Werkstücks 38 kann in dem Referenz-Koordinatensystem 71 berechnet werden. Ferner berechnet die Einheit zur Berechnung der Merkmalsposition 55 die Position des Werkstücks 38 auf der Grundlage der dreidimensionalen Position des Merkmalsabschnitts des Werkstücks 38. Die Position eines beliebigen Sollwerts, der für das Werkstück 38 festgelegt ist, kann als die Position des Werkstücks 38 berechnet werden. Die Position des Werkstücks 38 kann auch im Referenz-Koordinatensystem 71 berechnet werden.
  • Die Einheit zur Erzeugung von Arbeitsbefehlen 59 berechnet die Position und Ausrichtung des Roboters 1 auf der Grundlage der dreidimensionalen Position des Werkstücks 38, die von der Einheit 55 zur Berechnung der Merkmalsposition berechnet wurde. Dann werden die Position und die Ausrichtung des Roboters 1 zum Greifen des Werkstücks 38 an die Betriebssteuerungseinheit 43 gesendet. Die Betriebssteuerungseinheit 43 treibt den Roboter 1 und die Hand 5 an, um das Werkstück 38 auf der Grundlage eines von der Einheit zur Erzeugung eines Betriebsbefehls 59 empfangenen Betriebsbefehls zu greifen.
  • 5 zeigt ein schematisches Diagramm, wenn das Roboter-System das erste Werkstück in den vertieften Teil des zweiten Werkstücks legt. Auch wenn das erste Werkstück 38 in den vertieften Teil 39a des zweiten Werkstücks 39 eingelegt wird, wird die gleiche Steuerung wie beim Greifen des ersten Werkstücks 38 durchgeführt. Die Betriebssteuerungseinheit 43 ändert die Position und Ausrichtung des Roboters 1 nach dem Ergreifen des ersten Werkstücks 38 mit der Hand 5. Der Roboter 1 bringt die Kamera 6 in eine Position und Ausrichtung, in der sie das zweite Werkstück 39 abbilden kann.
  • 6 zeigt eine Draufsicht auf das zweite Werkstück gemäß der vorliegenden Ausführungsform. Wie aus 5 und 6 hervorgeht, hat das zweite Werkstück 39 eine rechteckige Parallelepipedform. Eine obere Fläche des Werkstücks 39 ist eben. Der vertiefte Teil 39a, der der Form des plattenförmigen Bereichs 38a des ersten Werkstücks 38 entspricht, ist an der Oberseite des Werkstücks 39 ausgebildet. Ein abgestufter Abschnitt des vertieften Teils 39a des zweiten Werkstücks 39 wird zu einem Merkmalabschnitt, wenn das Bild von der Kamera 6 aufgenommen wird.
  • 7 zeigt ein Beispiel für ein von der Kamera aufgenommenes Bild des zweiten Werkstücks. Das Bild 67 enthält ein Bild 69 der oberen Oberfläche des zweiten Werkstücks 39. Unter Bezugnahme auf 5 bis 7 ist der Abstand von der oberen Oberfläche des Werkstücks 39, auf der der Merkmalsabschnitt ausgebildet ist, zur Kamera 6, wenn das zweite Werkstück 39 abgebildet wird, vorgegeben. Die Position der Z-Achse der oberen Oberfläche des Werkstücks 39 im Kamera-Koordinatensystem 72 ist vorgegeben. Außerdem wird die Ausrichtung der Kamera 6 so eingestellt, dass die optische Achse des Objektivs der Kamera 6 im Wesentlichen senkrecht zur oberen Oberfläche des Werkstücks 39 mit dem Merkmalsabschnitt verläuft. Eine solche Referenzposition und -ausrichtung des Roboters 1 ist vorgegeben.
  • Unter Bezugnahme auf 2, 5 und 7 erkennt die Einheit zur Erkennung eines Merkmals 54 der Bildverarbeitungseinheit 50 den vertieften Teil 39a, der als ein Merkmalsabschnitt des Werkstücks 39 dient, indem sie einen Mustervergleich durchführt. Ein Referenzbild zur Erfassung des vertieften Teils 39a wird im Voraus erstellt und im Speicherteil 42 gespeichert. Die Einheit zur Berechnung der Merkmalsposition 55 berechnet die dreidimensionale Position des Merkmalsabschnitts des Werkstücks 39 unter Verwendung eines Berechnungsmodells auf der Grundlage der Position des Merkmalsabschnitts in dem von der Kamera 6 aufgenommenen Bild 69. Zum Beispiel kann die Einheit zur Berechnung der Merkmalsposition 55 die dreidimensionale Position einer Ecke der ebenen Form des vertieften Teils 39a berechnen. Dann kann die Einheit zur Berechnung der Merkmalsposition 55 die dreidimensionale Position des Werkstücks 39 auf der Grundlage der dreidimensionalen Position des Merkmalsabschnitts berechnen.
  • Die Einheit zur Erzeugung eines Betriebsbefehls 59 berechnet die Position und die Ausrichtung des Roboters 1 auf der Grundlage der von der Einheit zur Berechnung der Merkmalsposition 55 berechneten Position des zweiten Werkstücks 39. Die Einheit zur Erzeugung eines Betriebsbefehls 59 berechnet die Position und die Ausrichtung des Roboters 1 zum Einsetzen des ersten Werkstücks 38 in den vertieften Teil 39a des zweiten Werkstücks 39. Dann überträgt die Einheit zur Erzeugung eines Betriebsbefehls 59 die Position und Ausrichtung des Roboters 1 zum Einsetzen des Werkstücks 38 in den vertieften Teil 39a des Werkstücks 39 an die Betriebssteuerungseinheit 43. Auf der Grundlage eines von der Einheit zur Erzeugung eines Betriebsbefehls 59 empfangenen Betriebsbefehls steuert die Betriebssteuerungseinheit 43 den Roboter 1 und die Hand 5 so an, dass das erste Werkstück 38 in dem vertieften Teil 39a des zweiten Werkstücks 39 platziert wird.
  • Bei der Steuerung für den Transport eines Werkstücks gemäß der vorliegenden Ausführungsform erfasst die Einheit zur Erkennung eines Merkmals 54 einen Merkmalsabschnitt, und die Einheit zur Berechnung der Merkmalsposition 55 berechnet genau die dreidimensionalen Positionen der Werkstücke 38 und 39 auf der Grundlage der Position des Merkmalsabschnitts. Auf diese Weise kann das Roboter-System 3 das Werkstück 38 genau greifen und das Werkstück 38 in dem vertieften Teil 39a des Werkstücks 39 ablegen. Das Robotersystem 3 kann das Werkstück 38 auch dann genau greifen, wenn die Position des Werkstücks 38 auf dem Sockel 95 gegenüber der Referenzposition verschoben ist oder das Werkstück 38 Maßfehler aufweist. Es ist auch möglich, das Werkstück 38 genau in den vertieften Teil 39a des Werkstücks 39 zu legen, selbst wenn die Position des Werkstücks 39 auf dem Sockel 96 von der Referenzposition verschoben ist oder das Werkstück 39 Maßfehler aufweist.
  • Die Einheit zur Berechnung der Merkmalsposition 55 der vorliegenden Ausführungsform berechnet eine dreidimensionale Position aus einer bestimmten Position in einem zweidimensionalen Bild unter Verwendung eines vorgegebenen Berechnungsmodells. Wenn sich die Ausrichtung der Kamera ändert, kann sich die relative Positionsbeziehung eines lichtempfangenden Elements der Kamera in Bezug auf das Objektiv aufgrund des Einflusses des auf die Kamera ausgeübten Eigengewichts und des Eigengewichts des Objektivs ändern. Im Falle einer Kamera mit einer Flüssiglinse kann sich auch die Form der Linse als Reaktion auf die Änderung der Ausrichtung der Kamera ändern. Infolgedessen kann sich die dreidimensionale Position für die spezifische Position in dem von der Kamera 6 aufgenommenen zweidimensionalen Bild ändern, und die dreidimensionale Position des Werkstücks wird möglicherweise nicht genau berechnet.
  • Die Bildverarbeitungseinheit 50 der vorliegenden Ausführungsform hat die Funktion, die dreidimensionale Position zu korrigieren, indem die Ausrichtung der Kamera 6 berücksichtigt wird. Einstellinformationen 63 zur Einstellung von Parametern, die der Ausrichtung der Kamera 6 entsprechen, sind vorgegeben. Die Einstellinformationen 63 sind in dem Speicherteil 42 gespeichert. Die Einheit zur Einstellung eines Parameters 53 berechnet Parameter eines Berechnungsmodells zum Berechnen der dreidimensionalen Position eines Merkmalsabschnitts aus der Position des Merkmalsabschnitts in einem von der Kamera 6 aufgenommenen Bild auf der Grundlage der Schwerkraftrichtung, der Ausrichtung der Kamera 6 und der Einstellinformationen 63. Die Einheit zur Berechnung der Merkmalsposition 55 berechnet die dreidimensionale Position des Merkmalsabschnitts auf der Oberfläche des Werkstücks unter Verwendung der entsprechend der Ausrichtung der Kamera 6 eingestellten Parameter. Wenn sich die Ausrichtung der Kamera 6 ändert, ändert die Einheit zur Einstellung eines Parameters 53 die Werte der Parameter in Abhängigkeit von der Ausrichtung der Kamera 6.
  • Nachfolgend wird ein Berechnungsmodell zur Berechnung einer dreidimensionalen Position im Raum anhand einer bestimmten Position in einem von einer Kamera aufgenommenen Bild beschrieben. Eine Position in einem von der Kamera aufgenommenen Bild, die einer beliebigen Position im Raum entspricht, wird im Allgemeinen durch die folgende Gleichung (1) unter Verwendung eines Lochkameramodells dargestellt.

    [Formel 1] P o s i t i o n a u f   d e m   B i l d [ u v 1 ] = I n t r i n s i s c h e P a r a m e t e r m a t r i x [ f x 0 c x 0 f y c y 0 0 1 ] E x t r i n s i s c h e P a r a m e t e r m a t r i x [ r 11 r 12 r 13 t 1 r 21 r 22 r 23 t 2 r 31 r 32 r 33 t 3 ] D r e i d i m e n s i o n a l e P o s i t i o n [ X Y Z 1 ] [ u , v ]   :   K o o r d i n a t e n w e r t e   d e s   K a m e r a K o o r d i n a t e n s y s t e m s f x , f y   :   P r o d u k t   d e r   f o k a l e n   L ä n g e   u n d   e f f e k t i v e   P i x e l g r öße c x , c y   :   B i l d z e n t r u m [ X , Y , Z ]   :   K o o r d i n a t e n w e r t e   d e s   R e f e r e n z K o o r d i n a t e n s y s t e m
    Figure DE112021007326T5_0001
  • In der vorliegenden Ausführungsform werden die Koordinatenwerte (X, Y, Z) der dreidimensionalen Position im Referenz-Koordinatensystem 71 ausgedrückt. Die Koordinatenwerte (u, v) der Position im Bild werden in dem Bildkoordinatensystem 73 ausgedrückt. Die extrinsische Parametermatrix ist eine Transformationsmatrix zur Umwandlung einer dreidimensionalen Position im Raum in Koordinatenwerte im Kamera-Koordinatensystem 72. Die intrinsische Parametermatrix ist eine Matrix zur Umwandlung von Koordinatenwerten im Kamera-Koordinatensystem 72 in Koordinatenwerte im Bildkoordinatensystem 73 im Bild. In diesem Fall ist der Z-Achsenwert der dreidimensionalen Position im Referenz-Koordinatensystem 71 oder der Z-Achsen-Koordinatenwert im Kamera-Koordinatensystem 72 vorgegeben, der dem Abstand der Kamera zum Werkstück entspricht.
  • Die obige Gleichung (1) ist ein ideales Beispiel, bei dem es keine Linsenverzerrung o. ä. gibt. In der Praxis werden Parameteränderungen aufgrund von Linsenverzerrungen o. Ä. berücksichtigt. Die Berechnung eines Teils der Gleichung (1), der der dreidimensionalen Position im Raum und der Matrix der extrinsischen Parameter entspricht, kann durch die folgende Gleichung (2) ausgedrückt werden.

    [Formel 2] [ x y z ] = R [ X Y Z ] + t t : [ t 1 , t 2 , t 3 ] R : 3 × 3   R o t a t i o n s m a t r i x
    Figure DE112021007326T5_0002
  • Die im Referenz-Koordinatensystem 71 ausgedrückten Koordinatenwerte (X, Y, Z) können mit Hilfe von Gleichung (2) in die im Kamera-Koordinatensystem 72 ausgedrückten Koordinatenwerte (x, y, z) umgewandelt werden. Als nächstes werden eine Variable x' und eine Variable y' wie in der folgenden Gleichung (3) und Gleichung (4) dargestellt definiert, um die Linsenverzerrung der Kamera zu berücksichtigen. Ferner werden eine Variable x'' und eine Variable y'', die die Verzeichnung berücksichtigen, wie in Gleichung (5) und Gleichung (6) dargestellt, berechnet. In diesem Zusammenhang ist die Beziehung zwischen der Variablen x', der Variablen y' und einer Variablen r in Gleichung (7) dargestellt.

    [Formel 3] x = x / z
    Figure DE112021007326T5_0003
    y = y / z
    Figure DE112021007326T5_0004
    x " = x 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 1 + k 4 r 2 + k 5 r 4 + k 6 r 6 + 2 p 1 x y + p 2 ( r 2 + 2 x 2 )
    Figure DE112021007326T5_0005
    y " = y 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 1 + k 4 r 2 + k 5 r 4 + k 6 r 6 + p 1 ( r 2 + 2 y 2 ) + 2 p 2 x y
    Figure DE112021007326T5_0006
    r 2 = x 2 + y 2
    Figure DE112021007326T5_0007
  • In Gleichung (5) und Gleichung (6) sind die Koeffizienten k1 bis k6 Koeffizienten, die sich auf die Linsenverzeichnung in radialer Richtung beziehen, und die Koeffizienten p1 und p2 sind Koeffizienten, die sich auf die Linsenverzeichnung in Umfangsrichtung beziehen. Die Variablen x'' und y'', die die Objektivverzeichnung berücksichtigen, werden verwendet, wobei die Koordinatenwerte (u, v) des Bildkoordinatensystems 73 im Bild wie in der folgenden Gleichung (8) und Gleichung (9) gezeigt berechnet werden können. Gleichung (8) und Gleichung (9) sind ein Teil, der einer Berechnung unter Verwendung der intrinsischen Parametermatrix in der obigen Gleichung (1) entspricht.

    [Formel 4] u = f x x " + c x
    Figure DE112021007326T5_0008
    v = f y y " + c y
    Figure DE112021007326T5_0009
  • Die obige Beschreibung beschreibt ein Verfahren zur Berechnung einer Position in einem Bild aus einer dreidimensionalen Position im Raum. In der vorliegenden Ausführungsform wird jedoch auf der Grundlage der obigen Beziehung eine dreidimensionale Position (X, Y, Z) im Raum auf der Grundlage der Koordinatenwerte (u, v) der Position im Bild und des Abstands von der Kamera 6 zu jedem der Werkstücke 38 und 39 im Kamera-Koordinatensystem 72 (die Z-Achsenkoordinatenwerte im Kamera-Koordinatensystem 72) berechnet. Der Abstand von der Kamera 6 zum Werkstück 38 kann vorgegeben und im Speicherteil 42 gespeichert werden. Die Einheit zur Berechnung der Merkmalsposition 55 berechnet aus den Koordinatenwerten (u, v) einer bestimmten Position im Bild auf der Grundlage des Berechnungsmodells eine dreidimensionale Position (X, Y, Z) im Raum.
  • In diesem Zusammenhang und unter Bezugnahme auf Gleichung (2) bis Gleichung (9) erfordert das Berechnungsmodell zur Berechnung einer dreidimensionalen Position aus einer Position im Bild die Produkte fx und fy, bei denen es sich um Variablen f handelt, die dem Produkt aus Brennweite und effektiver Bildgröße entsprechen, ein Bildzentrum cx, cy, bei denen es sich um Variablen c handelt, die dem Bildzentrum entsprechen, sowie die Koeffizienten k1 bis k6 und p1 und p2, bei denen es sich um Variablen k und p handelt, die den Koeffizienten für die Verzeichnung entsprechen. Diese Parameter des Berechnungsmodells hängen von der Ausrichtung der Kamera 6 ab. Mit anderen Worten, die Parameter des Berechnungsmodells hängen von der Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft ab. Alternativ dazu hängen die Parameter des Berechnungsmodells von einer auf die Kamera wirkenden Kraft (Beschleunigung) wie der Schwerkraft ab.
  • 8 zeigt eine perspektivische Ansicht der Kamera zur Erläuterung der Ausrichtung des Kamera-Koordinatensystems in Bezug auf die Schwerkraftrichtung. In der vorliegenden Ausführungsform ist das Kamera-Koordinatensystem 72 so eingestellt, dass sich die Z-Achse des Kamera-Koordinatensystems 72 mit der optischen Achse 6b des Objektivs überschneidet. In der vorliegenden Ausführungsform wird die Ausrichtung des Kamera-Koordinatensystems 72 verwendet, um die Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft auszudrücken. Eine durch einen Pfeil 102 angegebene Richtung ist die Richtung der Schwerkraft, und das Kamera-Koordinatensystem 72 ist in Bezug auf die Richtung der Schwerkraft geneigt.
  • Die Einheit zur Erkennung der Schwerkraft-Richtung 51 erfasst die Richtung der Schwerkraft. In der vorliegenden Ausführungsform werden Koordinatenwerte, die die Richtung der Schwerkraft im Referenz-Koordinatensystem 71 angeben, im Voraus im Speicherteil 42 gespeichert. Die Einheit zur Erkennung der Schwerkraft-Richtung 51 bezieht die Koordinatenwerte des Referenz-Koordinatensystems 71, die die Richtung der Schwerkraft angeben, aus dem Speicherteil 42. Alternativ kann ein Schwerkraftsensor am Handgelenk o.ä. des Roboters angeordnet sein, dessen Ausrichtung sich zusammen mit der Kamera ändert. Die Einheit zur Erkennung der Schwerkraft-Richtung 51 kann die Richtung der Schwerkraft auf der Grundlage einer Ausgabe des Schwerkraftsensors erfassen. Auch die Kamera kann einen Schwerkraftsensor enthalten. In diesem Fall kann die Einheit zur Erkennung der Schwerkraft-Richtung 51 die Richtung der Schwerkraft anhand des Schwerkraftsensors der Kamera erfassen.
  • Die Einheit zur Erkennung der Orientierung 52 erkennt die Ausrichtung der Kamera 6 in Bezug auf die Schwerkraft-Richtung anhand der Position und Ausrichtung des Roboters 1 und einer Position am Roboter 1, an der die Kamera 6 angebracht ist. In der vorliegenden Ausführungsform ist die Kamera 6 an der Hand 5 befestigt. Die Position der Kamera 6 am Roboter 1 und ihre Ausrichtung in Bezug auf die Hand 5 sind konstant. Daher berechnet die Einheit zur Erkennung der Orientierung 52 die Position und Orientierung des Kamera-Koordinatensystems 72 auf der Grundlage einer Ausgabe des Positionsmelders 23. Die Position und Orientierung des Kamera-Koordinatensystems 72 kann durch Verwendung von Koordinatenwerten des Referenz-Koordinatensystems 71 ausgedrückt werden. Alternativ dazu berechnet die Einheit zur Erkennung der Orientierung 52 die Position und Ausrichtung des Werkzeug-Koordinatensystems 74 unter Verwendung des Referenz-Koordinatensystems 71 auf der Grundlage der Ausgabe des Positionsmelders 23. Dann kann die Einheit zur Erkennung der Orientierung 52 die Position und Ausrichtung des Kamera-Koordinatensystems 72 aus der Position und Ausrichtung des Werkzeug-Koordinatensystems 74 berechnen.
  • Anschließend berechnet die Einheit zur Erkennung der Orientierung 52 die Ausrichtung des Kamera-Koordinatensystems 72 in Bezug auf die Schwerkraftrichtung. In der vorliegenden Ausführungsform wird die Richtung der Schwerkraft in Komponenten in den Richtungen der X-Achse, Y-Achse und Z-Achse des Kamera-Koordinatensystems 72 zerlegt. Mit anderen Worten, die Richtung der Schwerkraft wird durch den X-Achsen-Koordinatenwert, den Y-Achsen-Koordinatenwert und den Z-Achsen-Koordinatenwert ausgedrückt. Als Länge des Pfeils 102, der der Größe der Schwerkraft entspricht, kann eine beliebige Länge angenommen werden. In der vorliegenden Ausführungsform wird angenommen, dass die Schwerkraft 9,8 beträgt. In der vorliegenden Ausführungsform entsprechen die Koordinatenwerte (gx, gy , gz) eines durch den Pfeil 102 angezeigten Vektors in Richtung der Schwerkraft der Ausrichtung des Kamera-Koordinatensystems 72 in Bezug auf die Richtung der Schwerkraft. Wenn die Größe des durch den Pfeil 102 angezeigten Vektors in Richtung der Schwerkraft durch eine Variable g dargestellt wird, gilt die folgende Beziehung (10).

    [Formel 5] g = g x 2 + g y 2 + g z 2
    Figure DE112021007326T5_0010
  • Wenn beispielsweise die optische Achse 6b des Objektivs der Kamera 6 parallel zur vertikalen Richtung verläuft, entsprechen die Koordinatenwerte (0, 0, 9,8) des durch den Pfeil 102 angezeigten Vektors der Ausrichtung des Kamera-Koordinatensystems 72 in Bezug auf die Richtung der Schwerkraft. Als nächstes werden in der vorliegenden Ausführungsform Einstellinformationen 63 zum Einstellen von Parametern, die der Ausrichtung der Kamera 6 in Bezug auf die Richtung der Schwerkraft entsprechen, vorgegeben. Die Einheit zum Einstellen eines Parameters 53 stellt die Parameter des Berechnungsmodells unter Verwendung der Ausrichtung der Kamera 6 in Bezug auf die Richtung der Schwerkraft und der Einstellungsinformationen 63 ein. Tabelle 1 zeigt einen Teil einer Tabelle von Parameterwerten, die der Ausrichtung der Kamera 6 als Einstellungsinformation 63 entsprechen.
    [Tabelle 1]
    gx gy gz fx
    9.8 0.0 0.0 fx1
    9.0 3.9 0.0 fx2
    8.0 5.7 0.0 fx3
    7.0 6.9 0.0 fx4
    6.0 7.7 0.0 fx5
    5.0 8.4 0.0 fx6
    4.0 8.9 0.0 fx7
    3.0 9.3 0.0 fx8
    2.0 9.6 0.0 fx9
    1.0 9.7 0.0 fx10
    9.0 3.0 2.5 fx11
    9.0 2.0 3.3 fx12
    9.0 1.0 3.7 fx13
  • In diesem Fall werden die Werte des Produkts fx aus der Brennweite und der effektiven Pixelgröße als Beispiel für einen Parameter angezeigt. In den Einstellungsinformationen 63 dieses Falles werden Werte der Produkte fx1 bis fx13, die Parameter sind, für Sätze von Koordinatenwerten (gx, gy , gz) vorgegeben, die Variablen sind, die eine Vielzahl von diskreten Ausrichtungen der Kamera 6 angeben.
  • Die Einheit zum Einstellen eines Parameters 53 stellt die Parameter des Berechnungsmodells auf der Grundlage der für jede Ausrichtung der Kamera 6 in Bezug auf die Schwerkraftrichtung ermittelten Parameterwerte ein. Beispielsweise ermittelt die Einheit zum Einstellen eines Parameters 53 die Produkte fx von zwei Sätzen von Koordinatenwerten (gx, gy, gz), die einem Satz von Koordinatenwerten am nächsten kommen, die sich auf die Ausrichtung der Kamera 6 beziehen, wenn die Kamera 6 ein Bild aufnimmt. Die Einheit zum Einstellen eines Parameters 53 kann den Parameter durch Interpolation der beiden Werte des Produkts fx mit dem Satz von Koordinatenwerten für die Ausrichtung der Kamera einstellen. Alternativ können die Parameter durch eine beliebige Methode eingestellt werden, indem eine Tabelle mit diskreten Parameterwerten verwendet wird. Beispielsweise kann ein Mittelwert der beiden Parameterwerte verwendet werden, die den beiden Gruppen von Koordinatenwerten entsprechen, oder es kann ein Parameterwert verwendet werden, der der engeren der Gruppen von Koordinatenwerten entspricht. Andere Parameter wie das Produkt fy, die Bildzentrumsvariablen c und die Verzerrungsvariablen k und p können auf ähnliche Weise eingestellt werden.
  • Durch die Verwendung von Einstellinformationen, die Parameterwerte für diskrete Ausrichtungen der Kamera enthalten, kann die Einheit zum Einstellen eines Parameters Parameter einstellen, die einer beliebigen Ausrichtung der Kamera entsprechen. Die Einheit zum Einstellen eines Parameters kann Parameter durch einfache Berechnung einstellen. Auch wenn es schwierig ist, die unten beschriebenen Funktionen einzustellen, können die Parameter alternativ in Abhängigkeit von der Ausrichtung der Kamera eingestellt werden.
  • Anschließend können Funktionen zur Berechnung von Parametern in Abhängigkeit von der Ausrichtung der Kamera als Einstellungsinformationen definiert werden. Die Parameter können durch mathematische Ausdrücke berechnet werden, die Variablen in Bezug auf die Ausrichtung der Kamera enthalten. Beispielsweise kann eine Funktion f(gx, gy , gz) zur Berechnung einer Variablen f in Bezug auf die Variablen gx, gy und gz, bei denen es sich um einen Satz von Koordinatenwerten in Bezug auf die Ausrichtung der Kamera handelt, wie in Gleichung (11) gezeigt, vorgegeben werden. Alternativ kann eine Funktion k(gx, gy , gz) zur Berechnung der Verzerrungskoeffizienten k in Bezug auf die Variablen, die sich auf die Ausrichtung der Kamera beziehen, wie in Gleichung (12) gezeigt, vorgegeben werden.

    [Formel 6] f = f ( g x , g y , g z )
    Figure DE112021007326T5_0011
    k = k ( g x , g y , g z )
    Figure DE112021007326T5_0012
  • Zum Beispiel können Gleichungen höheren Grades der Variablen gx, gy und gz, die sich auf die Ausrichtung der Kamera beziehen, als solche Funktionen übernommen werden. Die Einheit zum Einstellen eines Parameters 53 kann jeden Parameter mit Hilfe einer Funktion einstellen. Die Einheit zur Berechnung der Merkmalsposition 55 kann die dreidimensionale Position des Merkmalsteils auf der Grundlage der von der Einheit zum Einstellen eines Parameters 53 eingestellten Parameter berechnen.
  • Alternativ kann auch maschinelles Lernen zur Berechnung von Parametern in Abhängigkeit von der Ausrichtung der Kamera als Einstellinformation verwendet werden. Zum Beispiel erwirbt die Einheit zum Einstellen eines Parameters als Trainingsdaten (Labels) eine große Anzahl von Sätzen der Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft und Parameterwerte, die der Ausrichtung der Kamera entsprechen. Die Einheit zum Einstellen eines Parameters erzeugt ein Lernmodell durch überwachtes Lernen. Dann kann die Einheit zum Einstellen eines Parameters Parameterwerte aus Variablen, die sich auf die Ausrichtung der Kamera beziehen, unter Verwendung des Lernmodells einstellen.
  • In der oben beschriebenen Ausführungsform wird der Vektor in Richtung der Schwerkraft in Komponenten in Richtung der X-Achse, der Y-Achse und der Z-Achse des Kamera-Koordinatensystems als Variablen zerlegt, die die Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft angeben, aber die Variablen sind nicht auf diese Form beschränkt. Es kann jede beliebige Variable verwendet werden, solange sie die Ausrichtung der Kamera in Bezug auf die Schwerkraftrichtung angibt. Beispielsweise können die Koordinatenwerte der Ausrichtung des Kamera-Koordinatensystems, die durch die Koordinatenwerte des Referenz-Koordinatensystems 71 (Koordinatenwerte der W-Achse, P-Achse und R-Achse des Referenz-Koordinatensystems 71) ausgedrückt werden, als Variablen berechnet werden, die die Ausrichtung der Kamera in Bezug auf die Schwerkraftrichtung angeben.
  • 9 zeigt ein Flussdiagramm der Steuerung gemäß der vorliegenden Ausführungsform. Unter Bezugnahme auf 1, 2 und 9 bestimmt der Bediener Einstellinformationen zur Einstellung der Parameter des Berechnungsmodells. Dann veranlasst der Bediener den Speicherteil 42, die Einstellinformationen 63 zu speichern. Zunächst wird die Steuerung des Greifens des Werkstücks 38 durch das Roboter-System 3 als Beispiel beschrieben.
  • In Schritt 81 fährt die Betriebssteuerungseinheit 43 die Kamera 6 in eine vorgegebene Abbildungsposition zur Abbildung des Werkstücks 38. In der vorliegenden Ausführungsform ist die Kamera 6 direkt über der Referenzposition des Werkstücks 38 angeordnet. Im nächsten Schritt 82 stellt der Fokuseinstellmechanismus 24 der Kamera 6 die Kamera 6 scharf. Der Mechanismus der Schärfeneinstellung 24 der vorliegenden Ausführungsform verfügt über eine Autofokusfunktion und führt somit eine Autofokussierung durch. Die Einheit zur Steuerung eines Bildes 58 nimmt ein Bild mit der Kamera 6 auf.
  • In Schritt 83 erfasst die Einheit zur Erkennung der Schwerkraft-Richtung 51 die Richtung der Schwerkraft. Beispielsweise erhält die Einheit zur Erkennung der Schwerkraft-Richtung 51 Koordinatenwerte, die die Richtung der Schwerkraft angeben, ausgedrückt durch Koordinatenwerte des Referenz-Koordinatensystems 71, vom Speicherteil 42. Die Einheit zur Erkennung der Orientierung 52 erfasst die Ausrichtung der Kamera 6 auf der Grundlage der Position und Ausrichtung des Roboters 1. Beispielsweise kann die Einheit zur Erkennung der Orientierung 52 die Ausrichtung des Kamera-Koordinatensystems 72 unter Verwendung der Koordinatenwerte des Referenz-Koordinatensystems 71 erfassen. Als Nächstes erfasst die Einheit zur Erkennung der Orientierung 52 die Ausrichtung der Kamera in Bezug auf die Schwerkraftrichtung, wenn die Kamera ein Bild aufgenommen hat.
  • In Schritt 84 stellt die Einheit zum Einstellen eines Parameters 53 Parameter eines Berechnungsmodells zur Berechnung der dreidimensionalen Position des Merkmalsabschnitts auf der Grundlage der Variablen bezüglich der Ausrichtung der Kamera 6 und der Einstellungsinformationen ein.
  • Als nächstes, in Schritt 85, erkennt die Einheit zur Erkennung eines Merkmals 54 einen Merkmalsabschnitt im Bild, indem sie einen Musterabgleich durchführt. In diesem Beispiel wird der Musterabgleich unter Verwendung eines Referenzbildes des Randbereichs 38c des plattenartigen Bereichs 38b durchgeführt, wodurch ein Randbereich 38c in dem Bild erfasst wird. Die Einheit zur Berechnung der Merkmalsposition 55 erfasst die Position des Merkmalsteils im Bild.
  • Als nächstes wird in der beispielhaften Steuerung der vorliegenden Ausführungsform eine Steuerung zur Änderung der Position der Kamera 6 in Bezug auf das Werkstück 38 und zur Aufnahme eines Bildes durchgeführt, wenn die Position des Merkmalsteils des Werkstücks nicht erkannt werden kann. Beispielsweise kann der Merkmalsbereich aufgrund der Reflexion des Lichts von der Beleuchtung weiß erscheinen, wodurch der Merkmalsbereich unklar wird. In einem solchen Fall kann es möglich sein, den Merkmalsbereich klar abzubilden, indem die Position der Kamera bewegt wird.
  • In Schritt 86 bestimmt die Bildverarbeitungseinheit 50, ob die Position des Merkmalsteils erkannt wurde oder nicht. Wenn die Einheit zur Berechnung der Merkmalsposition 55 die Position des Merkmalsteils nicht erkennen kann, wird zu Schritt 87 übergegangen.
  • In Schritt 87 erzeugt die Einheit zur Erzeugung eines Betriebsbefehls 59 einen Befehl zum Ändern der Position der Kamera 6. Zum Beispiel erzeugt die Einheit zur Erzeugung eines Betriebsbefehls 59 einen Befehl zum Verschieben der Kamera 6 in einer vorbestimmten Richtung um einen vorbestimmten Bewegungsbetrag. Die Einheit zur Erzeugung eines Betriebsbefehls 59 kann die Kamera 6 in einer Richtung senkrecht zur Z-Achse des Kamera-Koordinatensystems 72 verschieben. Unter Bezugnahme auf 1 erzeugt die Einheit zur Erzeugung eines Betriebsbefehls 59 beispielsweise einen Befehl zum Bewegen der Kamera 6 in Richtung der X-Achse des Kamera-Koordinatensystems 72.
  • Die Einheit zur Erzeugung eines Betriebsbefehls 59 sendet den Betriebsbefehl für den Roboter 1 an die Betriebssteuerungseinheit 43. Die Betriebssteuerungseinheit 43 ändert die Position und Ausrichtung des Roboters 1. Dann kehrt die Steuerung zu Schritt 82 zurück. Die Bildverarbeitungseinheit 50 wiederholt die Steuerung von Schritt 82 bis Schritt 86.
  • In Schritt 86, wenn die Einheit zur Berechnung der Merkmalsposition 55 die Position des Merkmalsteils erkannt hat, fährt die Steuerung mit Schritt 88 fort. Die Steuerung kann abgebrochen werden, wenn das Merkmalsteil auch nach mehrmaligem Ändern der Position und Ausrichtung des Roboters nicht erkannt werden kann.
  • In Schritt 88 berechnet die Einheit zur Berechnung der Merkmalsposition 55 die dreidimensionale Position des Merkmalsbereichs auf der Grundlage der Position des Merkmalsbereichs im Bild. Die Einheit zur Berechnung der Merkmalsposition 55 berechnet die Koordinatenwerte des Referenz-Koordinatensystems 71 auf der Grundlage der Koordinatenwerte des Bildkoordinatensystems 73 im Bild. Die Einheit zur Berechnung der Merkmalsposition 55 berechnet die Position des Werkstücks auf der Grundlage der dreidimensionalen Position des Merkmalsabschnitts. Die Position des Werkstücks kann z.B. im Referenz-Koordinatensystem 71 berechnet werden.
  • In Schritt 89 berechnet die Einheit zur Erzeugung eines Betriebsbefehls 59 die Position und Ausrichtung des Roboters 1 auf der Grundlage der Position des Werkstücks 38. Dann, in Schritt 90, sendet die Einheit zur Erzeugung eines Betriebsbefehls 59 Betriebsbefehle zum Fahren des Roboters 1 an die Betriebssteuerungseinheit 43. Die Betriebssteuerungseinheit 43 steuert den Roboter 1 und die Hand 5 basierend auf den Betriebsbefehlen.
  • Unter Bezugnahme auf 2, 5 und 9 kann die gleiche Steuerung wie die in 9 dargestellte durchgeführt werden, wenn das erste Werkstück 38 in den vertieften Teil 39a des zweiten Werkstücks 39 eingelegt wird. In Schritt 81 ordnet der Roboter 1 die Kamera 6 in einer Richtung senkrecht zur Oberfläche des Werkstücks 39 an. In Schritt 82 nimmt die Kamera 6 ein Bild von der Oberfläche des Werkstücks 39 auf. In Schritt 83 erfasst die Einheit zur Erkennung der Schwerkraft-Richtung 51 die Richtung der Schwerkraft. Die Einheit zur Erkennung der Orientierung 52 erfasst die Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft. In Schritt 84 berechnet die Einheit zum Einstellen eines Parameters 53 Parameter eines Berechnungsmodells auf der Grundlage der Ausrichtung der Kamera 6 in Bezug auf die Richtung der Schwerkraft.
  • Als nächstes, in Schritt 85, erkennt die Einheit zur Erkennung eines Merkmals 54 einen Merkmalsabschnitt des Werkstücks in dem Bild. Zum Beispiel wird die Position einer Ecke des vertieften Teils 39a des Werkstücks 39 erfasst. Die Einheit zur Berechnung der Merkmalsposition 55 ermittelt die Position des Merkmalsteils im Bild.
  • In Schritt 86 bestimmt die Bildverarbeitungseinheit 50, ob die Position des Merkmalsteils erkannt werden kann oder nicht. Wenn die Position des Merkmalsteils nicht erkannt werden kann, ändert die Einheit zur Erzeugung eines Betriebsbefehls 59 in Schritt 87 die Position der Kamera 6. Zum Beispiel wird die Kamera 6 in eine Richtung senkrecht zur Z-Achse des Kamera-Koordinatensystems 72 verschoben. Die Steuerung von Schritt 82 bis Schritt 86 wird wiederholt, nachdem die Position der Kamera 6 geändert wurde.
  • Wenn die Position des Merkmalsteils in Schritt 86 erkannt werden kann, berechnet die Einheit zur Berechnung der Merkmalsposition 55 in Schritt 88 die Position des zweiten Werkstücks 39. Dann werden die Position und die Ausrichtung des Roboters 1, wenn das erste Werkstück 38 platziert wird, auf der Grundlage der Position des zweiten Werkstücks 39 berechnet. Mit anderen Worten werden die Position und die Ausrichtung des Roboters 1 berechnet, wenn das erste Werkstück 38 in den vertieften Teil 39a des zweiten Werkstücks 39 eingeführt wird. Dann wird der Roboter in Schritt 90 angetrieben. Die Betriebssteuerungseinheit 43 steuert den Roboter 1 und die Hand 5 auf der Grundlage der Betriebsbefehle. Die Hand 5 gibt das Werkstück 38 frei, nachdem das erste Werkstück 38 in den vertieften Teil 39a eingelegt wurde.
  • Die Abbildungsvorrichtung gemäß der vorliegenden Ausführungsform stellt Parameter eines Berechnungsmodells zur Berechnung einer dreidimensionalen Position ein, die einer bestimmten Position in einem vom Bildsensor erfassten Bild entspricht, und zwar in Abhängigkeit von der Ausrichtung der Kamera. Dann wird die dreidimensionale Position der spezifischen Position auf der Grundlage von Parametern berechnet, die der Ausrichtung des Bildsensors entsprechen. Durch diese Steuerung ist es möglich, die dreidimensionale Position des Merkmalsteils entsprechend der Ausrichtung der Kamera genau zu erfassen. Insbesondere muss die Ausrichtung der Kamera in Bezug auf das Werkstück nicht im Voraus festgelegt werden, und ein Bild kann bei jeder beliebigen Ausrichtung der Kamera entsprechend der Ausrichtung des Werkstücks aufgenommen und eine dreidimensionale Position mit einem kleinen Fehler berechnet werden. Die Abbildungsvorrichtung der vorliegenden Ausführungsform erweitert den Bereich, in dem der Roboter gefahren werden kann, und erhöht die Anzahl der Muster für den Antrieb des Roboters im Vergleich zu den Technologien des herkömmlichen Standes der Technik.
  • Wenn der Mechanismus zur Schärfeneinstellung des Bildsensors eine automatische Fokussierungsfunktion hat, erhöht sich das Gewicht. Da es einen Mechanismus zum Bewegen der Position des Objektivs gibt, nimmt auch das Klappern des Mechanismus im Inneren des Objektivs zu. Infolgedessen nimmt die Veränderung der relativen Position des Objektivs in Bezug auf das Lichtempfangselement der Kamera zu. Wenn die Kamera über eine automatische Fokussierungsfunktion verfügt, sind die Auswirkungen der Steuerung gemäß der vorliegenden Ausführungsform daher bemerkenswert.
  • Es ist zu beachten, dass der Bildverarbeitungssensor keine automatische Fokussierungsfunktion haben muss. Es kann zum Beispiel eine Kamera mit einem Objektiv verwendet werden, das manuell fokussiert wird. Alternativ kann auch eine Kamera mit einem Objektiv mit fester Fokusposition verwendet werden.
  • Das Roboter-System gemäß der vorliegenden Ausführungsform umfasst einen Roboter als Bewegungsvorrichtung, der den Bildsensor bewegt. Der Roboter kann die Ausrichtung der Kamera ändern. Selbst wenn der Roboter die Ausrichtung der Kamera ändert, kann die Abbildungsvorrichtung der vorliegenden Ausführungsform Parameter in Abhängigkeit von der Ausrichtung der Kamera einstellen und die dreidimensionale Position des Werkstücks genau erfassen.
  • Wie in 2 gezeigt, zeigt der Anzeigeteil 28 des Einlern-Handgeräts 26 der vorliegenden Ausführungsform die Werte der von der Einheit zum Einstellen eines Parameters 53 eingestellten Parameter an. Der Bediener kann die Werte der auf dem Anzeigeteil 28 des Einlern-Handgeräts 26 angezeigten Parameter überprüfen. Insbesondere dann, wenn die von der Einheit zur Berechnung der Merkmalsposition 55 berechnete dreidimensionale Position nicht korrekt ist, kann der Bediener die Werte der als Reaktion auf die Ausrichtung der Kamera 6 eingestellten Parameter überprüfen.
  • Außerdem ist die Einheit zum Einstellen eines Parameters 53 der vorliegenden Ausführungsform so ausgebildet, dass sie in der Lage ist, Parameter einzustellen, bei denen der Einfluss der Schwerkraft aufgehoben ist. Parameter, bei denen der Einfluss der Schwerkraft ausgeschaltet ist, können vorbestimmt und im Speicherteil 42 gespeichert werden. Die Einheit zum Einstellen eines Parameters 53 kann diese Parameter aus dem Speicherteil 42 abrufen.
  • Das Anzeigeteil 28 der vorliegenden Ausführungsform ist so ausgebildet, dass es die dreidimensionale Position des Merkmalsbereichs anzeigt, die unter Verwendung der Parameter berechnet wurde, die der Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft entsprechen, sowie die dreidimensionale Position des Merkmalsbereichs, die unter Verwendung der Parameter berechnet wurde, bei denen der Einfluss der Schwerkraft ausgeschaltet ist. Mit dieser Konfiguration kann der Bediener die Größe der Positionsverschiebung aufgrund des Einflusses der Schwerkraft überprüfen. Der Bediener kann das Ausmaß des Einflusses der Schwerkraft auf das Bild überprüfen. Der Bediener kann auch das Ausmaß der Positionsverschiebung des Merkmalsteils im Bild oder das Ausmaß der dreidimensionalen Positionsverschiebung des Werkstücks überprüfen. Der Bediener kann die Genauigkeit der Bedienung des Robotersystems überprüfen.
  • In der oben beschriebenen Ausführungsform werden die Parameter für die Umwandlung einer Position in einem zweidimensionalen Bild in eine dreidimensionale Position auf der Grundlage der Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft eingestellt, aber die Ausführungsform ist nicht darauf beschränkt. Die Einheit zum Einstellen eines Parameters 53 kann Parameter auf der Grundlage von Einstellinformationen einschließlich der Temperatur als Variable einstellen.
  • In 2 ist ein Temperaturmelder 31 zur Erfassung der Temperatur eines Körpers der Kamera 6 an der Kamera 6 im Roboter-System 3 der vorliegenden Ausführungsform angebracht. Die Temperatur ist nicht auf die Temperatur der Kamera 6 beschränkt, und jede Temperatur, die sich auf die Temperatur der Kamera 6 bezieht, kann angenommen werden. Zum Beispiel kann die Temperatur des Objektivs oder die Lufttemperatur um das Roboter-System 3 angenommen werden.
  • Wenn die Kamera über einen längeren Zeitraum betrieben wird, kann sich die Temperatur der elektronischen Teile in der Kamera erhöhen. Alternativ kann die Temperatur des Motors, der das Objektiv antreibt, ansteigen. Infolgedessen können sich die Temperatur des Kameragehäuses, die Temperatur des Objektivs und die Temperatur eines Trägerelements, das das Objektiv oder ähnliches trägt, ändern, und die Verzeichnung des Objektivs oder die relative Position des Sensors in Bezug auf das Objektiv kann sich ändern. Aus diesem Grund können sich die Parameter des Berechnungsmodells ändern, wenn sich die Temperatur ändert. Daher kann die Einheit zum Einstellen eines Parameters 53 die Parameter des Berechnungsmodells einstellen, indem sie zusätzlich zur Ausrichtung der Kamera in Bezug auf die Schwerkraftrichtung die Temperatur als Variable verwendet.
  • Bei einer Methode zur Einstellung solcher Parameter mit Temperatur als zusätzlicher Variable kann die Temperatur als zusätzliche Variable zu den Variablen für die Ausrichtung der Kamera in Bezug auf die Richtung der Schwerkraft hinzugefügt werden, wie in Tabelle 1 dargestellt. Mit anderen Worten, es ist möglich, eine Tabelle mit Parameterwerten zu erstellen, die die Temperatur t als Variable zusätzlich zu den Variablen gx, gy und gz der Koordinatenwerte enthält, die die Richtung der Schwerkraft angeben. Alternativ können die Parameter mit Hilfe einer Funktion f(gx, gy , gz, t) berechnet werden, die neben den Variablen gx, gy und gz auch die Temperatur t als Variable enthält, wie in der folgenden Gleichung (13) dargestellt.

    [Formel 7] f = f ( g x , g y , g z , t )
    Figure DE112021007326T5_0013
  • Durch diese Steuerung kann die dreidimensionale Position genau berechnet werden, wobei neben der Ausrichtung der Kamera in Bezug auf die Schwerkraftrichtung auch der Einfluss der Temperatur berücksichtigt wird. Insbesondere im Falle einer Kamera mit einer Flüssiglinse wird die Flüssiglinse stark von der Temperatur beeinflusst. Beispielsweise wird die Flüssigkeitslinse stark von der Temperatur der Flüssigkeit beeinflusst, da die Krümmung der Linse durch die Änderung der Oberflächenspannung verändert wird. Daher kann die dreidimensionale Position genau berechnet werden, indem die Parameter des Berechnungsmodells zusätzlich zur Ausrichtung der Kamera auf der Grundlage der Temperatur festgelegt werden.
  • In der oben beschriebenen Ausführungsform wird das Werkstück abgebildet, während die Kamera stationär ist, aber die Ausführungsform ist nicht darauf beschränkt. Das Werkstück kann auch abgebildet werden, während sich die Kamera bewegt. Beispielsweise kann anstelle des Sockels 95 ein Förderer für die horizontale Bewegung des Werkstücks 38 verwendet werden (siehe 1).
  • In diesem Fall kann die Position und Ausrichtung des Roboters 1 so gesteuert werden, dass die Kamera 6 der Bewegung des Werkstücks 38 folgt. Wenn das Werkstück 38 beispielsweise durch den Förderer in Richtung der Y-Achse des Referenz-Koordinatensystems 71 bewegt wird, nimmt die Kamera 6 ein Bild auf, während sie sich in Richtung der Y-Achse des Referenz-Koordinatensystems 71 bewegt. Dann kann das Werkstück 38 während einer Periode, in der sich das Werkstück 38 bewegt, gegriffen werden. In diesem Fall kann das Werkstück 38 während einer Zeitspanne, in der die Kamera 6 beschleunigt, oder während einer Zeitspanne, in der die Kamera 6 verlangsamt, abgebildet werden. Mit anderen Worten, ein Bild kann während eines Zeitraums aufgenommen werden, in dem die Kamera 6 beschleunigt wird.
  • Bezugnehmend auf 2 kann die Einheit zum Einstellen eines Parameters 53 der Bildverarbeitungseinheit 50 der vorliegenden Ausführungsform die Beschleunigung, die auf die Kamera 6 einwirkt, wenn ein Bild von der Kamera 6 aufgenommen wird, zur Gravitationsbeschleunigung addieren. Die Einheit zur Erkennung der Beschleunigung 56 berechnet die Position des Ursprungs des Kamera-Koordinatensystems 72 auf der Grundlage einer Ausgabe des Positionsmelders 23. Die Einheit zur Erkennung der Beschleunigung 56 berechnet die auf das Kamera-Koordinatensystem 72 wirkende Beschleunigung auf der Grundlage der Position des Ursprungs des Kamera-Koordinatensystems 72 und der Zeit. Mit anderen Worten, die Einheit zur Erkennung der Beschleunigung 56 berechnet die Größe der Beschleunigung und die Richtung der auf die Kamera 6 einwirkenden Beschleunigung.
  • Die Einheit zum Einstellen eines Parameters 53 kann die auf das Kamera-Koordinatensystem 72 wirkende Beschleunigung in eine Komponente ax in Richtung der X-Achse, eine Komponente ay in Richtung der Y-Achse und eine Komponente az in Richtung der Z-Achse des Kamera-Koordinatensystems 72 zerlegen. Die Koordinatenachsenkomponenten g'x, g'y und g'z der auf das Kamera-Koordinatensystem 72 einwirkenden Beschleunigung, die die Beschleunigung aufgrund der Kamerabewegung und die Gravitationsbeschleunigung kombinieren, können durch die folgenden Gleichungen (14) bis (16) dargestellt werden.

    [Formel 8] a x + g x = g x
    Figure DE112021007326T5_0014
    a y + g y = g y
    Figure DE112021007326T5_0015
    a z + g z = g z
    Figure DE112021007326T5_0016
  • Auf diese Weise kann für die Kamera 6 festgelegt werden, dass die Beschleunigung mit den Koordinatenwerten (g'x, g'y, g'z) im Kamera-Koordinatensystem 72 auf die Kamera 6 wirkt. Die Einheit zum Einstellen eines Parameters 53 kann die Werte der Variablen f', c', k' und p', bei denen es sich um Parameter handelt, auf der Grundlage der Variablen g'x, g'y und g'z und der in Tabelle 1 gezeigten Einstellinformationen einstellen. Alternativ kann die Einheit zum Einstellen eines Parameters 53 die Variablen f', c', k' und p', die Parameter des Berechnungsmodells sind, aus den Variablen g'x, g'y und g'z auf der Grundlage der in den Gleichungen (11) und (12) dargestellten Funktionen berechnen. Dann kann die Einheit zur Berechnung der Merkmalsposition 55 die dreidimensionale Position des Merkmalsteils auf der Grundlage der berechneten Parameter des Berechnungsmodells berechnen.
  • Durch eine Steuerung, bei der die auf die Kamera 6 ausgeübte Beschleunigung beim Fahren des Roboters 1 zur Schwerkraftbeschleunigung addiert wird, kann die dreidimensionale Position auch dann genau erfasst werden, wenn das Bild aufgenommen wird, während die Kamera beschleunigt oder verlangsamt wird.
  • In der oben beschriebenen Ausführungsform werden die Parameter eines Berechnungsmodells auf der Grundlage der Richtung der Schwerkraft berechnet, und eine Position in einem zweidimensionalen Bild, das von der Kamera aufgenommen wurde, wird unter Verwendung der berechneten Parameter in eine dreidimensionale Position umgewandelt, aber die Ausführungsform ist nicht darauf beschränkt. Die Variablen f', c', k' und p', bei denen es sich um Parameter handelt, können auf der Grundlage der von der Einheit zur Erkennung der Schwerkraftrichtung 51 erfassten Schwerkraftrichtung berechnet werden, und die Position im Bild, die im zweidimensionalen Bildkoordinatensystem 73 dargestellt ist, kann unter Verwendung dieser Parameter korrigiert werden. Dann kann die korrigierte Position in dem in dem zweidimensionalen Bildkoordinatensystem 73 dargestellten Bild in eine dreidimensionale Position umgewandelt werden, indem Parameter verwendet werden, bei denen der Einfluss der Schwerkraft eliminiert ist.
  • Beispielsweise können die Koordinatenwerte (u1, v1) einer beliebigen Position eines Merkmalsbereichs in einem zweidimensionalen Bild in Koordinatenwerte (u1', v1') einer korrigierten Position auf der Grundlage der Variablen f', c', k' und p' umgewandelt werden, bei denen es sich um Parameter handelt, die den Einfluss der Schwerkraft berücksichtigen. Mit anderen Worten, es kann in ein zweidimensionales Bild umgewandelt werden, das man erhält, wenn kein Einfluss der Schwerkraft vorhanden ist. Anschließend kann eine dreidimensionale Position auf der Grundlage der Koordinatenwerte (u1', v1') im Bild berechnet werden, indem die Parameter des Berechnungsmodells verwendet werden, bei dem der Einfluss der Schwerkraft ausgeschaltet ist. Auf diese Weise ist es möglich, eine Bildverarbeitung durchzuführen, um ein von einer Kamera aufgenommenes Bild in ein Bild umzuwandeln, bei dem der Einfluss der Schwerkraft eliminiert ist. Danach kann die dreidimensionale Position auf der Grundlage der Position im Bild unter Verwendung der Parameter berechnet werden, bei denen der Einfluss der Schwerkraft eliminiert ist. Durch die Anwendung dieser Methode ist es auch möglich, die dreidimensionale Position genau zu bestimmen.
  • Obwohl der Roboter 1 in der oben beschriebenen Ausführungsform die Ausrichtung der Kamera 6 ändert, ist die Ausführungsform nicht darauf beschränkt. Die Position und Ausrichtung der Kamera kann fest sein. Auch ist die Bewegungsvorrichtung, die die Ausrichtung der Kamera ändert, nicht auf einen Roboter beschränkt, und jede Vorrichtung, die die Ausrichtung der Kamera ändert, kann verwendet werden.
  • Bei jeder der oben beschriebenen Steuerungen kann die Reihenfolge der Schritte innerhalb eines Bereichs, in dem die Funktionen und Vorgänge nicht verändert werden, nach Belieben geändert werden. Die oben beschriebenen Ausführungsformen können beliebig miteinander kombiniert werden. In jeder der obigen Abbildungen sind gleiche oder gleichwertige Teile mit den gleichen Bezugsziffern versehen. Die oben beschriebenen Ausführungsformen sind Beispiele und schränken die Erfindung nicht ein. Die Ausführungsformen umfassen auch Modifikationen der in den Ansprüchen angegebenen Ausführungsformen.
  • REFERENZZEICHENLISTE
  • 1
    Roboter
    2
    Steuerung
    3
    Roboter-System
    6
    Kamera
    6b
    optische Achse
    23
    Positionsmelder
    24
    Mechanismus zur Schärfeneinstellung
    26
    Einlern-Handgerät
    28
    Anzeigeteil
    31
    Temperaturmelder
    38, 39
    Werkstück
    38c
    Randbereich
    39a
    vertiefter Teil
    40
    Gehäuse der Steuerung
    42
    Lagerteil
    50
    Bildverarbeitungseinheit
    51
    Einheit zur Erkennung der Schwerkraft-Richtung
    52
    Einheit zur Erkennung der Orientierung
    53
    Einheit zum Einstellen eines Parameters
    54
    Einheit zur Erkennung eines Merkmals
    55
    Einheit zur Berechnung der Merkmalsposition
    56
    Einheit zur Erkennung der Beschleunigung
    63
    Einstellungsinformationen
    66, 67
    Bild
    68, 69
    Bild des Werkstücks
    71
    Referenz-Koordinatensystem
    72
    Kamera-Koordinatensystem
    73
    Bildkoordinatensystem
    74
    Werkzeug-Koordinatensystem
  • 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 1144900 A [0003]
    • JP 2011259314 A [0003]
    • JP 2009269110 A [0003]

Claims (8)

  1. Eine Abbildungsvorrichtung, die Folgendes umfasst: einen Bildsensor, der so konfiguriert ist, dass er ein Bild eines Werkstücks erfasst; eine Einheit zur Erkennung der Schwerkraftrichtung, die so konfiguriert ist, dass sie die Richtung der Schwerkraft erfasst; eine Einheit zur Erkennung der Orientierung, die so konfiguriert ist, dass sie eine Ausrichtung des Bildsensors in Bezug auf die Richtung der Schwerkraft erfasst; eine Einheit zum Einstellen eines Parameters, die so konfiguriert ist, dass sie einen Parameter zur Berechnung einer dreidimensionalen Position einstellt, die einer bestimmten Position in dem von dem Bildsensor erfassten Bild entspricht; einen Speicherteil, der so konfiguriert ist, dass er Einstellinformationen zum Einstellen des Parameters, der der Ausrichtung des Bildsensors entspricht, speichert; eine Einheit zur Erkennung eines Merkmals, die so konfiguriert ist, dass sie einen in dem Bild des Werkstücks vorgegebenen Merkmalsabschnitt erfasst; und eine Einheit zur Berechnung der Merkmalsposition, die so konfiguriert ist, dass sie die dreidimensionale Position des Merkmalsteils unter Verwendung des von der Einheit zum Einstellen eines Parameters eingestellten Parameters berechnet, wobei die Einheit zum Einstellen eines Parameters so konfiguriert ist, dass sie den Parameter auf der Grundlage der Richtung der Schwerkraft, der Ausrichtung des Bildsensors und der Einstellinformationen einstellt.
  2. Die Abbildungsvorrichtung nach Anspruch 1, wobei die Einheit zum Einstellen eines Parameters so konfiguriert ist, dass sie einen Wert des Parameters in Reaktion auf die Ausrichtung des Bildsensors ändert, wenn sich die Ausrichtung des Bildsensors ändert.
  3. Die Abbildungsvorrichtung nach Anspruch 1 oder 2 umfasst einen Roboter, der so konfiguriert ist, dass er die Ausrichtung des Bildsensors ändert, wobei die Einheit zur Erkennung der Orientierung so konfiguriert ist, dass sie die Ausrichtung des Bildsensors in Bezug auf die Richtung der Schwerkraft erkennt, basierend auf einer Position und Ausrichtung des Roboters und einer Position des Bildsensors in dem Roboter, an dem der Bildsensor angebracht ist.
  4. Die Abbildungsvorrichtung nach einem der Ansprüche 1 bis 3 umfasst einen Temperaturmelder, der zur Erfassung der Temperatur konfiguriert ist, wobei die Einheit zum Einstellen eines Parameters so konfiguriert ist, dass sie den Parameter auf der Grundlage der Richtung der Schwerkraft, der Ausrichtung des Bildsensors, der Temperatur und der Einstellungsinformationen einstellt.
  5. Die Abbildungsvorrichtung nach Anspruch 1, umfassend: einen Roboter, der so konfiguriert ist, dass er die Ausrichtung des Bildsensors ändert; und eine Einheit zur Erkennung der Beschleunigung, die so konfiguriert ist, dass sie eine Beschleunigung des Bildsensors erfasst, wenn der Roboter gefahren wird, wobei die Einheit zum Einstellen eines Parameters so konfiguriert ist, dass sie den Parameter auf der Grundlage der Richtung der Schwerkraft, der Beschleunigung des Bildsensors, der Ausrichtung des Bildsensors und der Einstellinformationen einstellt.
  6. Die Abbildungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei der Bildsensor eine automatische Fokussierungsfunktion hat.
  7. Die Abbildungsvorrichtung nach einem der Ansprüche 1 bis 6, umfassend ein Anzeigeteil, das so konfiguriert ist, dass es die dreidimensionale Position des Merkmalsabschnitts anzeigt, die von der Einheit zur Berechnung der Merkmalsposition berechnet wurde, wobei die Einheit zum Einstellen eines Parameters so ausgebildet ist, dass sie den Parameter dort einstellt, wo der Einfluss der Schwerkraft eliminiert ist, und der Anzeigeteil so ausgebildet ist, dass er die dreidimensionale Position des Merkmalsabschnitts anzeigt, die unter Verwendung des Parameters berechnet wurde, der auf der Grundlage der Richtung der Schwerkraft und der Ausrichtung des Bildsensors festgelegt wurde, und die dreidimensionale Position des Merkmalsabschnitts anzeigt, die unter Verwendung des Parameters berechnet wurde, bei dem der Einfluss der Schwerkraft eliminiert ist.
  8. Die Abbildungsvorrichtung nach einem der Ansprüche 1 bis 6, mit einem Anzeigeteil, das so konfiguriert ist, dass es einen Wert des von der Einheit zum Einstellen eines Parameters eingestellten Parameters anzeigt.
DE112021007326.5T 2021-05-27 2021-05-27 Abbildungsvorrichtung zur berechnung der dreidimensionalen lage auf der grundlage eines von einem bildsensor aufgenommenen bildes Granted DE112021007326T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/020281 WO2022249410A1 (ja) 2021-05-27 2021-05-27 視覚センサにて撮像された画像に基づいて3次元の位置を算出する撮像装置

Publications (1)

Publication Number Publication Date
DE112021007326T5 true DE112021007326T5 (de) 2024-02-29

Family

ID=84228480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021007326.5T Granted DE112021007326T5 (de) 2021-05-27 2021-05-27 Abbildungsvorrichtung zur berechnung der dreidimensionalen lage auf der grundlage eines von einem bildsensor aufgenommenen bildes

Country Status (6)

Country Link
US (1) US12288355B2 (de)
JP (1) JP7529907B2 (de)
CN (1) CN117355397A (de)
DE (1) DE112021007326T5 (de)
TW (1) TWI898134B (de)
WO (1) WO2022249410A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025134176A1 (ja) * 2023-12-18 2025-06-26 ファナック株式会社 画像処理装置およびロボットシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01144900A (ja) 1987-12-01 1989-06-07 Matsushita Electric Ind Co Ltd 音場再生装置
JP2009269110A (ja) 2008-05-02 2009-11-19 Olympus Corp 組立装置
JP2011259314A (ja) 2010-06-10 2011-12-22 Fujifilm Corp 撮像装置、画像処理装置及びプログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3792845B2 (ja) 1997-07-24 2006-07-05 キヤノン株式会社 光学装置
JP3377465B2 (ja) * 1999-04-08 2003-02-17 ファナック株式会社 画像処理装置
JP4593968B2 (ja) * 2004-05-14 2010-12-08 キヤノン株式会社 位置姿勢計測方法および装置
JP4976756B2 (ja) * 2006-06-23 2012-07-18 キヤノン株式会社 情報処理方法および装置
JP5214811B2 (ja) * 2009-11-13 2013-06-19 富士フイルム株式会社 測距装置、測距方法、測距プログラムおよび測距システムならびに撮像装置
JP5467321B2 (ja) * 2011-01-21 2014-04-09 公立大学法人兵庫県立大学 3次元形状計測方法および3次元形状計測装置
JP6021533B2 (ja) * 2012-09-03 2016-11-09 キヤノン株式会社 情報処理システム、装置、方法及びプログラム
US9990726B2 (en) * 2012-09-27 2018-06-05 Apple Inc. Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
US9646384B2 (en) * 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
JP2014097572A (ja) * 2014-02-28 2014-05-29 Seiko Epson Corp 把持ロボットおよび把持方法
WO2015164696A1 (en) * 2014-04-25 2015-10-29 Google Technology Holdings LLC Electronic device localization based on imagery
JP2017003331A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 被計測物の形状を計測する計測装置、算出装置、算出方法及びプログラム
JP6584208B2 (ja) * 2015-08-07 2019-10-02 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP2017073753A (ja) * 2015-10-09 2017-04-13 富士通株式会社 補正方法、プログラム及び電子機器
JP6711591B2 (ja) * 2015-11-06 2020-06-17 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP6744709B2 (ja) * 2015-11-30 2020-08-19 キヤノン株式会社 情報処理装置、情報処理方法
JP6753688B2 (ja) * 2016-04-26 2020-09-09 蛇の目ミシン工業株式会社 刺繍範囲検出装置、刺繍範囲検出方法、プログラムおよび刺繍模様配置システム
JP6983524B2 (ja) * 2017-03-24 2021-12-17 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP6961394B2 (ja) * 2017-05-31 2021-11-05 株式会社キーエンス 画像検査装置、画像検査方法、画像検査装置の設定方法、画像検査プログラム、画像装置の設定検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
US10521871B2 (en) * 2017-07-12 2019-12-31 Fanuc Corporation Robot system
JP6568163B2 (ja) * 2017-08-09 2019-08-28 ファナック株式会社 ロボットシステム
JP2019063984A (ja) * 2017-10-02 2019-04-25 キヤノン株式会社 情報処理装置、方法及びロボットシステム
JP6646026B2 (ja) * 2017-10-16 2020-02-14 ファナック株式会社 作業システム、物品に対する作業実施方法、およびロボット
JP7109904B2 (ja) 2017-11-02 2022-08-01 株式会社東芝 取り出しシステム
JP6608977B2 (ja) * 2018-01-25 2019-11-20 ファナック株式会社 物品搬送システム
US11260534B2 (en) * 2018-04-04 2022-03-01 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US12008768B2 (en) * 2018-09-25 2024-06-11 Visual Robotics Systems, Inc. Spatially-aware camera and method thereof
US11238297B1 (en) * 2018-09-27 2022-02-01 Apple Inc. Increasing robustness of computer vision systems to rotational variation in images
JP7000361B2 (ja) * 2019-01-24 2022-01-19 ファナック株式会社 追随ロボットおよび作業ロボットシステム
FR3093215B1 (fr) * 2019-02-22 2021-08-27 Fogale Nanotech Procédé et dispositif de surveillance de l’environnement d’un robot
JP7306871B2 (ja) 2019-05-14 2023-07-11 ファナック株式会社 ロボット操作装置、ロボット、ロボット操作方法、プログラムおよびロボット制御装置
US11607804B2 (en) 2019-05-28 2023-03-21 X Development Llc Robot configuration with three-dimensional lidar
US11228737B2 (en) * 2019-07-31 2022-01-18 Ricoh Company, Ltd. Output control apparatus, display terminal, remote control system, control method, and non-transitory computer-readable medium
US11717960B2 (en) * 2020-02-25 2023-08-08 Intelligrated Headquarters, Llc Anti-sway control for a robotic arm with adaptive grasping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01144900A (ja) 1987-12-01 1989-06-07 Matsushita Electric Ind Co Ltd 音場再生装置
JP2009269110A (ja) 2008-05-02 2009-11-19 Olympus Corp 組立装置
JP2011259314A (ja) 2010-06-10 2011-12-22 Fujifilm Corp 撮像装置、画像処理装置及びプログラム

Also Published As

Publication number Publication date
JPWO2022249410A1 (de) 2022-12-01
JP7529907B2 (ja) 2024-08-06
US20240193808A1 (en) 2024-06-13
TW202247640A (zh) 2022-12-01
US12288355B2 (en) 2025-04-29
WO2022249410A1 (ja) 2022-12-01
CN117355397A (zh) 2024-01-05
TWI898134B (zh) 2025-09-21

Similar Documents

Publication Publication Date Title
DE102017002608B4 (de) Positioniersystem unter Verwendung eines Roboters
DE102020105655B4 (de) Verfahren und System zum Durchführen einer automatischen Kamerakalibrierung zur Robotersteuerung
DE102019108787B4 (de) Handsteuerungsvorrichtung und Handsteuerungssystem
DE102020124356B4 (de) Steuerung einer Robotervorrichtung zum Einstellen der Position eines vom Roboter gestützten Gegenstandes
DE102010032840B4 (de) Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE112011103794B4 (de) Aufnehmervorrichtung für Werkstücke
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE69223127T2 (de) Automatische kalibriereinrichtung
DE102016115987B4 (de) Koordinatensystemeinstellungsverfahren, Koordinatensystemeinstellungsvorrichtung und Robotersystem mit Koordinatensystemeinstellungsvorrichtung
EP2227356B1 (de) Verfahren und system zum hochpräzisen positionieren mindestens eines objekts in eine endlage im raum
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102019215749B4 (de) Bildaufnahmeeinrichtung und werkzeugmaschine
DE102016009438A1 (de) Robotersystem mit Sichtsensor und einer Vielzahl von Robotern
DE102018009815A1 (de) Bildgebungsvorrichtung umfassend einen Sichtsensor zum Erfassen des Bildes eines Werkstücks
WO2016005159A2 (de) Verfahren, bearbeitungsmaschine und computerprogrammprodukt zum bildbasierten platzieren von werkstückbearbeitungsvorgängen
DE10351669B4 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts relativ zu einem Objekt
DE102014117346B4 (de) Roboter, Robotersteuerungsverfahren und Robotersteuerungsprogramm zur Werkstückkorrektur
DE102019007186A1 (de) Robotersystem und Robotersteuerungsverfahren für kooperatives Arbeiten mit Menschen
DE102017128332B4 (de) Mit einer Formungsmaschine und einer Formproduktentnahmevorrichtung versehenes Formungssystem
DE102018007287A1 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE112022000335T5 (de) Robotersystem und Steuervorrichtung
DE112021004779T5 (de) Vorrichtung zum Einstellen eines Parameters, Robotersystem, Verfahren und Computerprogramm
DE112022000442T5 (de) Simulationsvorrichtung mit Verwendung von dreidimensionalen Positionsinformationen, die aus dem Ausgang eines Vision Sensors gewonnen werden
DE102020211053A1 (de) Annotationsvorrichtung
EP4249160A1 (de) Bestimmung von konturabweichungen zur steuerung einer laserschneidmaschine

Legal Events

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