DE102020119704A1 - Steuervorrichtung einer robotervorrichtung, die die position eines roboters steuert - Google Patents

Steuervorrichtung einer robotervorrichtung, die die position eines roboters steuert Download PDF

Info

Publication number
DE102020119704A1
DE102020119704A1 DE102020119704.7A DE102020119704A DE102020119704A1 DE 102020119704 A1 DE102020119704 A1 DE 102020119704A1 DE 102020119704 A DE102020119704 A DE 102020119704A DE 102020119704 A1 DE102020119704 A1 DE 102020119704A1
Authority
DE
Germany
Prior art keywords
robot
workpiece
amount
feature
image
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.)
Pending
Application number
DE102020119704.7A
Other languages
English (en)
Inventor
Kentaro Koga
Wataru Miyazaki
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
Priority claimed from JP2019219104A external-priority patent/JP7384653B2/ja
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020119704A1 publication Critical patent/DE102020119704A1/de
Pending legal-status Critical Current

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/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
    • 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/1612Programme controls characterised by the hand, wrist, grip control
    • 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/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
    • 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/39391Visual servoing, track end effector with camera image feedback
    • 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/39393Camera detects projected image, compare with reference image, position end effector
    • 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/39395Expectation based visual servoing, use of model
    • 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/39397Map image error directly to robot movement, position with relation to world, base not needed, image based visual servoing
    • 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/40033Assembly, microassembly
    • 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/40555Orientation and distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Ein erster Merkmalsabschnitt eines ersten Werkstücks und ein zweiter Merkmalsabschnitt eines zweiten Werkstücks sind im Voraus festgelegt. Eine Merkmalsbetragsdetektionseinheit detektiert in einem durch eine Kamera aufgenommenen Bild einen ersten Merkmalsbetrag bezüglich der Position des ersten Merkmalsabschnitts und einen zweiten Merkmalsbetrag bezüglich der Position des zweiten Merkmalsabschnitts. Eine Recheneinheit berechnet einen Unterschied zwischen dem ersten Merkmalsbetrag und dem zweiten Merkmalsbetrag als Relativpositionsbetrag. Eine Befehlserzeugungseinheit erzeugt auf Basis des Relativpositionsbetrags in dem durch die Kamera aufgenommenen Bild und eines Relativpositionsbetrags in einem im Voraus festgelegten Referenzbild einen Bewegungsbefehl zum Betreiben des Roboters.

