-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein direktes lehrendes bzw. Lehrverfahren eines Roboters, welcher eine Mehrzahl von Roboterarmen beinhaltet.
-
Stand der Technik
-
Konventionellerweise werden Betätigungs- bzw. Betriebsprogramme für einen Industrieroboter durch ein Lehren bzw. Lernen erzeugt, welches für den Roboter durchgeführt wird, und der Roboter weist eine lehrende Playback-Funktion auf. Als ein Beispiel des oben beschriebenen Lehrverfahrens des Industrieroboters ist ein direktes lehrendes bzw. Lehrverfahren bekannt. In dem direkten Lehrverfahren wird ein Lehren in einer derartigen Weise durchgeführt, dass eine lehrende Person manuell einen Roboter zu einer lehrenden bzw. lernenden Position bewegt, und der Roboter darin Positionsinformation (nämlich bzw. insbesondere eine lehrende Position) eines Positionssensors speichert. Die Patentliteratur 1 offenbart eine Technik, welche sich auf ein derartiges Lehren bezieht, welches für den Roboter durchgeführt wird.
-
In einem direkten Lehrverfahren eines Roboters, welches in der Patentliteratur 1 geoffenbart ist, ist bzw. wird ein Kraftsensor für ein Detektieren einer Kraft, welche auf ein Gelenk- bzw. Handgelenkteil aufgebracht bzw. angewandt wird, an dem Gelenkteil festgelegt, arbeitet ein Roboter durch eine Compliance-Regelung bzw. -Steuerung, in welcher ein Detektionssignal des Kraftsensors eine Eingabe ist, wird der Roboter durch eine Anwendung einer Kraft auf ein Werkzeug durch eine lehrende Person bewegt, wird das Werkzeug an einer gewünschten Position durch die manuelle Betätigung der lehrenden Position positioniert und wird Positionsinformation dem Roboter eingegeben. Als die Bewegung des Spitzenendes des Werkzeugs dieses Roboters können eine freie Bewegung, in welcher die Bewegung des Roboters nicht beschränkt ist, oder eine beschränkte Bewegung, in welcher die Bewegung des Roboters auf eine besondere gerade Linie oder Ebene beschränkt ist, ausgewählt werden.
-
In einigen Fällen wird ein Mehrfachgelenk-Robotersystem, in welchem eine Mehrzahl von Robotern gemeinsam bzw. im Zusammenwirken arbeitet, konstruiert. Die kooperative bzw. gemeinsame Arbeit der Mehrzahl von Robotern beinhaltet Vorgänge bzw. Betätigungen, welche durch die Mehrzahl von Robotern durchgeführt werden, während eine Kollision zwischen diesen vermieden wird, Vorgänge bzw. Betätigungen, welche durch die Mehrzahl von Robotern durchgeführt werden, um ein Zielobjekt handzuhaben, oder dgl.
-
Literaturliste
-
Patentliteratur
-
Patentliteratur 1: Japanische offengelegte Patentanmeldung Veröffentlichung Nr. Hei. 9-141580
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
In der Technik, welche in der Patentliteratur 1 geoffenbart wird, wird eine externe Kraft, welche auf das Gelenkteil oder das Werkzeug aufgebracht bzw. angewandt wird, detektiert oder abgeschätzt, und es arbeitet der Roboter, um das Werkzeug gemäß der externen Kraft zu bewegen. Zu diesem Zweck beinhaltet der Roboter den Kraftsensor und es wird eine Regelung bzw. Steuerung kompliziert. Da der Roboter basierend auf der detektierten externen Kraft arbeitet, ist es schwierig, fein die Position des Roboterarms oder des Werkzeugs in einem Fall einzustellen, wo die lehrende Person direkt eine Kraft auf den Roboterarm oder das Werkzeug aufbringt bzw. ausübt, um ihn bzw. es zu bewegen.
-
Typischerweise wird in der direkten lehrenden Arbeit für den Roboter angenommen, dass ein Lehren für jeden der Roboterarme durchgeführt wird. In einem Fall, wo ein Lehren direkt für die Mehrzahl von Roboterarmen durchgeführt wird, erfordert eine präzise Einstellung der relativen Positionen und Stellungen bzw. Lagen der Mehrzahl von Roboterarmen eine Expertise bzw. Kenntnis und ist sehr kompliziert, da es schwierig ist, fein die Position von einem Roboterarm einzustellen, wie dies oben beschrieben ist.
-
Die vorliegende Erfindung wurde unter Berücksichtigung der oben beschriebenen Umstände entwickelt und es ist ein Ziel bzw. Gegenstand der vorliegenden Erfindung, eine Technik vorzuschlagen, welche erlaubt, dass eine lehrende Arbeit leicht für einen Roboter, welcher eine Mehrzahl von Roboterarmen beinhaltet, in einem Fall durchgeführt wird, wo ein Lehren direkt für die Mehrzahl von Roboterarmen durchgeführt wird, während die Mehrzahl von Roboterarmen gemeinsam miteinander betrieben bzw. betätigt wird.
-
Lösung für das Problem
-
Gemäß einem Aspekt der vorliegenden Erfindung wird ein direktes lehrendes bzw. Lehrverfahren eines Roboters (direktes Lehrverfahren für einen Roboter, Verfahren eines direkten Lehrens eines Roboters, Verfahren eines direkten Lehrens bzw. Unterrichtens eines Roboters) zur Verfügung gestellt, wobei der Roboter eine Mehrzahl von Roboterarmen enthält, wobei das direkte Lehrverfahren umfasst: ein Spezifizieren von einem der Mehrzahl von Roboterarmen als einen Master-Arm und ein Spezifizieren als einen Slave-Arm von wenigstens einem der Mehrzahl von Roboterarmen, welcher verschieden von dem Master-Arm ist; ein Veranlassen des Slave-Arms, um gemeinsam bzw. zusammenwirkend mit dem Master-Arm zu arbeiten, so dass relative Positionen und Stellungen bzw. Lagen eines Handgelenk- bzw. Gelenkteils des Master-Arms und eines Gelenkteils des Slave-Arms eine vorbestimmte Beziehung werden, während eine lehrende Person direkt eine Kraft auf eine willkürliche Stelle des Master-Arms, beinhaltend ein Werkzeug aufbringt, um den Master-Arm zu einer gewünschten lehrenden Position zu bewegen; und ein Speichern von Positionsinformation des Master-Arms und von Positionsinformation des Slave-Arms zu einem Zeitpunkt, wenn der Master-Arm die gewünschte lehrende Position erreicht hat.
-
In Übereinstimmung mit diesem direkten Lehrverfahren des Roboters arbeitet, gemäß der Bewegung des Master-Arms, welcher direkt durch die lehrende Person bewegt wird, der Slave-Arm automatisch gemeinsam mit dem Master-Arm zusammen, so dass die Relation bzw. Beziehung von relativen Positionen und Stellungen bzw. Lagen des Gelenk- bzw. Handgelenkteils des Master-Arms und des Gelenk- bzw. Handgelenkteils des Slave-Arms als die vorbestimmte Beziehung beibehalten wird. Dies macht es möglich, eine Arbeit wegzulassen, welche kompliziert ist und eine Expertise bzw. Kenntnis erfordert, um die relativen Positionen und Lagen der Mehrzahl von Roboterarmen in der lehrenden Arbeit für die Mehrzahl von Roboterarmen einzustellen. Als ein Resultat ist bzw. wird die lehrende Arbeit vereinfacht. Weiters kann, da die lehrende Person die Beziehung der Positionen und Lagen der Roboterarme sehen kann, die lehrende Person leicht den Status der Roboterarme überprüfen.
-
Vorteilhafte Effekte der Erfindung
-
In Übereinstimmung mit der vorliegenden Erfindung kann eine lehrende Arbeit leicht für einen Roboter, welcher eine Mehrzahl von Roboterarmen enthält, in einem Fall durchgeführt werden, wo ein Lehren direkt für die Mehrzahl von Roboterarmen durchgeführt wird, während die Mehrzahl von Roboterarmen gemeinsam miteinander betrieben bzw. betätigt wird.
-
Figurenliste
-
- 1 ist eine schematische Vorderansicht, welche die Gesamtkonfiguration eines Mehrfachgelenk-Roboters (gelenkigen Roboters) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist eine schematische Draufsicht auf den Roboter.
- 3 ist ein Diagramm, welches die schematische Konfiguration eines Regel- bzw. Steuersystems des Roboters zeigt.
- 4 ist ein Diagramm, welches die schematische Konfiguration des Regel- bzw. Steuersystems des Roboters zeigt.
- 5 ist ein Diagramm, welches eine spezifische elektrische Konfiguration zeigt, welche einen Servo-Regel- bzw. -Steuerabschnitt als einen Hauptbestandteil beinhaltet.
- 6 ist eine schematische Ansicht für ein Erläutern einer Bewegung des Standardpunkts eines Roboterarms.
- 7 ist eine Ansicht für ein Erläutern einer Koordinatentransformation durch eine Verwendung einer Koordinatentransformations-Matrix Q.
- 8 ist ein Flussdiagramm, welches ein Bearbeiten zeigt, welches durch eine Regel- bzw. Steuereinrichtung bzw. einen Controller während eines direkten Lehrvorgangs durchgeführt wird.
-
Beschreibung von Ausführungsformen
-
Nun wird die Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben werden. Ein Mehrfachgelenk- (gelenkiger bzw. angelenkter) Roboter (welcher nachfolgend auch einfach als „Roboter 1“ bezeichnet werden wird) gemäß der Ausführungsform der vorliegenden Erfindung wird in einer Produktionsanlage bzw. -fabrik verwendet, in welcher elektrische und elektronische Komponenten und dgl. zu Produkten durch ein Straßen-Herstellungsverfahren oder ein Zellen-Herstellungsverfahren zusammengebaut werden, wird entlang eines Arbeitstisches angeordnet, welcher in der Herstellungsfabrik vorgesehen ist, und ist fähig, wenigstens einen von Arbeitsvorgängen durchzuführen, wie beispielsweise einen Transfer bzw. Transport, ein Montieren von Teilen, ein Ändern von Positionen und ein Ändern von Lagen bzw. Stellungen für Werkstücke, welche auf dem Arbeitstisch angeordnet sind. Es ist festzuhalten bzw. anzumerken, dass die Ausführungsform des Roboters der vorliegenden Erfindung nicht auf die obige beschränkt bzw. begrenzt ist, und weit auf Mehrfachgelenk-Roboter anwendbar ist, beinhaltend einen horizontalen Mehrfachgelenk- (angelenkten) Roboter und einen vertikalen Mehrfachgelenk- (angelenkten) Roboter.
-
Einleitend wird die schematische Konfiguration des Roboters 1 beschrieben werden. 1 ist eine Vorderansicht, welche die Gesamtkonfiguration des Roboters 1 gemäß der Ausführungsform der vorliegenden Erfindung zeigt. 2 ist eine schematische Draufsicht auf die Gesamtkonfiguration des Roboters 1. Wie dies in 1 und 2 gezeigt ist, beinhaltet der Roboter 1 einen Träger 17, ein Paar von Roboterarmen (welche nachfolgend einfach als „Arme“ bezeichnet werden) 10A, 10B, welche auf dem Träger 17 abgestützt sind, Werkzeuge 5 (Endeffektoren), welche jeweils auf den Spitzenenden der Arme 10A, 10B festgelegt sind, und eine Regel- bzw. Steuereinrichtung bzw. einen Controller 6, welche(r) die Vorgänge bzw. Betätigungen der Arme 10A, 10B und des Werkzeugs 5 regelt bzw. steuert.
-
Der Roboter 1 gemäß der Ausführungsform ist ein Roboter mit zwei Armen bzw. zweiarmiger Roboter, beinhaltend den rechten und linken Arm 10A, 10B. Der rechte und linke Arm 10A, 10B sind fähig, unabhängig voneinander oder gemeinsam miteinander zu arbeiten. Der rechte und linke Arm 10A, 10B weisen im Wesentlichen dieselbe Struktur auf. In einem Fall, wo der rechte und linke Arm 10A, 10B nicht voneinander unterschieden werden, werden sie als „Arme 10“ bezeichnet, wobei die Buchstaben weggelassen werden.
-
Jeder der Arme 10 ist ein horizontaler Mehrfachgelenk- (angelenkter) Roboterarm. Jeder der Arme 10 beinhaltet ein erstes Glied 11, ein zweites Glied 12 und ein Gelenk- bzw. Handgelenkteil 13, welches ein mechanisches Interface beinhaltet, an welchem das Werkzeug 5 montiert wird, wobei das erste Glied 11, das zweite Glied 12 und das Gelenkteil 13 miteinander in Serie gekoppelt sind.
-
Das erste Glied 11 ist mit einem Basisschaft bzw. einer Basiswelle 16 gekoppelt, welche(r) an der oberen Oberfläche des Trägers 17 über ein Dreh- bzw. Rotationsgelenk gesichert ist. Das erste Glied 11 ist um eine (etwa) vertikale Rotations- bzw. Drehachse L1 drehbar, welche durch die zentrale Achse der Basiswelle 16 hindurchtritt. Das zweite Glied 12 ist mit dem Spitzenende des ersten Glieds 11 über das Rotations- bzw. Drehgelenk gekoppelt. Das zweite Glied 12 ist um eine vertikale Rotationsachse L2 drehbar, welche an dem Spitzenende des ersten Glieds 11 definiert ist.
-
Das Gelenkteil 13 ist mit dem Spitzenende des zweiten Glieds 12 über ein lineares Gelenk und das Rotationsgelenk gekoppelt. Das Gelenkteil 13 ist aufwärts und abwärts durch das lineare Gelenk bzw. die lineare Verbindung relativ zu dem zweiten Glied 12 bewegbar. Das Gelenkteil 13 ist um eine Rotationsachse normal auf das zweite Glied 12 durch das Rotationsgelenk bzw. die Rotationsverbindung drehbar.
-
Der Arm 10, welcher die oben beschriebene Konfiguration aufweist, beinhaltet vier Regel- bzw. Steuerwellen bzw. -schafte J1 bis J4, welche vorgesehen sind, um jeweils den Gelenken bzw. Verbindungen zu entsprechen. Der Arm 10 ist jeweils mit antreibenden Servomotoren M1 bis M4 und mit Codiereinrichtungen E1 bis E4 (siehe 4) versehen, welche die Rotations- bzw. Drehwinkel der Servomotoren M1 bis M4 detektieren, wobei die Servomotoren M1 bis M4 und die Codiereinrichtungen E1 bis E4 jeweils den Regel- bzw. Steuerwellen J1 bis J4 entsprechen. In einem Fall, wo die Regel- bzw. Steuerwellen J1 bis J4 nicht besonders voneinander unterschieden werden, werden sie als „Regel- bzw. Steuerwellen J“ ausgedrückt bzw. bezeichnet, wobei die Ziffernbezeichnungen weggelassen sind. In einem Fall, wo die Servomotoren M1 bis M4 nicht besonders voneinander unterschieden werden, werden sie als „Servomotoren M“ bezeichnet, wobei die Ziffernbezeichnungen weggelassen werden. In einem Fall, wo die Codiereinrichtungen E1 bis E4 nicht besonders voneinander unterschieden werden, werden sie als „Codiereinrichtungen E“ bezeichnet, wobei die Ziffernbezeichnungen weggelassen werden.
-
Die Rotationsachsen L1 der ersten Glieder 11 der zwei Arme 10A, 10B, welche die oben beschriebene Konfiguration aufweisen, sind auf derselben geraden Linie angeordnet. Das erste Glied 11 des Arms 10A und das erste Glied 11 des Arms 10B sind mit einem vertikalen Höhenunterschied angeordnet. Ein Ursprung eines Basiskoordinatensystems des Roboters 1 ist bzw. wird auf den Rotationsachsen L1 des Roboters 1 definiert. Dies macht es möglich, leicht eine Regelung bzw. Steuerung und eine Berechnung durchzuführen, um den zwei Armen 10A, 10B zu erlauben, gemeinsam miteinander zu arbeiten bzw. tätig zu sein.
-
Als nächstes wird die Regel- bzw. Steuereinrichtung bzw. der Controller 6 beschrieben werden. Die Regel- bzw. Steuereinrichtung 6 ist konfiguriert bzw. aufgebaut, um einen normalen Betrieb und einen lehrenden Betrieb des Roboters 1 zu regeln bzw. zu steuern. 3 und 4 sind Diagramme, welche die schematische Konfiguration eines Regel- bzw. Steuersystems des Roboters 1 zeigen. Da die Regel- bzw. Steuersysteme des rechten und linken Arms 10A, 10B im Wesentlichen dieselbe Konfiguration aufweisen, ist die Konfiguration des Regel- bzw. Steuersystems von einem der Arme 10 im Detail in 4 gezeigt.
-
Wie dies in 3 und 4 gezeigt ist, beinhaltet die Regel- bzw. Steuereinrichtung 6 einen Host-Regel- bzw. -Steuerabschnitt 22, Servo-Regel- bzw. -Steuerabschnitte 23A, 23B, welche jeweils den Armen 10A, 10B entsprechen, und antreibende bzw. Antriebsabschnitte 24A, 24B, welche jeweils den Armen 10A, 10B entsprechen. Obwohl in der vorliegenden Ausführungsform ein Host-Regel- bzw. -Steuerabschnitt 22 konfiguriert ist, um die Betätigungen der zwei Arme 10A, 10B zu regeln bzw. zu steuern, können Host-Regel- bzw. -Steuerabschnitte vorgesehen sein, um jeweils den zwei Armen 10A, 10B zu entsprechen. Die zwei Servo-Regel- bzw. -Steuerabschnitte 23A, 23B weisen im Wesentlichen dieselbe Konfiguration auf. In einem Fall, wo die zwei Servo-Regel- bzw. -Steuerabschnitte 23A, 23B nicht besonders voneinander unterschieden werden, werden sie als „Servo-Regel- bzw. -Steuerabschnitte 23“ bezeichnet, wobei die Buchstaben weggelassen werden. Die zwei Antriebsabschnitte 24A, 24B weisen im Wesentlichen dieselbe Konfiguration auf. In einem Fall, wo die Antriebsabschnitte 24A, 24B nicht besonders voneinander unterschieden werden, werden sie als „Antriebsabschnitte 24“ bezeichnet, wobei die Buchstaben weggelassen werden.
-
Die Antriebsabschnitte 24 sind vorgesehen, um jeweils den Regel- bzw. Steuerwellen J1 bis J4 des Arms 10 zu entsprechen. In 4 ist einer der vier Antriebsabschnitte 24, welcher vorgesehen ist, um einem Arm 10 zu entsprechen, im Detail gezeigt, und die anderen Antriebsabschnitte 24 sind nicht gezeigt. Der Servo-Regel- bzw. -Steuerabschnitt 23 ist bzw. wird mit jedem der Antriebsabschnitte 24 verbunden. Der Host-Regel- bzw. -Steuerabschnitt 22 ist bzw. wird mit dem Servo-Regel- bzw. -Steuerabschnitt 23 verbunden. Diese Abschnitte bzw. Sektionen stellen die Regel- bzw. Steuereinrichtung 6 dar.
-
Als eine Eingabevorrichtung 62, welche für ein Eingeben eines Betriebs- bzw. Betätigungsbefehls an den Host-Regel- bzw. -Steuerabschnitt 22 verwendet wird, wird ein Tablet-Computer, welcher ein graphisches Interface aufweist, verwendet. Die Eingabevorrichtung 62 ist drahtlos mit der Regel- bzw. Steuereinrichtung 6 verbindbar. Ein Befehl, welcher an die Eingabevorrichtung 62 durch eine lehrende bzw. Lehrperson (Betreiber) eingegeben wird, wird an die Regel- bzw. Steuereinrichtung 6 eingegeben. Die Eingabevorrichtung 62 fungiert auch als ein lehrendes Gegenstück, welches eine Eingabevorrichtung ist, welche verwendet wird, um einen Befehl an die Regel- bzw. Steuereinrichtung 6 einzugeben, um den Roboter 1 zu lehren.
-
Die Regel- bzw. Steuereinrichtung 6 ist ein Computer, und beinhaltet einen Prozessorabschnitt, wie beispielsweise eine CPU, und einen Speicherabschnitt, wie beispielsweise ein ROM und RAM (keines von diesen ist gezeigt). Der Speicherabschnitt beinhaltet darin Programme, welche durch den Prozessorabschnitt auszuführen sind, fixierte Daten oder dgl. Der Prozessorabschnitt überträgt und erhält bzw. empfängt Daten beispielsweise zu und von einer externen Vorrichtung, wie beispielsweise der Eingabevorrichtung 62. Der Prozessorabschnitt empfängt Detektionssignale als Eingabe von Sensoren und gibt Regel- bzw. Steuersignale an Ziele aus, welche zu regeln bzw. zu steuern sind. Die Regel- bzw. Steuereinrichtung 6 führt ein Bearbeiten durch, um die Betätigungen bzw. Vorgänge des Roboters 1 in einer derartigen Weise zu regeln bzw. zu steuern, dass der Prozessorabschnitt Software, wie beispielsweise die Programme, welche in dem Speicherabschnitt gespeichert sind, liest und die Software ausführt. Insbesondere weist der Host-Regel- bzw. -Steuerabschnitt 22 der Regel- bzw. Steuereinrichtung 6 wenigstens eine Funktion als ein lehrender Regel- bzw. Steuerabschnitt 22a auf, welcher ein Be- bzw. Verarbeiten durchführt, um die Vorgänge des Roboters 1 in einem Fall zu regeln bzw. zu steuern, wo das Lehren für den Roboter 1 durchgeführt wird. Es ist festzuhalten bzw. anzumerken, dass die Regel- bzw. Steuereinrichtung 6 ein einzelner Computer sein kann, welcher konfiguriert ist, um ein Be- bzw. Verarbeiten durch eine zentralisierte Regelung bzw. Steuerung auszuführen, oder eine Mehrzahl von Computern, welche konfiguriert sind, um gemeinsam bzw. zusammenwirkend ein Bearbeiten durch eine verteilte Regelung bzw. Steuerung durchzuführen. Weiters kann die Regel- bzw. Steuereinrichtung 6 durch einen Mikro-Controller, einen Controller mit programmierbarer Logik (PLC) oder dgl. dargestellt bzw. ausgebildet sein.
-
Der Host-Regel- bzw. -Steuerabschnitt 22 generiert bzw. erzeugt Positionsbefehlswerte und gibt die Positionsbefehlswerte an den Servo-Regel- bzw. -Steuerabschnitt 23 aus. Der Servo-Regel- bzw. -Steuerabschnitt 23 erzeugt antreibende bzw. Antriebsbefehlswerte (Drehmomentbefehlswerte) basierend auf den Positionsbefehlswerten, welche von dem Host-Regel- bzw. -Steuerabschnitt 22 erhalten bzw. empfangen werden, und gibt die Antriebsbefehlswerte an Verstärkerschaltungen 26 aus. Die Verstärkerschaltungen bzw. -schaltkreise 26 liefern Antriebsströme entsprechend den empfangenen Antriebsbefehlswerten jeweils zu den Servomotoren M. Die Servomotoren M sind jeweils mit den Codiereinrichtungen E versehen, welche ausgegebene bzw. Ausgaberotationswinkel oder dgl. der Servomotoren M detektieren bzw. feststellen. Die Rotationswinkel, welche durch die Codiereinrichtungen E detektiert werden, werden zu dem Host-Regel- bzw. -Steuerabschnitt 22 und dem Servo-Regel- bzw. -Steuerabschnitt 23 gesandt.
-
5 ist ein Diagramm, welches eine spezifische elektrische Konfiguration zeigt, welche den Servo-Regel- bzw. -Steuerabschnitt 23 als einen Hauptbestandteil beinhaltet. Wie dies in 5 gezeigt ist, wird, wenn jeder der Positionsbefehlswerte von dem Host-Regel- bzw. -Steuerabschnitt 22 ausgegeben und zu dem Servo-Regel- bzw. -Steuerabschnitt 23 eingegeben wird, dieser Positionsbefehlswert zu einem Plus-Eingang einer Subtrahiereinrichtung 29 zur Verfügung gestellt bzw. eingegeben. Ein Signal, welches für den Rotationswinkel anzeigend ist, welcher durch die Codiereinrichtung E detektiert wird, wird zu einem Minus-Eingang der Subtrahiereinrichtung 29 eingegeben. Die Subtrahiereinrichtung 29 subtrahiert den Rotationswinkel von dem Positionsbefehlswert.
-
Das Signal, welches von der Subtrahiereinrichtung
29 ausgegeben wird, wird einer Koeffizienteneinheit
31 zur Verfügung gestellt. Die Koeffizienteneinheit
31 verstärkt das Signal durch eine Verwendung einer Positionsverstärkung Kp und gibt das resultierende Signal an einen von Eingängen einer Addiereinrichtung
32 aus. Eine Differenzierungsschaltung
33 differenziert den Rotationswinkel von der Codiereinrichtung
E und gibt das resultierende Signal an eine Koeffizienteneinheit
34 aus. Die Koeffizienteneinheit
34 verstärkt das Signal durch eine Verwendung einer Geschwindigkeitsverstärkung Kv und gibt das resultierende Signal an den anderen der Eingänge der Addiereinrichtung
32 aus. Das Signal, welches von der Addiereinrichtung
32 ausgegeben wird, wird einem Integrator
35 zur Verfügung gestellt. Der Integrator bzw. die Integriereinrichtung
35 integriert das Signal. Eine Verstärkung G1 des Integrators
35 ist bzw. wird durch die folgende Formel (1) angezeigt. In der Formel (1) ist Kx eine Konstante und ist s ein Operator.
-
Das Signal, welches von dem Integrator
35 ausgegeben wird, wird einer Phasen-Kompensationseinrichtung
36 zur Verfügung gestellt. Die Phasen-Kompensationseinrichtung
36 führt eine Berechnung einer Phasenkompensation während eines Phasen-Regel- bzw. -Steuervorgangs durch. Eine Verstärkung
G2 der Berechnung der Phasenkompensation der Phasen-Kompensationseinrichtung
36 ist bzw. wird durch die folgende Formel (2) angezeigt. In Formel (2) ist α eine Konstante.
-
Das Signal, welches von der Phasen-Kompensationseinrichtung 36 ausgegeben wird, wird an einem von Eingängen einer Addiereinrichtung 37 zur Verfügung gestellt. Das Signal (Gravitationskraft-Kompensationswert), welches von einer Gravitationskraftkompensations-Berechnungseinrichtung 22b ausgegeben wird, welches dem Signal entspricht, welches von der Codiereinrichtung E ausgegeben wird, wird dem anderen Eingang der Addiereinrichtung 37 zur Verfügung gestellt. Die Addiereinrichtung 37 führt eine Addition der Signale durch. Das resultierende Signal wird an die Verstärkerschaltung 26 als das Antriebsbefehlssignal eingegeben.
-
In dem Arm 10 gemäß der vorliegenden Ausführungsform wird eine Last bzw. Belastung, welche durch die Gravitation bzw. Schwerkraft bewirkt wird, auf die dritte Regel- bzw. Steuerwelle J3 der Mehrzahl von Regel- bzw. Steuerwellen J ausgeübt. Aus diesem Grund beinhaltet in dem Regel- bzw. Steuersystem der dritten Regel- bzw. Steuerwelle J3 der Host-Regel- bzw. -Steuerabschnitt 22 die Gravitationskraftkompensations-Berechnungseinrichtung 22b. In den Regel- bzw. Steuersystemen der anderen Regel- bzw. Steuerwellen beinhaltet der Host-Regel- bzw. -Steuerabschnitt 22 nicht die Gravitationskraftkompensations-Berechnungseinrichtung 22b, oder das ausgegebene Signal ist Null in einem Fall, wo der Host-Regel- bzw. -Steuerabschnitt 22 die Gravitationskraftkompensations-Berechnungseinrichtung 22b enthält. Die Gravitationskraftkompensations-Berechnungseinrichtung 22b berechnet den Gravitationskraft-Kompensationswert gemäß einer Berechnungsformel, welche vorab gespeichert ist, basierend auf dem Rotationswinkel der dritten Regel- bzw. Steuerwelle J3, welcher durch die Codiereinrichtung E detektiert wird. Somit enthält in dem Regel- bzw. Steuersystem der dritten Regel- bzw. Steuerwelle J3 der Antriebsbefehlswert, welcher von dem Servo-Regel- bzw. -Steuerabschnitt 23 ausgegeben wird, den Gravitationskraft-Kompensationswert, welcher von der Gravitationskraftkompensations-Berechnungseinrichtung 22b ausgegeben wird. Als ein Resultat arbeitet der Antriebsabschnitt 24 der dritten Regel- bzw. Steuerwelle J3, um einen Gravitationskraft-Kompensationsdrehmoment zu generieren bzw. zu erzeugen.
-
[Regelung bzw. Steuerung für ein direktes Lehren]
-
Nun wird der Ablauf eines Bearbeitens, welches durch die Regel- bzw. Steuereinrichtung 6 während eines Lehrvorgangs des Roboters 1 durchgeführt wird, beschrieben werden. Einleitend gibt die lehrende Person Information, welche mit einem Lehren bzw. Lehrvorgang assoziiert ist, an die Regel- bzw. Steuereinrichtung 6 durch ein Verwenden der Eingabevorrichtung 62 ein.
-
Beispielsweise wird ein Auswahlbild für ein Lehren eines Einzelbetriebs bzw. ein Lehren eines zusammenwirkenden Betriebs auf der Eingabevorrichtung 62 angezeigt bzw. dargestellt, um ein Lehren eines einzelnen Vorgangs bzw. Betriebs für ein einzelnes Lehren von einem der zwei Arme 10A, 10B oder ein Lehren eines zusammenwirkenden Betriebs für ein Lehren der zwei Arme 10 im Zusammenwirken miteinander auszuwählen, so dass die zwei Arme 10A, 10B zusammenwirken bzw. gemeinsam arbeiten. In einem Fall, wo ein Befehl für ein Auswählen des Lehrens eines einzelnen Betriebs auf dem Auswahlbild für ein Lehren eines einzelnen Betriebs bzw. ein Lehren eines zusammenwirkenden Betriebs eingegeben wird, wird dann ein Armauswahlbild auf der Eingabevorrichtung 62 angezeigt, um auszuwählen, für welchen der zwei Arme 10A, 10B ein Lehren durchgeführt werden soll. Im Gegensatz dazu wird in einem Fall, wo ein Befehl für ein Auswählen des Lehrens eines zusammenwirkenden Betriebs auf dem Auswahlbild für ein Lehren eines einzelnen Betriebs bzw. ein Lehren eines zusammenwirkenden Betriebs eingegeben wird, dann ein Armauswahlbild auf der Anzeigevorrichtung 62 angezeigt, um auszuwählen, welcher der zwei Arme 10A, 10B als ein Master-Arm 10M ausgewählt wird. Auf den Armauswahlbildern kann einer der zwei Arme 10A, 10B ausgewählt werden.
-
Dann wird ein Auswahlbild eines Lehrverfahrens auf der Eingabevorrichtung 62 angezeigt, um ein lehrendes bzw. Lehrverfahren auszuwählen. Die lehrende Person kann an dem Auswahlbild des Lehrverfahrens eines einer Mehrzahl von Lehrverfahren auswählen, beinhaltend ein Lehren durch eine Fernbetätigung, welches die Eingabevorrichtung 62 als ein lehrendes Gegenstück verwendet, und ein direktes Lehren. In einem Fall, wo das direkte Lehren ausgewählt wird, wird ein Auswahlbild eines Armbewegungsmodus auf der Eingabevorrichtung 62 angezeigt, um einen Armbewegungsmodus auszuwählen. Die lehrende Person kann auf diesem Auswahlbild des Armbewegungsmodus einen freien Modus, in welchem sich ein bestimmter bzw. spezifizierter Standardpunkt K, welcher in dem Arm 10 oder dem Werkzeug 5 definiert ist, frei bewegt, oder einen Beschränkungsmodus auswählen, in welchem ein Bewegungspfad des Standardpunkts K auf einen Bewegungspfad auf einer bestimmten geraden Linie, auf einer bestimmten Ebene oder um eine bestimmte Achse beschränkt ist bzw. wird. Beispielsweise wird der Standardpunkt K als ein willkürlicher Punkt, wie beispielsweise ein repräsentativer Punkt des Werkzeugs oder als ein Gelenk- bzw. Handgelenk-Standardpunkt definiert, welcher in einem Koordinatensystem des mechanischen Interface des Gelenkteils 13 definiert ist. In einem Fall, wo der Beschränkungsmodus ausgewählt wird, wird ein eine beschränkte Bewegung spezifizierendes Bild auf der Eingabevorrichtung 62 angezeigt bzw. dargestellt. Die lehrende Person kann auf diesem die beschränkte Bewegung spezifizierenden Bild die gerade Linie, die Ebene oder die Achse auswählen, auf welcher sich der Standardpunkt K des Arms 10 unter der Beschränkung bewegt.
-
Nachfolgend wird ein Beispiel eines Ablaufs eines Be- bzw. Verarbeitens, welches durch die Regel- bzw. Steuereinrichtung 6 während eines Vorgangs eines zusammenwirkenden Betriebs, eines Beschränkungsmodus und eines direkten Lehrens der zwei Arme 10A, 10B durchgeführt wird, beschrieben werden. In diesem Beispiel wird angenommen, dass einer der zwei Arme 10A, 10B der Master-Arm 10M ist, der andere der zwei Arme 10A, 10B ein Slave-Arm 10S ist und der Standardpunkt K in dem Spitzenende des Master-Arms 10M definiert ist. Wie dies in 6 gezeigt ist, ist der Bewegungspfad des Standardpunkts K auf eine Richtung parallel zu einem Bewegungsvektor V von einer ursprünglichen bzw. Ausgangsposition Ps beschränkt. Dann bringt bzw. wendet die lehrende Person direkt eine Kraft auf den Master-Arm 10M oder das Werkzeug 5 des Master-Arms 10M auf bzw. an, um den Standardpunkt K von der ursprünglichen Position Ps entlang eines vorbestimmten Bewegungspfads zu bewegen, welcher durch eine mit zwei Punkten strichlierte Linie von 6 angezeigt ist, während eine ursprüngliche Lage bzw. Stellung S des Werkzeugs 5 an der ursprünglichen Position Ps beibehalten wird.
-
Während das Lehren für den Roboter 1 durchgeführt wird, werden die Verstärkungen bzw. Gewinne der Positionen und Geschwindigkeiten der Regel- bzw. Steuerwellen J, deren Betätigungen bzw. Betriebe erlaubt sind, unter den Regel- bzw. Steuerwellen J des Master-Arms 10M auf ausreichend kleine Werte eingestellt bzw. festgelegt. Aus diesem Grund wird, wenn die lehrende Person eine externe Kraft an dem Master-Arm 10M oder dem Werkzeug 5 anlegt, um den Master-Arm 10M zu bewegen, der Standardpunkt K verschoben bzw. verlagert. Wenn die Codiereinrichtung E diese Verschiebung detektiert, leitet der Host-Regel- bzw. -Steuerabschnitt 22 eine Zielposition Pcom ab, welche durch ein Projizieren dieser Verlagerung des Standardpunkts K auf den vorbestimmten Bewegungspfad bzw. -weg erhalten wird, nämlich bzw. insbesondere eine Zielposition Pcom, welche durch ein Ersetzen einer gegenwärtigen Position Pr des Standardpunkts K nur durch eine Richtungskomponente erhalten wird, welche in dem vorbestimmten Bewegungspfad enthalten ist. Der Host-Regel- bzw. -Steuerabschnitt 22 generiert bzw. erzeugt einen Befehlswert Tcom der Position des Master-Arms entsprechend der Zielposition Pcom und gibt den Befehlswert Tcom der Position des Master-Arms an den Servo-Regel- bzw. -Steuerabschnitt 23 aus. Nachfolgend wird der Ablauf eines Be- bzw. Verarbeitens, welches durch den Host-Regel- bzw. -Steuerabschnitt 22 der Regel- bzw. Steuereinrichtung 6 durchgeführt wird, unter Bezugnahme auf 8 beschrieben werden.
-
Wie dies oben beschrieben ist, wird die Information, welche mit dem Lehren assoziiert ist, welche zu der Eingabevorrichtung 26 eingegeben wird, zu der Regel- bzw. Steuereinrichtung 6 gesandt. Der Host-Regel- bzw. -Steuerabschnitt 22 erhält diese Information und initiiert bzw. beginnt die Berechnung für ein Erzeugen des Positions-Befehlswerts Tcom. Die Information, welche mit dem Lehren assoziiert ist, beinhaltet die Auswahlinformation des Master-Arms 10M und Information der beschränkten Bewegung, wie beispielsweise die gerade Linie, die Ebene oder die Achse, auf welcher sich der Standardpunkt K unter der Beschränkung bewegt.
-
Einleitend spezifiziert der Host-Regel- bzw. -Steuerabschnitt 22 als den Master-Arm 10M einen der zwei Arme 10A, 10B, welcher basierend auf der Information ausgewählt wird, welche auf dem Armauswahlbild eingegeben wird, und spezifiziert den anderen Arm als den Slave-Arm 10S (Schritt S1). Dann erhält der Host-Regel- bzw. -Steuerabschnitt 22 den Rotationswinkel von jeder der Regel- bzw. Steuerwellen J von der Codiereinrichtung E des Master-Arms 10M und detektiert einen ursprünglichen Wellenwinkel θ0 von jeder der Regel- bzw. Steuerwellen J basierend auf dem Rotationswinkel (Schritt S2). Dann leitet der Host-Regel- bzw. -Steuerabschnitt 22 die ursprüngliche bzw. Ausgangsposition Ps des Standardpunkts K in einem Basiskoordinatensystem und die ursprüngliche bzw. Ausgangslage S des Werkzeugs 5 basierend auf den Wellenwinkeln θ0 des Master-Arms 10M ab. Weiters leitet der Host-Regel- bzw. -Steuerabschnitt 22 eine Lagen-Rotationsmatrix R (θ0) ab, welche die ursprüngliche Position Ps und die Lage bzw. Stellung S des Master-Arms 10M repräsentiert bzw. darstellt (Schritt S3).
-
Dann berechnet der Host-Regel- bzw. -Steuerabschnitt 22 den Bewegungsvektor V (Schritt S4). Der Bewegungsvektor V ist ein Einheitsvektor, welcher eine erlaubte Bewegungsrichtung des Standardpunkts K anzeigt. Die Regel- bzw. Steuereinrichtung 6 leitet den Bewegungsvektor V basierend auf der erhaltenen Information betreffend die beschränkte Bewegung (Information für ein Spezifizieren des Bewegungspfads, wie beispielsweise die gerade Linie, die Ebene oder die Achse, auf welcher sich der Standardpunkt K unter der Beschränkung bewegt) ab. Beispielsweise ist in einem Fall, wo der Bewegungspfad des Standardpunkts K auf einen Bewegungspfad auf einer gewissen geraden Linie beschränkt ist, der Bewegungsvektor V ein Einheitsvektor parallel zu dieser geraden Linie.
-
Der Host-Regel- bzw. -Steuerabschnitt 22 berechnet eine Koordinatentransformations-Matrix Q durch eine Verwendung beispielsweise der Lagenrotations-Matrix R (θ0) (Schritt S5). Die Koordinatentransformations-Matrix Q ist eine Matrix, welche verwendet wird, um Koordinaten in dem Basiskoordinatensystem in Koordinaten in einem neuen Q Koordinatensystem zu transformieren. Die Koordinatentransformations-Matrix Q ist vorzugsweise eine Matrix, welche eine Transformation repräsentiert, welche bewirkt, dass der Bewegungsvektor V parallel zu einer von drei orthogonalen Achsen x', y', z' in dem Q Koordinatensystem, beispielsweise zur x'-Achse wird.
-
7 ist eine Ansicht für ein Erläutern bzw. Erklären der Koordinatentransformation durch eine Verwendung der Koordinatentransformations-Matrix Q. Wie dies in 7 gezeigt ist, ist die Koordinatentransformations-Matrix Q die Matrix, welche eine Transformation durchführt, um zu bewirken, dass der Bewegungsvektor V parallel zu der x'-Achse wird, welche durch ein Transformieren der x-Achse in dem Basiskoordinatensystem in das Q Koordinatensystem erhalten wird. In einem Fall, wo der Bewegungsvektor V parallel zu einer der drei orthogonalen Achsen x', y', z' in dem Q Koordinatensystem ist, wird auf diese Weise eine Berechnung in dem Q Koordinatensystem leicht ausgeführt.
-
Dann ändert der Host-Regel- bzw. -Steuerabschnitt 22 die Werte der Regel- bzw. Steuerparameter in dem Servo-Regel- bzw. -Steuerabschnitt 23 (Schritt S6). Spezifisch legt, betreffend jede der Regel- bzw. Steuerwellen J, deren Betätigungen erlaubt sind bzw. werden, unter den Regel- bzw. Steuerwellen J des Master-Arms 10M der Host-Regel- bzw. -Steuerabschnitt 22 den Positionsgewinn bzw. die Positionsverstärkung Kp der Koeffizienteneinheit 31 und die Geschwindigkeitsverstärkung bzw. den Geschwindigkeitsgewinn Kv der Koeffizienteneinheit 34 in dem Servo-Regel- bzw. -Steuerabschnitt 23 auf ausreichend kleine Werte fest, legt den Gewinn bzw. die Verstärkung Kx des Integrators 35 in dem Servo-Regel- bzw. -Steuerabschnitt 23 auf Null fest, löscht den Inhalt dieses Integrators 35 in dem Servo-Regel- bzw. -Steuerabschnitt 23 und setzt die Funktion des Phasenkompensators 36 in dem Servo-Regel- bzw. -Steuerabschnitt 23 aus. Kurz gesagt, wird das Signal, welches von der Addiereinrichtung 32 ausgegeben wird, direkt der Addiereinrichtung 37 zur Verfügung gestellt bzw. eingegeben. Der Host-Regel- bzw. -Steuerabschnitt 22 kann die Werte der Regel- bzw. Steuerparameter (Schritt S6) in einer Periode von einem Punkt nach dem Schritt S1 bis zu einem Punkt vor einem Schritt S8 ändern, welcher später beschrieben werden wird. Die Reihenfolge der Schritte ist nicht auf diejenige der vorliegenden Ausführungsform beschränkt bzw. begrenzt.
-
Dann beginnt der Host-Regel- bzw. -Steuerabschnitt 22 die Gravitationskraft- bzw. Schwerkraft-Kompensation für die Regel- bzw. Steuerwelle J, welche die Gravitationskraft-Kompensation erfordert (Schritt S7). In der vorliegenden Ausführungsform beginnt der Host-Regel- bzw. -Steuerabschnitt 22 die Berechnung der Gravitationskraft-Kompensation in dem Regel- bzw. Steuersystem des Servomotors M3, welcher die Regel- bzw. Steuerwelle J3 antreibt.
-
Die lehrende Person wendet direkt eine Kraft auf eine willkürliche Stelle des Master-Arms 10M oder das Werkzeug 5 des Master-Arms 10M an, um den Master-Arm 10M zu bewegen, so dass der Standardpunkt K zunehmend bzw. schrittweise zu einem gewünschten lehrenden Punkt bewegt wird. Während dieser Bewegung ändert sich die Position des Standardpunkts K kontinuierlich. Der Bewegungspfad bzw. -weg des Standardpunkts K ist bzw. wird auf den vorbestimmten Bewegungspfad beschränkt, und jede der Regel- bzw. Steuerwellen J des Master-Arms 10M arbeitet, um die Kraft zu unterstützen, welche an dem Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person angelegt bzw. darauf ausgeübt wird.
-
In einem Schritt S8 detektiert der Host-Regel- bzw. -Steuerabschnitt 22 einen Wellenwinkel θ1 von jeder der Regel- bzw. Steuerwellen J des Master-Arms 10M zu einem Zeitpunkt, wenn der Standardpunkt K verschoben bzw. verlagert ist bzw. wird. Der Host-Regel- bzw. -Steuerabschnitt 22 berechnet die aktuelle (gegenwärtige) Position Pr des Standardpunkts K in dem Basiskoordinatensystem, basierend auf dem detektierten Wellenwinkel θ1 jeder Regel- bzw. Steuerwelle J (Schritt S9). Dann transformiert in einem Schritt S10 der Host-Regel- bzw. -Steuerabschnitt 22 die Koordinaten der berechneten gegenwärtigen Position Pr des Standardpunkts K in die Koordinaten einer gegenwärtigen Position Pr' des Standardpunkts K in dem Q Koordinatensystem (Pr' = Q · Pr) .
-
In einem Schritt S11 leitet der Host-Regel- bzw. -Steuerabschnitt 22 ein Bewegungsausmaß dPr des Standardpunkts K in dem Basiskoordinatensystem, basierend auf der berechneten gegenwärtigen Position Pr des Standardpunkts K in dem Basiskoordinatensystem ab. Dann transformiert (konvertiert) der Host-Regel- bzw. -Steuerabschnitt 22 das Bewegungsausmaß dPr des Standardpunkts K in ein Bewegungsausmaß dPr' des Standardpunkts K in dem Q Koordinatensystem (Schritt S12).
-
In einem Schritt S13 entscheidet bzw. bestimmt der Host-Regel- bzw. -Steuerabschnitt 22 als eine Zielposition Pcom' in dem Q Koordinatensystem eine Position, welche durch ein Projizieren der gegenwärtigen Position Pr' auf den vorbestimmten Bewegungspfad erhalten wird (siehe 6). Mit anderen Worten leitet der Host-Regel- bzw. -Steuerabschnitt 22 die Zielposition Pcom' in dem Q Koordinatensystem durch ein Ersetzen der gegenwärtigen Position durch eine Richtungskomponente ab, welche in dem vorbestimmten Bewegungspfad enthalten ist. Beispielsweise sind in einem Fall, wo die Bewegung des Standardpunkts K nur in der x' Richtung erlaubt ist, eine y' Komponente und eine z' Komponente der Zielposition Pcom' Null, und eine x' Komponente der Zielposition Pcom' ist eine x' Komponente des Bewegungsausmaßes dPr'. Beispielsweise ist in einem Fall, wo die Bewegung des Standardpunkts K nur innerhalb einer x'y' Ebene erlaubt wird, die z' Komponente der Zielposition Pcom' Null, und es sind die x' Komponente und die y' Komponente der Zielposition Pcom' die x' Komponente und y' Komponente des Bewegungsausmaßes dPr'.
-
In einem Schritt S14 führt der Host-Regel- bzw. -Steuerabschnitt 22 eine inverse Transformation der Koordinaten der Zielposition Pcom' in dem Q Koordinatensystem in diejenigen in dem Basiskoordinatensystem (Pcom = Q-1 · Pcom' ) durch, um die Zielposition Pcom in dem Basiskoordinatensystem abzuleiten.
-
In einem Schritt S15 erzeugt bzw. generiert der Host-Regel- bzw. -Steuerabschnitt 22 den Befehlswert Tcom der Position des Master-Arms entsprechend der Zielposition Pcom und der Stellung bzw. Lage S. Dann erzeugt der Host-Regel- bzw. -Steuerabschnitt 22 einen Befehlswert Tcom' der Position des Slave-Arms basierend auf dem Befehlswert Tcom der Position des Master-Arms (Schritt S16).
-
Der Befehlswert Tcom der Position des Master-Arms (Position und Lage) und der Befehlswert Tcom' der Position des Slave-Arms (Position und Lage) weisen eine vorgespeicherte Beziehung (vorbestimmte Beziehung) auf. Diese „vorbestimmte Beziehung“ ist vorab in dem Host-Regel- bzw. -Steuerabschnitt 22 gespeichert. Oder es können ursprüngliche relative Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S gefunden und in dem Host-Regel- bzw. -Steuerabschnitt 22 als die vorbestimmte Beziehung gespeichert werden. Der Host-Regel- bzw. -Steuerabschnitt 22 ist fähig, den Befehlswert Tcom' der Position des Slave-Arms basierend auf dem Befehlswert Tcom der Position des Master-Arms beispielsweise durch eine Verwendung einer Transformationsmatrix zu erzeugen, welche die vorbestimmte Beziehung darstellt bzw. repräsentiert.
-
Der Host-Regel- bzw. -Steuerabschnitt 22 gibt den Befehlswert Tcom der Position des Master-Arms, welcher in der oben beschriebenen Weise erzeugt bzw. generiert wurde, an den Servo-Regel- bzw. -Steuerabschnitt 23A des Master-Arms 10M aus. Zusätzlich gibt der Host-Regel- bzw. -Steuerabschnitt 22 den Befehlswert Tcom' der Position des Slave-Arms, welcher in der oben beschriebenen Weise erzeugt wurde, an den Servo-Regel- bzw. -Steuerabschnitt 23B des Slave-Arms 10S aus (Schritt S17).
-
Nach einem Empfangen des Befehlswerts Tcom der Position des Master-Arms, wie dies oben beschrieben ist, treibt der Servo-Regel- bzw. -Steuerabschnitt 23A des Master-Arms 10M jede der Regel- bzw. Steuerwellen J in Übereinstimmung mit dem Befehlswert Tcom der Position des Master-Arms an. Somit arbeitet der Master-Arm 10M bzw. wird betrieben. Gleichzeitig treibt nach einem bzw. durch ein Empfangen des Befehlswerts Tcom' der Position des Slave-Arms der Servo-Regel- bzw. -Steuerabschnitt 23B des Slave-Arms 10S jede der Regel- bzw. Steuerwellen J in Übereinstimmung mit dem Befehlswert Tcom' der Position des Slave-Arms an. Somit arbeitet der Slave-Arm 10S. In dem Master-Arm 10M und dem Slave-Arm 10S, welche wie oben beschrieben arbeiten, wird die Beziehung von relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S als die vorbestimmte Beziehung beibehalten.
-
Während der Standardpunkt K des Arms 10 verschoben bzw. verlagert wird, werden die oben beschriebenen Schritte S8 bis S17 zu vorbestimmten Zeitintervallen wiederholt. Während die Schritte S8 bis S17 wiederholt werden, tritt eine Abweichung zwischen dem Befehlswinkel θcom entsprechend dem Befehlswert Tcom der Position des Master-Arms und dem detektierten Wellenwinkel θ von jeder der Regel- bzw. Steuerwellen J auf. Daher wird jeder antreibende bzw. Antriebsabschnitt 24 einer negativen (inversen) Feedback-Regelung bzw. -Steuerung unterworfen, so dass diese Abweichung Null wird. Auf diese Weise wird die Kraft, welche an dem Arm 10 angelegt wird, um den Master-Arm 10M durch die lehrende Person zu bewegen, unterstützt.
-
Wenn der Standardpunkt K des Master-Arms 10M den lehrenden Punkt erreicht, welcher durch die lehrende Person erwünscht wird, und die lehrende Person aufhört, die externe Kraft anzulegen bzw. anzuwenden, wird die Abweichung zwischen dem Befehlswinkel θcom und dem detektierten Wellenwinkel θ von jeder der Regel- bzw. Steuerwellen J Null (NEIN in Schritt S18), stoppt der Betrieb bzw. die Betätigung des Master-Arms 10M und stoppt eine Erzeugung der Unterstützungskraft des Roboters 1. Gleichzeitig stoppt der Betrieb des Slave-Arms 10S.
-
Wenn der Master-Arm 10M aufhört, verlagert zu werden, veranlasst der Host-Regel- bzw. -Steuerabschnitt 22 die Eingabevorrichtung 62, die lehrende Person zu veranlassen, einen eine Position lehrenden Befehl einzugeben. Wenn der Host-Regel- bzw. -Steuerabschnitt 22 den die Position lehrenden Befehl erhält, welcher durch die lehrende Person mit der Eingabevorrichtung 62 eingegeben wird (JA in Schritt S19), speichert der Host-Regel- bzw. -Steuerabschnitt 22 darin Information der aktuellen (gegenwärtigen) Position des Standardpunkts K (oder die Positionsinformation des Master-Arms 10M und die Positionsinformation des Slave-Arms 10S) als eine lehrende bzw. Lehrposition (Schritt S20), beendet die Gravitationskraft-Kompensationsberechnung (Schritt S21) und führt die Regel- bzw. Steuerparameter, wie beispielsweise die Verstärkungen in den Regel- bzw. Steuersystemen auf die ursprünglichen zurück (Schritt S22).
-
Wie dies oben beschrieben ist, spezifiziert in dem direkten Lehrverfahren des Roboters 1 (direkten Lehrverfahren für den Roboter 1, Verfahren eines direkten Lehrens des Roboters 1, Verfahren eines direkten Lehrens bzw. Unterrichtens des Roboters 1) gemäß der vorliegenden Ausführungsform die Regel- bzw. Steuereinrichtung 6 bzw. der Controller einen der zwei Arme 10 als den Master-Arm 10M und den anderen der zwei Arme 10 als den Slave-Arm 10S, und bewirkt, dass der Slave-Arm 10S gemeinsam mit dem Master-Arm 10M arbeitet bzw. damit zusammenwirkt, so dass die Beziehung von relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S als die vorbestimmte Beziehung beibehalten wird, während die lehrende Person direkt eine Kraft auf eine willkürliche Stelle des Master-Arms 10M, beinhaltend das Werkzeug 5 aufbringt, um den Master-Arm 10M zu der gewünschten lehrenden Position zu bewegen. Dann speichert die Regel- bzw. Steuereinrichtung 6 darin die Positionsinformation des Master-Arms 10M und die Positionsinformation des Slave-Arms 10S zu einem Zeitpunkt, wenn der Master-Arm 10M die gewünschte lehrende Position erreicht hat.
-
In Übereinstimmung mit dem oben beschriebenen Verfahren arbeitet, gemäß der Bewegung des Master-Arms 10M, welcher direkt durch die lehrende Person bewegt wird, der Slave-Arm 10S automatisch gemeinsam mit dem Master-Arm 10M, so dass die Beziehung von relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S als die vorbestimmte Beziehung beibehalten wird. Dies macht es möglich, eine Arbeit wegzulassen, welche kompliziert ist und eine Expertise bzw. Kenntnis erfordert, um die relativen Positionen und Lagen der zwei Arme 10 in der lehrenden Arbeit für die zwei Arme 10 einzustellen. Als ein Resultat ist die lehrende bzw. Lehrarbeit einfach. Weiters kann, da die lehrende Person die Beziehung der Positionen und Lagen der zwei Arme 10 sehen kann, die lehrende Person leicht den Zustand der zwei Arme 10 überprüfen.
-
In Übereinstimmung mit dem direkten Lehrverfahren des Roboters 1 gemäß der vorliegenden Ausführungsform speichert die Regel- bzw. Steuereinrichtung 6 darin als die vorbestimmte Beziehung die Beziehung der relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S bevor sich der Master-Arm 10M und der Slave-Arm 10S bewegen, und verwendet diese Beziehung für eine lehrende Regelung bzw. Steuerung.
-
In Übereinstimmung damit müssen zu Beginn der lehrenden Arbeit beispielsweise der Master-Arm 10M und der Slave-Arm 10S nur das handzuhabende Werkstück halten. Indem dies durchgeführt wird, kann die Beziehung der relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 des Slave-Arms 10S eingestellt bzw. festgelegt werden. Als ein Resultat kann die lehrende Arbeit leicht durchgeführt werden.
-
In Übereinstimmung mit dem direkten Lehrverfahren des Roboters 1 gemäß der vorliegenden Ausführungsform ist bzw. wird der Standardpunkt K in dem Master-Arm 10M definiert, und es ist möglich, den Beschränkungsmodus, in welchem der Bewegungspfad des Standardpunkts K auf den vorbestimmten Bewegungspfad beschränkt bzw. begrenzt ist, oder den freien Modus auszuwählen, in welchem die Bewegung des Standardpunkts K nicht auf den vorbestimmten Bewegungspfad beschränkt bzw. begrenzt ist.
-
Da der Beschränkungsmodus oder der freie Modus in dem direkten Lehren ausgewählt werden kann, kann die lehrende Person den Modus abhängig von der Situation auswählen. Somit kann bzw. können der Master-Arm 10M und/oder das Werkzeug 5 leicht gemäß der Absicht der lehrenden Person bewegt werden.
-
In Übereinstimmung mit dem direkten lehrenden bzw. Lehrverfahren des Roboters 1 gemäß der vorliegenden Ausführungsform führt, während die lehrende Person den Master-Arm 10M bewegt, die Regel- bzw. Steuereinrichtung 6 wiederholt eine Serie von Vorgängen bzw. Betätigungen für jede der Regel- bzw. Steuerwellen J des Master-Arms 10M durch, bis die Abweichung zwischen dem Wellenwinkel (Befehlswinkel θcom) entsprechend dem Befehlswert Tcom der Position des Master-Arms und dem detektierten Wellenwinkel θ Null wird, wobei die seriellen Vorgänge bzw. Betätigungen ein Detektieren des Wellenwinkels θ1 von jeder der Regel- bzw. Steuerwellen J des Master-Arms 10M, ein Ableiten der gegenwärtigen Position Pr des Standardpunkts K basierend auf dem Wellenwinkel θ1, ein Erzeugen bzw. Generieren des Befehlswerts Tcom der Position des Master-Arms, in welchem eine Position, welche durch ein Projizieren der gegenwärtigen Position Pr auf den vorbestimmten Bewegungspfad (Bewegungsrichtung) erhalten wird, die Zielposition Pcom ist, ein Erzeugen des Befehlswerts Tcom' der Position des Slave-Arms basierend auf dem Befehlswert Tcom der Position des Master-Arms und der vorbestimmten Beziehung, ein Antreiben der Regel- bzw. Steuerwelle J des Slave-Arms 10S in Übereinstimmung mit dem Befehlswert Tcom' der Position des Slave-Arms und ein Antreiben der Regel- bzw. Steuerwelle J des Master-Arms 10M in Übereinstimmung mit dem Befehlswert Tcom der Position des Master-Arms beinhalten, und speichert darin die Positionsinformation von wenigstens einem des Master-Arms 10M und des Slave-Arms 10S, nachdem die Abweichung Null erreicht hat. Der Bewegungspfad des Standardpunkts K des Master-Arms 10M des Roboters 1 ist auf den vorbestimmten Bewegungspfad während des direkten Lehrens beschränkt bzw. begrenzt.
-
In der oben beschriebenen Regelung bzw. Steuerung detektiert, während das direkte Lehren für den Roboter 1 durchgeführt wird, die Regel- bzw. Steuereinrichtung 6 jeden der Wellenwinkel θ1 des Master-Arms 10M, berechnet die vorliegende bzw. gegenwärtige Position Pr basierend auf jedem der Wellenwinkel θ1, leitet die Zielposition Pcom durch ein Projizieren der gegenwärtigen Position Pr auf den vorbestimmten Bewegungspfad (Bewegungsrichtung) ab, und erzeugt bzw. generiert den Befehlswert Tcom der Position des Master-Arms basierend auf der Zielposition Pcom. Die Regel- bzw. Steuereinrichtung 6 wiederholt die oben beschriebene Berechnung (Computerberechnung).
-
Während das direkte Lehren für den Roboter 1 durchgeführt wird, wird jede der Regel- bzw. Steuerwellen J des Master-Arms 10M in Übereinstimmung mit dem Befehlswert Tcom der Position des Master-Arms angetrieben und derart arbeitet der Master-Arm 10M, um die externe Kraft zu unterstützen, welche auf den Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person ausgeübt bzw. angewandt wird. Da der Befehlswert Tcom der Position des Master-Arms kontinuierlich basierend auf jedem der Wellenwinkel θ1 des Master-Arms 10M geändert wird, welcher sich kontinuierlich ändert, bewegt sich der Standardpunkt K nicht entgegen der Absicht der lehrenden Person. Daher kann in einem Fall, wo der Standardpunkt K in einer gewünschten lehrenden Position positioniert ist bzw. wird, die Feineinstellung der Position(en) des Master-Arms 10M und/oder des Werkzeugs 5 leicht durchgeführt werden. Weiters können, da der Roboter 1 seine bestehende Funktion durchführen kann, um die oben beschriebenen Vorgänge bzw. Betätigungen durchzuführen, eine eine externe Kraft detektierende Einheit, welche die externe Kraft detektiert, welche auf den Master-Arm 10M ausgeübt wird, und eine Regelung bzw. Steuerung hierfür weggelassen werden.
-
Während des direkten Lehrens, welches für den Roboter 1 durchgeführt wird, ist der Bewegungspfad des Standardpunkts K auf den vorbestimmten Bewegungspfad (vorbestimmte Bewegungsrichtung) beschränkt bzw. begrenzt. Daher bewegt sich selbst in einem Fall, wo die Richtung der externen Kraft, welche auf den Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person ausgeübt bzw. angewandt wird, nicht der Bewegungsrichtung des Standardpunkts K entspricht, der Standardpunkt K entlang des vorbestimmten Bewegungspfads. Dies macht es leicht, den Standardpunkt K zu einer Position zu bewegen, welche durch die lehrende Person gewünscht wird. Zusätzlich kann, da die Betätigung von jeder der Regel- bzw. Steuerwellen J des Master-Arms 10M, welche dem direkten Lehren unterworfen ist, die Kraft unterstützt, welche auf den Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person ausgeübt wird, die lehrende Person mit einer relativ geringen Kraft beispielsweise die Welle (z.B. erste Regel- bzw. Steuerwelle J1, welche näher zu dem Basisende ist) mit einer hohen statischen Reibungskraft bewegen. Obwohl in der vorliegenden Ausführungsform das direkte lehrende Verfahren des Roboters 1, welcher 4 Regel- bzw. Steuerwellen J1 bis J4 eines Master-Arms 10M beinhaltet, beschrieben wurde, ist die Anzahl der Regel- bzw. Steuerwellen J des Master-Arms 10M nicht auf die obige beschränkt.
-
In dem direkten Lehrverfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform können die Positionsverstärkungen bzw. -gewinne und Geschwindigkeitsverstärkungen bzw. -gewinne der Regel- bzw. Steuerwellen J des Master-Arms 10M auf gewünschte Werte eingestellt bzw. festgelegt werden. In der vorliegenden Ausführungsform sind bzw. werden die Verstärkungen der Positionen und Geschwindigkeiten der Regel- bzw. Steuerwellen J, deren Betätigungen während des direkten Lehrens erlaubt sind bzw. werden, auf ausreichend kleine Werte festgelegt.
-
Dies erlaubt, dass die Wellen leicht durch die Kraft verschoben bzw. verlagert werden, welche auf dem Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person ausgeübt wird. Zusätzlich kann die Unterstützungskraft für eine geringe Kraft erzeugt werden, welche auf den Master-Arm 10M oder das Werkzeug 5 durch die lehrende Person aufgebracht bzw. ausgeübt wird.
-
In dem direkten lehrenden Verfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform wird die Gravitationskraft-Kompensationsberechnung für wenigstens eine (dritte Regel- bzw. Steuerwelle J3) der Regel- bzw. Steuerwellen J des Master-Arms 10M durchgeführt und Berechnungsdaten werden zu dem Drehmoment-Befehlswert (antreibenden bzw. Antriebs-Befehlswert) dieser Regel- bzw. Steuerwelle hinzugefügt.
-
Dies macht es möglich, die Gravitationskraft-Kompensation entsprechend einer Änderung in der Stellung bzw. Lage der Regel- bzw. Steuerwelle J des Master-Arms 10M durchzuführen, während das direkte Lehren für den Roboter 1 durchgeführt wird.
-
In dem direkten lehrenden Verfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform wird die ursprüngliche Stellung bzw. Lage S des Werkzeugs 5 basierend auf den Wellenwinkeln θ0 der Regel- bzw. Steuerwellen J des Master-Arms 10M abgeleitet, bevor die lehrende Person den Master-Arm 10M bewegt, und es wird der Befehlswert Tcom der Position des Master-Arms erzeugt bzw. generiert, so dass die ursprüngliche Lage S des Werkzeugs 5 beibehalten wird, während die lehrende Person den Master-Arm 10M bewegt.
-
Während das direkte Lehren für den Roboter 1 durchgeführt wird, kann nur der Master-Arm 10M bewegt werden, während die ursprüngliche Lage S des Werkzeugs 5 beibehalten wird. Mit anderen Worten kann nur die Position des Werkzeugs 5 geändert werden, während die ursprüngliche Lage S des Werkzeugs 5 beibehalten wird. Obwohl in der oben beschriebenen Ausführungsform die ursprüngliche Lage S des Werkzeugs 5 während des direkten Lehrens beibehalten wird, welches für den Roboter 1 durchgeführt wird, können die Position und Lage des Werkzeugs 5 gemäß der Bewegung des Master-Arms 10M geändert werden oder es kann nur die Lage S des Werkzeugs 5 geändert werden, wobei die Position des Werkzeugs 5 während des direkten Lehrens fixiert ist bzw. wird, welches für den Roboter 1 durchgeführt wird.
-
In dem direkten Lehrverfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform ist bzw. wird, wie dies in 7 gezeigt ist, der vorbestimmte Bewegungspfad des Standardpunkts K auf einer geraden Linie parallel zu der x-y Ebene in den drei orthogonalen Achsen xyz in dem Basiskoordinatensystem definiert. Jedoch ist in der vorliegenden Ausführungsform der vorbestimmte Bewegungspfad (Bewegungsrichtung) nicht darauf beschränkt und ist bzw. wird geeignet basierend auf einer Beziehung zwischen der ursprünglichen bzw. Ausgangsposition Ps des Standardpunkts K und der nächsten lehrenden Position eingestellt bzw. festgelegt.
-
Beispielsweise kann der vorbestimmte Bewegungspfad des Standardpunkts K auf einer geraden Linie parallel zu einer von drei orthogonalen Achsrichtungen xyz in dem Basiskoordinatensystem oder auf einer geraden Linie parallel zu einer von drei orthogonalen Achsrichtungen xyz in dem Werkzeugkoordinatensystem definiert werden. Beispielsweise kann der vorbestimmte Bewegungspfad des Standardpunkts K auf einer Ebene parallel zu einer Ebene, welche durch eine Kombination von zwei von drei orthogonalen Achsen xyz in dem Basiskoordinatensystem definiert wird, oder auf einer Ebene parallel zu einer Ebene definiert werden, welche durch eine Kombination von zwei von drei orthogonalen Achsen xyz in dem Werkzeugkoordinatensystem definiert wird. Weiters kann beispielsweise der vorbestimmte Bewegungspfad des Standardpunkts K auf einer Rotationstrajektorie, welche um eine der drei orthogonalen Achsen xyz in dem Basiskoordinatensystem liegt, oder auf einer Rotationstrajektorie definiert sein bzw. werden, welche um eine der drei orthogonalen Achsen xyz in dem Werkzeugkoordinatensystem liegt.
-
In dem direkten Lehrverfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform wird, um den Befehlswert Tcom der Position des Master-Arms von bzw. aus der gegenwärtigen Position Pr zu erzeugen bzw. zu generieren, der Bewegungsvektor V auf dem vorbestimmten Bewegungspfad abgeleitet, es wird die Koordinatentransformations-Matrix Q, welche das Basiskoordinatensystem in das Q Koordinatensystem transformiert, so dass der Bewegungsvektor V parallel zu einer von drei orthogonalen Achsen x'y'z' in dem neuen Q Koordinatensystem wird, abgeleitet, es werden die Koordinaten der gegenwärtigen Position Pr des Standardpunkts K in dem Basiskoordinatensystem in diejenigen in dem Q Koordinatensystem transformiert, es wird die Position, welche durch ein Projizieren der gegenwärtigen Position Pr' in dem Q Koordinatensystem auf den vorbestimmten Bewegungspfad erhalten wird, als die Zielposition Pcom' in dem Q Koordinatensystem entschieden bzw. bestimmt, und es werden die Koordinaten der Zielposition Pcom' in diejenigen des Basiskoordinatensystems transformiert, um die Zielposition Pcom abzuleiten.
-
Durch ein Verwenden der Koordinatentransformation kann die Berechnung, welche durch die Regel- bzw. Steuereinrichtung 6 durchgeführt wird, vereinfacht werden.
-
Wie dies oben beschrieben ist, kann in dem direkten lehrenden Verfahren des Roboters 1 gemäß der oben beschriebenen Ausführungsform die Arbeit eines direkten Lehrens leicht für den Roboter 1 durchgeführt werden, welcher die Mehrzahl von Armen 10 enthält, während die Mehrzahl von Armen 10 gemeinsam bzw. in Abstimmung miteinander betätigt bzw. betrieben wird.
-
Obwohl die bevorzugte Ausführungsform der vorliegenden Ausführungsform oben beschrieben wurde, kann die oben beschriebene Konfiguration beispielsweise wie folgt geändert werden.
-
Obwohl in der oben beschriebenen Ausführungsform der Roboter 1 der zweiarmige Roboter ist, welcher die zwei Arme 10A, 10B beinhaltet, kann der Roboter 1 drei oder mehr Arme 10 beinhalten. In diesem Fall spezifiziert in Schritt S1 die Regel- bzw. Steuereinrichtung 6 einen der Mehrzahl von Armen 10 als den Master-Arm 10M und spezifiziert wenigstens einen der verbleibenden Arme 10 als den Slave-Arm 10S. In einem Fall, wo zwei oder mehrere Slave-Arme 10S vorgesehen werden, enthält die Regel- bzw. Steuereinrichtung 6 darin als die vorbestimmte Beziehung die relativen Positionen und Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 von jedem der Slave-Arme 10S. Während des direkten Lehrens, welches für den Roboter 1 durchgeführt wird, bewirkt die Regel- bzw. Steuereinrichtung 6, dass jeder der Slave-Arme 10S gemeinsam mit dem Master-Arm 10M arbeitet, so dass die relativen Positionen und Stellungen bzw. Lagen des Gelenkteils 13 des Master-Arms 10M und des Gelenkteils 13 von jedem der Slave-Arme 10S die vorbestimmte Beziehung werden. Es ist festzuhalten, dass der Arm 10, welcher nicht als der Master-Arm 10M oder der Slave-Arm 10S spezifiziert wird, fixiert sein bzw. werden (unbewegt verbleiben) kann, während das direkte Lehren für den Roboter 1 durchgeführt wird.
-
Zahlreiche Abwandlungen und alternative Ausführungsformen der gegenwärtigen Erfindung werden Fachleuten unter Berücksichtigung der vorangehenden Beschreibung ersichtlich sein bzw. werden. Demgemäß ist die Beschreibung nur als illustrativ anzusehen und wird für den Zweck zur Verfügung gestellt, Fachleuten die beste Art eines Ausführens der Erfindung zu lehren. Die Details der Struktur und/oder Funktion können wesentlich variiert oder abgewandelt werden, ohne von dem Geist bzw. Wesen der Erfindung abzuweichen.
-
Bezugszeichenliste
-
- 1 :
- Roboter
- 5 :
- Werkzeug
- 6 :
- Regel- bzw. Steuereinrichtung bzw. Controller
- 10, 10A, 10B :
- Roboterarm
- 22 :
- Host-Regel- bzw. -Steuerabschnitt
- 22b :
- Gravitationskraftkompensations-Berechnungseinrichtung
- 23 (23A, 23B) :
- Servo-Regel- bzw. -Steuerabschnitt
- 24 (24A, 24B) :
- antreibender bzw. Antriebsabschnitt
- 26 :
- Verstärkerschaltung
- 62 :
- Eingabevorrichtung
- E (E1 bis E4) :
- Codiereinrichtung
- J (J1 bis J4) :
- Regel- bzw. Steuerwelle
- K :
- Standardpunkt
- M (M1 bis M4) :
- Servomotor