-
Die vorliegende Erfindung betrifft ein Verfahren und eine Steuerung zum Steuern eines Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
-
Roboter sollen Aufgaben ausführen, beispielsweise mit einer roboterfesten Referenz wie dem TCP eine vorgegebene Bahn abfahren.
-
Dabei ist es bekannt, Roboter nachgiebig zu regeln, insbesondere mittels einer Impedanzregelung, bei der ein Masse-Feder-Dämpfer-Verhalten mit einer virtuellen Feder zu einem Ziel-Punkt simuliert wird, der dann beispielsweise auf der vorgegebene Bahn verfährt.
-
Solche Roboter können dabei durch Hindernisse bzw. Bedienpersonal aufgehalten werden. Nachteilig steigen dabei aufgrund der sich zunehmend spannenden virtuellen Feder die Antriebskräfte, mit denen der Roboter versucht, die Bahn weiter abzufahren und entsprechend gegen Hindernis bzw. Bedienpersonal arbeitet.
-
In dem Artikel O. Khatib, „A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation", (IEEE Journal of Robotics and AutomationVol. RA-3, No. 1, Februar 1987, ISSN 0882-4967, S. 43-53) wird eine sogenannte Aufgabenraumregelung („Operational Space Control“) vorgeschlagen, bei der eine Soll-Rückführgeschwindigkeit ẋd zu einem Ziel-Punkt xd in einem Aufgabenraum des Roboters auf einen vorgegebenen Betrag Vmax begrenzt wird.
-
Um damit eine vorgegebene Trajektorie im Aufgabenraum abzufahren, muss dieser Betrag Vmax ausreichend hoch vorgegeben werden. Daraus resultieren bei großen Schleppfehlern, beispielsweise infolge einer absichtlichen Entfernung von der Trajektorie durch entsprechendes Handführen des Roboters durch Bedienpersonal, entsprechend große Antriebskräfte, mit denen der Roboter versucht, zur Trajektorie zurückzukehren und entsprechend gegen das Bedienpersonal arbeitet.
-
Ein aus der
DE 10 2016 014 989 A1 bekanntes Verfahren zur Kollisionsüberwachung eines Roboters umfasst die Schritte: Ermitteln eines Ist-Wertes einer Achslast wenigstens einer Achse des Roboters, und Feststellen einer Kollision des Roboters, falls eine Abweichung zwischen diesem Ist-Wert und einem Referenzwert der Achslast einen Grenzwert übersteigt, wobei der Grenzwert in Abhängigkeit von wenigstens einer vorhergehenden Abweichung zwischen Ist- und Referenzwert und/oder wenigstens einem vorhergehenden Referenzwert und/oder der Referenzwert in Abhängigkeit von einem vorhergehenden Ist-Wert ermittelt wird.
-
Ein aus der
DE 10 2014 019 187 A1 bekanntes Verfahren zum Steuern einer Antriebsanordnung mit wenigstens einem Antrieb zum Bewegen eines Werkzeugs umfasst die Schritte: Erfassen einer Kenngröße, die einen Schleppfehler und/oder eine Leistung und/oder deren Änderung aufweist; Erfassen eines Überschreitens eines ersten Schwellwertes durch die Kenngröße; und Erfassen eines Kontakts des Werkzeugs auf Basis des Überschreitens des ersten Schwellwertes.
-
Die
DE 10 2011 003 539 A1 betrifft ein Verfahren zum Referenzieren einer Antriebsstellung eines elektrischen Antriebs wenigstens einer Zangenhälfte einen zweier Zangenhälften und ein System einer Fertigungszange und einer jeweiligen Steuervorrichtung zum Betätigen der Fertigungszange, die eingerichtet ist, ein Verfahren solches durchzuführen.
-
Die
DE 10 2010 000 101 A1 betrifft einen Regler sowie ein Regelungsverfahren. Dabei ist ein Regler zur Ansteuerung wenigstens eines Stellglieds in einer Regelungsanordnung unter Erzeugung einer Stellgröße, zur Reduzierung einer Regelabweichung zwischen einem Istwert einer Regelgröße und einem Sollwert dieser Regelgröße, dazu ausgelegt, die Stellgröße basierend auf einer Multiplikation des Sollwertes mit einem Verstärkungsfaktor zu erzeugen.
-
DE 10 2008 024 950 A1 offenbart ein Verfahren zur Steuerung eines Manipulators, das die Schritte umfasst: Überwachen eines Fehlerkriteriums und Erfassen einer Überschreitungsposition, wenn das Fehlerkriterium erfüllt ist; und automatisches Verfahren des Manipulators in die Freiposition auf Basis der erfassten Überschreitungsposition, wenn das Fehlerkriterium erfüllt ist.
-
Aufgabe der vorliegenden Erfindung ist es, den Betrieb eines Roboters zu verbessern, insbesondere einen oder mehrere der vorgenannten Nachteile zu reduzieren.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen eine Steuerung bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Steuern eines Roboters den Schritt auf:
- - Kommandieren von Antrieben des Roboters zum Anfahren wenigstens eines vorgegebenen Ziel-Punktes, insbesondere mehrerer, insbesondere aufeinanderfolgender, Ziel-Punkte, in einem Aufgabenraum des Roboters.
-
Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben (Bewegungs)Achsen bzw. Gelenke auf, die durch die Antriebe verstell- bzw. bewegbar sind bzw. verstellt bzw. bewegt werden. Die Antriebe können insbesondere Elektromotoren aufweisen. Bei solchen Robotern wird die vorliegende Erfindung mit besonderem Vorteil verwendet.
-
Ein Ziel-Punkt xd in einem Aufgabenraum des Roboters kann in einer Ausführung eine ein-, zwei- oder dreidimensionale Soll-Position und/oder ein-, zwei- oder dreidimensionale Soll-Orientierung einer oder mehrerer roboterfester Referenzen, insbesondere also eine oder mehrere kartesische Soll-Koordinaten, Soll-Euler- oder Kardan-Winkel, Soll-Quaterionen des TCPs oder dergleichen, eine Soll-Stellung einer oder mehrerer Achsen des Roboters, insbesondere also Soll-Achs- bzw. Gelenkkoordinaten, insbesondere -winkel, oder dergleichen aufweisen, insbesondere hierdurch definiert sein bzw. diese definieren. Der Aufgabenraum ist entsprechend in fachüblicher Weise ein Raum, in dem solche Punkte liegen (können), beispielsweise also für zweidimensionale Soll-Positionen [xd , yd]T ein Unterraum des kartesischen Raums.
-
Ein Kommandieren von Antrieben umfasst in einer Ausführung die Vorgabe von Soll-Antriebskräften bzw. -momenten τ und/oder Soll-Achstellungen
qd . Die Aufgaben-Jacobimatrix
Jt transformiert den Achs- in den Aufgabenraum:
-
Nach einer Ausführung der vorliegenden Erfindung wird der momentan(anzufahrend)e bzw. aktuell(anzufahrend)e Ziel-Punkt nur verändert, insbesondere aktualisiert, falls ein Schleppfehler
e zu diesem Ziel-Punkt eine vorgegebene Schwelle E unterschreitet. Der Schleppfehler
e hängt in einer Ausführung von einer Norm, insbesondere euklidischen bzw. Betragsnorm, einer Differenz zwischen einem aktuellen (Ist-)Punkt
x(t) des Roboters im Aufgabenraum und dem Ziel-Punkt
xd ab, er kann insbesondere hierdurch definiert sein bzw. diese definieren:
-
Mit anderen Worten wird in einer Ausführung das Abfahren einer (durch Ziel-Punkte) vorgegebenen Trajektorie im Aufgabenraum gestoppt, falls bzw. solange der Schleppfehler die vorgegebene Schwelle nicht unterschreitet. Hierzu kann in einer Ausführung eine Trajektorie bzw. Menge nacheinander anzufahrender Ziel-Punkte xd,i im Aufgabenraum vorgegeben sein bzw. werden, insbesondere in Form einer diskreten Punktfolge {xd,1 , xd,2 , xd,3 , ...}, einer Funktion oder dergleichen, wobei jeweils ein nächster dieser nacheinander anzufahrenden Ziel-Punkte xd,k+1 nur als neuer Ziel-Punkt vorgegeben wird, falls der Schleppfehler zu dem momentan(anzufahrend)en bzw. aktuell(anzufahrend)en Ziel-Punkt xd,k die vorgegebene Schwelle unterschreitet.
-
Damit kann in einer Ausführung bei einer Behinderung des Roboters durch ein Hindernis bzw. Bedienpersonal ein Anstieg von Antriebskräften, mit denen der Roboter versucht, trotzdem eine vorgegebene Trajektorie im Aufgabenraum (weiter) abzufahren, reduziert, insbesondere limitiert werden. In einer Ausführung wird die vorgegebene Trajektorie im Aufgabenraum somit zeitinvariant gemacht.
-
Zusätzlich oder alternativ zu diesem Aspekt, das Abfahren der vorgegebenen Trajektorie im Aufgabenraum zu stoppen, solange der Schleppfehler zu groß ist, wird nach einer Ausführung der vorliegenden Erfindung eine Soll-Rückführgeschwindigkeit zu dem (momentan) anzufahrenden Ziel-Punkt im Aufgabenraum für einen ersten Schleppfehler zu diesem Ziel-Punkt auf einen größeren Betrag begrenzt als für einen zweiten Schleppfehler, der größer als der erste Schleppfehler ist.
-
Dabei wird in einer Ausführung die Soll-Rückführgeschwindigkeit auf Basis bzw. in Abhängigkeit von einer Differenz bzw. Abweichung zwischen dem aktuelle Ist- und dem (momentan) anzufahrenden Ziel-Punkt im Arbeitsraum und/oder der aktuellen Geschwindigkeit im Arbeitsraum unter Berücksichtigung einer (Maximal)Begrenzung vorgegeben, vorzugsweise entsprechend dem eingangs genannten Artikel „A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation“, auf den ergänzend Bezug genommen und dessen Inhalt vollumfänglich in die vorliegende Offenbarung einbezogen wird, insbesondere also, wobei im Aufgabenraum eine Kraft
mit
ermittelt wird, um einen aktuellen Punkt im Arbeitsraum mit einer auf
Vmax begrenzten Soll-Rückführgeschwindigkeit auf den Ziel-Punkt zurückzuführen bzw. den Ziel-Punkt mit dieser begrenzten Soll-Rückführgeschwindigkeit
Vmax anzufahren.
-
Indem nun diese Soll-Rückführgeschwindigkeit für wenigstens einen ersten Schleppfehler
e1 auf einen größeren Betrag begrenzt wird als für einen zweiten Schleppfehler
e2 , der größer als der erste Schleppfehler ist, insbesondere also
kann in einer Ausführung vorteilhaft in der Nähe der Trajektorie eine höhere Soll-Rückführgeschwindigkeit genutzt werden, um die Trajektorie mit einer Soll-Geschwindigkeit abzufahren, und zugleich weiter entfernt von der Trajektorie eine Interaktion von Bedienpersonal mit dem Roboter, insbesondere eine Handführung, verbessert werden. Gleichwohl gewährleistet in einer Ausführung auch die stärker begrenzte Soll-Rückführgeschwindigkeit bei größerem Schleppfehler noch eine Rückkehr des Roboters zur Trajektorie, sobald die Interaktion mit dem Bedienpersonal beendet ist.
-
In einer Ausführung wird der Roboter zum bzw. beim Anfahren des (momentan) anzufahrenden Ziel-Punkts bzw. Abfahren der hierdurch vorgegebenen Trajektorie im Aufgabenraum nachgiebig und/oder kraftgeregelt, insbesondere impedanzgeregelt. Auch hierzu wird ergänzend auf den eingangs genannten Artikel „A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation“ Bezug genommen.
-
Hierdurch kann in einer Ausführung ein Betrieb des Roboters bei Kollision mit einem Hindernis bzw. Interaktion mit Bedienpersonal verbessert werden.
-
In einer Ausführung werden die Antriebe zum Anfahren des anzufahrenden Ziel-Punkts auf einer Geraden im Aufgabenraum des Roboters kommandiert. Hierzu kann in einer Weiterbildung die vorstehend erläuterte Kraft f im Aufgabenraum auf entsprechende Antriebskräfte bzw. -momente transformiert werden, insbesondere gemäß
mit
mit der generalisierten, insbesondere Pseudo-Inversen Aufgaben-Jacobimatrix
J t , den Achskoordinaten q, der Massenmatrix M, dem Vektor c der geschwindigkeits- und positionsabhängigen, insbesondere also Coriolis- und Zentrifugalkräfte und dem Vektor g der positionsabhängigen, insbesondere also Gravitationskräfte des Roboters, für die in einer Ausführung in an sich bekannter Weise gilt:
-
Bei bezüglich der Aufgabe redundanten Robotern können diesen Antriebskräften bzw. -momenten noch entsprechende Nullraumanteile hinzugefügt werden.
-
In einer Ausführung wird die Soll-Rückführgeschwindigkeit unterhalb eines unteren Grenzwertes
Eu für den Schleppfehler auf einen vorgegebenen konstanten ersten Wert V
max,1, oberhalb eines oberen Grenzwertes
Eo für den Schleppfehler auf einen vorgegebenen konstanten zweiten Wert V
max,2 (der in einer Ausführung kleiner als der vorgegebene konstante erste Wert V
max,1 ist) und/oder zwischen dem unteren und oberen Grenzwert durch eine vorgegebene Funktion h(e) begrenzt, die in einer Ausführung den ersten und zweiten Wert stetig differenzierbar miteinander verbindet, insbesondere eine trigonometrische Funktion, beispielsweise
oder dergleichen, d.h.:
-
Hierdurch kann von einem Nahbereich, in dem die Soll-Rückführgeschwindigkeit weniger begrenzt werden soll, um der Trajektorie besser folgen zu können, in einen Fernbereich, in dem die Soll-Rückführgeschwindigkeit stärker begrenzt werden soll, um eine Interaktion mit Bedienpersonal zu erleichtern, in besonders vorteilhafter Weise, insbesondere sanft, übergegangen werden.
-
Nach einer Ausführung der vorliegenden Erfindung ist eine Steuerung, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Kommandieren von Antrieben des Roboters zum Anfahren wenigstens eines vorgegebenen Ziel-Punktes in einem Aufgabenraum des Roboters, sowie Mittel zum Verändern eines momentanen Ziel-Punktes nur, falls ein Schleppfehler zu dem Ziel-Punkt eine vorgegebene Schwelle unterschreitet; und/oder
- Mittel zum Begrenzen einer Soll-Rückführgeschwindigkeit zu dem anzufahrenden Ziel-Punkt im Aufgabenraum für einen ersten Schleppfehler zu dem Ziel-Punkt auf einen größeren Betrag als für einen zweiten Schleppfehler, der größer als der erste Schleppfehler ist.
-
In einer Ausführung weist die Steuerung bzw. ihr(e) Mittel auf:
- Mittel zum nachgiebigen und/oder Kraft-, insbesondere Impedanzregeln des Roboters; und/oder
- Mittel zum Kommandieren der Antriebe zum Anfahren des Ziel-Punkts auf einer Geraden im Aufgabenraum des Roboters; und/oder
- Mittel zum Begrenzen der Soll-Rückführgeschwindigkeit unterhalb eines unteren Grenzwertes für den Schleppfehler auf einen vorgegebenen konstanten ersten Wert, zum Begrenzen der Soll-Rückführgeschwindigkeit oberhalb eines oberen Grenzwertes für den Schleppfehler auf einen vorgegebenen konstanten zweiten Wert und/oder zum Begrenzen der Soll-Rückführgeschwindigkeit zwischen dem unteren und oberen Grenzwert durch eine vorgegebene Funktion, die in einer Ausführung den ersten und zweiten Wert stetig differenzierbar miteinander verbindet.
-
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter steuern bzw. regeln kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
-
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch die Steuerung bzw. ihr(e) Mittel. Unter einem Steuern wird vorliegend insbesondere auch ein Regeln bzw. Kommandieren auf Basis bzw. in Abhängigkeit von Soll- und erfassten Ist-Größen verstanden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: einen Roboter und eine Robotersteuerung zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung; und
- 2: ein Verfahren zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt exemplarisch einen sechsachsigen Roboter 1, dessen Achsstellungen mit q1 ,...,q6 angedeutet sind, und eine Robotersteuerung 2 zum Steuern des Roboters 1 nach einer Ausführung der vorliegenden Erfindung, die hierzu ein in 2 dargestelltes Verfahren durchführt.
-
Der Roboter 1 soll mit seinem TCP eine durch mehrere aufeinanderfolgende Ziel-Punkte vorgegebene Trajektorie abfahren. Im Ausführungsbeispiel sind die Ziel-Punkte exemplarisch kartesische Positionen des TCPs, von denen in 1 ein momentan(anzufahrend)er Ziel-Punkt xd,k und ein darauffolgender Ziel-Punkt xd,k+1 bezeichnet sind. Außerdem ist mit x(t) die aktuelle Ist-Position des TCPs angedeutet, die gegenüber dem momentan(anzufahrend)en Ziel-Punkt xd,k einen Schleppfehler e aufweist.
-
In einem Schritt S10 prüft die Robotersteuerung 2, ob der Schleppfehler zu dem momentan(anzufahrend)en Ziel-Punkt eine vorgegebene Schwelle E unterschreitet. Ist dies der Fall (S10: „Y“), wird der Ziel-Punkt aktualisiert, indem statt des bisherigen Ziel-Punktes xd,k der darauffolgende Ziel-Punkt xd,k+1 als neuer anzufahrender Ziel-Punkt vorgegeben bzw. verwendet wird, und das Verfahren fährt mit Schritt S30 fort. Andernfalls wird der bisherige Ziel-Punkt xd,k beibehalten (S10: „N“) und das Verfahren fährt direkt mit Schritt S30 fort.
-
In Schritt S30 wird gemäß Gl. (9), (10) eine Soll-Rückführgeschwindigkeit Vmax zu dem anzufahrenden Ziel-Punkt in Abhängigkeit von dem Schleppfehler e begrenzt, hieraus gemäß Gl. (3), (4) eine (virtuelle) Soll-Kraft im Aufgabenraum bestimmt, diese gemäß Gl. (6), (7) auf Soll-Antriebsmomente transformiert und die Antriebe mit diesen angesteuert und so zum Anfahren des momentanen Ziel-Punktes kommandiert.
-
Man erkennt zum Einen, dass das Abfahren der Trajektorie gestoppt wird, solange der Schleppfehler zu groß ist (S10: „N“).
-
Zum Anderen wird die Soll-Rückführgeschwindigkeit in der Nähe der Trajektorie weniger stark begrenzt, so dass der Roboter diese mit größeren Geschwindigkeiten abfahren kann, während sie in größerer Entfernung zu der Trajektorie stärker begrenzt wird, so dass Bedienpersonal besser mit dem Roboter interagieren kann.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- Steuerung
- xd,k;xd,k+1
- Ziel-Punkt
- x(t)
- Ist-Punkt des TCPs
- e
- Schleppfehler
- q1,...,q6
- Achsstellung