DE102016011653B4 - Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke - Google Patents

Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke Download PDF

Info

Publication number
DE102016011653B4
DE102016011653B4 DE102016011653.6A DE102016011653A DE102016011653B4 DE 102016011653 B4 DE102016011653 B4 DE 102016011653B4 DE 102016011653 A DE102016011653 A DE 102016011653A DE 102016011653 B4 DE102016011653 B4 DE 102016011653B4
Authority
DE
Germany
Prior art keywords
robot
target
coordinate system
target mark
positions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016011653.6A
Other languages
English (en)
Other versions
DE102016011653A1 (de
Inventor
Fumikazu Warashina
Keisuke Watanabe
Kenshirou OONO
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 DE102016011653A1 publication Critical patent/DE102016011653A1/de
Application granted granted Critical
Publication of DE102016011653B4 publication Critical patent/DE102016011653B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/37097Marker on workpiece to detect reference position
    • 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/37561Move camera until image corresponds to stored image of same 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/39Robotics, robotics to robotics hand
    • G05B2219/39017Forward calibration, find actual pose world space for given joint configuration
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39045Camera on end effector detects reference pattern
    • 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/40003Move end effector so that image center is shifted to desired position

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

Ein Robotersystem, das kostengünstig ist und eine Position eines Zielpunktes einfach messen kann. Das System speichert Merkmalsgrößen eines Bildes einer Zielmarke, die in einem erfassten Bild enthalten ist, als Referenzdaten, wenn die Zielmarke in einer bekannten ersten Zielmarkenposition in dem Roboterkoordinatensystem angeordnet ist, und speichert die erste Zielmarkenposition im Verhältnis zu einem Armende als Position des Werkzeugmittelpunktes. Das System vergleicht die Merkmalsgrößen, die aus dem erfassten Bild erzielt werden, wenn die Zielmarke in einer zweiten Zielmarkenposition angeordnet ist, und die Merkmalsgrößen der Referenzdaten, um zu bewirken, dass sich das Armende bewegt, und berechnet die zweite Zielmarkenposition in dem Roboterkoordinatensystem basierend auf einer zweiten Roboterposition, die der Position des Armendes nach der Bewegung entspricht, und der Position des Werkzeugmittelpunktes.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Robotersystem, das mit einer Kamera ausgestattet ist, die ein Bild einer Zielmarke aufnimmt.
  • Allgemeiner Stand der Technik
  • Ein Roboter wird manchmal zusammen mit einer Werkzeugmaschine zum Handhaben eines Werkstücks verwendet. Um den manuellen Betrieb des Roboters zu ermöglichen oder um den Roboter unter Verwendung eines Controllers der Werkzeugmaschine fernzusteuern, ist es ferner wichtig, die Positionsbeziehung zwischen dem Koordinatensystem der Werkzeugmaschine und dem Koordinatensystem des Roboters zu bestimmen.
  • Um die Positionsbeziehung zwischen dem Koordinatensystem einer Werkzeugmaschine und einem Roboterkoordinatensystem zu bestimmen, werden mindestens drei Punkte benötigt, an denen die Position der Werkzeugmaschine und die Position in dem Roboterkoordinatensystem bekannt sind. Ein Nacharbeitungsprozess, der den Werkzeugmittelpunkt (TCP) des Roboters in räumlichen Kontakt mit einem vorbestimmten Punkt bringt und die 3D-Position dieses Punktes misst, ist bekannt. Ferner ist ein Verfahren zum Verwenden eines 3D-Sensors, der an einer Hand eines Roboters angebracht ist, um die 3D-Position eines vorbestimmten Punktes durch ein kontaktloses Mittel zu messen, bekannt.
  • Die japanische Patentschrift Nr. 2011-048467A offenbart die Verwendung einer bekannten Positionsbeziehung zwischen einem Robotersteuerpunkt und einem eingestellten Punkt, um die Positionsbeziehung zwischen einem Roboterkoordinatensystem und einem Koordinatensystem einer Werkzeugmaschine zu finden. Die japanische Patentschrift Nr. 2005-201824A und die japanische Patentschrift Nr. 2010-117223A offenbaren die Verwendung einer Kamera, um Bilder einer Vielzahl von Positionen aufzunehmen, um die 3D-Position eines Objekts zu messen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Bei dem zuvor erwähnten Stand der Technik müssen jedoch spezielle Vorrichtungen oder teure 3D-Sensoren verwendet werden. Alternativ ist es bei der Messung notwendig, den Roboter über einen breiten Bereich mindestens einer seiner Positionen und Haltungen zu bewegen. Manchmal ist es schwierig, Messungen in einem beschränkten Raum vorzunehmen. Daher wurde ein Robotersystem gesucht, das kostengünstig ist und eine einfache Messung der Position eines Zielpunktes ermöglicht.
  • Gemäß der vorliegenden Erfindung wird ein Robotersystem bereitgestellt, das einen Roboter, eine Kamera, die an einem Armende des Roboters angebracht ist, und eine Zielmarke, deren Bild von der Kamera aufgenommen wird, umfasst, wobei das Robotersystem einen Teil zum Speichern von Referenzdaten, der eine Position und eine Größe der Zielmarke, die in einem Bild der Kamera enthalten ist, als Referenzdaten speichert und eine erste Zielmarkenposition für das Armende als eine Position eines Werkzeugmittelpunktes speichert, wenn die Zielmarke in einer vorbestimmten ersten Zielmarkenposition in einem Roboterkoordinatensystem angeordnet ist, das die Grundlage für die Steuerung des Roboters bildet, und das Armende in einer ersten Roboterposition positioniert ist, und einen Teil zum Berechnen von Zielmarkenpositionen, der bewirkt, dass sich das Armende bewegt, so dass eine Position und eine Größe eines Bildes der Zielmarke, die in einem Bild der Kamera enthalten ist, wenn die Zielmarke in einer zweiten Zielmarkenposition angeordnet ist, mit einer Position und einer Größe des Bildes der Zielmarke, die als Referenzdaten gespeichert sind, übereinstimmen, und der eine zweite Roboterposition, die der Position des Armendes nach der Bewegung entspricht, und die Position des Werkzeugmittelpunktes als Grundlage verwendet, um die zweite Zielmarkenposition in dem Roboterkoordinatensystem zu berechnen, umfasst.
  • Bei einer bevorzugten Ausführungsform ist das Robotersystem mit einer Werkzeugmaschine versehen, wobei, wenn ein Maschinenkoordinatensystem, das die Grundlage für die Steuerung der Werkzeugmaschine bildet, im Voraus bestimmt wird, und die Zielmarke mindestens in drei Zielmarkenpositionen nicht auf der gleichen Geraden angeordnet ist, der Teil zum Berechnen von Zielmarkenpositionen konfiguriert ist, um die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem zu berechnen, und das Robotersystem ferner einen Teil zum Berechnen eines Maschinenkoordinatensystems umfasst, der die mindestens drei Zielmarkenpositionen in dem Maschinenkoordinatensystem und die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem als Grundlage verwendet, um die Position des Maschinenkoordinatensystems mit Bezug auf das Roboterkoordinatensystem zu berechnen.
  • Bei einer bevorzugten Ausführungsform umfasst die Werkzeugmaschine einen bedienbaren beweglichen Teil, die Zielmarke wird in dem beweglichen Teil eingestellt, und die Werkzeugmaschine ist konfiguriert, um zu bewirken, dass der bewegliche Teil funktioniert, um zu bewirken, dass sich die Zielmarke in die mindestens drei Zielmarkenpositionen bewegt.
  • Wenn bei einer bevorzugten Ausführungsform eine Position in dem Roboterkoordinatensystem unbekannt ist und die Zielmarke in mindestens drei Zielmarkenpositionen nicht auf der gleichen Geraden angeordnet ist, ist der Teil zum Berechnen von Zielmarkenpositionen konfiguriert, um die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem zu berechnen, und das Robotersystem umfasst ferner einen Teil zum Berechnen von Arbeitskoordinaten, der die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem als Grundlage verwendet, um ein Arbeitskoordinatensystem des Roboters zu berechnen.
  • Figurenliste
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden mit Bezug auf die ausführliche Beschreibung erläuternder Ausführungsformen der in den beiliegenden Zeichnungen gezeigten vorliegenden Erfindung besser hervorgehen. Es zeigen:
    • 1 eine Ansicht, die ein Robotersystem gemäß einer Ausführungsform zeigt.
    • 2 ein Ablaufschema, das einen Ablauf der Verarbeitung zeigt, die gemäß einer Ausführungsform ausgeführt wird.
    • 3 eine Ansicht, die ein Koordinatensystem zeigt, das mit Bezug auf ein Bild eingerichtet ist.
    • 4 eine Ansicht, die eine Positionsbeziehung zwischen einem Roboterkoordinatensystem und einem Handgelenk-Koordinatensystem zeigt.
    • 5 eine Ansicht, die eine Zielmarke zeigt, die in einer ersten Zielmarkenposition eingerichtet ist.
    • 6 ein Ablaufschema, das einen Ablauf der Verarbeitung zeigt, die gemäß einer Ausführungsform ausgeführt wird.
    • 7 eine Ansicht, die eine Zielmarke zeigt, die in einer zweiten Zielmarkenposition eingerichtet ist.
    • 8 eine Ansicht, die eine Positionsbeziehung und eine Differenz der Merkmalsgrößen eines Bildes zeigt.
    • 9 eine Ansicht, die eine Zielmarke zeigt, die in einer zweiten Zielmarkenposition eingerichtet ist.
    • 10 eine Ansicht, die ein Robotersystem gemäß einer anderen Ausführungsform zeigt.
    • 11 ein Ablaufschema, das einen Ablauf der Verarbeitung zeigt, die gemäß einer Ausführungsform ausgeführt wird.
    • 12 ein Ablaufschema, das einen Ablauf einer Verarbeitung zeigt, die gemäß einer Ausführungsform ausgeführt wird.
    • 13 eine Ansicht, die ein Robotersystem gemäß noch einer anderen Ausführungsform zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachstehend werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die beiliegenden Zeichnungen erklärt. Die Bestandteile der abgebildeten Ausführungsformen werden entsprechend vom Maßstab her geändert, um zum Verständnis der vorliegenden Erfindung beizutragen. Ferner verwenden die gleichen oder entsprechende Bestandteile die gleichen Bezugszeichen.
  • 1 zeigt ein Robotersystem 1 gemäß einer Ausführungsform. Das Robotersystem 1 umfasst einen Roboter 2, einen Roboter-Controller 3, der den Roboter 2 steuert, eine Kamera 4, die an dem Roboter 2 angebracht ist, und ein Bildverarbeitungsgerät 5. Der Roboter 2 ist nicht auf einen sechsachsigen Knickarmroboter, wie in 1 gezeigt, eingeschränkt und ist ein Roboter, der eine beliebige andere bekannte Konfiguration aufweist.
  • Der Roboter 2 umfasst einen Sockel 21 und einen Arm 22, der sich von dem Sockel 21 aus erstreckt. An dem Armende 23 des Roboters 2 ist die Kamera 4 über eine Halterung 24 angebracht. Dadurch werden die Position und die Haltung der Kamera 4 in Verbindung mit dem Armende 23 des Roboters 2 geändert.
  • Der Roboter-Controller 3 ist ein digitaler Computer, der eine CPU, einen Speicher und eine Schnittstelle, die an eine äußere Vorrichtung angeschlossen ist, umfasst. Der Roboter-Controller 3 erteilt Befehle, um Vorrichtungen anzusteuern, welche die verschiedenen Wellen des Roboters 2 antreiben, beispielsweise Servomotoren, um dadurch den Roboter 2 gemäß einem Betriebsprogramm zu steuern, das in dem nicht flüchtigen Speicher gespeichert ist. Der Roboter-Controller 3 ist konfiguriert, um die Position einer Hand des Roboters 2 in dem Roboterkoordinatensystem, das die Grundlage für die Steuerung des Roboters 2 bildet, erfassen zu können.
  • In der Betriebsregion des Roboters 2 oder in seiner Nähe wird eine Zielmarke 6 eingerichtet. Die Zielmarke 6 wird in einer Position befestigt, in der ihr Bild von einer Kamera 4 aufgenommen werden kann, die sich zusammen mit dem Roboter 2 bewegt.
  • Die Zielmarke 6 erhält ein typisches Muster, so dass die Position und die Größe des Bildes der Zielmarke 6 durch Bildverarbeitung bestimmt werden können. Beispielsweise erhält die Zielmarke 6 ein dreieckiges Muster.
  • Die Kamera 4 ist eine Lichtempfangsvorrichtung, welche die Funktion des Erfassens eines Bildes eines Objekts erfüllt. Die Kamera 4 ist an das Bildverarbeitungsgerät 5 angeschlossen. Die Bilddaten, die von der Kamera 4 aufgenommen werden, werden an das Bildverarbeitungsgerät 5 gesendet.
  • Das Bildverarbeitungsgerät 5 ist ein digitaler Computer, der eine CPU, einen Speicher und eine Schnittstelle, die an eine externe Vorrichtung angeschlossen ist, umfasst. Das Bildverarbeitungsgerät 5 ist konfiguriert, um die Zielmarke 6 in einem Bild zu erkennen, das von der Kamera 4 aufgenommen wird, und um die Position und die Größe der Zielmarke 6 in dem Bild aus dem Muster der Zielmarke 6 zu berechnen.
  • Das Bildverarbeitungsgerät 5 ist über ein Kommunikationskabel oder eine drahtlose Verknüpfung mit dem Roboter-Controller 3 verbunden und kann Befehle von dem Roboter-Controller 3 empfangen oder dem Roboter-Controller 3 Ergebnisse der Bildverarbeitung senden. Bei einer anderen Ausführungsform ist das Bildverarbeitungsgerät 5 in den Roboter-Controller 3 eingebaut.
  • Unten in 1 wird ein Funktionsblockdiagramm des Roboter-Controllers 3 gezeigt. Der Roboter-Controller 3 ist mit einem Teil 31 zum Speichern von Referenzdaten und einem Teil 32 zum Berechnen einer Zielmarkenposition versehen.
  • Der Teil 31 zum Speichern von Referenzdaten speichert die Position und die Größe des Bildes der Zielmarke 6, die in dem Bild der Kamera 4 enthalten ist, wenn die Zielmarke 6 in einer vorbestimmten ersten Zielmarkenposition in dem Roboterkoordinatensystem, das die Grundlage für die Steuerung des Roboters 2 bildet, angeordnet ist und das Armende 23 in der ersten Roboterposition positioniert ist, als Referenzdaten und speichert die erste Zielmarkenposition für das Armende 23 als Position des Werkzeugmittelpunktes.
  • Der Teil zum Berechnen von Zielmarkenpositionen 32 bewirkt, dass sich das Armende 23 bewegt, so dass wenn die Zielmarke 6 in einer zweiten Zielmarkenposition angeordnet ist, die Position und die Größe des Bildes der Zielmarke 6, die in dem Bild der Kamera 4 enthalten ist, mit der Position und der Größe des Bildes der Zielmarke 6, die als Referenzdaten gespeichert sind, übereinstimmen, und verwendet die zweite Roboterposition, die der Position des Armendes 23 nach der Bewegung entspricht, und die Position des Werkzeugmittelpunktes als Grundlage, um die zweite Zielmarkenposition in dem Roboterkoordinatensystem zu berechnen.
  • Mit Bezug auf 2 wird die Initialisierung erklärt, die in dem Robotersystem 1 gemäß einer Ausführungsform ausgeführt wird. Die Initialisierung wird nur einmal ausgeführt, wenn die Kamera 4 an dem Armende 23 des Roboters 2 angebracht wird.
  • In Schritt S101 wird die Kamera 4 an dem Armende 23 des Roboters 2 angebracht. Die Ausrichtung der Kamera 4 im Verhältnis zum Armende 23 ist nicht besonders eingeschränkt, doch die Kamera 4 ist über die Halterung 24 derart angebracht, dass sich die Positionsbeziehung zwischen der Kamera 4 und dem Armende 23 nicht ändert.
  • In Schritt S102 wird die Zielmarke 6 in der ersten Zielmarkenposition angeordnet. Die erste Zielmarkenposition kann eine beliebige Position sein, solange die Kamera 4, die an dem Armende 23 angebracht ist, ein Bild der Zielmarke 6 aufnehmen kann.
  • In Schritt S103 wird bewirkt, dass sich der Roboter 2 in eine Position bewegt, in der das Bild der Zielmarke 6, die in der ersten Zielmarkenposition angeordnet ist, aufgenommen werden kann (erste Roboterposition). Der Roboter 2 kann durch manuelle Betätigung durch den Bediener bewegt werden, oder es kann bewirkt werden, dass sich der Roboter 2 automatisch bis in eine vorbestimmte erste Roboterposition bewegt. Die erste Roboterposition ist bevorzugt eine Position, in der die Lichtachse der Kamera 4 und die Oberfläche der Zielmarke 6, in der das Muster gebildet ist, senkrecht zueinander sind, doch die Erfindung ist nicht darauf eingeschränkt.
  • In Schritt S104 wird ein Bild der Zielmarke 6 von der Kamera 4 aufgenommen, und das Muster der Zielmarke 6 wird als Modell für die Erkennung aufgezeichnet. Das interne Datenformat der Modell, das in Schritt S104 aufgezeichnet wird (nachstehend manchmal einfach als „aufgezeichnetes Modell“ bezeichnet), wird gemäß dem Bildverarbeitungsalgorithmus bestimmt, der in dem Bildverarbeitungsgerät 5 verwendet wird. Beispielsweise können ein Vorlagenabgleich, der eine normierte Korrelation verwendet, eine verallgemeinerte Hough-Transformation, die Kanteninformationen verwendet, und andere Bildverarbeitungsalgorithmen verwendet werden, doch ist die Erfindung nicht darauf eingeschränkt.
  • In Schritt S105 wird das aufgezeichnete Modell verwendet, um die Zielmarke 6 aus dem Bild zu erkennen, das von der Kamera 4 aufgenommen wurde, und um die Merkmalsgrößen in dem Bild zu berechnen. Bei der vorliegenden Ausführungsform sind die Merkmalsgrößen die Position und die Größe des Musters der Zielmarke 6 in dem Bild.
  • Wenn beispielsweise ein Vorlagenabgleich verwendet wird, der eine normierte Korrelation verwendet, werden die Position der Vorlage und das Verhältnis von Ausdehnung/Kontraktion der Vorlage, wenn das Ausmaß des Abgleichs des aufgezeichneten Modells und der Vorlage am größten ist, als Merkmalsgrößen bezüglich der Position und der Größe berechnet.
  • Die Merkmalsgrößen der Position und der Größe in einem Bild sind Zahlenwerte, die in dem Bildkoordinatensystem ausgedrückt sind. Das Bildkoordinatensystem wird mit Bezug auf das Bild, das von der Kamera 4 aufgenommen wird, eingerichtet. Wie beispielsweise in 3 gezeigt, ist das Bildkoordinatensystem ein Koordinatensystem, das den Endpunkt des Bildes oben links als Ursprung aufweist, das die Richtung nach unten in dem Bild als u-Achse aufweist, und das die Richtung nach rechts in dem Bild als v-Achse aufweist. In diesem Fall wird die Merkmalsgröße der Position in dem Bild als Ursprungsposition des aufgezeichneten Modells in dem Bildkoordinatensystem ausgedrückt. Die Einheit der Merkmalsgröße der Position ist das Pixel. Die Ursprungsposition des Modells kann frei bestimmt werden, ist jedem einem Modell eigen.
  • Die Merkmalsgröße „s“ der Größe wird beispielsweise als ein Verhältnis mit Bezug auf die Größe des aufgezeichneten Modells mit 1,0 (100 %) berechnet. D.h. wenn die Größe des erkannten Modells größer als das aufgezeichnete Modell ist, ist die Merkmalsgröße „s“ größer als 1,0, wohingegen umgekehrt, wenn sie kleiner als das aufgezeichnete Modell ist, die Merkmalsgröße „s“ kleiner als 1,0 ist.
  • Zurück zu 2 wird in Schritt S106 die 3D-Position der ersten Zielmarkenposition im Verhältnis zum Armende 23 des Roboters 2 als Werkzeugmittelpunkt (TCP) berechnet. Um die Positionen des Armendes 23, der Zielmarke 6 und des Werkzeugmittelpunktes zu erklären, werden jeweils das Roboterkoordinatensystem Σr und das Handgelenk-Koordinatensystem Σf definiert.
  • Das Roboterkoordinatensystem Σr ist ein Koordinatensystem, das auf dem Sockel 21 des Roboters 2 beruht und die Grundlage für die Steuerung des Roboters 2 bildet. Das Handgelenk-Koordinatensystem Σf ist ein Koordinatensystem, das auf dem Armende 23 beruht und mit dem Armende 23 verbunden ist (siehe 4). Die Position des Armendes 23 wird als Position des Koordinatensystems des Handgelenks Σf in dem Roboterkoordinatensystem Σr ausgedrückt.
  • In der nachstehenden Erklärung bedeutet die „Position des Werkzeugmittelpunktes“, soweit nicht anders angegeben, eine Position in dem Handgelenk-Koordinatensystem Σf. Die Position T des Werkzeugmittelpunktes wird durch die nachstehende Formel (1) gefunden. Es sei zu beachten, dass „R1“ die Position des Handgelenk-Koordinatensystems Σf in dem Roboterkoordinatensystem Σr ist, während „P1“ die erste Zielmarkenposition in dem Roboterkoordinatensystem Σr ist (siehe 5). [ T 1 ] = R 1 1 [ P 1 1 ]
    Figure DE102016011653B4_0001
  • Es sei zu beachten, dass „R1“ eine homogene 4x4-Transformationsmatrix ist, während „T“ und „PI“ die 3×1-Vektoren (x, y, z)T sind.
  • Zurück zu 2 wird in Schritt S107 der Datensatz, der die Merkmalsgröße (u, v) der Position und die Merkmalsgröße „s“ der Größe, die in Schritt S105 berechnet wurden, und die Position T des Werkzeugmittelpunktes, die in Schritt S106 berechnet wurde, umfasst, als Referenzdaten gespeichert.
  • In Schritt S106 wurde die 3D-Position P1 der ersten Zielmarkenposition in dem Roboterkoordinatensystem Σr als bekannte Information erklärt, doch bei einer anderen Ausführungsform kann die 3D-Position P1 durch ein beliebiges Verfahren gemessen werden. Beispielsweise ist es auch möglich, die 3D-Position P1 unter Verwendung einer Kamera gemäß dem Verfahren, das in der japanischen Patentschrift Nr. 2011-048467A beschrieben wird, zu messen.
  • Mit Bezug auf 6 wird das Verfahren zum Messen der 3D-Position der Zielmarke 6, die in einer beliebigen Position angeordnet ist, erklärt.
  • In Schritt S201 wird die Zielmarke 6 in der zweiten Zielmarkenposition der zu messenden Position angeordnet (siehe 7).
  • In Schritt S202 wird bewirkt, dass sich das Armende 23 in die zweite Roboterposition bewegt, wo die Zielmarke 6 in dem Feld der Kamera 4 enthalten ist. Es kann bewirkt werden, dass der Roboter 2 durch eine manuelle Betätigung durch den Bediener bewegt wird, oder der Roboter 2 kann sich automatisch in eine vorbestimmte zweite Roboterposition bewegen. In der zweiten Roboterposition muss die relative Positionsbeziehung zwischen der Zielmarke 6 und der Kamera 4 nicht so genau sein, solange die Zielmarke 6, die in der zweiten Zielmarkenposition angeordnet ist, von der Kamera 4 aufgenommen werden kann.
  • In Schritt S203 wird die Zielmarke 6 aus dem Bild erkannt, das von der Kamera 4 aufgenommen wurde, und die Merkmalsgrößen bezüglich der Position und der Größe in dem Bild werden berechnet. In Schritt S203 kann ein Bildverarbeitungsalgorithmus ähnlich wie in dem zuvor erwähnten Schritt S105 verwendet werden.
  • In Schritt S204 wird beurteilt, ob die berechneten Merkmalsgrößen und die Merkmalsgrößen, die den Referenzdaten entsprechen, die in dem zuvor erwähnten Schritt S107 gespeichert wurden, übereinstimmen. In Schritt S204 wird die Differenz der beiden Merkmalsgrößen (Δu, Δv, Δs) durch die folgende Formel (2) gefunden. Es sei zu beachten, dass „(u0, v0, s0)“ die Merkmalsgrößen sind, die als Referenzdaten gespeichert werden, während „(u1, v1, s1)“ die Merkmalsgrößen sind, die in Schritt S203 berechnet wurden. Δ u = u 1 u 0 Δ v = v 1 v 0 Δ s = 1 s 1 1 s 0
    Figure DE102016011653B4_0002
  • 8 zeigt die Positionsbeziehung des Bildes und die Differenz der Merkmalsgrößen (Δu, Δv). Die Zielmarke 6 in dem Bild, wenn ein Bild der Zielmarke 6, die in der ersten Zielmarkenposition angeordnet ist, aus der ersten Roboterposition von der Kamera 4 aufgenommen wird, wird mit einer gestrichelten Linie gezeigt. Die Zielmarke 6 in dem Bild, wenn ein Bild der Zielmarke 6, die in der zweiten Zielmarkenposition angeordnet ist, aus der zweiten Roboterposition von der Kamera 4 aufgenommen wird, wird mit einer durchgezogenen Linie gezeigt.
  • Die Merkmalsgröße „s“ bezüglich der Größe der Zielmarke 6 ist umgekehrt proportional zu dem Abstand zwischen der Zielmarke 6 und der Kamera 4. Daher wird in der Formel (2) der Kehrwert der Merkmalsgröße „s“ verwendet.
  • Wenn der Schwellenwert, der zur Beurteilung der Position verwendet wird, gleich 0,1 Pixel ist, falls die Länge von (Δu, Δv) kleiner als 0,1 Pixel ist, wird beurteilt, dass die beiden Zielmarken 6 in der gleichen Position in dem Bild angeordnet sind. Wenn der Schwellenwert, der für die Beurteilung der Größe verwendet wird, gleich 0,1 Pixel ist, falls Δs in dem Bereich von -0,1 bis 0,1 liegt, sind die beiden Zielmarken 6 in dem Bild gleich groß.
  • Falls das Ergebnis der Beurteilung in Schritt S204 NEIN ist (mindestens entweder die Position oder die Größe stimmt nicht überein), fährt die Routine mit Schritt S205 fort, wo bewirkt wird, dass sich der Roboter 2 bewegt, so dass sich die Differenz der Merkmalsgrößen (Δu, Δv, Δs) verringert. Das Verfahren zum Berechnen des Bewegungsbetrags des Roboters 2 aus der Differenz der Merkmalsgrößen (Δu, Δv, Δs) ist nicht besonders eingeschränkt, doch ein Beispiel wird später noch erklärt.
  • Falls das Ergebnis der Beurteilung in Schritt S204 JA ist, fährt die Routine mit Schritt 5206 fort, wo die 3D-Position der zweiten Zielmarkenposition in dem Roboterkoordinatensystem Σr berechnet wird. Gemäß der vorliegenden Ausführungsform wird in Schritt S204 bestätigt, dass die Merkmalsgrößen, die aus dem Bild erkannt wurden, mit den Merkmalsgrößen in den Referenzdaten übereinstimmen. Aus diesem Grund ist die Positionsbeziehung zwischen der Position des Armendes 23 des Roboters 2 und der zweiten Zielmarkenposition die gleiche wie die Positionsbeziehung zwischen der Position des Armendes 23, wenn das Armende 23 in der ersten Roboterposition positioniert ist und die erste Zielmarkenposition die gleiche ist.
  • Daher wird die 3D-Position P2 der zweiten Zielmarkenposition in dem Roboterkoordinatensystem Σr durch die nächste Formel (3) ausgedrückt. „R2“ ist die Position des Handgelenk-Koordinatensystems Σf in dem Roboterkoordinatensystem Zr, wenn das Armende 23 in der zweiten Roboterposition positioniert ist. „T“ ist der Wert des Werkzeugmittelpunktes (TCP), der als Referenzdaten gespeichert wird (siehe 9). [ P 2 1 ] = R 2 [ T 1 ]
    Figure DE102016011653B4_0003
  • „R2“ ist eine homogene 4x4-Transformationsmatrix, während „T“ und „P2“ die 3x1-Vektoren (x, y, z)T sind.
  • Bei dem in 6 gezeigten Beispiel wird zur Verbesserung der Präzision nach der Verarbeitung von Schritt S205 die Verarbeitung von Schritt S203 und Schritt S204 erneut ausgeführt. Bei einer anderen Ausführungsform wird jedoch bewirkt, dass sich der Roboter 2 genau um den Bewegungsbetrag des Roboters 2 bewegt, der aus der Differenz der Merkmalsgrößen (Δu, Δv, Δs) berechnet wird, und dann kann die Routine, ohne zu Schritt S203 zurückzukehren, direkt mit Schritt S206 fortfahren.
  • In Schritt S205 wird als Beispiel der Berechnung des Bewegungsbetrags des Roboters 2 das Verfahren der Verwendung einer Jacobi-Matrix erklärt.
  • Zuerst wird die Beziehung zwischen der Differenz der Merkmalsgrößen (Δu, Δv, Δs) und dem Bewegungsbetrag (Ax, Ay, Az) des Roboters 2 unter Verwendung der Jacobi-Matrix J durch die folgende Formel (4) definiert. Die Jacobi-Matrix J ist eine quadratische Matrix der Größe 3x3. [ Δ x Δ y Δ z ] = J [ Δ u Δ v Δ s ]
    Figure DE102016011653B4_0004
  • Falls daher die Jacobi-Matrix J bekannt ist, ist es möglich, den Bewegungsbetrag (Ax, Ay, Az) des Roboters 2 aus der Differenz der Merkmalsgrößen (Δu, Δv, Δs) zu berechnen.
  • Als Nächstes wird das Verfahren zum Finden der Jacobi-Matrix J erklärt. Der Prozess zum Finden der Jacobi-Matrix muss nur einmal bei der Initialisierung ausgeführt werden, nachdem die Kamera 4 an dem Armende 23 des Roboters 2 angebracht wurde.
  • Die Zielmarke 6 wird in einer beliebigen Position angeordnet, und die Position des Roboters 2, in der die Zielmarke 6 in der Nähe der Bildmitte positioniert ist, wird zur Ursprungsposition gemacht. Wenn die Zielmarke 6 beispielsweise in der ersten Zielmarkenposition angeordnet ist, kann die erste Roboterposition zur Ursprungsposition gemacht werden.
  • In dem Zustand, in dem das Armende 23 in der Ursprungsposition positioniert ist, wird die Zielmarke 6 aus dem Bild erkannt, das von der Kamera 4 aufgenommen wurde, und die Merkmalsgrößen (ui, vi, si) werden berechnet.
  • Als Nächstes wird bewirkt, dass sich das Armende 23 genau um den Abstand „m“ in der X-Achsenrichtung des Handgelenk-Koordinatensystems Σf bewegt. Die Zielmarke 6 wird aus dem Bild erkannt, das von der Kamera 4 in der Position nach der Bewegung aufgenommen wurde, und die Merkmalsgrößen (ux, vx, sx) werden berechnet.
  • Ähnlich werden die Merkmalsgrößen (uy, vy, sy) und (uz, vZ, sZ) aus dem Bild berechnet, das aufgenommen wurde, nachdem bewirkt wurde, dass sich das Armende 23 von der ursprünglichen Position in der Y-Achsenrichtung und der Z-Achsenrichtung des Handgelenk-Koordinatensystems Σf genau um den Abstand „m“ bewegt.
  • Die Ergebnisse der Erkennung der Zielmarke 6, wenn bewirkt wird, dass sich der Roboter 2 in der X-Achsenrichtung, der Y-Achsenrichtung und der Z-Achsenrichtung bewegt, und die Ergebnisse der Erkennung der Zielmarke 6 in der ursprünglichen Position werden als Grundlage verwendet, um die Differenz der Merkmalsgrößen gemäß den nachstehenden Formeln (5) bis (7) zu berechnen: Δ u x = u x u i Δ v x = v x v i Δ s x = 1 s x 1 s i
    Figure DE102016011653B4_0005
    Δ u y = u y u i Δ v y = v y v i Δ s y = 1 s y 1 s i
    Figure DE102016011653B4_0006
    Δ u z = u z u i Δ v z = v z v i Δ s z = 1 s z 1 s i
    Figure DE102016011653B4_0007
  • Wenn die Formeln (5) bis (7) in die Formel (4) eingesetzt werden, kann man die Jacobi-Matrix J aus der folgenden Formel (8) finden: [ m 0 0 0 m 0 0 0 m ] = J J = [ m 0 0 0 m 0 0 0 m ] [ Δ u x Δ u y Δ u z Δ v x Δ v y Δ v z Δ z x Δ z y Δ z z ] [ Δ u x Δ u y Δ u z Δ v x Δ v y Δ v z Δ z x Δ z y Δ z z ]
    Figure DE102016011653B4_0008
  • Als Nächstes wird das Messverfahren gemäß der zuvor erwähnten Ausführungsform verwendet, um das Verfahren des Einrichtens des Koordinatensystems einer Werkzeugmaschine zu erklären. Das Robotersystem 1 gemäß dieser Ausführungsform umfasst ferner zusätzlich zu der in 1 gezeigten Konfiguration eine Werkzeugmaschine 7 und einen Werkzeugmaschinen-Controller 71 (siehe 10). Ferner sind, wie in 10 gezeigt, drei Zielmarken 6 auf einem Tisch 72 der Werkzeugmaschine 7 angeordnet.
  • Ebenso wie bei der zuvor erwähnten Ausführungsform werden jeweils das Roboterkoordinatensystem Σr und das Handgelenk-Koordinatensystem Σf definiert. Ferner wird bei der vorliegenden Ausführungsform, wie in 10 gezeigt, das Maschinenkoordinatensystem Σm, das die Grundlage für die Steuerung der Werkzeugmaschine 7 bildet, definiert.
  • Bei der vorliegenden Ausführungsform umfasst der Roboter-Controller 3 ferner einen Teil 33 zum Berechnen eines Maschinenkoordinatensystems. Der Teil 33 zum Berechnen eines Maschinenkoordinatensystems verwendet die mindestens drei Zielmarkenpositionen in dem Maschinenkoordinatensystem Σm und die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem Σr als Grundlage, um die Position des Maschinenkoordinatensystems Σm im Verhältnis zu dem Roboterkoordinatensystem Σr zu berechnen.
  • Der Tisch 72 der Werkzeugmaschine 7 ist konfiguriert, damit die drei Zielmarken 6 in Positionen angeordnet werden können, deren 3D-Positionen in dem Maschinenkoordinatensystem Σm bekannt sind. Beispielsweise werden die Zielmarken 6 in vorbestimmten Positionen durch Positionierungsstifte angeordnet. Falls es möglich ist, die Anordnung der Zielmarken 6 wiederzugeben, wenn zusätzliche Roboter verwendet werden, oder wenn Roboter ausgetauscht werden, besteht der Vorteil, dass die Neueinrichtung einfacher zu gestalten ist. Es sei zu beachten, dass die drei Zielmarken 6 bevorzugt derart positioniert werden, dass sie nicht auf einer Geraden angeordnet sind.
  • Der Werkzeugmaschinen-Controller 71 ist an den Roboter-Controller 3 angeschlossen. Die Positionen der Zielmarken 6 in dem Maschinenkoordinatensystem Σm werden je nach Bedarf an den Roboter-Controller 3 übertragen.
  • Mit Bezug auf 11 wird der Prozess des Einrichtens eines Koordinatensystems, das mit dem Maschinenkoordinatensystem Σm an dem Roboter 2 übereinstimmt, erklärt. Es sei zu beachten, dass die zuvor erwähnte Initialisierung als beendet angesehen wird.
  • In Schritt S301 werden die drei Zielmarken in den dritten, vierten und fünften Zielmarkenpositionen angeordnet. Die dritten, vierten und fünften Zielmarkenpositionen Q3, Q4 und Q5 in dem Maschinenkoordinatensystem Σm sind bekannt.
  • In Schritt S302 wird die dritte Zielmarkenposition P3 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt S303 wird die vierte Zielmarkenposition P4 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt 5304 wird die fünfte Zielmarkenposition P5 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt S305 werden die dritten, vierten und fünften Zielmarkenpositionen Q3, Q4, Q5 in dem Maschinenkoordinatensystem Σm und die dritten, vierten und fünften Zielmarkenpositionen P3, P4, P5 in dem Roboterkoordinatensystem Σr als Grundlage verwendet, um die Position des Koordinatensystems der Maschine Zm in dem Roboterkoordinatensystem Σr zu berechnen.
  • Ein Beispiel des Verfahrens der Berechnung, die in Schritt S305 ausgeführt wird, wird erklärt. In der nachstehenden Erklärung wird die Position des Koordinatensystems der Maschine Σm in dem Roboterkoordinatensystem Σr mit „M“ bezeichnet. „M“ ist eine homogene 4x4-Transformationsmatrix.
  • Ein Zielmarken-Koordinatensystem Σt wird für eine Ebene definiert, welche die dritten, vierten und fünften Zielmarkenpositionen umfasst. Das Zielmarken-Koordinatensystem Σt wird eingerichtet, so dass die dritte Zielmarkenposition sein Ursprung ist, die Richtung von der dritten Zielmarkenposition zu der vierten Zielmarkenposition die „X-Achsenrichtung“ ist, und die Ebene, welche die dritten, vierten und fünften Zielmarkenpositionen umfasst, die „XY-Ebene“ ist.
  • Falls die Position des Zielmarken-Koordinatensystems Σt in dem Koordinatensystem des Roboters „Σr“ zu „Σr“ gemacht wird, wird der Wert „Tr“ der homogenen 4x4-Transformationsmatrix aus der folgenden Formel (9) berechnet. Vx = ( P 4 P 3 ) / | P 4 P 3 | Vt = ( P 5 P 3 ) / | P 5 P 3 | Vz = Vx × Vt Vy = Vz × Vx T r = [ V x V y V z P 3 0 0 0 1 ]
    Figure DE102016011653B4_0009
  • Wenn die Position des Zielmarken-Koordinatensystems Σt in dem Maschinenkoordinatensystem Σm zu „Tm“ gemacht wird, kann der Wert „Tm“ der homogenen 4x4-Transformationsmatrix aus der folgenden Formel (10) berechnet werden. Wx = ( Q 4 Q 3 ) / | Q 4 Q 3 | Wt = ( Q 5 Q 3 ) / | Q 5 Q 3 | Wz = Wx × Wt Wy = Wz × Wx T m = [ W x W y W z Q 3 0 0 0 1 ]
    Figure DE102016011653B4_0010
  • Dabei gilt Tr = M × Tm, so dass M = Tr × Tm-i.
  • Wenn sich der Tisch 72 der Werkzeugmaschine 7 translationsmäßig in zwei Achsenrichtungen bewegen kann und sich um eine Achse herum drehen kann, kann der Tisch 72 betätigt werden, um zu bewirken, dass sich eine Zielmarke 6 in jeweils drei verschiedene Positionen bewegt, um dadurch die zuvor erwähnten dritten, vierten und fünften Zielmarkenpositionen zu erfassen. Wenn in diesem Fall die Position der Zielmarke 6 im Verhältnis zum Tisch 72 eine Position ist, die einzigartig durch die Spezifikationen der Werkzeugmaschine 7 bestimmt wird, kann die Position der Zielmarke 6 in dem Maschinenkoordinatensystem Im aus der Position des Tisches 72 berechnet werden. Alternativ kann eine Berührungssonde usw. verwendet werden, um die Position der Zielmarke 6 in dem Maschinenkoordinatensystem Σm zu messen.
  • Als Nächstes wird mit Bezug auf 12 und 13 ein Verfahren zum Einrichten eines neuen Koordinatensystems in dem Roboter 2 erklärt. Das neue Koordinatensystem wird als Arbeitskoordinatensystem Σc bei einer vorbestimmten Arbeit, die von dem Roboter 2 ausgeführt wird, verwendet. Das Robotersystem 1, das in diesem Fall verwendet wird, ist ähnlich konfiguriert wie dasjenige, das in 1 gezeigt wird, es werden jedoch drei Zielmarken 6 verwendet, und der Roboter-Controller 3 umfasst ferner einen Teil 34 zum Berechnen eines Arbeitskoordinatensystems (siehe 13).
  • Der Teil 34 zum Berechnen eines Arbeitskoordinatensystems verwendet mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem Σr als Grundlage, um ein Arbeitskoordinatensystem Σc des Roboters 2 zu berechnen.
  • Wie in 12 gezeigt, wird in Schritt S401 die Zielmarke 6 in den sechsten, siebten und achten Zielmarkenpositionen eingerichtet, die den Positionen entsprechen, in denen es erwünscht ist, das Arbeitskoordinatensystem Σc einzurichten.
  • In Schritt S402 wird die sechste Zielmarkenposition P6 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt S403 wird die siebte Zielmarkenposition P7 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt S404 wird die achte Zielmarkenposition P8 in dem Roboterkoordinatensystem Σr gemäß der Verarbeitung von Schritt S202 bis S206, die mit Bezug auf 6 erklärt wurde, gemessen.
  • In Schritt S405 werden die sechsten, siebten und achten Zielmarkenpositionen P6, P7 und P8 in dem Roboterkoordinatensystem Σr als Grundlage verwendet, um die Position C des neu eingerichteten Arbeitskoordinatensystems Σc zu berechnen.
  • Ein Beispiel des Verfahrens zum Berechnen der Position C des Arbeitskoordinatensystems Σc in Schritt S405 wird erklärt.
  • Das Arbeitskoordinatensystem Σc wird mit Bezug auf die Ebene, welche die sechsten, siebten und achten Zielmarkenpositionen umfasst, eingerichtet. Das Arbeitskoordinatensystem Σc weist die sechste Zielmarkenposition als Ursprung auf, weist die Richtung von der sechsten Zielmarkenposition zu der siebten Zielmarkenposition als X-Achsenrichtung auf, und weist die Ebene, welche die sechsten, siebten und achten Zielmarkenpositionen umfasst, als XY-Ebene auf. In diesem Fall kann eine Position C des Arbeitskoordinatensystems Σc aus der folgenden Formel (11) berechnet werden. Es sei zu beachten, dass die Position C eine homogene 4x4-Transformationmatrix ist. Vx = ( P7 P6 ) / | P7 P6 | Vt = ( P8 P6 ) / | P8 P6 | Vz = Vx × Vt Vy = Vz × Vx C = [ V x V y V z P 6 0 0 0 1 ]
    Figure DE102016011653B4_0011
  • Es sei zu beachten, dass die Kamera 4 und die Zielmarke 6 zeitweilig verwendet werden können, wenn die Verarbeitung der zuvor erwähnten Ausführungsform ausgeführt wird, und je nach Bedarf abgenommen werden können, nachdem die Verarbeitung beendet ist.
  • Mit dem Robotersystem 1 gemäß der vorliegenden Ausführungsform können die folgenden vorteilhaften Wirkungen geboten werden:
    1. (1) Es ist nicht notwendig, die Kamera 4 im Voraus zu kalibrieren. Daher kann die Arbeitseffizienz verbessert werden.
    2. (2) Die Kamera 4, die bei der vorliegenden Ausführungsform verwendet wird, kann eine einzige 2D-Kamera sein. D.h. es ist möglich, die 3D-Position der Zielmarke 6 zu messen, ohne eine Stereomessung zu benötigen, so dass ein kostengünstiges Robotersystem 1 bereitgestellt werden kann.
    3. (3) Es ist möglich, die 3D-Position der Zielmarke 6 zu messen, selbst wenn die Betriebsregion des Roboters 2 eingeschränkt ist, wie etwa bei der Verwendung zusammen mit der Werkzeugmaschine 7.
    4. (4) Ein Koordinatensystem, das dem Maschinenkoordinatensystem Im entspricht, das für die Werkzeugmaschine 7 eingerichtet wird, wird in dem Roboter 2 eingerichtet, so dass die Positionsinformationen von der Werkzeugmaschine 7 und dem Roboter 2 gemeinsam genutzt werden.
  • Zuvor wurden diverse Ausführungsformen der vorliegenden Erfindung erklärt, doch der Fachmann wird erkennen, dass auch andere Ausführungsformen verwendet werden können, um die Aktionen und Wirkungen, die von der vorliegenden Erfindung beabsichtigt werden, auszubilden. Insbesondere können die Bestandteile der zuvor erklärten Ausführungsformen entfallen oder ersetzt werden, ohne den Umfang der vorliegenden Erfindung zu verlassen, und ferner können bekannte Mittel hinzugefügt werden. Ferner ist die Tatsache, dass die Merkmale der Vielzahl von Ausführungsformen, die in der vorliegenden Beschreibung explizit oder implizit offenbart werden, auch frei kombiniert werden können, um die vorliegende Erfindung auszubilden, für den Fachmann offensichtlich.
  • Bei dem Robotersystem gemäß der vorliegenden Erfindung ist es nicht notwendig, die Kamera im Voraus zu kalibrieren. Ferner ist es möglich, eine kostengünstige 2D-Kamera zu verwenden, um eine 3D-Position einer Zielmarke zu messen. Dadurch ist es möglich, die Positionsbeziehung zwischen dem Roboterkoordinatensystem und dem Koordinatensystem einer Werkzeugmaschine kostengünstig und durch ein einfaches Verfahren zu bestimmen.

Claims (4)

  1. Robotersystem (1), umfassend einen Roboter (2), eine Kamera (4), die an einem Armende (23) des Roboters angebracht ist, und eine Zielmarke (6), deren Bild von der Kamera aufgenommen wird, wobei das Robotersystem Folgendes umfasst: einen Teil (31) zum Speichern von Referenzdaten, der eine Position und eine Größe des Bildes der Zielmarke, die in einem Bild der Kamera enthalten ist, als Referenzdaten speichert und eine erste Zielmarkenposition im Verhältnis zum Armende als Position eines Werkzeugmittelpunktes speichert, wenn die Zielmarke in der ersten Zielmarkenposition angeordnet ist, die im Voraus durch ein Roboterkoordinatensystem (Σr) bestimmt wird, das die Grundlage für die Steuerung des Roboters bildet, und das Armende in einer ersten Roboterposition angeordnet ist, und einen Teil (32) zum Berechnen einer Zielmarkenposition, der bewirkt, dass sich das Armende derart bewegt, dass eine Position und eine Größe des Bildes der Zielmarke, die in dem Bild der Kamera enthalten ist, wenn die Zielmarke in einer zweiten Zielmarkenposition angeordnet ist, mit der Position und der Größe des Bildes der Zielmarke, die als Referenzdaten gespeichert werden, übereinstimmen, und zum Verwenden einer zweiten Roboterposition, welche die Position des Armendes nach der Bewegung ist, und der Position des Werkzeugmittelpunktes als Grundlage, um die zweite Zielmarkenposition in dem Roboterkoordinatensystem zu berechnen.
  2. Robotersystem nach Anspruch 1, wobei das Robotersystem ferner eine Werkzeugmaschine (7) umfasst, wenn die Zielmarke mindestens in drei Zielmarkenpositionen angeordnet ist, die im Voraus in einem Maschinenkoordinatensystem (Σm), das die Grundlage für die Steuerung der Werkzeugmaschine bildet, bestimmt werden und sich nicht auf der gleichen Geraden befinden, der Teil zum Berechnen von Zielmarkenpositionen konfiguriert ist, um die mindestens drei Zielmarkenpositionen jeweils in dem Roboterkoordinatensystem zu berechnen, und das Robotersystem ferner einen Teil (33) zum Berechnen eines Maschinenkoordinatensystems umfasst, der die mindestens drei Zielmarkenpositionen in dem Maschinenkoordinatensystem und die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem als Grundlage verwendet, um die Position des Maschinenkoordinatensystems im Verhältnis zu dem Roboterkoordinatensystem zu berechnen.
  3. Robotersystem nach Anspruch 2, wobei die Werkzeugmaschine einen beweglichen Teil umfasst, der betätigt werden kann, die Zielmarke in dem beweglichen Teil eingerichtet ist, und die Werkzeugmaschine konfiguriert ist, um zu bewirken, dass der bewegliche Teil funktioniert, um zu bewirken, dass sich die Zielmarke in die mindestens drei Zielmarkenpositionen bewegt.
  4. Robotersystem nach Anspruch 1, wobei, wenn die Zielmarke mindestens in drei Zielmarkenpositionen angeordnet ist, die sich nicht auf der gleichen Geraden befinden und die in dem Roboterkoordinatensystem unbekannt sind, der Teil zum Berechnen von Zielmarkenpositionen konfiguriert ist, um die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem zu berechnen, das Robotersystem ferner einen Teil (34) zum Berechnen von Arbeitskoordinaten umfasst, der die mindestens drei Zielmarkenpositionen in dem Roboterkoordinatensystem (Σc) als Grundlage verwendet, um ein Arbeitskoordinatensystem des Roboters zu berechnen, das Arbeitskoordinatensystem separat vom Roboterkoordinatensystem neu eingestellt wird und die Grundlage einer vorbestimmten und vom Roboter ausgeführten Arbeit bildet, Positionen bei denen erwünscht ist das Arbeitskoordinatensystem so einzurichten, dass es den mindestens drei Zielmarkenpositionen entspricht, und das Arbeitskoordinatensystem mit Bezug auf eine Ebene, die mindestens drei Zielmarkenpositionen enthält, berechnet wird.
DE102016011653.6A 2015-10-05 2016-09-28 Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke Active DE102016011653B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-197715 2015-10-05
JP2015197715A JP6126183B2 (ja) 2015-10-05 2015-10-05 ターゲットマークを撮像するカメラを備えたロボットシステム

Publications (2)

Publication Number Publication Date
DE102016011653A1 DE102016011653A1 (de) 2017-04-06
DE102016011653B4 true DE102016011653B4 (de) 2018-07-19

Family

ID=58355714

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016011653.6A Active DE102016011653B4 (de) 2015-10-05 2016-09-28 Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke

Country Status (4)

Country Link
US (1) US9969090B2 (de)
JP (1) JP6126183B2 (de)
CN (1) CN106560297B (de)
DE (1) DE102016011653B4 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016221645A (ja) * 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
DE102016005699B3 (de) * 2016-05-12 2017-05-18 Carl Zeiss Automated Inspection GmbH Verfahren zum Kalibrieren einer Messvorrichtung zur Vermessung von Karosserieteilen und anderen Werkstücken sowie zur Durchführung des Verfahrens geeignete Messvorrichtung
CN109215075B (zh) * 2017-06-30 2021-07-09 沈阳新松机器人自动化股份有限公司 工业机器人物料抓取中工件的定位识别***及方法
CN107443380B (zh) * 2017-09-05 2019-11-29 北京京东尚科信息技术有限公司 直角坐标机器人的控制方法和控制装置
JP6608977B2 (ja) * 2018-01-25 2019-11-20 ファナック株式会社 物品搬送システム
CN110293551B (zh) * 2018-03-21 2020-10-16 北京猎户星空科技有限公司 视觉传感器安装位置确定方法、装置及电子设备
JP6777670B2 (ja) * 2018-03-27 2020-10-28 ファナック株式会社 画像処理を利用してロボットの教示を補正するロボットシステム
CN113015604B (zh) * 2018-12-11 2024-03-08 株式会社富士 机器人控制***及机器人控制方法
US11449021B2 (en) * 2018-12-17 2022-09-20 Divergent Technologies, Inc. Systems and methods for high accuracy fixtureless assembly
JP2020142323A (ja) * 2019-03-06 2020-09-10 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6785931B1 (ja) * 2019-08-30 2020-11-18 Dmg森精機株式会社 生産システム
CN114728414A (zh) * 2019-09-11 2022-07-08 Dmg森精机株式会社 装有机器人的移动装置、***和机床
CN110733060A (zh) * 2019-11-04 2020-01-31 清华大学 一种机械臂末端空间重复定位精度测量装置及方法
CN112775955B (zh) * 2019-11-06 2022-02-11 深圳富泰宏精密工业有限公司 机械手臂坐标确定方法、计算机装置
US11691280B2 (en) * 2020-01-24 2023-07-04 The Cleveland Clinic Foundation Hybrid control of a robotic system
CN113290552B (zh) * 2020-02-24 2022-09-16 株式会社理光 物品放置***以及物品放置方法
CN113733078B (zh) * 2020-05-27 2022-09-13 中国人民解放军63920部队 机械臂精调控制量判读方法、计算机可读存储介质
CN116419826A (zh) * 2020-09-30 2023-07-11 发那科株式会社 取得机器人与作业设备的位置关系的装置、控制装置、***、方法以及计算机程序
DE102020134898A1 (de) 2020-12-23 2022-06-23 Sensopart Industriesensorik Gmbh Zielmarke zur Bestimmung einer dreidimensionalen Pose eines Objekts
WO2022254613A1 (ja) * 2021-06-02 2022-12-08 株式会社Fuji カメラの位置ずれ補正方法およびロボット装置
EP4124417A1 (de) * 2021-07-30 2023-02-01 Siemens Aktiengesellschaft Verfahren zur kalibrierung eines roboters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2010117223A (ja) 2008-11-12 2010-05-27 Fanuc Ltd ロボットに取付けられたカメラを用いた三次元位置計測装置
JP2011048467A (ja) 2009-08-25 2011-03-10 Fanuc Ltd 加工システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60195611A (ja) * 1984-03-16 1985-10-04 Hitachi Ltd ワ−ク移動対応ロボツトシステム
DE10305384A1 (de) * 2003-02-11 2004-08-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
DE102004026813A1 (de) * 2004-06-02 2005-12-29 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
JP3946716B2 (ja) * 2004-07-28 2007-07-18 ファナック株式会社 ロボットシステムにおける3次元視覚センサの再校正方法及び装置
JP6004517B2 (ja) * 2011-04-19 2016-10-12 芝浦メカトロニクス株式会社 基板検査装置、基板検査方法及び該基板検査装置の調整方法
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005201824A (ja) 2004-01-16 2005-07-28 Fanuc Ltd 計測装置
JP2010117223A (ja) 2008-11-12 2010-05-27 Fanuc Ltd ロボットに取付けられたカメラを用いた三次元位置計測装置
JP2011048467A (ja) 2009-08-25 2011-03-10 Fanuc Ltd 加工システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JP,2005-201824,A (Maschinenübersetzung), AIPN [online] JPO [ abgerufen am 2017-5-24 ]
JP,2010-117223,A (Maschinenübersetzung), AIPN [online] JPO [ abgerufen am 2017-5-24 ]
JP,2011-048467,A (Maschinenübersetzung), AIPN [online] JPO [ abgerufen am 2017-5-24 ]

Also Published As

Publication number Publication date
DE102016011653A1 (de) 2017-04-06
JP2017071001A (ja) 2017-04-13
CN106560297A (zh) 2017-04-12
JP6126183B2 (ja) 2017-05-10
US20170095930A1 (en) 2017-04-06
US9969090B2 (en) 2018-05-15
CN106560297B (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
DE102016011653B4 (de) Robotersystem mit Kamera zum Aufnehmen eines Bildes einer Zielmarke
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE102016212695B4 (de) Industrieroboter
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE102018213985B4 (de) Robotersystem
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102017002608B4 (de) Positioniersystem unter Verwendung eines Roboters
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE102010032840B4 (de) Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE112019004517T5 (de) Roboterkalibrierung für ar (augmented reality) und digitaler zwilling
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102017207696A1 (de) Kalibrierungsvorrichtung und Kalibrierungsverfahren
DE202006020299U1 (de) 3D-Vermessungsanordnung
DE102018127221B4 (de) Koordinatenmesssystem
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE10153049B4 (de) 3D-Koordinationssystem
DE102021103726A1 (de) Messparameter-Optimierungsverfahren und -Vorrichtung sowie Computersteuerprogramm
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter
EP3707569B1 (de) Kalibrierung eines stationären kamerasystems zur positionserfassung eines mobilen roboters
DE112017007903B4 (de) Haltepositions- und Orientierungslehreinrichtung, Haltepositions- und Orientierungslehrverfahren und Robotersystem
DE102017222706B4 (de) Programmierhandgerät und damit versehenes Robotersystem
DE112021004660T5 (de) Robotersystem
DE112021002301T5 (de) Vorrichtung zum erhalten einer position eines visuellen sensors im steuerkoordinatensystem eines roboters, robotersystem, verfahren und computerprogramms

Legal Events

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