Description

  • Allgemeiner Stand der Technik
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Steuervorrichtung einer Robotervorrichtung, die die Position eines Roboters steuert.
  • Beschreibung des Stands der Technik
  • Mit einer Robotervorrichtung, die mit einem Roboter versehen ist, kann eine gewünschte Tätigkeit vorgenommen werden, indem ein der Tätigkeit entsprechendes Arbeitswerkzeug an dem Roboter angebracht wird. Wenn zum Beispiel eine Hand, die ein Werkstück ergreift, als Arbeitswerkzeug an dem Roboter angebracht wird, kann die Robotervorrichtung das Werkstück an eine gewünschte Stelle transportieren.
  • Beim Transport eines Werkstücks durch eine Robotervorrichtung kann das Werkstück, das von der Robotervorrichtung ergriffen wurde, durch Steuern der Position und der Lage des Werkstücks an einem anderen Werkstück angebracht werden oder im Inneren eines anderen Werkstücks angeordnet werden. Wenn eine derartige Tätigkeit vorgenommen wird, ist es günstig, eine genaue Positionierung des Werkstücks, das von der Robotervorrichtung ergriffen wurde, in Bezug auf das andere Werkstück vorzunehmen. Wenn zum Beispiel eine Tätigkeit vorgenommen wird, bei der ein Werkstück mit einem anderen Werkstück zusammengefügt wird, kann die Tätigkeit misslingen, wenn die Position und die Lage des einen Werkstücks von der Position und der Lage des anderen Werkstücks abweichen.
  • Nach dem Stand der Technik ist eine Vorgangsweise bekannt, bei der beim Anbringen eines Werkstücks an einem anderen Werkstück eine Steuerung der Position des Roboters unter Verwendung eines Bilds, das durch eine Kamera aufgenommen wurde, erfolgt. Beispielsweise ist eine Steuerung bekannt, bei der im Voraus ein Zielbild des einen Werkstücks oder des anderen Werkstücks vorbereitet wird. Beim Transport des Werkstücks durch die Robotervorrichtung wird das Werkstück durch eine Kamera aufgenommen. Dann wird die Position des Roboters durch Vergleichen des Bilds des Werkstücks mit dem Zielbild reguliert (siehe zum Beispiel die Patentoffenlegungsschrift 2013-180380 und die Patentoffenlegungsschrift 2015-214022).
  • Außerdem ist eine Steuerung bekannt, bei der ein Sichtsensorkoordinatensystem im Voraus in Bezug auf ein Roboterkoordinatensystem kalibriert wird und die dreidimensionale Position des Werkstücks auf Basis der Position des Werkstücks in dem Sichtsensorkoordinatensystem berechnet wird. Ferner ist eine Steuerung bekannt, bei der im Voraus eine Jacobi-Matrix im Hinblick auf die Position und die Größe eines Merkmalsabschnitts in Bildern erstellt werden kann. Die Position des Roboters wird auf Basis der Position des Merkmalsabschnitts in einem Bild, das durch eine Kamera aufgenommen wurde, der Position des Merkmalsabschnitts in Zieldaten und der Jacobi-Matrix korrigiert (siehe zum Beispiel die Patentoffenlegungsschrift 2017-170599).
  • Kurzdarstellung der Erfindung
  • Bei dem Verfahren, bei dem zur Regulierung der Position des Roboters eine Jacobi-Matrix verwendet wird, kann das Bewegungsausmaß des Roboters durch Anwenden der Jacobi-Matrix auf den Unterschied des Merkmalsbetrags eines Merkmalsabschnitts in Bildern berechnet werden. Es kann jedoch vorkommen, dass die Jacobi-Matrix durch Messfehler oder dergleichen beim Berechnen der Jacobi-Matrix nicht präzise berechnet werden kann. Oder die Jacobi-Matrix wird auf Basis der Abweichung der Position in dem Sichtsensorkoordinatensystem, wenn die Position des Roboters für ein winziges Ausmaß bewegt wurde, berechnet. Daher kann der Roboter in der Nähe des Merkmalsabschnitts mit einer guten Genauigkeit angetrieben werden, doch nimmt die Genauigkeit mit der Entfernung von dem Merkmalsabschnitt ab. Zum Beispiel besteht das Problem, dass die Genauigkeit schlecht ist, wenn der Roboter mit einem großen Bewegungsausmaß bewegt wird. Als Folge kommt es vor, dass die Position des Roboters nicht mit einer guten Genauigkeit reguliert werden kann.
  • Bei dem Verfahren, bei dem das Sichtsensorkoordinatensystem kalibriert wird, kann die dreidimensionale Position eines Merkmalabschnitts auf Basis des Bilds einer 2D-Kamera detektiert werden. Doch bei diesem Verfahren muss im Voraus eine Kalibrierung der Position des Sichtsensorkoordinatensystems in Bezug auf das Roboterkoordinatensystem vorgenommen werden.
  • Eine Form der vorliegenden Offenbarung ist eine Steuervorrichtung einer Robotervorrichtung, die ein zweites Element durch einen Roboter bewegt und die relative Position des zweiten Elements in Bezug auf ein erstes Element anpasst. Die Steuervorrichtung umfasst einen Sichtsensor, der das erste Element und das zweite Element aufnimmt. Die Steuervorrichtung umfasst eine Betriebssteuereinheit, die einen Befehl zum Antrieb des Roboters an den Roboter ausgibt, und eine Bildverarbeitungseinheit, die das durch den Sichtsensor aufgenommene Bild verarbeitet. Ein erster Merkmalsabschnitt zur Detektion der Position des ersten Elements und ein zweiter Merkmalsabschnitt zur Detektion der Position des zweiten Elements sind im Voraus festgelegt. Die Bildverarbeitungseinheit umfasst eine Merkmalsbetragsdetektionseinheit, die in dem durch den Sichtsensor aufgenommenen Bild einen ersten Merkmalsbetrag bezüglich einer Position des ersten Merkmalsabschnitts und einen zweiten Merkmalsbetrag bezüglich einer Position des zweiten Merkmalsabschnitts detektiert. Die Bildverarbeitungseinheit umfasst eine Berechnungseinheit, die den Unterschied zwischen dem ersten Merkmalsbetrag und dem zweiten Merkmalsbetrag als Relativpositionsbetrag berechnet. Die Bildverarbeitungseinheit umfasst eine Befehlserzeugungseinheit, die einen Bewegungsbefehl zum Betreiben des Roboters erzeugt. Ein Relativpositionsbetrag in einem Referenzbild, das ein Bild des ersten Merkmalsabschnitts und des zweiten Merkmalsabschnitts, wenn das zweite Element in Bezug auf das erste Element an einer Zielposition angeordnet ist, enthält, ist festgelegt. Die Befehlserzeugungseinheit erzeugt auf Basis des Relativpositionsbetrags in dem Bild, das durch den Sichtsensor aufgenommen wurde, und des Relativpositionsbetrags in dem Referenzbild, das das Bild des ersten Merkmalsabschnitts und des zweiten Merkmalsabschnitts enthält, einen Bewegungsbefehl, um den Roboter so zu betreiben, dass das zweite Element in Bezug auf das erste Element an der Zielposition angeordnet wird. Die Betriebssteuereinheit verändert die Position des Roboters auf Basis des Bewegungsbefehls.
  • Figurenliste
    • 1 ist eine schematische Ansicht einer ersten Robotervorrichtung bei einer Ausführungsform.
    • 2 ist eine vergrößerte Schrägansicht eines ersten Werkstücks, eines zweiten Werkstücks und einer Hand bei der ersten Robotervorrichtung.
    • 3 ist ein Blockdiagramm der ersten Robotervorrichtung bei der Ausführungsform.
    • 4 ist ein erstes Ablaufdiagramm einer ersten Steuerung der ersten Robotervorrichtung bei der Ausführungsform.
    • 5 ist ein Referenzbild der ersten Robotervorrichtung bei der Ausführungsform.
    • 6 ist ein zweites Ablaufdiagramm der ersten Steuerung der ersten Robotervorrichtung bei der Ausführungsform.
    • 7 ist ein Bild, wenn die Position des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben ist.
    • 8 ist ein anderes Bild, wenn die Position des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben ist.
    • 9 ist eine vergrößerte Schrägansicht eines ersten Werkstücks, eines zweiten Werkstücks und einer Hand bei einer zweiten Robotervorrichtung der Ausführungsform.
    • 10 ist eine vergrößerte Schrägansicht des ersten Werkstücks, des zweiten Werkstücks und der Hand bei der zweiten Robotervorrichtung, wenn die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben ist.
    • 11 ist ein Bild, das durch eine erste Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben war.
    • 12 ist ein Bild, das durch eine zweite Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück passend war.
    • 13 ist ein Bild, das durch die zweite Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben war.
    • 14 ist ein Ablaufdiagramm einer dritten Steuerung bei der zweiten Robotervorrichtung.
    • 15 ist eine vergrößerte Schrägansicht eines ersten Werkstücks, eines zweiten Werkstücks und einer Hand bei einer dritten Robotervorrichtung der Ausführungsform.
    • 16 ist eine vergrößerte Schrägansicht eines ersten Werkstücks, eines zweiten Werkstücks und einer Hand bei einer vierten Robotervorrichtung der Ausführungsform.
    • 17 ist eine schematische Ansicht einer fünften Robotervorrichtung bei der Ausführungsform.
    • 18 ist eine vergrößerte Schrägansicht eines Behälters, eines Werkstücks und einer Hand bei einer passenden Position des Werkstücks in Bezug auf einen Behälter.
    • 19 ist eine vergrößerte Schrägansicht des Behälters, des Werkstücks und der Hand, wenn die Position des Werkstücks in Bezug auf den Behälter verschoben ist.
    • 20 ist ein Bild, wenn die Position des Werkstücks in Bezug auf den Behälter verschoben ist.
  • Ausführliche Erklärung
  • Unter Bezugnahme auf 1 bis 20 wird eine Steuervorrichtung einer Robotervorrichtung bei einer Ausführungsform erklärt. Bei der vorliegenden Ausführungsform werden für die Erklärung eine Robotervorrichtung, die die Tätigkeit des Zusammensetzens eines Produkts vornimmt, und eine Robotervorrichtung, die Werkstücke im Inneren eines Behälters anordnet, als Beispiele benutzt.
  • 1 ist eine schematische Ansicht einer ersten Robotervorrichtung bei der vorliegenden Ausführungsform. Die erste Robotervorrichtung 5 umfasst eine Hand 2 als Arbeitswerkzeug (Endeffektor) und einen Roboter 1, der die Hand 2 bewegt. Die erste Robotervorrichtung 5 nimmt eine Tätigkeit zum Anbringen eines ersten Werkstücks 81 als erstes Element an einem zweiten Werkstück 91 als zweites Element vor.
  • Der Roboter 1 ist ein Knickarmroboter, der mehrere Gelenkabschnitte aufweist. Der Roboter 1 umfasst einen Basisabschnitt 14, und eine auf dem Basisabschnitt 14 getragene Drehbasis 13. Der Basisabschnitt 14 ist auf einer Einrichtungsfläche fixiert. Die Drehbasis 13 ist so ausgeführt, dass sie sich in Bezug auf den Basisabschnitt 14 dreht. Der Roboter 1 umfasst einen Oberarm 11 und einen Unterarm 12. Der Unterarm 12 wird über einen Gelenkabschnitt drehbar an der Drehbasis 13 gehalten. Der Oberarm 11 wird über einen Gelenkabschnitt drehbar an dem Unterarm 12 gehalten. Außerdem dreht sich der Oberarm 11 um eine zu der Verlaufsrichtung des Oberarms 11 parallele Drehachse.
  • Der Roboter 1 umfasst ein Handgelenk 15, das mit dem Ende des Oberarms 11 gekoppelt ist. Das Handgelenk 15 wird über einen Gelenkabschnitt drehbar an dem Oberarm 11 gehalten. Das Handgelenk 15 umfasst einen drehbar ausgebildeten Flansch 16. Die Hand 2 ist an dem Flansch 16 fixiert. Der Roboter 1 der vorliegenden Ausführungsform weist sechs Antriebsachsen auf, doch besteht keine Beschränkung auf eine solche Ausführung. Es kann ein beliebiger Roboter, der ein Arbeitswerkzeug bewegen kann, eingesetzt werden.
  • Die Hand 2 ist ein Arbeitswerkzeug, um das Werkstück 91 zu ergreifen und freizugeben. Die Hand 2 weist mehrere Klauenabschnitte 3 auf. Die Hand 2 ist so ausgeführt, dass sich die Klauenabschnitte 3 öffnen und schließen. Die Klauenabschnitte 3 ergreifen das Werkstück 91, indem sie das Werkstück 91 einklemmen. Die Hand 2 der ersten Robotervorrichtung 5 weist die Klauenabschnitte 3 auf, doch besteht keine Beschränkung auf eine solche Ausführung. Für die Hand 2 kann ein beliebiger Aufbau, der so ausgeführt ist, dass er ein Werkstück ergreifen kann, eingesetzt werden. Zum Beispiel kann auch eine Hand, die ein Werkstück durch Ansaugen oder durch Magnetkraft ergreift, eingesetzt werden.
  • Die Robotervorrichtung 5 bei der vorliegenden Ausführungsform umfasst eine Fördereinrichtung 75 als Transportmaschine, die das erste Werkstück 81 in Bezug auf den Roboter 1 transportiert. Die Transportmaschine ist in der Nähe des Roboters angeordnet. Die Fördereinrichtung 75 ist so ausgeführt, dass sie das Werkstück 81 bis zu einer im Voraus festgelegten Position transportiert. Die Fördereinrichtung 75 ist so ausgeführt, dass sie das Werkstück 81 mit einer im Voraus festgelegten Transportgeschwindigkeit transportiert.
  • Bei der ersten Robotervorrichtung 5 der vorliegenden Ausführungsform bringt der Roboter 1 das Werkstück 91 an dem Werkstück 81 an, während die Fördereinrichtung 75 den Transport des Werkstücks 81 fortsetzt. Das heißt, das Werkstück 81 wird während des Zeitraums, in dem die Tätigkeit des Anbringens des Werkstücks 91 vorgenommen wird, durch die Fördereinrichtung 75 bewegt. Der Roboter 1 bringt das Werkstück 91 an dem Werkstück 81 an, während seine Position und seine Lage so verändert werden, dass er dem Werkstück 81 folgt.
  • 2 zeigt eine vergrößerte Schrägansicht des ersten Werkstücks, des zweiten Werkstücks und der Hand bei der ersten Robotervorrichtung. Unter Bezugnahme auf 1 und 2 weist das zweite Werkstück 91 einen Halteabschnitt 94 auf, der von der Oberfläche seines Hauptkörpers vorsteht. Die Hand 2 ergreift das zweite Werkstück 91, indem die Klauenabschnitte 3 den Halteabschnitts 94 packen.
  • Das erste Werkstück 81 weist Vorsprünge 82, 83 auf, die von der Oberfläche seines Hauptkörpers vorspringen. Der Vorsprung 82 und der Vorsprung 83 sind voneinander beabstandet angeordnet. Außerdem wird das Werkstück 81 so auf der Fördereinrichtung 75 getragen, dass der Vorsprung 82 und der Vorsprung 83 in der Vertikalrichtung nebeneinander liegen. An den oberen Flächen der Vorsprünge 82, 83 sind Öffnungen 82a, 83a gebildet. Das zweite Werkstück 91 weist Vorsprünge 92, 93 auf, die von der Oberfläche seines Hauptkörpers vorspringen. An den Vorsprüngen 92, 93 sind Stifte 92a, 93a fixiert. Der Stift 92a und der Stift 93a sind so angeordnet, dass sie in der Vertikalrichtung nebeneinander liegen. Bei der ersten Steuerung, die die erste Robotervorrichtung 5 ausführt, wird eine Tätigkeit vorgenommen, bei der der Stift 92a in die Öffnung 82a eingesteckt wird und der Stift 93a in die Öffnung 83a eingesteckt wird.
  • Bei der ersten Steuerung der vorliegenden Ausführungsform erfolgt eine Steuerung zur Einrichtung der Position der Stifte 92a, 93a in Bezug auf die Öffnungen 82a, 83a. Vor der Ausführung der ersten Steuerung wurde die Lage des Werkstücks 91 in Bezug auf das Werkstück 81 reguliert. Das heißt, dass die Lage des Roboters 1 so reguliert wurde, dass der Stift 92a und der Stift 93a des Werkstücks 91 auf einer in der Vertikalrichtung verlaufenden geraden Linie angeordnet sind. Deshalb ist es durch Ausführen einer Steuerung, um den Stift 92a direkt über der Öffnung 82a anzuordnen, möglich, die Positionen der Stifte 92a, 93a in Bezug auf die Öffnungen 82a einzurichten. Nach der Ausführung der ersten Steuerung der vorliegenden Ausführungsform werden die Stifte 92a, 93a durch ein wie durch den Pfeil 103 gezeigtes Abwärtsbewegen des Werkstücks 91 in der Vertikalrichtung in die Öffnungen 82a, 83a eingesteckt, wodurch das Werkstück 91 an dem Werkstück 81 angebracht wird.
  • Die Robotervorrichtung 5 umfasst eine Kamera 25 als Sichtsensor, der ein Bild des ersten Werkstücks 81 und des zweiten Werkstücks 91 aufnimmt. Die Kamera 25 bei der vorliegenden Ausführungsform ist eine 2D-Kamera. Die Kamera 25 wird über ein Halteelement 17 an der Hand 2 gehalten. Die Kamera 25 bei der Robotervorrichtung 5 verändert ihre Position und ihre Lage zusammen mit der Hand 2.
  • Die Kamera 25 nimmt ein Bild auf, wenn sich das zweite Werkstück 91 dem ersten Werkstück 81 genähert hat. Die Kamera 25 ist so angeordnet, dass sie die Umgebung des Bereichs, in dem das zweite Werkstück 91 mit dem ersten Werkstück 81 zusammengesetzt wird, aufnimmt. Außerdem ist die Kamera 25 so angeordnet, dass sie einen ersten Merkmalsabschnitt zum Detektieren der Position des ersten Werkstücks 81 und einen zweiten Merkmalsabschnitt zum Detektieren der Position des zweiten Werkstücks 91 aufnehmen kann. Bei der Robotervorrichtung 5 ist die Kamera 25 so angeordnet, dass sie die Werkstücke 81, 91 von oberhalb des Werkstücks 81 und des Werkstücks 91 her aufnimmt.
  • Für die Robotervorrichtung 5 ist ein Basiskoordinatensystem 5 festgelegt. Bei dem Beispiel, das in 1 gezeigt ist, ist der Ursprungspunkt des Basiskoordinatensystems 51 an dem Basisabschnitt 14 des Roboters 1 angeordnet. Das Basiskoordinatensystem 51 wird auch als globales Koordinatensystem bezeichnet. Das Basiskoordinatensystem 51 ist ein Koordinatensystem, bei dem die Position des Ursprungspunkts fest ist und auch die Ausrichtung der Koordinatenachsen fest ist. Die Position und die Lage des Basiskoordinatensystems 51 verändern sich auch dann nicht, wenn sich die Position und die Lage des Roboters 1 verändern. Das Basiskoordinatensystem 51 weist als Koordinatenachsen eine X-Achse, eine Y-Achse und eine Z-Achse auf, die zueinander orthogonal verlaufen. Außerdem ist eine W-Achse als Koordinatenachse um die X-Achse festgelegt. Als Koordinatenachse um die Y-Achse ist eine P-Achse festgelegt. Als Koordinatenachse um die Z-Achse ist eine R-Achse festgelegt.
  • Die Position und die Lage des Roboters 1 können durch das Basiskoordinatensystem 51 ausgedrückt werden. Zum Beispiel kann die Position des Roboters 1 durch die Position des Spitzenendpunkts des Werkzeugs, das an dem Spitzenende der Hand 2 angeordnet ist, ausgedrückt werden. Außerdem kann an dem Spitzenendpunkt des Werkzeugs ein Werkzeugkoordinatensystem festgelegt werden, das sich zusammen mit der Hand 2 bewegt. Die Lage des Roboters 1 kann durch die Ausrichtung des Werkzeugkoordinatensystems in Bezug auf das Basiskoordinatensystem 51 ausgedrückt werden.
  • 3 zeigt ein Blockdiagramm der Robotervorrichtung bei der vorliegenden Ausführungsform. Unter Bezugnahme auf 1 bis 3 umfasst der Roboter 1 eine Roboterantriebsvorrichtung, die die Position und die Lage des Roboters 1 verändert. Die Roboterantriebsvorrichtung umfasst Roboterantriebsmotoren 22, die die Aufbauelemente wie die Arme und das Handgelenk usw. antreiben. Die Ausrichtung der jeweiligen Aufbauelemente verändert sich durch Antreiben der Roboterantriebsmotoren 22.
  • Die Hand 2 umfasst eine Handantriebsvorrichtung, die die Hand 2 antreibt. Die Handantriebsvorrichtung umfasst einen Handantriebsmotor 21, der die Klauenabschnitte 3 der Hand 2 antreibt. Die Klauenabschnitte 3 der Hand 2 öffnen und schließen sich durch Antreiben des Handantriebsmotors 21. Die Klauenabschnitte 3 können aber auch so ausgeführt sein, dass sie durch Druckluft angetrieben werden. In diesem Fall kann die Handantriebsvorrichtung Vorrichtungen, die die Klauenabschnitte durch Druckluft antreiben, wie eine Luftpumpe, einen Zylinder oder dergleichen umfassen.
  • Eine Steuervorrichtung 29 der Robotervorrichtung umfasst eine Robotersteuervorrichtung 4, die den Roboter 1 und die Hand 2 steuert. Die Robotersteuervorrichtung 4 umfasst eine Rechenverarbeitungsvorrichtung (einen Computer), die eine CPU (eine zentrale Verarbeitungsvorrichtung) als Prozessor aufweist. Die Rechenverarbeitungsvorrichtung weist einen RAM (einen Direktzugriffsspeicher), einen ROM (einen Nurlesespeicher) usw. auf, die über einen Bus an die CPU angeschlossen sind. In die Robotersteuervorrichtung 4 ist ein im Voraus erstelltes Betriebsprogramm 41 zur Vornahme der Steuerung des Roboters 1, der Hand 2 und der Fördereinrichtung 75 eingegeben. Der Roboter 1 und die Hand 2 transportieren das Werkstück 91 auf Basis des Betriebsprogramms 41. Die Fördereinrichtung 75 transportiert das Werkstück 81 auf Basis des Betriebsprogramms 41.
  • Die Rechenverarbeitungsvorrichtung der Robotersteuervorrichtung 4 umfasst eine Speichereinheit 42, die im Voraus festgelegte Informationen speichert. Die Speichereinheit 42 speichert Informationen im Zusammenhang mit der Steuerung des Roboters 1, der Hand 2 und der Fördereinrichtung 75. Die Speichereinheit 42 kann durch ein Speichermedium, das Informationen speichern kann, wie einen flüchtigen Speicher, einen nichtflüchtigen Speicher, eine Festplatte oder dergleichen gebildet werden. Das Betriebsprogramm 41 wird in der Speichereinheit 42 gespeichert. Die Robotersteuervorrichtung 4 umfasst eine Anzeige 46, die beliebige Informationen im Zusammenhang mit der Robotervorrichtung 5 anzeigt. Die Anzeige 46 umfasst zum Beispiel ein Flüssigkristallpanel.
  • Die Rechenverarbeitungsvorrichtung umfasst eine Betriebssteuereinheit 43, die Betriebsbefehle für den Roboter 1 und die Hand 2 ausgibt. Die Betriebssteuereinheit 43 entspricht dem Prozessor, der gemäß dem Betriebsprogramm 41 arbeitet. Die Betriebssteuereinheit 43 ist so ausgeführt, dass sie die in der Speichereinheit 42 gespeicherten Informationen lesen kann. Der Prozessor wirkt durch Lesen des Betriebsprogramms 41 und Ausführen der in dem Betriebsprogramm 41 festgelegten Steuerung als Betriebssteuereinheit 43.
  • Die Betriebssteuereinheit 43 sendet auf Basis des Betriebsprogramms 41 Betriebsbefehle zum Antrieb des Roboters 1 an die Roboterantriebseinheit 45. Die Roboterantriebseinheit 45 umfasst elektrische Schaltungen, die die Roboterantriebsmotoren 22 antreiben. Die Roboterantriebseinheit 45 versorgt die Roboterantriebsmotoren 22 auf Basis der Betriebsbefehle mit Strom. Außerdem sendet die Betriebssteuereinheit 43 auf Basis des Betriebsprogramms 41 Betriebsbefehle zum Antrieb der Hand 2 an eine Handantriebseinheit 44. Die Handantriebseinheit 44 umfasst elektrische Schaltungen, die den Handantriebsmotor 21 antreiben. Die Handantriebseinheit 44 versorgt den Handantriebsmotor 21 auf Basis der Betriebsbefehle mit Strom. Außerdem ist die Kamera 25 an die Robotersteuervorrichtung 4 der vorliegenden Ausführungsform angeschlossen. Die Betriebssteuereinheit 43 sendet auf Basis des Betriebsprogramms 41 einen Befehl zur Bildaufnahme an die Kamera 25.
  • Die Rechenverarbeitungsvorrichtung der Robotersteuervorrichtung 4 umfasst eine Bildverarbeitungseinheit 31, die das von der Kamera 25 aufgenommene Bild verarbeitet. Die Bildverarbeitungseinheit 31 weist eine Merkmalsbetragsdetektionseinheit 32 auf, die für die jeweiligen Werkstücke 81, 91 einen Merkmalsbetrag des Merkmalsabschnitts, der einen im Voraus festgelegten kennzeichnenden Bereich darstellt, detektiert. Die Bildverarbeitungseinheit 31 umfasst eine Recheneinheit 33, die den Unterschied zwischen dem Merkmalsbetrag des ersten Werkstücks 81 und dem Merkmalsbetrag des zweiten Werkstücks 91 als relativen Betrag berechnet. Die Bildverarbeitungseinheit 31 weist eine Befehlserzeugungseinheit 34 auf, die auf Basis des durch die Recheneinheit 33 berechneten relativen Betrags einen Bewegungsbefehl zum Antreiben des Roboters 1 erzeugt.
  • Die Bildverarbeitungseinheit 31 entspricht dem Prozessor, der gemäß dem Betriebsprogramm 41 arbeitet. Insbesondere entsprechen die jeweiligen Einheiten aus der Merkmalsbetragsdetektionseinheit 32, der Recheneinheit 33 und der Betriebsbefehlserzeugungseinheit 33 dem Prozessor, der gemäß dem Betriebsprogramm 41 arbeitet. Der Prozessor liest das Betriebsprogramm 41 und wirkt durch Ausführen der in dem Betriebsprogramm 41 festgelegten Steuerungen als die jeweilige Einheit.
  • Die Robotervorrichtung 5 umfasst einen Zustandsdetektor, der den Betriebszustand der Robotervorrichtung 5 detektiert. Der Zustandsdetektor der vorliegenden Ausführungsform umfasst Positionsdetektoren 23, die die Position und die Lage des Roboters 1 detektieren. Die Positionsdetektoren 23 sind an den Roboterantriebsmotoren 23, die den Antriebsachsen der Aufbauelemente wie etwa der Arme usw. entsprechen angebracht. Zum Beispiel detektieren die Positionsdetektoren 23 den Drehwinkel beim Antrieb der Roboterantriebsmotoren 22. Auf Basis des Ausgangs der Positionsdetektoren 23 werden die Position und die Lage des Roboters 1 detektiert.
  • Die Steuervorrichtung 29 der Robotervorrichtung 5 umfasst eine Fördereinrichtungssteuervorrichtung 76, die den Betrieb der Fördereinrichtung 75 steuert. Die Fördereinrichtungssteuervorrichtung 76 umfasst eine Rechenverarbeitungsvorrichtung (einen Computer), die eine CPU und einen RAM usw. aufweist. Die Fördereinrichtungssteuervorrichtung 76 ist so ausgeführt, dass sie wechselseitig mit der Robotersteuervorrichtung 4 kommunizieren kann. Die Betriebssteuereinheit 43 gibt auf Basis des Betriebsprogramms 41 einen Betriebsbefehl zum Antrieb der Fördereinrichtung 75 an die Fördereinrichtungssteuervorrichtung 76 aus. Die Fördereinrichtungssteuervorrichtung 76 erhält den Betriebsbefehl von der Robotersteuervorrichtung 4 und treibt die Fördereinrichtung 75 an.
  • Die Steuervorrichtung 29 der Robotervorrichtung 5 der vorliegenden Ausführungsform umfasst die Robotersteuervorrichtung 4, die den Roboter 1 und die Hand 2 steuert, und die Fördereinrichtungssteuervorrichtung 76, die die Fördereinrichtung 75 steuert, doch besteht keine Beschränkung auf eine solche Ausführung. Die Robotervorrichtung 5 kann auch so ausgeführt sein, dass der Roboter 1, die Hand 2 und die Fördereinrichtung 75 durch eine einzige Steuervorrichtung gesteuert werden.
  • Außerdem umfasst die Robotersteuervorrichtung 4 bei der Steuervorrichtung 29 der Robotervorrichtung 5 der vorliegenden Ausführungsform die Bildverarbeitungseinheit 31, die über die Funktion zur Bildverarbeitung verfügt, doch besteht keine Beschränkung auf eine solche Ausführung. Es ist auch möglich, dass die Steuervorrichtung der Robotervorrichtung eine Bildverarbeitungsvorrichtung (einen Computer) umfasst, der die Bildverarbeitungseinheit 31 aufweist. Die Bildverarbeitungsvorrichtung kann durch eine Rechenverarbeitungsvorrichtung mit einer CPU als Prozessor gebildet werden. Der Prozessor der Bildverarbeitungsvorrichtung wirkt als Merkmalsbetragsdetektionseinheit, als Recheneinheit und als Betriebsbefehlserzeugungseinheit, die auf Basis des Betriebsprogramms arbeiten. Die Bildverarbeitungsvorrichtung ist so ausgeführt, dass sie wechselseitig mit der Robotersteuervorrichtung kommunizieren kann.
  • 4 zeigt ein erstes Ablaufdiagramm einer ersten Steuerung bei der vorliegenden Ausführungsform. Unter Bezugnahme auf 1, 2 und 4 erfolgt bei der ersten Steuerung eine Positionierung des Werkstücks 91 in Bezug auf das durch die Fördereinrichtung 75 transportierte Werkstück 81 unter Verwendung des von der einen Kamera 25 aufgenommenen Bilds. Wie oben erwähnt wurde, wurde vor der ersten Steuerung vorab die Lage des Werkstücks 91 in Bezug auf das Werkstück 81 reguliert. Das heißt, dass die Lage des Roboters 1 bei der Aufnahme des Bilds durch die Kamera 25 reguliert ist. Bei dieser Steuerung wird eine Steuerung zur Einrichtung der Position des Stifts 92a in Bezug auf die Öffnung 82a vorgenommen.
  • Bei der vorliegenden Ausführungsform wird vor der Vornahme der tatsächlichen Tätigkeit durch die Robotervorrichtung 5 ein Relativpositionsbetrag in dem Referenzbild berechnet. Dann wird die Tätigkeit durch die Robotervorrichtung 5 unter Verwendung des vorab berechneten Relativpositionsbetrags vorgenommen. In dem ersten Ablaufdiagramm ist die Steuerung zur Berechnung des Relativpositionsbetrags in dem Referenzbild gezeigt.
  • In Schritt 111 wird das Referenzbild für die Vornahme der ersten Steuerung erzeugt. 5 zeigt das Referenzbild zur Vornahme der ersten Steuerung der vorliegenden Ausführungsform. Das Referenzbild 61 entspricht einem Bild, das von der Kamera 25 aufgenommen wurde, als das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 an der Zielposition angeordnet war. Bei der vorliegenden Ausführungsform ist das Referenzbild 61 ein Bild, das durch die Kamera 25 aufgenommen wurde, als die Stifte 92a, 93a des Werkstücks 91 direkt über den Öffnungen 82a, 83a des Werkstücks 81 angeordnet waren. Das Referenzbild 61 kann von dem Betreiber im Voraus vorbereitet und in der Speichereinheit 42 gespeichert werden.
  • Bei der vorliegenden Ausführungsform ist der erste Merkmalsabschnitt zur Detektion der Position des ersten Werkstücks 81 im Voraus festgelegt. Bei der ersten Steuerung ist die obere Fläche des Vorsprungs 82 als Merkmalsabschnitt festgelegt. Außerdem ist der zweite Merkmalsabschnitt zur Detektion der Position des zweiten Werkstücks 91 im Voraus festgelegt. Bei der ersten Steuerung ist die obere Fläche des Vorsprungs 92 als Merkmalsabschnitt festgelegt. Ein Merkmalsabschnitt ist ein Bereich, dessen Form bei der Analyse des Bilds detektiert werden kann. Für den Merkmalsabschnitt kann ein Teil des Werkstücks, ein auf der Oberfläche des Werkstücks gebildetes Muster, eine auf der Oberfläche des Werkstücks dargestellte Linie oder ein darauf dargestelltes Bild oder dergleichen eingesetzt werden. Außerdem wird der Merkmalsabschnitt vorzugsweise in der Nähe des Bereichs, in dem das zweite Werkstück 91 mit dem ersten Werkstück 81 in Kontakt gelangt, festgelegt.
  • Bei der vorliegenden Ausführungsform ist an dem ersten Werkstück 81 an der oberen Fläche des Vorsprungs 82, die den ersten Merkmalsabschnitt darstellt, ein Einstellpunkt P1 festgelegt. Der Einstellpunkt P1 ist an einer Ecke des Vorsprungs 82 festgelegt. Die Position des Einstellpunkts P1 entspricht der Position des Werkstücks 81. An dem zweiten Werkstück 91 ist an der oberen Fläche des Vorsprungs 92, die den zweiten Merkmalsabschnitt darstellt, ein zweiter Einstellpunkt P2 angeordnet. Der zweite Einstellpunkt P2 ist an einer Ecke des Vorsprungs 92 festgelegt. Der Einstellpunkt P2 entspricht der Position des Werkstücks 91. Die Einstellpunkte P1, P2 sind in einem Bereich, der bei der Bildaufnahme durch die Kamera 25 in dem Bild enthalten ist, festgelegt.
  • Unter Bezugnahme auf 3, 4 und 5 detektiert die Merkmalsbetragsdetektionseinheit 32 der Bildverarbeitungseinheit 31 in Schritt 112 den ersten Merkmalsabschnitt und den zweiten Merkmalsabschnitt des Referenzbilds 61. Was das Verfahren zur Detektion der Merkmalsabschnitte betrifft, kann im Voraus ein Basisbild, das eine Grundlage für die jeweiligen Werkstücke 81, 91 darstellt, vorbereitet werden. Durch ein Verfahren wie etwa einen Mustervergleich unter Verwendung des Basisbilds und des von der Kamera 25 aufgenommenen Bilds können die Merkmalsabschnitte in dem von der Kamera 25 aufgenommenen Bild detektiert werden. Bei dem hier vorliegenden Beispiel können die obere Fläche des Vorsprungs 82 und die obere Fläche des Vorsprungs 92 detektiert werden.
  • In Schritt 113 detektiert die Merkmalsbetragsdetektionseinheit 32 den ersten Merkmalsbetrag bezüglich der Position des ersten Merkmalsabschnitts und den zweiten Merkmalsbetrag bezüglich der Position des zweiten Merkmalsabschnitts. Bei der vorliegenden Ausführungsform ist für das Bild, das durch die Kamera 25 aufgenommen wurde, ein Bildschirmkoordinatensystem 52 festgelegt. Das Bildschirmkoordinatensystem 52 ist ein Koordinatensystem, bei dem ein beliebiger Punkt in dem Bild als Ursprungspunkt festgelegt wurde. Das Bildschirmkoordinatensystem 52 weist eine u-Achse und eine v-Achse auf, die zueinander orthogonal verlaufen. Das Bildschirmkoordinatensystem 52 entspricht dem Sichtsensorkoordinatensystem der Kamera 25.
  • Bei dem Merkmalsbetrag bezüglich der Position bei der vorliegenden Ausführungsform handelt es sich um den Koordinatenwert der u-Achse und den Koordinatenwert der v-Achse des Bildschirmkoordinatensystems 52 in dem Bild. Die Merkmalsbetragsdetektionseinheit 32 kann auf Basis der in dem Referenzbild 61 detektierten Merkmalsabschnitte die Positionen der in den Merkmalsabschnitten festgelegten Einstellpunkte P1, P2 detektieren. Als ersten Merkmalsbetrag detektiert die Merkmalsbetragsdetektionseinheit 32 die Koordinatenwerte (u1b, v1b) des Einstellpunkts P1 in dem Bildschirmkoordinatensystem 52. Außerdem detektiert die Merkmalsbetragsdetektionseinheit 32 als zweiten Merkmalsbetrag die Koordinatenwerte (u2b, v2b) des Einstellpunkts P2 in dem Bildschirmkoordinatensystem 52.
  • Dann berechnet die Recheneinheit 33 der Bildverarbeitungseinheit 31 in Schritt 114 den relativen Betrag in Bezug auf den ersten Merkmalsbetrag und den zweiten Merkmalsbetrag in dem Referenzbild. Die Recheneinheit 33 berechnet für die Vornahme der Steuerung der Position des Roboters 1 einen Relativpositionsbetrag als den relativen Betrag. Der Relativpositionsbetrag ist der Unterschied zwischen dem ersten Merkmalsbetrag und dem zweiten Merkmalsbetrag. Zum Beispiel berechnet die Recheneinheit 33 als relativen Betrag den Unterschied (ulb - u2b, vlb - v2b) zwischen den Koordinatenwerten des ersten Merkmalsbetrags und den Koordinatenwerten des zweiten Merkmalsbetrags. Der durch die Recheneinheit 32 berechnete Relativpositionsbetrag in dem Referenzbild 61 wird als Referenzrelativpositionsbetrag in der Speichereinheit 42 gespeichert.
  • Auf diese Weise kann die Bildverarbeitungseinheit 31 den Relativpositionsbetrag in dem Referenzbild 61 berechnen. Bei der vorliegenden Ausführungsform wurde der Relativpositionsbetrag in dem Referenzbild 61 im Voraus berechnet und in der Speichereinheit 42 gespeichert, doch besteht keine Beschränkung auf eine solche Ausführung. Der Relativpositionsbetrag in dem Referenzbild 61 kann auch mit jeder Ausführung der ersten Steuerung berechnet werden.
  • Für das Referenzbild 61 braucht kein tatsächlich durch die Kamera 25 aufgenommenes Bild verwendet zu werden. Zum Beispiel können dreidimensionale Daten der jeweiligen Werkstücke 81, 91 durch eine CAD-Vorrichtung (eine computergestützte Designvorrichtung) oder dergleichen erstellt werden. Es können dreidimensionale Daten, wenn das Werkstück 91 in Bezug auf das Werkstück 81 an der Zielposition angeordnet ist, erstellt werden. Das Referenzbild 61 kann erzeugt werden, indem diese dreidimensionalen Daten auf eine Ebene, die entlang einer der Ausrichtung der Kamera entsprechenden Richtung verläuft, projiziert werden.
  • Als nächstes führt die Robotersteuervorrichtung 4 eine Steuerung aus, wodurch der Stift 92a des zweiten Werkstücks 91 an die Öffnung 82a des ersten Werkstücks 81 angenähert wird, damit der erste Merkmalsabschnitt und der zweite Merkmalsabschnitt innerhalb eines Bildaufnahmebereichs 25a der Kamera 25 angeordnet werden. Diese Steuerung kann durch eine beliebige Steuerung ausgeführt werden. Zum Beispiel detektiert die Robotersteuervorrichtung 4 durch einen bestimmten Sensor die Position des Werkstücks 81 auf der Fördereinrichtung 75. Die Robotersteuervorrichtung 4 detektiert die Position des Werkstücks 81 auf Basis der Bewegungsgeschwindigkeit der Fördereinrichtung 75. Die Robotersteuervorrichtung 4 kann die Position und die Lage des Roboters 1 so steuern, dass sich das Werkstück 91 dem Werkstück 81 nähert.
  • 6 zeigt ein zweites Ablaufdiagramm der ersten Steuerung bei der vorliegenden Ausführungsform. Unter Bezugnahme auf 3 und 6 nimmt die Betriebssteuereinheit 43 nach der Ausführung der Steuerung zum Annähern des Werkstücks 91 an das Werkstück 81 durch die Robotersteuervorrichtung 4 in Schritt 115 die Werkstücke 81, 91 durch die Kamera 25 auf.
  • 7 zeigt ein Bild, das zur Regulierung der Position des zweiten Werkstücks in Bezug auf das erste Werkstück durch die Kamera aufgenommen wurde. In dem Bild 62 sind ein Bild der oberen Fläche des Vorsprungs 82, die den ersten Merkmalsabschnitt darstellt, und der oberen Fläche des Vorsprungs 92, die den zweiten Merkmalsabschnitt darstellt, enthalten. In dem Bild 62 ist das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 wie durch den Pfeil 101 gezeigt in der positiven Richtung der u-Achse des Bildschirmkoordinatensystems 52 verschoben.
  • 8 zeigt ein anderes Bild, das zur Regulierung der Position des zweiten Werkstücks in Bezug auf das erste Werkstück durch die Kamera aufgenommen wurde. In dem Bild 63 ist das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 wie durch den Pfeil 102 gezeigt in der negativen Richtung der u-Achse des Bildschirmkoordinatensystems 52 verschoben. Unter Bezugnahme auf 7 und 8 wird bei der ersten Steuerung eine Steuerung ausgeführt, um eine solche Abweichung des zweiten Werkstücks 91 zu korrigieren. Bei der nun folgenden Erklärung wird von diesen 7 und 8 die 7 als Beispiel herangezogen.
  • Unter Bezugnahme auf 3, 6 und 7 wird in Schritt 116 bis Schritt 118 die gleiche Steuerung wie bei der Steuerung in Bezug auf das Referenzbild 61 ausgeführt. Die Bildverarbeitungseinheit 31 detektiert den ersten Merkmalsbetrag und den zweiten Merkmalsbetrag in dem Bild 62 und berechnet unter Verwendung des ersten Merkmalsbetrags und des zweiten Merkmalsbetrags den Relativpositionsbetrag.
  • In Schritt 116 detektiert die Merkmalsbetragsdetektionseinheit 32 den ersten Merkmalsabschnitt und den zweiten Merkmalsabschnitt in dem durch die Kamera 25 aufgenommenen Bild 62. Als erster Merkmalsabschnitt wird hier die obere Fläche des Vorsprungs 82 des Werkstücks 81 detektiert und als zweiter Merkmalsabschnitt die obere Fläche des Vorsprungs 92 des Werkstücks 91 detektiert.
  • In Schritt 117 detektiert die Merkmalsbetragsdetektionseinheit 32 den ersten Merkmalsbetrag und den zweiten Merkmalsbetrag in dem durch die Kamera 25 aufgenommenen Bild 62. Als ersten Merkmalsbetrag bezüglich der Position des ersten Merkmalsabschnitts detektiert die Merkmalsbetragsdetektionseinheit 32 die Koordinatenwerte (u1m, v1m) des Einstellpunkts P1 in dem Bildschirmkoordinatensystem 52. Außerdem detektiert die Merkmalsbetragsdetektionseinheit 32 als zweiten Merkmalsbetrag bezüglich der Position des zweiten Merkmalsabschnitts die Koordinatenwerte (u2m, v2m) des Einstellpunkts P2 in dem Bildschirmkoordinatensystem 52.
  • In Schritt 118 berechnet die Recheneinheit 33 den Unterschied zwischen dem ersten Merkmalsbetrag und dem zweiten Merkmalsbetrag als Relativpositionsbetrag. Der Relativpositionsbetrag in dem Bild 62, das durch die Kamera 25 aufgenommen wurde, ist der Unterschied (ulm - u2m, vlm - v2m) zwischen den Koordinatenwerten des ersten Merkmalsbetrags und den Koordinatenwerten des zweiten Merkmalsbetrags.
  • Wenn die Hand 2 das zweite Werkstück 91 an der vorherbestimmten Position ergriffen hat, wird der zweite Merkmalsbetrag bezüglich des zweiten Werkstücks 91 konstant. Daher kann der zweite Merkmalsbetrag auch im Voraus gemessen werden und in der Speichereinheit 42 gespeichert werden. Das heißt, dass die Koordinatenwerte des Einstellpunkts P2 im Voraus in der Speichereinheit 42 gespeichert werden können. Doch wenn die Hand 2 das zweite Werkstück 91 ergreift, kann es vorkommen, dass sie von der gewünschten Position abweicht. Daher wird der zweite Merkmalsbetrag bei der vorliegenden Ausführungsform auch auf Basis des tatsächlich aufgenommenen Bilds 62 durch das Verfahren des Mustervergleichs mit einem Basisbild detektiert.
  • Als nächstes erzeugt die Befehlserzeugungseinheit 34 der Bildverarbeitungseinheit 31 auf Basis des Relativpositionsbetrags in dem durch die Kamera 25 aufgenommenen Bild 62 und des Relativpositionsbetrags in dem Referenzbild 61 einen Bewegungsbefehl für den Roboter 1, um das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 an der Zielposition anzuordnen. Die Befehlserzeugungseinheit 34 der vorliegenden Ausführungsform erzeugt den Bewegungsbefehl zum Bewegen des Roboters 1 so, dass sich der Relativpositionsbetrag in dem durch die Kamera 25 aufgenommenen Bild 62 dem Relativpositionsbetrag in dem Referenzbild 61 nähert.
  • In Schritt 119 berechnet die Befehlserzeugungseinheit 34 den Unterschied der Relativpositionsbeträge, bei dem es sich um den Unterschied des Relativpositionsbetrags in dem durch die Kamera 25 aufgenommenen Bild 62 und des Relativpositionsbetrags in dem Referenzbild 61 handelt. Bei der vorliegenden Ausführungsform berechnet die Befehlserzeugungseinheit 34 den Unterschied der Relativpositionsbeträge, wofür der Relativpositionsbetrag in dem Referenzbild 61 von dem Relativpositionsbetrag in dem durch die Kamera 25 aufgenommenen Bild 62 subtrahiert wurde. Der Unterschied der Relativpositionsbeträge kann als jeweiliger Wert im Hinblick auf die u-Achse und die v-Achse durch [(u1m - u2m) - (u1b - u2b), (v1m - v2m) - (v1b - v2b) ] ausgedrückt werden. Auf diese Weise werden bei der vorliegenden Ausführungsform der Unterschied der Relativpositionsbeträge im Hinblick auf die u-Achse und der Unterschied der Relativpositionsbeträge im Hinblick auf die v-Achse berechnet.
  • Als nächstes bestimmt die Befehlserzeugungseinheit 34 in Schritt 120, ob der Unterschied der Relativpositionsbeträge innerhalb eines im Voraus festgelegten Bestimmungsbereichs liegt oder nicht. Der Bestimmungsbereich wurde im Vorhinein festgelegt und in der Speichereinheit 42 gespeichert. Beispielsweise können ein Bestimmungsbereich für den Wert im Hinblick auf die u-Achse und ein Bestimmungsbereich für den Wert im Hinblick auf die v-Achse im Voraus festgelegt werden. Der Unterschied der Relativpositionsbeträge kommt null umso näher, je mehr sich das zweite Werkstück 91 der Zielposition in Bezug auf das erste Werkstück 81 nähert. Wenn der Wert im Hinblick auf die u-Achse in dem Bestimmungsbereich liegt und der Wert im Hinblick auf die v-Achse in den Bestimmungsbereich liegt, kann bestimmt werden, dass der Unterschied der Relativpositionsbeträge in dem Bestimmungsbereich liegt. Das heißt, die Befehlserzeugungseinheit 34 kann bestimmen, dass die Positionierung des Werkstücks 91 in Bezug auf das Werkstück 81 abgeschlossen ist.
  • Wenn wenigstens einer aus dem Wert im Hinblick auf die u-Achse und dem Wert im Hinblick auf die v-Achse von dem Bestimmungsbereich abweicht, kann die Befehlserzeugungseinheit 34 bestimmen, dass der Unterschied der Relativpositionsbeträge von dem Bestimmungsbereich abweicht. Das heißt, die Befehlserzeugungseinheit 34 kann bestimmen, dass das Werkstück 91 die gewünschte Position in Bezug auf das Werkstück 81 nicht erreicht hat.
  • Wenn der Unterschied der Relativpositionsbeträge in Schritt 120 innerhalb des Bestimmungsbereichs liegt, wird die Steuerung beendet. Wenn der Unterschied der Relativpositionsbeträge in Schritt 120 von dem Bestimmungsbereich abweicht, geht die Steuerung zu Schritt 121 über.
  • In Schritt 121 legt die Befehlserzeugungseinheit 34 das Antriebsverfahren des Roboters 1 auf Basis des Unterschieds der Relativpositionsbeträge fest. Die Befehlserzeugungseinheit 34 legt die Bewegungsrichtung und das Bewegungsausmaß der Position des Roboters 1 in dem Basiskoordinatensystem 51 fest. Bei der vorliegenden Ausführungsform ist die Bewegungsrichtung der Position des Roboters 1 in Bezug auf den Unterschied der Relativpositionsbeträge im Voraus festgelegt. Die Bewegungsrichtung der Position des Roboters 1 in Bezug auf einen positiven Wert oder einen negativen Wert der u-Achse des Bildschirmkoordinatensystems 52 ist im Voraus in dem Basiskoordinatensystem 51 festgelegt. Zum Beispiel ist im Fall eines positiven Werts des Unterschieds der Relativpositionsbeträge im Hinblick auf die u-Achse im Voraus eine Bewegungsrichtung (1, 1, 0) unter Verwendung der Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des Basiskoordinatensystems 51 festgelegt. Im Fall eines positiven Werts des Unterschieds der Relativpositionsbeträge im Hinblick auf die v-Achse ist im Voraus eine Bewegungsrichtung (0, 0, 1) unter Verwendung der Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des Basiskoordinatensystems 51 festgelegt.
  • Ferner ist das Berechnungsverfahren für das Bewegungsausmaß der Position des Roboters 1 in Bezug auf den Unterschied der Relativpositionsbeträge im Voraus festgelegt. Zum Beispiel kann für das Bewegungsausmaß der Position des Roboters 1 in einer Richtung, die der u-Achse entspricht, ein Wert, für den der Wert ((u1m - u2m) - (u1b - u2b) ) im Hinblick auf die u-Achse mit einem im Voraus festgelegten Koeffizienten multipliziert wurde, angewendet werden. Für das Bewegungsausmaß der Position des Roboters 1 in einer Richtung, die der v-Achse entspricht, kann ein Wert, für den der Wert ( (v1m - v2m) - (v1b - v2b) ) im Hinblick auf die v-Achse mit einem im Voraus festgelegten Koeffizienten multipliziert wurde, angewendet werden. Auf diese Weise kann das Bewegungsausmaß der Position des Roboters 1 in den Richtungen, die den einzelnen Achsen des Bildschirmkoordinatensystems 52 entsprechen, berechnet werden.
  • Bei der vorliegenden Ausführungsform wird auf Basis des Unterschieds der Relativpositionsbeträge im Hinblick auf die u-Achse ein Bewegungsausmaß in der X-Achsen-Richtung, ein Bewegungsausmaß in der Y-Achsen-Richtung und ein Bewegungsausmaß in der Z-Achsen-Richtung in dem Basiskoordinatensystem 51 berechnet. Außerdem wird auf Basis des Unterschieds der Relativpositionsbeträge im Hinblick auf die v-Achse ein Bewegungsausmaß in der X-Achsen-Richtung, ein Bewegungsausmaß in der Y-Achsen-Richtung und ein Bewegungsausmaß in der Z-Achsen-Richtung in dem Basiskoordinatensystem 51 berechnet. Daher kann es vorkommen, dass in dem Basiskoordinatensystem 51 für eine Achse zwei Bewegungsausmaße (ein Bewegungsausmaß im Hinblick auf die u-Achse und ein Bewegungsausmaß im Hinblick auf die v-Achse) berechnet werden. In diesem Fall braucht die Position des Roboters 1 in der Richtung, für die zwei Bewegungsausmaße berechnet wurden, nicht bewegt zu werden. Oder es ist auch möglich, durch Multiplizieren der jeweiligen Bewegungsausmaße mit einem Koeffizienten ein endgültiges Bewegungsausmaß zu berechnen. Oder es kann irgendeines der Bewegungsausmaße benutzt werden.
  • Als nächstes wird der Roboter 1 in Schritt 122 auf Basis der Bewegungsrichtung und des Bewegungsausmaßes der Position des Roboters 1 angetrieben. Die Befehlserzeugungseinheit 34 erzeugt auf Basis der Bewegungsrichtung und des Bewegungsausmaßes der Position des Roboters 1 einen Bewegungsbefehl, um den Roboter 1 anzutreiben. Die Befehlserzeugungseinheit 34 gibt den Bewegungsbefehl an die Betriebssteuereinheit 43 aus. Die Betriebssteuereinheit 43 verändert die Position des Roboters 1 auf Basis des Bewegungsbefehls.
  • Dann geht die Steuerung zu Schritt 115 über. Bei der ersten Steuerung erfolgt eine Steuerung, die Schritt 115 bis Schritt 122 wiederholt, bis der Unterschied der Relativpositionsbeträge in den Bestimmungsbereich gelangt. Bei der ersten Steuerung kann die Position des Werkstücks durch Wiederholen von Schritt 115 bis Schritt 122, wenn die Positionierung des Werkstücks durch die erstmalige Steuerung nicht abgeschlossen wurde, allmählich an die gewünschte Position angenähert werden.
  • Bei der Steuerung der vorliegenden Ausführungsform ist es nicht nötig, eine Kalibrierung des Sichtsensorkoordinatensystems in Bezug auf das Basiskoordinatensystem vorzunehmen. Außerdem ist es für die Vornahme der Positionierung des Werkstücks nicht nötig, im Voraus eine Jacobi-Matrix zu ermitteln. Daher kann die Positionierung des Werkstücks durch ein einfaches Verfahren vorgenommen werden.
  • Bei der ersten Steuerung der vorliegenden Ausführungsform wird die Positionierung des zweiten Werkstücks 91 vorgenommen, während die Fördereinrichtung 75 das erste Werkstück 81 transportiert. Die Steuerung zur Detektion des ersten Merkmalsbetrags und des zweiten Merkmalsbetrags durch die Merkmalsbetragsdetektionseinheit 32, die Steuerung zur Detektion des Relativpositionsbetrags durch die Recheneinheit 33 und die Steuerung zur Berechnung des Bewegungsbefehls durch die Befehlserzeugungseinheit 34 werden wiederholt. Durch diese Steuerungen kann eine Steuerung des Nachführens der Position des Roboters 1, der das erste Werkstück 91 hält, in Bezug auf die Position des Werkstücks 81, das durch die Fördereinrichtung 75 bewegt wird, vorgenommen werden.
  • Die Kamera 25 bei der vorliegenden Ausführungsform wird über ein Halteelement 17 an der Hand 2 gehalten. Die Hand 2 hält das zweite Werkstück 91. Daher sind die relative Position und Lage des Werkstücks 81 in Bezug auf die Kamera 25 während der Vornahme der Positionierung des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 konstant. Unter Bezugnahme auf 5, 7 und 8 wird die Position des Werkstücks 91 und des Vorsprungs 92 in dem durch die Kamera 25 aufgenommen Bild 62, 63 auch bei einer Veränderung der relativen Position des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 konstant. Als Folge wird die Position des Einstellpunkts P2 des zweiten Merkmalsabschnitts in dem durch die Kamera 25 aufgenommenen Bild konstant.
  • Unter Bezugnahme auf 6 wird bei der oben beschriebenen Steuerung mit jeder Aufnahme des ersten Werkstücks 81 und des zweiten Werkstücks 91 durch die Kamera 25 eine Detektion des zweiten Merkmalsabschnitts bei dem zweiten Werkstück 91 und eine Detektion des zweiten Merkmalsbetrags vorgenommen. Da allerdings die Koordinatenwerte des Einstellpunkts P2, bei denen es sich um den zweiten Merkmalsbetrag handelt, konstant sind, kann die Speichereinheit 42 den zweiten Merkmalsbetrag, der aus dem Bild, das beim ersten Mal durch die Kamera 25 aufgenommen wurde, erlangt wurde, speichern. In Schritt 115 bis Schritt 117 kann die Merkmalsbetragsdetektionseinheit 32 den zweiten Merkmalsbetrag für Bilder, die durch die Kamera 25 beim zweiten Mal und später aufgenommen wurden, aus dem Speicher 42 erlangen. Es genügt, wenn die Merkmalsbetragsdetektionseinheit 32 eine erste Detektion des Merkmalsabschnitts und eine erste Detektion des Merkmalsbetrags vornimmt. Durch Ausführen einer solchen Steuerung kann die Steuerung zur Berechnung des Relativpositionsbetrags aus den Bildern, die durch die Kamera 25 beim zweiten Mal und später aufgenommen wurden, vereinfacht werden. Dadurch wird die Zeit für die Verarbeitung der Bilder, die durch die Kamera 25 beim zweiten Mal und später aufgenommen wurden, kurz.
  • Übrigens sind bei der vorliegenden Ausführungsform die Bewegungsrichtung und die Bewegungsgeschwindigkeit des ersten Werkstücks 81 durch die Fördereinrichtung 75 im Voraus festgelegt. Die Robotersteuervorrichtung 4 kann eine Vorwärtsregelung, die die Position des Roboters 1 in Abstimmung mit der Bewegung des Werkstücks 81 durch die Fördereinrichtung 75 verändert, ausführen. Bei der vorliegenden Ausführungsform bewegt sich das Werkstück 81 mit einer konstanten Geschwindigkeit.
  • Die Befehlserzeugungseinheit 34 berechnet die Bewegungsrichtung und die Bewegungsgeschwindigkeit des Roboters 1, mit der die Position des Roboters 1 der Position des durch die Fördereinrichtung 75 bewegten ersten Werkstücks 81 folgt. Zum Beispiel berechnet die Befehlserzeugungseinheit 34 die Bewegungsrichtung so, dass sich der Spitzenendpunkt des Werkzeugs des Roboters 1 in die Bewegungsrichtung des Werkstücks 81 bewegt. Die Befehlserzeugungseinheit 34 kann das Bewegungsausmaß, für das sich der Spitzenendpunkt des Werkzeugs des Roboters 1 mit der gleichen Bewegungsgeschwindigkeit wie das Werkstück 81 in die gleiche Richtung wie die Bewegungsrichtung des Werkstücks 81 bewegt, berechnen. Dann kann die Befehlserzeugungseinheit 34 die Steuerung der Bewegungsrichtung und des Bewegungsausmaßes, die auf Basis des oben beschriebenen Unterschieds der Relativpositionsbeträge berechnet wurden, zusätzlich zu der Steuerung der Bewegungsrichtung und des Bewegungsausmaßes der Position des Roboters 1 auf Basis des Transports durch die Fördereinrichtung 75 vornehmen.
  • Durch die Vornahme einer solchen Steuerung kann die Veränderung der Position und der Lage des Roboters 1 im Zusammenhang mit der Bewegung des ersten Werkstücks 81 durch die Fördereinrichtung 75 durch eine Vorwärtsregelung vorgenommen werden. Da bei der Steuerung auf Basis des Unterschieds der Relativpositionsbeträge eine Abweichung der relativen Position des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 korrigiert werden kann, kann die Positionierung des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 innerhalb einer kurzen Zeit vorgenommen werden.
  • 9 zeigt eine vergrößerte Schrägansicht einer Hand, eines ersten Werkstücks und eines zweiten Werkstücks bei einer zweiten Robotervorrichtung der vorliegenden Ausführungsform. Bei der ersten Robotervorrichtung 5 wird die Position des Roboters 1 durch eine einzelne Kamera 25 reguliert, doch besteht keine Beschränkung auf eine solche Ausführung. Die Robotervorrichtung kann die Position des Roboters 1 unter Verwendung von zwei oder mehr Kameras korrigieren.
  • Bei der zweiten Robotervorrichtung 8 ist an der Hand 2 ein Halteelement 18 fixiert. Das Halteelement 18 weist einen an der Oberseite verlaufenden Abschnitt 18a und einen an der Unterseite verlaufenden Abschnitt 18b auf. An dem an der Oberseite verlaufenden Abschnitt 18a ist wie bei der ersten Robotervorrichtung 5 eine Kamera 25 als erster Sichtsensor fixiert. Die Kamera 25 nimmt ein Bild in einem Sichtbereich 25a auf. An dem an der Unterseite verlaufenden Abschnitt 18b ist eine Kamera 26 als zweiter Sichtsensor fixiert. Die Kamera 26 nimmt das erste Werkstück 81 und das zweite Werkstück 91 auf. Insbesondere nimmt die zweite Kamera 26 ein Bild auf, wenn sich das zweite Werkstück 91 dem ersten Werkstück 81 genähert hat. Die Kamera 26 ist an einer Position angeordnet, an der sie den Vorsprung 83 des ersten Werkstücks 81 und den Vorsprung 93 des zweiten Werkstücks 91 aufnehmen kann. Der an der Unterseite verlaufende Abschnitt 18b trägt die Kamera 26 so, dass diese die Vorsprünge 83, 93 von unterhalb der Werkstücke 81, 91 her aufnehmen kann. Die Kamera 26 nimmt ein Bild in einem Sichtbereich 26a auf. Die Kamera 26 der vorliegenden Ausführungsform ist eine 2D-Kamera.
  • Die beiden Kameras 25, 26 sind so angeordnet, dass sich ihre optischen Achsen in voneinander verschiedene Richtungen erstrecken. Bei der vorliegenden Ausführungsform ist die Kamera 26 so angeordnet, dass sich die optische Achse der Kamera 26 in eine Richtung erstreckt, die zu jener der optischen Achse der Kamera 25 im Wesentlichen orthogonal verläuft. Bei der zweiten Robotervorrichtung 8 wird auf Basis der Bilder, die durch die beiden Kameras 25, 26 aufgenommen wurden, eine zweite Steuerung ausgeführt. Bei der zweiten Steuerung wird die Position des Werkstücks 91 in Bezug auf das Werkstück 81 unter Verwendung der Bilder, die durch die Kameras 25, 26 aufgenommen wurden, reguliert.
  • Bei der zweiten Steuerung wird durch die erste Steuerung auf Basis des Bilds der Kamera 25 ein Bewegungsbefehl erzeugt. Außerdem wird durch das gleiche Verfahren wie bei der ersten Steuerung auf Basis des Bilds der Kamera 26 ein Bewegungsbefehl erzeugt. Bei der vorliegenden Ausführungsform wurden im Voraus ein dritter Merkmalsabschnitt zur Detektion der Position des ersten Werkstücks 81 und ein vierter Merkmalsabschnitt zur Detektion der Position des zweiten Werkstücks 91 in dem durch die Kamera 26 aufgenommenen Bild festgelegt.
  • Der dritte Merkmalsabschnitt ist ein Bereich, der sich von dem ersten Merkmalsabschnitt unterscheidet. Als dritter Merkmalsabschnitt kann zum Beispiel die Seitenfläche des Vorsprungs 83 des ersten Werkstücks 81 festgelegt werden. In dem dritten Merkmalsabschnitt kann ein dritter Einstellpunkt P3 zur Bestimmung der Position des ersten Werkstücks 81 festgelegt werden. Der vierte Merkmalsabschnitt ist ein Bereich, der sich von dem zweiten Merkmalsabschnitt unterscheidet. Als vierter Merkmalsabschnitt kann zum Beispiel die Seitenfläche des Vorsprungs 93 des zweiten Werkstücks festgelegt werden. In dem vierten Merkmalsabschnitt kann ein vierter Einstellpunkt P4 zur Bestimmung der Position des zweiten Werkstücks 91 festgelegt werden.
  • Die Merkmalsbetragsdetektionseinheit 32 detektiert in dem durch die Kamera 26 aufgenommenen Bild einen dritten Merkmalsbetrag bezüglich des dritten Merkmalsabschnitts und einen vierten Merkmalsbetrag bezüglich des vierten Merkmalsabschnitts. In dem Bild, das durch die Kamera 26 aufgenommen wurde, stellen die Koordinatenwerte des Einstellpunkts P3 in dem Bildschirmkoordinatensystem 52 den dritten Merkmalsbetrag dar. Außerdem stellen die Koordinatenwerte des Einstellpunkts P4 in dem Bildschirmkoordinatensystem 52 den vierten Merkmalsbetrag dar. Die Recheneinheit 33 berechnet den Unterschied des dritten Merkmalsbetrags und des vierten Merkmalsbetrags als Relativpositionsbetrag.
  • Außerdem wird vorab ein Referenzbild im Hinblick auf das Bild der Kamera 26, wenn das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 an der Zielposition angeordnet ist, erzeugt. Zudem wird ein Relativpositionsbetrag, bei dem es sich um den Unterschied des dritten Merkmalsbetrags und des vierten Merkmalsbetrags in dem Referenzbild handelt, bestimmt. Der Relativpositionsbetrag in dem Referenzbild kann im Voraus berechnet werden.
  • Die Befehlserzeugungseinheit 34 berechnet auf Basis des Relativpositionsbetrags in dem Bild, das durch die Kamera 26 aufgenommen wurde, und des Relativpositionsbetrags in dem Referenzbild, das ein Bild des dritten Merkmalsabschnitts und des vierten Merkmalsabschnitts umfasst, den Unterschied der Relativpositionsbeträge. Dann erzeugt die Befehlserzeugungseinheit 34 auf Basis des Unterschieds der Relativpositionsbeträge einen Bewegungsbefehl, um den Roboter 1 so zu bewegen, dass das zweite Werkstück 91 in Bezug auf das erste Werkstück 81 an der Zielposition angeordnet wird. Die Befehlserzeugungseinheit 34 erzeugt den Bewegungsbefehl zum Bewegen des Roboters 1 so, dass sich der Relativpositionsbetrag in dem Bild, das durch die Kamera 26 aufgenommen wurde, dem Relativpositionsbetrag in dem Referenzbild nähert.
  • Die Befehlserzeugungseinheit 34 kann den endgültigen Bewegungsbefehl, der an die Betriebssteuereinheit 43 ausgegeben wird, auf Basis des Bewegungsbefehls, der aus dem Bild der Kamera 25 erzeugt wurde, und des Bewegungsbefehls, der aus dem Bild der Kamera 26 erzeugt wurde, erzeugen. Zum Beispiel kann die Befehlserzeugungseinheit 34 den Roboter 1 nach dem Antreiben des Roboters 1 unter Verwendung eines aus dem Bewegungsbefehl auf Basis des Bilds der Kamera 25 und dem Bewegungsbefehl auf Basis des Bilds der Kamera 26 durch den anderen dieser Bewegungsbefehle antreiben.
  • Oder der Bewegungsbefehl auf Basis des Bilds der Kamera 25 und der Bewegungsbefehl auf Basis des Bilds der Kamera 26 können auch zusammengesetzt werden. Zum Beispiel kann dann, wenn die Bewegungsrichtung der Position des Roboters 1, die der u-Achse des Bilds der Kamera 25 entspricht, und die Bewegungsrichtung der Position des Roboters 1, die der u-Achse des Bilds der Kamers 26 entspricht, übereinstimmen, ein Durchschnittswert der Bewegungsausmaße des Roboters 1 berechnet werden. Eine solche Steuerung zur Regulierung der Position des Roboters 1 kann wiederholt ausgeführt werden, bis der Unterschied der Relativpositionsbeträge auf Basis des Bilds der Kamera 25 in den Bestimmungsbereich fällt und der Unterschied der Relativpositionsbeträge auf Basis des Bilds der Kamera 26 in den Bestimmungsbereich fällt.
  • Bei der zweiten Robotervorrichtung 8 wird die Steuerung der Position vorgenommen, während die jeweiligen Kameras 25, 26 unterschiedliche Merkmalsabschnitte aufnehmen. Daher kann die Regulierung der Position des Werkstücks 91 präziser als bei einer Steuerung, bei der die Regulierung der Position unter Verwendung einer Kamera erfolgt, vorgenommen werden. Außerdem kann die Regulierung der Position des Werkstücks auf Basis der Bilder von mehreren Kameras erfolgen, ohne eine Stereomessung oder dergleichen vorzunehmen. Zudem kann die Regulierung der Position des Werkstücks ohne eine Verwendung von 3D-Kameras durch Verwenden von mehreren 2D-Kameras vorgenommen werden.
  • Die Position des Einstellpunkts P2 in dem Bild, das durch die erste Kamera 25 aufgenommen wurde, und die Position des Einstellpunkts P4 in dem Bild, das durch die zweite Kamera 26 aufgenommen wurde, verändern sich nicht. Daher können wie bei der ersten Steuerung der zweite Merkmalsbetrag und der vierte Merkmalsbetrag, die zu Beginn detektiert wurden, in der Speichereinheit 42 gespeichert werden. Dann können der zweite Merkmalsbetrag und der vierte Merkmalsbetrag, die in der Speichereinheit 42 gespeichert wurden, bei einer beim zweiten Mal und später erfolgenden Steuerung erlangt werden und die Relativpositionsbeträge in den jeweiligen Bildern berechnet werden.
  • Bei der zweiten Robotervorrichtung 8 sind mehrere Kameras 25, 26 eingerichtet. Durch die Steuervorrichtung einer solchen Robotervorrichtung 8 kann neben der Vornahme einer Regulierung der Position des Werkstücks 91 die Lage des Werkstücks 91 korrigiert werden. Im Folgenden wird die Korrektur der Lage des Werkstücks 91 erklärt.
  • 10 zeigt eine andere vergrößerte Schrägansicht der Hand, des ersten Werkstücks und des zweiten Werkstücks bei der zweiten Robotervorrichtung der vorliegenden Ausführungsform. Bei der ersten Steuerung und der zweiten Steuerung wurde die relative Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 vor der Ausführung der Steuerung zur Regulierung der Position des zweiten Werkstücks 91 reguliert. Es kann jedoch vorkommen, dass die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 verschoben ist.
  • Wenn das Werkstück 91 die Ziellage erreicht hat, verläuft die Richtung, in der der Stift 92a und der Stift 93a angeordnet sind, zu der Richtung, in der die Öffnung 82a und die Öffnung 83a angeordnet sind, parallel. Bei dem Beispiel, das in 10 gezeigt ist, ist die Lage des Werkstücks 91 wie durch den Pfeil 106 gezeigt geringfügig von der Ziellage verdreht. Das Werkstück 91 ist um die X-Achse des Basiskoordinatensystems 51 geringfügig in die Richtung von der Y-Achse zu der Z-Achse hin verdreht. Das Werkstück 91 ist um die Drehachse des Flanschs 16 geringfügig von der Ziellage verdreht. Als Folge ist die Position des Vorsprungs 92 des Werkstücks 91 in Bezug auf den Vorsprung 82 des Werkstücks 81 wie durch den Pfeil 107 gezeigt in Richtung der negativen Seite der Y-Achse verschoben. Außerdem ist die Position des Vorsprungs 93 des Werkstücks 91 in Bezug auf den Vorsprung 83 des Werkstücks 81 wie durch den Pfeil 108 gezeigt in Richtung der positiven Seite der Y-Achse verschoben.
  • Die mehreren Kameras 25, 26 bei der vorliegenden Ausführungsform sind so ausgeführt, dass sie voneinander beabstandet angeordnete Bereiche des zweiten Werkstücks 91 aufnehmen. Die erste Kamera 25 ist so angeordnet, dass sie den Vorsprung 92 als Bereich, der an einer Seite in einer im Voraus festgelegten Richtung des zweiten Werkstücks 91 angeordnet wurde, aufnimmt. Die zweite Kamera 26 ist so angeordnet, dass sie den Vorsprung 93 als Bereich der an der anderen Seite in der im Voraus festgelegten Richtung des zweiten Werkstücks 91 angeordnet wurde, aufnimmt. Die hier genannte im Voraus festgelegte Richtung entspricht der Richtung, in der der Stift 92a und der Stift 93a nebeneinander liegen.
  • 11 zeigt das Bild, das durch die erste Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben war. Unter Bezugnahme auf 10, 11 und 5, die das Referenzbild darstellt, unterscheidet sich die relative Position des Werkstücks 91 in Bezug auf das Werkstück 81 in dem Bild 66 von der relativen Position des Werkstücks 91 in Bezug auf das Werkstück 81 in dem Referenzbild 61. Der Vorsprung 92 des Werkstücks 91 ist in Bezug auf den Vorsprung 82 des Werkstücks 81 in die durch den Pfeil 107 gezeigte Richtung verschoben. Die Verlaufsrichtung des an dem Vorsprung 92 fixierten Stifts 92a und die Verlaufsrichtung der in dem Vorsprung 82 gebildeten Öffnung 82a erstrecken sich nicht parallel, sondern sind in unterschiedliche Richtungen gerichtet.
  • 12 zeigt ein Bild, das durch die zweite Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück die Ziellage war. In dem Bild 67 erstrecken sich die Verlaufsrichtung des an dem Vorsprung 93 fixierten Stifts 93a und die Verlaufsrichtung der in dem Vorsprung 83 gebildeten Öffnung 83a parallel. Daher kann der Stift 93a durch Positionieren des Werkstücks 91 in Bezug auf das Werkstück 81 in das Innere der Öffnung 83a eingesetzt werden.
  • 13 zeigt ein Bild, das durch die zweite Kamera aufgenommen wurde, als die Lage des zweiten Werkstücks in Bezug auf das erste Werkstück verschoben war. In dem Bild 68 ist das Werkstück 91 in Bezug auf das Werkstück 81 wie durch den Pfeil 108 gezeigt geringfügig verdreht. Unter Bezugnahme auf 10, 12 und 13 ist die relative Position des Vorsprungs 93 in Bezug auf den Vorsprung 83 in Bild 68 wie durch den Pfeil 108 gezeigt verschoben. Die Verlaufsrichtung des Stifts 93a und die Verlaufsrichtung der Öffnung 83a erstrecken sich nicht parallel. Daher kann der Stift 93a auch dann nicht in das Innere der Öffnung 83 eingesetzt werden, wenn das Spitzenende des Stifts 93a direkt über dem oberen Ende der Öffnung 83a angeordnet ist. Bei einer dritten Steuerung der vorliegenden Ausführungsform wird eine Steuerung vorgenommen, um die relative Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 zu korrigieren.
  • 14 zeigt ein Ablaufdiagramm der dritten Steuerung bei der zweiten Robotervorrichtung der vorliegenden Ausführungsform. Bei der dritten Steuerung wird zusätzlich zu der zweiten Steuerung eine Steuerung zur Korrektur der Lage des Werkstücks 91 vorgenommen.
  • Schritt 131 bis Schritt 138 entsprechen der oben beschriebenen zweiten Steuerung. In Schritt 131 nehmen die erste Kamera 25 und die zweite Kamera 26 Bilder auf. In Schritt 132 detektiert die Merkmalsbetragsdetektionseinheit 32 den ersten Merkmalsabschnitt und den zweiten Merkmalsabschnitt in dem Bild, das durch die Kamera 25 aufgenommen wurde. In Schritt 133 detektiert die Merkmalsbetragsdetektionseinheit 32 den dritten Merkmalsabschnitt und den vierten Merkmalsabschnitt in dem Bild, das durch die Kamera 26 aufgenommen wurde.
  • In Schritt 134 detektiert die Merkmalsbetragsdetektionseinheit 32 den ersten Merkmalsbetrag bezüglich der Position des ersten Merkmalsabschnitts, den zweiten Merkmalsbetrag bezüglich der Position des zweiten Merkmalsabschnitts, den dritten Merkmalsbetrag bezüglich der Position des dritten Merkmalsabschnitts und den vierten Merkmalsbetrag bezüglich der Position des vierten Merkmalsabschnitts. Unter Bezugnahme auf 11 detektiert die Merkmalsbetragsdetektionseinheit 32 in dem durch die erste Kamera 25 aufgenommenen Bild 66 die Koordinatenwerte des Einstellpunkts P1 in dem Bildschirmkoordinatensystem 52 als ersten Merkmalsbetrag. Außerdem detektiert die Merkmalsbetragsdetektionseinheit 32 die Koordinatenwerte des Einstellpunkts P2 in dem Bildschirmkoordinatensystem 52 als zweiten Merkmalsbetrag. Unter Bezugnahme auf 13 detektiert die Merkmalsbetragsdetektionseinheit 32 in dem Bild 68 die Koordinatenwerte des Einstellpunkts P3 in dem Bildschirmkoordinatensystem 52 als dritten Merkmalsbetrag. Außerdem detektiert die Merkmalsbetragsdetektionseinheit 32 die Koordinatenwerte des Einstellpunkts P4 in dem Bildschirmkoordinatensystem 52 als vierten Merkmalsbetrag.
  • Unter Bezugnahme auf 14 berechnet die Recheneinheit 33 der Bildverarbeitungseinheit 31 in Schritt 135 auf Basis des ersten Merkmalsbetrags und des zweiten Merkmalsbetrags einen Relativpositionsbetrag. In Schritt 136 berechnet die Recheneinheit 33 auf Basis des dritten Merkmalsbetrags und des vierten Merkmalsbetrags einen Relativpositionsbetrag. Die Recheneinheit 33 berechnet die Relativpositionsbeträge in den Bildern 66, 68, die durch die jeweiligen Kameras 25, 26 aufgenommen wurden.
  • Dann berechnet die Befehlserzeugungseinheit 34 der Bildverarbeitungseinheit 31 in Schritt 137 für die Bilder 66, 67, die durch die jeweiligen Kameras 25, 26 aufgenommen wurden, den Unterschied der Relativpositionsbeträge, bei dem es sich um den Unterschied des Relativpositionsbetrags in dem Bild 66, 68 und des Relativpositionsbetrags in dem Referenzbild handelt. In Schritt 138 erzeugt die Befehlserzeugungseinheit 34 für die jeweiligen Bilder 66, 68 einen Bewegungsbefehl für den Roboter 1 auf Basis des Unterschieds der Relativpositionsbeträge. Der Unterschied der Relativpositionsbeträge wird als Wert im Hinblick auf die u-Achse und die v-Achse in dem Bildschirmkoordinatensystem 52 berechnet. Die Befehlserzeugungseinheit 34 erzeugt die Bewegungsbefehle für den Roboter 1 auf Basis der Unterschiede der Relativpositionsbeträge.
  • Die Befehlserzeugungseinheit 34 berechnet auf Basis des Bilds 66, das durch die Kamera 25 aufgenommen wurde, eine Bewegungsrichtung und ein Bewegungsausmaß des Roboters 1 in dem Basiskoordinatensystem 51. Außerdem berechnet die Befehlserzeugungseinheit 34 auf Basis des Bilds 68, das durch die Kamera 26 aufgenommen wurde, eine Bewegungsrichtung und ein Bewegungsausmaß des Roboters 1 in dem Basiskoordinatensystem 51. Das heißt, die Befehlserzeugungseinheit 34 berechnet für jede der Koordinatenachsen des Basiskoordinatensystems 51 das Bewegungsausmaß entlang der Richtung der Koordinatenachse des Basiskoordinatensystems 51.
  • Dann bestimmt die Befehlserzeugungseinheit 34 in Schritt 139 auf Basis des Bewegungsbefehls, der aus dem Bild der ersten Kamera 25 erzeugt wurde, und des Bewegungsbefehls, der aus dem Bild der zweiten Kamera 26 erzeugt wurde, ob die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 innerhalb eines im Voraus festgelegten Bestimmungsbereichs liegt oder nicht.
  • Bei der vorliegenden Ausführungsform erlangt die Befehlserzeugungseinheit 34 die Bewegungsrichtung der Position des Roboters 1 an einer im Voraus festgelegten Koordinatenachse des Basiskoordinatensystems 51. Unter Bezugnahme auf 10 wurde bei diesem Beispiel im Voraus die Y-Achse unter den Koordinatenachsen des Basiskoordinatensystems 51 festgelegt. Die Befehlserzeugungseinheit 34 erlangt den Bewegungsbefehl für die Y-Achse in dem Bewegungsbefehl, der aus dem Bild 66 der ersten Kamera 25 erzeugt wurde, und den Bewegungsbefehl für die Y-Achse in dem Bewegungsbefehl, der aus dem Bild 68 der zweiten Kamera 26 erzeugt wurde.
  • Wenn die Bewegungsrichtungen für die Y-Achse, die aus den durch die beiden Kameras 25, 26 aufgenommenen Bildern 66, 68 erlangt wurden, die gleiche Richtung angeben, bestimmt die Befehlserzeugungseinheit 34, dass die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 innerhalb des im Voraus festgelegten Bestimmungsbereichs liegt. Wenn die Bewegungsrichtungen für die Y-Achse allerdings unterschiedliche Richtungen sind, bestimmt die Betriebsbefehlseinheit 34, dass die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 von dem Bestimmungsbereich abweicht.
  • Bei dem Beispiel, das in 10 bis 13 gezeigt ist, wird bei dem Bewegungsbefehl auf Basis des Bilds, das durch die erste Kamera 25 aufgenommen wurde, ein Befehl, wodurch sich der Roboter 1 in die zu dem Pfeil 107 entgegengesetzte Richtung bewegt, erzeugt. Und bei dem Bewegungsbefehl auf Basis des Bilds, das durch die zweite Kamera 26 aufgenommen wurde, wird ein Befehl, wodurch sich der Roboter 1 in die zu dem Pfeil 108 entgegengesetzte Richtung bewegt, erzeugt. Daher bestimmt die Befehlserzeugungseinheit 34 in Schritt 139, dass sich die Bewegungsrichtungen für die Y-Achse auf Basis der durch die beiden Kameras aufgenommenen Bilder unterscheiden. In diesem Fall geht die Steuerung zu Schritt 140 über.
  • Bei der vorliegenden Ausführungsform wird bestimmt, dass man sich innerhalb des Bestimmungsbereichs befindet, wenn die Richtungen, in die sich die Position des Roboters 1 bewegen soll, für die im Voraus festgelegte Koordinatenachse des Basiskoordinatensystems die gleiche Richtung angeben, doch besteht keine Beschränkung auf eine solche Ausführung. Es kann auch bestimmt werden, dass man sich innerhalb des Bestimmungsbereichs befindet, wenn sich zwar die Bewegungsrichtungen für die im Voraus festgelegte Koordinatenachse voneinander unterscheiden, aber das Bewegungsausmaß minimal ist.
  • In Schritt 140 legt die Befehlserzeugungseinheit 34 das Korrekturverfahren für die Lage des Roboters 1 fest. Die Befehlserzeugungseinheit 34 erzeugt einen Bewegungsbefehl, um das Werkstück 91 in die zu der Neigungsrichtung des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 entgegengesetzte Richtung zu drehen. Unter Bezugnahme auf 10 wird bei der vorliegenden Ausführungsform eine Steuerung ausgeführt, um das Werkstück 91 um die X-Achse des Basiskoordinatensystems 51 in eine Richtung von der Z-Achse zu der Y-Achse zu drehen. Ein Lagenkorrekturwinkel θ, der das Drehausmaß des Werkstücks 91 darstellt, kann im Voraus festgelegt werden.
  • In Schritt 141 gibt die Befehlserzeugungseinheit 34 den auf dem Verfahren zur Korrektur der Lage des Roboters 1 beruhenden Bewegungsbefehl an die Betriebssteuereinheit 43 aus. Die Betriebssteuereinheit 43 korrigiert die Lage des Roboters 1 auf Basis des von der Befehlserzeugungseinheit 34 erhaltenen Bewegungsbefehls.
  • Dann korrigiert die Bildverarbeitungseinheit 31 in Schritt 142 die Bewegungsrichtung der Position des Roboters 1 in dem Basiskoordinatensystem 51 in Bezug auf die Koordinatenachsen des Bildschirmkoordinatensystems 52. Der Unterschied der Relativpositionsbeträge wird durch die Werte im Hinblick auf die y-Achse und die v-Achse des Bildschirmkoordinatensystems 552 berechnet. Die Bewegungsrichtung der Position des Roboters 1 in dem Basiskoordinatensystem 51 im Hinblick auf die u-Achse und die v-Achse des Bildschirmkoordinatensystems 52 ist im Voraus festgelegt. Wenn die Lage des Roboters 1 korrigiert wird, verändert sich auch die Bewegungsrichtung in dem Basiskoordinatensystem im Hinblick auf die u-Achse und die v-Achse der Bilder, die durch die jeweiligen Kameras 25, 26 aufgenommen werden. Das heißt, es verändert sich die durch den Koordinatenwert der X-Achse, der Y-Achse und der Z-Achse des Basiskoordinatensystems ausgedrückte Bewegungsrichtung der Position des Roboters 1.
  • Die Bildverarbeitungseinheit 31 korrigiert auf Basis des Korrekturausmaßes der Lage des Roboters 1 die den Koordinatenachsen des Bildschirmkoordinatensystems 52 entsprechende Bewegungsrichtung der Position des Roboters 1. Zum Beispiel kann die Bewegungsrichtung der Position des Roboters 1 durch Anwenden einer auf Basis der Korrektur der Lage des Roboters 1 berechneten Transformationsmatrix auf die Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse, die die Bewegungsrichtung der Position des Roboters 1 zeigen, korrigiert werden.
  • Nach Schritt 142 kehrt die Steuerung zu Schritt 131 zurück, Dann wird die Steuerung von Schritt 131 bis Schritt 139 wiederholt. Wenn sich in Schritt 139 die Bewegungsrichtungen für die im Voraus festgelegte Koordinatenachse des Basiskoordinatensystems 51 voneinander unterscheiden, wird die Steuerung der Schritte 140, 141 und 142 ausgeführt.
  • In Schritt 140 wird das Verfahren für die Korrektur der Lage des Roboters 1 festgelegt. Es kann sein, dass sich die Richtung, in der die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 abweicht, durch die Korrektur der Lage des Roboters 1 um das vorherige Lagenkorrekturausmaß θ umgekehrt hat. In diesem Fall wird die Lage des Roboters 1 in die zu der vorherigen Korrektur entgegengesetzte Richtung korrigiert. Zudem wird ein kleineres Korrekturausmaß als das vorherige Korrekturausmaß benutzt. Zum Beispiel wird eine Steuerung ausgeführt, bei der die Lage um ein Korrekturausmaß, das die Hälfte des vorherigen Korrekturausmaßes (-9/2) beträgt, korrigiert wird. Andererseits ist es möglich, dass die Richtung, in der die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 abweicht, trotz der Korrektur der Lage des Roboters 1 um das vorherige Korrekturausmaß θ die gleiche Richtung wie bei der vorherigen Korrektur ist. In diesem Fall wird die Lage in die gleiche Richtung und um das gleiche Korrekturausmaß θ wie vorher korrigiert. Danach kann die Steuerung von Schritt 131 bis Schritt 139 wiederholt werden.
  • Wenn sich die Richtung, in der die Lage abweicht, durch die Korrektur der Lage mittels der vorhergehenden Steuerung umgekehrt hat, kann eine Steuerung ausgeführt werden, bei der die Lage des Roboters in die entgegengesetzte Richtung korrigiert wird und das Korrekturausmaß verringert wird. Durch diese Steuerung kann die Abweichung der Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 allmählich korrigiert werden. Die Lage des Roboters 1 kann korrigiert werden, bis die Abweichungsrichtung des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 in den Bildern die durch die erste Kamera 25 und die zweite Kamera 26 aufgenommen wurden, die gleiche Richtung wird.
  • Wenn die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 in Schritt 139 von dem Bestimmungsbereich abweicht, kann eine beliebige Steuerung vorgenommen werden. Zum Beispiel kann die Robotervorrichtung angehalten werden. Außerdem kann die Befehlserzeugungseinheit 34 in Schritt 140 das Verfahren zur Korrektur der Lage des Roboters 1 durch ein beliebiges Verfahren festlegen. Zum Beispiel kann auf Basis der Bewegungsausmaße in der Y-Achsen-Richtung, die aus den durch die beiden Kameras 25, 26 aufgenommenen Bildern berechnet wurden, ein Lagenkorrekturausmaß für das Werkstück 81 berechnet werden.
  • Wenn in Schritt 139 die Bewegungsrichtung auf Basis des Bilds, das durch die erste Kamera 25 aufgenommen wurden, und die Bewegungsrichtung auf Basis des Bilds, das durch die zweite Kamera 26 aufgenommen wurde, gleich sind, geht die Steuerung zu Schritt 143 über. In Schritt 143 bis Schritt 145 wird wie bei der zweiten Steuerung eine Bestimmung und eine Korrektur der Position des Roboters 1 ausgeführt. In Schritt 143 wird bestimmt, ob der Unterschied der Relativpositionsbeträge auf Basis des durch die erste Kamera 25 aufgenommenen Bilds und der Unterschied der Relativpositionsbeträge auf Basis des durch die zweite Kamera 26 aufgenommenen Bilds innerhalb des im Voraus festgelegten Bestimmungsbereichs liegen oder nicht. Wenn in Schritt 143 wenigstens einer der Unterschiede der Relativpositionsbeträge von dem Bestimmungsbereich abweicht, geht die Steuerung zu Schritt 144 über.
  • In Schritt 144 erzeugt die Befehlserzeugungseinheit 34 auf Basis der Bewegungsbefehle, die auf den jeweiligen Bildern beruhen, einen endgültigen Bewegungsbefehl für den Roboter. Dann verändert die Betriebssteuereinheit 43 in Schritt 145 die Position des Roboters 1 durch Antreiben des Roboters 1 auf Basis des endgültigen Bewegungsbefehls für den Roboter. Danach geht die Steuerung zu Schritt 131 über.
  • Wenn in Schritt 143 die Unterschiede der Relativpositionsbeträge bei beiden Bildern innerhalb des Bestimmungsbereichs liegen, kann bestimmt werden, dass die Position und die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 die Zielposition und die Ziellage sind. Dann kann diese Steuerung beendet werden.
  • Da der Aufbau, die Wirkung und die Resultate der zweiten Robotervorrichtung 8 mit Ausnahme des oben Beschriebenen jenen der ersten Robotervorrichtung 5 gleich sind, wird die Erklärung hier nicht wiederholt.
  • 15 zeigt eine vergrößerte Schrägansicht einer Hand, eines ersten Werkstücks und eines zweiten Werkstücks bei einer dritten Robotervorrichtung der vorliegenden Ausführungsform. Bei der dritten Robotervorrichtung 9 ist ein Halteelement 19 an der Hand fixiert. Das Halteelement 19 weist einen an der Oberseite verlaufenden Abschnitt 19a und einen an der Unterseite verlaufenden Abschnitt 19b auf. An dem an der Oberseite verlaufenden Abschnitt 19a ist wie bei der zweiten Robotervorrichtung 8 eine Kamera 25 als erster Sichtsensor fixiert. An dem an der Unterseite verlaufenden Abschnitt 19b ist eine Kamera 26 als zweiter Sichtsensor fixiert.
  • Die Ausrichtung der Kamera 26 der dritten Robotervorrichtung 9 unterscheidet sich von der Ausrichtung der Kamera 26 bei der zweiten Robotervorrichtung 8. Der an der Unterseite verlaufende Abschnitt 19a des Halteelements 19 hält die Kamera 26 so, dass der Sichtbereich 26a der Kamera 26 mit dem Sichtbereich 25a der Kamera 25 zusammenfällt. Die Kamera 26 der dritten Robotervorrichtung 9 ist so angeordnet, dass sie den gleichen Bereich wie den von der Kamera 25 aufgenommenen Bereich aufnimmt. Die Kamera 26 ist so angeordnet, dass sie den Vorsprung 82 des ersten Werkstücks 81 und den Vorsprung 92 des zweiten Werkstücks 91 aufnehmen kann.
  • Bei der dritten Robotervorrichtung 9 wird zur Positionierung des Werkstücks 91 in Bezug auf das Werkstücks 81 eine vierte Steuerung ausgeführt. Bei der vierten Steuerung wird wie bei der zweiten Steuerung der zweiten Robotervorrichtung 8 ein dritter Merkmalsabschnitt und ein vierter Merkmalsabschnitt festgelegt und eine Regulierung der Position des Roboters auf Basis der Bilder der mehreren Kameras 25, 26 vorgenommen. Bei der vorliegenden Ausführungsform ist die Seitenfläche des Vorsprungs 82 als dritter Merkmalsabschnitt festgelegt. Außerdem ist die Seitenfläche des Vorsprungs 92 als vierter Merkmalsabschnitt festgelegt. Bei der dritten Robotervorrichtung 9 kann der dritte Merkmalsabschnitt dem ersten Merkmalsabschnitt gleich sein oder sich davon unterscheiden. Außerdem kann der vierte Merkmalsabschnitt dem zweiten Merkmalsabschnitt gleich sein oder sich davon unterscheiden.
  • Da die weiteren Aufbauten, die Wirkung und die Resultate der dritten Robotervorrichtung 9 jenen bei der zweiten Robotervorrichtung 8 gleich sind, wird die Erklärung hier nicht wiederholt.
  • Bei der Steuervorrichtung der zweiten Robotervorrichtung 8 und der Steuervorrichtung der dritten Robotervorrichtung 9 sind zwei Kameras bereitgestellt, doch besteht keine Beschränkung auf eine solche Ausführung. Die Steuervorrichtung der Robotervorrichtung kann auch drei oder mehr Kameras umfassen. Die Steuervorrichtung kann durch die jeweiligen Kameras unterschiedliche Merkmalsabschnitte aufnehmen und auf Basis der Bilder, die durch die jeweiligen Kameras aufgenommen wurden, eine Steuerung der Position und der Lage des Werkstücks ausführen.
  • 16 zeigt eine vergrößerte Schrägansicht einer Hand, eines ersten Werkstücks und eines zweiten Werkstücks bei einer vierten Robotervorrichtung der vorliegenden Ausführungsform. Die vierte Robotervorrichtung 10 umfasst zusätzlich zu einer ersten Kamera 25 und einer zweiten Kamera 26 eine dritte Kamera 28. Die vierte Robotervorrichtung 10 weist ein an der Hand 2 gehaltenes Halteelement 20 auf. Das Halteelement 20 weist einen Abschnitt 20a, der an der Oberseite verläuft und die Kamera 25 hält, und einen Abschnitt 20b, der Unterseite verläuft und die Kamera 26 hält, auf. Außerdem weist das Halteelement 25 einen Abschnitt 20c, der seitlich verläuft und die Kamera 28 hält, auf. Die Kamera 28 weist einen Bildaufnahmebereich 28a auf. Die Kamera 28 ist so angeordnet, dass ihre optische Achse in einer Richtung verläuft, die sich von der Richtung der optischen Achse der Kamera 25 und der Richtung der optischen Achse der Kamera 26 unterscheidet.
  • Bei der vierten Robotervorrichtung 10 wird eine fünfte Steuerung zur Anpassung der Position und der Lage des Werkstücks 91 in Bezug auf das Werkstück 81 ausgeführt. Bei der fünften Steuerung ist zur Verarbeitung des Bilds, das durch die Kamera 28 aufgenommen wurde, an dem ersten Werkstück 81 ein fünfter Merkmalsabschnitt festgelegt. Außerdem ist an dem zweiten Werkstück 91 ein sechster Merkmalsabschnitt festgelegt. Beispielsweise ist die Seitenfläche des Vorsprungs 83 des Werkstücks 81 als fünfter Merkmalsabschnitt festgelegt und die Seitenfläche des Vorsprungs 93 des Werkstücks 91 als sechster Merkmalsabschnitt festgelegt.
  • Für das Bild, das durch die Kamera 28 aufgenommen wurde, kann die gleiche Steuerung wie bei der oben beschriebenen ersten Steuerung ausgeführt werden. Die Kamera 28 ist an einer Position angeordnet, an der sie den fünften Merkmalsabschnitt und den sechsten Merkmalsabschnitt aufnehmen kann. An dem fünften Merkmalsabschnitt und dem sechsten Merkmalsabschnitt sind ein fünfter Einstellpunkt und ein sechster Einstellpunkt zur Bestimmung der Position der Merkmalsabschnitte festgelegt. Die Merkmalsbetragsdetektionseinheit 32 kann auf Basis der Positionen der Einstellpunkte in dem Bildschirmkoordinatensystem 52 einen fünften Merkmalsbetrag, der dem fünften Merkmalsabschnitt entspricht, und einen sechsten Merkmalsbetrag, der dem sechsten Merkmalsabschnitt entspricht, detektieren. Ein Referenzbild bezüglich der Kamera 28 wurde im Voraus erstellt. Dann können der fünfte Merkmalsbetrag und der sechste Merkmalsbetrag in dem Referenzbild im Voraus berechnet werden. Außerdem kann der Relativpositionsbetrag in dem Referenzbild im Voraus berechnet werden.
  • Bei der fünften Steuerung kann die gleiche Steuerung wie bei der oben beschriebenen dritten Steuerung ausgeführt werden. Bei der fünften Steuerung werden die Position und die Lage des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 durch drei Kameras reguliert. Bei der Steuerung zur Regulierung der Position des Werkstücks 91 in Bezug auf das Werkstück 81 kann die Abweichung der Position des zweiten Werkstücks 91 in Bezug auf das erste Werkstück 81 auf Basis der Bilder, die durch die drei Kameras 25, 26, 28 erlangt wurden, detektiert werden. Daher kann die Regulierung der Position genauer als im Fall einer Vornahme der Regulierung der Position durch zwei Kameras vorgenommen werden.
  • Bei der Steuerung zur Korrektur der Lage des Werkstücks 91 in Bezug auf das Werkstück 81 kann die Lage des Werkstücks 91, das um die Y-Achse des Basiskoordinatensystems 51 verschoben ist, auf Basis des Bilds, das durch die Kamera 25 aufgenommen wurde, und des Bilds, das durch die Kamera 28 aufgenommen wurde, korrigiert werden. Auf diese Weise ist es durch Erhöhen der Anzahl der Kameras möglich, die Richtungen, in der eine Verschiebung der Lage korrigiert wird, zu vermehren.
  • Da die weiteren Aufbauten, die Wirkung und die Resultate der vierten Robotervorrichtung 10 jenen bei der ersten Robotervorrichtung 5, der zweiten Robotervorrichtung 8 und der dritten Robotervorrichtung 9 gleich sind, wird die Erklärung hier nicht wiederholt.
  • Bei der ersten Robotervorrichtung 5, der zweiten Robotervorrichtung 8, der dritten Robotervorrichtung 9 und der vierten Robotervorrichtung 10, die oben beschrieben wurden, sind die Kameras 25, 26, 28 an der Hand 2 fixiert und bewegen sie sich zusammen mit der Hand 2, doch besteht keine Beschränkung auf eine solche Ausführung. Die Kameras können auch auf der Einrichtungsfläche fixiert sein. Das heißt, die Kameras können so fixiert sein, dass sich die Position und die Lage der Kameras bei einer Veränderung der Position und der Lage des Roboters 1 nicht verändern.
  • 17 zeigt eine schematische Ansicht einer fünften Robotervorrichtung bei der vorliegenden Ausführungsform. Die fünfte Robotervorrichtung 6 führt eine Tätigkeit aus, bei der sie ein Werkstück 97 als zweites Element im Inneren eines Gehäuses 87 als erstes Element anordnet. Das Gehäuse 87 entspricht dem ersten Werkstück, und das Werkstück 97 entspricht dem zweiten Werkstück. Die fünfte Robotervorrichtung 6 weist eine an dem Roboter 1 angebrachte Hand 7 auf. Die Hand 7 ist so ausgeführt, dass sie das Werkstück 97 durch Ansaugen ergreift. Die fünfte Robotervorrichtung 6 umfasst die Fördereinrichtung 75 als Transportmaschine, die das Gehäuse 87 transportiert.
  • Die fünfte Robotervorrichtung 6 weist als Sichtsensor eine Kamera 27 auf, die über einen Ständer 71 auf der Einrichtungsfläche fixiert ist. Die Kamera 27 bewegt sich auch bei einer Veränderung der Position und der Lage des Roboters 1 nicht. Die Kamera 27 ist an einer Position angeordnet, die so ausreichend von der Fördereinrichtung 75 entfernt ist, dass sie das Werkstück 97 und das Gehäuse 87 aufnehmen kann, während der Roboter 1 die Regulierung der Position des Werkstücks 97 vornimmt.
  • 18 zeigt eine Seitenansicht, wenn ein Werkstück durch die fünfte Robotervorrichtung in dem Gehäuse untergebracht wird. Das Gehäuse 87 wird von der Fördereinrichtung 75 wie durch den Pfeil 105 gezeigt transportiert. Das Gehäuse 87 weist mehrere Wandabschnitte 87a auf, die so ausgeführt sind, dass sie der Form des Werkstücks 97 entsprechen. Die fünfte Robotervorrichtung 6 bringt das Werkstück 97 in einem von den Wandabschnitten 87a umgebenen Bereich unter. Bei dem Beispiel, das in 18 gezeigt ist, ist die Position des Werkstücks 97 in Bezug auf den von den Wandabschnitten 87a umgebenen Bereich passend. Daher kann das Werkstück 97 wie durch den Pfeil 104 gezeigt durch Absenken des Werkstücks 97 in dem Gehäuse 87 untergebracht werden.
  • 19 zeigt eine andere Seitenansicht, wenn ein Werkstück durch die fünfte Robotervorrichtung in dem Gehäuse untergebracht wird. Bei dem Beispiel, das in 19 gezeigt ist, ist die Position des Werkstücks 97 in Bezug auf den von den Wandabschnitten 87a umgebenen Bereich verschoben. Die fünfte Robotervorrichtung 6 führt eine sechste Steuerung aus. Bei der sechsten Steuerung wird die Position des Roboters 1 so reguliert, dass das Werkstück 97 direkt über dem von den Wandabschnitten 87a umgebenen Bereich angeordnet wird. Die Lage des Werkstücks 97 in Bezug auf das Gehäuse 87 wurde im Voraus reguliert. Bei der sechsten Steuerung wird die Position des Werkstücks 97 in Bezug auf das Gehäuse 87 durch die gleiche Steuerung wie bei der ersten Steuerung korrigiert. Ein Referenzbild, in dem die Position des Werkstücks 97 in Bezug auf das Gehäuse 87 wie in 18 gezeigt passend ist, wurde im Voraus erzeugt.
  • 20 zeigt ein Bild, das durch die Kamera aufgenommen wurde. In dem Bild von 20 ist die Position des Werkstücks 97 in Bezug auf den von den Wandabschnitten 87a umgebenen Bereich verschoben. Bei der sechsten Steuerung kann die Seitenfläche eines Wandabschnitts 87a als erster Merkmalsabschnitt festgelegt werden. An einer Ecke der Seitenfläche des Wandabschnitts 87a kann ein erster Einstellpunkt P1 festgelegt werden. Die Seitenfläche des Werkstücks 97 kann als zweiter Merkmalsabschnitt festgelegt werden. An einer Ecke der Seitenfläche des Werkstücks 97 kann ein zweiter Einstellpunkt P2 festgelegt werden.
  • Unter Bezugnahme auf 3 und 20 detektiert die Merkmalsbetragsdetektionseinheit 32 einen ersten Merkmalsbetrag bezüglich der Position des ersten Merkmalsabschnitts und einen zweiten Merkmalsbetrag bezüglich der Position des zweiten Merkmalsabschnitts. Die Recheneinheit 33 berechnet auf Basis des ersten Merkmalsbetrags und des zweiten Merkmalsbetrags den Relativpositionsbetrag. Die Befehlserzeugungseinheit 34 erzeugt auf Basis des Relativpositionsbetrags in dem Bild 65, das durch die Kamera 27 aufgenommen wurde, und des Relativpositionsbetrags in dem Referenzbild einen Bewegungsbefehl, um den Roboter 1 zu bewegen.
  • Auch bei einer Robotervorrichtung, bei der die Kamera fixiert ist, kann durch die gleiche Steuerung wie bei der ersten Steuerung eine Steuerung der Position des Roboters vorgenommen werden. Außerdem kann durch Verwenden von mehreren Kameras, die auf der Einrichtungsfläche oder dergleichen fixiert sind, die gleiche Steuerung wie bei der zweiten Steuerung, der dritten Steuerung und der vierten Steuerung vorgenommen werden.
  • Da die weiteren Aufbauten, die Wirkung und die Resultate der fünften Robotervorrichtung 6 jenen bei der ersten Robotervorrichtung 5, der zweiten Robotervorrichtung 8, der dritten Robotervorrichtung 9 und der vierten Robotervorrichtung 10 gleich sind, wird die Erklärung hier nicht wiederholt.
  • Bei den oben beschriebenen Ausführungsform ist der Sichtsensor eine 2D-Kamera, doch besteht keine Beschränkung auf eine solche Ausführung. Der Sichtsensor kann auch eine 3D-Kamera sein, die die dreidimensionale Position der in dem Bild enthaltenen Elemente detektieren kann. Durch Verwenden einer 3D-Kamera als Sichtsensor können die Position des ersten Elements und die Position des zweiten Elements in dem Basiskoordinatensystem auch ohne Vorbereitung eines Basisbilds detektiert werden.
  • Bei der oben beschriebenen Ausführungsform wurden eine Robotervorrichtung, die Produkte zusammensetzt, und eine Robotervorrichtung, die Werkstücke in ein Gehäuse einsetzt, als Beispiele benutzt, doch besteht keine Beschränkung auf diese Ausführungen. Die vorliegende Ausführungsform kann auf Robotervorrichtungen, die beliebige Tätigkeiten ausführen, angewendet werden. Zum Beispiel kann die vorliegende Ausführungsform auf eine Robotervorrichtung, die Werkstücke aus einem Gehäuse entnimmt, eine Robotervorrichtung, die ein Punktschweißen vornimmt, oder eine Robotervorrichtung, die einen Klebstoff aufträgt, oder dergleichen angewendet werden.
  • Bei dem ersten Element und dem zweiten Element der oben beschriebenen Ausführungsform handelt es sich um Werkstücke oder um ein Gehäuse, doch besteht keine Beschränkung auf eine solche Ausführung. Für das erste Element kann ein beliebiges Element, an dem ein Roboter eine Tätigkeit vornimmt, eingesetzt werden. Und für das zweite Element kann ein beliebiges Element, das sich durch Antreiben des Roboters bewegt, eingesetzt werden. Insbesondere kann das zweite Element ein an dem Roboter angebrachtes Arbeitswerkzeug sein. Beispielsweise ist bei einer Robotervorrichtung, die ein Punktschweißen vornimmt, eine Punktschweißzange als Arbeitswerkzeug an dem Roboter angebracht. In diesem Fall ist das zweite Element die Punktschweißzange. An der Punktschweißzange können Abschnitte, die in einem durch eine Kamera aufgenommenen Bild detektiert werden können, als zweiter Merkmalsabschnitt, als vierter Merkmalsabschnitt und als sechster Merkmalsabschnitt festgelegt werden.
  • Bei der oben beschriebenen Ausführungsform sind die Merkmalsabschnitte an der Oberfläche der Werkstücke oder des Gehäuses festgelegt, doch besteht keine Beschränkung auf eine solche Ausführung. Die Merkmalsabschnitte können an Aufbauelementen des Roboters, an Aufbauelementen der Hand oder an Aufbauelementen der Transportmaschine festgelegt werden. Zum Beispiel kann es bei der ersten Steuerung bis vierten Steuerung sein, dass es beim Halten des Werkstücks in Bezug auf die Hand keine Abweichung gibt. Oder es kann sein, dass die Position des Roboters gemäß der Abweichung beim Halten des Werkstücks in Bezug auf die Hand reguliert ist. In diesen Fällen können der zweite Merkmalsabschnitt, der vierte Merkmalsabschnitt und der sechste Merkmalsabschnitt an der Hand festgelegt werden, falls die Hand in dem Aufnahmebereich der Kamera angeordnet wird.
  • Durch die vorliegende Offenbarung kann eine Robotervorrichtung bereitgestellt werden, die die Position eines Roboters durch ein einfaches Verfahren präzise steuert.
  • Bei den einzelnen Steuerungen, die oben beschrieben wurden, kann die Reihenfolge der Schritte beliebig abgeändert werden, solange die Funktionen und Wirkungen nicht verändert werden.
  • Die oben beschriebenen Ausführungsweisen können beliebig kombiniert werden. In den einzelnen oben beschriebenen Figuren sind gleiche oder entsprechende Elemente mit gleichen Bezugszeichen versehen. Die oben beschriebenen Ausführungsweisen sind beispielhaft und beschränken die Erfindung nicht. In den Ausführungsweisen sind Änderungen der in den Ansprüchen gezeigten Ausführungsweisen enthalten.

