-
Die vorliegende Erfindung betrifft ein Verfahren und eine Steuerung zum Steuern eines Roboters sowie ein Computerprogrammprodukt zur Durchführung des Verfahrens.
-
Roboter sollen regelmäßig vorgegebene Aufgaben durchführen, beispielsweise mit ihrem Endeffektor bzw. TCP eine vorgegeben Position anfahren oder dergleichen.
-
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 hierzu eine sogenannte Aufgabenraumregelung („Operational Space Control“) vorgeschlagen, bei der eine virtuelle Kraft zur Durchführung der Aufgabe ermittelt und mithilfe einer Aufgaben-Jacobimatrix auf Soll-Antriebskräfte im Achsraum des Roboters transformiert wird.
-
Nach der
DE 10 2015 115 229 B4 richtet bei einem Gerät zum Steuern der Positionierung eines Objekts, das einen spezifizierten Punkt hat, ein erster Begrenzer einen Bewegungsbereich des spezifizierten Punkts des Objekts ein und begrenzt eine Bewegung des spezifizierten Punkts des Objekts innerhalb des Bewegungsbereichs. Der Bewegungsbereich weist eine Linie auf, die die Position des spezifizierten Punkts des Objekts und eine Zielposition für den spezifizierten Punkt des Objekts verbindet. Ein zweiter Begrenzer begrenzt, dass eine Änderung einer spezifizierten Ausrichtung des Objekts einen Winkelunterschied zwischen der spezifizierten Ausrichtung des Objekts und einer Zielausrichtung für die spezifizierte Ausrichtung des Objekts erhöht.
-
Eine aus der
DE 10 2015 004 484 A1 bekannte Robotersteuerung weist Folgendes auf: einen Kraftmessungsteil, der eine auf das vordere Ende ausgeübte Kraft misst; einen Betätigungskraftberechnungsteil, der eine Betätigungskraft zum Bewegen einer jeden Achse basierend auf der gemessenen Kraft berechnet; einen Betätigungsbefehlsteil, der einen Befehl zum Bewegen des Roboters ausgibt; und einen Betätigungsachsenspezifizierungsteil, der eine Betätigungsachse spezifiziert, die in Erwiderung der Kraft zu bewegen ist, und eine Bewegungsrichtung der Betätigungsachse in Abhängigkeit von einer Richtung der Kraft bestimmt. Wenn zwei oder mehr Betätigungsachsen spezifiziert werden, bestimmt der Betätigungsachsenspezifizierungsteil je nach einem Status der Bewegungsbetätigung, ob jede Betätigungsachse bewegbar ist oder nicht.
-
Ein aus der
DE 10 2013 203 381 B4 bekanntes Verfahren zum Trainieren eines Roboters umfasst, dass: der Roboter über seinen Konfigurationsraum hinweg durch mehrere Zustande der Roboteraufgabe bewegt wird, um dadurch dem Roboter die Roboteraufgabe zu demonstrieren, wobei der Konfigurationsraum der Satz aller möglichen Konfigurationen für den Roboter ist; Motorschemata durch eine elektronische Steuerungseinheit ECU aufgezeichnet werden, die eine Verhaltenssequenz des Roboters beschreiben; sensorische Daten durch die ECU aufgezeichnet werden, die Leistungs- und Zustandswerte des Roboters beschreiben, während der Roboter über seinen Konfigurationsraum hinweg bewegt wird; wahrnehmbare Merkmale von Objekten, die in der Umgebung angeordnet sind, detektiert werden; virtuelle deiktische Markierungen den detektierten wahrnehmbaren Merkmalen über die ECU zugewiesen werden; und die zugewiesenen virtuellen deiktischen Markierungen und die aufgezeichneten Motorschemata verwendet werden, um durch Nachahmung der demonstrierten Roboteraufgabe die Steuerung des Roboters anschließend bei einer automatisierten Ausführung einer anderen Roboteraufgabe durch die ECU zu ermöglichen.
-
Die
DE 10 2010 052 418 A1 betrifft ein Verfahren und eine Vorrichtung zum Begrenzen der Kontaktkraft zwischen einer sich bewegenden Einrichtung und einem anderen Objekt unter Verwendung eines parallelen Mechanismus und von Drehmomentbegrenzern, wobei die Schwellenwertkraft zum Aktivieren des Kraftbegrenzungsmechanismus nicht mit der Konfiguration der sich bewegenden Einrichtung oder der Stelle der Kontaktkraft relativ zum Aktivierungspunkt des Kraftbegrenzungsmechanismus in Beziehung steht, und wobei der Mechanismus für einen, zwei oder drei Freiheitsgrade ausgestaltet sein kann.
-
Die
DE 10 2010 005 708 A1 betrifft ein Produktionssystem, in dem ein Mensch und ein Roboter gleichzeitig einen zusammenwirkenden oder sich ergänzenden Arbeitsschritt in demselben Bereich ausführen können, während die Sicherheit des Menschen gewährleistet ist. Ein Roboter ist auf einer Seite eines Arbeitstisches angeordnet und eine Bedienungsperson befindet sich auf der anderen Seite des Arbeitstisches. Der erreichbare Bereich für die Bedienungsperson ist durch den Arbeitstisch beschränkt. Ein Bereich des Arbeitstisches ist unterteilt in einen Bereich, in dem lediglich die Bedienungsperson einen Arbeitsschritt ausführen kann, einen Bereich, in dem lediglich der Roboter einen Arbeitsschritt ausführen kann, und einen Bereich, in den sowohl die Bedienungsperson als auch der Roboter eindringen können. In einem Kooperationsmodus ist die maximale Bewegungsgeschwindigkeit einer Komponente des Roboters auf einen Wert begrenzt, der niedriger ist als dann, wenn die Komponente des Roboters außerhalb dieses Bereichs des zusammenwirkenden oder sich ergänzenden Arbeitsschritts arbeitet, und die Bewegung des Roboters ist derart eingeschränkt, dass der Roboter nicht in einem Bereich eindringt, der für das Eindringen des Roboters ausgeschlossen ist.
-
Die
DE 10 2008 035 507 A1 offenbart eine Steuerung, um Operationen eines Roboters, der mit einem Roboterkörper, der zu steuernde Operationsachsen hat, versehen ist, und einer zusätzlichen Einrichtung, mit einer zusätzlichen Operationsachse zu steuern. Die Steuerung weist eine Vorrichtung für einen manuellen Betrieb, eine Bestimmungseinrichtung und eine Steuereinrichtung auf. Die Vorrichtung für einen manuellen Betrieb ermöglicht, dass ein Benutzer die Operationen des Roboterkörpers und der zusätzlichen Einrichtung, parallel zueinander manuell betreiben kann. Die Bestimmungseinrichtung bestimmt, ob die zusätzliche Einrichtung hinsichtlich von Operationen in einem gekoppelten Zustand mit dem Roboterkörper ist oder nicht. Die Steuereinrichtung steuert Operationsgeschwindigkeiten sowohl des äußersten Endes der Operationsachsen des Roboterkörpers als auch der zusätzlichen Operationsachse der zusätzlichen Einrichtung innerhalb einer vorbestimmten maximalen Geschwindigkeit, wenn die Vorrichtung für einen manuellen Betrieb verwendet wird, um die Operationen des Roboterkörpers und der zusätzlichen Einrichtung parallel zueinander manuell zu steuern, und die Bestimmungseinrichtung bestimmt, dass die zusätzliche Einrichtung hinsichtlich von Operationen in einem gekoppelten Zustand mit dem Roboterkörper ist.
-
Aufgabe der vorliegenden Erfindung ist es, den Betrieb eines Roboters zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 9, 10 stellen eine Steuerung 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 ein Roboter nachgiebig („compliant“) kraftgeregelt, in einer Ausführung derart, dass er externen, insbesondere manuell bzw. durch einen Bediener auf ihn aufgeprägten, Kräften ausweicht und in einer Weiterbildung dabei gegen diese Kräfte wirkende Rückstellkräfte auf seine Umgebung, insbesondere eine ihn führende Hand oder dergleichen, ausübt. In einer Ausführung wird der Roboter admittanzgeregelt. Hierdurch kann eine besonders vorteilhafte nachgiebige Kraftregelung realisiert werden.
-
Bei der Kraftregelung werden nach einer Ausführung der vorliegenden Erfindung Soll-Antriebskräfte auf Basis bzw. in Abhängigkeit von
- - einer, insbesondere vorab, vorgegebenen, insbesondere programmierten und/oder durch eine Benutzereingabe einstellbaren, Begrenzung von Achsstellungen, Achsgeschwindigkeiten und/oder Achsbeschleunigungen, als auch
- - einer vorgegebenen, insbesondere vorab programmierten bzw. gespeicherten, Aufgabe
derart bzw. mit der Maßgabe ermittelt, dass die Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe priorisiert wird, insbesondere derart, dass die Aufgabe nur insoweit bzw. bis zu dem Grad durchgeführt wird, soweit bzw. bis zu dem dies die Einhaltung der Begrenzung zulässt bzw. diese nicht beeinträchtigt. So wird in einer Ausführung eine Soll-Antriebskraft zur Durchführung der Aufgabe nur soweit kommandiert, soweit sie einer Soll-Antriebskraft zur Einhaltung der Begrenzung nicht zuwiderläuft bzw. dieser entgegenwirkt. Insbesondere werden in einem Zustand, in dem die Durchführung der Aufgabe wenigstens eine erste Soll-Antriebskraft einer ersten Achse und eine zweite Soll-Antriebskraft einer zweiten Achse erfordert bzw. bedingt, beispielsweise, um eine vorgegebene Pose anzufahren oder dergleichen, und die Einhaltung der Begrenzung eine zu der ersten Soll-Antriebskraft der ersten Achse gegensinnige Soll-Antriebskraft und keine bestimmte Soll-Antriebskraft der zweiten Achse erfordert bzw. bedingt, da beispielsweise die erste Achse sich in der Nähe ihrer Begrenzung befindet, die zweite Achse hingegen nicht, die gegensinnige Soll-Antriebskraft zur Einhaltung der Begrenzung und die zweite Soll-Antriebskraft zur Durchführung der Aufgabe kommandiert.
-
Somit wird in einer Ausführung der Roboter zur bzw. bei der Durchführung der vorgegebenen Aufgabe nachgiebig kraftgeregelt. Hierdurch kann er in einer Ausführung vorteilhaft beim Durchführen der Aufgabe durch einen Bediener (weg)geführt bzw. abgelenkt oder aufgehalten werden. Dadurch kann der Betrieb des Roboters verbessert werden.
-
Dabei kann es jedoch vorkommen, dass durch das Handführen ungewollt eine hard- oder softwaretechnisch implementierte Achsstellungs-, -geschwindigkeits- oder -beschleunigungsbegrenzung erreicht wird, was üblicherweise zu einer abrupten, ungewollten und/oder unerwarteten Reaktion des Roboters führen kann.
-
Indem erfindungsgemäß die Soll-Antriebskräfte (auch) derart bzw. mit der Maßgabe ermittelt werden, dass eine vorgegebene Begrenzung eingehalten wird, kann in einer Ausführung einer Annäherung an die Begrenzung beim Durchführen der Aufgabe aufgrund einer Handführung des nachgiebigen Roboters kraftgeregelt entgegengewirkt werden. Durch die Priorisierung dieser Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe kann dabei in einer Ausführung eine abrupte Verhaltensänderung des Roboters vorteilhaft vermieden werden.
-
In einer Ausführung werden die Soll-Antriebskräfte derart bzw. mit der Maßgabe ermittelt, dass
- - die Einhaltung der Begrenzung der Achsstellungen und Achsgeschwindigkeiten und/oder
- - die Einhaltung der Begrenzung der Achsstellungen und Achsbeschleunigungen und/oder
- - die Einhaltung der Begrenzung der Achsgeschwindigkeiten und Achsbeschleunigungen
gleich priorisiert wird. Durch diese gleiche Priorisierung der Einhaltung der Begrenzung auf Achsstellungs-, -geschwindigkeits- oder -beschleunigungsebene kann dabei in einer Ausführung eine abrupte Verhaltensänderung des Roboters vorteilhaft vermieden werden.
-
In einer Ausführung weist die vorgegebene Aufgabe wenigstens eine erste und eine zweite Teilaufgabe auf, wobei die Soll-Antriebskräfte derart bzw. mit der Maßgabe ermittelt werden, dass die Durchführung der ersten Teilaufgabe (ihrerseits) gegenüber der Durchführung der zweiten Teilaufgabe priorisiert wird, insbesondere die Durchführung der zweiten Teilaufgabe (ihrerseits) gegenüber der Durchführung einer oder mehrerer weiteren Teilaufgaben priorisiert wird, welche in einer Ausführung (ihrerseits) untereinander priorisiert sein bzw. werden können.
-
Zusätzlich oder alternativ kann die Aufgabe, insbesondere eine oder mehrere ihrer Teilaufgaben (jeweils), ein Anfahren einer oder mehreren vorgegebenen, insbesondere programmierten bzw. abgespeicherten, Posen, insbesondere ein Abfahren einer vorgegebenen Bahn, ein Halten einer vorgegebenen Pose und/oder ein Beabstanden von einer oder mehreren vorgegebenen, insbesondere singulären, Posen, im Arbeits- und/oder Achsraum des Roboters aufweisen, insbesondere hieraus bestehen.
-
Hierdurch kann in einer Ausführung der Roboter besonders vorteilhaft eingesetzt werden. So kann der Roboter in einer Ausführung höherprior(isiert) eine vorgegebene Pose an- bzw. Bahn abfahren und dabei nieder- oder höherprior(isiert) singuläre Posen vermeiden.
-
In einer Ausführung werden die Soll-Antriebskräfte auf Basis eines dynamischen Modells des Roboters ermittelt, das in einer Ausführung Achsstellungen, -geschwindigkeiten und -beschleunigungen sowie Achs-, insbesondere Antriebskräfte aufeinander abbildet, in einer Ausführung in der Form
mit den Achsstellungen q, Achsgeschwindigkeiten q̇, Achsbeschleunigungen q̈, der generalisierten Massenmatrix M, den stellungs- und geschwindigkeitsabhängigen Kräften c(q, q̇), insbesondere Coriolis- und Zentrifugalkräften, den (nur) stellungsabhängigen Kräften g(q), insbesondere Gravitationskräften, und den Achs-, insbesondere Antriebskräften τ.
-
Hierdurch kann in einer Ausführung das Verhalten des Roboters, insbesondere seine Trägheiten und dergleichen, berücksichtigt und dadurch der Betrieb verbessert werden.
-
In einer Ausführung werden die Soll-Antriebskräfte
- - auf Basis virtueller Rückstellkräfte im Achsraum zur Einhaltung der Begrenzung und/oder
- - auf Basis virtueller Aufgabenkräfte im Achs- und/oder Arbeitsraum des Roboters zur Durchführung der Aufgabe, insbesondere der Teilaufgaben,
ermittelt.
-
Nach 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, können im Achs- oder Arbeitsraum des Roboters, insbesondere einem Unterraum hiervon, auf Basis einer (Teil)Aufgabe virtuelle Aufgabenkräfte („operational forces“)
ft ermittelt werden, in einer Ausführung in der Form
mit
mit der Aufgaben-Jacobimatrix J
t. Der Kommandovektor f* entspricht einer gewünschten Beschleunigung ẍ
t der Aufgabe, der Kommandovektor f*
pos = k
p (x
E,d - x
E) + k
d (ẋ
E,d - ẋ
E) einer gewünschten Feder-Dämpfer-Charakteristik der kartesischen Endeffektorposition
-
Die Achsstellungs- und -geschwindigkeitsbegrenzungen können vorteilhaft, insbesondere mit der vorgegebenen Begrenzung der Achsstellungen, -geschwindigkeiten und -beschleunigungen
und einem Zeit-, insbesondere Abtast- bzw. Regelinkrement T, einheitlich auf Beschleunigungsebene formuliert werden, insbesondere in der Form:
wobei die vorgegebene Begrenzung von Achsstellungen und -geschwindigkeiten die vorgegebene Begrenzung von Achsbeschleunigungen limitiert, oder in einer Weiterbildung, in der zusätzlich die vorgegebene Begrenzung von Achsstellungen und -beschleunigungen die vorgegebene Begrenzung von Achsgeschwindigkeiten limitiert,
Hierdurch ergibt sich in einer Ausführung ein vorteilhaftes Verhalten des Roboters, insbesondere bei Annäherung an die Begrenzung.
-
In einer Ausführung werden die virtuellen Rückstellkräfte
bzw. die Soll-Antriebskräfte
τd iterativ ermittelt, wobei in einer Ausführung initial
gesetzt, dann
ermittelt und mit
die neuen virtuellen Rückstellkräfte
bzw. diesen entsprechende Anteile τ
lim der Soll-Antriebskräfte τ
d gemäß
ermittelt und in Gl. (7) eigesetzt werden, solange wenigstens eine der virtuellen Achsbeschleunigungen q̈
i eine der Bedingungen in (8) erfüllt. Dabei enthält die Jacobi-Matrix der Begrenzung
Jlim für jede Achse, deren virtuelle Beschleunigung gemäß Gl. (7) eine der Bedingungen in (8) erfüllt, eine Zeile, die in der (der Achse) entsprechenden Reihe eine Eins und ansonsten Nullen aufweist, also beispielsweise
-
Die Massenmatrix Λlim und die Vektoren plim , µlim , werden damit gemäß Gl. (3) ermittelt.
-
Falls bzw. sobald keine der virtuellen Achsbeschleunigungen q̈i eine der Bedingungen in (8) (mehr) erfüllt, werden in einer Ausführung die Soll-Antriebskräfte gemäß Gl. (7) kommandiert.
-
Wie vorstehend anhand einer besonders bevorzugten Ausführung erläutert, werden allgemein in einer Ausführung Soll-Antriebskräfte, insbesondere Soll-Antriebskräfte zur Einhaltung der Begrenzung, iterativ ermittelt.
-
Zusätzlich oder alternativ werden allgemein, wie vorstehend anhand einer besonders bevorzugten Ausführung erläutert, in einer Ausführung Soll-Antriebskräfte zur Einhaltung der Begrenzung auf Basis virtueller Achsbeschleunigungen des Roboters ermittelt und in einer Weiterbildung nur bei einem, insbesondere prognostizierten, Erreichen der Begrenzung kommandiert (vgl. insbesondere die Prognose der Achsstellung bzw. -geschwindigkeit in Gl. (5), (5'):
-
Hierdurch kann in einer Ausführung eine Rechenzeit und/oder Rechenkapazität reduziert und/oder das Verhalten des Roboters verbessert werden.
-
Die Priorisierung der Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe und/oder der ersten gegenüber der zweiten Teilaufgabe erfolgt in einer Ausführung mittels eines entsprechenden Projektors in den Nullraum der höheren Priorität, insbesondere in der Form der Gl. (7) bzw. einer entsprechenden Form
mit den virtuellen Aufgabenkräften zur Durchführung der k. Teilaufgabe f
k und dem Projektor
-
Beispielsweise werden in einer Ausführung virtuelle Aufgabenkräften zur Durchführung der (Teil)Aufgabe, eine kartesische Position x
E zu halten, auf Basis bzw. entsprechend eines virtuellen Feder-Dämpfer-Systems ermittelt:
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- - Mittel zur nachgiebigen Kraftregelung des Roboters; und
- - Mittel zum Ermitteln von Soll-Antriebskräften auf Basis sowohl einer vorgegebenen Begrenzung von Achsstellungen, -geschwindigkeiten und/oder -beschleunigungen als auch einer vorgegebenen Aufgabe derart, dass die Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe priorisiert wird.
-
In einer Ausführung weist die Steuerung bzw. ihr(e) Mittel auf:
- - Mittel zum Ermitteln der Soll-Antriebskräfte derart, dass die Einhaltung der Begrenzung der Achsstellungen und -geschwindigkeiten und/oder der Begrenzung der Achsstellungen und -beschleunigungen und/oder der Begrenzung der Achsgeschwindigkeiten und -beschleunigungen gleich priorisiert wird; und/oder
- - Mittel zum Ermitteln der Soll-Antriebskräfte derart, dass die Durchführung einer ersten Teilaufgabe der vorgegebenen Aufgabe gegenüber der Durchführung einer zweiten Teilaufgabe der vorgegebenen Aufgabe priorisiert wird, insbesondere die Durchführung der zweiten Teilaufgabe gegenüber der Durchführung wenigstens einer weiteren Teilaufgabe der vorgegebenen Aufgabe priorisiert wird; und/oder
- - Mittel zum Ermitteln der Soll-Antriebskräfte auf Basis eines dynamischen Modells des Roboters; und/oder
- - Mittel zum Ermitteln der Soll-Antriebskräfte auf Basis virtueller Rückstellkräfte im Achsraum zur Einhaltung der Begrenzung und/oder virtueller Aufgabenkräfte im Achs- und/oder Arbeitsraum des Roboters zur Durchführung der Aufgabe; und/oder
- - Mittel zum Ermitteln von Soll-Antriebskräften zur Einhaltung der Begrenzung iterativ und/oder auf Basis virtueller Achsbeschleunigungen des Roboters, insbesondere zum Kommandieren von Soll-Antriebskräften zur Einhaltung der Begrenzung nur bei Erreichen der Begrenzung.
-
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.
-
Zur kompakteren Darstellung werden in einer Ausführung antiparallele Kräftepaare bzw. Drehmomente verallgemeinernd ebenfalls als Kräfte bezeichnet. So können Soll-Antriebskräfte entsprechend insbesondere Soll-Antriebsdrehmomente aufweisen, insbesondere sein. Ein Regeln bzw. Kommandieren von Soll-Größen auf Basis bzw. in Abhängigkeit von erfassten Ist-Größen wird vorliegend ebenfalls als Steuern im Sinne der vorliegenden Erfindung bezeichnet.
-
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, und, in einer Ausführung elektrische, Antriebe zum Verstellen bzw. Bewegen dieser Achsen bzw. Gelenke auf Basis der ermittelten Soll-Antriebskräfte auf, in einer Ausführung einen (Knick)Arm mit den Achsen.
-
Als Achsraum wird vorliegend insbesondere in fachüblicher Weise der Raum der Koordinaten bezeichnet, die die Stellungen, beispielsweise Winkellagen, der Achsen angeben bzw. darstellen. Als Arbeitsraum wird vorliegend insbesondere in fachüblicher Weise der Raum der Koordinaten bezeichnet, die eine ein-, zwei- oder dreidimensionale Position und/oder ein-, zwei- oder dreidimensionale Orientierung einer roboterfesten Referenz, insbesondere des TCPs, angeben bzw. darstellen. Eine Pose im Sinne der vorliegenden Erfindung kann entsprechend insbesondere in Form einer ein-, zwei- oder dreidimensionalen Position und/oder ein-, zwei- oder dreidimensionalen Orientierung einer roboterfesten Referenz (im Arbeitsraum) oder in Form von Achskoordinaten bzw. -stellungen vorgegeben sein bzw. werden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: eine Steuerung zum Steuern eines 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 einen siebenachsigen Roboter 1, dessen Achsstellung(skoordinat)en mit q = [q1 ... q7]T bezeichnet sind, und einer Robotersteuerung 2 zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung, die hierzu ein nachfolgend mit Bezug auf 2 erläutertes Verfahren durchführt bzw. hierzu eingerichtet ist.
-
In einem Schritt S10 werden die virtuellen Aufgabenkräfte τt im Achs- und/oder Arbeitsraum des Roboters zur Durchführung einer vorgegebenen Aufgabe ermittelt, beispielsweise gemäß Gl. (12), insbesondere in Verbindung mit Gl. (10) bei mehreren untereinander priorisierten Teilaufgaben.
-
In einem Schritt S20 werden für die Iteration die Werte τlim , q̈sat, Nlim initialisiert, beispielsweise gemäß Gl. (6).
-
In einem Schritt S30 werden, beispielsweise gemäß Gl. (7), hieraus (anfängliche) Soll-Antriebskräfte, insbesondere -momente, τd und hieraus, beispielsweise auf Basis eines dynamischen Modells gemäß Gl. (1), virtuelle Achsbeschleunigungen q̈ ermittelt, die sich bei Aufprägen dieser Soll-Antriebskräfte ergeben (würden).
-
Diese virtuellen Achsbeschleunigungen werden in einem Schritt S40 daraufhin überprüft, ob wenigstens eine Achsbeschleunigung q̈i eine vorgegebene Begrenzung erreicht, beispielsweise eine der Bedingungen gemäß Gleichung (8) erfüllt. Dabei können Achsstellungs- und/oder -geschwindigkeitsbegrenzungen ebenfalls auf Beschleunigungsebene berücksichtigt werden bzw. die vorgegebene Begrenzung von Achsbeschleunigungen limitieren, beispielsweise gemäß Gl. (5) oder (5').
-
Erfüllt keine der Achsbeschleunigungen q̈i eine der Bedingungen gemäß Gleichung (8) (S40: „N“), werden die in Schritt S30 ermittelten Soll-Antriebskräfte τd kommandiert und der Roboter 1 damit nachgiebig kraftgeregelt.
-
Erfüllen eine oder mehrere der Achsbeschleunigungen q̈
i eine der Bedingungen gemäß Gleichung (8) (
S40: „
Y“), werden diese auf die entsprechenden Grenzwerte gemäß Gleichung (5) bzw. (5') gesetzt, damit in einem Schritt
S60, beispielsweise gemäß Gl. (9), die virtuelle Rückstellkräfte
bzw. diesen entsprechende Anteile τ
lim der Soll-Antriebskräfte
τd sowie der Projektor
Nlim aktualisiert, und beginnend mit Schritt
S30 eine neue Iteration durchgeführt.
-
Auf diese Weise wird die Begrenzung von Achsstellungen, -geschwindigkeiten und/oder -beschleunigungen bei der nachgiebigen Kraftregelung priorisiert eingehalten, wobei die Begrenzung von Achsstellungen und -geschwindigkeiten die Begrenzung von Achsbeschleunigungen und die Begrenzung von Achsstellungen und -beschleunigungen die Begrenzung von Achsgeschwindigkeiten limitiert (vgl. Gl. (5'), (7)), und, soweit möglich, nachranging die vorgegebene Aufgabe nachgiebig kraftgeregelt durchgeführt (vgl. Gl. (12), (7)).
-
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- (Roboter)Steuerung
- q1,...,q7
- Achsstellung(skoordinate)