-
Die vorliegende Offenlegung enthält einen Gegenstand, der sich auf den bezieht, der in der japanischen Prioritätspatentanmeldung
JP 2016-054031 offenbart worden ist, die am 17. März 2016 beim Japanischen Patentamt eingereicht wurde, und deren gesamter Inhalt hierbei durch Bezug aufgenommen ist.
-
Die vorliegende Erfindung bezieht sich auf eine Robotersteuerung und ein Robotersteuerungsverfahren.
-
Aus
DE 10 2015 004 475 A1 ist eine Kraftmesseinheit bekannt, die eine von einer Bedienungsperson auf eine Spitze eines Roboters aufgebrachte Nettokraft misst. Eine erste Kraftberechnungseinheit berechnet auf der Grundlage der von der Kraftmesseinheit gemessenen Kraft eine Betätigungskraft zum Bewegen einer Position und/oder einer Haltung der Spitze des Roboters in einem orthogonalen Koordinatensystem. Eine zweite Kraftberechnungseinheit berechnet auf der Grundlage der von der Kraftmesseinheit gemessenen Kraft eine Betätigungskraft zum Bewegen der Position jeder Achse des Roboters. Eine Betätigungsbefehlseinheit gibt einen Betätigungsbefehl zum Bewegen des Roboters durch Verwenden der von der ersten Kraftberechnungseinheit oder der zweiten Kraftberechnungseinheit berechneten Betätigungskraft aus.
-
DE 198 00 552 C2 offenbart ein inverses kinematisches Steuerverfahren, um einen Manipulator als Reaktion auf Verschiebungen eines Ziels zu lenken. Diese Verschiebungen werden mit Daten über die tatsächlichen Positionen der Manipulatorgelenke kombiniert. Diese Daten werden auf eine Minimierungsfunktion angewandt, die mit nicht negativen Gewichtungsfaktoren versehen ist. Die Grenzen der Bewegungsbahn, die durch physische Stopps an den Gelenken, maximale Gelenkgeschwindigkeit und maximale Beschleunigung an jedem Gelenk vorgegeben sind, werden in einer kinematischen Gleichung berücksichtigt, die durch eine Jacobi-Matrix dargestellt wird.
-
Gemäß
EP 2 684 649 A1 berechnet eine Hauptsteuerung eines Knickarmroboters Winkel der J1- bis J6-Achsen, indem er das Problem der inversen Kinematik ausgehend von der Position und dem Ort des nächstgelegenen interpolierten Punktes löst und die berechneten Winkel in einer Speichereinheit speichert. An diesem Punkt können zwei Lösungen des inversen kinematischen Problems für die J4- bis J6-Achsen erhalten werden. In diesem Fall wählt die Hauptsteuerung aus den beiden Lösungen des inversen kinematischen Problems die Lösung aus, bei der das Vorzeichen des Winkels der J5-Achse eines ersten Gelenkantriebssystems gleich dem Vorzeichen der J5-Achse an einem eingelernten Arbeitsstartpunkt eines Endeffektors ist. Auf diese Weise geht der Winkel der J5-Achse nicht durch einen Winkel von 0° und somit kann der Durchgang durch eine Singularität vermieden werden.
-
US 2003 / 0 171 847 A1 betrifft ein Verfahren zum Steuern eines Roboters, wobei dieses Verfahren die beiden Schritte umfasst: Auswählen einer Anfangskonfiguration aus mindestens einem von einem ersten, zweiten und dritten Satz, um einen Werkzeugmittelpunkt an einem Startpunkt entlang einer Bahn zu positionieren; und Auswählen einer Endkonfiguration, die sich von der Anfangskonfiguration unterscheidet, um den Werkzeugmittelpunkt an einem Endpunkt zu positionieren. Als Nächstes entfernt sich der Werkzeugmittelpunkt unter Beibehaltung der Anfangskonfiguration vom Startpunkt, nähert sich der Singularität zwischen einem ersten Punkt und einem zweiten Punkt und wählt eine der Achsen als Reaktion auf das Erreichen des ersten Punktes. Der Winkel für die ausgewählte Achse wird vom ersten Punkt zum zweiten Punkt interpoliert. Nach der Interpolation werden die Winkel um die übrigen Achsen bestimmt, und die Arme werden in der endgültigen Konfiguration positioniert, wenn der Werkzeugmittelpunkt den zweiten Punkt erreicht und sich unter Beibehaltung der endgültigen Konfiguration zum Endpunkt bewegt.
-
In
US 6 456 901 B1 wird ein hybrides Steuersystem für die Steuerung der Bewegung eines Roboters beschrieben. Dieses hybride Steuersystem umfasst: einen Singularitätsdetektor; eine Steuerung auf Aufgabenebene, die einen Bewegungsplan empfängt und einen ersten Satz von Steuerbefehlen bestimmt, die in einem Aufgabenraum definiert sind; und eine Steuerung auf Verbindungsebene, die den Bewegungsplan empfängt und einen zweiten Satz von Steuerbefehlen bestimmt, die in einem Verbindungsraum definiert sind. Der Singularitätsdetektor überwacht die Bewegung des Roboters und erkennt eine Roboterbewegung innerhalb eines Bereichs um eine Singularitätskonfiguration. Liegt die Roboterbewegung außerhalb dieses Bereichs, kann die Steuerung auf Aufgabenebene den ersten Satz von Steuerbefehlen an den Roboter senden. Bewegt sich der Roboter innerhalb dieses Bereichs, kann die Steuerung auf Gelenkebene den zweiten Satz von Steuerbefehlen an den Roboter ausgeben.
-
Auch bei dem aus
US 5 590 034 A bekannten Verfahren zum Steuern eines Industrieroboters folgt ein vom Roboter getragenes Werkzeug einer Bahn, die durch eine Anzahl aufeinanderfolgender Punkte bestimmt ist, wobei der Roboter, während er der Bahn folgt, in der Nähe einer Singularität endet. Der Roboter verfügt über eine Vielzahl von Bewegungsachsen, und seine Konfiguration wird durch die Drehwinkel der Bewegungsachsen bestimmt. Die Drehwinkel, die der Roboter einnehmen muss, um die gewünschte Position und Ausrichtung des Werkzeugs am nächsten Punkt der Bahn zu erreichen, werden durch ein iteratives Verfahren berechnet. Die Beziehung zwischen den Winkelgeschwindigkeiten der Achsen und der Geschwindigkeit des Werkzeugs ist durch eine Jacobi-Matrix gegeben. Die Jacobi-Matrix wird verwendet, um festzustellen, ob sich der Roboter an oder in der Nähe einer Singularität befindet.
-
Schließlich wird in
US 5 159 249 A ein Verfahren und ein Algorithmus zur symbolischen Zerlegung einer Roboter-Jacobi-Matrix vorgeschlagen, wobei die Moore-Penrose-Pseudoinverse der Roboter-Jacobi-Matrix symbolisch erhalten wird, selbst wenn die Roboter-Jacobi-Matrix schlecht konditioniert ist oder Rangdefizite aufweist. Dadurch werden die Beschränkungen beseitigt, die sich aus der Rechenkomplexität der Jacobi-Pseudoinverse ergeben, insbesondere wenn die Jacobi-Figur des Roboters schlecht konditioniert ist (Roboter in der Nähe von/bei Singularitäten). Dieses Verfahren sollt eine Echtzeitsteuerung des Roboters und eine gute Roboterleistung in der Nähe von Singularitäten ermöglichen.
-
Herkömmlich ist eine Technik vom Steuern eines Roboters bekannt, der Arbeit in Kooperation mit einem Menschen durchführt (Bezug auf
JP 2015 - 511 544 A ).
-
In den Anforderungen für einen Roboter, der Arbeit in Zusammenarbeit mit einem Menschen durchführt, basierend auf ISO 10218-1, ist es erforderlich, sicherzustellen, dass Kraft, die an dem Werkzeugmittelpunkt (TCP) eines Roboters erzeugt wird, ein vorbestimmter Wert (z. B. 150 N) oder wenig ist.
-
Hier, eine Robotersteuerung, die den Roboter steuert, berechnet die Kraft, die an dem Werkzeugmittelpunkt des Roboters erzeugt wird, basierend auf dem Drehmoment an der Rotationsachse jedes Gelenks.
-
Die Robotersteuerung kann jedoch nicht die Kraft berechnen, die an dem Werkzeugmittelpunkt des Roboters erzeugt wird, in einem Fall, in dem der Roboter in einer singulären Konfiguration gewesen ist (nämlich, in einer Singularität des Roboters). Speziell wie in 6 dargestellt ist, wenn Gelenke J1 und J2 des Roboters rotieren, so dass ein Zustand, der mit Strichlinien in 6 angedeutet ist, in einen Zustand gewechselt wird, der mit durchgezogener Linie in 6 angedeutet ist, der Werkzeugmittelpunkt des Roboters arbeitet in Richtung D. Die Robotersteuerung kann jedoch nicht die Kraft in Arbeitsrichtung Dx berechnen, die am Werkzeugmittelpunkt erzeugt wird, in einem Fall, in dem der Roboter in der singulären Konfiguration gewesen ist.
-
Folglich ist dort ein Problem, das dafür sorgt, dass nicht gewährleistet werden kann, dass die Kraft, die am Werkzeugmittelpunkt erzeugt wurde, der vorbestimmte Wert oder weniger ist.
-
Daher wurde die vorliegende Erfindung unter Berücksichtigung des obigen Problems gemacht, und eine Aufgabe der vorliegenden Erfindung ist eine Robotersteuerung und ein Robotersteuerungsverfahren zur Verfügung zu stellen, die geeignet sind, sicherzustellen, dass Kraft in einer Arbeitsrichtung, die am Werkzeugmittelpunkt eines Roboters erzeugt wird, ein vorbestimmter Wert oder weniger ist, selbst in einem Fall, in dem der Roboter in der Nähe des singulären Konfiguration gewesen ist.
-
Der erste Aspekt der vorliegenden Erfindung ist eine Robotersteuerung, die konfiguriert ist einen Roboter inklusive eines Armes mit einer Vielzahl von Gelenken zu steuern, von denen jedes der Gelenke um eine Rotationsachse rotierbar ist, wobei die Robotersteuerung umfasst: eine Erfassungseinheit, die konfiguriert ist einen Drehwinkel jedes der Vielzahl von Gelenken zu erfassen; eine Bestimmungseinheit, die konfiguriert ist basierend auf dem Drehwinkel von jedem der Vielzahl von Gelenken zu bestimmen, ob der Roboter in der Nähe einer Singularität des Roboters ist oder nicht; und eine Steuereinheit, die konfiguriert ist die Vielzahl der Gelenke zu steuern, dass diese rotiert werden nicht gleichzeitig zu rotieren, wenn die Bestimmungseinheit bestimmt, dass der Roboter in der Nähe der Singularität des Roboters ist, wobei die Steuereinheit konfiguriert ist, als Antwort auf einen Befehl eines Anwenders oder einer Einstellung, eine Reihenfolge vom Rotieren der Vielzahl von Gelenken auf einer eins-zu-eins Basis zu bestimmen, und die Steuereinheit konfiguriert ist, als Antwort auf den Befehl des Anwenders oder der Einstellung, die Steuerung vom Rotieren der Vielzahl von Gelenken auf einer eins-zu-eins Basis zu stoppen, wenn die Bestimmungseinheit bestimmt, dass der Roboter in der Nähe der Singularität des Roboters ist.
-
Der zweite Aspekt der vorliegenden Erfindung ist ein Robotersteuerungsverfahren vom Steuern eines Roboters, der einen Arm mit einer Vielzahl von Gelenken hat, von denen der Vielzahl von Gelenken um eine Rotationsachse rotierbar ist, wobei das Robotersteuerungsverfahren umfasst: Erfassen eines Drehwinkels von jedem der Vielzahl von Gelenken; Bestimmen, basierend auf einem Drehwinkel von jedem der Vielzahl von Gelenken, ob der Roboter in der Nähe einer Singularität des Roboters ist oder nicht; und Steuern der Vielzahl von Gelenken, dass diese rotiert werden, nicht gleichzeitig zu rotieren, wenn die Bestimmung bestimmt, dass der Roboter in der Nähe der Singularität des Roboters ist, wobei Bestimmen einer Reihenfolge vom Rotieren der Vielzahl von Gelenken auf einer eins-zu-eins Basis, als Antwort auf einen Befehl eines Anwenders oder einer Einstellung, eine zu bestimmen, und Stoppen der Steuerung vom Rotieren der Vielzahl von Gelenken auf einer eins-zu-eins Basis, wenn die Bestimmungseinheit bestimmt, dass der Roboter in der Nähe der Singularität des Roboters ist, als Antwort auf den Befehl des Anwenders oder der Einstellung.
- 1 ist eine Ansicht von einem beispielhaften Robotersystem gemäß einer Ausführungsform;
- 2 ist ein Diagramm von einem beispielhaften Funktionsblock einer Robotersteuerung gemäß der Ausführungsform;
- 3 ist eine Ansicht von einem beispielhaften Vorgang eines Roboters gemäß der Ausführungsform;
- 4 ist eine Ansicht von einem anderen beispielhaften Vorgang des Roboters gemäß der Ausführungsform;
- 5 ist ein Flussdiagramm eines beispielhaften Robotersteuerungsverfahrens gemäß der Ausführungsform;
- 6 ist eine Ansicht eines beispielhaften Vorgangs eines herkömmlichen Roboters.
-
Eine Ausführungsform wird nachfolgend unter Bezugnahme auf 1 bis 5 beschrieben. Wie in 1 dargestellt, umfasst ein Robotersystem 100 gemäß der vorliegenden Ausführungsform einen Roboter 1 und eine Robotersteuerung 2, die konfiguriert ist, den Roboter 1 zu steuern.
-
Gemäß der vorliegenden Ausführungsform, umfasst der Roboter 1 einen Arm, der eine Vielzahl von Gelenken J1 bis J6 hat. Die Vielzahl der Gelenken J1 bis J6 ist konfiguriert fähig zu sein um dessen Rotationsachsen zu rotieren (nicht dargestellt).
-
Zu beachten ist, dass gemäß der vorliegenden Ausführungsform der Roboter auf Durchführen von Arbeit in Zusammenarbeit mit einem Menschen vorausgesetzt ist, so dass die Robotersteuerung 2 Kraft steuert, die am Werkzeugmittelpunkt P des Roboters 1 erzeugt wird, um ein vorbestimmter Wert (z. B. 150 N) oder weniger zu sein, wie oben beschrieben. Hier, gemäß der vorliegenden Ausführungsform, ist der Werkzeugmittelpunkt P des Roboters 1 ein repräsentativer Punkt von einem Werkzeug, das zu einem Vorderende des Arms von dem Roboter 1 eingebaut ist.
-
Gemäß der vorliegenden Ausführungsform, wie in 1 dargestellt, umfasst ein mehrachsiger Roboter den Arm, der die Gelenke J1 bis J6 hat, der als der Roboter 1 veranschaulicht ist, jedoch ist die Anzahl der Gelenke (nämlich der Rotationsachsen) nicht auf sechs beschränkt. Der Roboter 1 kann zum Beispiel ein mehrachsiger Roboter sein, der einen Arm umfasst, der sieben Einheiten der Gelenke oder mehr (nämlich die Rotationsachsen) hat oder einen mehrachisgen Roboter, der einen Arm umfasst, der zwei bis fünf Einheiten der Gelenke hat (nämlich die Rotationsachsen). Gemäß der vorliegenden Ausführungsform, wie in 1 dargestellt, ist ein Einarm-Roboter als der Roboter 1 veranschaulicht, jedoch kann der Roboter 1 ein Mulit-Arm-Roboter sein, der zwei oder mehrere Arme hat.
-
In einem Fall, in dem der Roboter 1 in einer singulären Konfiguration gewesen ist (nämlich bei einer Singularität des Roboters 1), kann die Robotersteuerung 2 die Kraft in der Arbeitsrichtung Dx nicht berechnen, die am Werkzeugmittelpunkt P des Roboters 1 erzeugt wird.
-
Hier, ein Zustand, in dem der Roboter 1 in der singulären Konfiguration (bei einer Singularität des Roboters 1) gewesen ist, bedeutet, dass die Lösung von inverser kinematischen Berechnung in dem Roboter 1 nicht erfasst wird. Die inverse kinematische Berechnung bedeutet, dass die Position und der Winkel jedes der Vielzahl von Gelenken J1 bis J6 basierend auf eine Betätigung an dem Werkzeugmittelpunkt des Roboters 1 berechnet werden.
-
Die Robotersteuerung 2 ist konfiguriert, den Roboter 1 zu steuern und umfasst eine Erfassungseinheit 21, eine Bestimmungseinheit 22 und eine Steuerungseinheit 23 und eine Ausgabeeinheit 24, wie in 2 dargestellt.
-
Die Erfassungseinheit 21 ist konfiguriert fähig zu sein, den Drehwinkel und den Drehmoment jedes der Vielzahl von Gelenken J1 bis J6 zu erfassen.
-
Die Erfassungseinheit 21 kann zum Beispiel konfiguriert sein, um den Drehwinkel von jedem der Vielzahl von Gelenken J1 bis J6 zu ermitteln und zu erfassen, durch Verwendung eines Encoders (encoder) oder eines Drehmelders, oder kann konfiguriert sein, den Drehwinkel jedes der Vielzahl von Gelenken J1 bis J6 basierend auf den jeweiligen Drehwinkel der Stellglieder (actuators) (nicht dargestellt), die die Vielzahl von Gelenken J1 bis J6 individuell antreiben und das Untersetzungsverhältnis eines Untersetzungsgetriebes (nicht dargestellt) zu berechnen und zu erfassen.
-
Alternativ kann die Erfassungseinheit 21 konfiguriert sein, den Drehmoment an der Rotationsachse des jeweiligen der Vielzahl von Gelenken J1 bis J6 zu ermitteln, um den Drehwinkel des jeweiligen der Vielzahl von Gelenken J1 bis J6 basierend auf dem Drehmoment zu berechnen und zu erfassen.
-
Die Erfassungseinheit 21 kann konfiguriert sein, den Drehmoment an der Rotationsachse der jeweiligen der Vielzahl von Gelenken J1 bis J6 basierend auf Drehmomentsensoren, die jeweils an der Vielzahl der Gelenke J1 bis J6 vorgesehen sind, zu ermitteln.
-
Alternativ kann die Erfassungseinheit 21 konfiguriert sein, das Drehmoment an der Rotationsachse des jeweiligen der Vielzahl von Gelenken J1 bis J6 basierend an dem Ausgangsdrehmoment oder dem aktuellen Wert der jeweiligen Stellglieder, die die Vielzahl von Gelenken J1 bis J6 individuell antreiben, und das Untersetzungsverhältnis des Untersetzungsgetriebes zu ermitteln, oder kann konfiguriert sein, das Drehmoment an der Rotationsachse der jeweiligen der Vielzahl von Gelenken J1 bis J6 basierend auf einem anderen Verfahren zu ermitteln.
-
Die Bestimmungseinheit 22 ist konfiguriert zu bestimmen, ob der Roboter 1 in der Nähe des singulären Konfiguration gewesen ist, basierend auf dem Drehwinkel der jeweiligen Vielzahl von Gelenken J1 bis J6, der durch die Erfassungseinheit 21 erfasst wird.
-
Die Steuereinheit 23 ist konfiguriert, eine Vielzahl der Gelenken J2 und J3, die rotiert werden, um nicht gleichzeitig zu rotieren, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Das heißt, die Steuereinheit 23 ist konfiguriert, die Vielzahl der Gelenke, die rotiert werden, zu steuern, um auf einer eins-zu-eins Basis (one-by-one basis) zu rotieren, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Hier, die Steuereinheit 23 ist konfiguriert fähig zu sein zu bestimmen, dass die Gelenke auf der eins-zu-eins Basis (one-by-one basis) rotiert werden, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Wenn zum Beispiel die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, ist die Steuereinheit 23 konfiguriert das Gelenk J2 in Arbeitsrichtung D1, wie in 3 dargestellt, zu rotieren und dann das Gelenk J3 in Arbeitsrichtung D2, wie in 4 dargestellt, zu rotieren.
-
Gemäß der Konfiguration, in einem Fall, in dem der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, rotiert die Vielzahl der Gelenke (die Gelenke J2 und J3 in 3 und 4) auf der eins-zu-eins Basis (one-by-one basis), so dass die Kraft in der Arbeitsrichtung Dx, die nicht berechnet werden kann, nicht am Werkzeugmittelpunkt P des Roboters 1 erzeugt wird. Daher kann die Kraft, die an dem Werkzeugmittelpunkt P des Roboters 1 erzeugt wird, berechnet werden.
-
Inzwischen ist die Steuereinheit 23 konfiguriert fähig zu sein, die Vielzahl der Gelenke J2 und J3 gleichzeitig zu rotieren, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Gemäß der Konfiguration, in einem Zustand, in dem der Roboter 1 nicht in der Nähe der singulären Konfiguration gewesen ist, rotiert die Vielzahl der Gelenke J2 und J3 gleichzeitig, so dass die Arbeitseffizienz des Roboters verbessert werden kann.
-
Die Steuereinheit 23 kann konfiguriert sein, die Reihenfolge des Rotierens der Vielzahl der Gelenke (die Gelenke J2 und J3 in 3 und 4) zu bestimmen, als Antwort auf die Anweisung eines Anwenders.
-
Gemäß der Konfiguration, kann der Arm des Roboters 1 entlang einer Bahn, die für den Anwender angenehm ist, beeinflusst werden unter Berücksichtigung, zum Beispiel einer Vorrichtung (Jig), die auf der Peripherie eines Roboters angeordnet ist.
-
Die Steuereinheit 23 kann zuvor die Reihenfolge des Rotierens der Vielzahl der Gelenke (die Gelenke J2 und J3 in 3 und 4) festlegen, und wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, kann die Steuereinheit 23 die Reihenfolge des Rotierens der Vielzahl der Gelenke (die Gelenke J2 und J3 in 3 und 4) gemäß der Einstellung bestimmen.
-
Die Steuereinheit 23 kann konfiguriert sein, Bedingungen zum Bestimmen, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist zu variieren, als Antwort auf die Anweisung des Anwenders.
-
Die Bedingungen können mit der Position und dem Winkel jedes der Gelenke J1 bis J6 vorgeschrieben sein. Wenn zum Beispiel die Position und der Winkel von jedem der Gelenke J1 bis J6 jeweils eine vorbestimmte Position oder einen vorbestimmter Winkel einnehmen, kann die Bestimmungseinheit 22 bestimmen, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Gemäß des Merkmals wird der Bereich des Bestimmens, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, als Antwort auf verschiedene Zustände variiert, so dass weitere sichere Wahrung gemacht werden kann, dass die Kraft, die am Werkzeugmittelpunkt P des Roboters 1 erzeugt wird, der bestimmte Wert oder weniger ist.
-
Die Steuereinheit 23 kann konfiguriert werden, die Steuerung des Rotierens der Vielzahl von Gelenken auf der eins-zu-eins Basis (one-by-one basis), als Antwort auf die Anweisung des Anwenders, zu stoppen. Dass heißt, wenn die Steuerung gestoppt wird, kann die Steuereinheit 23 konfiguriert werden die Vielzahl der Gelenke, die rotiert werden, zu steuern, gleichzeitig zu rotieren, selbst wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Gemäß des Merkmals, in einem Fall, in dem der Roboter 1 nicht in Zusammenarbeit mit einem Menschen gewesen ist, kann der Roboter 1 einen normalen Vorgang durchführen, so dass die Bearbeitungsgeschwindigkeit des Roboters 1 beschleunigt werden kann.
-
Des Weiteren kann die Steuereinheit 23 konfiguriert werden, die Bedingungen zum Bestimmen, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, zu variieren, als Antwort auf die Drehgeschwindigkeit von jedem der Vielzahl von Gelenken J1 bis J6. Die Erfassungseinheit 21 kann konfiguriert werden, die Drehgeschwindigkeit jedes der Vielzahl von Gelenken J1 bis J6 zu erfassen.
-
Gemäß des Merkmals, wenn die Drehgeschwindigkeit jedes der Vielzahl der Gelenke J1 bis J6 schnell ist, wird der Bereich von Bestimmen, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist erweitert, so dass weitere sichere Wahrung gemacht werden kann, dass die Kraft, die am Werkzeugmittelpunkt P des Roboters 1 erzeugt wird, der bestimmte Wert oder weniger ist.
-
Die Ausgabeeinheit 24 ist konfiguriert, einen Alarm auszugeben, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, und zusätzlich, wenn die Vielzahl der Gelenke J2 und J3 gleichzeitig rotiert. Die Ausgabeeinheit 24 kann konfiguriert sein, einen Alarm auszugeben, wenn ein ungewöhnliches Drehmoment an jedem der Vielzahl von Gelenken J1 bis J6 erzeugt wird.
-
Die Steuereinheit 23 kann konfiguriert werden, die Arbeit des Roboters 1 zu steuern, zu stoppen, wenn die Ausgabeeinheit 24 einen Alarm ausgibt. In diesem Fall kann die Steuereinheit 23 konfiguriert werden, die Arbeit des Roboters 1 basierend auf die Anweisungen des Anwenders wieder herzustellen.
-
Gemäß der Konfiguration, wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, und zusätzlich wenn die Vielzahl der Gelenke J2 und J3 gleichzeitig rotiert, wird die Arbeit des Roboters 1 gestoppt, so dass die Zusammenarbeit zwischen dem Roboter 1 und dem Menschen weiter sicher erreicht werden kann.
-
Ein beispielhafter Vorgang der Robotersteuerung 2, der den Roboter 1 steuert, gemäß der vorliegenden Ausführungsform, wird nachfolgend mit Bezug auf 5 beschrieben.
-
Wie in 5 dargestellt, erfasst die Robotersteuerung 2 im Schritt S101 den Drehwinkel jedes der Vielzahl von Gelenken J1 bis J6 und bestimmt im Schritt S102 basierend auf dem Drehwinkel jedes der Vielzahl von Gelenken J1 bis J6, ob der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.
-
Wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist, setzt der vorliegende Vorgang zum Schritt S103 fort. Wenn die Bestimmungseinheit 22 bestimmt, dass der Roboter 1 nicht in der Nähe der singulären Konfiguration gewesen ist, setzt der vorliegende Vorgang zum Schritt S104 fort.
-
Die Robotersteuerung 2 steuert die Vielzahl der Gelenke, die rotiert werden, auf der eins-zu-eins Basis (one-by-one basis) (nämlich, steuert die Vielzahl der Gelenke nicht gleichzeitig zu rotieren) im Schritt S103 zu rotieren und steuert die Vielzahl der Gelenke, die rotiert werden, um gleichzeitig zu rotieren, führt nämlich die normale Steuerung im Schritt S104 durch.
-
Das Robotersystem 100 gemäß der vorliegenden Ausführungsform kann sicherstellen, dass die Kraft in der Arbeitsrichtung Dx, die an dem Werkzeugmittelpunkt P des Roboters 1 erzeugt wird, der vorbestimmte Wert oder weniger ist, selbst wenn in einem Fall, in dem der Roboter 1 in der Nähe der singulären Konfiguration gewesen ist.