-
Die vorliegende Erfindung betrifft ein Verfahren und eine Steuerung zum Steuern eines Roboters, ein System mit dem Roboter und der Steuerung sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
-
Bei admittanzgeregeltem Handführen von Robotern wird aus einer extern auf den Roboter aufgeprägten Führungskraft
fext eine kartesische Geschwindigkeit ẋ
d ermittelt, beispielsweise auf Grundlage einer virtuellen Masse-Feder- und/oder -Dämpfer-Charakteristik oder dergleichen:
-
Dabei kann eine kartesische Beschränkung wie etwa eine fixe Orientierung oder Position, eine Einschränkung auf Bewegungen längs einer Geraden oder Ebene oder dergleichen, priorisiert werden, indem eine Handführ-Jacobimatrix J
hg, die die Achsgeschwindigkeiten q̇ auf die kartesische Geschwindigkeit ẋ einer roboterfesten Referenz, insbesondere eines Arbeitspunktes, insbesondere des TCPs, abbildet
mit dem Nullraumoperator N in den Nullraum der kartesischen Beschränkung projiziert wird
mit der (generalisierten bzw. Pseudo)lnversen ()
†.
-
Beim Handführen kann es jedoch zu einem ungewollten Überschreiten einer vorgegebenen Achsstellungs-, Achsgeschwindigkeits- und/oder Achsbeschleunigungsbegrenzung
kommen.
-
Aufgabe der vorliegenden Erfindung ist es, einen handgeführten Betrieb eines Roboters zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 6 - 8 stellen eine Steuerung, ein System bzw. ein Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung wird auf Basis einer, insbesondere manuell bzw. durch Bedienpersonal, extern auf den Roboter aufgeprägten Führungskraft eine vorliegend ohne Beschränkung der Allgemeinheit als Folgebewegung bezeichnete gewünschte, insbesondere kartesische, Bewegung ermittelt, in einer Ausführung auf Basis bzw. mithilfe einer Admittanzregelung, beispielsweise nach Gl. (1), wobei eine oder zwei von der Massenmatrix Madm, der Federmatrix Padm und der Dämpfungsmatrix Dadm auch gleich Null sein können oder die Folgebewegung in anderer Weise von der Führungskraft abhängen kann.
-
Die Führungskraft wird in einer Ausführung auf Basis erfasster Kräfte an einem Führungslied und/oder auf Basis erfasster Kräfte an Achsen, insbesondere Antrieben, des Roboters ermittelt, in einer Ausführung auf Basis eines dynamischen Modells des Roboters. Zur kompakteren Darstellung werden vorliegend auch antiparallele Kräftepaare bzw. Drehmomente verallgemeinernd als Kräfte im Sinne der vorliegenden Erfindung bezeichnet.
-
Die Folgebewegung kann in einer Ausführung eine ein- zwei- oder dreidimensionale Translation und/oder Rotation einer roboterfesten Referenz, insbesondere eines Arbeitspunktes des Roboters, insbesondere seines TCPs, in dessen Arbeitsraum aufweisen, insbesondere sein.
-
Auf Basis der Folgebewegung Ẋd wird nach einer Ausführung der vorliegenden Erfindung eine, wiederum in einer Ausführung kartesische, Soll-Bewegung Ẋf derart bzw. mit der Maßgabe ermittelt, dass eine Abweichung zwischen einer Richtung dieser Soll-Bewegung und einer Richtung der ermittelten Folgebewegung bei Annäherung an eine, insbesondere steuerungstechnisch, vorgegebene Achsstellungs-, Achsgeschwindigkeits- und/oder Achsbeschleunigungsbegrenzung vergrößert wird. Die Soll-Bewegung kann in einer Ausführung wiederum eine ein- zwei- oder dreidimensionale Translation und/oder Rotation der roboterfesten Referenz, insbesondere des Arbeitspunktes bzw. TCPs aufweisen, insbesondere sein.
-
Somit weist in einer Ausführung die Richtung der Soll-Bewegung ẋf bei einem ersten Abstand zur Begrenzung gegenüber der Richtung der Folgebewegung ẋd eine erste Abweichung auf und bei einem größeren zweiten Abstand zur Begrenzung eine kleinere zweite Abweichung, die insbesondere auch gleich Null sein kann.
-
Die, in einer Ausführung durch die Admittanzregelung ermittelte, Folgebewegung ẋ
d kann für jede Achse i des Roboters in eine Komponente ẋ
d∥ auf die Begrenzung zu und eine hierzu komplementäre Komponente ẋ
d⊥ parallel zur Begrenzung aufgeteilt werden:
wobei Ĵ
i die i. Zeile der (generalisierten bzw. pseudo)inversen Jacobimatrix für die i. Achse des Roboters bezeichnet. Mit anderen Worten kann für jede Achse i mit Ĵ
i eine „kritische“ kartesische Bewegungsrichtung bestimmt werden, die diese Achse in Richtung der Begrenzung bewegt. Dann kann die Folgebewegung ẋ
d in
- - eine Komponente ẋd∥ parallel zu dieser kritischen Bewegungsrichtung (daher der Index ∥) und damit auf die Begrenzung zu und
- - eine Komponente ẋd⊥ senkrecht zu dieser kritischen Bewegungsrichtung (daher der Index⊥) und damit parallel zur Begrenzung
aufgeteilt werden.
-
Indem nun in einer Ausführung bei Annäherung an eine vorgegebene Achsstellungs-, Achsgeschwindigkeits- und/oder Achsbeschleunigungsbegrenzung (nur) diese Komponente ẋ
d∥ der Folgebewegung auf die Begrenzung zu (bzw. parallel zur kritischen Bewegungsrichtung, die die entsprechende Achse in Richtung der Begrenzung bewegt) reduziert und die Komponente ẋ
d⊥ parallel zur Begrenzung beibehalten wird, wird - bei Annäherung an die Begrenzung - eine Abweichung zwischen der Richtung der Soll-Bewegung und der Richtung der Folgebewegung vergrößert:
mit einem Faktor α ∈ [0,1], in einer Ausführung
In einer Ausführung wird an der Begrenzung die Komponente ẋ
d∥ der Folgebewegung auf die Begrenzung zu auf Null reduziert bzw. die Richtung der Soll-Bewegung um 90° gegenüber der Richtung der Folgebewegung verdreht.
-
Auf diese Weise kann in einer Ausführung vorteilhaft die Begrenzung beachtet und zugleich ein Einfrieren an der Begrenzung vermieden werden. Somit kann in einer Ausführung ein Anwender den Roboter vorteilhaft an dessen steuerungstechnischen Achsendanschlägen entlangführen.
-
Eine vorgegebene Achsstellungs- und/oder -beschleunigungsbegrenzung gemäß Gl. (4) kann auf (Achs)Geschwindigkeitsebene formuliert werden, insbesondere gemäß
mit dem Zeit-, insbesondere Abtast- bzw. Regelinkrement T. Allgemein wird in einer Ausführung für wenigstens eine Achse des Roboters eine obere und/oder eine untere Geschwindigkeitsgrenze in Abhängigkeit von einem Abstand zu einem, insbesondere steuerungstechnisch vorgegebenen, Endanschlag und/oder eine vorgegebenen maximal zulässigen Achsbeschleunigung bestimmt bzw. eine Achsgeschwindigkeit in Abhängigkeit von einem Abstand zu einem Achsendanschlag und/oder einer vorgegebenen maximal zulässigen Achsbeschleunigung limitiert.
-
Insbesondere damit kann in einer Ausführung die Begrenzung mit der Abweichung ε zwischen der Soll-Bewegung und der Folgebewegung
ausgedrückt und damit ein Minimierungsproblem der Betragsnorm
unter der Ungleichheitsnebenbedinung
formuliert werden, wobei die Matrix B und der Vektor b für jede Achse i des Roboters eine Reihe für die maximale und eine Reihe für die minimale Geschwindigkeit, d.h. zwei Reihen aufweist:
-
Dieses Minimierungsproblem kann vorteilhafterweise mittels quadratischer Programmierung („QP“) gelöst werden. In einer Ausführung wird die kritische Bewegungsrichtung somit einerseits soweit gedämpft, dass die vorgegebene Begrenzung nicht überschritten wird, andererseits der Roboter der aufgeprägten Führungskraft so gut wie möglich folgt.
-
Die auf diese Weise ermittelte Soll-Bewegung ẋf kann dann an Antriebe des Roboters kommandiert werden, in einer Ausführung nachranging unter Berücksichtigung einer (höher) priorisierten, insbesondere steuerungstechnisch vorgegebenen, kartesischen Beschränkung, insbesondere gemäß Gl. (3) oder auch in anderer Form.
-
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 Ermitteln einer Folgebewegung auf Basis einer extern auf den Roboter aufgeprägten Führungskraft; und
- - Mittel zum Vergrößern einer Abweichung zwischen einer Richtung einer Soll-Bewegung und einer Richtung der ermittelten Folgebewegung bei Annäherung an eine vorgegebene Achsstellungs-, Achsgeschwindigkeits- und/oder Achsbeschleunigungsbegrenzung.
-
In einer Ausführung weist die Steuerung bzw. ihr(e) Mittel auf:
- - Mittel zum Ermitteln der Soll-Bewegung unter Minimierung einer Betragsnorm einer Abweichung zwischen der Soll-Bewegung und der Folgebewegung und/oder unter Reduzierung einer Komponente der Folgebewegung auf die Begrenzung zu, insbesondere unter Beibehaltung einer zur Begrenzung parallelen Komponente der Folgebewegung; und/oder
- - Mittel zum Limitieren einer Achsgeschwindigkeit in Abhängigkeit von einem Abstand zu einem Achsendanschlag und/oder einer vorgegebenen maximal zulässigen Achsbeschleunigung; und/oder
- - Mittel zum Kommandieren von Antrieben des Roboters auf Basis der ermittelten Soll-Bewegung und/oder einer priorisierten kartesischen Beschränkung.
-
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 kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nichtflü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.
-
Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben Achsen bzw. Gelenke, insbesondere Drehachsen bzw. -gelenke, auf, die durch (seine) Antriebe bewegt bzw. verstellt werden. Die vorliegende Erfindung wird bei solchen Robotern mit besonderem Vorteil verwendet.
-
Die Stellung einer solchen Achse wird vorliegend in fachüblicher Weise als Achsstellung, die erste bzw. zweite Zeitableitung der Achsstellung(skoordinate) entsprechend als Achsgeschwindigkeit bzw. Achsbeschleunigung bezeichnet. Eine vorgegebene Achsstellungsbegrenzung kann somit insbesondere steuerungs- bzw. softwaremäßig vorgegebene Endanschläge für eine oder mehrere Achsen des Roboters aufweisen, insbesondere sein.
-
Unter einem Steuern im Sinne der vorliegenden Erfindung wird verallgemeinernd insbesondere auch ein Regeln bzw. Kommandieren auf Basis erfasster Ist-Größen verstanden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: ein Verfahren zum Steuern eines Roboters nach einer Ausführung der vorliegenden Erfindung; und
- 2: ein System mit dem Roboter und einer Steuerung zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung.
-
2 zeigt ein System mit einem siebenachsigen Roboter 1 und einer (Roboter)Steuerung 2 zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung. Die sieben Achsen bzw. Gelenke des Roboters 1 sind in fachüblicher Weise durch die Koordinaten q1 - q7 angedeutet, die die Stellung seiner Achsen beschreiben bzw. angeben, und deren erste bzw. zweite Zeitableitung entsprechend Achsgeschwindigkeiten bzw. -beschleunigungen darstellen.
-
Die Steuerung 2 führt zum Steuern des Roboters ein nachfolgend mit Bezug auf 1 erläutertes Verfahren nach einer Ausführung der vorliegenden Erfindung aus bzw. ist hierzu eingerichtet.
-
In einem Schritt S10 wird, beispielsweise auf Basis gemessener Achskräfte, insbesondere -momente, und eines dynamischen Modells des Roboters eine von einer Bedienperson extern auf den Roboter aufgeprägte Führungskraft fext ermittelt.
-
Aus dieser wird in einem Schritt
S20 eine von der Führungskraft abhängige (gewünschte) Folgebewegung ẋ
d berechnet, beispielsweise durch Integration (vgl. Gl. (1)):
-
Aus der Folgebewegung ẋd wird in einem Schritt S30 unter Lösung des QP-Problems (8), (9) für eine vorgegebene Achsstellungs-, Achsgeschwindigkeits- und Achsbeschleunigungsbegrenzung eine Soll-Bewegung ẋf berechnet.
-
Wie sich aus Vorstehendem ergibt, wird dadurch die Komponente ẋd∥ der Folgebewegung auf die Begrenzung zu bei Annäherung an die Begrenzung reduziert und dadurch die Richtung der Soll-Bewegung zunehmend gegen die Richtung der Folgebewegung verdreht. Dadurch kann der Roboter vorteilhaft handgeführt werden, wobei bei Annäherung an einen Endanschlag eines Gelenks der Roboter zunehmend gedämpft(er) folgt und dieses Gelenk schließlich am Endanschlag blockiert wird, während die anderen Gelenke des Roboters weiterhin beweglich bleiben.
-
Die Soll-Bewegung ẋf wird in einem Schritt S40 in den Nullraum einer kartesischen Beschränkung projiziert, sofern eine solche vorgegeben ist.
-
Dann werden in einem Schritt S50 Antriebe zum Verstellen der Achsen q1 - q7 des Roboters 1 mit der solcherart ermittelten Soll-Bewegung kommandiert.
-
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- Steuerung
- q1 - q7
- Achsstellung
- fext
- Führungskraft