-
Die vorliegende Erfindung betrifft ein Verfahren zum Durchführen einer vorgegebenen Aufgabe durch einen Roboter, der bezüglich dieser Aufgabe redundant ist, ein System zum Betreiben des Roboters, das zur Durchführung des Verfahrens eingerichtet ist und ein Computerprogrammprodukt zur Durchführung des Verfahrens
-
Roboter können Aufgaben durchführen, bezüglich deren sie redundant sind. Umfasst eine Aufgabe beispielsweise eine vorgegebene dreidimensionale Position und dreidimensionale Orientierung eines Roboterendflanschs bzw. eines damit verbundenen robotergeführten Werkzeugs, so ist ein Roboter mit sieben oder mehr aufeinanderfolgenden Gelenken bezüglich dieser Aufgabe redundant.
-
Auf der anderen Seite ist eine Handführung von Robotern bekannt, bei der der Roboter einer manuell auf ihn ausgeübten Kraft folgt bzw. aus(zu)weich(en such)t.
-
Bei bisherigen betriebsinternen Ansätzen einer Handführung von Robotern beim Durchführen einer vorgegebenen Aufgabe, bezüglich der der Roboter redundant ist, ist insbesondere die Präzision der Aufgabendurchführung häufig unbefriedigend.
-
Aufgabe der vorliegenden Erfindung ist es, die Durchführung vorgegebener Aufgaben durch Roboter, die bezüglich dieser Aufgaben redundant sind, zu verbessern, vorzugsweise die Präzision der Aufgabendurchführung bei bzw. trotz Handführung des Roboters zu erhöhen.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 8, 9 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein Roboter bezüglich einer vorgegebenen Aufgabe redundant. In einer Ausführung weist der Roboter mehr Freiheitsgrade, insbesondere Gelenke bzw. Achsen, auf als die Aufgabe bzw. für die Durchführung der Aufgabe erforderlich bzw. durch diese bestimmt.
-
Bezeichne xd ∈ ℝtask bzw. ẋd ∈ ℝtask eine vorgegebene Aufgabe, beispielsweise eine Pose bzw. Position und/oder Orientierung einer roboterfesten Referenz bzw. deren zeitliche Änderung, und q ∈ ℝDoF Gelenkkoordinaten, beispielsweise Winkellagen, des Roboters, so gilt bei dem ((aufgaben)redundanten) Roboter entsprechend in einer Ausführung task< DoF.
-
In einer Weiterbildung weist der Roboter wenigstens sechs, insbesondere wenigstens sieben, in einer Ausführung aufeinanderfolgende, Gelenke bzw. Achsen, insbesondere Drehgelenke bzw. -achsen, auf (Dof≥ 6 bzw. Dof ≥ 7), so dass er insbesondere beliebige vorgegebene dreidimensionale Positionen und Orientierungen anfahren kann (Dof≥ 6) bzw. bezüglich beliebiger vorgegebener sechsdimensionaler Posen roboterfester Referenzen stets redundant (Dof≥ 7) und somit sehr flexibel einsetzbar ist.
-
Nach einer Ausführung der vorliegenden Erfindung wird beim Durchführen der vorgegebenen, in einer Ausführung programmierten bzw. vorab abgespeicherten oder durch einen Eingabebefehl kommandierten, Aufgabe durch den Roboter eine Bewegung i(n eine)m Nullraum (des Roboters bezüglich der Aufgabe) durchgeführt, insbesondere kommandiert, die vorliegend als Admittanz-Bewegung bezeichnet wird und von einer extern, insbesondere manuell, auf den Roboter ausgeübten Kraft und einer vorgegebenen, in einer Ausführung eingestellten bzw. parametrierten, virtuellen Masse, virtuellen Steifigkeit und/oder virtuellen Dämpfung abhängt, in einer Ausführung auf Basis der extern auf den Roboter ausgeübten Kraft und vorgegebenen virtuellen Masse, Steifigkeit bzw. Dämpfung ermittelt wird bzw. ist. In einer Ausführung werden Gelenke bzw. Antriebe des Roboters, in einer Ausführung Elektromotoren, derart aktuiert bzw. kommandiert, dass der Roboter die Aufgabe und Admittanz-Bewegung durchführt bzw. zur Durchführung der Aufgabe und der Admittanz-Bewegung aktuiert bzw. kommandiert.
-
Hierdurch kann in einer Ausführung der Roboter beim Durchführen der vorgegebenen Aufgabe (durch externes Aufprägen der Kraft) handgeführt und dadurch seine Redundanz, insbesondere zur Kollisionsvermeidung oder dergleichen, ausgenutzt, und dabei vorteilhaft die Präzision der Aufgabendurchführung erhöht werden.
-
Zur kompakteren Darstellung wird vorliegend auch ein antiparalleles Kräftepaar bzw. Drehmoment verallgemeinernd als Kraft im Sinne der vorliegenden Erfindung bezeichnet.
-
Die Jacobimatrix (der Aufgabe) ist in einer Ausführung in fachüblicher Weise definiert durch
bzw.
mit den Zeitableitungen
-
Eine generalisierte bzw. Pseudoinverse J
#der Jacobimatrix bildet umgekehrt ẋ
d auf q̇
d ab
und kann in einer Ausführung gemäß
mit der Inversen ()
-1 einer Gewichtungsmatrix W, beispielsweise der Einheits- oder Massenmatrix, und der Transponierten ()
T definiert sein bzw. ermittelt werden.
-
Der Nullraum (der Aufgabe) ist in einer Ausführung in fachüblicher Weise definiert durch den Nullraumoperator bzw. -projektor
-
In einer Ausführung wird eine Admittanz-Sollbewegung, in einer Weiterbildung im Gelenkkoordinatenraum des Roboters und/oder mithilfe einer Admittanz-Regelung, auf Basis der extern auf den Roboter ausgeübten, insbesondere also in den Gelenkkoordinatenraum transformierten, Kraft T
ext und/oder der vorgegebenen virtuellen Masse M, Steifigkeit K und/oder Dämpfung D ermittelt, in einer Ausführung gemäß
bzw., insbesondere durch Integration oder in einem Regelkreis, gemäß
und diese ermittelte Admittanz-Sollbewegung in den Nullraum projiziert, in einer Ausführung durch Linksmultiplikation des Nullraumoperators N gemäß Gl. (4).
-
Dabei kann in einer Ausführung K und/oder D gleich oder ungleich Null sein bzw. die entsprechenden Terme entfallen und/oder M die Einheitsmatrix oder von dieser und Null verschieden sein.
-
Eine solche Admittanz-Sollbewegung vermittelt eine Bewegung, die ein virtuelles Masse-, Feder- und/oder Dämpfer-System, insbesondere ein virtuelles Masse-Dämpfer-System (q̈a = M-1 · (Text - D· q̇a)) bzw. eine virtuelle Masse (q̈a = M-1 · Text), infolge der externen Kraft Text ausführen würde. Hierdurch kann in einer Ausführung ein vorteilhaftes Verhalten des Roboters bei der Handführung realisiert werden.
-
Die extern auf den Roboter ausgeübte Kraft wird in einer Ausführung im Gelenkkoordinatenraum und/oder auf Basis von Kräften in Gelenken des Roboters und/oder einem, insbesondere mathematischen bzw. numerischen, Modell des Roboters ermittelt, in einer Ausführung indem Kräfte in Gelenken des Roboters ermittelt, insbesondere mithilfe von Sensoren, insbesondere Kraft-Sensoren, gemessen oder, insbesondere mithilfe von Sekundärencodern, erfassten Strömen in Gelenkantrieben oder dergleichen, abgeschätzt werden, und in einer Ausführung von diesen Kräften diejenigen, in einer Ausführung modellbasiert und/oder auf Basis von Stellungen und/oder Bewegungen des Roboters ermittelten, internen Kräfte abgezogen werden, die aus der Dynamik, insbesondere dem Gewicht und der Bewegungen des Roboters, resultieren, in einer Ausführung gemäß
mit den ermittelten Kräften T
i in den Gelenken, den aktuellen Gelenkkoordinaten q
i bzw. deren Zeitableitungen, sowie der Massenmatrix M
m und dem Vektor h der verallgemeinerten Kräfte, insbesondere gyroskopischen, Gravitations- und/oder Reibungskräfte, des Roboters bzw. seines Modells. Wie bereits erwähnt, werden auch Drehmomente vorliegend verallgemeinernd als Kräfte bezeichnet. Allgemein wird die extern auf den Roboter ausgeübte Kraft in einer Ausführung auf Basis von mittels Sensoren ermittelten Kräften in Gelenken des Roboters ermittelt.
-
Hierdurch kann in einer Ausführung die extern auf den Roboter ausgeübte Kraft besonders vorteilhaft, insbesondere präzise(r), ermittelt und dadurch die Handführung verbessert werden.
-
In einer Ausführung ist bzw. wird die Aufgabe im (kartesischen) Arbeitsraum des Roboters vorgegeben.
-
Zusätzlich oder alternativ umfasst in einer Ausführung die Aufgabe eine oder mehrere Posen einer roboterfesten Referenz und/oder eine oder mehrere Änderungen einer Pose einer roboterfesten Referenz, in einer Ausführung eine vorgegebene Bewegung und/oder ein vorgegebenes Halten einer Pose der roboterfesten Referenz.
-
In einer Ausführung weist eine Pose eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung auf, kann insbesondere (durch) eine solche (definiert) sein bzw. eine solche bestimmen.
-
Hierdurch können Aufgaben vorteilhaft vorgegeben bzw. durchgeführt werden.
-
In einer Ausführung ist die roboterfeste Referenz auf einem robotergeführten Werkzeug, in einer Weiterbildung zwischen einer Werkzeugspitze und einem Roboterendflansch, an dem das Werkzeug mit dem Roboter verbunden ist, angeordnet.
-
So kann in einer Ausführung ein Roboter handgeführt bewegt und dabei ein Fixpunkt, insbesondere Trokarpunkt, eines robotergeführten, insbesondere medizinischen, Werkzeugs mit hoher Präzision beibehalten werden.
-
In einer Ausführung ist die roboterfeste Referenz der „Tool Center Point“ (TCP) des Roboters.
-
Hierdurch kann dieser in einer Ausführung mit hoher Präzision positioniert werden.
-
Zusätzlich oder alternativ wird in einer Ausführung eine Aufgaben-Sollbewegung, insbesondere im Gelenkkoordinatenraum des Roboters, auf Basis der vorgegebenen Aufgabe, insbesondere ihrer Jacobimatrix, insbesondere deren generalisierten bzw. Pseudoinversen, ermittelt, in einer Ausführung gemäß
-
In einer Ausführung wird der Roboter mithilfe einer Geschwindigkeits- und/oder Positionsregelung auf Basis der Aufgaben-Sollbewegung und/oder der in den Nullraum projizierten Admittanz-Sollbewegung gesteuert, insbesondere auf Basis einer Soll-Geschwindigkeit gemäß
wobei diese Soll-Geschwindigkeit in einer Ausführung zu einer Soll-Stellung integriert werden kann. In einer Ausführung werden somit Gelenke bzw. Antriebe des Roboters auf Basis der Aufgaben-Sollbewegung und/oder der in den Nullraum projizierten Admittanz-Sollbewegung aktuiert bzw. kommandiert.
-
Die vorliegende Erfindung kann mit besonderem Vorteil in der Medizinrobotik eingesetzt werden. Entsprechend führt der Roboter in einer Ausführung ein medizinisches, in einer Ausführung mikroinvasives oder nicht chirurgisch( verwendetes Werkzeug. Gleichermaßen kann die vorliegende Erfindung mit besonderem Vorteil in der Telemanipulation eingesetzt bzw. der Roboter als Telemanipulator verwendet werden.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Betreiben des Roboters, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist Mittel zum Durchführen der Aufgabe und Durchführen einer von einer extern auf den Roboter ausgeübten Kraft und einer vorgegebenen virtuellen Masse, Steifigkeit und/oder Dämpfung abhängigen Admittanz-Bewegung im Nullraum beim Durchführen der Aufgabe auf.
-
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- - Mittel zum Ermitteln der extern auf den Roboter ausgeübten Kraft auf Basis von Kräften in Gelenken des Roboters und/oder einem Modell des Roboters; und/oder
- - Mittel zum Ermitteln einer Aufgaben-Sollbewegung, insbesondere im Gelenkkoordinatenraum des Roboters, auf Basis der vorgegebenen Aufgabe, insbesondere ihrer Jacobimatrix; und/oder
- - Mittel zum Ermitteln einer Admittanz-Sollbewegung, insbesondere im Gelenkkoordinatenraum des Roboters und/oder mithilfe einer Admittanz Regelung, auf Basis der extern auf den Roboter ausgeübten Kraft und/oder vorgegebenen virtuellen Masse, Steifigkeit und/oder Dämpfung und zum Projizieren dieser ermittelte Admittanz-Sollbewegung in den Nullraum; und/oder
- - eine Geschwindigkeits- und/oder Positionsregelung auf Basis der Aufgaben-Sollbewegung und/oder der in den Nullraum projizierten Admittanz-Sollbewegung.
-
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), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit 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 Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter betreiben bzw. steuern kann. Zur kompakteren Darstellung wird vorliegend auch ein Regeln verallgemeinernd als Steuern bezeichnet. 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 das System bzw. sein(e) Mittel.
-
In einer Ausführung weist das System den Roboter und/oder dessen Steuerung auf.
-
Zeitableitungen können in einer Ausführung durch entsprechende Differenzen implementiert sein, also beispielsweise die Aufgabe ẋd durch ein differentielles Kommando Δxd, die Soll-Geschwindigkeit q̇d durch ein differentielles Kommando Δqd etc..
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: ein System zum Betreiben eines Roboters bzw. Durchführen einer vorgegebenen Aufgabe durch den Roboter nach einer Ausführung der vorliegenden Erfindung; und
- 2: ein Verfahren zum Durchführen der Aufgabe durch den Roboter nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt ein System mit einer Steuerung 2 zum Betreiben bzw. Steuern eines siebenachsigen Roboters 10 bzw. Durchführen einer vorgegebenen Aufgabe durch den Roboter 10 nach einer Ausführung der vorliegenden Erfindung, 2 ein Verfahren zum Durchführen der Aufgabe durch den Roboter nach einer Ausführung der vorliegenden Erfindung.
-
Der Roboter 10 führt ein Werkzeug 12, das am Roboterendflansch 11 befestigt ist und eine distale Werkzeugspitze 13 aufweist.
-
Eine vorgegebene Aufgabe besteht beispielsweise darin, die dreidimensionale kartesische Position des werkzeugfesten Punktes X konstant zu halten. Eine andere vorgegebene Aufgabe kann beispielsweise eine vorgegebene TCP-Pose oder TCP-Bahn sein.
-
In einem ersten Schritt S10 ermittelt die Steuerung 2 Kräfte, insbesondere Drehmomente Ti um die (Dreh)Achsen, in den Gelenken des Roboters, beispielsweise mittels Kraft-, insbesondere Drehmoment-Sensoren in den Gelenken (nicht dargestellt).
-
In einem zweiten Schritt S20 ermittelt die Steuerung 2 hieraus eine extern auf den Roboter ausgeübte Kraft Text, beispielsweise gemäß Gl. (6) oder auf andere Weise.
-
In einem dritten Schritt S30 ermittelt die Steuerung 2 auf Basis dieser extern auf den Roboter ausgeübten Kraft Text und einer vorgegebenen virtuellen Masse Mund Dämpfung D mithilfe einer Admittanz-Regelung eine Admittanz-Sollbewegung q̇a bzw. q̈a, beispielsweise gemäß Gl. (5), (5') mit K = 0 oder auf andere Weise.
-
In einem vierten Schritt S40 projiziert die Steuerung 2 diese Admittanz-Sollbewegung in den Nullraum der Aufgabe, addiert eine Aufgaben-Sollbewegung, die sie auf Basis der generalisierten bzw. Pseudoinversen der Jacobimatrix der vorgegebenen Aufgabe, beispielsweise gemäß Gl. (7) oder auf andere Weise, ermittelt, und führt die resultierende bzw. gemäß Gl. (8) ermittelte Soll-Bewegung q̇d, gegebenenfalls nach Integration zu einer Soll-Stellung qd im Gelenkkoordinatenraum, einer Geschwindigkeits- bzw. Positionsregelung zu, die entsprechende Gelenkwinkel kommandiert bzw. Antriebe des Roboters 10 (nicht dargestellt) entsprechend (an)steuert.
-
Dadurch führt der Roboter 10 beim Durchführen der Aufgabe im Nullraum eine von der extern auf ihn ausgeübten Kraft und der vorgegebenen virtuellen Masse und Dämpfung abhängige Admittanz-Bewegung q̇a durch.
-
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
-
- 10
- Roboter
- 11
- Roboterendflansch
- 12
- robotergeführtes Werkzeug
- 13
- Werkzeugspitze
- 2
- Steuerung
- q1,... q7 = q
- Gelenkkoordinaten/-winkel
- X
- roboterfeste Referenz