DE112013003209B4 - Robotersteuerungsvorrichtung und Robotersteuerungsverfahren - Google Patents
Robotersteuerungsvorrichtung und Robotersteuerungsverfahren Download PDFInfo
- Publication number
- DE112013003209B4 DE112013003209B4 DE112013003209.0T DE112013003209T DE112013003209B4 DE 112013003209 B4 DE112013003209 B4 DE 112013003209B4 DE 112013003209 T DE112013003209 T DE 112013003209T DE 112013003209 B4 DE112013003209 B4 DE 112013003209B4
- Authority
- DE
- Germany
- Prior art keywords
- robot
- command value
- command
- command values
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0084—Programme-controlled manipulators comprising a plurality of manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39122—Follower, slave mirrors leader, master
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39124—Grasp common rigid object, no movement end effectors relative to object
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/03—Teaching system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Robotersteuerungsvorrichtung, die einen ersten Roboter (10a) und einen sich vom ersten Roboter unterscheidenden, zweiten Roboter (10b) synchron ansteuert, wobei die Robotersteuerungsvorrichtung umfasst:
eine Master-Steuerungsvorrichtung (20a, 21a, 22a);
eine Positionsverhältnisberechnungsvorrichtung (30, 31, 32); und
eine Slave-Steuerungsvorrichtung (20b, 21b, 22b),
wobei die Positionsverhältnisberechnungsvorrichtung (30, 31, 32) Folgendes aufweist:
eine Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402); und
eine Transformationsmatrixgenerierungseinheit (200, 300, 400, 500) als
eine Positionsverhältnismatrixgenerierungseinheit, die auf Grundlage von N Befehlswerten zum Anlernen für die jeweiligen Roboter (10a, 10b) an N Anlernpunkten, bei denen es sich um positionskorrigierte Befehlswerte zum Positionieren des ersten Roboters (10a) und des zweiten Roboters (10b) auf Bahnen des ersten Roboters (10a) und des zweiten Roboters (10b) während der Synchronansteuerung handelt, Positionsverhältnismatrizes generiert, um ein Positionsverhältnis während der Synchronansteuerung zwischen einem ersten Befehlswert zum Anlernen bezüglich eines ersten Roboters (10a), und einem ersten Befehlswert zum Anlernen bezüglich eines zweiten Roboters (10b) zu definieren;
wobei die Master-Steuerungsvorrichtung (20a, 20b, 20c) Folgendes aufweist:
eine Befehlswertspeichereinheit (100) als eine Erstbefehlswertausgabeeinheit, die einen ersten Befehlswert zum Ansteuern in jedem von M (M>N) Betriebszeiträumen ausgibt, bei dem es sich um einen Befehlswert zum Definieren der Bahn des ersten Roboters (10a) handelt;
eine Befehlswertgenerierungseinheit (211, 311, 411) als eine Zweitbefehlswertgenerierungseinheit, die bewirkt, dass die Positionsverhältnismatrizes, die den M ersten Befehlswerten zum Ansteuern nach der Interpolation zugeordnet sind, mit den jeweiligen M ersten Befehlswerten zum Ansteuern multipliziert werden, und M zweite Befehlswerte zum Ansteuern generiert, bei denen es sich um Befehlswerte zum Definieren der Bahn des zweiten Roboters (10b) handelt,
wobei die Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402) und die Befehlswertgenerierungseinheit (211, 311, 411) zusammenwirken, um als Positionsverhältnismatrixinterpolationseinheit zu fungieren, die die N Positionsverhältnismatrizes interpoliert und eine Positionsverhältnismatrix bei jedem ersten Befehlswert zum Ansteuern generiert;
wobei die Robotersteuerungsvorrichtung den ersten Roboter (10a) auf Grundlage der ersten Befehlswerte zum Ansteuern ansteuert und den zweiten Roboter (10b) auf Grundlage der zweiten Befehlswerte zum Ansteuern ansteuert.
eine Master-Steuerungsvorrichtung (20a, 21a, 22a);
eine Positionsverhältnisberechnungsvorrichtung (30, 31, 32); und
eine Slave-Steuerungsvorrichtung (20b, 21b, 22b),
wobei die Positionsverhältnisberechnungsvorrichtung (30, 31, 32) Folgendes aufweist:
eine Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402); und
eine Transformationsmatrixgenerierungseinheit (200, 300, 400, 500) als
eine Positionsverhältnismatrixgenerierungseinheit, die auf Grundlage von N Befehlswerten zum Anlernen für die jeweiligen Roboter (10a, 10b) an N Anlernpunkten, bei denen es sich um positionskorrigierte Befehlswerte zum Positionieren des ersten Roboters (10a) und des zweiten Roboters (10b) auf Bahnen des ersten Roboters (10a) und des zweiten Roboters (10b) während der Synchronansteuerung handelt, Positionsverhältnismatrizes generiert, um ein Positionsverhältnis während der Synchronansteuerung zwischen einem ersten Befehlswert zum Anlernen bezüglich eines ersten Roboters (10a), und einem ersten Befehlswert zum Anlernen bezüglich eines zweiten Roboters (10b) zu definieren;
wobei die Master-Steuerungsvorrichtung (20a, 20b, 20c) Folgendes aufweist:
eine Befehlswertspeichereinheit (100) als eine Erstbefehlswertausgabeeinheit, die einen ersten Befehlswert zum Ansteuern in jedem von M (M>N) Betriebszeiträumen ausgibt, bei dem es sich um einen Befehlswert zum Definieren der Bahn des ersten Roboters (10a) handelt;
eine Befehlswertgenerierungseinheit (211, 311, 411) als eine Zweitbefehlswertgenerierungseinheit, die bewirkt, dass die Positionsverhältnismatrizes, die den M ersten Befehlswerten zum Ansteuern nach der Interpolation zugeordnet sind, mit den jeweiligen M ersten Befehlswerten zum Ansteuern multipliziert werden, und M zweite Befehlswerte zum Ansteuern generiert, bei denen es sich um Befehlswerte zum Definieren der Bahn des zweiten Roboters (10b) handelt,
wobei die Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402) und die Befehlswertgenerierungseinheit (211, 311, 411) zusammenwirken, um als Positionsverhältnismatrixinterpolationseinheit zu fungieren, die die N Positionsverhältnismatrizes interpoliert und eine Positionsverhältnismatrix bei jedem ersten Befehlswert zum Ansteuern generiert;
wobei die Robotersteuerungsvorrichtung den ersten Roboter (10a) auf Grundlage der ersten Befehlswerte zum Ansteuern ansteuert und den zweiten Roboter (10b) auf Grundlage der zweiten Befehlswerte zum Ansteuern ansteuert.
Description
- Gebiet
- Die vorliegende Erfindung bezieht sich auf eine Robotersteuerungsvorrichtung und ein Robotersteuerungsverfahren zum Ansteuern mehrerer Roboter, während die Roboter miteinander synchronisiert werden.
- Hintergrund
- Zum Zweck, eine effektive Produktion unter Nutzung eines Roboters durchzuführen, wurden mehrere Industrieroboter in einem Produktionssystem installiert, um gleichzeitig mehrere Arten von Arbeit durchzuführen. Insbesondere besteht bei einer kooperativen Arbeit zum Greifen, Halten und Montieren desselben Werkstücks unter mehreren Robotern, die gleichzeitig mehrere Arten von Arbeit durchführen, ein Problem einer übermäßigen, an das Werkstück und die Roboter während der Arbeit angelegten Belastung. Die übermäßige Belastung wird durch Verschiebungen der momentanen Greifpositionen der Roboter verursacht. Speziell tritt die übermäßige Belastung nach einem Positionsfehler ausgehend von einer idealen Greifposition auf, bei der keine Belastung anliegt. Der Positionsfehler, der die Belastung verursacht, umfasst einen statischen Positionsfehler aufgrund eines Installationspositionsfehlers und eines Kalibrierungsfehlers der Roboter, und einen dynamischen Positionsfehler, der durch eine Ansprechverzögerung der Roboter verursacht ist. Wenn eine auf das Werkstück und die Roboter wirkende Kraft, die durch ein Positionshaltungsverhältnis zwischen Greifpositionen der jeweiligen mehreren Roboter verursacht wird, eine Toleranz überschreitet, ist es möglich, einen von der Norm abweichenden Zustand beispielsweise dadurch zu erfassen, dass auf einen Stromwert eines Motors geachtet wird und die Roboter durch die Detektion der Abnormalität sicher angehalten werden. Zum Zweck, einen gegenseitigen Positionsfehler unter Robotern im Betrieb zu reduzieren, wurde eine große Anzahl von Technologien zum Verbessern der Synchronisationsgenauigkeit von grundlegenden zyklischen Signalen für jeden Betriebsablauf von Betriebsabläufen vorgeschlagen. Beispiele für bekannte Robotersteuerungssysteme zum Anlernen und zur Steuerung mehrerer Roboter sind in der
US 2006 / 0 069 466 A1 JP 2000 190 266 A DE 692 17 420 T2 und derJP H062- 71 580 A JP H11- 119 820 A DE 689 23 889 T2 sind Steuerungs- und Anlernsysteme für einzelne Roboter beschrieben. - Andererseits wurde eine Technologie entwickelt, um Positionshaltungen durch Kraftsteuerung zu korrigieren, wenn eine Verschiebung eines Positionshaltungsverhältnisses zwischen Greifpositionen (Fingerpositionen) von Fingern (Endeffektoren) mehrerer Roboter auftritt. Gemäß dieser Technologie werden die Greifpositionen entsprechend der Kräfte korrigiert, die in den Fingern erzeugt werden, und die Finger werden so gesteuert, dass sie sich zu Positionen bewegen, wo an die Finger angelegte Kräfte in einen Bereich zulässiger Kräfte passen. Eine solche Korrekturtechnologie für Positionshaltungen kann grob in ein Master-Slave-System und ein Impedanzsteuerungssystem unterteilt werden. Bei dem Master-Slave-System handelt es sich um ein System, in dem ein bestimmter Roboter als ein Master-Roboter eingesetzt wird und die anderen Roboter als Slave-Roboter eingesetzt werden, und der Master-Roboter eine Positionssteuerung für eine ideale Bahn durchführt und die Slave-Roboter, dem Masterroboter folgend, entsprechend einer Kraftsteuerung arbeiten. Als Master-Slave-System ist auch ein Synchronsteuerungssystem genanntes System bekannt, das keine Kraftsteuerung als Konfiguration umfasst. Dieses System wird in einem industriellen Gebrauch als eine kostengünstige Konfiguration verwendet, die keinen Kraftsensor umfasst. Ein Positionsverhältnis zwischen dem Hauptroboter und den Slave-Robotern wird vorab definiert, und Positionsbefehlswerte für die Slaves werden ausgehend vom Positionsverhältnis so definiert, dass sie einem Befehlswert des Masters entsprechen (siehe beispielsweise Patentschrift 1). Bei dem Impedanzsteuerungssystem handelt es sich um ein System, um Bahnen der Roboter ausgehend von einer gewünschten Bahn eines Handhabungszielgegenstands rückläufig zu berechnen und, wenn die Bahn als Befehlswert angesetzt ist, die Finger zu Positionen zu steuern, an denen den an die Finger angelegten Kräften ein geeigneter Impedanzkennwert gegeben ist, um gewünschte Bewegungen an die jeweiligen Roboter anzulegen (siehe beispielsweise Patentschrift 2).
- Anführungsliste
- Patentliteratur
-
- Patentschrift 1:
JP H07 - 20 915 A - Patentschrift 2:
JP H07 - 256 580 A - Patentschrift 3:
JP 2001 - 216 012 A - Patentschrift 4:
JP 2011 - 104 740 A - Nichtpatentliteratur
- Nichtpatentschrift 1: Suguru Arimoto „Dynamics and Control of Robots" Asakura Publishing Co., Ltd. 1990
- Zusammenfassung
- Technisches Problem
- Jedoch besteht nach den Technologien der Patentschriften 1 und 2 insofern ein Problem, dass, was einen Positionsfehler (einen Absolutpositionsfehler) einer tatsächlichen Bahn betrifft, der während des Betriebs der Roboter auftritt, eine Bahngenerierung für eine kooperativen Betrieb nicht unter Berücksichtigung von Positionshaltungen der Roboter und einer Schwankung bei jeder Betriebsgeschwindigkeit erfolgt. Folglich tritt beispielsweise, wenn eine Arbeit, die durch kooperative Steuerung durchgeführt wird, kompliziert ausfällt, eine Schwankung in einem statischen Fingerpositionsfehler in den Positionshaltungen unter den Robotern auf. Deshalb gibt es einen Fall, bei dem in Abhängigkeit von einer Haltungsveränderung der Finger plötzlich eine Kraft erzeugt wird. Im Ergebnis ist es, wenn eine Grenze bei einer für einen Arbeitsgegenstand und eine Hand zulässigen Kraft besteht, schwierig, einen Hochgeschwindigkeitsarbeitsablauf in Kooperation zu bewerkstelligen.
- Die vorliegende Erfindung wurde angesichts des Vorstehenden entwickelt, und eine Aufgabe der vorliegenden Erfindung besteht darin, eine Robotersteuerung und ein Robotersteuerungsverfahren zu erhalten, die bzw. das eine an ein ergriffenes Werkstück angelegte Belastung in jeder Position auf tatsächlichen Bahnen mehrerer Roboter in einem kooperativen Arbeitsablauf (Synchronansteuerung) weitestgehend reduzieren kann.
- Problemlösung
- Um die vorstehend erwähnten Probleme zu lösen, werden eine Robotersteuerungsvorrichtung gemäß den Merkmalen von Anspruch 1 und ein Robotersteuerungsverfahren gemäß den Merkmalen von Anspruch 10 angegeben.
- Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
- Vorteilhafte Wirkungen der Erfindung
- Gemäß der vorliegenden Erfindung ist es, was die Befehlswertgenerierung in jedem von Betriebszeiträumen für den zweiten Roboter betrifft, möglich, eine Transformationsmatrix approximativ zu berechnen und einen Befehlswert für den zweiten Roboter unter Berücksichtigung eines Fehlers, ohne eine komplizierte Berechnung zur Identifizierung von Bewegungseigenschaften der Roboter erforderlich zu machen, und unter Berücksichtigung geometrischer Fehler der Roboter, zu generieren. Deshalb wird es ermöglicht, eine Belastung, die an ein ergriffenes Werkstück angelegt wird, an jeder Position auf tatsächlichen Bahnen von Robotern bei Synchronansteuerung weitestgehend zu reduzieren.
- Figurenliste
-
-
1 ist ein Schema zur Erläuterung eines Produktionssystems, das ein Robotersteuerungssystem in einer ersten Ausführungsform der vorliegenden Erfindung enthält. -
2 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems nach einem Vergleichsbeispiel. -
3 ist ein Schema zur Erläuterung eines idealen Positionsverhältnisses zwischen Endeffektoren. -
4 ist ein Schema zur Erläuterung der Konfiguration des Robotersteuerungssystems in der ersten Ausführungsform. -
5 ist ein Ablaufschema zur Erläuterung einer Vorbereitungsverarbeitung in der ersten Ausführungsform. -
6 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs während eines Automatikbetriebs einer Master-Steuerungsvorrichtung in der ersten Ausführungsform. -
7 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs während eines Automatikbetriebs einer Slave-Steuerungsvorrichtung in der ersten Ausführungsform. -
8 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems in einer zweiten Ausführungsform. -
9 ist ein Schema zur Erläuterung einer Speicherkonfiguration einer Transformationsmatrixfunktionsspeichereinheit in der zweiten Ausführungsform. -
10 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs, bei dem eine Positionsverhältnisberechnungseinheit in der zweiten Ausführungsform eine zweite Transformationsmatrixfunktion generiert. -
11 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs während eines Automatikbetriebs einer Slave-Steuerungsvorrichtung in der zweiten Ausführungsform. -
12 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems in einer dritten Ausführungsform. -
13 ist ein Schema zur Erläuterung einer Speicherkonfiguration einer Transformationsmatrixfunktionsspeichereinheit in der dritten Ausführungsform. -
14 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems in einer siebten Ausführungsform. -
15 ist ein Schema zur Erläuterung einer anderen Konfiguration des Robotersteuerungssystems in der siebten Ausführungsform. -
16 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems in einer achten Ausführungsform. -
17 ist ein Schema eines Verhältnisses zwischen einer Wirkkraft, die an einen Endeffektor angelegt wird, und der Position des Endeffektors im Robotersteuerungssystem nach dem Vergleichsbeispiel. -
18 ist ein Schema eines Verhältnisses zwischen einer Wirkkraft, die an den Endeffektor angelegt wird, und der Position des Endeffektors bei einer Impedanzsteuerung, die auf das Robotersteuerungssystem nach dem Vergleichsbeispiel angewendet wird. -
19 ist ein Schema eines Verhältnisses zwischen einer Wirkkraft, die an einen Endeffektor angelegt wird, und der Position des Endeffektors im Robotersteuerungssystem in der achten Ausführungsform. - Beschreibung der Ausführungsformen
- Ausführungsformen einer Robotersteuerungsvorrichtung und eines Robotersteuerungsverfahrens nach der vorliegenden Erfindung werden nachstehend im Detail mit Bezug auf die Zeichnungen beschrieben. Anzumerken ist, dass die vorliegende Erfindung durch die Ausführungsformen nicht eingeschränkt wird.
- Erste Ausführungsform
-
1 ist ein Schema zur Erläuterung eines Produktionssystems , das ein Robotersteuerungssystem (eine Robotersteuerungsvorrichtung) in einer ersten Ausführungsform der vorliegenden Erfindung enthält. Wie in der Figur gezeigt ist, umfasst das Robotersteuerungssystem einen Master-Roboter (einen ersten Roboter)10a , einen Slave-Roboter (einen zweiten Roboter) 10b, eine Master-Steuerungsvorrichtung20a , die den Master-Roboter10a steuert, eine Slave-Steuerungsvorrichtung20b , die den Slave-Roboter10b steuert, und eine Positionsverhältnisberechnungsvorrichtung30 . Der Master-Roboter10a ist so aufgebaut, dass ein Arm, der einen Endeffektor11a an einem distalen Ende aufweist, an einem Installationsgestell12a angebracht ist. Ähnlich ist der Slave-Roboter10b so aufgebaut, dass ein Arm, der einen Endeffektor11b an einem distalen Ende aufweist, an einem Installationsgestell12b angebracht ist. Anzumerken ist, dass in der folgenden Erklärung als Beispiel davon ausgegangen wird, dass es sich bei den Robotern10a und10b um vertikale Mehrgelenkroboter mit sechs Freiheitsgraden handelt. - Die Master-Steuerungsvorrichtung
20a , die Slave-Steuerungsvorrichtung20b und die Positionsverhältnisberechnungsvorrichtung30 sind durch eine Kommunikationsleitung miteinander verbunden und bilden das Robotersteuerungssystem (die Robotersteuerungsvorrichtung), das den Master-Roboter10a und den Slave-Roboter10b ansteuert, während die Roboter miteinander synchronisiert werden. Die Master-Steuerungsvorrichtung20a generiert Positionsbefehlswerte zum Positionieren des Endeffektors11a und steuert den Endeffektor11a auf Grundlage der generierten Positionsbefehlswerte an. Die Master-Steuerungsvorrichtung20a überträgt die sich auf den Endeffektor11a beziehenden Positionsbefehlswerte an die Slave-Steuerungsvorrichtung20b . Die Positionsverhältnisberechnungsvorrichtung30 berechnet Positionsverhältnisinformation, um ein Positionsverhältnis zwischen den Endeffektoren11a und11b während eines kooperativen Betriebs so festzulegen, dass der Endeffektor11a und der Endeffektor11b in Kooperation dasselbe Werkstück halten und das Werkstück (das ergriffene Werkstück) transportieren können. Die Positionsverhältnisberechnungsvorrichtung30 überträgt die gewonnene Positionsverhältnisinformation an die Slave-Steuerungsvorrichtung20b . Die Slave-Steuerungsvorrichtung20b veranlasst, dass die Positionsverhältnisinformation zwischen den Endeffektoren11a und11b auf die Positionsbefehlswerte zum Positionieren des Endeffektors11a wirkt, um Positionsbefehlswerte zum Positionieren des Endeffektors11b zu berechnen. Die Slave-Steuerungsvorrichtung20b steuert den Endeffektor11b auf Grundlage der berechneten Positionsbefehlswerte an. - Es wird eine Technologie im Vergleich zur ersten Ausführungsform der vorliegenden Erfindung (im Folgenden als Vergleichsbeispiel bezeichnet) erklärt.
2 ist ein Schema zur Erläuterung der Konfiguration eines Robotersteuerungssystems nach dem Vergleichsbeispiel. Anzumerken ist, dass, um das Vergleichsbeispiel von der ersten Ausführungsform zu unterscheiden, eine Positionsverhältnisberechnungsvorrichtung, auf die das Vergleichsbeispiel angewendet wird, mit dem Bezugszeichen50 bezeichnet ist, eine Master-Steuerungsvorrichtung, auf die das Vergleichsbeispiel angewendet wird, mit dem Bezugszeichen40a bezeichnet ist, und eine Slave-Steuerungsvorrichtung, auf die das Vergleichsbeispiel angewendet wird, mit dem Bezugszeichen40b bezeichnet ist. Was die Komponenten betrifft, die in der Master-Steuerungsvorrichtung40a und der Slave-Steuerungsvorrichtung40b enthalten sind und dieselben Funktionen mit dem einzigen Unterschied dahingehend haben, ob es sich bei einem agierenden Ziel um ein Master-System (den Master-Roboter10a und die Master-Steuerungsvorrichtung40a) oder ein Slave-System (einen Slave-Roboter10b und die Slave-Steuerungsvorrichtung40b) handelt, werden die Komponenten voneinander unterschieden, indem ein Buchstabe „a“ zu den Bezugszahlen hinzugefügt wird, wenn die Komponenten im Master-System enthalten sind, und ein Buchstabe „b“ den Bezugszahlen hinzugefügt wird, wenn die Komponenten im Slave-System enthalten sind. Was zwei Komponenten betrifft, die dieselbe Funktion haben, sich aber nur in den Systemen unterscheiden, in denen sie enthalten sind, wird in manchem Fall nur eine der Komponenten erklärt und die Erklärung der anderen weggelassen. - Die Master-Steuerungsvorrichtung
40a umfasst eine Befehlswertspeichereinheit100 , die vorab M Positionsbefehlswerte speichert, um eine Befehlsbahn des Endeffektors11a in jedem der Betriebszeiträume zu definieren, eine Korrekturbetraggenerierungseinheit102a , die einen Korrekturbetrag (einen Tm-ten Korrekturbetrag) für einen Tm-ten (Tm ist eine ganze Zahl, die 1≤Tm≤M erfüllt) Befehlswert (einen Tm-ten Befehlswert) unter den M Positionsbefehlswerten (im Folgenden einfach als Befehlswerte bezeichnet) berechnet, eine Generierungseinheit101a für korrigierte Befehlswerte, die auf Grundlage des Tm-ten Befehlswerts und des Tm-ten Korrekturbetrags einen Tm-ten korrigierten Befehlswert generiert, der durch Korrigieren des Tm-ten Befehlswerts erhalten wird, eine Antriebssteuerungseinheit103a , die einen Servoverstärker und einen Servomotor umfasst, der den Master-Roboter10a so antreibt, dass der Endeffektor11a den Tm-ten korrigierten Befehlswert annimmt, und eine Momentanpositionserfassungseinheit104a , die einen Messgeber umfasst, der eine Erfassung der momentanen Position (einer Tm-ten Momentanposition) des Endeffektors11a im Betrieb auf Grundlage des Tm-ten korrigierten Befehlswerts durchführt und die Tm-te Momentanposition an die Antriebssteuerungseinheit103a zurückleitet. - Die Korrekturbetraggenerierungseinheit
102a umfasst eine Wirkkraftberechnungseinheit105a , eine Korrekturbetragberechnungseinheit106a und eine Korrekturbetragspeichereinheit107a . Die Wirkkraftberechnungseinheit105a berechnet eine Wirkkraft, die im Endeffektor11a erzeugt wird. Die Korrekturbetragspeichereinheit107a akkumuliert und speichert berechnete Korrekturbeträge (d.h. den T1-ten Korrekturbetrag bis Tm-1-ten Korrekturbetrag). Die Korrekturbetragberechnungseinheit106a berechnet den Tm-ten Korrekturbetrag unter Verwendung des T1-ten bis Tm-1-ten Korrekturbetrags, um die im Endeffektor11a erzeugte Kraft zu reduzieren. Der berechnete Tm-te Korrekturbetrag wird an die Generierungseinheit101a für korrigierte Befehlswerte übertragen und in der Korrekturbetragspeichereinheit107a gespeichert. - Die Positionsverhältnisberechnungsvorrichtung
50 berechnet eine Matrix (eine Transformationsmatrix), um ein Positionsverhältnis zwischen einem Befehlswert zum Positionieren des Endeffektors11a und einem Befehlswert zum Positionieren des Endeffektors11b zu definieren. Die Positionsverhältnisberechnungsvorrichtung50 kann den Befehlswert zum Positionieren des Endeffektors11b erhalten, indem sie bewirkt, dass die Transformationsmatrix auf den Befehlswert zum Positionieren des Endeffektors11a wirkt. - Die Slave-Steuerungsvorrichtung
40b umfasst eine Transformationsmatrixspeichereinheit109 , die eine durch die Positionsverhältnisberechnungsvorrichtung50 berechnete Transformationsmatrix speichert, eine Befehlswertgenerierungseinheit108 , die bewirkt, dass die durch die Transformationsmatrixspeichereinheit109 gespeicherte Transformationsmatrix auf den Tm-ten Befehlswert zum Positionieren des Endeffektors11a wirkt, um einen Tm-ten Befehlswert zum Positionieren des Endeffektors11b zu generieren, eine Korrekturbetraggenerierungseinheit102b , die einen Tm-ten Korrekturbetrag zum Korrigieren des Tm-ten Befehlswerts berechnet, der sich auf den Endeffektor11b bezieht, eine Generierungseinheit101b für korrigierte Befehlswerte, die einen Tm-ten korrigierten Befehlswert auf Grundlage des Tm-ten Befehlswerts und des Tm-ten Korrekturbetrags generiert, die sich auf den Endeffektor11b beziehen, eine Antriebssteuerungsvorrichtung103b , die einen Servoverstärker und einen Servomotor umfasst, der den Slave-Roboter10b auf Grundlage des Tm-ten korrigierten Befehlswerts antreibt, der sich auf den Endeffektor11b bezieht, und eine Momentanpositionserfassungseinheit104b , die einen Messgeber umfasst, der eine Erfassung einer Tm-ten Momentanposition des Endeffektors11b durchführt und die erfasste Tm-te Momentanposition an die Antriebssteuerungseinheit103b zurückgibt. Die Korrekturbetraggenerierungseinheit102b umfasst eine Konfiguration, bei der es sich um dieselbe wie die der Korrekturbetraggenerierungseinheit102a handelt. Deshalb wird die Erklärung der Korrekturbetraggenerierungseinheit102b weggelassen. - Nun wird die Transformationsmatrix erklärt, die durch die Positionsverhältnisberechnungsvorrichtung
50 berechnet wird. Die Transformationsmatrix wird allgemein homogene Transformationsmatrix genannt, die einen Rotationsbetrag und eine Position darstellt. Wenn ein orthogonales Koordinatensystem alsΣi und eine Transformationsmatrix zwischen zwei orthogonalen KoordinatensystemenΣ1 undΣ2 als 1T2 dargestellt wird, wird, wenn eine Rotationsmatrix als 1R2 (eine quadratische Matrix aus 3 × 3 Elementen) dargestellt wird, die Position des orthogonalen KoordinatensystemsΣ2 vom orthogonalen KoordinatensystemΣ1 aus gesehen, als 1P2 (ein Vektor aus 3 × 1 Elementen) dargestellt und ein Nullvektor von 1 × 3 als Null(1,3) dargestellt, wobei die homogene Transformationsmatrix wie durch die folgende Formel (1) angegeben dargestellt wird: - Anzumerken ist, dass, wenn eine Positionshaltung eines Punkts „a“ als iTa im Hinblick auf ein Koordinatensystem
Σi dargestellt wird, eine Positionshaltung i+1Ta des Punkts „a“ im Hinblick auf ein anderes Koordinatensystem Σi+1 wie durch die folgende Formel (2) angegeben unter Verwendung einer Transformationsmatrix i+1Ti ausΣi bis Σi+1 dargestellt ist. -
3 ist ein Schema zur Erläuterung eines idealen Positionsverhältnisses zwischen den Endeffektoren11a und11b .Σrob1 ist ein Koordinatensystem (ein Master-Roboterkoordinatensystem) mit Bezug auf das Installationsgestell12a ,∑rob2 ist ein Koordinatensystem (ein Slave-Roboterkoordinatensystem) mit Bezug auf das Installationsgestell12b ,∑wld ist ein absolutes Koordinatensystem (ein Weltkoordinatensystem),ΣE1 ist ein Koordinatensystem mit Bezug auf den Endeffektor11a , undΣE2 ist ein Koordinatensystem mit Bezug auf den Endeffektor11b . Eine ideale Umgebung ist eine Umgebung, in der ein Befehlswinkel und eine Befehlsposition miteinander übereinstimmen, mit anderen Worten, eine Umgebung ohne absoluten Positionsfehler. In einer solchen Umgebung kann die folgende Formel (3) als Transformationsmatrix zwischen dem Master und dem Slave verwendet werden. Anzumerken ist, dass „A-1“ eine Umkehrmatrix bezüglich einer Matrix A darstellt. - Jedoch tritt in einer realen Umgebung ein absoluter Positionsfehler in Fingerpositionen der Endeffektoren
11a und11b wegen eines Installationsfehlers, eines mechanischen Spiels, einer Biegung eines Arms, eines Fehlers der Endeffektoren11a und11b , dem Einfluss der Starrheit eines Verzögerungsglieds und dergleichen auf. Deshalb ist im Allgemeinen ein Positionsverhältnis zwischen den Fingerpositionen und einem Werkstück kein gewünschtes Positionsverhältnis. Beim Starten des Produktionssystems betätigt beispielsweise ein Benutzer eine nicht gezeigte Bedienkonsole zum Anlernen, um dadurch die realen Roboter10a und10b zu bewegen, während er ein Positionsverhältnis zwischen den Robotern10a und10b und dem Werkstück beispielsweise visuell prüft, um die Fehler so auf die Befehlswerte einzustellen, dass ein gewünschter Betrieb ausgeführt wird, während ein gewünschtes relatives Positionsverhältnis zwischen den Endeffektoren11a und11b eingehalten wird. BefehlswerterobiT'Ei (i = 1 und 2) in den Steuerungsvorrichtungen20a und20b zu den Zeitpunkten, zu denen der Benutzer die Endeffektoren11a und11b zu Stellen bewegt, an denen die Fehler reduziert sind, werden als Befehlswerte zum Positionieren der Endeffektoren11a und11b an den Anlernpunkten gesetzt. Anzumerken ist, dass „ ‘ “ einer Transformationsmatrix dort hinzugefügt wird, wo eine Positionsanpassung durch das Anlernen berücksichtigt wird. - Die Befehlswerte
robiT'Ei (i = 1 und 2), auf die die Fehler eingestellt werden, werden in die Positionsverhältnisberechnungsvorrichtung50 eingegeben. Die Positionsverhältnisberechnungsvorrichtung50 setzt Befehlswerterob1T'E1 undrob2T'E2 nach der Einstellung inrob1TE1 bzw.rob2TE2 von Formel (3) ein und setzt das somit erhalteneE1TE2 gleichE1T'E2 . - Auf diese Weise wird
E1T'E2 berechnet, bevor ein Normalbetrieb (synchrone Ansteuerung der Roboter10a und10b ; im Folgenden auch als „Automatikbetrieb“ bezeichnet) anläuft. Das berechneteE1T'E2 wird als Transformationsmatrix zur Positionstransformation während des Automatikbetriebs verwendet. Das heißt, während des Automatikbetriebs wird in der Slave-Steuerungsvorrichtung40b zum Zweck, einen Arbeitsvorgang zum Annehehmen eines korrigierten Befehlswerts der Master-Steuerungsvorrichtung40a auszuführen, ein Befehlswert für den Endeffektor11b in der Befehlswertgenerierungsvorrichtung108 unter Verwendung eines Befehlswerts seitens der Master-Steuerungsvorrichtung40a und der Transformationsmatrix generiert. In diesem Fall berechnet die Befehlswertgenerierungsvorrichtung108 den Befehlswertrob2TE2 der Slave-Steuerungsvorrichtung40b auf Grundlage der folgenden Formel (4), unter Verwendung einer TransformationsmatrixwldTrob1 in einem Master-Roboterkoordinatensystem in Bezug auf ein Weltkoordinatensystem, einer TransformationsmatrixwldTrob2 in einem Slave-Roboterkoordinatensystem in Bezug auf das Weltkoordinatensystem, und der TransformationsmatrixE1T'E2 . - Im Vergleichsbeispiel wird jedoch die Transformationsmatrix, die zur Transformation des Befehlswerts zwischen dem Master und dem Slave verwendet wird, auf
E1T'E2 festgesetzt, die am Anlernpunkt bei einer spezifischen Roboterhaltung berechnet wurde. Deshalb ist es, selbst wenn der Befehlswert auf Grundlage einer Wirkkraft korrigiert wird, schwierig, ein Positionsverhältnis zwischen den Robotern oder zwischen den Robotern und dem Werkstück an allen Positionen auf Bahnen im kooperativen Betrieb in einem festgelegten Zustand zu halten. Deshalb wird in der ersten Ausführungsform die TransformationsmatrixE1T'E2 für die jeweiligen M Befehlswerte so berechnet, dass das Positionsverhältnis zwischen den Robotern oder zwischen den Robotern und dem Werkstück an allen Positionen auf den Bahnen im kooperativen Betrieb beibehalten werden kann. -
4 ist ein Schema zur Erläuterung eines Robotersteuerungssystems in der ersten Ausführungsform der vorliegenden Erfindung, das eine Positionsverhältnisberechnungsvorrichtung umfasst. Komponenten, die dieselben Funktionen wie im Vergleichsbeispiel haben, sind mit denselben Bezugszahlen und Bezugszeichen bezeichnet und eine redundante Erklärung der Komponenten wird weggelassen. - Wie in der Figur gezeigt ist, umfasst die Master-Steuerungsvorrichtung
20a die Befehlswertspeichereinheit100 , die Korrekturbetraggenerierungseinheit102a , die Generierungseinheit101a für korrigierte Befehlswerte, die Antriebssteuerungseinheit103a und die Momentanpositionserfassungseinheit104a . Die Korrekturbetraggenerierungseinheit102a umfasst die Wirkkraftberechnungseinheit105a , die Korrekturbetragberechnungseinheit106a und die Korrekturbetragspeichereinheit107a . - Die Positionsverhältnisberechnungseinheit
30 umfasst eine Transformationsmatrixgenerierungseinheit200 , die auf Grundlage von Befehlswerten zum Positionieren an N (N ist eine natürliche Zahl kleiner als M und gleich oder kleiner als 2) Anlernpunkten, die eine Betriebsstartposition beinhalten, Transformationsmatrizes (Transformationsmatrizes zum Anlernen) berechnet, die die jeweiligen Anlernpunkte betreffen, eine Transformationsmatrixspeichereinheit201 , die N Transformationsmatrizes zum Anlernen speichert, und eine Transformationsmatrixfunktionsgenerierungseinheit202 , die eine Transformationsmatrixfunktion auf Grundlage der N Transformationsmatrizes zum Anlernen berechnet. Details der Transformationsmatrixfunktion werden nachstehend erklärt. Die berechnete Transformationsmatrixfunktion wird in der ersten Ausführungsform als Positionsverhältnisinformation an die Slave-Steuerungsvorrichtung20b übertragen. - Die Slave-Steuerungsvorrichtung
20b umfasst eine Transformationsmatrixfunktionsspeichereinheit210 , die die Transformationsmatrixfunktion speichert, die durch die Positionsverhältnisberechnungsvorrichtung30 berechnet wird, eine Befehlswertgenerierungseinheit211 , die auf Grundlage des Tm-ten Befehlswerts (eines ersten Befehlswerts zum Ansteuern) für den Endeffektor11a und der Transformationsmatrixfunktion einen Tm-ten Befehlswert (einen zweiten Befehlswert zum Ansteuern) zum Positionieren des Endeffektors11b generiert, die Korrekturbetraggenerierungseinheit102b , die Generierungseinheit101b für korrigierte Befehlswerte, die Antriebssteuerungseinheit103b und die Momentanpositionserfassungseinheit104b . Die Korrekturbetraggenerierungseinheit102b umfasst eine der Konfiguration der Korrekturbetraggenerierungseinheit102a entsprechende Auslegung. - Gemäß der ersten Ausführungsform kooperieren die Generierungseinheiten
101a und101b für korrigierte Befehlswerte und die Korrekturbetraggenerierungseinheiten102a und102b miteinander, um als eine Generierungseinheit für positionskorrigierte Befehlswerte zu fungieren, die einen positionskorrigierten Befehlswert (einen Befehlswert zum Anlernen oder einen nachstehend erklärten ersten Befehlswert zum Anlernen) für jeden von auf Bahnen positionierten Robotern bei den jeweiligen N Befehlswerten während der gleichzeitigen Ansteuerung generiert. Die Befehlswertspeichereinheit100 fungiert als Erstbefehlswertausgabeeinheit, die einen Befehlswert (einen ersten Befehlswert zum Ansteuern) in jedem von M (M>N) Betriebszeiträumen ausgibt, um eine Bahn des Endeffektors11a zu definieren. Anzumerken ist, dass in der folgenden Erklärung davon ausgegangen wird, dass die Befehlswertspeichereinheit100 einen Befehlswert vorab speichert und den gespeicherten Befehlswert ausgibt. Jedoch kann auch eine Funktionseinheit, die einen Befehlswert sequentiell auf Grundlage einer vorbestimmten Berechnung generiert, als die Ausgabeeinheit für den ersten Befehlswert übernommen werden. Die Transformationsmatrixfunktionsgenerierungseinheit202 und die Befehlswertgenerierungseinheit211 kooperieren miteinander, um als eine Positionsverhältnismatrixinterpolationseinheit zu fungieren, die die N Transformationsmatrizes interpoliert und eine Transformationsmatrix für jeden der Befehlswerte für den Endeffektor11a generiert. Die Befehlswertgenerierungseinheit211 fungiert als eine Generierungseinheit für zweite Befehlswerte, die bewirkt, dass die Transformationsmatrix nach der Interpolation in jedem der Betriebszeiträume auf die jeweiligen Befehlswerte wirkt, um M Befehlswerte (zweite Befehlswerte zum Ansteuern) zum Definieren einer Bahn des Endeffektors11b zu generieren. - Ein Robotersteuerungsverfahren in der ersten Ausführungsform der vorliegenden Erfindung, das unter Verwendung des in
4 gezeigten Robotersteuerungssystems durchgeführt wird, wird nun erklärt.5 ist ein Ablaufschema zur Erläuterung einer Vorbereitungsverarbeitung, die in dem Robotersteuerungsverfahren in der ersten Ausführungsform offline erfolgt. - Zuerst bewegt der Benutzer die Endeffektoren
11a und11b unter Verwendung der Bedienkonsole zu den Anlernpunkten auf Bahnen während eines kooperativen Betriebs zum Anlernen oder dergleichen (SchrittS1 ). In diesem Fall kann der Benutzer beispielsweise bewirken, dass die Endeffektoren11a und11b tatsächlich ein Werkstück ergreifen, um Fingerpositionen der Endeffektoren11a und11b einzustellen, und dass die Steuervorrichtungen20a und20b Positionen an diesem Punkt erfassen. Anzumerken ist, dass die Positionsanpassung an jeweiligen N Anlernpunkten durchgeführt wird. - Die Generierungseinheit
101a für korrigierte Befehlswerte speichert eine Position des Endeffektors11a , die an einem Tk-ten (Tk ist eine ganze Zahl, die 1≤Tk≤N erfüllt) Anlernpunkt eingenommen wird, in der Befehlswertspeichereinheit100 als einen Tk-ten Befehlswert (Befehlswert zum Anlernen), der sich auf den Master-Roboter10a bezieht, und gibt den Befehlswert zum Anlernen an die Positionsverhältnisberechnungsvorrichtung30 aus (SchrittS2 ). Die Generierungseinheit101b für korrigierte Befehlswerte gibt die Position des Endeffektors11b , der dem SchrittS2 unterzogen wird, an die Positionsverhältnisberechnungsvorrichtung30 als einen auf den Slave-Roboter10b bezogenen Tk-ten Befehlswert zum Anlernen aus (SchrittS3 ). - Anzumerken ist, dass, wenn bewirkt wird, dass die Endeffektoren
11a und11b das Werkstück tatsächlich ergreifen, um die Positionsanpassung durchzuführen, die Korrekturbetragsgenerierungseinheit102a die Berechnung eines Korrekturbetrags fortsetzt, bis die durch die Wirkkraftberechnungseinheit105a berechnete Wirkkraft so korrigiert ist, dass sie gleich einem oder kleiner als ein vorbestimmter Wert ist. Die Generierungseinheit101a für korrigierte Befehlswerte kann mit einem sequentiell berechneten Korrekturbetrag einen Korrekturbetrag aktualisieren, der zu dem aus der Befehlswertspeichereinheit100 gelieferten vorbestimmten Befehlswert hinzuaddiert wird, und kann, wenn ein korrigierter Befehlswert, mit dem die Wirkkraft gleich dem oder kleiner als der vorbestimmte Wert wird, erreicht wird, den korrigierten Befehlswert als einen Befehlswert zum Anlernen setzen. Anzumerken ist, dass die Messung einer Wirkkraft, die Berechnung eines Korrekturbetrags auf Grundlage der gemessenen Wirkkraft und die Korrektur eines Befehlswerts mit dem berechneten Korrekturbetrag auf dieselbe Weise auch in der Slave-Steuerungsvorrichtung20b durchgeführt werden. Ein erhaltener korrigierter Befehlswert wird als Befehlswert zum Anlernen durch die Verarbeitung im SchrittS3 ausgegeben. Anzumerken ist, dass es sich bei einem Korrekturwert, der den Generierungseinheiten101a und101b für korrigierte Befehlswerte während der Anpassung der Position provisorisch bereitgestellt wird, um einen vorbestimmten, feststehenden Wert handeln kann. - Ein Messverfahren für eine Wirkkraft durch die Wirkkraftberechnungseinheit
105a kann ein beliebiges Verfahren sein. Beispielsweise ist es möglich, ein Verfahren zu übernehmen, bei dem ein Kraftsensor an einem Handgelenkabschnitt eines Roboters befestigt und ein Erfassungswert durch den Kraftsensor als Messwert einer Wirkkraft gesetzt wird, oder es kann ein Verfahren übernommen werden, bei dem eine Fingerwirkkraft f (3 Achsenkräfte + 3 Momente) mit Statik aus einem Drehmoment τ unter Verwendung einer Jacobimatrix J (ein Freiheitsgrad des Roboters) geschätzt wird (τ = JT * f, worin JT eine transponierte Matrix einer Matrix J ist). Ferner ist es möglich, ein Verfahren zu übernehmen, bei dem Drehmomente von Wellen von Robotern10a und10b aus Motorströmen der Wellen berechnet werden und eine Fingerwirkkraft aus Ausgaben der berechneten Drehmomente geschätzt wird, oder ein Verfahren, bei dem Drehmomentsensoren an den Wellen angebracht werden und eine Wirkkraft aus ausgegebenen Drehmomenten geschätzt wird, die aus den Drehmomentsensoren anstelle der Motorströme erhalten werden. - Anzumerken ist, dass in der folgenden Erklärung davon ausgegangen wird, dass die Endeffektoren
11a und11b dazu veranlasst werden, das Werkstück tatsächlich zu ergreifen, um eine Positionsanpassung durchzuführen, und ein korrigierter Befehlswert als ein Befehlswert zum Anlernen aufgezeichnet wird. Allerdings kann, wenn die Positionsanpassung durchgeführt wird, ohne zu bewirken, dass die Endeffektoren11a und11b das Werkstück ergreifen, die Generierungseinheit101a für korrigierte Befehlswerte als Befehlswert zum Anlernen einen Positionserfassungswert ansetzen, der durch die Momentanpositionserfassungseinheit104a erfasst und als Rückkopplungssignal verwendet wird. Selbiges trifft auf die Slave-Steuerungsvorrichtung20b zu. Selbst wenn bewirkt wird, dass die Endeffektoren11a und11b das Werkstück tatsächlich ergreifen, um die Positionsanpassung durchzuführen, kann ein durch die Momentanpositionserfassungseinheiten104a und104b erfasster Positionserfassungswert als der Befehlswert zum Anlernen angesetzt werden. - Wenn die Steuerungsvorrichtungen
20a und20b keine Einrichtungen zum Messen einer Wirkkraft umfassen, kann ein Benutzer die Position des Endeffektors11b jedes Mal dann manuell fein einstellen, wenn sich eine Arbeitsfläche oder eine Haltung verändert. In diesem Fall kann die Slave-Steuerungsvorrichtung20b den Endeffektor11b ansteuern, indem sie bewirkt, dass eine festgelegte Transformationsmatrix1ET'E2 , die vorab provisorisch angesetzt wird, auf einen Anlernpunkt für den Master-Roboter10a wirkt. Der Benutzer kann jedes Mal, wenn sich eine Haltung oder eine Position verändert, einen Zustand des Werkstücks visuell oder indem ein Sensor, der eine Kraft oder Verformung erfassen kann, zum Werkstück hinzugefügt wird, beobachten, und kann eine Feineinstellung unter Verwendung der Bedienkonsole auf Grundlage des Ergebnisses der Beobachtung durchführen. Anzumerken ist, dass ein Zustand, in dem eine Wirkkraft nicht gemessen werden kann, entweder dann vorliegt, wenn schlichtweg kein Sensor zum Messen der Wirkkraft in den Endeffektoren11a und11b und keine Funktion zum Durchführen einer Fingerwirkkraftberechnung aus einem Motorausgang vorhanden ist oder wenn während des kooperativen Betriebs der master-seitige Roboter mit dem Werkstück in Kontakt ist aber der slave-seitige Roboter nicht mit dem Werkstück in Kontakt ist. - Der Benutzer bestimmt, ob die Positionsanpassung für alle (N) Anlernpunkte durchgeführt wird (Schritt
S4 ). Wenn die alle Anlernpunkte betreffende Positionsanpassung nicht durchgeführt wird (NEIN im SchrittS4 ), führt der Benutzer im SchrittS1 eine Positionsanpassung für den nächsten Anlernpunkt durch. - Aus diese Weise wird der Endeffektor
11a zum Anlernpunkt bewegt, und der Endeffektor11b wird zu einer Position bewegt, die dem Endeffektor11a am Anlernpunkt entspricht. Folglich ist es möglich, Befehlswerte zu erhalten, an die der absolute Positionsfehler (positionskorrigierte Befehlswerte) in den jeweiligen N Befehlswerten auf den Bahnen der Endeffektoren11a und11b angepasst wird. - Wenn die Positionsanpassung für alle Anlernpunkte abgeschlossen ist (JA im Schritt
S4 ), empfängt in der Positionsverhältnisberechnungsvorrichtung30 die Transformationsmatrixgenerierungseinheit200 als Eingaben den Tk-ten Befehlswert zum Anlernen und den korrigierten Befehlswert, der durch die Generierungseinheit101b für korrigierte Befehlswerte an dem Punkt generiert wird, an dem der Tk-te Befehlswert zum Anlernen bestimmt wird, und generiert eine Tk-te Transformationsmatrix (Transformationsmatrix zum Anlernen) (SchrittS5 ). Anzumerken ist, dass die Transformationsmatrixgenerierungseinheit200 die generierte Transformationsmatrix zum Anlernen in der Transformationsmatrixspeichereinheit201 speichert. Die Generierung der Transformationsmatrix zum Anlernen erfolgt die jeweiligen N Anlernpunkte betreffend. - Anschließend generiert die Transformationsmatrixfunktionsgenerierungseinheit
202 eine Transformationsmatrixfunktion auf Grundlage der N Transformationsmatrizes zum Anlernen, die in der Transformationsmatrixspeichereinheit201 gespeichert sind (SchrittS6 ). - Bei der Transformationsmatrixfunktion handelt es sich um eine Funktion, um eine Transformationsmatrixgruppe zum Interpolieren von N Transformationsmatrizes
E1T'E2 (k), k=1, 2, ..., N zu spezifizieren. Eine gesamte Bahn wird auf Grundlage der N Befehlswerte zum Anlernen in N-1 Abschnitte unterteilt. Die Funktion besitzt Bewegungsraten „Rate“ in den jeweiligen Abschnitten als Variablen. Ein Berechnungsverfahren für eine Transformationsmatrixfunktion durch die Transformationsmatrixfunktionsgenerierungseinheit202 wird nachstehend erklärt. - Wenn ein Abstand zwischen einem k-ten Befehlswert zum Anlernen von Pk und einem k+1-ten Befehlswert zum Anlernen von Pk+1 als La11(k, k+1) und eine Restbewegungsstrecke zur momentanen Zeit Tnow als Lr (k, k+1, Tnow) dargestellt wird, wird eine Bewegungsrate Rate (k, k+1, Tnow) gemäß folgender Formel (5) definiert:
- Eine Transformationsmatrix an einer momentanen Position, die durch Rate (k, k+1, Tnow) dargestellt wird, kann durch eine Transformationsmatrixfunktion
E1T'E2 (Rate (k, k+1, Tnow)) berechnet werden. Ein Verfahren zum Berechnen einer Rotationskomponente und einer Translationskomponente der TransformationsmatrixfunktionE1T'E2 (Rate (k, k+1, Tnow)) wird nun erklärt. - Zuerst wird eine Translationsposition E1P'E2 (Rate (k, k+1, Tnow)) wie nachstehend erklärt berechnet. Wenn eine Schwankung in einer relativen Translation von Fingerpositionen der Endeffektoren
11a und11b an Pk und Pk+1 als Rotationsmatrix ΔPk dargestellt wird, wird ΔPk durch die folgende Formel (6) dargestellt: -
- Ein Verfahren zum Berechnen einer Rotationsmatrix E1R'E2 (Rate (k, k+1, Tnow)), bei der es sich um eine Rotationskomponente der Transformationsmatrixfunktion E1T'E2 (rate (k, k+1, Tnow)) handelt, wird nun erklärt. Wenn eine Schwankung in einer relativen Rotationsmatrix von Fingerpositionen der Endeffektoren
11a und11b an Pk und Pk+1 als Rotationsmatrix ΔRk dargestellt wird, wird ΔRk durch die folgende Formel (8) dargestellt: - Als ein Verfahren, die Bewegungsrate Rate (k, k+1, Tnow) zwischen Pk und Pk+1 darzustellen, ist beispielsweise ein Verfahren bekannt, eine Rotationsmatrix unter Verwendung eines Rotationsachsenvektors k und eines Rotationsbetrags α darzustellen, die anhand eines Einachsen-Rotationsverfahrens erhalten werden. In diesem Fall wird ein Verfahren übernommen, α entsprechend Rate (k, k+1, Tnow) zu verändern. Wenn das Einachsen-Rotationsverfahren übernommen wird, wird speziell ΔRk anhand des Rotationsachsenvektors k und des Rotationsbetrags α äquivalent dargestellt. Es gibt die folgende Beziehung zwischen einer Rotationsmatrix und [k, α]:
-
-
- Wenn ΔR (Rate_k, k+1) entsprechend einer Bewegungsposition verändert wird, ist es nebenbei möglich, ein Verfahren zum Berechnen einer Rotationsmatrix unter Verwendung einer Quaternionendarstellung zu übernehmen und das durch Quaternionen berechnete Ergebnis in eine Rotationsmatrix zu transformieren.
-
- Die Transformationsmatrixfunktion, die durch die Transformationsmatrixfunktionsgenerierungseinheit
202 auf Grundlage des Berechnungsverfahrens berechnet wird, wird an die Slave-Steuerungsvorrichtung20b übertragen und in der Transformationsmatrixfunktionsspeichereinheit210 gespeichert. - Die Vorbereitungsverarbeitung für den kooperativen Betrieb wird durch die Verarbeitung in den Schritten
S1 bisS6 abgeschlossen. Danach kann der Benutzer veranlassen, dass das Robotersteuerungssystem den Automatikbetrieb startet. -
6 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs während des Automatikbetriebs der Master-Steuerungsvorrichtung20a im Robotersteuerungsverfahren in der ersten Ausführungsform.7 ist ein Ablaufschema zur Erläuterung eines Funktionsablaufs während des Automatikbetriebs der Slave-Steuerungsvorrichtung20b im Robotersteuerungsverfahren in der ersten Ausführungsform. - In der Master-Steuerungsvorrichtung
20a initialisiert, wie in6 gezeigt ist, die Generierungseinheit101a für korrigierte Befehlswerte zuerst Tm mit 1 (SchrittS11 ) und extrahiert den Tm-ten Befehlswert, der in der Befehlswertspeichereinheit100 gespeichert ist (SchrittS12 ). Andererseits berechnet die Korrekturbetraggenerierungseinheit102a einen Tm-ten Korrekturbetrag auf Grundlage der Korrekturbeträge, die sich auf Befehlswerte bis zum Tm-1-ten Befehlswert, die in der Korrekturbetragspeichereinheit107a akkumuliert sind, und eine durch die Wirkkraftberechnungseinheit105a gemessene Wirkkraft (SchrittS13 ) beziehen. Die Generierungseinheit101a für korrigierte Befehlswerte addiert den extrahierten Tm-ten Befehlswert und den Tm-ten Korrekturbetrag auf und generiert einen Tm-ten korrigierten Befehlswert (SchrittS14 ). Anzumerken ist, dass die Antriebssteuerungseinheit103a eine Positionierung des Endeffektors11a auf Grundlage des so generierten Tm-ten korrigierten Befehlswerts durchführen kann. Nach dem SchrittS14 erhöht die Generierungseinheit101a für korrigierte Befehlswerte Tm um 1 (SchrittS15 ) und führt die Verarbeitung im SchrittS11 aus. Anzumerken ist, dass im SchrittS15 , wenn der Wert von Tm vor der Erhöhung gleich M, der Gesamtsumme von Befehlswerten, ist, Tm = 1 gesetzt werden kann. - In der Slave-Steuerungsvorrichtung
20b initialisiert, wie in7 gezeigt ist, die Befehlswertgenerierungseinheit211 zuerst Tm mit 1 (SchrittS21 ) und extrahiert den Tm-ten Befehlswert, der in der Befehlswertspeichereinheit100 gespeichert ist (SchrittS22 ). Die Befehlswertgenerierungseinheit211 berechnet einen Abschnitt (einen durchPk , Pk+1 dargestellten Abschnitt), der den extrahierten Tm-ten Befehlswert und rate(k, k+1, Tnow) enthält (SchrittS23 ). Die Befehlswertgenerierungseinheit211 berechnet eine Transformationsmatrix E1T'E2 (Rate (k, k+1, Tnow)) nach den Formeln 13 bis 16 (SchrittS24 ). Die Befehlswertgenerierungseinheit211 veranlasst, dass die berechnete Transformationsmatrix E1T'E2 (Rate (k, k+1, Tnow) auf den erfassten Tm-ten Befehlswert wirkt und generiert den Tm-ten Befehlswert für den Endeffektor11b (SchrittS25 ). Andererseits berechnet die Korrekturbetraggenerierungseinheit102b den Tm-ten Korrekturbetrag auf Grundlage der Korrekturbeträge, die sich auf Befehlswerte bis zum Tm-1-ten Befehlswert, die in der Korrekturbetragspeichereinheit107b akkumuliert sind, und eine durch eine Wirkkraftberechnungseinheit105b gemessene Wirkkraft (SchrittS26 ) beziehen. Die Generierungseinheit101b für korrigierte Befehlswerte addiert den generierten Tm-ten Befehlswert und den Tm-ten Korrekturbetrag auf und generiert einen Tm-ten korrigierten Befehlswert (SchrittS27 ). Anzumerken ist, dass die Antriebssteuerungseinheit103b eine Positionierung des Endeffektors11b auf Grundlage des generierten Tm-ten korrigierten Befehlswerts durchführen kann. Nach dem SchrittS27 erhöht die Befehlswertgenerierungseinheit211 Tm um 1 (SchrittS28 ) und führt die Verarbeitung im SchrittS22 aus. Anzumerken ist, dass im SchrittS27 , wenn der Wert von Tm vor der Erhöhung gleich M, der Gesamtsumme von Befehlswerten, ist, Tm = 1 gesetzt werden kann. - Anzumerken ist, dass davon ausgegangen wird, dass der Wert von Tm in der Master-Steuerungsvorrichtung
20a und der Wert von Tm in der Slave-Steuerungsvorrichtung20b miteinander synchronisieren. - Anzumerken ist, dass die Befehlswertspeichereinheit
100 , die Generierungseinheit101a für korrigierte Befehlswerte, die Wirkkraftberechnungseinheit105a , die Korrekturbetragberechnungseinheit106a und die Korrekturbetragberechnungseinheit107a allesamt oder ein Teil von ihnen als eine Hardware oder Software oder eine Kombination aus der Hard- und Software ausgeführt sein kann. Als Software auszuführen bedeutet, dass in einem Computer, der eine Recheneinheit und eine Speichervorrichtung umfasst, Programmbausteine, die den Komponenten entsprechen, in der Speichervorrichtung gespeichert sind und die Recheneinheit die in der Speichervorrichtung gespeicherten Programmbausteine ausführt, um dadurch Funktionen der Komponenten den Programmbausteinen entsprechend auszuführen. Anzumerken ist, dass die Funktionen der Befehlswertspeichereinheit100 und der Korrekturbetragspeichereinheit107a ausgeführt werden, wenn Speicherplätze, die diesen jeweils entsprechen, in der Speichervorrichtung gesichert sind. - Ähnlich können ein Teil oder alle Komponenten der Positionsverhältnisberechnungsvorrichtung
30 als Hardware oder Software oder eine Kombination aus Hard- und Software ausgeführt sein. Die Befehlswertgenerierungseinheit211 , die Transformationsmatrixfunktionsspeichereinheit210 , die Generierungseinheit101b für korrigierte Befehlswerte, die Wirkkraftberechnungseinheit105b , eine Korrekturbetragberechnungseinheit106b und die Korrekturbetragspeichereinheit107b können allesamt oder teilweise als eine Hardware oder Software oder eine Kombination aus Hard- und Software ausgeführt sein. - Die Master-Steuerungsvorrichtung
20a , die Slave-Steuerungsvorrichtung20b und die Positionsverhältnisberechnungsvorrichtung30 sind als voneinander unterschiedliche Vorrichtungen beschrieben. Jedoch können beliebige zwei oder alle der Vorrichtungen als eine Vorrichtung ausgeführt sein. Jede der Vorrichtungen kann so ausgeführt sein, dass sie in mehrere Vorrichtungen unterteilt ist. - In der vorstehenden Erklärung sind sowohl die Master-Steuerungsvorrichtung
20a als auch die Slave-Steuerungsvorrichtung20b so dargestellt, dass sie die Korrektur auf Grundlage der Wirkkraft durchführen. Jedoch kann auch nur eine der Steuerungsvorrichtungen die Korrektur auf Grundlage der Wirkkraft durchführen. - In der vorstehenden Erklärung ist das Beispiel erläutert, in dem die erste Ausführungsform der vorliegenden Erfindung auf das Produktionssystem angewendet wird, das die zwei Roboter (den Master-Roboter
10a und den Slave-Roboter10b) umfasst. Jedoch kann die erste Ausführungsform der vorliegenden Erfindung auch auf ein Produktionssystem angewendet werden, in dem drei oder mehr Roboter in Kooperation miteinander arbeiten. In diesem Fall kann die erste Ausführungsform angewendet werden, indem einer der kooperativ arbeitenden Roboter als ein Master-Roboter und alle anderen Roboter als Slave-Roboter eingesetzt werden. - Wie vorstehend erklärt, ist nach der ersten Ausführungsform der vorliegenden Erfindung die Robotersteuerungsvorrichtung so ausgelegt, dass sie die Transformationsmatrixgenerierungseinheit
200 umfasst, die als Positionsverhältnismatrixgenerierungseinheit fungiert, die auf Grundlage des positionskorrigierten Befehlswerts bei den jeweiligen N Befehlswerten während der Synchronansteuerung für jeden der zu positionierenden Roboter, was die jeweiligen N Befehlswerte betrifft, die Transformationsmatrix zum Anlernen generiert, die als Positionsverhältnismatrix zum Definieren des Positionsverhältnisses unter den positionskorrigierten Befehlswerten der Roboter fungiert, die Befehlswertspeichereinheit100 , die als die Erstbefehlswertausgabeeinheit fungiert, die den Befehlswert für den Master-Roboter10a in jedem der M (M>N) Betriebszeiträume zum Definieren der Bahn des Master-Roboters10a ausgibt, die Transformationsmatrixfunktionsgenerierungseinheit202 und die Befehlswertgenerierungseinheit211 , die als die Positionsverhältnismatrixinterpolationseinheit fungiert, die die N Transformationsmatrizes zum Anlernen interpoliert und die Transformationsmatrix für jeden der Befehlswerte in jedem der Betriebszeiträume generiert, und die Befehlswertgenerierungseinheit211 , die die Funktion als die Zweitbefehlswertgenerierungseinheit umfasst, die bewirkt, dass die Transformationsmatrix zum Anlernen nach der Interpolation auf die jeweiligen Befehlswerte in jedem der Betriebszeiträume für den Master-Roboter10a wirkt und den Befehlswert in jedem der Betriebszeiträume für den Slave-Roboter10b generiert. Deshalb ist es möglich, eine Transformationsmatrix in jedem der Betriebszeiträume approximativ zu berechnen und einen Befehlswert für den Slave-Roboter10b zu generieren. Deshalb ist es möglich, eine an ein ergriffenes Werkstück angelegte Belastung an jeder Position auf tatsächlichen Bahnen mehrerer Roboter in einem kooperativen Betrieb so weit wie möglich zu reduzieren und einen hochschnellen, kooperativen Betrieb der Roboter zu realisieren. - Der Robotersteuerungsvorrichtung in der ersten Ausführungsform werden Anlernpunkte durch den Benutzer vorgegeben. Durch den Benutzer werden der Master-Roboter
10a und der Slave-Roboter10b dazu veranlasst, sich zu den jeweiligen N Anlernpunkten zu begeben und dort anzuhalten. Der Master-Roboter10a und der Slave-Roboter10b sind so ausgelegt, dass sie die Generierungseinheiten101a und101b für korrigierte Befehlswerte und die Korrekturbetraggenerierungseinheiten102a und102b umfassen, die als Generierungseinheit für positionskorrigierte Befehlswerte arbeiten, die einen Befehlswert für jeden der Roboter generiert und den Befehlswert als einen Befehlswert zum Anlernen jedes Mal dann ansetzt, wenn der Master-Roboter10a und der Slave-Roboter10b an den jeweiligen N Anlernpunkten zum Stillstehen veranlasst sind. Deshalb ist es unnötig, eine Einstellung eines Kraftsteuerungssystems anzupassen, um es dem Benutzer zu ermöglichen, einen einem absoluten Positionsfehler in allen Abschnitten entsprechenden Betrag zu korrigieren, und dementsprechend wird es ermöglicht, eine Hochfahrzeit zu verkürzen. - Zweite Ausführungsform
- Nach der zweiten Ausführungsform ist es möglich, auch dynamisch verursachte Fehler wie etwa eine Verschiebung einer Fingerposition aufgrund einer Schwankung der Temperatur eines Roboterhauptkörpers oder einer Umgebungstemperatur und einer Verschiebung einer Fingerposition aufgrund einer Synchronisationszeitvorgabeverschiebung während des Betriebs von zwei oder mehr Robotern anzulernen und eine Transformationsmatrix zu aktualisieren.
8 ist ein Schema zur Erläuterung eines Robotersteuerungssystems in der zweiten Ausführungsform der vorliegenden Erfindung, das eine Positionsverhältnisberechnungsvorrichtung umfasst. Anzumerken ist, dass Komponenten, bei denen es sich um dieselben wie die Komponenten in der ersten Ausführungsform handelt, durch dieselben Bezugszahlen und -zeichen bezeichnet sind wie in der ersten Ausführungsform und eine redundante Erklärung der Komponenten weggelassen wird. - Wie in
8 gezeigt ist, umfasst eine Master-Steuerungsvorrichtung21a die Befehlswertspeichereinheit100 , die Korrekturbetraggenerierungseinheit102a , die Generierungseinheit101a für korrigierte Befehlswerte, die Antriebssteuerungseinheit103a und die Momentanpositionserfassungseinheit104a . Die Korrekturbetraggenerierungseinheit102a umfasst die Wirkkraftberechnungseinheit105a , die Korrekturbetragberechnungseinheit106a und die Korrekturbetragspeichereinheit107a . Im Normalbetrieb gibt die Master-Steuerungsvorrichtung21a die durch die Momentanpositionserfassungseinheit104a erfasste mome vntane Position an eine Positionsverhältnisberechnungsvorrichtung31 aus. - Die Positionsverhältnisberechnungsvorrichtung
31 umfasst eine Transformationsmatrixgenerierungseinheit300 , eine Transformationsmatrixspeichereinheit301 , die N Transformationsmatrizes zum Anlernen speichert, und eine Transformationsmatrixfunktionsgenerierungseinheit302 . Die Transformationsmatrixgenerierungseinheit300 , die Transformationsmatrixspeichereinheit 301und die Transformationsmatrixfunktionsgenerierungseinheit302 führen dieselbe Verarbeitung durch wie die Verarbeitung durch die entsprechenden Komponenten in der ersten Ausführungsform bei der Vorbereitungsverarbeitung und generieren eine Transformationsmatrixfunktion (eine erste Transformationsmatrixfunktion) in der ersten Ausführungsform. Während des normalen Betriebs generieren die Transformationsmatrixgenerierungseinheit300 , die Transformationsmatrixspeichereinheit301 und die Transformationsmatrixfunktionsgenerierungseinheit302 dynamisch eine Transformationsmatrixfunktion (eine zweite Transformationsmatrixfunktion) auf Grundlage der jeweiligen durch die Momentanpositionserfassungseinheiten104a und104b erfassten momentanen Positionen. - Eine Slave-Steuerungsvorrichtung
21b umfasst eine Transformationsmatrixfunktionsspeichereinheit310 , eine Befehlswertgenerierungseinheit311 , die Korrekturbetraggenerierungseinheit102b , die Generierungseinheit101b für korrigierte Befehlswerte, die Antriebssteuerungseinheit103b und die Momentanpositionserfassungseinheit104b . Die Korrekturbetraggenerierungseinheit102b hat eine Konfiguration entsprechend der der Korrekturbetragsgenerierungseinheit102a . -
9 ist ein Schema zur Erläuterung einer Speicherkonfiguration der Transformationsmatrixfunktionsspeichereinheit310 . Wie in der Figur gezeigt ist, speichert die Transformationsmatrixfunktionsspeichereinheit310 eine erste Transformationsmatrixfunktion303 und eine zweite Transformationsmatrixfunktion304 , die durch die Positionsverhältnisberechnungsvorrichtung31 berechnet werden. Anzumerken ist, dass die zweite Transformationsmatrixfunktion304 , die durch die Transformationsmatrixfunktionsspeichereinheit310 gespeichert wird, von der Positionsverhältnisberechnungsvorrichtung31 dynamisch aktualisiert wird. - Die Befehlswertgenerierungseinheit
311 kann einen Tm-ten Befehlswert unter Verwendung der ersten Transformationsmatrixfunktion303 und der zweiten Transformationsmatrixfunktion304 generieren. - Ein Robotersteuerungsverfahren in der zweiten Ausführungsform der vorliegenden Erfindung, das unter Verwendung des in
8 gezeigten Robotersteuerungssystems ausgeführt wird, wird nun erklärt. Anzumerken ist, dass es sich bei der offline erfolgenden Vorbereitungsverarbeitung um dieselbe wie in der ersten Ausführungsform handelt. Deshalb wird eine Erklärung der Vorbereitungsverarbeitung weggelassen. Die durch die Vorbereitungsverarbeitung generierte Transformationsmatrixfunktion wird in der Transformationsmatrixfunktionsspeichereinheit310 als die erste Transformationsmatrixfunktion303 gespeichert. - Bei einem normalen Betrieb der Master-Steuerungsvorrichtung
21a handelt es sich um denselben wie in der ersten Ausführungsform, mit der Ausnahme, dass die Master-Steuerungsvorrichtung21a die durch die Momentanpositionserfassungseinheit104a erfasste momentane Position an die Positionsverhältnisberechnungsvorrichtung31 ausgibt. Deshalb wird die Erklärung des normalen Betriebs weggelassen. Anzumerken ist, dass die Slave-Steuerungsvorrichtung21b wie die Master-Steuerungsvorrichtung21a die durch die Momentanpositionserfassungseinheit104b erfasste momentane Position an die Positionsverhältnisberechnungsvorrichtung31 ausgibt. Der Einfachheit halber wird davon ausgegangen, dass jedes Mal, wenn die jeweiligen N Befehlswerte, die einem Befehlswert zum Anlernen unter den M Befehlswerten am nächsten kommen, durch die Generierungseinheit101a für korrigierte Befehlswerte und die Befehlswertgenerierungseinheit311 aus der Befehlswertspeichereinheit100 erfasst werden, die Master-Steuerungsvorrichtung21 und die Slave-Steuerungsvorrichtung21b die momentane Position an die Positionsverhältnisberechnungsvorrichtung31 ausgeben. Das heißt, die Momentanpositionserfassungseinheiten104a und104b geben jedes Mal dann jeweils Positionserfassungswerte als neuen Befehlswert zum Anlernen aus, wenn der Master-Roboter10a einen Anlernpunkt oder einen dem Anlernpunkt am nächsten liegenden Punkt erreicht. -
10 ist ein Schema zur Erläuterung eines Funktionsablaufs, bei dem die Positionsverhältnisberechnungseinheit31 die zweite Transformationsmatrixfunktion304 generiert. Zuerst generiert die Transformationsmatrixgenerierungseinheit 300 N Transformationsmatrizes zum Anlernen unter Verwendung von N Paaren momentaner Positionen, die von der Master-Steuerungsvorrichtung21a und der Slave-Steuerungsvorrichtung21b an jedem Betriebsabschlusspunkt eines Zyklus eingegeben werden als den Befehlswerten zum Anlernen in der ersten Ausführungsform (SchrittS31 ). Anzumerken ist, dass die Transformationsmatrixgenerierungseinheit300 die generierten Transformationsmatrizes zum Anlernen in der Transformationsmatrixspeichereinheit301 speichert. Danach generiert die Transformationsmatrixfunktionsgenerierungseinheit302 die zweite Transformationsmatrixfunktion304 auf Grundlage der N Transformationsmatrizes zum Anlernen, die durch die Verarbeitung im SchrittS31 in der Transformationsmatrixspeichereinheit301 gespeichert wurden (SchrittS32 ). Die generierte zweite Transformationsmatrixfunktion304 wird an die Slave-Steuerungsvorrichtung21b übertragen. Die durch die Transformationsmatrixfunktionsspeichereinheit310 gespeicherte zweite Transformationsmatrixfunktion304 wird mit der übertragenen zweiten Transformationsmatrixfunktion304 überschrieben. Danach wird die Verarbeitung im SchrittS31 ausgeführt. -
11 ist ein Ablaufschema zur Erläuterung eines normalen Betriebs der Slave-Steuerungsvorrichtung21b . In der Slave-Steuerungsvorrichtung21b initialisiert die Befehlswertgenerierungseinheit311 zuerst Tm mit 1 (SchrittS41 ) und extrahiert den in der Befehlswertspeichereinheit100 gespeicherten Tm-ten Befehlswert (SchrittS42 ). - Anschließend wählt die Befehlswertgenerierungseinheit
311 eine Transformationsmatrixfunktion aus, die verwendet werden soll (SchrittS43 ). Die Befehlswertgenerierungseinheit311 kann die Auswahlverarbeitung im SchrittS43 auf Grundlage jedes Standards durchführen. Die zweite Transformationsmatrixfunktion304 neigt zum Konvergieren, wenn eine im normalen Betrieb verstrichene Zeit zunimmt. Allerdings kann die Befehlswertgenerierungseinheit311 , wenn die Konvergenz unzureichend ist, die erste Transformationsmatrixfunktion303 auswählen. Die zweite Transformationsmatrixfunktion304 wird nicht unmittelbar nach Anlauf des normalen Betriebs generiert. Deshalb kann die Befehlswertgenerierungseinheit311 in diesem Fall die erste Transformationsmatrixfunktion303 auswählen. - Anschließend berechnet die Befehlswertgenerierungseinheit
311 einen Abschnitt (einen durch Pk, Pk+1 dargestellten Abschnitt), der den extrahierten Tm-ten Befehlswert und Rate(k, k+1, Tnow) enthält (SchrittS44 ). Die Befehlswertgenerierungseinheit311 berechnet eine Transformationsmatrix E1T'E2 (Rate (k, k+1, Tnow)) auf Grundlage der ausgewählten Transformationsmatrixfunktion und der Formeln 13 bis 16 (SchrittS45 ). Die Befehlswertgenerierungseinheit311 veranlasst, dass die berechnete Transformationsmatrix E1T'E2 (Rate (k, k+1, Tnow)) auf den erfassten Tm-ten Befehlswert wirkt, und generiert einen Tm-ten Befehlswert für den Endeffektor11b (SchrittS46 ). Andererseits berechnet die Korrekturbetraggenerierungseinheit102b einen Tm-ten Korrekturbetrag auf Grundlage der Korrekturbeträge, die sich auf in der Korrekturbetragspeichereinheit107b akkumulierte Befehlswerte bis zum Tm-1-ten Befehlswert beziehen, und einer durch die Wirkkraftberechnungseinheit105b gemessenen Wirkkraft (SchrittS47 ). Die Generierungseinheit101b für korrigierte Befehlswerte addiert den generierten Tm-ten Befehlswert und den Tm-ten Korrekturbetrag auf und generiert einen Tm-ten korrigierten Befehlswert (SchrittS48 ). Nach dem SchrittS48 erhöht die Befehlswertgenerierungseinheit311 Tm um 1 (SchrittS49 ) und führt die Verarbeitung im SchrittS42 aus. - Auf diese Weise umfassen nach der zweiten Ausführungsform der vorliegenden Erfindung die Master-Steuerungsvorrichtung
21a und die Slave-Steuerungsvorrichtung21b Befehlskorrektureinheiten (die Korrekturbetraggenerierungseinheiten102a und102b und die Generierungseinheiten101a und101b für korrigierte Befehlswerte), die eine Korrektur zum Reduzieren einer Wirkkraft an Fingern auf einen Befehlswert in jedem der Betriebszeiträume des Master-Roboters10a und/oder Slave-Roboters10b anwenden, und die Momentanpositionserfassungseinheiten104a und104b , die eine Funktion einer Positionserfassungseinheit beinhalten, die eine Positionserfassung für die Roboter10a und10b durchführt, und eine Funktion einer Generierungseinheit für positionskorrigierte Befehlswerte haben, die als Befehlswerte zum Anlernen die Position des ersten Roboters und die Position des zweiten Roboters ausgibt, die bei den jeweiligen N Befehlswerten erfasst wurden. Deshalb berechnen die Master-Steuerungsvorrichtung21a und die Slave-Steuerungsvorrichtung21b eine Transformationsmatrix zum Anlernen, während gleichzeitig als ein Befehlswert zum Anlernen eine dynamisch korrigierte Position zum Reduzieren einer an die Finger angelegten Wirkkraft verwendet wird, und aktualisieren sequentiell die zweite Transformationsmatrixfunktion unter Verwendung der berechneten Transformationsmatrix zum Anlernen. Deshalb ist es möglich, wenn die Roboter10a und10b den kooperativen Betrieb durchführen, jeweilige Fingerpositionen zu korrigieren, bis die Wirkkraft in einer abnehmenden Richtung konvergiert, und es wird auch ermöglicht, die Roboter10a und10b dazu zu veranlassen, den kooperativen Betrieb auf Bahnen auszuführen, auf denen die Wirkkraft schließlich am kleinsten wird. - Wenn beispielsweise ein Modus zum Fortsetzen der Aktualisierung der zweiten Transformationsmatrixfunktion und ein Modus zum Stoppen der Aktualisierung vorgesehen werden, ist es möglich, vom Anlernen einen Versuch auszuschließen, der unnötige Störungen umfasst (z.B. eine Zunahme einer auf die Roboter wirkenden Belastung aufgrund eines Kabelgewirrs im System), und kein Anlernen während der eigentlichen Produktion durchzuführen. Indem diese Auslegung vorgesehen wird, ist es möglich, eine Slave-Bahn unter Berücksichtigung eines Synchronisationsfehlers anzulernen, der durch einen Unterschied beim Ansprechen eines Motors bei jeder Haltung beim Veranlassen der Roboter, zu arbeiten, einer Kommunikationsverzögerung und dergleichen verursacht wird. Deshalb ist es möglich, eine genauere Bahn des Slave-Roboters anzulernen.
- Anzumerken ist, dass als ein Robotersteuerungsverfahren ein Interpolationsverfahren allgemein bekannt ist, um, wenn drei oder mehr Befehlswerte durch einen Benutzer erteilt werden, eine Bahn approximativ so zu bestimmen, dass eine Bahn zwischen einer Betriebsstartposition und einer Betriebsendposition unter Befehlswerten nahe einem Befehlswert verläuft, der sich in der Mitte der Positionen befindet (siehe z.B. Patentschrift
3 ). Nach dieser Technologie verläuft eine Bahn, die durch eine Robotersteuerungsvorrichtung auf Grundlage eines durch einen Benutzer erteilten Befehlswerts berechnet ist, nicht immer auf dem Befehlswert. Nach der zweiten Ausführungsform kann eine Transformationsmatrix dynamisch generiert werden. Deshalb ist es, auch wenn eine derartige Technologie angewendet wird, möglich, die Roboter10a und10b dazu zu veranlassen, den kooperativen Betrieb auf Bahnen durchzuführen, auf denen die an die Finger angelegte Wirkkraft abnimmt. In diesem Fall wird jedoch, was einen aus der Befehlswertspeichereinheit des Master-Roboters ausgegebenen Befehlswert betrifft, ein Befehlswert nach der Interpolationsverarbeitung im Falle, dass das Interpolationsverfahren angewendet wird, als Befehlswert in die Befehlswertgenerierungseinheit211 eingegeben. In diesem Fall gibt in der Transformationsmatrixgenerierungseinheit300 , wie in der ersten Ausführungsform erklärt, auch der Slave-Roboter einen Befehlswert nach der Interpolationsverarbeitung an die Generierungseinheit101b für korrigierte Befehlswerte unter Verwendung des durch die Befehlswertgenerierungseinheit211 erfassten Befehlswerts des Slave-Roboters aus, der anhand der während der Anlernarbeit erfassten Daten berechnet wurde. Im Ergebnis unterscheidet sich, wenn das Interpolationsverfahren ausgeführt wird, eine Transformationsmatrix, die vor einem Betrieb erhalten wurde, von einer Transformationsmatrix, die erhalten wird, wenn das Interpolationsverfahren nicht ausgeführt wird. - Wenn der Befehlswert in jedem der Betriebszeiträume an die Antriebssteuerungseinheit
103a ausgegeben wird, kann die Master-Steuerungsvorrichtung21a eine Filterverarbeitung auf den Befehlswert anwenden. Wenn die Filterverarbeitung auf den Befehlswert in jedem der Betriebszeiträume angewendet wird, tritt eine Verschiebung zwischen einer Position auf einer Bahn, auf der der Roboter tatsächlich verläuft, und einem interpolierten Befehlswert auf. In diesem Fall setzt die Master-Steuerungsvorrichtung21a die momentane Position als einen Befehlswert zum Anlernen. Jedoch gibt die Slave-Steuerungsvorrichtung21b einen Befehlswert nach einer Korrektur an die Antriebssteuerungsvorrichtung103b aus, ohne die Filterverarbeitung auf den Befehlswert anzuwenden. Alternativ kann die Slave-Steuerungsvorrichtung21b approximativ einen Befehlswert so berechnen, dass der Befehlswert nach der Filterverarbeitung die momentane Position ist. - Dritte Ausführungsform
- Nach einer dritten Ausführungsform werden ein Geschwindigkeitseinstellwert während einer Synchronansteuerung (der sich auf einen Override bezieht, aber ein Geschwindigkeitsbefehlswert an einer repräsentativen Position sein kann) und eine zweite Transformationsmatrixfunktion in Verbindung miteinander aufgezeichnet. Wenn ein Geschwindigkeitsbefehlswert ausgehend von einem aufgezeichneten Befehlswert verändert wird, wird eine zweite Transformationsmatrixfunktion, die dem Geschwindigkeitsbefehlswert nach der Veränderung entspricht, auf Grundlage der vorab aufgezeichneten zweiten Transformationsmatrixfunktion berechnet. Die berechnete neue zweite Transformationsmatrixfunktion dient einer Synchronansteuerung, die unter Verwendung eines Geschwindigkeitsbefehlswerts nach einer Aktualisierung durchgeführt wird. Indem ein Automatikbetrieb mehrmals experimentell durchgeführt wird, während der Geschwindigkeitseinstellwert vorab verändert und bewirkt wird, dass die Robotersteuerungsvorrichtung die zweite Transformationsmatrixfunktion bei jedem Geschwindigkeitseinstellwertaufzeichnet, kann der Benutzer im folgenden Automatikbetrieb folglich die Robotersteuerungsvorrichtung dazu veranlassen, auf Grundlage der aufgezeichneten zweiten Transformationsmatrixfunktion die zur Synchronansteuerung verwendete zweite Transformationsmatrixfunktion zu berechnen. Deshalb ist es möglich, die Steuerung in einer kürzeren Zeit zu stabilisieren, als die benötigte Zeit, bis das Positionsverhältnis zwischen den Robotern wie in der zweiten Ausführungsform konvergiert.
- Die zweite Transformationsmatrixfunktion zum Zeitpunkt, zu dem der Geschwindigkeitseinstellwert ein Nullwert ist, wird als E1T'E2 ((k, k+1) ovrd = 0) dargestellt, die Transformationsmatrix zum Zeitpunkt, zu dem der Geschwindigkeitseinstellwert „a“ ist, wird als E1T'E2 ((k, k+1) ovrd = a) dargestellt, und die zweite Transformationsmatrixfunktion zum Zeitpunkt, zu dem der Geschwindigkeitseinstellwert „b“ (b>a) ist, wird als E1T'E2 ((k, k+1) ovrd = b) dargestellt. Ein Verfahren zum Berechnen der zweiten Transformationsmatrixfunktion aus den drei zweiten Transformationsmatrixfunktionen, die während des Normalbetriebs in der Slave-Steuerungsvorrichtung angewendet wird, wird nun erklärt. Anzumerken ist, dass die erste Transformationsmatrixfunktion zu dem Zeitpunkt gleich der zweiten Transformationsmatrixfunktion E1T'E2 ((k, k+1) ovrd = 0) ist, zu dem der Geschwindigkeitseinstellwert der Nullwert ist.
- Ein Fehler zwischen Transformationsmatrizes beim Übergang von einer Transformationsmatrix mit Pk zu einer Transformationsmatrix mit Pk+1 wird mit Bezug auf die Formeln 7 und 14 untersucht. Ein Fehler ΔT (k, k+1, ovrd = a) einer Transformation zu dem Zeitpunkt, zu dem der Geschwindigkeitseinstellwert „a“ ist, kann wie durch die folgende Formel angegeben beschrieben werden:
-
- Wenn eine Transformationsmatrix zum Anlernen durch die Geschwindigkeitsveränderung nicht verändert wird, tritt genauso ein Fehler auf, auch wenn der Geschwindigkeitseinstellwert verändert wird. Deshalb kann eine mit einem beliebigen Geschwindigkeitseinstellwert angelernte Transformationsmatrixfunktion so wie sie ist in der Slave-Steuerungsvorrichtung verwendet werden. Jedoch tritt, wenn sich eine Fingerposition entsprechend einer Geschwindigkeitsveränderung verändert, beispielsweise, wenn ein Einfluss von Ansprechverhalten von Achsen, der Einfluss eines Filters oder dergleichen besteht, eine Differenz zwischen den Ergebnissen von Formel 17 und Formel 18 auf. Diese Differenz wird untersucht.
- Zuerst wird, was eine Differenz zwischen Rotationsbeträgen betrifft, wenn eine Rotationsachse und ein Rotationsbetrag des Formel 17 entsprechenden Einachsen-Rotationsverfahrens als k_a und α_a dargestellt werden, und eine Rotationsachse und ein Rotationsbetrag des Formel 18 entsprechenden Einachsen-Rotationsverfahrens als k_b und α_b dargestellt werden, eine Veränderungsrate Δα der Rotationsbeträge wie nachstehend beschrieben dargestellt. Anzumerken ist, dass unter der Annahme, dass sich eine Achsenrichtung nicht stark verändert, ungefähr die Rotationsachse mit k_a angenommen wird.
- Wenn angenommen wird, dass ein Fehler mit einer festen Rate größer wird, wenn die Geschwindigkeit zunimmt, kann die Slave-Steuerungsvorrichtung, indem die zweite Transformationsmatrixfunktion zu dem Zeitpunkt, zu dem der Geschwindigkeitseinstellwert „a“ ist, als Referenz unter Verwendung von aus den Formeln 19 und 20 erhaltenen Werten angesetzt wird, die zweite Transformationsmatrixfunktion berechnen, um einen Fehler, der entsprechend einer Geschwindigkeit auftritt, zu eliminieren, ungeachtet dessen, mit welchem Geschwindigkeitseinstellwert (Override) der Normalbetrieb durchgeführt wird.
-
12 ist ein Schema zur Erläuterung der Auslegung eines Robotersteuerungssystems in einer dritten Ausführungsform der vorliegenden Erfindung. Anzumerken ist, dass Komponenten, bei denen es sich um dieselben wie die Komponenten in der ersten Ausführungsform handelt, durch dieselben Bezugszahlen und -zeichen bezeichnet sind wie die Bezugszahlen und -zeichen in der ersten Ausführungsform und eine redundante Erklärung der Komponenten weggelassen wird. - Wie in
12 gezeigt ist, umfasst eine Master-Steuerungsvorrichtung22a die Befehlswertspeichereinheit100 , die Korrekturbetraggenerierungseinheit102a , die Generierungseinheit101a für korrigierte Befehlswerte, die Antriebssteuerungseinheit103a und die Momentanpositionserfassungseinheit104a . Die Korrekturbetraggenerierungseinheit102a umfasst die Wirkkraftberechnungseinheit105a , die Korrekturbetragberechnungseinheit106a und die Korrekturbetragspeichereinheit107a . Wenn ein Testbetrieb durchgeführt wird, gibt die Master-Steuerungsvorrichtung22a die durch die Momentanpositionserfassungseinheit104a erfasste momentane Position an eine Positionsverhältnisberechnungsvorrichtung32 aus. - Die Positionsverhältnisberechnungsvorrichtung
32 umfasst eine Transformationsmatrixgenerierungseinheit400 , eine Transformationsmatrixspeichereinheit401 , die N Transformationsmatrizes zum Anlernen speichert, und eine Transformationsmatrixfunktionsgenerierungseinheit402 und eine Testbetriebsgeschwindigkeitseinstelleinheit403 . Die Transformationsmatrixgenerierungseinheit400 , die Transformationsmatrixspeichereinheit401 und die Transformationsmatrixfunktionsgenerierungseinheit402 führen dieselbe Verarbeitung durch wie die Verarbeitung durch die entsprechenden Komponenten in der ersten Ausführungsform bei der Vorbereitungsverarbeitung und generieren eine Transformationsmatrixfunktion (die erste Transformationsmatrixfunktion303 ) in der ersten Ausführungsform. - Während des Testbetriebs empfängt eine Testbetriebsgeschwindigkeitseinstelleinheit
403 einen Eingang eines Geschwindigkeitseinstellwerts. Die Transformationsmatrixgenerierungseinheit400 , die Transformationsmatrixspeichereinheit401 und die Transformationsmatrixfunktionsgenerierungseinheit402 generieren dynamisch eine Transformationsmatrixfunktion (eine zweite Transformationsmatrixfunktion) auf Grundlage der jeweiligen durch die Momentanpositionserfassungseinheiten104a und104b erfassten momentanen Positionen und geben die generierte zweite Transformationsmatrixfunktion in Verbindung mit dem in die Testbetriebsgeschwindigkeitseinstelleinheit403 eingegebenen Geschwindigkeitseinstellwert an die Slave-Steuerungsvorrichtung22b aus. Anzumerken ist, dass die zweite Transformationsmatrixfunktion mit jedem der Geschwindigkeitseinstellwerte durch die Bezugszahl404 bezeichnet wird, damit sie sich von der zweiten Transformationsmatrixfunktion304 in der zweiten Ausführungsform unterscheiden lässt. - Die Slave-Steuerungsvorrichtung
22b umfasst eine Transformationsmatrixfunktionsspeichereinheit410 , eine Befehlswertgenerierungseinheit411 , eine Normalbetriebsgeschwindigkeitseinstelleinheit412 , die Korrekturbetraggenerierungseinheit102b , die Generierungseinheit101b für korrigierte Befehlswerte, die Antriebssteuerungseinheit103b und die Momentanpositionserfassungseinheit104b . Die Korrekturbetraggenerierungseinheit102b hat eine der Auslegung der Korrekturbetraggenerierungseinheit102a entsprechende Auslegung. -
13 ist ein Schema zur Erläuterung einer Speicherauslegung der Transformationsmatrixfunktionsspeichereinheit410 . Wie in der Figur gezeigt ist, speichert die Transformationsmatrixfunktionsspeichereinheit410 die erste Transformationsmatrixfunktion303 und die zweite Transformationsmatrixfunktion404 für jeden von durch die Positionsverhältnisberechnungsvorrichtung32 berechneten Geschwindigkeitseinstellwerten. - Die Normalbetriebsgeschwindigkeitseinstelleinheit
412 empfängt einen Eingang eines Geschwindigkeitseinstellwerts während des normalen Betriebs. Der Geschwindigkeitseinstellwert, der während des normalen Betriebs eingegeben wird, kann sich von dem Geschwindigkeitseinstellwert unterscheiden, der während des Testbetriebs eingegeben wird. Die Befehlswertgenerierungseinheit411 berechnet eine Transformationsmatrix auf Grundlage des durch die Normalbetriebsgeschwindigkeitseinstelleinheit412 erfassten Geschwindigkeitseinstellwerts und der zweiten Transformationsmatrixfunktion404 (und der ersten Transformationsmatrixfunktion303 ) bei jedem der in der Transformationsmatrixfunktionsspeichereinheit410 gespeicherten Geschwindigkeitseinstellwerte, während ein einer Geschwindigkeit entsprechender Fehler unter Verwendung der Formeln 19 und 20 positionskorrigiert wird. Die Befehlswertgenerierungseinheit411 bewirkt, dass die berechnete Transformationsmatrix auf den aus der Befehlswertspeichereinheit100 erfassten Tm-ten Befehlswert für den Endeffektor11a wirkt und berechnet einen Tm-ten Befehlswert für den Endeffektor11b . - Auf diese Weise umfasst nach der dritten Ausführungsform der vorliegenden Erfindung die Robotersteuerungsvorrichtung die Normalbetriebsgeschwindigkeitseinstelleinheit
412 , die als eine Geschwindigkeitseinstellwerteingangseinheit fungiert, die einen Eingang eines Geschwindigkeitseinstellwerts während der Synchronansteuerung empfängt, und die Transformationsmatrixfunktionsspeichereinheit410 , die als eine Positionsverhältnismatrixfunktionsspeichereinheit fungiert, die die zweite Transformationsmatrixfunktion404 bei jedem der Geschwindigkeitseinstellwerte vorab speichert. Die Befehlswertgenerierungseinheit411 ist dazu ausgelegt, die in der Transformationsmatrixfunktionsspeichereinheit410 gespeicherte zweite Transformationsmatrixfunktion auszulesen, korrigiert die zweite Transformationsmatrixfunktion auf Grundlage des eingegebenen Geschwindigkeitseinstellwerts, und berechnet einen Befehlswert in jedem von Betriebszeiträumen, der sich auf den Slave-Roboter10b bezieht, unter Verwendung der zweiten Transformationsmatrixfunktion nach der Korrektur. Beim Hochfahren des Produktionssystems ist es, wenn ein Geschwindigkeitseinstellwert des gesamten Produktionssystems schrittweise erhöht wird, möglich, ein optimales Positionsverhältnis zwischen den Robotern10a und10b anhand von vorab aufgezeichneter Information zu schätzen. Deshalb ist es möglich, eine Hochfahrzeit der zweiten Ausführungsform gegenüber weiter zu verkürzen. - Vierte Ausführungsform
- Nach einer vierten Ausführungsform führen die Korrekturbetragaenerierunaseinheiten
102a und102b eine Impedanzsteuerung unter Berücksichtigung von Impedanzkennwerten durch. Die Impedanzsteuerung ist ein Verfahren, das ein Modell einführt, bei dem eine Hand und deren Umfeld mit einem Federdämpfungsglied verbunden werden, eine gewünschte Impedanz definiert wird, und eine Fingerposition gesteuert wird. Nach der vierten Ausführungsform ist das Generierungsverfahren für einen Korrekturbetrag durch die in der ersten Ausführungsform beschriebenen Korrekturbetraggenerierungseinheiten102a und102b verändert. Jedoch werden dieselben wie durch die erste Ausführungsform erzielten Wirkungen erzielt. - Ferner kann nach der vierten Ausführungsform ein dynamisches Verhältnis mit einem Arbeitsziel unter Verwendung der Impedanzsteuerung festgelegt werden. Deshalb ist es möglich, ein Anlernen einer Bahn in einem Zustand durchzuführen, in dem ein Überlastungszustand an den Robotern
10a und10b oder einem Werkstück als nicht so leicht auftretbar eingestellt wird. - Fünfte Ausführungsform
- In der in der ersten bis dritten Ausführungsform beschriebenen Robotersteuerungsvorrichtung können die Korrekturbetraggenerierungseinheiten
102a und102b einen Korrekturbetrag anhand von durch Distanzsensoren gemessenen Distanzen anstelle der an die Finger angelegten Wirkkraft berechnen. Speziell werden Distanzsensoren an den Robotern10a und10b oder an Einspannwerkzeugen des Produktionssystems angebracht, um Distanzen zwischen den Robotern und dem Werkstück zu messen und eine relative Distanz zwischen Fingerpositionen der Roboter10a und10b zu berechnen. Wenn die relative Distanz von einer gewünschten Distanz abweicht, wird ein Korrekturbetrag generiert, um die relative Distanz und die gewünschte Distanz in Übereinstimmung zu bringen. Anzumerken ist, dass es sich bei einem Verfahren zum Berechnen der relativen Distanz zwischen den Robotern10a und10b um ein beliebiges Verfahren handeln kann. Beispielsweise kann eine relative Distanz zwischen dem Roboter10a und dem Werkstück und eine relative Distanz zwischen dem Roboter10b und dem Werkstück durch die Distanzsensoren gemessen werden, um eine Distanz zwischen dem Roboter10a und dem Roboter10b zu berechnen. Die Distanz zwischen dem Roboter10a und dem Roboter10b kann durch die Distanzsensoren direkt gemessen werden. - Wenn die Roboter oder periphere Ansteuerungsvorrichtungen einen kooperativen Betrieb durchführen, der es erforderlich macht, dass Arbeit kontaktlos zu erfolgen hat, während eine feststehende Distanz beibehalten wird, ist es durch Anwenden dieser Konfiguration möglich, eine Bahn des Slave-Roboters
10b anzulernen, die ein ideales Positionsverhältnis bezüglich eines Arbeitstargets einhält. - Sechste Ausführungsform
- Mit den in der zweiten, dritten und fünften Ausführungsform beschriebenen Robotersteuerungsvorrichtungen nutzen die Korrekturbetraggenerierungseinheiten
102a und102b bein Anlernen den Korrekturbetrag, der in jedem Versuch sogar am selben Anlernpunkt schwankt. Deshalb ist eine Konvergenzeigenschaft manchmal nicht gewährleistet. Andererseits ist eine Robotersteuerungsvorrichtung in einer sechsten Ausführungsform dazu ausgelegt, unter Berücksichtigung einer durch die Transformationsmatrixgenerierungseinheit200 generierten Transformationsmatrix eine zum k + 1-ten Zeitpunkt erfasste Transformationsmatrix uk + 1, eine zum k-ten Zeitpunkt erfasste Transformationsmatrix u, einen Veränderungsbetrag g der zum k-ten Zeitpunkt und zum k + 1-ten Zeitpunkt erfassten Transformationsmatrizes, und eine Veränderungsrate q(*) zu berechnen, die erhalten wird, indem der Veränderungsbetrag der zum k-ten Zeitpunkt und zum k + 1-ten Zeitpunkt erfassten Transformationsmatrizes durch den Steuerungszyklus dividiert wird, und zu bewirken, dass diese Transformationsmatrizes uk + 1 und u, der Veränderungsbetrag q und die Veränderungsrate q(*) unter Verwendung eines Anlernsteuerungsverfahrens mit einem Vergessensfaktor (siehe Nichtpatentschrift1 ) stabil konvergieren, auch wenn eine Schwankung in einem berechneten Korrekturbetrag besteht. - Siebte Ausführungsform
- In einer siebten Ausführungsform wird ein Befehlswert zum Anlernen generiert, indem ein Mittelwert von Korrekturbeträgen für mehrere Zyklen zu jeweiligen N Befehlswerten vor einer Positionskorrektur hinzuaddiert wird. Hier wird der Befehlswert zum Anlernen als erster Befehlswert zum Anlernen bezeichnet. Der Befehlswert vor der Positionskorrektur, zu dem der Mittelwert der Korrekturbeträge für die Zyklen hinzuaddiert wird, um den ersten Befehlswert zum Anlernen zu generieren, wird als zweiter Befehlswert zum Anlernen bezeichnet. Anzumerken ist, dass in der zweiten Ausführungsform als Beispiel ein Anlernpunkt oder ein Befehlswert nahe dem Anlernpunkt unter M Positionsbefehlswerten zum Definieren einer Befehlsbahn des Endeffektors
11a in jedem Betriebszeitraum als der zweite Befehlswert zum Anlernen verwendet wird. -
14 ist ein Schema zur Erläuterung eines Robotersteuerungssystems, das eine Positionsverhältnisberechnungsvorrichtung umfasst, in der siebten Ausführungsform der vorliegenden Erfindung. Komponenten, bei denen es sich um dieselben wie die Komponenten in der ersten bis dritten Ausführungsform handelt, sind durch dieselben Bezugszahlen und -zeichen bezeichnet wie in der ersten bis dritten Ausführungsform und eine redundante Erklärung der Komponenten wird weggelassen. - Wie in
14 gezeigt ist, umfasst eine Master-Steuerungsvorrichtung23a die Befehlswertspeichereinheit100 , eine Korrekturbetraggenerierungseinheit110a , die Generierungseinheit101a für korrigierte Befehlswerte, die Antriebssteuerungseinheit103a und die Momentanpositionserfassungseinheit104a . Die Korrekturbetraggenerierungseinheit110a umfasst die Wirkkraftberechnungseinheit105a , die Korrekturbetragberechnungseinheit106a und eine Korrekturbetragspeichereinheit111a . Während des Automatikbetriebs akkumuliert und speichert die Korrekturbetragspeichereinheit111a zuletzt berechnete R Korrekturbeträge, die jeweilige N Befehlswerte betreffen. Die Korrekturbetragspeichereinheit111a speichert auch zuletzt berechnete R Korrekturbeträge, die jeweilige M zweite Befehlswerte zum Anlernen betreffen. Anzumerken ist, dass R beispielsweise eine vorab angesetzte ganze Zahl gleich oder größer als 2 ist. Die R Korrekturbeträge, die sich auf die jeweiligen M zweiten Befehlswerte zum Anlernen beziehen, werden durch eine Positionsverhältnisberechnungsvorrichtung33 ausgelesen. Ein zweiter Befehlswert zum Anlernen, der in der Befehlswertspeichereinheit100 gespeichert ist, wird durch die Positionsverhältnisberechnungsvorrichtung33 ausgelesen. Ein durch die Generierungseinheit101a für korrigierte Befehlswerte generierter korrigierter Befehlswert in jedem von Betriebszeiträumen wird an eine Slave-Steuerungsvorrichtung23b übertragen. Der zweite Befehlswert zum Anlernen wird an die Slave-Steuerungsvorrichtung23b übertragen, nachdem er durch die Generierungseinheit101a für korrigierte Befehlswerte korrigiert wurde. - Anzumerken ist, dass der zweite Befehlswert zum Anlernen, der in der Befehlswertspeichereinheit
100 gespeichert ist, als zweiter Befehlswert zum Anlernen für den Endeffektor11a bezeichnet wird, der von einem nachstehend erklärten zweiten Befehlswert zum Anlernen für den Endeffektor11b unterschieden werden soll. - Die Positionsverhältnisberechnungsvorrichtung
33 umfasst eine Transformationsmatrixgenerierungseinheit500 , die Transformationsmatrixspeichereinheit301 und die Transformationsmatrixfunktionsgenerierungseinheit302 . Die Transformationsmatrixgenerierungseinheit500 generiert N Transformationsmatrizes auf Grundlage von N zweiten Befehlswerten zum Anlernen für den Endeffektor11a , N zweiten Befehlswerten zum Anlernen für den Endeffektor11b , einen Mittelwert von aktuellsten R Sätzen von Korrekturbeträgen, die in Bezug auf die N zweiten Befehlswerte zum Anlernen für den Endeffektor11a berechnet wurden, und einen Mittelwert von aktuellsten R Sätzen von Korrekturbeträgen, die in Bezug auf die N zweiten Befehlswerte zum Anlernen für den Endeffektor11b berechnet wurden. Die Transformationsmatrixspeichereinheit301 speichert die durch die Transformationsmatrixgenerierungseinheit500 generierten N Transformationsmatrizes zum Anlernen. Im Automatikbetrieb generiert die Transformationsmatrixfunktionsgenerierungseinheit302 dynamisch eine Transformationsmatrixfunktion (eine zweite Transformationsmatrixfunktion) auf Grundlage der jeweiligen durch die Momentanpositionserfassungseinheiten104a und104b erfassten momentanen Positionen. - Anzumerken ist, dass in der Vorbereitungsverarbeitung die Transformationsmatrixfunktionsgenerierungseinheit
302 eine Verarbeitung durchführt, bei der es sich um dieselbe wie die Verarbeitung durch die entsprechende Komponente in der ersten Ausführungsform handelt, und die Transformationsmatrixfunktion (die erste Transformationsmatrixfunktion) in der ersten Ausführungsform generiert. Um die Erklärung zu vereinfachen, werden die Erklärung einer Konfiguration zum Generieren von N Transformationsmatrizes in der Vorbereitungsverarbeitung und die Darstellung eines Eingangs- und Ausgabeverhältnisses von Daten weggelassen. - Die Slave-Steuerungsvorrichtung
23b umfasst die Transformationsmatrixfunktionsspeichereinheit310 , eine Befehlswertgenerierungseinheit511 , eine Korrekturbetraggenerierungseinheit110b , die Generierungseinheit101b für korrigierte Befehlswerte, die Antriebssteuerungseinheit103b und die Momentanpositionserfassungseinheit104b . - Die Befehlswertgenerierungseinheit
511 generiert M Befehlswerte zum Definieren einer Bahn des Endeffektors11b auf Grundlage des von der Generierungseinheit101a für korrigierte Befehlswerte übertragenen korrigierten Befehlswerts in jedem Betriebszeitraum und der durch die Transformationsmatrixfunktionsspeichereinheit310 gespeicherten zweiten Transformationsmatrixfunktion304 . Speziell generiert die Befehlswertgenerierungseinheit511 eine Transformationsmatrix an jedem der korrigierten Befehlswerte für den Endeffektor11a auf Grundlage der zweiten Transformationsmatrixfunktion304 . Die Befehlswertgenerierungseinheit511 bewirkt, dass die generierte Transformationsmatrix auf den von der Generierungseinheit101a für korrigierte Befehlswerte übertragenen korrigierten Befehlswert in jedem der Betriebszeiträume wirkt und generiert einen Befehlswert für den Endeffektor11b in jedem der Betriebszeiträume. Die Befehlswertgenerierungseinheit511 generiert einen zweiten Befehlswert zum Anlernen für den Endeffektor11b auf Grundlage des durch die Generierungseinheit101a für korrigierte Befehlswerte korrigierten zweiten Befehlswerts zum Anlernen und der zweiten Transformationsmatrixfunktion304 . Die Befehlswertgenerierungseinheit511 überträgt den generierten zweiten Befehlswert zum Anlernen für den Endeffektor11b an die Positionsverhältnisberechnungsvorrichtung33 . - Die Korrekturbetraggenerierungseinheit
110b umfasst die Wirkkraftberechnungseinheit105b , die Korrekturbetragberechnungseinheit106b und eine Korrekturbetragspeichereinheit111b . Die Korrekturbetragspeichereinheit111b akkumuliert und speichert, was die jeweiligen durch die Befehlswertgenerierungseinheit511 generierten M Befehlswerte betrifft, eine vorbestimmte Anzahl an (R) Korrekturbeträgen, die zuletzt berechnet wurden. Von den M Befehlswerten, die durch die Befehlswertgenerierungseinheit511 generiert werden, wird ein Befehlswert für den Endeffektor11b , der dem zweiten Befehlswert zum Anlernen für den Endeffektor11a entspricht, an die Positionsverhältnisberechnungseinheit33 übertragen. Anzumerken ist, dass der Befehlswert für den Endeffektor11b , der dem zweiten Befehlswert zum Anlernen für den Endeffektor11a entspricht, als zweiter Befehlswert zum Anlernen für den Endeffektor11b bezeichnet wird. - Ein Verfahren, mit dem die Transformationsmatrixgenerierungseinheit
500 eine Transformationsmatrix zum Anlernen generiert, wird nun erklärt. Eine Komponente eines Korrekturbetrags in rob1T'E1 wird als ΔTk1 definiert, und eine Komponente eines Korrekturbetrags in rob2T'E2 wird als ΔTk2 definiert. Das heißt, ΔTk1 ist eine Differenz zwischen rob1T'E1 und rob1TE1, und ΔTk2 ist eine Differenz zwischen rob2T'E2 und rob2TE2. Deshalb können ΔTk1 und ΔTk2 jeweils wie folgt dargestellt werden: -
- Die Transformationsmatrixgenerierungseinheit
500 berechnet einen Mittelwert der R Korrekturbeträge, die die jeweiligen zweiten Befehlswerte zum Anlernen für den Endeffektor11a betreffen, um dadurch einen Mittelwert ΔTk1_m von Korrekturbeträgen für die jeweiligen zweiten Befehlswerte zum Anlernen für den Endeffektor11a zu berechnen. Die Transformationsmatrixgenerierungseinheit500 berechnet einen Mittelwert der R Korrekturbeträge, die die jeweiligen zweiten Befehlswerte zum Anlernen für den Endeffektor11b betreffen, um dadurch einen Mittelwert ΔTk2_m von Korrekturbeträgen für die jeweiligen zweiten Befehlswerte zum Anlernen für den Endeffektor11b zu berechnen. Die Transformationsmatrixgenerierungseinheit500 addiert den berechneten Mittelwert ΔTk1_m (i = 1 und 2) zu dem entsprechenden zweiten Befehlswert zum Anlernen, um dadurch einen ersten Befehlswert zum Anlernen zu berechnen. -
-
-
- Anzumerken ist, dass in der vorstehenden Erklärung der erste Befehlswert zum Anlernen dadurch berechnet wird, dass der Mittelwert des aktuellsten R Korrekturbetrags zum zweiten Befehlswert zum Anlernen hinzuaddiert wird. Jedoch braucht ein Korrekturbetrag, der zum zweiten Befehlswert zum Anlernen hinzuaddiert wird, nur ein Wert zu sein, der die R Korrekturbeträge darstellt, und ist nicht auf den Mittelwert beschränkt. Beispielsweise kann ein Medianwert, ein Modalwert oder ein gewichteter Mittelwert der R Korrekturbeträge als Korrekturbetrag übernommen werden, der zum zweiten Befehlswert zum Anlernen hinzuaddiert wird.
- Die Korrekturbetragberechnungseinheiten
106a und106b umfassen beispielsweise ein Steuerungssystem aus einem Impedanzsteuerungssystem oder einem Kraftsteuerungssystem. Das Impedanzsteuerungssystem oder ein Kraftsteuerungssystem umfasst einen Integrator, wie durch Patentschrift 4 angegeben ist. Deshalb berechnet das Impedanzsteuerungssystem oder das Kraftsteuerungssystem einen Tm-ten Korrekturbetrag unter Verwendung eines T1-ten bis Tm-1-ten Korrekturbetrags. Nach der siebten Ausführungsform wird eine Anpassung eines Fehlers anhand R Tm-ter Korrekturbeträge durchgeführt. Deshalb ist eine Genauigkeit der Anpassung des Fehlers verbessert. Im Ergebnis ist es möglich, eine an ein ergriffenes Werkstück angelegte Belastung an jeder Position auf tatsächlichen Bahnen mehrerer Roboter bei der Synchronansteuerung noch weiter zu reduzieren. - Eine Wirkkraft während des Automatikbetriebs ändert sich aufgrund von Bedingungen wie etwa Geschwindigkeit und Temperatur. Nach der siebten Ausführungsform wird der erste Befehlswert zum Anlernen unter Verwendung des Korrekturbetrags generiert, der erhalten wird, indem die R Korrekturbeträge gemittelt werden, die zuletzt berechnet wurden. Deshalb ist es möglich, die Wirkkraft, die sich wegen der Bedingungen ändert, asymptotisch zu reduzieren.
- Wie vorstehend beschrieben, kooperieren nach der siebten Ausführungsform der vorliegenden Erfindung die Generierungseinheiten
101a und101b für korrigierte Befehlswerte, die Korrekturbetraggenerierungseinheiten110a und11b und die Transformationsmatrixgenerierungseinheit500 miteinander und berechnen, was jeweilige in Befehlswerten in jedem von Betriebszeiträumen enthaltene zweite Befehlswerte zum Anlernen betrifft, erste Befehlswerte zum Anlernen auf Grundlage der zweiten Befehlswerte zum Anlernen und einen repräsentativen Wert aktuellster Korrekturbeträge für einen vorbestimmten Zyklus für die zweiten Befehlswerte zum Anlernen. Die Transformationsmatrixgenerierungseinheit500 generiert eine Transformationsmatrix zum Anlernen für die jeweiligen ersten Befehlswerte zum Anlernen. Folglich werden die ersten Befehlswerte zum Anlernen mit einem Fehler generiert, der durch ein Verfahren angepasst wird, das im Vergleich zu einem System zum Berechnen eines Tm-ten Korrekturbetrags unter Verwendung eines T1-ten Korrekturbetrags bis tm-1-ten Korrekturbetrags über eine höhere Genauigkeit verfügt. Die ersten Befehlswerte zum Anlernen werden unter Berücksichtigung einer Schwankung eines Fehlers auf Grundlage einer Schwankung bei den Bedingungen während des Automatikbetriebs generiert. Deshalb ist es möglich, eine in den Endeffektoren11a und11b erzeugte Wirkkraft so weit wie möglich zu reduzieren. - Anzumerken ist, dass in der vorstehenden Erklärung die zweite Transformationsmatrixfunktion
304 unter Verwendung der aktuellsten Korrekturwerte für die R Zyklen generiert werden, die während des Automatikbetriebs berechnet wurden. Wenn die Vorbereitungsverarbeitung für die R Zyklen ausgeführt wird, kann die erste Transformationsmatrixfunktion303 durch eine Prozedur generiert werden, bei der es sich um dieselbe wie die Prozedur für die zweite Transformationsmatrixfunktion304 handelt, die sich eines Korrekturwerts bedient, der durch die Vorbereitungsverarbeitung für die R Zyklen erhalten wird. - Wie in
15 gezeigt ist, kann die Befehlswertgenerierungseinheit511 einen Befehlswert in jedem der Betriebszeiträume für den Endeffektor11a aus der Befehlswertspeichereinheit100 auslesen, R Sätze von Korrekturbeträgen für den Befehlswert in jedem der Betriebszeiträume aus der Korrekturbetragspeichereinheit111a auslesen, und den ausgelesenen Befehlswert und einen Mittelwert der ausgelesenen R Sätze von Korrekturbeträgen aufaddieren, um dadurch einen Befehlswert in jedem der Betriebszeiträume für den Endeffektor11b zu generieren. Folglich ist es, selbst wenn ein korrigierter Befehlswert des Endeffektors11a stark schwankt, möglich, den Einfluss der Schwankung im korrigierten Befehlswert des Endeffektors11a auf den Befehlswert in jedem der Betriebszeiträume des Endeffektors11b zu reduzieren. - Achte Ausführungsform
- In einer achten Ausführungsform wird ein Befehlswert, der bezüglich einer Wirkkraft eine vorbestimmte Bedingung erfüllt, unter Befehlswerten in jedem Betriebszeitraum als ein zweiter Befehlswert zum Anlernen ausgewählt.
-
16 ist ein Schema zur Erklärung eines Robotersteuerungssystems, das eine Positionsverhältnisberechnungsvorrichtung in der achten Ausführungsform der vorliegenden Erfindung umfasst. Komponenten, bei denen es sich um dieselben wie in der siebten Ausführungsform handelt, sind durch dieselben Bezugszahlen und -zeichen bezeichnet wie in der siebten Ausführungsform und eine redundante Erklärung der Komponenten wird weggelassen. - Wie in der Figur gezeigt ist, umfasst eine Master-Steuerungsvorrichtung
24a in der achten Ausführungsform eine Konfiguration, in der eine Befehlswert-zum-Anlernen-Auswahleinheit 600 zu der mit Bezug auf14 erklärten Master-Steuerungsvorrichtung23a in der siebten Ausführungsform hinzugekommen ist. Die Positionsverhältnisberechnungsvorrichtung33 bzw. die Slave-Steuerungsvorrichtung23b in der achten Ausführungsform haben dieselben Konfigurationen wie die mit Bezug auf14 erklärten Auslegungen der entsprechenden Vorrichtungen. - Die Befehlswert-zum-Anlernen-Auswahleinheit 600 wählt N zweite Befehlswerte zum Anlernen, die eine vorbestimmte Bedingung für eine Wirkkraft erfüllen, aus M Befehlswerten in jedem der Betriebszeiträume aus, die durch die Befehlswertspeichereinheit
100 gespeichert wurden. Ein Korrekturbetrag nimmt entsprechend einer Zunahme und einer Abnahme der Wirkkraft zu und ab. Die Befehlswert-zum-Anlernen-Auswahleinheit 600 wählt die N Befehlswerte zum Anlernen aus, unter Verwendungeines durch die Korrekturbetragsberechnungseinheit106a berechneten Korrekturbetrags als Merkmalswert. - Anzumerken ist, dass die Befehlswert-zum-Anlernen-Auswahleinheit 600 einen zweiten Befehlswert zum Anlernen unter Verwendung des Korrekturbetrags auf jede Weise auswählen kann. Beispielsweise kann die Befehlswert-zum-Anlernen-Auswahleinheit 600 einen Befehlswert, einen Korrekturbetrag oder eine Veränderungsrate des Korrekturbetrags oder beide, die vorbestimmte Schwellenwerte übersteigen, als den zweiten Befehlswert zum Anlernen auswählen. Folglich wird ein Befehlswert, mit dem eine Wirkkraft oder eine Veränderungsrate der Wirkkraft besonders groß ist, als der zweite Befehlswert zum Anlernen gesetzt.
- Die Befehlswert-zum-Anlernen-Auswahleinheit 600 kann den zweiten Befehlswert zum Anlernen unter Verwendung eines anderen Betrags als des Korrekturbetrags als Merkmalswert auswählen. Ein Verfahren zum Auswählen des zweiten Befehlswerts zum Anlernen unter Verwendung eines anderen Betrags als des Korrekturbetrags als Merkmalswert wird nachstehend beschrieben.
- Beispielsweise kann die Befehlswert-zum-Anlernen-Auswahleinheit 600 als den Merkmalswert eine Wirkkraft auswählen, die durch die Wirkkraftberechnungseinheit
105a berechnet wird. Die Befehlswert-zum-Anlernen-Auswahleinheit 600 wählt einen Befehlswert, mit dem eine Wirkkraft oder eine Veränderungsrate der Wirkkraft oder beide vorbestimmte Schwellenwerte übersteigen, als den zweiten Befehlswert zum Anlernen aus. - Die Befehlswert-zum-Anlernen-Auswahleinheit 600 kann einen Befehlswert in jedem der Betriebszeiträume als den Merkmalswert auswählen. Beispielsweise wählt die Befehlswert-zum-Anlernen-Auswahleinheit 600 einen Befehlswert, der eine vorbestimmte Positionsbedingung erfüllt, als den zweiten Befehlswert zum Anlernen aus. In manchem Fall wird eine Position, an der eine Wirkkraft oder eine Veränderungsrate der Wirkkraft auf einer Bahn zunimmt, auf Grundlage eines Mechanismus des Roboters vorab gefunden. In diesem Fall wird die Position, an der eine Wirkkraft oder eine Veränderungsrate der Wirkkraft auf der Bahn zunimmt, in der Befehlswert-zum-Anlernen-Auswahleinheit 600 als eine Positionsbedingung vorab angesetzt. Die Befehlswert-zum-Anlernen-Auswahleinheit 600 wählt als den zweiten Befehlswert zum Anlernen einen Befehlswert zum Positionieren des Roboters an der als Positionsbedingung gesetzten Position aus. Anzumerken ist, dass ein Bereich auf der Bahn als die Positionsbedingung gesetzt werden kann.
- Die Befehlswert-zum-Anlernen-Auswahleinheit 600 kann eine Motordrehzahl aus einem Befehlswert in jedem der Betriebszeiträume oder einer momentanen Position in jedem der Betriebszeiträume berechnen und die Motordrehzahl als den Merkmalswert verwenden. Die Befehlswert-zum-Anlernen-Auswahleinheit
600 erfasst eine Position, an der die Motordrehzahl oder eine Veränderungsrate der Motordrehzahl groß ist und wählt als den zweiten Befehlswert zum Anlernen einen Befehlswert zum Positionieren des Roboters an der erfassten Position aus. Folglich wird ein Befehlswert, der einer Position entspricht, an der eine Wirkkraft durch eine Zentrifugalkraft oder eine Coriolis-Kraft auf der Bahn erhöht wird, als der zweite Befehlswert zum Anlernen ausgewählt. - Die Befehlswert-zum-Anlernen-Auswahleinheit
600 kann als den Merkmalswert einen Veränderungsbetrag pro Zeiteinheit eines Befehlswerts oder einer Haltungsposition verwenden. - Die Befehlswert-zum-Anlernen-Auswahleinheit
600 kann als den Merkmalswert eine Zeit verwenden, in der der Befehlswert verwendet wird. Ein Befehlswert in jedem der Betriebszeiträume wird sequentiell aus der Befehlswertspeichereinheit100 ausgelesen. Ein korrigierter Befehlswert, der auf dem ausgelesenen Befehlswert beruht, wird sequentiell an die Antriebssteuerungseinheit103a übergeben. Wenn eine Wirkkraft auf Grundlage einer zeitlichen Bedingung schwankt, kann die Befehlswert-zum-Anlernen-Auswahleinheit600 den zweiten Befehlswert zum Anlernen auf Grundlage der Zeit auswählen, in der die Wirkkraft oder eine Schwankung der Wirkkraft zunimmt. Wenn beispielsweise die Zeit, zu der der Befehlswert in jedem der Betriebszeiträume aus der Befehlswertspeichereinheit100 ausgelesen wird, eine vorab angesetzte Zeitbedingung erfüllt, wählt die Befehlswert-zum-Anlernen-Auswahleinheit600 den Befehlswert als den zweiten Befehlswert zum Anlernen aus. - Anzumerken ist, dass, wenn ein Korrekturbetrag auf Grundlage einer Distanz wie in der fünften Ausführungsform erklärt berechnet wird, die Befehlswert-zum-Anlernen-Auswahleinheit
600 den zweiten Befehlswert zum Anlernen auf Grundlage eines Vergleichs der Größe des Korrekturbetrags, einer Veränderungsrate des Korrekturbetrags oder einer Differenz zwischen Distanzen vor und nach einer Korrektur, und einem vorbestimmten Schwellenwert auswählen kann. - Die Befehlswert-zum-Anlernen-Auswahleinheit
600 kann die vorstehend erklärten Auswahlverfahren kombinieren und den zweiten Befehlswert zum Anlernen auswählen. -
17 ist ein Schema einer Beziehung zwischen einer an einen Endeffektor angelegten Wirkkraft und der Position des Endeffektors bei einer kooperativen Arbeit, die durch das Robotersteuerungssystem nach dem Vergleichsbeispiel durchgeführt wird. In der Figur gibt t[s] eine Zeit, x[mm] die Position des Endeffektors, Fx[N] die an den Endeffektor angelegte Wirkkraft und Fxlim[N] einen zulässigen Wert der Wirkkraft an. Wie in der Figur gezeigt ist, verändert sich gemäß dem Vergleichsbeispiel ein Fehler entsprechend einer Veränderung in der Position des Endeffektors. Die Wirkkraft Fx nimmt dem Fehler entsprechend zu. Wenn sich ein Fehlerbetrag wegen eines dynamischen Einflusses, beispielsweise einer Geschwindigkeitszunahme, verändert, nimmt die Wirkkraft Fx weiter zu. -
18 ist ein Schema einer Beziehung zwischen einer an den Endeffektor angelegten Wirkkraft und der Position des Endeffektors bei einer Impedanzsteuerung, die auf das Robotersteuerungssystem nach dem Vergleichsbeispiel angewendet wird. Gemäß der Anwendung der Impedanzsteuerung ist die Wirkkraft Fx an jeweiligen Positionen im Vergleich zu der in17 gezeigten Wirkkraft Fx reduziert. Weil es jedoch schwierig ist, einen Steuerparameter für jeden von Teilen auf einer Bahn einzustellen, beispielsweise, wenn sich eine Haltung verändert oder wenn eine Geschwindigkeit schwankt, ist es schwierig, die Wirkkraft Fx so weit zu reduzieren, dass sie an allen Positionen auf der Bahn kleiner als Fxlim ist. -
19 ist ein Schema einer Beziehung zwischen einer an den Endeffektor angelegten Wirkkraft und der Position des Endeffektors bei einer kooperativen Arbeit, die durch das Robotersteuerungssystem in der achten Ausführungsform durchgeführt wird. Nach der achten Ausführungsform wird ein Befehlswert zum Positionieren des Roboters an einer Position, an der eine Wirkkraft oder eine Veränderungsrate der Wirkkraft groß ist, als ein zweiter Befehlswert zum Anlernen ausgewählt. Ein Mittelwert aus R Korrekturwerten wird zu jeweiligen zweiten Befehlswerten zum Anlernen hinzuaddiert, um einen ersten Befehlswert zum Anlernen zu generieren. Folglich ist es möglich, die Wirkkraft Fx über die gesamte Fläche auf der Bahn zu reduzieren. Im Ergebnis ist es möglich, die Wirkkraft Fx so zu reduzieren, dass sie an jeder Position auf der Bahn kleiner als Fxlim ist. - Wie vorstehend erklärt wählt nach der achten Ausführungsform der vorliegenden Erfindung die Befehlswert-zum-Anlernen-Auswahleinheit
600 die N zweiten Befehlswerte zum Anlernen, die die vorbestimmte Bedingungbezüglich einer Wirkkraft erfüllen, aus den durch die Befehlswertspeichereinheit100 gespeicherten M Befehlswerten in jedem der Betriebszeiträume für den Endeffektor11a aus. Die Befehlswertgenerierungseinheit511 generiert einen zweiten Befehlswert zum Anlernen für den Endeffektor11b auf Grundlage des ausgewählten zweiten Befehlswerts zum Anlernen für den Endeffektor11a . Folglich wird eine Transformationsmatrix zum Anlernen so generiert, dass die Wirkkraft an Positionen abnimmt, an denen eine in den Endeffektoren11a und11b erzeugte Wirkkraft oder eine Veränderungsrate der Wirkkraft besonders groß ist. Deshalb ist es möglich, die in den Endeffektoren11a und11b erzeugte Wirkkraft weiter zu reduzieren. - Anzumerken ist, dass es sich in der Erklärung in der ersten bis siebten Ausführungsform bei der Art der Roboter
10a und10b um den vertikalen Mehrgelenkroboter mit sechs Freiheitsgraden handelt. Jedoch ist die Art der Roboter10a und10b nicht auf diesen beschränkt. Bei der Art der Roboter10a und10b kann es sich beispielsweise um einen horizontalen Mehrgelenkroboter oder einen Linearbewegungsroboter handeln. - Industrielle Anwendbarkeit
- Wie vorstehend erklärt, werden die Robotersteuerungsvorrichtung und das Robotersteuerungsverfahren gemäß der vorliegenden Erfindung geeigneter Weise auf eine Robotersteuerungsvorrichtung und ein Robotersteuerungsverfahren zum Ansteuern mehrerer Roboter angewendet, während die Roboter gleichzeitig miteinander synchronisiert werden.
- Bezugszeichenliste
-
- 10a
- Master-Roboter
- 10b
- Slave-Roboter
- 11a, 11b
- Endeffektoren
- 12a, 12b
- Installationsgestelle
- 20a, 21a, 22a, 23a, 24a, 40a
- Master-Steuerungsvorrichtungen
- 20b, 21b, 22b, 23b, 40b
- Slave-Steuerungsvorrichtungen
- 30, 31, 32, 33, 50
- Positionsverhältnisberechnungsvorrichtungen
- 100
- Befehlswertspeichereinheit
- 101a, 101b
- Generierungseinheiten für korrigierte Befehlswerte
- 102a, 102b
- Korrekturbetraggenerierungseinheiten
- 103, 103b
- Antriebssteuerungseinheiten
- 104a, 104b
- Momentanpositionserfassungseinheiten
- 105a, 105b
- Wirkkraftberechnungseinheiten
- 106a, 106b
- Korrekturbetragberechnungseinheiten
- 107a, 107b
- Korrekturbetragspeichereinheiten
- 108, 311, 511
- Befehlswertgenerierungseinheiten
- 109
- Transformationsmatrixspeichereinheit
- 110a, 110b
- Korrekturbetraggenerierungseinheiten
- 111a, 111b
- Korrekturbetragspeichereinheiten
- 200, 300, 400, 500
- Transformationsmatrixgenerierungseinheiten
- 201, 301, 401
- Transformationsmatrixspeichereinheiten
- 202,302,402
- Transformationsmatrixfunktionsgenerierungseinheiten
- 210, 310
- Transformationsmatrixfunktionsspeichereinheiten
- 211
- Befehlswertgenerierungseinheit
- 303
- erste Transformationsmatrixfunktion
- 304, 404
- zweite Transformationsmatrixfunktionen
- 403
- Testbetriebsgeschwindigkeitseinstelleinheit
- 410
- Transformationsmatrixfunktionsspeichereinheit
- 411
- Befehlswertgenerierungseinheit
- 412
- Normalbetriebsgeschwindigkeitseinstelleinheit
- 600
- Befehlswert-zum-Anlernen-Auswahleinheit
Claims (10)
- Robotersteuerungsvorrichtung, die einen ersten Roboter (10a) und einen sich vom ersten Roboter unterscheidenden, zweiten Roboter (10b) synchron ansteuert, wobei die Robotersteuerungsvorrichtung umfasst: eine Master-Steuerungsvorrichtung (20a, 21a, 22a); eine Positionsverhältnisberechnungsvorrichtung (30, 31, 32); und eine Slave-Steuerungsvorrichtung (20b, 21b, 22b), wobei die Positionsverhältnisberechnungsvorrichtung (30, 31, 32) Folgendes aufweist: eine Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402); und eine Transformationsmatrixgenerierungseinheit (200, 300, 400, 500) als eine Positionsverhältnismatrixgenerierungseinheit, die auf Grundlage von N Befehlswerten zum Anlernen für die jeweiligen Roboter (10a, 10b) an N Anlernpunkten, bei denen es sich um positionskorrigierte Befehlswerte zum Positionieren des ersten Roboters (10a) und des zweiten Roboters (10b) auf Bahnen des ersten Roboters (10a) und des zweiten Roboters (10b) während der Synchronansteuerung handelt, Positionsverhältnismatrizes generiert, um ein Positionsverhältnis während der Synchronansteuerung zwischen einem ersten Befehlswert zum Anlernen bezüglich eines ersten Roboters (10a), und einem ersten Befehlswert zum Anlernen bezüglich eines zweiten Roboters (10b) zu definieren; wobei die Master-Steuerungsvorrichtung (20a, 20b, 20c) Folgendes aufweist: eine Befehlswertspeichereinheit (100) als eine Erstbefehlswertausgabeeinheit, die einen ersten Befehlswert zum Ansteuern in jedem von M (M>N) Betriebszeiträumen ausgibt, bei dem es sich um einen Befehlswert zum Definieren der Bahn des ersten Roboters (10a) handelt; eine Befehlswertgenerierungseinheit (211, 311, 411) als eine Zweitbefehlswertgenerierungseinheit, die bewirkt, dass die Positionsverhältnismatrizes, die den M ersten Befehlswerten zum Ansteuern nach der Interpolation zugeordnet sind, mit den jeweiligen M ersten Befehlswerten zum Ansteuern multipliziert werden, und M zweite Befehlswerte zum Ansteuern generiert, bei denen es sich um Befehlswerte zum Definieren der Bahn des zweiten Roboters (10b) handelt, wobei die Transformationsmatrixfunktionsgenerierungseinheit (202, 302, 402) und die Befehlswertgenerierungseinheit (211, 311, 411) zusammenwirken, um als Positionsverhältnismatrixinterpolationseinheit zu fungieren, die die N Positionsverhältnismatrizes interpoliert und eine Positionsverhältnismatrix bei jedem ersten Befehlswert zum Ansteuern generiert; wobei die Robotersteuerungsvorrichtung den ersten Roboter (10a) auf Grundlage der ersten Befehlswerte zum Ansteuern ansteuert und den zweiten Roboter (10b) auf Grundlage der zweiten Befehlswerte zum Ansteuern ansteuert.
- Robotersteuerungsvorrichtung nach
Anspruch 1 , wobei der erste Roboter (10a) und der zweite Roboter (10b) durch einen Benutzer dazu veranlasst werden, sich zu jeweiligen N Gruppen von Anlernpunkten zu begeben und dort stillzustehen, und die Robotersteuerungsvorrichtung darüber hinaus eine Generierungseinheit für positionskorrigierte Befehlswerte (101a, 101b, 102a, 102b) umfasst, die eine Korrektur jeweiliger Fingerpositionen auf Grundlage einer an die Finger angelegten Wirkkraft jedes Mal dann durchführt, wenn der erste Roboter (10a) und der zweite Roboter (10b) dazu veranlasst werden, an den jeweiligen N Gruppen von Anlernpunkten stillzustehen, Fingerpositionen nach der Korrektur oder den Fingerpositionen nach der Korrektur entsprechende Befehlswerte erfasst, und die Fingerpositionen oder die Befehlswerte in den ersten Befehlswerten zum Anlernen ansetzt. - Robotersteuerungsvorrichtung nach
Anspruch 1 , wobei es sich bei dem ersten Roboter (10a) und dem zweiten Roboter (10b) um Roboter handelt, die gleichzeitig dasselbe Werkstück ergreifen und befördern, und die Robotersteuerungsvorrichtung darüber hinaus umfasst: eine Wirkkraftberechnungseinheit (105a, 105b), die eine an die Finger des ersten Roboters (10a) oder des zweiten Roboters (10b) angelegte Wirkkraft berechnet; eine Befehlskorrektureinheit (101a, 101b, 102a, 102b), die während der Synchronansteuerung auf die ersten Befehlswerte zum Ansteuern oder die zweiten Befehlswerte zum Ansteuern eine Korrektur anwendet, um die an die Finger des ersten Roboters (10a) oder des zweiten Roboters (10b) angelegte Wirkkraft auf Grundlage eines berechneten Werts der Wirkkraftberechnungseinheit zu reduzieren; eine Positionserfassungseinheit (104a, 104b), die eine Positionserfassung für den ersten Roboter (10a) und den zweiten Roboter (10b) während der Synchronansteuerung durchführt; und eine Generierungseinheit (101a, 102a) für positionskorrigierte Befehlswerte, die dazu ausgelegt ist, die N ersten Befehlswerte zum Anlernen für jeden der Roboter während der Synchronansteuerung zu berechnen. - Robotersteuerungsvorrichtung nach
Anspruch 3 , darüber hinaus eine Positionserfassungseinheit (104a, 104b) umfassend, die eine Fingerposition des ersten Roboters (10a) und eine Fingerposition des zweiten Roboters (10b) in jedem der Betriebszeiträume erfasst, wobei die Generierungseinheit für positionskorrigierte Befehlswerte in den ersten Befehlswerten zum Anlernen N Erfassungswerte unter Erfassungswerten der Fingerpositionen des ersten Roboters (10a) und N Erfassungswerte unter Erfassungswerten der Fingerpositionen des zweiten Roboters (10b) ansetzt. - Robotersteuerungsvorrichtung nach
Anspruch 3 , wobei die Befehlskorrektureinheit die ersten Befehlswerte zum Ansteuern und die zweiten Befehlswerte zum Ansteuern während der Synchronansteuerung korrigiert, die M ersten Befehlswerte zum Ansteuern und die M zweiten Befehlswerte zum Ansteuern jeweils N zweite Befehlswerte zum Anlernen umfassen, die Befehlswerte vor der Positionskorrektur sind, und die Generierungseinheit für positionskorrigierte Befehlswerte die zweiten Befehlswerte zum Anlernen und einen repräsentativen Wert aktuellster Korrekturbeträge für einen vorbestimmten Zyklus durch die Befehlskorrektureinheit für die zweiten Befehlswerte zum Anlernen aufaddiert, um dadurch die ersten Befehlswerte zum Anlernen zu berechnen. - Robotersteuerungsvorrichtung nach
Anspruch 5 , darüber hinaus eine Befehlswert-zum-Anlernen-Auswahleinheit (600) umfassend, die Befehlswerte zum Ansteuern, die eine Einstellbedingung bezüglich der Wirkkraft erfüllen, unter den M ersten Befehlswerten zum Ansteuern auswählt und die ausgewählten Befehlswerte zum Ansteuern als die zweiten Befehlswerte zum Anlernen des ersten Roboters (10a) ansetzt. - Robotersteuerungsvorrichtung nach
Anspruch 5 , wobei der repräsentative Wert ein Mittelwert, ein gewichteter Mittelwert, ein Medianwert oder ein Modalwert ist. - Robotersteuerungsvorrichtung nach einem der
Ansprüche 1 bis7 , darüber hinaus eine Positionsverhältnismatrixfunktionsgenerierungseinheit (302) umfassend, die eine Positionsverhältnismatrixfunktion zum Interpolieren der N Positionsverhältnismatrizes generiert, wobei die Positionsverhältnismatrixinterpolationseinheit (302, 311) eine Positionsverhältnismatrix für jeden der ersten Befehlswerte zum Ansteuern auf Grundlage der Positionsverhältnismatrixfunktion generiert. - Robotersteuerungsvorrichtung nach
Anspruch 1 , darüber hinaus umfassend: eine Geschwindigkeitseinstellwerteingangseinheit (412), die einen Eingang eines ersten Geschwindigkeitseinstellwerts während der Synchronansteuerung empfängt; und eine Positionsverhältnismatrixfunktionsspeichereinheit (410), die vorab den ersten Geschwindigkeitseinstellwert und eine Positionsverhältnismatrixfunktion zum Interpolieren der N Positionsverhältnismatrizes bei jedem zweiten Geschwindigkeitseinstellwert speichert, der sich vom ersten Geschwindigkeitseinstellwert unterscheidet, wobei die Positionsverhältnismatrixinterpolationseinheit während der Synchronansteuerung die Positionsverhältnismatrixfunktion bei jedem durch die Positionsverhältnismatrixfunktionsspeichereinheit gespeicherten zweiten Geschwindigkeitseinstellwert ausliest, die ausgelesene Positionsverhältnismatrixfunktion bei jedem Geschwindigkeitseinstellwert auf Grundlage des in die Geschwindigkeitseinstellwerteingangseinheit eingegebenen ersten Geschwindigkeitseinstellwerts korrigiert, und eine Positionsverhältnismatrix bei jedem ersten Geschwindigkeitseinstellwert auf Grundlage der Positionsverhältnismatrixfunktion nach der Korrektur generiert. - Robotersteuerungsverfahren zum synchronen Ansteuern eines ersten Roboters (10a) und eines sich vom ersten Roboter (10a) unterscheidenden, zweiten Roboters (10b), wobei das Robotersteuerungsverfahren umfasst: einen Positionsverhältnismatrixgenerierungsschritt, um auf Grundlage von N Befehlswerten zum Anlernen für die jeweiligen Roboter an N Anlernpunkten, bei denen es sich um positionskorrigierte Befehlswerte zum Positionieren des ersten Roboters (10a) und des zweiten Roboters (10b) auf Bahnen des ersten Roboters (10a) und des zweiten Roboters (10b) während der Synchronansteuerung handelt, Positionsverhältnismatrizes zu generieren, um ein Positionsverhältnis während der Synchronansteuerung zwischen einem ersten Befehlswert zum Anlernen bezüglich des ersten Roboters (10a), und einem ersten Befehlswert zum Anlernen bezüglich des zweiten Roboters (10b) zu definieren; einen ersten Befehlswertausgabeschritt, um einen ersten Befehlswert zum Ansteuern in jedem von M (M>N) Betriebszeiträumen auszugeben, bei dem es sich um einen Befehlswert zum Definieren der Bahn des ersten Roboters handelt (10a); einen zweiten Befehlswertgenerierungsschritt, um zu bewirken, dass die Positionsverhältnismatrizes, die den M ersten Befehlswerten zum Ansteuern nach der Interpolation zugeordnet sind, mit den jeweiligen M ersten Befehlswerten zum Ansteuern multipliziert werden, und um M zweite Befehlswerte zum Ansteuern zu generieren, bei denen es sich um Befehlswerte zum Definieren der Bahn des zweiten Roboters (10b) handelt, wobei die N Positionsverhältnismatrizes interpoliert werden und eine Positionsverhältnismatrix bei jedem ersten Befehlswert zum Ansteuern generiert wird, und einen Synchronansteuerungsschritt, um den ersten Roboter (10a) auf Grundlage der ersten Befehlswerte zum Ansteuern anzusteuern und den zweiten Roboter (10b) auf Grundlage der zweiten Befehlswerte zum Ansteuern anzusteuern.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-146947 | 2012-06-29 | ||
JP2012146947 | 2012-06-29 | ||
PCT/JP2013/065060 WO2014002678A1 (ja) | 2012-06-29 | 2013-05-30 | ロボット制御装置およびロボット制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112013003209T5 DE112013003209T5 (de) | 2015-04-02 |
DE112013003209B4 true DE112013003209B4 (de) | 2019-02-07 |
Family
ID=49782845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112013003209.0T Active DE112013003209B4 (de) | 2012-06-29 | 2013-05-30 | Robotersteuerungsvorrichtung und Robotersteuerungsverfahren |
Country Status (5)
Country | Link |
---|---|
US (1) | US9517556B2 (de) |
JP (1) | JP5774223B2 (de) |
CN (1) | CN104379308B (de) |
DE (1) | DE112013003209B4 (de) |
WO (1) | WO2014002678A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10814482B2 (en) | 2018-01-18 | 2020-10-27 | Fanuc Corporation | Robot controller |
DE102017010799B4 (de) * | 2016-11-29 | 2021-03-25 | Fanuc Corporation | Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern |
DE112020007606B4 (de) | 2020-09-14 | 2024-06-13 | Mitsubishi Electric Corporation | Robotersteuervorrichtung |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9649765B2 (en) | 2013-03-11 | 2017-05-16 | Siemens Aktiengesellschaft | Reducing energy consumption of industrial robots by using new methods for motion path programming |
US9840008B2 (en) * | 2013-03-19 | 2017-12-12 | Panasonic Intellectual Property Management Co., Ltd. | Robot system control method and robot system |
FR3018358B1 (fr) * | 2014-03-10 | 2018-05-25 | Noviloire | Methode d'initialisation et de controle d'une installation robotisee |
US9922144B2 (en) | 2014-03-26 | 2018-03-20 | Siemens Industry Software Ltd. | Energy and cycle time efficiency based method for robot positioning |
US9701011B2 (en) | 2014-05-08 | 2017-07-11 | Siemens Industry Software Ltd. | Method for robotic energy saving tool search |
JP5829313B1 (ja) | 2014-06-25 | 2015-12-09 | ファナック株式会社 | シミュレーションを用いたオフライン教示装置 |
US9815201B2 (en) | 2014-07-31 | 2017-11-14 | Siemens Industry Software Limited | Method and apparatus for industrial robotic energy saving optimization using fly-by |
US9469029B2 (en) | 2014-07-31 | 2016-10-18 | Siemens Industry Software Ltd. | Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path |
US9457469B2 (en) * | 2014-08-14 | 2016-10-04 | Siemens Industry Software Ltd. | Method and apparatus for automatic and efficient location generation for cooperative motion |
CN104468685B (zh) * | 2014-09-09 | 2018-04-17 | 杭州德宝威智能科技有限公司 | 机器人数据共享方法和系统 |
WO2016073367A1 (en) * | 2014-11-03 | 2016-05-12 | The Board Of Trustees Of The Leland Stanford Junior University | Position/force control of a flexible manipulator under model-less control |
JP6625322B2 (ja) * | 2014-12-15 | 2019-12-25 | Ntn株式会社 | リンク作動装置 |
JP6126152B2 (ja) * | 2015-03-16 | 2017-05-10 | ファナック株式会社 | 曲線部を有する軌道を生成するロボットの軌道生成装置 |
JP6591818B2 (ja) * | 2015-07-30 | 2019-10-16 | ファナック株式会社 | 産業用ロボットシステムおよびその制御方法 |
CN107921639B (zh) * | 2015-08-25 | 2021-09-21 | 川崎重工业株式会社 | 多个机器人系统间的信息共享系统及信息共享方法 |
JP6616170B2 (ja) * | 2015-12-07 | 2019-12-04 | ファナック株式会社 | コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法 |
DE102016206480B4 (de) * | 2016-04-18 | 2019-07-25 | Kuka Systems Gmbh | Prüfen einer Sicherheitseigenschaft eines Manipulators |
CN105773620B (zh) * | 2016-04-26 | 2017-09-12 | 南京工程学院 | 基于倍四元数的工业机器人自由曲线的轨迹规划控制方法 |
CA3022888A1 (en) | 2016-05-12 | 2017-11-16 | Dreco Energy Services Ulc | System and method for offline standbuilding |
JP6594268B2 (ja) * | 2016-07-25 | 2019-10-23 | 三菱電機株式会社 | モーション制御システム |
JP6517762B2 (ja) | 2016-08-23 | 2019-05-22 | ファナック株式会社 | 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム |
JP6484213B2 (ja) * | 2016-12-09 | 2019-03-13 | ファナック株式会社 | 複数のロボットを含むロボットシステム、ロボット制御装置、及びロボット制御方法 |
CN106584462B (zh) * | 2016-12-22 | 2019-01-15 | 南京埃斯顿自动化股份有限公司 | 一种机器人运行速度实时调节方法 |
JP2018126798A (ja) * | 2017-02-06 | 2018-08-16 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
JP6852450B2 (ja) * | 2017-02-17 | 2021-03-31 | セイコーエプソン株式会社 | 表示方法およびロボットシステム |
JP6472472B2 (ja) * | 2017-03-08 | 2019-02-20 | 本田技研工業株式会社 | 位置姿勢調整方法 |
JP6724831B2 (ja) * | 2017-03-16 | 2020-07-15 | 株式会社安川電機 | コントロールシステム、コントローラ及び制御方法 |
CN110662631B (zh) * | 2017-05-17 | 2023-03-31 | 远程连接株式会社 | 控制装置、机器人控制方法以及机器人控制系统 |
JP6959762B2 (ja) * | 2017-05-19 | 2021-11-05 | 川崎重工業株式会社 | 遠隔操作ロボットシステム |
JP6816704B2 (ja) * | 2017-11-09 | 2021-01-20 | オムロン株式会社 | 指令値補間装置及びサーボドライバ |
CN111344120B (zh) * | 2017-11-14 | 2023-04-07 | 三菱电机株式会社 | 机器人的动作调整装置、动作控制系统及机器人系统 |
CN108555903B (zh) * | 2017-12-30 | 2021-12-10 | 芜湖哈特机器人产业技术研究院有限公司 | 一种清洗液压机械臂的力控制方法 |
JP7294144B2 (ja) * | 2018-01-19 | 2023-06-20 | ソニーグループ株式会社 | ロボット装置及び電子機器の製造方法 |
JP6962229B2 (ja) * | 2018-02-15 | 2021-11-05 | オムロン株式会社 | 中央制御装置、制御方法およびプログラム |
US11035183B2 (en) | 2018-08-03 | 2021-06-15 | National Oilwell Varco, L.P. | Devices, systems, and methods for top drive clearing |
US11891864B2 (en) | 2019-01-25 | 2024-02-06 | National Oilwell Varco, L.P. | Pipe handling arm |
WO2020172407A1 (en) | 2019-02-22 | 2020-08-27 | National Oilwell Varco, L.P. | Dual activity top drive |
JP7405537B2 (ja) * | 2019-09-05 | 2023-12-26 | ファナック株式会社 | 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法 |
JP7437910B2 (ja) * | 2019-10-29 | 2024-02-26 | 株式会社東芝 | 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 |
CN111319042B (zh) * | 2020-02-06 | 2023-03-07 | 北京凡川智能机器人科技有限公司 | 一种基于遗忘因子动态参数的机器人柔顺装配控制方法 |
US11834914B2 (en) | 2020-02-10 | 2023-12-05 | National Oilwell Varco, L.P. | Quick coupling drill pipe connector |
US11274508B2 (en) | 2020-03-31 | 2022-03-15 | National Oilwell Varco, L.P. | Robotic pipe handling from outside a setback area |
US12116846B2 (en) | 2020-05-03 | 2024-10-15 | National Oilwell Varco, L.P. | Passive rotation disconnect |
US11365592B1 (en) * | 2021-02-02 | 2022-06-21 | National Oilwell Varco, L.P. | Robot end-effector orientation constraint for pipe tailing path |
US11814911B2 (en) | 2021-07-02 | 2023-11-14 | National Oilwell Varco, L.P. | Passive tubular connection guide |
US11982139B2 (en) | 2021-11-03 | 2024-05-14 | National Oilwell Varco, L.P. | Passive spacer system |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0671580A (ja) * | 1992-08-25 | 1994-03-15 | Fanuc Ltd | 双腕ロボットの同期制御方法 |
JPH06271580A (ja) | 1992-06-11 | 1994-09-27 | Mcneilab Inc | 製薬学的に有用な抗痙攣性スルフアメートのイミデート誘導体 |
JPH0720915A (ja) | 1993-07-06 | 1995-01-24 | Fanuc Ltd | ロボットの同期制御方法 |
JPH07256580A (ja) | 1994-03-18 | 1995-10-09 | Fujitsu Ltd | 複腕協調制御装置 |
DE68923889T2 (de) | 1988-03-01 | 1996-01-18 | Hitachi Construction Machinery | Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden. |
DE69217420T2 (de) | 1991-07-05 | 1997-09-04 | Daihen Corp | Manuelle Lernkontrollvorrichtung für Arbeitsvorgänge in einem Industrierobotersystem |
JPH11119820A (ja) | 1997-10-17 | 1999-04-30 | Meidensha Corp | ティーチングプレイバック式ロボット |
JP2000190266A (ja) | 1998-12-25 | 2000-07-11 | Toyota Motor Corp | 複数マニピュレ―タによる協調動作制御方法 |
JP2001216012A (ja) | 2000-02-04 | 2001-08-10 | Mitsubishi Electric Corp | ロボット制御方法 |
US20060069466A1 (en) | 2004-09-29 | 2006-03-30 | Tetsuaki Kato | Method for controlling trajectory of robot |
JP2011104740A (ja) | 2009-11-19 | 2011-06-02 | Mitsubishi Electric Corp | 力制御装置 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63113605A (ja) * | 1986-10-30 | 1988-05-18 | Toyota Motor Corp | 同期型ロボツト装置の動作制御方法 |
EP0353585A3 (de) * | 1988-08-04 | 1992-04-22 | Siemens Aktiengesellschaft | Verfahren zur Bahn- und Positionskorrektur eines Werkzeugs eines Roboters |
DE69216167T2 (de) * | 1991-07-06 | 1997-07-10 | Daihen Corp | Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren |
JP3306781B2 (ja) * | 1992-12-31 | 2002-07-24 | 株式会社ダイヘン | 産業用ロボットの手動操作による教示制御装置および教示方法 |
JPH07205072A (ja) | 1994-01-26 | 1995-08-08 | Mazda Motor Corp | 複数ロボットの協調制御装置 |
JP2732034B2 (ja) | 1994-08-23 | 1998-03-25 | 株式会社不二越 | ロボット制御装置 |
DE69636230T2 (de) * | 1995-09-11 | 2007-04-12 | Kabushiki Kaisha Yaskawa Denki, Kitakyushu | Robotersteuerung |
JP3632278B2 (ja) | 1996-01-31 | 2005-03-23 | 松下電器産業株式会社 | ロボット間座標変換行列設定方法および補正方法 |
JPH1083208A (ja) | 1996-09-05 | 1998-03-31 | Matsushita Electric Ind Co Ltd | ロボット間相対位置演算機構 |
JP2000301479A (ja) * | 1999-04-19 | 2000-10-31 | Denso Corp | ロボット制御装置 |
EP1090722B1 (de) * | 1999-09-16 | 2007-07-25 | Fanuc Ltd | Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern |
JP2001212781A (ja) * | 2000-02-02 | 2001-08-07 | Aida Eng Ltd | ロボットの同期制御装置 |
JP2001252884A (ja) * | 2000-03-06 | 2001-09-18 | Matsushita Electric Ind Co Ltd | ロボット、ロボットシステムおよびロボットの制御方法 |
JP3765713B2 (ja) | 2000-07-10 | 2006-04-12 | 独立行政法人科学技術振興機構 | ロボットの協調制御方法及び協調制御装置 |
JP3504222B2 (ja) * | 2000-09-04 | 2004-03-08 | ファナック株式会社 | ロボット制御装置 |
JP3588063B2 (ja) | 2001-07-13 | 2004-11-10 | ファナック株式会社 | ロボット制御装置 |
JP3577028B2 (ja) * | 2001-11-07 | 2004-10-13 | 川崎重工業株式会社 | ロボットの協調制御システム |
US6807461B2 (en) * | 2002-05-22 | 2004-10-19 | Kuka Roboter Gmbh | Coordinated robot control from multiple remote instruction sources |
DE10236392A1 (de) * | 2002-08-08 | 2004-02-19 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten |
US6804580B1 (en) * | 2003-04-03 | 2004-10-12 | Kuka Roboter Gmbh | Method and control system for controlling a plurality of robots |
SE0400091D0 (sv) * | 2004-01-16 | 2004-01-16 | Abb Ab | Control system, method and computer program |
JP2005262369A (ja) | 2004-03-18 | 2005-09-29 | Yaskawa Electric Corp | ロボットシステム |
JP4189445B2 (ja) * | 2004-12-22 | 2008-12-03 | 川崎重工業株式会社 | ロボットの制御方法および制御装置 |
JP2006187826A (ja) * | 2005-01-05 | 2006-07-20 | Kawasaki Heavy Ind Ltd | ロボットコントローラ |
JP4382003B2 (ja) * | 2005-03-23 | 2009-12-09 | 川崎重工業株式会社 | ロボット制御装置およびロボット制御方法 |
US7860609B2 (en) * | 2005-05-06 | 2010-12-28 | Fanuc Robotics America, Inc. | Robot multi-arm control system |
JP4159577B2 (ja) * | 2005-12-13 | 2008-10-01 | ファナック株式会社 | 複数のロボット間のインターロック自動設定装置及び自動設定方法 |
US20070142966A1 (en) * | 2005-12-20 | 2007-06-21 | Khalid Mirza | Process for moving a robot |
JP2008073830A (ja) * | 2006-09-25 | 2008-04-03 | Fanuc Ltd | ロボット制御装置 |
JP2008254097A (ja) | 2007-04-03 | 2008-10-23 | Denso Wave Inc | 複数ロボット間の相対位置計算方法 |
JP2009018380A (ja) | 2007-07-12 | 2009-01-29 | Toyota Motor Corp | ロボット、ロボットの制御方法、及びロボットの制御システム |
JP4531126B2 (ja) * | 2008-02-28 | 2010-08-25 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及びロボットアーム制御用集積電子回路 |
US8301302B2 (en) * | 2008-05-08 | 2012-10-30 | The Boeing Company | Synchronous robotic operation on a structure having a confined space |
KR101479233B1 (ko) * | 2008-05-13 | 2015-01-05 | 삼성전자 주식회사 | 로봇 및 그 협조작업 제어방법 |
JP4634541B2 (ja) * | 2008-06-06 | 2011-02-16 | パナソニック株式会社 | ロボット、ロボットの制御装置、制御方法、及び制御プログラム |
JP2010023128A (ja) | 2008-07-15 | 2010-02-04 | Yaskawa Electric Corp | ロボットシステム |
JP2010082802A (ja) | 2009-11-26 | 2010-04-15 | Yaskawa Electric Corp | 自動機械システム |
US9205887B2 (en) * | 2010-02-25 | 2015-12-08 | Honda Motor Co., Ltd. | Constrained resolved acceleration control |
CN102510793B (zh) * | 2010-06-04 | 2015-01-28 | 中国科学院自动化研究所 | 加速度连续的机器人轨迹生成系统和方法 |
CN101913149B (zh) * | 2010-07-23 | 2012-04-04 | 山东电力研究院 | 嵌入式轻型机械臂控制器及其控制方法 |
US8731714B2 (en) * | 2010-09-22 | 2014-05-20 | GM Global Technology Operations LLC | Concurrent path planning with one or more humanoid robots |
CN104054023B (zh) * | 2011-11-16 | 2017-11-17 | 欧特法斯公司 | 用于与机器人控制的物体映射的3d投影的系统和方法 |
US20130245823A1 (en) * | 2012-03-19 | 2013-09-19 | Kabushiki Kaisha Yaskawa Denki | Robot system, robot hand, and robot system operating method |
CN102721746A (zh) * | 2012-07-04 | 2012-10-10 | 北京理工大学 | 一种双机械手超声透射检测装置 |
JP5981811B2 (ja) * | 2012-09-06 | 2016-08-31 | 川崎重工業株式会社 | 搬送システム及び搬送システムの搬送方法 |
JP5768829B2 (ja) * | 2013-03-15 | 2015-08-26 | 株式会社安川電機 | ロボットシステム、ロボット制御方法及び被加工物の製造方法 |
JP5678979B2 (ja) * | 2013-03-15 | 2015-03-04 | 株式会社安川電機 | ロボットシステム、校正方法及び被加工物の製造方法 |
US9840008B2 (en) * | 2013-03-19 | 2017-12-12 | Panasonic Intellectual Property Management Co., Ltd. | Robot system control method and robot system |
JP5970415B2 (ja) * | 2013-05-16 | 2016-08-17 | 株式会社神戸製鋼所 | 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法 |
JP5893665B2 (ja) * | 2014-04-14 | 2016-03-23 | ファナック株式会社 | 作用された力に応じて移動されるロボットを制御するロボット制御装置 |
-
2013
- 2013-05-30 JP JP2014522493A patent/JP5774223B2/ja active Active
- 2013-05-30 DE DE112013003209.0T patent/DE112013003209B4/de active Active
- 2013-05-30 WO PCT/JP2013/065060 patent/WO2014002678A1/ja active Application Filing
- 2013-05-30 US US14/401,593 patent/US9517556B2/en active Active
- 2013-05-30 CN CN201380033535.2A patent/CN104379308B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68923889T2 (de) | 1988-03-01 | 1996-01-18 | Hitachi Construction Machinery | Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden. |
DE69217420T2 (de) | 1991-07-05 | 1997-09-04 | Daihen Corp | Manuelle Lernkontrollvorrichtung für Arbeitsvorgänge in einem Industrierobotersystem |
JPH06271580A (ja) | 1992-06-11 | 1994-09-27 | Mcneilab Inc | 製薬学的に有用な抗痙攣性スルフアメートのイミデート誘導体 |
JPH0671580A (ja) * | 1992-08-25 | 1994-03-15 | Fanuc Ltd | 双腕ロボットの同期制御方法 |
JPH0720915A (ja) | 1993-07-06 | 1995-01-24 | Fanuc Ltd | ロボットの同期制御方法 |
JPH07256580A (ja) | 1994-03-18 | 1995-10-09 | Fujitsu Ltd | 複腕協調制御装置 |
JPH11119820A (ja) | 1997-10-17 | 1999-04-30 | Meidensha Corp | ティーチングプレイバック式ロボット |
JP2000190266A (ja) | 1998-12-25 | 2000-07-11 | Toyota Motor Corp | 複数マニピュレ―タによる協調動作制御方法 |
JP2001216012A (ja) | 2000-02-04 | 2001-08-10 | Mitsubishi Electric Corp | ロボット制御方法 |
US20060069466A1 (en) | 2004-09-29 | 2006-03-30 | Tetsuaki Kato | Method for controlling trajectory of robot |
JP2011104740A (ja) | 2009-11-19 | 2011-06-02 | Mitsubishi Electric Corp | 力制御装置 |
Non-Patent Citations (2)
Title |
---|
Nichtpatentschrift 1: Suguru Arimoto „Dynamics and Control of Robots" Asakura Publishing Co., Ltd. 1990 |
Suguru Arimoto: "Dynamics and Control of Robots", Asakura Publishing Co. Ltd. 1990, Seite 182 - 187 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017010799B4 (de) * | 2016-11-29 | 2021-03-25 | Fanuc Corporation | Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern |
US10814482B2 (en) | 2018-01-18 | 2020-10-27 | Fanuc Corporation | Robot controller |
DE112020007606B4 (de) | 2020-09-14 | 2024-06-13 | Mitsubishi Electric Corporation | Robotersteuervorrichtung |
Also Published As
Publication number | Publication date |
---|---|
WO2014002678A1 (ja) | 2014-01-03 |
JPWO2014002678A1 (ja) | 2016-05-30 |
CN104379308A (zh) | 2015-02-25 |
US9517556B2 (en) | 2016-12-13 |
CN104379308B (zh) | 2016-05-18 |
JP5774223B2 (ja) | 2015-09-09 |
DE112013003209T5 (de) | 2015-04-02 |
US20150148952A1 (en) | 2015-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112013003209B4 (de) | Robotersteuerungsvorrichtung und Robotersteuerungsverfahren | |
DE102019001948B4 (de) | Steuerung und maschinelle Lernvorrichtung | |
DE112016005365B4 (de) | Direktes Lehrverfahren eines Roboters | |
DE102007060682B4 (de) | Verfahren und Vorrichtung zur modellbasierten Regelung eines Manipulators | |
DE112016004725B4 (de) | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung | |
DE102015002764B4 (de) | Robotersteuerung mit detektion eines kontaktes im externen umfeld | |
DE102016012065B4 (de) | Robotersystem mit Funktion zum Berechnen von Position und Ausrichtung eines Sensors | |
DE102015004483B4 (de) | Robotersteuerung und Robotersystem zum Bewegen eines Roboters als Reaktion auf eine Kraft | |
DE102018129528B4 (de) | Schwingungsunterdrückungsvorrichtung | |
DE102017127995B4 (de) | Robotersteuervorrichtung zum Steuern eines Roboters und Verfahren zum Schätzen eines auf den Roboter ausgeübten Störwerts | |
EP2272637B1 (de) | Verfahren und eine Vorrichtung zum Betreiben eines Manipulators | |
DE102018102995A1 (de) | Redundanter unterbetätigter roboter mit multimodus-steuerungsrahmen | |
DE102006055917B4 (de) | Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells | |
DE102009018403A1 (de) | Verfahren und Vorrichtung zur Regelung eines Manipulators | |
DE112017003961B4 (de) | Steuerung für Parallelverbindungsmechanismus | |
DE102019205651B3 (de) | Verfahren und System zum Ausführen von Roboterapplikationen | |
DE102018210864B3 (de) | Verfahren und System zum Regeln eines Roboters | |
DE102018133349A1 (de) | Verfahren und Vorrichtung zur Momentschätzung | |
DE102018112370B4 (de) | Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator | |
WO2019243394A1 (de) | Manueller anlernvorgang an einem robotermanipulator mit kraft-/momentenvorgabe | |
DE102020210240A1 (de) | Robotersteuerung | |
DE102019122416B4 (de) | Roboter | |
DE112018007729T5 (de) | Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem | |
EP3535097B1 (de) | Kalibrieren eines modells eines prozess-roboters und betreiben eines prozess-roboters | |
DE102020209866B3 (de) | Verfahren und System zum Betreiben eines Roboters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: MEISSNER, BOLTE & PARTNER GBR, DE Representative=s name: MEISSNER BOLTE PATENTANWAELTE RECHTSANWAELTE P, DE |
|
R084 | Declaration of willingness to licence | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |