Title:
Mit Menschen kooperierendes Robotersystem
Kind Code:
A1


Abstract:

Robotersystem, das in der Lage ist, einen Kontakt zwischen einem Roboter und einem externen Objekt zuverlässig zu detektieren. Das Robotersystem umfasst: einen Roboter, der einen Handhabungsteil umfasst; einen Handhabungskraft-Detektionsteil, der eine auf den Handhabungsteil ausgeübte Handhabungskraft detektiert; eine Betriebssteuerung, die bewirkt, dass der Roboter gemäß der Handhabungskraft betrieben wird; einen Detektionsteil für externe Kraft, der eine auf den Roboter wirkende externe Kraft detektiert, und einen Kontaktkraft-Detektionsteil, der eine Kontaktkraft durch Subtrahieren der Handhabungskraft von der detektierten externen Kraft berechnet.




Inventors:
SATO TAKASHI (JP)
YIHUA GU (JP)
Application Number:
DE102017003000A
Publication Date:
10/05/2017
Filing Date:
03/28/2017
Assignee:
FANUC CORP (Oshino-mura, Yamanashi, JP)
International Classes:



Foreign References:
JP2015199174A2015-11-12
Attorney, Agent or Firm:
Wuesthoff & Wuesthoff, Patentanwälte PartG mbB (München, DE)
Claims:
1. Mit Menschen kooperierendes Robotersystem (10), das dazu eingerichtet ist, in Kooperation mit einer Bedienperson (A) zu arbeiten, das Folgendes umfasst:
einen Roboter (12), der einen Handhabungsteil (38) umfasst;
einen Handhabungskraft-Detektionsteil (48), der dazu eingerichtet ist, eine auf den Handhabungsteil ausgeübte Handhabungskraft zu detektieren;
eine Betriebssteuerung (50), die dazu eingerichtet ist, den Roboter gemäß der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft zu betreiben;
einen Detektionsteil für externe Kraft (46), der dazu eingerichtet ist, eine auf den Roboter ausgeübte externe Kraft zu detektieren, wenn die Betriebssteuerung den Roboter betreibt, wobei die externe Kraft eine Summe aus der Handhabungskraft und einer von einem externen Objekt auf den Roboter ausgeübten Kraft, wenn der Roboter das Objekt kontaktiert, ist; und
einen Kontaktkraft Berechnungsteil (52), der dazu eingerichtet ist, die Kontaktkraft durch Subtrahieren der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft von der durch den Detektionsteil für externe Kraft detektierten externen Kraft zu berechnen.

2. Robotersystem nach Anspruch 1, wobei der Kontaktkraft-Berechnungsteil eine Filterung ausführt, um einen Rauschanteil aus der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft oder der durch den Detektionsteil für externe Kraft detektierten externen Kraft zu entfernen.

3. Robotersystem nach Anspruch 1 oder 2, wobei die Betriebssteuerung einen Betrieb des Roboters stoppt, wenn die durch den Kontaktkraft-Berechnungsteil berechnete Kontaktkraft einen vorbestimmten Schwellenwert überschreitet.

4. Robotersystem nach Anspruch 3, wobei die Betriebssteuerung den Roboter gemäß der Handhabungskraft nur dann betreibt, wenn eine Richtung der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft, nachdem der Betrieb des Roboters gestoppt ist, eine Richtung ist, in der die Kontaktkraft reduziert werden kann.

5. Robotersystem nach einem der Ansprüche 1 bis 4, wobei die Betriebssteuerung eine Betriebsgeschwindigkeit des Roboters in Erwiderung auf die durch den Kontaktkraft-Berechnungsteil berechnete Kontaktkraft ändert.

Description:
ALLGEMEINER STAND DER TECHNIK1. Gebiet der Erfindung

Die Erfindung betrifft ein mit Menschen kooperierendes Robotersystem, das eine Aufgabe in Kooperation mit einer Bedienungsperson ausführt.

2. Beschreibung des Standes der Technik

Es ist bereits ein mit Menschen kooperierendes Robotersystem bekannt, das eine Handhabungskraft detektiert, die durch eine Bedienperson auf einen Roboter ausgeübt wird, und in Erwiderung auf die Handhabungskraft betrieben wird (z. B. Ungeprüfte Japanische Patentschrift (Kokai) Nr. 2015-199174.

In einem solchen, wie oben beschriebenen mit Menschen kooperierenden Robotersystem, besteht die Möglichkeit, wenn die Bedienperson den Roboter durch Ausüben einer Handhabungskraft auf denselben betreibt, dass der Roboter oder ein durch den Roboter transportiertes Werkstück in Kontakt mit einem externen Objekt kommt. Herkömmlicherweise besteht eine Notwendigkeit für eine Technik, die ermöglicht, den Kontakt des Roboter oder des Werkstücks mit dem externen Objekt zuverlässig zu detektieren.

KURZDARSTELLUNG DER ERFINDUNG

In einem Aspekt der Erfindung umfasst ein mit Menschen kooperierendes Robotersystem, das dazu eingerichtet ist, in Kooperation mit einer Bedienperson zu arbeiten, einen Roboter, der ein Handhabungsteil umfasst, einen Handhabungskraft-Detektionsteil, der dazu eingerichtet ist, eine auf den Handhabungsteil ausgeübte Handhabungskraft zu detektieren, und eine Betriebssteuerung, die dazu eingerichtet ist, den Roboter gemäß der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft zu betreiben.

Des Weiteren umfasst das Robotersystem einen Detektionsteil für externe Kraft, der dazu eingerichtet ist eine auf den Roboter ausgebübte externe Kraft zu detektieren, wenn die Betriebssteuerung den Roboter betreibt, wobei die externe Kraft eine Summe aus der Handhabungskraft und einer von einem externen Objekt auf den Roboter ausgeübte Kraft, wenn der Roboter das Objekt kontaktiert, ist.

Des Weiteren umfasst das Robotersystem einen Kontaktkraft-Berechnungsteil, der dazu eingerichtet ist, die Kontaktkraft durch Subtrahieren der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft von der durch den Detektionsteil für externe Kraft detektierten externen Kraft zu berechnen. Der Kontaktkraft-Detektionsteil kann eine Filterung ausführen, um einen Rauschanteil aus der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft oder der durch den Detektionsteil für externe Kraft detektierten externen Kraft zu entfernen.

Die Betriebssteuerung kann einen Betrieb des Roboters stoppen, wenn die durch den Kontaktkraft-Berechnungsteil berechnete Kontaktkraft einen vorbestimmten Schwellenwert überschreitet. Die Betriebssteuerung kann eine Betriebsgeschwindigkeit des Roboters in Erwiderung auf die durch den Kontaktkraft-Berechnungsteil berechnete Kontaktkraft ändern.

Die Betriebssteuerung kann den Roboter gemäß der Handhabungskraft nur dann betreiben, wenn die Richtung der Kraft der durch den Handhabungskraft-Detektionsteil detektierten Handhabungskraft, nachdem der Betrieb gestoppt ist, eine Richtung ist, in der die Kontaktkraft reduziert werden kann.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Die oben erwähnten oder andere Aufgaben, Merkmale und Vorteile der Erfindung werden durch die Beschreibung von Ausführungsformen mit Bezug auf die beigefügten Zeichnungen verdeutlicht, in denen:

1 eine schematische Ansicht eines Robotersystems gemäß einer Ausführungsform ist;

2 ein Blockschaltbild des in 1 gezeigten Robotersystems ist;

3 eine vergrößerte Ansicht des in 1 gezeigten ersten Kraftsensors ist;

4 eine vergrößerte Ansicht des in 1 gezeigten zweiten Kraftsensors ist;

5 ein Ablaufdiagramm ist, das ein Beispiels des Betriebsablaufs des in 1 gezeigten Robotersystems darstellt;

6 ein Ablaufdiagramm ist, das ein Beispiel des Ablaufs des in 5 gezeigten Schritts S7 darstellt;

7 ein Ablaufdiagramm ist, das ein weiteres Beispiel des Betriebsablaufs des in 1 gezeigten Robotersystems darstellt;

8 eine schematische Ansicht eines Robotersystems gemäß einer weiteren Ausführungsform ist;

9 ein Blockdiagramm des in 8 gezeigten Robotersystems ist;

10 eine vergrößerte Ansicht eines in 8 gezeigten ersten Kraftsensors ist;

11 eine schematische Ansicht eines Robotersystems gemäß noch einer weiteren Ausführungsform ist;

12 eine schematische Ansicht eines Robotersystems gemäß noch einer weiteren Ausführungsform ist; und

13 ein Blockdiagramm des in 12 gezeigten Robotersystems ist.

AUSFÜHRLICHE BESCHREIBUNG

Nachfolgend werden Ausführungsformen der Erfindung anhand der Zeichnungen ausführlich beschrieben. Zunächst wird ein Robotersystem 10 gemäß einer Ausführungsform der Erfindung mit Bezug auf die 1 und 2 beschrieben. Das Robotersystem 10 dient dem Einpassen eines Werkstücks W1 in ein Werkstück W2 in Kooperation mit einer Bedienperson A.

Das Robotersystem 10 umfasst einen Roboter 12 und eine Robotersteuerung 14, die zum Steuern des Roboters 12 eingerichtet ist. Die Robotersteuerung 14 umfasst eine CPU (zentrale Verarbeitungseinheit) und einen Speicher (beide sind nicht gezeigt) und steuert jede Komponente des Roboters 12 direkt oder indirekt.

Der Roboter 12 ist ein vertikaler Knickarmroboter und umfasst ein Roboterunterteil 18, eine Rotationstrommel 20, einen Roboterarm 22, eine Roboterhand 24 und einen Handhabungsteil 38. Das Roboterunterteil 18 ist so installiert, dass es in Bezug auf eine auf einem Boden B einer Arbeitszelle befestigten Befestigungsplatte 16 unbeweglich ist.

Die Rotationstrommel 20 ist auf dem Roboterunterteil 18 so montiert, dass sie um eine vertikale Achse drehbar ist. Der Roboterarm 22 umfasst einen Oberarm 26, der drehbar an der Rotationstrommel 20 befestigt ist, und einen Unterarm 28, der drehbar an einem distalen Ende des Oberarms 26 befestigt ist.

Die Roboterhand 24 ist an einem distalen Ende des Unterarms 28 über ein Handgelenk 30 befestigt. Die Roboterhand 24 umfasst einen Adapter 34 und mehrere an dem Adapter 34 bereitgestellte Finger 36 zum Öffnen und Schließen. Die Roboterhand 24 ist in der Lage, das Werkstück W1 durch Öffnen und Schließen der Finger 36 zu greifen und freizugeben.

Der Handhabungsteil 38 ist ein Griff, der eine Form aufweist, die für die Bedienperson A einfach zu greifen ist und der an dem Adapter 34 befestigt ist. Ein Schalter 44 ist an dem Handhabungsteil 38 bereitgestellt. Der Schalter 44 ist mit der Robotersteuerung 14 elektrisch verbunden und übermittelt ein Handführung-EIN-Signal an die Robotersteuerung 14, wenn der Schalter 44 durch die Bedienperson A auf EIN geschaltet wird.

Der Roboter 12 umfasst mehrere Servomotoren 32 (2). Die Servomotoren 32 sind jeweils in der Rotationstrommel 20, dem Roboterarm 22 und dem Handgelenk 30 eingebaut und drehen diese Komponenten den Befehlen von der Robotersteuerung 14 entsprechend um Drehachsen.

Das Robotersystem 10 umfasst ferner einen ersten Kraftsensor 40 und einen zweiten Kraftsensor 42. Der erste Kraftsensor 40 ist zwischen der Befestigungsplatte 16 und dem Roboterunterteil 18 positioniert. Der erste Kraftsensor 40 besteht aus einem 6-achsigen Kraftsensor, der mehrere Dehnmessstreifen umfasst, und übermittelt an die Robotersteuerung 14 ein Ausgangssignal, das einer an dem ersten Kraftsensor 40 erzeugten Dehnung entspricht.

Die Robotersteuerung 14 filtert das von dem ersten Kraftsensor 40 empfangene Ausgangssignal, um einen Rauschanteil aus dem Signal zu entfernen. Die Robotersteuerung 14 führt zum Beispiel eine bekannte Signalverarbeitung, wie Tiefpassfiltern, arithmetisches Mitteln, gewichtetes Mitteln, FIR-Filtern oder IIR-Filtern an dem Ausgangssignal von dem ersten Kraftsensor 40 aus, um einen Rauschanteil aus dem Ausgangssignal zu entfernen.

Die Robotersteuerung 14 legt ein erstes Sensor-Koordinatensystem für den ersten Kraftsensor 40 fest, wie beispielsweise durch ein kartesisches Koordinatensystem in 3 angedeutet. Die Robotersteuerung 14 berechnet jeweils Kräfte in der x-Achsenrichtung, y-Achsenrichtung und z-Achsenrichtung des in 3 gezeigten ersten Sensor-Koordinatensystems und Momente um die x-Achsenrichtung, y-Achsenrichtung und z-Achsenrichtung des ersten Sensor-Koordinatensystems basierend auf dem Ausgangssignal aus dem ersten Kraftsensor 40. Auf diese Weise kann die Robotersteuerung 14 eine resultierende Kraft aller auf den Kraftsensor 40 wirkenden Kräfte berechnen.

Andererseits berechnet die Robotersteuerung 14 eine Kraft (nachfolgend als „interne Kraft” bezeichnet), die aufgrund der Masse des Roboters 12, der Masse eines an dem Roboter 12 befestigten Teils, der Masse des durch die Roboterhand 24 gegriffenen Werkstücks W1 oder dergleichen und einer durch den Betrieb des Roboters 12 verursachten Trägheitskraft auf den ersten Kraftsensor 40 wirkt.

Die innere Kraft kann durch Einsetzen der Masse einer jeden Komponente des Roboters 12, der Lage des Roboters 12 und der Betriebsgeschwindigkeit jeder Komponente des Roboters 12 in die Bewegungsgleichung berechnet werden. Die Robotersteuerung 14 berechnet eine externe Kraft EF, die auf einen Abschnitt des Roboters 12 (d. h. das Roboterunterteil 18, die Rotationstrommel 20, den Oberarm 26, den Unterarm 28, das Handgelenk 30, die Roboterhand 24 oder das durch die Roboterhand 24 gegriffene Werkstück W1) wirkt, indem die berechnete innere Kraft von der aus dem ersten Kraftsensor 40 erhaltenen resultierenden Kraft subtrahiert wird.

Die externe Kraft EF ist eine Summe einer durch die Bedienperson A auf den Handhabungsteil 38 ausgeübte Handhabungskraft HF und einer von einem externen Objekt auf den Roboter 12 ausgeübten Kontaktkraft CF, wenn ein Abschnitt des Roboters 12 das Objekt kontaktiert.

Somit bilden in dieser Ausführungsform der erste Kraftsensor 40 und die Robotersteuerung 14 einen Detektionsteil für externe Kraft 46, der dazu eingerichtet ist, die auf einen Abschnitt des Roboters 12 ausgeübte externe Kraft EF zu detektieren.

Der Detektionsteil für externe Kraft 46 kann die auf einen Abschnitt des Roboters (d. h. das Roboterunterteil 18, die Rotationstrommel 20, den Oberarm 26, den Unterarm 28, das Handgelenk 30, die Roboterhand 24 oder das durch die Roboterhand 24 gegriffene Werkstück W1) ausgeübte externe Kraft EF detektieren.

Beispielsweise wird eine auf den Adapter 34 der Roboterhand 24 ausgeübte externe Kraft an den ersten Kraftsensor 40 durch das Handgelenk 30, den Roboterarm 22, die Rotationstrommel 20 und das Roboterunterteil 18 übertragen und durch den ersten Kraftsensor 40 detektiert.

Somit detektiert in dieser Ausführungsform der Detektionsteil für externe Kraft 46 eine auf einen Abschnitt des Roboters 12 ausgeübte externe Kraft als eine zwischen der Befestigungsplatte 16 und dem Roboterunterteil 18 aufgrund der externen Kraft wirkende Kraft.

Der zweite Kraftsensor 42 ist zwischen dem Handhabungsteil 38 und dem Adapter 34 positioniert. Der zweite Kraftsensor 42 besteht aus einem 6-achsigen Kraftsensor und übermittelt an die Robotersteuerung 14 ein Ausgangssignal, das einer an dem zweiten Kraftsensor erzeugten Dehnung entspricht.

Die Robotersteuerung 14 filtert das Ausgangssignal von dem zweiten Kraftsensor 42 unter Verwendung eines Mittels, wie Tiefpassfiltern, arithmetisches Mitteln, gewichtetes Mitteln, FIR-Filtern oder IIR-Filtern, um einen Rauschanteil aus dem Ausgangssignal zu entfernen. Die Robotersteuerung 14 legt ein zweites Sensor-Koordinatensystem für den zweiten Kraftsensor 42 fest, wie beispielsweise durch ein kartesisches Koordinatensystem in 4 angedeutet. Die Position (Ursprungsposition) und die Lage (x-Achsen-, y-Achsen- und z-Achsenrichtungen) des zweiten Koordinatensystems ändern sich zusammen mit der Position und Lage der Roboterhand 24.

Folglich aktualisiert die Robotersteuerung die Position und Lage des zweiten Sensor-Koordinatensystems jedes Mal, wenn die Robotersteuerung 14 die Position und Lage der Roboterhand 24 ändert.

Die Robotersteuerung 14 berechnet jeweils Kräfte in der x-Achsenrichtung, y-Achsenrichtung und z-Achsenrichtung des in 4 gezeigten zweiten Sensor-Koordinatensystems und Momente um die x-Achsenrichtung, y-Achsenrichtung und z-Achsenrichtung des zweiten Sensor-Koordinatensystems basierend auf dem Ausgangssignal aus dem ersten Kraftsensor 42. Auf diese Weise berechnet die Robotersteuerung 14 die auf den Handhabungsteil 38 ausgeübte Handhabungskraft HF.

Somit bilden in dieser Ausführungsform der zweite Kraftsensor 42 und die Robotersteuerung 14 einen Handhabungskraft-Detektionsteil 48, um die auf den Handhabungsteil 38 ausgeübte Kraft HF zu detektieren.

Als Nächstes wird ein Beispiel eines Betriebsablaufs des Robotersystems 10 mit Bezug auf die 5 beschrieben. Der in 5 gezeigte Ablauf wird gestartet, wenn die Robotersteuerung 14 das Handführung-EIN-Signal von dem Schalter 44 empfängt

Bei Schritt S1 sendet die Robotersteuerung einen Befehl an den zweiten Kraftsensor 42, um die Detektion der auf den Handhabungsteil 38 ausgeübten Handhabungskraft HF zu starten. Insbesondere sendet die Robotersteuerung 14 einen Detektions-Startbefehl an den zweiten Kraftsensor 42.

Wenn der zweite Kraftsensor 42 den Detektions-Startbefehl von der Robotersteuerung 14 empfängt, übermittelt der zweite Kraftsensor 42 an die Robotersteuerung 14 ein Ausgangssignal, das einer in dem zweiten Kraftsensor 42 bei einer zyklischen Periode T (z. B. 0,5 Sek.) erzeugten Dehnung entspricht.

Die Robotersteuerung 14 berechnet die auf den Handhabungsteil 38 ausgeübte Handhabungskraft HF aus dem von dem zweiten Kraftsensor 42 gesendeten Ausgangssignal und speichert sie in einem in der Robotersteuerung 14 eingebauten Speicher. Auf diese Weise wird die Handhabungskraft HF bei der zyklischen Periode T detektiert.

Bei Schritt S2 sendet die Robotersteuerung 14 einen Befehl an den ersten Kraftsensor 40, um die Detektion der auf den Roboter 12 ausgeübten externen Kraft EF zu starten. Insbesondere sendet die Robotersteuerung 14 einen Detektionsstartbefehl an den ersten Kraftsensor 40.

Wenn der erste Kraftsensor 40 den Detektionsstartbefehl von der Robotersteuerung 14 empfängt, übermittelt der erste Kraftsensor 40 an die Robotersteuerung 14 ein Ausgangssignal, das das einer in dem ersten Kraftsensor 40 bei der zyklischen Periode T erzeugten Dehnung entspricht. Die Robotersteuerung 14 berechnet basierend auf dem Ausgangssignal von dem ersten Kraftsensor 40 die resultierende Kraft, die auf den ersten Kraftsensor 40 wirkt.

Anderseits berechnet die Robotersteuerung 14 die interne Kraft in diesem Augenblick synchron zu der Berechnung der resultierenden Kraft. Dann berechnet die Robotersteuerung 14 die auf den Roboter 12 wirkende externe Kraft EF, indem die interne Kraft von der resultierenden Kraft subtrahiert wird, und speichert sie in dem Speicher. Auf diese Weise wird die externe Kraft EF bei der zyklischen Periode T detektiert.

Bei Schritt S3 bestimmt die Robotersteuerung 14, ob die Größe der zuletzt detektierten Handhabungskraft HF gleich groß oder größer als ein vorbestimmter Schwellenwert α (|HF| ≥ α) ist. Der Schwellenwert α wird für die Handhabungskraft HF vorbestimmt und in dem Speicher gespeichert.

Wenn die Robotersteuerung 14 bestimmt, dass die Größe der Handhabungskraft HF gleich groß oder größer als der Schwellenwert α ist (d. h. JA bestimmt), geht sie weiter zu Schritt S4. Wenn anderseits die Robotersteuerung 14 bestimmt, dass die Größe der Handhabungskraft HF kleiner als der Schwellenwert α ist (d. h. NEIN bestimmt), geht sie weiter zu Schritt S8.

Bei Schritt S4 führt die Robotersteuerung 14 den Handführungsbetrieb aus. Insbesondere erzeugt die Robotersteuerung 14 einen Geschwindigkeitsbefehl zum Bewegen des Roboters 12 gemäß den Kräften in der x-Achsen-, y-Achsen- und z-Achsenrichtung des zweiten Sensor-Koordinatensystems und den Momenten um die x-Achse, y-Achse und z-Achse des zweiten Sensor-Koordinatensystem, die die zuletzt detektierte Handhabungskraft HF darstellen.

Dann sendet die Robotersteuerung 14 den erzeugten Geschwindigkeitsbefehl an jeden Servomotor 32, um die Roboterhand 24 in der Richtung der durch die Bedienperson A ausgeübte Handhabungskraft HF zu bewegen. Folglich arbeitet der Roboter 12 gemäß der durch die Bedienperson A auf den Handhabungsteil 38 ausgeübten Handhabungskraft HF.

Somit funktioniert in dieser Ausführungsform die Robotersteuerung als eine Betriebssteuerung 50 (2), die dazu eingerichtet ist, den Roboter 12 gemäß der Handhabungskraft HF zu betreiben.

Bei Schritt S5 berechnet die Robotersteuerung 14 die auf den Roboter 12 ausgeübte Kontaktkraft CF. Zuerst berechnet die Robotersteuerung 14 aus der zuletzt detektierten Handhabungskraft HF eine Kraft HF', die aufgrund der Handhabungskraft HF auf den ersten Kraftsensor 40 wirkt.

Als ein Beispiel multipliziert die Robotersteuerung 14 die Kräfte in der x-Achsen-, y-Achsen- und z-Achsenrichtung des zweiten Sensor-Koordinatensystems, die die zuletzt detektierte Handhabungskraft HF darstellen, mit einer Koordinatenumwandlungsmatrix zum Umwandeln von dem zweiten Sensor-Koordinatensystem zu dem ersten Sensor-Koordinatensystem, um die Kräfte des zweiten Sensor-Koordinatensystems auf diejenigen des ersten Sensor-Koordinatensystems umzuwandeln. Dadurch ist es möglich, in dem ersten Sensor-Koordinatensystem den Wert der Kraft HF' zu berechnen, die aufgrund der Handhabungskraft HF auf den ersten Kraftsensor 40 wirkt.

Die Robotersteuerung 14 subtrahiert dann die so berechnete Kraft HF' von der zuletzt detektierten externen Kraft EF. Als ein Ergebnis wird die Komponente der Handhabungskraft HF aus der durch den ersten Kraftsensor 40 detektierten externen Kraft EF eliminiert, wodurch es möglich ist, die von einem externen Objekt auf den Roboter 12 ausgeübte Kontaktkraft CF, wenn ein Abschnitt des Roboters 12 das Objekt kontaktiert, zu berechnen.

Somit funktioniert in dieser Ausführungsform die Robotersteuerung 14 als ein Kontaktkraft-Berechnungsteil 52 (2), der dazu eingerichtet ist, die Kontaktkraft CF zu berechnen.

Bei Schritt S6 bestimmt die Robotersteuerung 14, ob die bei Schritt S5 berechnete Kraft gleich groß oder größer als ein vorbestimmter Schwellenwert β (d. h. CF ≥ β) ist oder nicht. Der Schwellenwert β wird für die Kontaktkraft CF vorbestimmt und in dem Speicher gespeichert.

Wenn die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF gleich groß oder größer als der Schwellenwert β ist (d. h. JA bestimmt), geht sie weiter zu Schritt S7. Wenn andererseits die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF kleiner als der Schwellenwert β ist (d. h. NEIN bestimmt), geht sie weiter zu Schritt S8.

Bei Schritt S7 führt die Robotersteuerung 14 ein Not-Aus-Programm aus. Dieser Schritt S7 wird mit Bezug auf die 6 beschrieben.

Bei Schritt S11 stoppt die Robotersteuerung 14 den Betrieb des Roboters 12. Insbesondere funktioniert die Robotersteuerung 14 als die Betriebssteuerung 50 und sendet einen Befehl an jeden Servomotor 32, um den Roboter 12 zu stoppen.

Bei Schritt S12 erzeugt die Robotersteuerung ein Alarmsignal, das in der Form eines Tons oder von Zeichen-/Bilddaten anzeigt, dass der „Roboter in Störkontakt mit einem externen Objekt” ist. Dann gibt die Robotersteuerung 14 den Alarm an die Bedienperson A über einen Lautsprecher oder eine Anzeige (nicht gezeigt) aus.

Bei Schritt S13 bestimmt die Robotersteuerung eine zulässige Bewegungsrichtung des Roboters 12. Die zulässige Bewegungsrichtung betrifft eine Bewegungsrichtung, in der die bei Schritt S5 berechnete Kontaktkraft CF verringert werden kann, wenn der Roboter 12 in die zulässige Bewegungsrichtung bewegt wird (d. h. der Roboter 12 oder das Werkstück W1 in Kontakt mit einem externen Objekt bewegt sich weg von dem Objekt).

Als ein Beispiel speichert die Robotersteuerung 14 in dem Speicher sequenziell einen Positionssollwert für jede bewegliche Komponente (die Rotationstrommel 20, den Oberarm 26, den Unterarm 28 und das Handgelenk 30) des Roboters 12 während der Ausführung des Schritts S4.

Dann liest die Robotersteuerung 14 aus dem Speicher den Positionssollwert Pn aus, der unmittelbar vor (oder nach) einem Zeitpunkt gespeichert wird, wenn bei Schritt S6 JA bestimmt wird, sowie einen Positionssollwert Pn-1 aus, der unmittelbar vor dem Positionssollwert Pn gespeichert wird, und bestimmt eine Bewegungsrichtung, in die jede bewegliche Komponente des Roboters 12 von dem Positionssollwert Pn bis zum Positionssollwert Pn-1 bewegt wird, als die zulässige Bewegungsrichtung.

Als ein weiteres Beispiel berechnet die Robotersteuer 14 unter der Annahme, dass ein externes Objekt einen spezifischen Abschnitt (z. B. die Roboterhand 24) des Roboters 12 kontaktiert, eine Richtung D1, in der das Objekt den spezifischen Abschnitt kontaktiert, basierend auf der bei Schritt S5 berechneten Kontaktkraft CF (oder dem ausgegeben Signal des ersten Kraftsensors 40), und bestimmt die Richtung D1 als die zulässige Bewegungsrichtung.

Bei Schritt S14 bestimmt die Robotersteuerung 14, ob die Größe der zuletzt detektierten Handhabungskraft HF gleich groß oder größer als der Schwellenwert α ist (d. h., |HF| ≥ α) oder nicht. Insbesondere detektiert der Handhabungskraft-Detektionsteil 48, nach Abschluss von Schritt S11, kontinuierlich die Handhabungskraft HF bei der zyklischen Periode T.

Wenn die Robotersteuerung 14 bestimmt, dass die Größe der zuletzt detektierten Handhabungskraft HF, nach Abschluss von Schritt S11, gleich groß oder größer als der Schwellenwert α ist (d. h. JA bestimmt), geht die Robotersteuerung 14 weiter zu Schritt S15. Wenn andererseits die Robotersteuerung 14 bestimmt, dass die Größe der zuletzt detektierten Handhabungskraft HF kleiner als der Schwellenwert α ist (d. h. NEIN bestimmt), geht die Robotersteuerung weiter zu Schritt S17.

Bei Schritt S15 bestimmt die Robotersteuerung, ob die Richtung der Handhabungskraft HF, die bei Schritt S14 als gleich groß oder größer als der Schwellenwert α bestimmt wird, mit der bei Schritt S13 bestimmten zulässigen Bewegungsrichtung übereinstimmt oder nicht.

Wenn beispielsweise die Richtung der Handhabungskraft HF innerhalb eines Bereichs von ±5° der bei Schritt S13 bestimmten zulässigen Bewegungsrichtung liegt, bestimmt die Robotersteuerung 14, dass die Richtung der Handhabungskraft HF mit der zulässigen Bewegungsrichtung übereinstimmt.

Wenn die Robotersteuerung 14 bestimmt, dass die Richtung der Handhabungskraft HF mit der zulässigen Bewegungsrichtung übereinstimmt (d. h. JA bestimmt), geht die Robotersteuerung weiter zu Schritt zu Schritt S4 in 5 und führt den Handführungsbetrieb wiederum gemäß der Handhabungskraft HF aus. Wenn anderseits die Robotersteuerung 14 bestimmt, dass die Richtung der Handhabungskraft HF nicht mit der zulässigen Bewegungsrichtung übereinstimmt (d. h. NEIN bestimmt), geht die Robotersteuerung 14 weiter zu Schritt S16.

Bei Schritt S16 erzeugt die Robotersteuerung 14 einen zweiten Alarm. Als ein Beispiel erzeugt die Robotersteuerung 14 ein Alarmsignal, das in der Form von Ton oder Zeichen-Bilddaten anzeigt, dass die „Bewegung in diese Richtung nicht zulässig” ist. Dann gibt die Robotersteuerung 14 den Alarm durch den Lautsprecher oder die Anzeige an die Bedienperson A aus.

Bei Schritt S17 bestimmt die Robotersteuerung 14, ob der Schalter 44 ausgeschaltet ist oder nicht. Insbesondere bestimmt die Robotersteuerung 14, ob das Handführung-EIN-Signal von dem Schalter 44 Null ist oder nicht.

Wenn die Robotersteuerung 14 bestimmt, dass der Schalter 44 ausgeschaltet ist (d. h. JA bestimmt), beendet die Robotersteuerung 14 den in 6 gezeigten Schritt S7 und beendet dadurch den in 5 gezeigten Ablauf. Wenn andererseits die Robotersteuerung 14 bestimmt, dass der Schalter 44 eingeschaltet ist (d. h. NEIN bestimmt), kehrt sie zu Schritt S14 zurück.

Mit Bezug wiederum auf die 5 bestimmt die Robotersteuerung bei Schritt S8, ob der Schalter 44 ausgeschaltet ist oder nicht, ähnlich wie bei dem oben erwähnten Schritt S17. Wenn die Robotersteuerung 14 bestimmt, dass der Schalter 44 ausgeschaltet ist (d. h. JA bestimmt), geht sie weiter zu Schritt S9. Wenn andererseits die Robotersteuerung 14 bestimmt, dass der Schalter eingeschaltet ist (d. h. NEIN bestimmt), kehrt sie zu Schritt S3 zurück.

Bei Schritt S9 stoppt die Robotersteuerung den Betrieb des Roboters 12, ähnlich wie dem oben erwähnten Schritt S11. Dann beendet die Robotersteuerung 14 den in 5 gezeigten Ablauf.

Wie oben beschrieben eliminiert in dieser Ausführungsform die Robotersteuerung 14 während der Ausführung des Handführungbetriebs bei Schritt S4 die durch die Bedienperson A ausgeübte Komponente der Handhabungskraft HF aus der durch den Detektionsteil für externe Kraft 46 detektierten externen Kraft, um so die Kontaktkraft CF aufgrund des Kontakts zwischen dem Roboter 12 (oder dem Werkstück W1) und einem externen Objekt zu berechnen.

Da gemäß dieser Ausgestaltung die Kontaktkraft CF in Echtzeit während der Ausführung des Handführungsbetriebs überwacht werden kann, ist es möglich, den Kontakt zwischen dem Roboter 12 (oder dem Werkstück W1) und dem externen Objekt zuverlässig zu detektieren.

Wenn des Weiteren in dieser Ausführungsform bei Schritt S6 JA bestimmt wird, stoppt die Robotersteuerung 14 den Betrieb des Roboters 12 (Schritt S11). Wenn gemäß dieser Ausgestaltung der Roboter 12 oder das Werkstück W1 während der Ausführung des Handführungsbetriebs ein externes Objekt kontaktiert, ist es möglich zu verhindern, dass eine überhöhte Kraft auf den Roboter 12 oder das Werkstück W1 ausgeübt wird, während die Sicherheit der Bedienperson A sichergestellt wird.

Des Weiteren startet in dieser Ausführungsform die Robotersteuerung 14 den Handführungsbetrieb nur dann erneut, wenn, nachdem der Betrieb des Roboters gestoppt ist, die Richtung der Handhabungskraft HF mit der zulässigen Bewegungsrichtung übereinstimmt.

Gemäß dieser Ausgestaltung ist es möglich zuverlässig zu verhindern, dass der Roboter 12 (oder das Werkstück W1) so betrieben wird, dass er aufgrund eines Handführungsbetriebs durch die Bedienperson A durch eine stärkere Kraft gegen das externe Objekt gedrückt wird, wenn der Roboter 12 (oder das Werkstück W1) ein externes Objekt kontaktiert.

Wenn des Weiteren in dieser Ausführungsform der Betrieb des Roboters 12 gestoppt wird, gibt die Robotersteuerung 14 den darauf hinweisenden ersten Alarm aus (Schritt S12). Gemäß dieser Ausgestaltung kann die Bedienperson A intuitiv erkennen, dass der Roboter 12 (oder das Werkstück W1) das externe Objekt kontaktiert.

Wenn des Weiteren die Robotersteuerung 14 detektiert, dass die Handhabungskraft HF nach dem Stopp des Roboters 12 in einer von der zulässigen Bewegungsrichtung unterschiedlichen Richtung ausgeübt wird (d. h. wenn bei Schritt S15 NEIN bestimmt wird), gibt sie den darauf hinweisenden zweiten Alarm aus.

Gemäß dieser Ausführungsform kann die Bedienperson A intuitiv erkennen, dass er/sie kurz davor steht, den Roboter 12 so zu betreiben, dass der Roboter 12 (oder das Werkstück W1) weiter gegen das externe Objekt gedrückt wird.

Des Weiteren werden die Ausgangssignale von dem ersten Kraftsensor 40 und dem zweiten Kraftsensor 42 gefiltert, um Rauschanteile daraus zu eliminieren. Gemäß dieser Ausgestaltung können die externe Kraft EF und die Handhabungskraft HF zuverlässig detektiert werden, ohne durch augenblickliche Änderungen in den Ausgangssignalen aus dem ersten Kraftsensor 40 und dem zweiten Kraftsensor 42 beeinflusst zu werden, und daher ist es möglich, die Detektionsgenauigkeit der Kontaktkraft CF zu verbessern.

Als Nächstes wird mit Bezug auf die 7 ein weiteres Beispiel des Betriebsablaufs des Robotersystems 10 beschrieben. Es wird angemerkt, dass in dem in 7 gezeigten Ablauf den Prozessen, die den in 5 gezeigten ähnlich sind, dieselben Schrittnummern zugeordnet werden, und deren genaue Beschreibung weggelassen wird.

Am Start des Betriebsablaufs gemäß dieser Ausführungsform wird der Geschwindigkeitsbefehl, der an jeden Servomotor 32 zu übermitteln ist, wenn der Handführungsbetrieb bei Schritt S4 ausgeführt wird, als ein erster Geschwindigkeitsbefehl V1 als Anfangseinstellung eingesetzt. Der erste Geschwindigkeitsbefehl V1 dient zum Betreiben des Roboters 12 mit einer ersten Geschwindigkeit.

Nach dem Schritt S5 bestimmt die Robotersteuerung 14 bei Schritt S21, ob die bei Schritt S5 berechnete Kontaktkraft CF gleich groß oder größer als ein vorbestimmter Schwellenwert β1 ist oder nicht. Der Schwellenwert β1 wird für die Kontaktkraft CF vorbestimmt und in dem Speicher gespeichert.

Wenn die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF gleich groß oder größer als der Schwellenwert β1 ist (d. h. JA bestimmt), geht sie weiter zu Schritt S23. Wenn anderseits die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF kleiner als der Schwellenwert β1 ist (d. h. NEIN bestimmt), geht sie weiter zu Schritt S22.

Bei Schritt S22 stellt die Robotersteuerung 14 den Geschwindigkeitsbefehl, der an jeden Servomotor 32 zu übermitteln ist, wenn der Handführungsbetrieb ausgeführt wird, auf den ersten Geschwindigkeitsbefehl V1 ein. Wenn der erste Geschwindigkeitsbefehl am Start des Schritts S22 bereits auf den ersten Geschwindigkeitsbefehl V1 eingestellt ist, behält die Robotersteuerung 14 die Einstellung des Geschwindigkeitsbefehls auf den ersten Geschwindigkeitsbefehl V1 bei.

Bei Schritt S23 bestimmt die Robotersteuerung 14, ob die bei Schritt S5 berechnete Kontaktkraft CF gleich groß oder größer als ein vorbestimmter Schwellenwert β2 ist. Der Schwellenwert β2 wird als ein Wert vorbestimmt, der größer als der oben erwähnte Schwellenwert β1 ist (d. h., β2 > β1), und in dem Speicher gespeichert.

Wenn die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF gleich groß oder größer als der Schwellenwert β2 ist (d. h. JA bestimmt), geht sie weiter zu Schritt S25. Wenn andererseits die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF kleiner als der Schwellenwert β2 ist (d. h. NEIN bestimmt), geht sie weiter zu Schritt S24.

Bei Schritt S24 stellt die Robotersteuerung 14 den Geschwindigkeitsbefehl, der an jeden Servomotor 32 zu übermitteln ist, wenn der Handführungsbetrieb ausgeführt wird, auf einen zweiten Geschwindigkeitsbefehl V2 ein. Der zweite Geschwindigkeitsbefehl V2 dient dem Betreiben des Roboters 12 mit einer zweiten Geschwindigkeit, die niedriger als die erste Geschwindigkeit ist.

Bei Schritt S25 bestimmt die Robotersteuerung 14, ob die bei Schritt S5 berechnete Kontaktkraft CF gleich groß oder größer als ein vorbestimmter Schwellenwert β3 ist. Der Schwellenwert β3 wird als ein Wert vorbestimmt, der größer als der oben erwähnte Schwellenwert β2 ist (d. h. β3 > β2), und in dem Speicher gespeichert.

Wenn die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF gleich groß oder größer als der Schwellenwert β3 ist (d. h. JA bestimmt), geht sie weiter zu Schritt S7. Wenn andererseits die Robotersteuerung 14 bestimmt, dass die Kontaktkraft CF kleiner als der Schwellenwert β3 ist (d. h. NEIN bestimmt), geht sie weiter zu Schritt S26.

Bei Schritt S26 stellt die Robotersteuerung 14 den Geschwindigkeitsbefehl, der an jeden Servomotor 32 zu übermitteln ist, wenn der Handführungsbetrieb ausgeführt wird, auf einen dritten Geschwindigkeitsbefehl V3 ein. Der dritte Geschwindigkeitsbefehl V3 dient dem Betreiben des Roboters 12 mit einer dritten Geschwindigkeit, die niedriger als die zweite Geschwindigkeit ist.

Somit ändert in dieser Ausführungsform die Robotersteuerung 14 die Betriebsgeschwindigkeit des Roboters 12 in Erwiderung auf die bei Schritt S5 berechnete Kontaktkraft CF. Insbesondere ändert die Robotersteuerung 14 die Einstellung des Geschwindigkeitsbefehls so, dass je größer die berechnete Kontaktkraft CF ist, desto langsamer die Betriebsgeschwindigkeit des Roboters 12 ist.

Wenn gemäß dieser Ausgestaltung die Kontaktkraft CF relativ klein ist, ist es durch Verringern der Betriebsgeschwindigkeit des Roboters 12, ohne dessen Betrieb zu stoppen, möglich, eine Möglichkeit zu verringern, dass eine überhöhte Kraft aufgrund des Kontakts zwischen dem Roboter 12 (oder dem Werkstück W1) oder der Bedienperson A und einem externen Objekt ausgeübt wird. Folglich ist es möglich, die Sicherheit des Roboters 12 (oder des Werkstücks W1) oder der Bedienperson A sicherzustellen, während eine Verringerung der Arbeitseffizienz verhindert wird.

Als Nächstes wird mit Bezug auf die 8 und 9 ein Robotersystem 60 gemäß einer weiteren Ausführungsform beschrieben. Es wird angemerkt, dass in verschiedenen nachfolgend beschriebenen Ausführungsformen den Elementen, die denjenigen der bereits erwähnten Ausführungsform ähneln, die gleichen Bezugsziffern zugewiesen werden und deren ausführliche Beschreibungen weggelassen werden.

Das Robotersystem 60 umfasst einen Roboter 12, eine Robotersteuerung 62, einen ersten Kraftsensor 64 und einen zweiten Kraftsensor 42. Die Robotersteuerung 62 umfasst z. B. eine CPU und einen Speicher (beide werden nicht gezeigt) und steuert jede Komponente des Roboters 12 direkt oder indirekt.

Der erste Kraftsensor 64 besteht aus einem 6-achsigen Kraftsensor, der ähnlich wie der oben beschriebene erste Kraftsensor 40 mehrere Dehnmessstreifen umfasst, und übermittelt an die Robotersteuerung 62 ein Ausgangssignal, das einer in dem ersten Kraftsensor 64 erzeugten Dehnung entspricht. Der erste Kraftsensor 64 ist in einem Oberarm 26 eingebaut.

Die Robotersteuerung 62 legt ein erstes Sensor-Koordinatensystem für den ersten Kraftsensor 64 fest, wie in einem orthogonalen Koordinatensystem in 10 angezeigt. Die Robotersteuerung 62 berechnet jeweils Kräfte in der x-Achsen-, y-Achsen- und z-Achsenrichtung des in 10 gezeigten ersten Sensor-Koordinatensystems sowie Momente um die x-Achse, y-Achse und z-Achse basierend auf dem Ausgabesignal aus dem ersten Kraftsensor 64. Auf diese Weise kann die Robotersteuerung 62 eine resultierende Kraft von allen auf den ersten Kraftsensor 64 wirkenden Kräften berechnen.

Andererseits berechnet die Robotersteuerung 62 eine interne Kraft, die aufgrund der an der distalen Endseite des ersten Kraftsensors 64 befindlichen Massen der Komponenten des Roboters 12 (d. h. einem distalen Endteil 26a des Oberarms 26, einem Unterarm 28, einem Handgelenk 30 und einer Roboterhand 24 (als „distale Endseitenkomponenten” bezeichnet)), der Masse des durch die Roboterhand gegriffenen Werkstücks W1 oder dergleichen und einer durch den Betrieb des Roboters verursachten Trägheitskraft auf den ersten Kraftsensor 64 wirkt.

Die interne Kraft kann durch Einsetzen der Masse der distalen Endseitenkomponenten des Roboters 12, der Lage des Roboters 12 und der Betriebsgeschwindigkeit jeder Komponente des Roboters 12 in die bekannte Bewegungsgleichung berechnet werden.

Dann berechnet die Robotersteuerung 62 eine externe Kraft EF, die auf die distalen Endseitenkomponenten des Roboters wirkt, indem die berechnete interne Kraft von der aus dem ersten Kraftsensor erhaltenen resultierenden Kraft subtrahiert wird. Die externe Kraft EF ist eine Summe aus einer durch die Bedienperson A auf einen Handhabungsteil 38 ausgeübten Handhabungskraft und einer von einem externen Objekt auf die distalen Endseitenkomponenten ausgeübten Kontaktkraft CF, wenn die distalen Endseitenkomponenten des Roboters 12 das Objekt kontaktieren.

Somit bilden in dieser Ausführungsform der erste Kraftsensor 64 und die Robotersteuerung 62 einen Detektionsteil für externe Kraft 66, der dazu eingerichtet ist, die auf die distalen Endseitenkomponenten des Roboters 12 wirkende externe Kraft EF zu detektieren.

Der Detektionsteil für externe Kraft 66 detektiert die externe Kraft, die auf einen Abschnitt der distalen Endseitenkomponenten (z. B. dem Teil 26a des Oberarms, dem Unterarm 28, dem Handgelenk 30 oder der Roboterhand 24) aufgrund der externen Kraft als auf den ersten Kraftsensor wirkende Kraft ausgeübt wird.

Andererseits bilden der zweite Kraftsensor 42 und die Robotersteuerung 62 einen Handhabungskraft-Detektionsteil 68, der dazu eingerichtet ist, die auf den Handhabungsteil 38 ausgeübte Handhabungskraft HF zu detektieren.

Als Nächstes wird mit Bezug auf die 5 bis 7 ein Betriebsablauf des Robotersystems 60 beschrieben. Die Robotersteuerung 62 führt den in den 5 oder 7 gezeigten Betriebsablauf aus. Der Betrieb des Robotersystems 60 unterscheidet von dem des oben beschriebenen Robotersystems 10 in den Schritten S2 und S5.

Insbesondere sendet die Robotersteuerung 62 bei Schritt S2 einen Befehl an den ersten Kraftsensor 64, um die Detektion der auf die distalen Endseitenkomponenten des Roboters 12 wirkenden externen Kraft EF zu starten. Insbesondere sendet die Robotersteuerung 62 einen Detektionsstartbefehl an den ersten Kraftsensor 64.

Bei Empfang des Detektionsstartbefehls von der Robotersteuerung 62 sendet der erste Kraftsensor 64 an die Robotersteuerung 62 ein Ausgangssignal, das einer in dem ersten Kraftsensor 64 erzeugten Dehnung bei einer zyklischen Periode T entspricht. Die Robotersteuerung 62 berechnet die auf den ersten Kraftsensor 64 resultierende Kraft aus dem Ausgangssignal von dem ersten Kraftsensor 64.

Andererseits berechnet die Robotersteuerung 62 die interne Kraft in diesem Augenblick synchron mit der Berechnung der resultierenden Kraft. Dann berechnet die Steuerung 62 die externe Kraft EF, die auf die distalen Endkomponenten des Roboters 12 wirkt, indem die interne Kraft von der resultierenden Kraft subtrahiert wird, und speichert sie in dem Speicher.

Bei Schritt S5 berechnet die Robotersteuerung 62 die auf die distalen Endseitenkomponenten des Roboters 12 wirkende Kontaktkraft CF. Zuerst berechnet die Robotersteuerung 62 aus der zuletzt detektierten Handhabungskraft HF eine Kraft HF', die aufgrund der Handhabungskraft HF auf den ersten Kraftsensor 64 wirkt.

Beispielsweise multipliziert die Robotersteuerung 62 die Kräfte in der x-Achsen-, y-Achsen- und z-Achsenrichtung des zweiten Sensor-Koordinatensystems, die die zuletzt detektierte Handhabungskraft HF darstellen, mit einer Koordinatenumwandlungsmatrix von dem zweiten Sensor-Koordinatensystem zu dem ersten Sensor-Koordinatensystem, um die Kraft in eine Kraft des ersten Sensor-Koordinatensystems umzuwandeln. Dadurch ist es möglich, in dem ersten Sensor-Koordinatensystem den Wert der Kraft HF' zu berechnen, die aufgrund der Handhabungskraft HF auf den ersten Kraftsensor 64 wirkt.

Anschließend subtrahiert die Robotersteuerung 62 die wie oben beschrieben berechnete Kraft HF' von der zuletzt detektierten externen Kraft EF. Dadurch wird die Komponente der Handhabungskraft HF aus der durch den ersten Kraftsensor 64 detektierten externen Kraft EF eliminiert, wodurch es möglich ist, die von einem externen Objekt auf die distalen Endseitenkomponenten des Roboters 12 ausgeübte Kontaktkraft CF zu berechnen, wenn die distalen Endseitenkomponenten des Roboters 12 das Objekt kontaktieren.

Somit hat die Robotersteuerung 62 in dieser Ausführungsform eine Funktion als ein Kontaktkraft-Berechnungsteil 69 (9), der die auf die distale Endseitenkomponente wirkende Kontaktkraft CF berechnet.

Gemäß dieser Ausführungsform kann während der Ausführung des Handführungsbetriebs die Kontaktkraft CF zwischen den distalen Endseitenkomponenten des Roboters 12 und einem externen Objekt in Echtzeit überwacht werden und daher ist es möglich, den Kontakt zwischen den distalen Endseitenkomponenten des Roboter 12 und dem externen Objekt zuverlässig zu detektieren.

Als Nächstes wird mit Bezug auf die 11 ein Robotersystem 70 gemäß noch einer weiteren Ausführungsform beschrieben. Das Robotersystem 70 unterscheidet sich von dem oben beschriebenen Robotersystem 60 in den folgenden Merkmalen. Insbesondere ist in dem Robotersystem 70 ein erster Kraftsensor 74 an dem Handgelenk 30 befestigt. In dieser Ausführungsform bilden die Robotersteuerung 72 und der erste Kraftsensor 74 einen Detektionsteil für externe Kraft, der dazu ausgebildet ist, eine auf die Roboterhand 24 ausgeübte externe Kraft EF zu detektieren.

Es wird angemerkt, dass in den oben beschriebenen Ausführungsformen die ersten Kraftsensoren 40, 64 und 74 aus einem 6-achsigen Kraftsensor bestehen. Die ersten Kraftsensoren sind jedoch nicht darauf beschränkt, sondern können einen Drehmomentsensor umfassen.

Nachfolgend wird mit Bezug auf die 12 und 13 ein Robotersystem 80 gemäß einer solchen Ausführungsform beschrieben. Das Robotersystem 80 umfasst den Roboter 12, eine Robotersteuerung 82, einen ersten Kraftsensor 84 und den zweiten Kraftsensor 42. Die Robotersteuerung 82 umfasst z. B. eine CPU und einen Speicher (beide werden nicht gezeigt) und steuert jede Komponente des Roboters 12 direkt oder indirekt.

Der erste Kraftsensor 84 umfasst einen ersten Drehmomentsensor 86, einen zweiten Drehmomentsensor 88, einen dritten Drehmomentsensor 90, einen vierten Drehmomentsensor 92, einen fünften Drehmomentsensor 94 und einen sechsten Drehmomentsensor 96.

Der erste Drehmomentsensor 86 ist in dem Servomotor 32 zum Drehen der Rotationstrommel 20 um eine erste Achse O1 eingebaut und detektiert ein Drehmoment τ1 um die erste Achse O1, um es an die Robotersteuerung 82 zu übermitteln. Die erste Achse O1 ist parallel zur vertikalen Richtung.

Der zweite Drehmomentsensor 88 ist in dem Servomotor 32 zum Drehen des Oberarms 26 um eine zweite Achse O2 eingebaut und detektiert ein Drehmoment τ2 um die zweite Achse O2, um es an die Robotersteuerung 82 zu übermitteln.

Der dritte Drehmomentsensor 90 ist in dem Servomotor 32 zum Drehen des Unterarms 28 um eine dritte Achse O3 eingebaut und detektiert ein Drehmoment τ3 um die dritte Achse O3, um es an die Robotersteuerung 82 zu übermitteln.

Der vierte Drehmomentsensor 92 ist in dem Servomotor 32 zum Drehen des Unterarms 28 um eine vierte Achse O4 eingebaut und detektiert ein Drehmoment τ4 um die vierte Achse O4, um es an die Robotersteuerung 82 zu übermitteln.

Der fünfte Drehmomentsensor 94 ist in dem Servomotor 32 zum Drehen des Handgelenks 30 um eine fünfte Achse O5 eingebaut und detektiert ein Drehmoment τ5 um die vierte Achse O5, um es an die Robotersteuerung 82 zu übermitteln.

Der sechste Drehmomentsensor 96 ist in dem Servomotor 32 zum Drehen des Handgelenks 30 um eine sechste Achse O6 eingebaut und detektiert ein Drehmoment τ6 um die sechste Achse O6, um es an die Robotersteuerung 82 zu übermitteln.

Die Robotersteuerung 82 berechnet jeweils Drehmomente (d. h. „interne Kräfte) Iτ1, Iτ2, Iτ3, Iτ4, Iτ5 und Iτ6, die aufgrund der Masse einer jeden Komponente des Roboters 12, der Masse des durch die Roboterhand 24 gegriffenen Werkstücks W1 oder dergleichen und einer durch den Betrieb jeder Komponente des Roboters 12 erzeugten Trägheitskraft auf die erste bis sechste Achse O1, O2, O3, O4, O5 und O6 wirken.

Diese internen Kräfte Iτ1, Iτ2, Iτ3, Iτ4, Iτ5 und Iτ6 können durch Einsetzen der Masse jeder Komponente des Roboters 12, der Lage des Roboters 12 und der Betriebsgeschwindigkeit jeder Komponente des Roboters 12 in die bekannte Bewegungsgleichung berechnet werden.

Die Robotersteuerung 82 subtrahiert die berechneten internen Kräfte Iτ1, Iτ2, Iτ3, Iτ4, Iτ5 und Iτ6 von den Drehmomenten τ1, τ2, τ3, τ4, τ5 und τ6, die von dem ersten bis sechsten Drehmomentsensor 86, 88, 90, 92, 94 beziehungsweise 96 erfasst werden und berechnet dadurch die Drehmomente (nachfolgend als „Drehmomente der externen Kraft” bezeichnet) Eτ1, Eτ2, Eτ3, Eτ4, Eτ5 und Eτ6, die aufgrund von auf den Roboter 12 ausgeübten externen Kräften um die erste bis sechste Achse O1, O2, O3, O4, O5 und O6 wirken.

Die Robotersteuerung 82 berechnet eine auf die Roboterhand 24 wirkende externe Kraft EF basierend auf den Drehmomenten der externen Kraft Eτ1, Eτ2, Eτ3, Eτ4, Eτ5 und Eτ6. Die externe Kraft EF ist eine Summe aus der durch die Bedienperson A auf den Handhabungsteil 38 ausgeübten Handhabungskraft HF und der von einem externen Objekt auf die Roboterhand 24 ausgeübten Kontaktkraft CF, wenn die Roboterhand 24 das Objekt kontaktiert.

Somit bilden in dieser Ausführungsform der erste Kraftsensor 64 und die Robotersteuerung 82 einen Detektionsteil für externe Kraft 98, der dazu eingerichtet ist, die auf die Roboterhand 24 ausgeübte externe Kraft EF zu detektieren.

Andererseits bilden der zweite Kraftsensor 42 und die Robotersteuerung 82 einen Handhabungskraft-Detektionsteil 100, der dazu eingerichtet ist, die auf den Handhabungsteil 38 ausgeübte Handhabungskraft HF zu detektieren.

Als Nächstes wird mit Bezug auf die 5 bis 7 der Betriebsablauf des Robotersystems 80 beschrieben. Die Robotersteuerung 82 führt den in den 5 oder 7 gezeigten Ablauf aus. Der Betrieb des Robotersystems 80 unterscheidet sich von dem des oben beschriebenen Robotersystems 10 in den Schritten S2 und S5.

Insbesondere sendet die Robotersteuerung 82 bei Schritt S2 einen Befehl an den ersten Kraftsensor 84, um die Detektion der auf die Roboterhand 24 ausgeübten Kraft zu starten. Insbesondere sendet die Robotersteuerung 82 Detektionsstartbefehle an den ersten bis sechsten Drehmomentsensor 86, 88, 90, 92, 94 und 96.

Bei Empfang der Detektionsstartbefehle von der Robotersteuerung 82 detektieren der erste bis sechste Drehmomentsensor 86, 88, 90, 92, 94 und 96 jeweils die Drehmomente τ1, τ2, τ3, τ4, τ5 und τ6 bei der zyklischen Periode T und übermitteln sie an die Robotersteuerung 82.

Die Robotersteuerung 82 berechnet jeweils die internen Kräfte Iτ1, Iτ2, Iτ3, Iτ4, Iτ5 und Iτ6 in diesem Augenblick synchron mit der Erfassung der Drehmomente τ1, τ2, τ3, τ4, τ5 und τ6.

Die Robotersteuerung 82 subtrahiert dann die internen Kräfte Iτ1, Iτ2, Iτ3, Iτ4, Iτ5 und Iτ6 von den Drehmomenten τ1, τ2, τ3, τ4, τ5 beziehungsweise τ6, um so die Drehmomente der externen Kraft Eτ1, Eτ2, Eτ3, Eτ4, Eτ5 und Eτ6 zu berechnen. Dann berechnet die Robotersteuerung 82 die auf die Roboterhand 24 wirkende externe Kraft aus den Drehmomenten der externen Kraft Eτ1, Eτ2, Eτ3, Eτ4, Eτ5 und Eτ6 und speichert sie in dem Speicher.

Bei Schritt S5 berechnet die Robotersteuerung 82 die auf die Roboterhand 24 wirkende Kontaktkraft CF. Insbesondere subtrahiert die Robotersteuerung 82 die zuletzt detektierte Handhabungskraft HF von der zuletzt detektierten externen Kraft EF. Als ein Ergebnis wird die Handhabungskraft HF aus der durch den ersten Kraftsensor 84 detektierten externen Kraft EF eliminiert, und dadurch ist es möglich, die von dem externen Objekt auf die Roboterhand 24 ausgeübte Kontaktkraft CF, wenn die Roboterhand das Objekt kontaktiert, zu berechnen.

Somit funktioniert in dieser Ausführungsform die Robotersteuerung 82 als ein Kontaktkraft-Berechnungsteil 102 (13), der dazu eingerichtet ist, die auf die Roboterhand 24 wirkende Kontaktkraft CF zu berechnen.

Gemäß dieser Ausführungsform kann während der Ausführung des Handführungsbetriebs die Kontaktkraft CF aufgrund des Kontakts zwischen der Roboterhand 24 (oder dem Werkstück W1) und einem externen Objekt in Echtzeit überwacht werden, und daher ist es möglich, den Kontakt zwischen der Roboterhand 24 (oder dem Werkstück W1) und dem externen Objekt zuverlässig zu detektieren.

Es wird angemerkt, dass in den oben beschriebenen Ausführungsformen der Roboter 12 ein vertikaler Knickarmroboter ist. Der Roboter 12 kann jedoch ein beliebiger Typ von Roboter sein, z. B. ein SCARA-Roboter oder Parallel-Link-Roboter. Des Weiteren wird in dem in 6 gezeigten Betriebsablauf der oben genannten Ausführungsformen der Roboter 12 bei Schritt S11 gestoppt. Die Robotersteuerung 14, 62, 72 oder 82 kann jedoch bei Schritt S12 auch nur einen Alarm an die Bedienperson A ausgeben, ohne den Schritt S11 auszuführen.

Des Weiteren können die Robotersteuerungen 14, 62, 72 und 82 die bei Schritt S5 berechnete Kontaktkraft CF in Echtzeit auf einer Anzeige anzeigen. In diesem Fall kann die Robotersteuerung 14, 62, 72 oder 82 auch nur die berechnete Kontaktkraft CF auf der Anzeige anzeigen, um die Bedienperson A darüber zu informieren, ohne den in 6 gezeigten Schritt S11 auszuführen.

Des Weiteren besteht in den oben beschriebenen Ausführungsformen jeder der Kraftsensoren 40, 42, 64 und 74 aus einem Dehnmessstreifen umfassenden 6-achsigen Kraftsensor. Der Kraftsensor 40, 42, 64 oder 74 kann jedoch auch ein Sensor sein, der dazu eingerichtet ist, eine Kraft basierend auf einer Änderung der elektrischen Kapazität zu detektieren, oder kann ein Sensor sein, der dazu eingerichtet ist, eine Dehnung optisch zu detektieren.

Des Weiteren sind das in dem Robotersystem 10 verwendete Filterungsverfahren, um Rauschanteile aus dem Ausgangssignal des ersten Kraftsensors 40 zu eliminieren, und der zweite Kraftsensor 42 ebenfalls auf das Robotersystem 60, 70 oder 80 anwendbar.

Obwohl im Vorangehenden die Erfindung durch Ausführungsformen derselben beschrieben wurde, beabsichtigen die oben beschriebenen Ausführungsformen nicht, die in den Ansprüchen definierte Erfindung einzuschränken. Vielmehr kann jede Art von Kombination der in den Ausführungsformen der Erfindung beschriebenen Merkmale im technischen Schutzumfang der Erfindung umfasst sein, wobei jedoch nicht alle Kombinationen solcher Merkmale für den Lösungsweg der Erfindung unbedingt wesentlich sind. Außerdem ist es für den Fachmann ersichtlich, dass verschiedene Änderungen und Verbesserungen an den oben beschriebenen Ausführungsformen vorgenommen werden können.

Des Weiteren sollte angemerkt werden, dass die Ausführungsfolge jeder Verarbeitung, wie einem Betrieb, einem Vorgang, Schritt und Stufe in der Vorrichtung, dem System, Programm und Verfahren, wie in den Ansprüchen, der Beschreibung und den Zeichnungen dargelegt, nicht durch Verwendung von Begriffen wie „bevor”, „vor” oder dergleichen besonders vorgeschrieben wird, und dass jede obenstehende Verarbeitung in einer beliebigen Reihenfolge ausgeführt werden kann, es sei denn, die Ausgabe der vorhergehenden Verarbeitung wird bei der nachfolgenden Verarbeitung derselben verwendet. Obwohl der Einfachheit halber die Betriebsabläufe in den Ansprüchen, der Beschreibung und den Zeichnungen beschrieben wurde, bedeutet die Verwendung von Begriffen wie „zuerst”, „als Nächstes”, „nachfolgend”, „dann” oder dergleichen nicht, dass es wesentlich ist, in dieser Reihenfolge zu verfahren.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Patentliteratur

  • JP 2015-199174 [0002]