-
Das Programmieren eines Roboters für eine neue Aufgabe durch Spezifizieren von Raumkoordinaten, die der Roboter zum Abarbeiten der Aufgabe aufzusuchen hat, oder diesen Koordinaten entsprechenden Positionen von Stellgliedern des Roboters ist zeitraubend und wenig intuitiv. Es ist daher schon seit langem bekannt, einen Roboter durch sogenanntes „Leadthrough“ für eine neue Aufgabe anzulernen. Im Leadthrough-Modus ist der Roboter passiv beweglich und kann von einem Benutzer von Hand entlang eines im Rahmen der neuen Aufgabe zurückzulegenden Weges geführt werden. Indem die auf diesem Weg auftretenden Kombinationen von Stellgliedpositionen protokolliert und im späteren Normalbetriebsmodus wieder angefahren werden, kann eine Bewegung des Roboters programmiert werden, ohne dass ein Benutzer dafür Werte von Koordinaten quantitativ spezifizieren muss.
-
Durch Leadthrough kann einem Roboter zwar ein zurückzulegender Weg einfach und effizient beschrieben werden, nicht aber auch Operationen, die der Roboter an einzelnen Punkten dieses Weges ausführen soll, wie etwa das Andrücken eines anzuklebenden Werkstücks, das Setzen einer Schraube, das Greifen eines empfindlichen Werkstücks etc.
-
Aufgabe der vorliegenden Erfindung ist, diesem Missstand wenigstens teilweise abzuhelfen.
-
Die Aufgabe wird erfindungsgemäß gelöst, indem bei einem Roboter mit einem Kopf, wenigstens einem Stellglied zum Bewegen des Kopfes und einer Steuereinheit, die eingerichtet ist, um in einem Normalbetriebsmodus das wenigstens eine Stellglied so anzusteuern, dass der Kopf ein in einem vorhergehenden Anlernbetriebsmodus erlerntes Manöver wiederholt, der Roboter ferner mit einer Sensorik zum Erfassen einer in dem Anlernbetriebsmodus von außen auf den Kopf ausgeübten Solllast ausgestattet ist und die Steuereinheit eingerichtet ist, das wenigstens eine Stellglied im Normalbetriebsmodus so anzusteuern, dass der Kopf diese Solllast auf ein Werkstück ausübt. So kann der Benutzer beispielsweise beim Greifen eines empfindlichen Werkstücks Backen eines Greifers des Roboters von Hand an das Werkstück drücken und dabei in der Regel schnell und intuitiv einen Wert der Andrückkraft für die Backen finden, der reicht, um das Werkstück sicher zu halten und gleichzeitig niedrig genug ist um es nicht zu beschädigen. Mit welcher Kraft ein Bohrer gegen ein Werkstück gedrückt werden muss, um zügig zu bohren, kann der Benutzer meist auch intuitiv problemlos erkennen, wenn er es selber ist, einen Roboterkopf mit darin drehangetriebenem Bohrer gegen das Werkstück drückt.
-
Vorzugsweise ist die Steuereinheit nicht nur eingerichtet, im Anlernbetriebsmodus die Solllast zu erfassen, sondern auch einen Bearbeitungsort, an der Benutzer die Solllast auf den Kopf ausübt. So kann die Steuereinheit im Normalbetriebsmodus genau dann das wenigstens eine Stellglied so anzusteuern, dass der Kopf die Solllast auf das Werkstück ausübt, wenn sich der Kopf an dem Bearbeitungsort befindet. So lernt die Steuereinheit nicht nur die Größe der auf das Werkstück auszuübenden Last, sondern auch, an welchem Ort diese Last ausgeübt werden soll, ohne dass es dazu einer Festlegung von expliziten Zahlenwerten für die auszuübende Last oder den Ort der Lastausübung durch den Benutzer bedarf.
-
Bei der Sollast kann es sich insbesondere um eine Kraft oder ein Drehmoment handeln, die/das vom Roboter auf das Werkstück ausgeübt werden soll.
-
Einer ersten Ausgestaltung zufolge umfasst die Sensorik einen Lastsensor, der an einer Werkzeugspitze des Kopfes oder zwischen einer Werkzeugspitze und einem Handhabungsabschnitt des Kopfes angeordnet ist. Wenn der Benutzer am Handhabungsabschnitt angreift und die Werkzeugspitze gegen das Werkstück drückt, kann er die Wirkung der Kraft auf das Werkstück unmittelbar beobachten, und auf die Beobachtung gestützt eine angemessene Kraft auf den Kopf ausüben.
-
Bei dieser Ausgestaltung kann die Steuereinheit im Anlernbetriebsmodus erkennen, dass der Kopf einen Bearbeitungsort erreicht hat, wenn die von dem Lastsensor gemessene Last plötzlich, durch Kontakt der Werkzeugspitze mit dem Werkstück, auf einen von Null verschiedenen Wert springt. Es ist daher keine weitere Benutzereingabe nötig, damit die Steuereinheit einen Bearbeitungsort identifizieren kann, und das Erlernen der auszuübenden Last kann zusammen mit dem Erlernen der Bewegung zum Bearbeitungsort und/oder weg von diesem in einem durchgehenden Bewegungsablauf erlernt werden.
-
Die mit dem Einbau eines dedizierten Lastsensors am Kopf können einer zweiten Ausgestaltung zufolge vermieden werden, wenn die Sensorik zu jedem Stellglied einen Lastsensor umfasst, der eingerichtet ist, eine Last des Stellgliedes zu messen, die erforderlich ist, um den Kopf entgegen der von außen wirkenden Last in Ruhe zu halten. Dann kann die Messung der vom Benutzer ausgeübten Last erfolgen, indem die zum Kompensieren dieser Last erforderliche Last der Stellglieder ermittelt wird. Dabei würde allerdings ein Kontakt des Kopfes mit dem Werkstück die Messung verfälschen; deswegen sollte zum Zeitpunkt der Messung kein Werkstück im Wege sein. Dadurch entfällt aber auch die oben angesprochene Möglichkeit, das Erreichen des Bearbeitungsorts anhand eines Kontakts mit dem Werkstück zu erkennen. Der Benutzer kann daher eine manuelle Eingabe vornehmen, um der Steuereinheit das Erreichen des Bearbeitungsorts anzuzeigen. Denkbar ist auch, ein Leadthrough in zwei Phasen durchzuführen, wobei in einer ersten Phase nur die Bewegungen und die Lage des Bearbeitungsorts erlernt werden. In dieser ersten Phase kann ein Werkstück platziert sein, so dass die Lage des Bearbeitungsorts anhand eines Kontakts zwischen Kopf und Werkstück schnell und eindeutig erkennbar ist, während in der zweiten Phase das Werkstück entfernt sein kann, und ein erneutes Erreichen der Bearbeitungsposition in dieser Phase anhand der Positionen der Stellglieder des Roboters erkennbar ist.
-
Gegenstand der Erfindung ist ferner ein Computerprogrammprodukt mit auf einem Träger maschinenlesbar gespeicherten Befehlen, die, wenn sie von einem Computer ausgeführt werden, diesen befähigen, als die oben beschriebene Steuereinheit arbeiten.
-
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren. Es zeigen:
- 1 eine schematische Draufsicht auf einen Roboter gemäß einer ersten Ausgestaltung der Erfindung; und
- 2 und 3 einen Bewegungsablauf beim Anlernen eines Roboters gemäß der Erfindung; und
- 4 einen Roboter gemäß einer zweiten Ausgestaltung der Erfindung.
-
1 zeigt schematisch einen Roboter 1 mit einer ortsfesten Basis 2, einem Arm 3, dessen mehrere Glieder untereinander und mit der Basis 2 über Gelenke 4 verbunden sind, und Kopf 5 am distalen Ende des Arms 3, der als Endeffektor einen Greifer trägt. Jedem Gelenk 4 des Arms 3 und des Endeffektors ist ein Stellglied 13 zugeordnet, das von einer Bewegungssteuereinheit 11 zum Antreiben einer Bewegung im Freiheitsgrad des Gelenks 4 steuerbar ist.
-
Der Roboter 1 soll beispielsweise angelernt werden, um Werkstücke 8 aus einem Behälter 9 zu entnehmen und sie in Aussparungen 14 von Werkstücken 6 auf einem Förderband 7 zu stecken. Der Greifer muss die Werkstücke 8 einerseits fest genug greifen, um einen Reibungswiderstand beim Einstecken in die zu Aussparungen 14 überwinden, andererseits aber auch nicht so fest, dass sie zwischen den Klemmbacken 10 des Greifers zerdrückt werden.
-
Um den Roboter 1 anzulernen, wird die Bewegungssteuereinheit 11 in einen Anlernbetriebsmodus versetzt, in dem die Stellglieder 13 jeweils angesteuert sind, um das Gewicht der von ihnen gestützten Glieder des Arms 3 zu kompensieren, ansonsten aber einer von außen auf den Arm 3 einwirkenden Kraft keinen Widerstand entgegenzusetzen. Dies erlaubt es einem Benutzer, den Kopf 5 zu fassen, ihn zu einem der Werkstücke 8 im Behälter 9 zu führen und seine Klemmbacken 10 beiderseits des Werkstücks 8 zu platzieren, wie in 2A skizziert.
-
Ein Kraftsensor 12 ist an einer Innenseite einer der beiden Klemmbacken 10 angebracht und mit der Bewegungssteuereinheit 11 verbunden, um jeweils erfasste Werte einer Klemmkraft an die Bewegungssteuereinheit 11 zu melden. Solange nicht beide Klemmbacken 10 an dem Werkstück anliegen, ist diese Kraft im Wesentlichen Null. Wenn der Benutzer den Kopf 5 korrekt platziert hat, drückt er dessen Klemmbacken 10 gegeneinander, um das Werkstück zwischen den Klemmbacken 10 zu fassen. Anhand des daraus resultierenden abrupten Anstiegs der vom Kraftsensor 12 gemessenen Kraft erkennt die Bewegungssteuereinheit 11, dass eine erste Bearbeitungsposition erreicht ist, und zeichnet neben der Position des Roboters 1 auch einen Wert der Klemmkraft auf. Dieser Wert kann ein Mittelwert der von Benutzer über eine vorgegebene Zeitspanne ausgeübten Kraft sein, oder ein Wert, der kurz vor einem Loslassen der Klemmbacken 10 gemessen wird und von dem deshalb angenommen werden kann, dass er der von Benutzer gewünschten Klemmkraft hinreichend genau entspricht, oder ein Wert der Klemmkraft, der gemessen wird, kurz bevor der Benutzer den Kopf 5 von der Bearbeitungsposition wegführt. Da die Klemmbacken 10 dem vom Benutzer ausgeübten Druck im Wesentlichen widerstandslos nachgeben, entspricht die vom Kraftsensor 12 gemessene Kraft der vom Benutzer ausgeübten.
-
Nach dem Greifen des Werkstücks 8 führt der Benutzer den Kopf 5 zu dem Werkstück 6, an dem das Werkstück 8 montiert werden soll, s. 2B. Im Laufe der Bewegung dorthin muss das Werkstück 8 geklemmt bleiben, um nicht herunterzufallen; der dabei vom Benutzer aufrechterhaltene Klemmdruck wird ebenfalls gemessen und aufgezeichnet, genauso wie derjenige, den der Benutzer am Ort des Werkstücks 6 ausübt, um zu verhindern, dass das Werkstück 8 beim Einstecken in dessen Aussparung 14 zwischen den Klemmbacken 10 wegrutscht. Nach erfolgreichem Einstecken kann der Benutzer die Klemmbacken loslassen, und die vom Kraftsensor 12 gemessene Kraft wird wieder Null. Anhand der im Laufe der Bewegung aufgezeichneten Daten ist die Bewegungssteuereinheit 11 in der Lage, in einem anschließenden Normalbetriebsmodus nicht nur die Bewegung des Kopfs vom Behälter 9 zum Werkstück 6 sondern auch die im Laufe dieser Bewegung, einschließlich des Einsteckens, ausgeübte Klemmkraft zu reproduzieren.
-
Um auch die beim Einstecken des Werkstücks 8 in das Werkstück 6 in Steckrichtung ausgeübte Kraft messen zu können, müsste der Kraftsensor 12 nicht nur für die senkrecht zur Oberfläche der Klemmbacken 10 wirkende Klemmkraft, sondern auch für eine oberflächenparallele Komponente empfindlich sein.
-
Um einen solchen Sensor überflüssig zu machen, wird die Arbeitsweise der Bewegungssteuereinheit im Anlernbetriebsmodus verändert: in einer ersten Phase führt der Benutzer den Greifer wie oben beschrieben zunächst zum Behälter 9, um dort ein Werkstück 8 aufzunehmen und von dort zum Werkstück 7 auf dem Förderband 6, und die Bewegungssteuereinheit zeichnet die dabei durchlaufenen Stellungen des Arms 3 und des Greifers auf, um sie später im Normalbetriebsmodus reproduzieren zu können. Ohne den Kraftsensor 12 am Greifer ist es nicht möglich, in der Stellung des Greifers am Behälter (2A) zu unterscheiden, ob der vom Benutzer eingestellte Abstand zwischen den Klemmbacken 10 willkürlich oder durch die Klemmung eines Werkstücks 8 zwischen den Klemmbacken 10 vorgegeben ist. Um einen im Laufe der ersten Phase von dem Roboter 1 durchlaufenen Ort als Bearbeitungsort zu kennzeichnen, kann der Bewegungssteuereinheit 11 ein Eingabeinstrument zugeordnet sein, das vom Benutzer bei Erreichen eines Bearbeitungsorts betätigt werden muss.
-
Mit den in der ersten Phase des Anlernbetriebsmodus aufgezeichneten Daten ist es folglich zwar möglich, die Bewegung des Kopfs 5 vom Behälter 9 zum Werkstück 7 zu steuern, nicht aber die Klemmung des Werkstücks 8 durch dessen Klemmbacken 10.
-
In einer zweiten Phase des Anlernbetriebsmodus reproduziert die Bewegungssteuereinheit 11 die in der ersten Phase angelernte Bewegung bis hin zum ersten Bearbeitungsort, indem sie den Kopf 5 an die erlernte Stellung am Behälter 9 lenkt, den erlernten Abstand zwischen den Klemmbacken 10 einstellt und dann die Bewegung des Roboters 1 stoppt. Allerdings ist in diesem Fall (3A) der Zwischenraum zwischen den Klemmbacken 10 leer, so dass die Klemmbacken 10 nachgeben könnten, wenn sie vom Benutzer aufeinander zu gedrückt werden. Wenn dies geschieht, erkennt die Bewegungssteuereinheit 11 eine daraus resultierende Abweichung vom erlernten Abstand und steuert ein (nicht dargestelltes) Stellglied der Klemmbacken 10 an, um diese auseinanderzuspreizen. Eine dafür benötigte Leistung des den Klemmbacken 10 zugeordneten Stellgliedes wird von einem Messinstrument 15 der Bewegungssteuereinheit 11 erfasst und aufgezeichnet. Sie ist proportional zu der Kraft, die der Benutzer auf die Außenseiten 21 der Klemmbacken 10 ausübt; wenn daher die Bewegungssteuereinheit 11 das Stellglied im Normalbetriebsmodus mit derselben Leistung ansteuert, um die Klemmbacken 10 aufeinander zu zu bewegen, dann resultiert daraus eine Klemmkraft auf das zwischen den Klemmbacken 10 befindliche Werkstück 8, die der zuvor in der Anlernphase vom Benutzer auf die Klemmbacken 10 ausgeübten Kraft entspricht.
-
Eine analoge Situation ergibt sich beim Anfahren des Werkstücks 6 durch den Roboter 1 und beim Einstecken des Werkstücks 7 in die Aussparung 14: indem der Benutzer hier in der Anlernphase die Klemmbacken 10 zusammendrückt und die Bewegungssteuereinheit 11 gegensteuert, erfasst die Bewegungssteuereinheit 11 die vom Benutzer ausgeübte Klemmkraft. Wenn die Bearbeitungsstelle am Werkstück 6 erreicht ist, drückt der Benutzer den Kopf 5 abwärts, entsprechend der Bewegung, die der Kopf 5 ausführen müsste, um ein Werkstück 8, wenn es zwischen seinen Klemmbacken 10 gehalten wäre, in die Aussparung 14 des Werkstücks 6 einzustecken. Auch diese Kraft führt zu einer Auslenkung des Roboters 1 aus der in der ersten Phase erlernten Sollposition, und die Bewegungssteuereinheit 11 wirkt dieser Auslenkung durch entsprechende Ansteuerung der Stellglieder 13 des Arms 3 entgegen. Die dafür benötigte Leistung wird aufgezeichnet, um in der Normalbetriebsphase das Werkstück 8 mit derselben Leistung in die Aussparung 14 hineinzudrücken.
-
Das oben beschriebene Konzept, die von einem Benutzer im Anlernbetriebsmodus ausgeübte Kraft zu erfassen und sie im Normalbetriebsmodus zu reproduzieren, ist auf zahlreiche andere Typen von Endeffektoren übertragbar. Z.B. können Schweißzangen in gleicher Weise wie die Klemmbacken eine Klemmkraft von entgegengesetzten Seiten her auf das Werkstück ausüben. Bei einseitig Kraft ausübenden Werkzeuge wie etwa einem Applikator für klebende Werkstücke kann ein Anpressdruck in gleicher Weise programmiert werden.
-
4 zeigt schematisch einen Kopf 5 eines Roboterarms mit einem als rotierendes Werkzeug ausgebildeten Endeffektor. Ein am Arm 3 befestigter Motor 16 treibt eine Welle 17 an die ein - hier mit einem Bohrer als Werkzeug 19 bestücktes - Spannfutter 18 trägt. Ein Wälzlager 20 ist angeordnet, um die beim Bohren auf das Spannfutter 18 wirkende axiale Kraft aufzunehmen, und über den Kraftsensor 12 messbar zu machen. Im Anlernbetriebsmodus ist der Roboter benutzbar wie eine Handbohrmaschine: indem der Benutzer mit der Hand auf eine vom Werkzeug 19 abgewandte Oberfläche 22 des Kopfes 5 drückt, bestimmt er den Anpressdruck des Werkzeugs 19 auf die Oberfläche eines Werkstücks 6; das Drehmoment des Werkzeugs kann ebenfalls vom Benutzer über einen mit der Bewegungssteuereinheit 11 verbundenen Regler vorgegeben sein.
-
So kann im Anlernbetriebsmodus der Benutzer ein Werkstück real bearbeiten und dabei eine passende Paarung von Drehmoment und Anpressdruck ermitteln; indem die Bewegungssteuereinheit 11 die eingestellten Werte von Drehmoment und Anpressdruck aufzeichnet, kann sie diese im Normalbetriebsmodus reproduzieren.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- Basis
- 3
- Arm
- 4
- Gelenk
- 5
- Kopf
- 6
- Werkstück
- 7
- Förderband
- 8
- Werkstück
- 9
- Behälter
- 10
- Klemmbacken
- 11
- Bewegungssteuereinheit
- 12
- Kraftsensor
- 13
- Stellglied
- 14
- Aussparung
- 15
- Messinstrument
- 16
- Motor
- 17
- Welle
- 18
- Spannfutter
- 19
- Werkzeug
- 20
- Wälzlager
- 21
- Außenseite
- 22
- Oberfläche