Claims (6)

  1. Steuervorrichtung (29) einer Robotervorrichtung (5, 6, 8, 9, 10), die ein zweites Element (91, 97) durch einen Roboter (1) bewegt und die relative Position des zweiten Elements in Bezug auf ein erstes Element (81, 87) anpasst, umfassend einen Sichtsensor (25, 27), der das erste Element und das zweite Element aufnimmt; eine Betriebssteuereinheit (43), die einen Befehl zum Antrieb des Roboters an den Roboter ausgibt; und eine Bildverarbeitungseinheit (31), die das durch den Sichtsensor aufgenommene Bild verarbeitet, wobei ein erster Merkmalsabschnitt zur Detektion der Position des ersten Elements und ein zweiter Merkmalsabschnitt zur Detektion der Position des zweiten Elements im Voraus festgelegt sind, wobei die Bildverarbeitungseinheit eine Merkmalsbetragsdetektionseinheit (32), die in dem durch den Sichtsensor aufgenommenen Bild einen ersten Merkmalsbetrag bezüglich einer Position des ersten Merkmalsabschnitts und einen zweiten Merkmalsbetrag bezüglich einer Position des zweiten Merkmalsabschnitts detektiert, eine Recheneinheit (33), die den Unterschied zwischen dem ersten Merkmalsbetrag und dem zweiten Merkmalsbetrag als Relativpositionsbetrag berechnet, und eine Befehlserzeugungseinheit (34), die einen Bewegungsbefehl zum Betreiben des Roboters erzeugt, umfasst, wobei ein Relativpositionsbetrag in einem Referenzbild (61), das ein Bild des ersten Merkmalsabschnitts und des zweiten Merkmalsabschnitts, wenn das zweite Element in Bezug auf das erste Element an einer Zielposition angeordnet ist, enthält, festgelegt ist, wobei die Befehlserzeugungseinheit auf Basis des Relativpositionsbetrags in dem Bild (62, 63, 65), das durch den Sichtsensor aufgenommen wurde, und des Relativpositionsbetrags in dem Referenzbild, das das Bild des ersten Merkmalsabschnitts und des zweiten Merkmalsabschnitts enthält, einen Bewegungsbefehl erzeugt, um den Roboter so zu betreiben, dass das zweite Element in Bezug auf das erste Element an der Zielposition angeordnet wird, wobei die Betriebssteuereinheit die Position des Roboters auf Basis des Bewegungsbefehls verändert.
  2. Steuervorrichtung nach Anspruch 1, wobei die Befehlserzeugungseinheit einen Unterschied zwischen den Relativpositionsbeträgen, bei dem es sich um den Unterschied zwischen dem Relativpositionsbetrag in dem durch den Sichtsensor aufgenommenen Bild und dem Relativpositionsbetrag in dem Referenzbild handelt, berechnet, wobei eine Bewegungsrichtung der Position des Roboters in Bezug auf den Unterschied der Relativpositionsbeträge im Voraus festgelegt ist, wobei ein Verfahren zu Berechnung eines Bewegungsausmaßes der Position des Roboters in Bezug auf den Unterschied der Relativpositionsbeträge im Voraus festgelegt ist, wobei die Befehlserzeugungseinheit auf Basis des Unterschieds der Relativpositionsbeträge die Bewegungsrichtung und das Bewegungsausmaß der Position des Roboters bestimmt und auf Basis der Bewegungsrichtung und des Bewegungsausmaßes der Position des Roboters einen Bewegungsbefehl erzeugt.
  3. Steuervorrichtung nach Anspruch 1 oder 2, wobei die Robotervorrichtung eine Transportmaschine (75), die das erste Element transportiert, umfasst, wobei die Steuerung zur Detektion des ersten Merkmalsbetrags und des zweiten Merkmalsbetrags durch die Merkmalsbetragsdetektionseinheit, die Steuerung zur Berechnung des Relativpositionsbetrags durch die Recheneinheit und die Steuerung zur Erzeugung des Bewegungsbefehls durch die Befehlserzeugungseinheit während des Zeitraums, in dem die Transportmaschine das erste Werkstück transportiert, wiederholt werden.
  4. Steuervorrichtung nach Anspruch 3, wobei die Bewegungsrichtung und die Bewegungsgeschwindigkeit des ersten Elements durch die Transportmaschine im Voraus festgelegt sind, wobei die Befehlserzeugungseinheit den Bewegungsbefehl auf Basis der Bewegungsrichtung und des Bewegungsausmaßes der Position des Roboters, welche Position des Roboters in Bezug auf die Position des durch die Transportmaschine bewegten ersten Elements folgt, erzeugt.
  5. Steuervorrichtung nach einem der Ansprüche 1 bis 4, wobei der Sichtsensor einen ersten Sichtsensor (25) bildet, wobei ein zweiter Sichtsensor (26), der das erste Element und das zweite Element aufnimmt, bereitgestellt ist, wobei ein dritter Merkmalsabschnitt zur Detektion der Position des ersten Elements und ein vierter Merkmalsabschnitt zur Detektion der Position des zweiten Elements festgelegt sind, wobei die Merkmalsbetragsdetektionseinheit in dem durch den zweiten Sichtsensor aufgenommenen Bild einen dritten Merkmalsbetrag bezüglich einer Position des dritten Merkmalsabschnitts und einen vierten Merkmalsbetrag bezüglich einer Position des vierten Merkmalsabschnitts detektiert, wobei die Recheneinheit den Unterschied zwischen dem dritten Merkmalsbetrag und dem vierten Merkmalsbetrag als Relativpositionsbetrag berechnet, wobei ein Relativpositionsbetrag in einem Referenzbild, das ein Bild des dritten Merkmalsabschnitts und des vierten Merkmalsabschnitt, wenn das zweite Element in Bezug auf das erste Element an der Zielposition angeordnet ist, enthält, festgelegt ist, wobei die Befehlserzeugungseinheit auf Basis des Relativpositionsbetrags in dem Bild, das durch den zweiten Sichtsensor aufgenommen wurde, und des Relativpositionsbetrags in dem Referenzbild, das das Bild des dritten Merkmalsabschnitts und des vierten Merkmalsabschnitts enthält, einen Bewegungsbefehl erzeugt, um den Roboter so zu betreiben,dass das zweite Element in Bezug auf das erste Element an der Zielposition angeordnet wird, und auf Basis des Bewegungsbefehls, der aus dem Bild des ersten Sichtsensors erzeugt wurde, und des Bewegungsbefehls, der aus dem Bild des zweiten Sichtsensors erzeugt wurde, einen Bewegungsbefehl erzeugt, der an die Betriebssteuereinheit ausgegeben wird.
  6. Steuervorrichtung nach Anspruch 5, wobei der erste Sichtsensor so angeordnet ist, dass er einen Bereich, der an einer Seite in einer im Voraus festgelegten Richtung des zweiten Elements angeordnet ist, aufnimmt, wobei der zweite Sichtsensor so angeordnet ist, dass er einen Bereich, der an der anderen Seite in der im Voraus festgelegten Richtung des zweiten Elements angeordnet ist, aufnimmt, wobei auf Basis des Bewegungsbefehls, der aus dem Bild des ersten Sichtsensors erzeugt wurde, und des Bewegungsbefehls, der aus dem Bild des zweiten Sichtsensors erzeugt wurde, bestimmt wird, ob die Lage des zweiten Elements in Bezug auf das erste Element innerhalb eines im Voraus festgelegten Bestimmungsbereichs liegt oder nicht.
