-
Die vorliegende Erfindung bezieht sich auf ein Robotersystem und eine Robotersteueru ng.
-
Bei einer Vorrichtung mit einer Ablage, auf der ein Gegenstand angeordnet werden, kann die Ablage im Stand der Technik bewegt werden, während der Gegenstand darauf angeordnet ist, um den Gegenstand an eine vordefinierte Stelle zu befördern. Bei einer solchen Vorrichtung kann die Ablage dazu eingerichtet sein, dass sie bewegt wird, während die Ausrichtung der Ablage stets im horizontalen Zustand gehalten werden kann, um zu verhindern, dass der Gegenstand von der Ablage herunterfällt (siehe z. B.
JP S55 - 161 718 A ,
JP 2017 - 001 759 A und
JP 2003 - 044 135 A ).
-
Eine hinlänglich bekannte Technik hingegen ist es, einen Roboter so zu steuern, dass der Roboter der Bewegung eines Werkstücks auf einem Förderer folgen kann und einen vordefinierten Vorgang des Werkstücks durchführen kann (siehe z. B.
JP 2002 - 192 486 A ).
-
-
Wenn ein Roboter im Stand der Technik so gesteuert werden sollte, dass der Roboter einem Werkstück auf einem Förderer folgen kann, der dazu eingerichtet ist, dass er sich entlang einer kreisförmigen Bewegungsbahn bewegt (oder dreht), werden die Position und die Ausrichtung des Roboters zu jedem Zeitpunkt auf Basis eines Rotationskoordinatensystems berechnet, das in einem Drehzentrum definiert ist, und wird der Roboter auf Basis der berechneten Position und Ausrichtung gesteuert. Wenn der Roboter jedoch einer Ablage des Förderers folgen muss, wobei die Ausrichtung davon während der Drehung des Förderers stets konstant gehalten wird (z. B. im horizontalen Zustand), wird die Ablage im horizontalen Zustand in Bezug auf den Roboter gedreht, da die Position und die Ausrichtung des Roboters auf Basis des Rotationskoordinatensystems gesteuert werden. Daher muss die Ausrichtung des Roboters, wenn die Bewegung des Roboters (z. B. Ausrichten von Gegenständen auf der Ablage) unter Berücksichtigung der Ausrichtung des Roboters gelehrt werden sollte, unter Berücksichtigung der Aktion der Ablage gelehrt werden. Ein solches Lehren kann mühsam und schwierig sein.
-
Es ist Aufgabe der vorliegenden Erfindung, eine Robotersteuerung und ein Robotersystem bereitzustellen, die die oben genannten Probleme vermeiden.
-
Diese Aufgabe wird erfindungsgemäß durch eine Robotersteuerung und ein Robotersystem gemäß den unabhängigen Ansprüchen 1 und 4 gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen genannt.
-
Ein Aspekt der vorliegenden Offenbarung ist eine Robotersteuerung für einen Roboter, der dazu eingerichtet ist, dass er einen Vorgang in Bezug auf eine Fördervorrichtung mit einem Drehkörper durchführt, der um eine erste Drehachse drehbar ist, und zumindest eine Ablage, die dazu eingerichtet ist, dass sie sich um eine zweite Drehachse parallel zur ersten Drehachse dreht, so dass die Ablage in einer konstanten Ausrichtung gehalten wird, wobei die Robotersteuerung umfasst: einen Drehwinkelerhaltungsabschnitt, der dazu eingerichtet ist, dass er einen Drehwinkel der ersten Drehachse erhält; einen Koordinatensystemberechnungsabschnitt, der dazu eingerichtet ist, dass er - auf Basis eines ersten Koordinatensystems, das einen Ursprung auf der ersten Drehachse hat und um die erste Drehachse drehbar ist, - ein zweites Koordinatensystem berechnet und das zweite Koordinatensystem auf die Ablage einstellt, wobei das zweite Koordinatensystem eine konstante Ausrichtung und drei Achsen orthogonal zueinander aufweist, wobei eine davon parallel zur ersten Drehachse verläuft; einen Positions-/Ausrichtungsberechnungsabschnitt, der dazu eingerichtet ist, dass er eine Position und eine Ausrichtung des Roboters in einem Referenzkoordinatensystem auf Basis des Drehwinkels der ersten Drehachse, der vom Drehwinkelerhaltungsabschnitt erhalten wird, und der Position des Roboters im zweiten Koordinatensystem berechnet; und einen Bewegungsbefehlerzeugungsabschnitt, der dazu eingerichtet, dass er einen Bewegungsbefehl zum Steuern einer Bewegung des Betriebs des Roboters auf Basis der vom Positions-/Ausrichtungsberechnungsabschnitt berechneten Position und Ausrichtung des Roboters steuert.
-
Ein weiterer Aspekt der vorliegenden Offenbarung ist ein Robotersystem, das umfasst: einen Roboter, der dazu eingerichtet ist, dass er einen Vorgang in Bezug auf eine Fördervorrichtung mit einem Drehkörper durchführt, der um eine erste Drehachse drehbar ist, und zumindest eine Ablage, die dazu eingerichtet ist, dass sie sich um eine zweite Drehachse parallel zur ersten Drehachse dreht, so dass die Ablage in einer konstanten Ausrichtung gehalten wird; und eine Robotersteuerung, die dazu eingerichtet ist, dass sie den Roboter steuert, wobei die Robotersteuerung umfasst: einen Drehwinkelerhaltungsabschnitt, der dazu eingerichtet ist, dass er einen Drehwinkel der ersten Drehachse erhält; einen Koordinatensystemberechnungsabschnitt, der dazu eingerichtet ist, dass er - auf Basis eines ersten Koordinatensystems, das einen Ursprung auf der ersten Drehachse hat und um die erste Drehachse drehbar ist, - ein zweites Koordinatensystem berechnet und das zweite Koordinatensystem auf die Ablage einstellt, wobei das zweite Koordinatensystem eine konstante Ausrichtung und drei Achsen orthogonal zueinander aufweist, wobei eine davon parallel zur ersten Drehachse verläuft; einen Positions-/Ausrichtungsberechnungsabschnitt, der dazu eingerichtet ist, dass er eine Position und eine Ausrichtung des Roboters in einem Referenzkoordinatensystem auf Basis des Drehwinkels der ersten Drehachse, der vom Drehwinkelerhaltungsabschnitt erhalten wird, und der Position des Roboters im zweiten Koordinatensystem berechnet; und einen Bewegungsbefehlerzeugungsabschnitt, der dazu eingerichtet, dass er einen Bewegungsbefehl zum Steuern einer Bewegung des Betriebs des Roboters auf Basis der vom Positions-/Ausrichtungsberechnungsabschnitt berechneten Position und Ausrichtung des Roboters steuert.
-
Die obigen und andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung der bevorzugten Ausführungsformen dieser unter Bezugnahme auf die beilegenden Zeichnungen näher hervor, in denen:
- 1 eine Ansicht ist, die schematische Konfigurationen eines Robotersystems und einer Fördervorrichtung gemäß einer vorliegenden Offenbarung zeigt;
- 2 eine Ansicht ist, die eine Ablage der Fördervorrichtung und einen Roboter schematisch zeigt;
- 3 ein Ablaufplan ist, der ein Beispiel für eine Verfahrensweise im Robotersystem zeigt;
- 4 eine Ansicht ist, die ein Beispiel für einen Lehrvorgang für einen Roboter im Stand der Technik als Vergleichsbeispiel erläutert;
- 5 eine Ansicht ist, die ein Beispiel für einen Lehrvorgang für einen Roboter gemäß der vorliegenden Offenbarung erläutert; und
- 6 eine Ansicht ist, die ein Beispiel zeigt, wobei ein zweites Koordinatensystem so definiert ist, dass das zweite Koordinatensystem von einem Drehzentrum der Ablage versetzt ist.
-
1 zeigt eine schematische Konfiguration eines Robotersystems gemäß einer bevorzugten Ausführungsform, das einen Roboter (mechanische Einheit) 10 und eine Robotersteuerung 12 umfasst. Als Roboter 10 kann ein beliebiger Robotertyp verwendet werden, solange der Roboter einen beweglichen Teil wie z. B. einen Roboterarm aufweist. Beispielsweise ist der veranschaulichte Roboter 10 ein vertikaler Gelenkroboter mit einer Basis 13, einem Oberarm 14, der drehbar an der Basis 13 angebracht ist, einem Unterarm 16, der drehbar an einem vorderen Ende des Oberarms 14 angebracht ist, und einem Endeffektor 18, der drehbar an einem vorderen Ende des Unterarms 16 angebracht ist. Der Roboter 10 ist dazu eingerichtet, dass er einen vordefinierten Vorgang in Bezug auf eine Fördervorrichtung 20 (oder einen Gegenstand auf einer Ablage dieser) durchführt.
-
Die Fördervorrichtung 20 weist eine erste Drehachse 22; einen Drehkörper 24, der dazu eingerichtet ist, dass er unter Verwendung eines Antriebsteils wie z. B. eines Servomotors um die erste Drehachse 22 gedreht wird; zumindest eine zweite Drehachse 28 (vorzugsweise eine Mehrzahl dieser), die auf einem ringförmigen (oder Umfangs-)Teil 26 des Drehkörpers 24 und parallel zur ersten Drehachse 22 angeordnet ist; und die gleiche Anzahl von Träger(n) oder Ablage(n) 30 wie zweite Drehachse (-achsen) 28 auf und ist dazu eingerichtet, dass sie sich um jeweilige zweite Drehachsen 28 dreht, so dass jede Ablage während der Drehung des Drehkörpers 24 in einer konstanten Ausrichtung gehalten wird. Der Drehkörper 24 kann in einer konstanten Geschwindigkeit kontinuierlich gedreht werden oder kann intermittierend gedreht werden (z. B. kann der Drehkörper 24 jeweils für eine bestimmte Zeitdauer gestoppt werden, wenn sich der Drehkörper um einen vordefinierten Winkel gedreht hat).
-
Jede Ablage 30 ist dazu eingerichtet, dass zumindest ein Gegenstand (Werkstück) 32 wie z. B. eine Maschinenkomponente oder ein industrielles Produkt usw. auf der Ablage angeordnet oder befestigt werden kann. Ferner ist jede Ablage dazu eingerichtet, dass sie stets in einer konstanten Ausrichtung gehalten wird (d. h., die Ausrichtung oder Stellung der Ablage wird nicht verändert). Im Gegensatz zum Drehkörper 24 muss zum Antreiben oder Drehen der Ablage 30 kein Motor bereitgestellt werden. Um die Ausrichtung der Ablage positiv zu halten, kann jedoch ein Motor oder eine Ausgleichsvorrichtung für die Ablage bereitgestellt werden. Außerdem weist die Ablage 30 eine beliebige Struktur auf, solange das Werkstück 32 auf dieser angeordnet werden kann, und somit kann die Ablage 30 eine Wanne, ein Korb, eine Kabine oder eine Kiste usw. sein. Bei der veranschaulichten Ausführungsform sind sowohl die erste Drehachse 22 als auch die zweite Drehachse 28 horizontale Achsen und somit wird eine Befestigungsfläche 34 (auf der ein Werkstück 32 angeordnet ist) der Ablage 30 stets im horizontalen Zustand gehalten. Die erste Drehachse 22 und die zweite Drehachse 28 sind jedoch nicht auf die horizontalen Achsen beschränkt, solange sie parallel zueinander verlaufen.
-
2 zeigt die Fördervorrichtung 20 schematisch und zeigt einen Zustand, in dem drei Koordinatensysteme definiert sind, die in einem Prozess wie nachstehend erläutert verwendet werden. Spezifisch gesagt ist ein erstes Koordinatensystem 36 definiert, das einen Ursprung auf der ersten Drehachse 22 hat und um die erste Drehachse 22 drehbar ist; ist ein zweites Koordinatensystem 38 definiert und auf die Ablage 30 eingestellt. Das zweite Koordinatensystem 30 weist eine konstante Ausrichtung und drei Achsen orthogonal zueinander auf, wobei eine davon parallel zur ersten Drehachse 22 verläuft. Ferner ist ein Roboterreferenzkoordinatensystem 40 definiert und auf einen vordefinierten Teil (z. B. Basis 13) des Roboters 10 eingestellt. Auf Basis des Roboterreferenzkoordinatensystems 40 kann ein Bewegungsbefehl usw. zum Betrieb des Roboters 10 erzeugt werden.
-
Unter erneuter Bezugnahme auf 1 weist die Robotersteuerung 12 auf: einen Drehwinkelerhaltungsabschnitt 42, der dazu eingerichtet ist, dass er einen Drehwinkel (eine Drehposition) der ersten Drehachse 22 erhält; einen Koordinatensystemberechnungsabschnitt 44, der dazu eingerichtet ist, dass er das zweite Koordinatensystem 38 auf Basis des ersten Koordinatensystems 36 berechnet; einen Positions-/Ausrichtungsberechnungsabschnitt 46, der dazu eingerichtet ist, dass er eine Position und eine Ausrichtung (oder eine Bewegungsverlaufsbahn) des Roboters 10 in dem Referenzkoordinatensystem 40 auf Basis des Drehwinkels der ersten Drehachse 22, der vom Drehwinkelerhaltungsabschnitt 42 erhalten wird, und der (Lehr-)Position des Roboters im zweiten Koordinatensystem 38 berechnet; und einen Bewegungsbefehlerzeugungsabschnitt 48, der dazu eingerichtet ist, dass er einen Bewegungsbefehl zum Steuern der Bewegung des Roboters 10 auf Basis der vom Positions-/Ausrichtungsberechnungsabschnitt 46 berechneten Position und Ausrichtung erzeugt. Beispielsweise kann der Drehwinkelerhaltungsabschnitt 42 dazu eingerichtet sein, dass er eine Ausgabe (ein Signal) von einem Geber empfängt, der mit einem Motor (nicht gezeigt) verbunden ist, um die erste Drehachse 22 anzutreiben, und dass er den Drehwinkel der ersten Drehachse 22 berechnet (oder erhält). Beispielsweise können die Komponenten 42, 44, 46 und 48 der Robotersteuerung 12 als Speicher oder Prozessor konfiguriert sein, der in der Robotersteuerung 12 integriert ist.
-
Im Folgenden werden die Bewegung des Roboters 10 und eine Verfahrensweise der Robotersteuerung 12 unter Bezugnahme auf einen Ablaufplan von 3 erläutert. Bei diesem Beispiel weist ein Außenumfang 26 des Drehkörpers 24 der Fördervorrichtung 20 eine Kreisform auf und ist die zweite Drehachse 28, die dem Drehzentrum jeder Ablage 30 entspricht (d. h. der Ursprung des zweiten Koordinatensystems 38) auf einem Bogen positioniert, der den Außenumfang 26 darstellt. In dieser Hinsicht ist die Form des Drehkörpers nicht auf den Kreis beschränkt, beispielsweise kann der Drehkörper eine elliptische oder Gleisform aufweisen. Bei der Ausführungsform wird davon ausgegangen, dass das Lehren des Betriebs des Roboters in Bezug auf die Ablage 30 (das Werkstück 32 darauf) (z. B. das Ermitteln einer Lehrposition und einer Ausrichtung beim Lehren des Roboters in Bezug auf die Ablage 30) zuvor vom Bediener (Benutzer) unter Verwendung eines normalen oder herkömmlichen Verfahrens durchgeführt wurde.
-
Zunächst wird eine Positionsinformation (z. B. eine Drehposition) der ersten Drehachse 22 gemessen und vom Drehwinkelerhaltungsabschnitt 42 erhalten (Schritt S1) und danach wird das zweite Koordinatensystem 38, wie in 2 gezeigt, berechnet und definiert (Schritt S2). Die Position des Ursprungs des zweiten Koordinatensystems 38 (in diesem Fall befindet sich der Ursprung auf der zweiten Drehachse 28) kann anhand einer Position (des Ursprungs) des ersten Koordinatensystems 36, einer Anbringungsposition der Ablage 30 in Bezug auf den Drehkörper 2 (in diesem Fall kann die Anbringungsposition anhand eines Radius R des Umfangs 26 berechnet werden) und eines Drehwinkels 0 der ersten Drehachse 22 berechnet werden. Bei der Ausführungsform ist die Ablage 30 dazu eingerichtet, dass sie stets in einer konstanten Ausrichtung gehalten wird (in diesem Fall wird die Befestigungsfläche 34 stets im horizontalen Zustand gehalten), und ist die Ausrichtung (Stellung) des zweiten Koordinatensystems 38 konstant, unabhängig von der Position des Ursprungs davon.
-
Im nächsten Schritt S3 wird eine Lehrposition des Roboters 10 im Referenzkoordinatensystem 40 unter Verwendung einer Lehrposition 50 berechnet, die zuvor im zweiten Koordinatensystem 38 gelehrt wurde. In dieser Hinsicht wurde in Schritt S2 die Positionsbeziehung zwischen dem ersten Koordinatensystem 36 und dem zweiten Koordinatensystem 38 berechnet und kann die Positionsbeziehung zwischen dem ersten Koordinatensystem 36 und dem Referenzkoordinatensystem 40 auf Basis der Position der ersten Drehachse 22 und der Installationsposition des Roboters 10 berechnet werden. Aus diesem Grund können die Lehrposition und - ausrichtung im (orthogonalen) Referenzkoordinatensystem 40 auf Basis der Lehrposition und -ausrichtung im zweiten Koordinatensystem 38 berechnet werden.
-
Im nächsten Schritt S4 wird der Drehwinkel jeder Achse des Roboters 10 durch Ausführen einer inversen Transformation unter Verwendung der Lehrposition und - ausrichtung im Referenzkoordinatensystem 40 berechnet. Danach wird in Schritt S5 ein Bewegungsbefehl für den Roboter 10 auf Basis der Position jeder Achse zum Umsetzen der Lehrposition und -ausrichtung im Roboterreferenzkoordinatensystem 40 erzeugt und danach wird der Roboter 10 auf Basis des erzeugten Bewegungsbefehls gesteuert (Schritt S6). Der Prozess der Schritte S1 bis S6 kann in vordefinierten (Steuer-)Zeitintervallen wiederholt werden. Dank des obigen Prozesses kann der Roboter 10 die Bewegung (oder den Vorgang) in Bezug auf die Ablage 30 (das Werkstück 32 darauf) korrekt durchführen.
-
4 erläutert die Einstellung des Lehrpunkts gemäß dem Stand der Technik als Vergleichsbeispiel der vorliegenden Offenbarung. Im Stand der Technik werden, wenn der Roboter der Ablage 30 usw. folgen sollte, die drehbewegt wird, die Position und die Ausrichtung des Roboters in Bezug auf das erste Rotationskoordinatensystem 36 gesteuert. Daher wird die Ausrichtung des Roboters an einem Lehrpunkt 50 um einen Winkel geneigt, der dem Drehwinkel θ des ersten Koordinatensystems 36 gleicht. Die Ausrichtung der Ablage 30 wird hingegen stets konstant gehalten und somit muss der Drehwinkel der Ablage 30 in Bezug auf das erste Koordinatensystem 36 berücksichtigt werden, um die Bewegung zum Durchführen des Vorgangs in Bezug auf den Gegenstand auf der Ablage 30 zu lehren, was mühsam und schwierig ist.
-
Wie in 5 gezeigt, nutzt das Robotersystem der vorliegenden Offenbarung im Gegensatz dazu ein zweites Koordinatensystem 38, das dazu eingerichtet ist, dass es gemeinsam mit der repräsentativen Position (z. B. dem Drehzentrum) der Ablage 30 bewegt und in der konstanten Ausrichtung gehalten wird (in diesem Fall im horizontalen Zustand), unabhängig vom Drehwinkel des ersten Koordinatensystems 36, das dazu eingerichtet ist, dass es in Bezug auf das Referenzkoordinatensystem 40 gedreht wird (d. h., die Ausrichtung des zweiten Koordinatensystems 38 wird im Referenzkoordinatensystem 40 nicht verändert). Ferner werden die Position und die Ausrichtung des Roboters 10 auf Basis des zweiten Koordinatensystems 38 gesteuert.
-
Aus diesem Grund kann der Benutzer den Roboter (die Hand) auf einfache Weise ohne Berücksichtigung des Drehwinkels des ersten Koordinatensystems 36 in einer beliebigen Position der Ablage 30 lehren.
-
Wie bei der Fördervorrichtung 20, die die Ablage 30 der vorliegenden Offenbarung umfasst, kann die Bewegung des Roboters 10, wenn die Position oder die Ausrichtung der Ablage 30 in Bezug auf den Drehkörper 24 verändert wird, der Ablage 30 nicht korrekt folgen, wenn nur ein Koordinatensystem (in diesem Fall das erste Koordinatensystem 36) verwendet wird. Angesichts des Vorstehenden wird das zweite Koordinatensystem 38 in Bezug auf die Ablage 30 definiert und wird die Bewegung und/oder das Lehren des Roboters auf dem zweiten Koordinatensystem 38 durchgeführt. In dieser Hinsicht muss, wenn die Ablage 30 (oder das zweite Koordinatensystem 38) beliebig gedreht werden kann, ein Geber usw. verwendet werden, um die Drehposition der Ablage zu erkennen.
-
Aus diesem Grund gleichen die Drehbeträge (oder die absoluten Werte der Drehwinkel) des ersten Koordinatensystems 36 und des zweiten Koordinatensystems 38 einander, wenn davon ausgegangen wird, dass die erste Drehachse 22 und die zweite Drehachse 28 parallel zueinander verlaufen und die Ausrichtung der Ablage 30 unveränderbar ist. Demgemäß kann eine Höhe der Berechnung der Steuerung 12 bei der vorliegenden Offenbarung signifikant verringert werden, indem das zweite Koordinatensystem 38 einfach ohne eine andere Vorrichtung wie z. B. einen Geber usw. eingestellt wird.
-
6 zeigt ein Beispiel, bei dem der Ursprung des zweiten Koordinatensystems 38 auf eine Position eingestellt ist, die sich von jener von 2 unterscheidet. In 2 befindet sich der Ursprung des zweiten Koordinatensystems 38 auf der zweiten Drehachse 28. Wie hingegen in 6 beispielhaft veranschaulicht, kann der Ursprung des zweiten Koordinatensystems 38, wenn die Ablage 30 unter Verwendung eines riemenförmigen Gegenstands 52 wie z. B. eines Drahts vom Umfangsteil 26 des Drehkörpers herabhängt, so dass das Drehzentrum der Ablage 30 nicht in oder auf der Ablage 30 ist, vom Drehzentrum 28 der Ablage 30 getrennt (versetzt) sein. Spezifisch gesagt kann das zweite Koordinatensystem 38 so definiert werden, dass der Ursprung des zweiten Koordinatensystems 38 auf der Befestigungsfläche 34 der Ablage 30 positioniert ist. In einem solchen Fall kann der Bediener das Lehren des Roboters 10 auf Basis der Position auf der Ablage 30 durchführen und kann die Position des Lehrpunkts 50 auf einfache Weise prüfen.
-
Außerdem können zweite Koordinatensysteme 38 in Bezug auf alle Ablagen jeweils vorab eingestellt oder definiert werden. Andernfalls werden sie ggf. nur in Bezug auf die Ablage eingestellt, die innerhalb eines Bewegungsbereichs (oder eines Betriebsbereichs) des Roboters 10 positioniert ist. Wenn die zweiten Koordinatensysteme 38 jeweils in Bezug auf die Mehrzahl von Ablagen eingestellt werden, erzeugt der Bewegungsbefehlerzeugungsabschnitt einen Bewegungsbefehl zum Steuern des Roboters, um einen Vorgang durchzuführen, der gleichzeitig mit der Mehrzahl von Ablagen assoziiert ist. Beispielsweise kann der Roboter das Werkstück durch den Bewegungsbefehl auf einer Ablage greifen und das gegriffene Werkstück auf die andere Ablage bewegen.
-
Gemäß der vorliegenden Offenbarung kann der Bewegungsbefehl für den Roboter zum Durchführen des Vorgangs in Bezug auf die Ablage mit der unveränderbaren Ausrichtung auf einfache Weise erzeugt werden.