DE102020119704.7A 2019-08-01 2020-07-27 Steuervorrichtung einer robotervorrichtung, die die position eines roboters steuert Pending DE102020119704A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019142418 2019-08-01
JP2019-142418 2019-08-01
JP2019-219104 2019-12-03
JP2019219104A JP7384653B2 (ja) 2019-08-01 2019-12-03 ロボットの位置を制御するロボット装置の制御装置

Publications (1)

Publication Number Publication Date
DE102020119704A1 true DE102020119704A1 (de) 2021-02-04

Family

ID=74165642

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020119704.7A Pending DE102020119704A1 (de) 2019-08-01 2020-07-27 Steuervorrichtung einer robotervorrichtung, die die position eines roboters steuert

Country Status (3)

Country Link
US (2) US11679508B2 (de)
CN (1) CN112297004A (de)
DE (1) DE102020119704A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022202145A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Roboter und Verfahren zum Steuern eines Roboters
DE102022202144A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202143A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
CN117226857A (zh) * 2023-11-15 2023-12-15 北京集度科技有限公司 机器人工具坐标原点的标定方法、标定装置及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210138653A1 (en) * 2019-11-12 2021-05-13 Bright Machines, Inc. Module Insertion System For Robotic Assembly

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3865703B2 (ja) * 2002-10-25 2007-01-10 ファナック株式会社 物品搬送システム及び搬送方法
JP5744587B2 (ja) * 2011-03-24 2015-07-08 キヤノン株式会社 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
JP5904635B2 (ja) 2012-03-02 2016-04-13 セイコーエプソン株式会社 制御装置、制御方法及びロボット装置
JP2014176922A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボットシステムおよび被加工物の製造方法
JP2014176923A (ja) * 2013-03-14 2014-09-25 Yaskawa Electric Corp ロボットシステムおよび被加工物の製造方法
US9981380B2 (en) * 2014-07-01 2018-05-29 Seiko Epson Corporation Teaching apparatus and robot system
JP6267157B2 (ja) * 2015-05-29 2018-01-24 ファナック株式会社 位置補正機能を有するロボットを備えた生産システム
JP2017035754A (ja) * 2015-08-10 2017-02-16 ファナック株式会社 視覚センサおよび複数のロボットを備えるロボットシステム
JP2015214022A (ja) 2015-09-02 2015-12-03 セイコーエプソン株式会社 ロボット
JP6430986B2 (ja) 2016-03-25 2018-11-28 ファナック株式会社 ロボットを用いた位置決め装置
DE102016212695B4 (de) * 2016-05-31 2019-02-21 Siemens Aktiengesellschaft Industrieroboter
CN106313086B (zh) * 2016-08-21 2018-07-06 西安科技大学 一种煤矿救援机器人远程控制系统和控制方法
CN109927027B (zh) * 2016-11-22 2020-12-22 北京航空航天大学 一种机器人液压驱动转动关节闭环控制方法
EP3520971A1 (de) * 2018-02-06 2019-08-07 ABB Schweiz AG Zusammenbauen von teilen in einer montagelinie
CN109397270B (zh) * 2018-12-25 2024-03-22 苏州富纳艾尔科技有限公司 用于机器人实训的二次定位机构及机器人实训教学平台

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022202145A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Roboter und Verfahren zum Steuern eines Roboters
DE102022202144A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202143A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202143B4 (de) 2022-03-02 2024-05-16 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
CN117226857A (zh) * 2023-11-15 2023-12-15 北京集度科技有限公司 机器人工具坐标原点的标定方法、标定装置及介质
CN117226857B (zh) * 2023-11-15 2024-01-26 北京集度科技有限公司 机器人工具坐标原点的标定方法、标定装置及介质

Also Published As

Publication number Publication date
CN112297004A (zh) 2021-02-02
US11679508B2 (en) 2023-06-20
US20230256615A1 (en) 2023-08-17
US20210031374A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
DE102020119704A1 (de) Steuervorrichtung einer robotervorrichtung, die die position eines roboters steuert
DE102018132213B4 (de) Artikelübertragungsvorrichtung, Robotersystem und Artikelübertragungsverfahren
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE112016002797B4 (de) Kalibriervorrichtung und robotersystem mit einer solchen kalibriervorrichtung
DE102017128652B4 (de) Robotersystem mit einer mehrzahl von robotern, robotersteuerung und robotersteuerverfahren
DE102016116702B4 (de) Messsystem zum Kalibrieren der mechanischen Parameter eines Roboters
DE102018213985B4 (de) Robotersystem
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE102017002608B4 (de) Positioniersystem unter Verwendung eines Roboters
DE112019004517T5 (de) Roboterkalibrierung für ar (augmented reality) und digitaler zwilling
DE102019108787B4 (de) Handsteuerungsvorrichtung und Handsteuerungssystem
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
EP1345099B1 (de) Verfahren zur Bestimmung der Lage eines Objektes und eines Werkstücks im Raum zur automatischen Montage des Werkstücks am Objekt
DE102020124356A1 (de) Steuerung einer Robotervorrichtung zum Einstellen der Position eines vom Roboter gestützten Gegenstandes
EP1604789A2 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE112010000794T5 (de) Verfahren zum Steuern eines Roboterwerkzeugs
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102020100803B4 (de) Folgeroboter und Roboterarbeitssystem
DE102019131284B4 (de) Robotersystem und Koordinatenumwandlungsverfahren
DE102007029335A1 (de) Programmierhandgerät
DE102014017307B4 (de) Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
DE112019005484T5 (de) Automatische Kalibrierung für ein Kamera-Robotersystem mit Werkzeugoffsets
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
DE102021209178A1 (de) Verfahren und Vorrichtung zum Bestimmen von Relativposen und zur Kalibrierung bei einem Koordinatenmessgerät oder Roboter

Legal Events

Date Code Title Description
R012 Request for examination validly filed