-
Die vorliegende Erfindung betrifft ein Verfahren und ein System zum Steuern eines Roboters sowie eine Anordnung mit dem System und ein Computerprogrammprodukt zur Durchführung des Verfahrens.
-
Zur Handführung von Robotern sind unterschiedliche Ansätze bekannt. So kann beispielsweise durch Strombegrenzung in Antriebsmotoren und Wegfall eines Integralanteils einer Positionsregelung ein Roboter manuell bewegt werden.
-
Fortschrittlichere Ansätze basieren üblicherweise auf einer Kraft-, insbesondere Admittanzregelung, bei der der Roboter auf einen robotergeführten Kraftsensor ausgeübten oder durch eine manuelle Beaufschlagung eines Roboterglieds induzierten Gelenkkräften nachfolgt bzw. auszuweichen sucht, wobei vorliegend zur kompakteren Darstellung antiparallele Kräftepaare bzw. (Dreh)Momente verallgemeinernd ebenfalls als Kräfte und eine Regelung, d.h. eine Vorgabe von Steuergrößen in Abhängigkeit von erfassten Ist-Größen, insbesondere deren Differenz zu vorgegebenen Soll-Größen, verallgemeinernd ebenfalls als Steuern bezeichnet werden.
-
Ein aus der
DE 10 2015 014 994 B3 bekanntes Verfahren zum Steuern eines Roboters umfasst die Schritte: Ermitteln einer Ist-Geschwindigkeit des Roboters, Ermitteln einer Soll-Geschwindigkeit, Ermitteln einer Dämpfungs-Antriebsgröße auf Basis einer Differenz zwischen der Soll-Geschwindigkeit und der Ist-Geschwindigkeit; und Ansteuern einer Antriebsanordnung mit wenigstens einem Antrieb des Roboters auf Basis der Dämpfungs-Antriebsgröße, wobei die Soll-Geschwindigkeit auf Basis einer vorgegebenen Maximalgeschwindigkeit, einer vorgegebenen Minimalgeschwindigkeit und/oder eines Abstands des Roboters zu wenigstens einer vorgegebenen Grenze ermittelt wird.
-
Die
US 9,579,787 B2 betrifft ein Verfahren zum Programmieren eines Industrieroboters, aufweisend die Schritte des Auswählens eines Programmbefehls, dessen zugeordneter Steifigkeitsparameter im Programmiermodus überprüft, geändert und/oder gespeichert werden soll, des Bewegens des Manipulatorarms in eine Prüf-Pose, in welcher der Industrieroboter zum manuellen Berühren und/oder Bewegen des Manipulatorarms eingerichtet und/oder angeordnet ist, und des automatischen Ansteuerns des Manipulatorarms durch die Steuervorrichtung derart, dass der Manipulatorarm in der Prüf-Pose die dem zugeordneten Steifigkeitsparameter des ausgewählten Programmbefehls entsprechende Steifigkeit aufweist.
-
Die
US 2004/0128026 A1 betrifft ein Verfahren zum Steuern eines Roboters mit aktiver Beschränkung mittels einer Serie motorisierter Gelenke, um einem Chirurgen in Echtzeit eine taktile Rückmeldung über eine stattfindende Operation zu liefern. Das Robotersystem hält in einem Speicher eine Serie von Beschränkungsoberflächen, hinter die zu gehen für den Chirurgen gefährlich wäre. Eine Widerstandskraft wird auf das Schnittwerkzeug ausgeübt, wenn der Chirurg sich irgendeiner dieser Oberflächen nähert. Um die Gesamtqualität der durch den Chirurgen erfahrenen Rückmeldung zu verbessern, hängt die Widerstandskraft von dem Schnittpunkt zwischen dem von dem Chirurgen ausgeübten Kraftfaktor und der Oberfläche ab.
-
Aufgabe der vorliegenden Erfindung ist es, eine Robotersteuerung zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Ansprüche 10 - 12 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens bzw. eine Anordnung mit einem hier beschriebenen System 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: Erfassen aktueller Stellungen von Gelenken des Roboters, insbesondere mithilfe von Gelenkstellungssensoren, insbesondere Gelenkwinkelsensoren, beispielsweise Resolvern, Encodern oder dergleichen.
-
Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, insbesondere wenigstens sieben Gelenke, insbesondere Drehgelenke, bzw. (Bewegungs-, insbesondere Dreh)Achsen auf, er kann insbesondere einen gelenkigen Roboterarm aufweisen, insbesondere ein solcher sein.
-
Durch sechs oder mehr Gelenke können in einer Ausführung vorteilhaft unterschiedlichste Lagen und Orientierungen eines distalen Roboter(arm)flanschs bzw. robotergeführten Werkzeugs oder -stücks im Raum dargestellt werden, durch sieben oder mehr Gelenke vorteilhaft dieselbe Lage und Orientierung in unterschiedlichen Roboter(arm)posen.
-
In einer Ausführung weist der Roboter(arm) Antriebe zum Aktuieren, insbesondere Bewegen bzw. Verstellen, der Gelenke bzw. (Bewegungs)Achsen auf, insbesondere Elektro-, insbesondere Servomotoren.
-
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf: Aktuieren der Gelenke durch die Antriebe des Roboters auf Basis bzw. in Abhängigkeit von den erfassten aktuellen Gelenkstellungen derart, insbesondere mit der Maßgabe, dass wenigstens ein Antrieb, der nachfolgend auch als (softwaretechnisch) begrenzter Antrieb bezeichnet wird, eine handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks unterstützt, falls ein Abstand zwischen dessen (aktueller) erfasster oder Soll-Gelenkstellung und einer vorgegebenem ersten Begrenzung einen ersten Wert, insbesondere Betrag, aufweist, und demgegenüber weniger unterstützt, falls dieser Abstand einen zweiten Wert, insbesondere Betrag, aufweist, der, insbesondere betragsmäßig, kleiner als der erste Wert ist, und (falls) zusätzlich die handführungsinduzierte Bewegung zu der ersten Begrenzung hin gerichtet ist.
-
Hierdurch können in einer Ausführung bei einem Handführen des Roboters auf Basis erfasster Gelenkstellungen, das vorteilhafterweise mit einer langsameren Regeltaktrate erfolgen kann als eine Kraftregelung, softwaretechnische Endanschläge von Gelenken vorteilhaft berücksichtigt werden.
-
Eine Handführung umfasst in einer Ausführung eine manuelle Beaufschlagung eines oder mehrerer Glieder und/oder Gelenke des Roboter(arm)s mit einer externen Kraft, insbesondere eine manuelle Bewegung eines oder mehrerer Glieder und/oder Gelenke des Roboter(arm)s (durch eine manuell aufgeprägte externe Kraft).
-
Eine handführungsinduzierte Bewegung eines Gelenks umfasst entsprechend insbesondere eine, insbesondere unmittelbare oder auch mittelbare, Bewegung bzw. Verstellung des Gelenks bzw. der Achse infolge bzw. aufgrund der Handführung.
-
In einer Ausführung unterstützt der (begrenzte) bzw. ein Antrieb eine handführungsinduzierte Bewegung eines durch ihn aktuierten Gelenks, indem er eine Antriebskraft, insbesondere also bei einem Drehgelenk ein Antriebs(dreh)moment, auf das Gelenk bzw. die Achse aufprägt bzw. ausübt, die bzw. das gleichsinnig mit dieser Bewegung ist. Entsprechend unterstützt in einer Ausführung ein Antrieb eine handführungsinduzierte Bewegung stärker, indem er eine größere gleichsinnig( bewegende)e Antriebskraft auf das Gelenk aufprägt bzw. ausübt, und (demgegenüber) weniger, indem er eine (demgegenüber) kleinere gleichsinnig( bewegend)e Antriebskraft, insbesondere keine (bewegende bzw. nur eine haltende) Antriebskraft oder sogar eine gegensinnig( bewegend)e Antriebskraft, auf das Gelenk aufprägt bzw. ausübt. Mit anderen Worten „folgt“ der Roboter in dem (begrenzten) Gelenk einer Handführung leichter bzw. ist in dem (begrenzten) Gelenk (steuerungstechnisch) nachgiebiger, falls der Abstand den ersten Wert aufweist, und demgegenüber schwerer bzw. mit größerem Widerstand, falls der Abstand den zweiten Wert aufweist. In einer Ausführung umfasst eine Unterstützung einer handführungsinduzierten Bewegung eines Gelenks durch einen bzw. den (begrenzten) Antrieb die Vorgabe einer zu dieser Bewegung gleichsinnigen Soll-Gelenkstellungsänderung bzw. einer (neuen) Soll-Gelenkstellung in Richtung dieser Bewegung und/oder eine Impedanzregelung.
-
In einer Ausführung weist das Verfahren den Schritt auf: Aktuieren der Gelenke durch die Antriebe des Roboters auf Basis bzw. in Abhängigkeit von den erfassten aktuellen Gelenkstellungen derart, insbesondere mit der Maßgabe, dass der (begrenzte) Antrieb die handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks unterstützt, falls ein Abstand zwischen dessen (aktueller) erfasster oder Soll-Gelenkstellung und einer vorgegebenem zweiten Begrenzung einen dritten Wert, insbesondere Betrag, aufweist, und demgegenüber weniger unterstützt, falls dieser Abstand einen vierten Wert, insbesondere Betrag, aufweist, der, insbesondere betragsmäßig, kleiner als der dritte Wert ist, und zusätzlich die handführungsinduzierte Bewegung zu der zweiten Begrenzung hin gerichtet ist. Der dritte Wert kann in einer Ausführung der erste Wert oder von diesem verschieden sein, der vierte Wert kann in einer Ausführung der zweite Wert oder von diesem verschieden sein.
-
In einer Ausführung begrenzen die erste und zweite Begrenzung somit einen zulässigen Bewegungs- bzw. Verstellbereich des Gelenks beidseitig. Insbesondere kann die erste Begrenzung eine Ober- und die zweite Begrenzung eine Untergrenze oder umgekehrt die erste Begrenzung eine Unter- und die zweite Begrenzung eine Obergrenze sein. In einer Ausführung wird bzw. ist die erste und/oder zweite Begrenzung softwaretechnisch vorgegeben, insbesondere abgespeichert, insbesondere fest oder durch einen Anwender durch eine entsprechende Eingabe veränder-, insbesondere parametrierbar.
-
Hierdurch können in einer Ausführung Endanschläge von Gelenken vorteilhaft berücksichtigt werden. Durch feste Begrenzungen kann in einer Ausführung eine Mechanik des Roboters zuverlässig geschützt werden, durch veränderbare bzw. variable Begrenzungen ein Arbeitsraum des Roboters vorteilhaft verändert, insbesondere an unterschiedliche Randbedingungen angepasst werden.
-
In einer Ausführung unterstützt der (begrenzte) Antrieb die handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks nicht, falls der Abstand zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten oder zweiten Begrenzung höchstens einen vorgegebenen Mindestbetrag aufweist, der insbesondere auch gleich Null sein kann. In einer Weiterbildung wirkt der (begrenzte) Antrieb der handführungsinduzierten Bewegung des durch ihn aktuierten Gelenks sogar entgegen, falls der Abstand höchstens den Mindestbetrag aufweist, insbesondere, indem er das Gelenk gegen die handführungsinduzierte Bewegung zurückzustellen versucht bzw. eine entsprechende Antriebskraft aufprägt bzw. ausübt.
-
Zusätzlich oder alternativ unterstützt in einer Ausführung der (begrenzte) Antrieb die handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks, falls bzw. obwohl der Abstand zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten Begrenzung kleiner als der erste Wert, aber bzw. sofern die handführungsinduzierte Bewegung von der ersten Begrenzung weg gerichtet ist, und/oder falls bzw. obwohl der Abstand zwischen der erfasster Gelenkstellung und der zweiten Begrenzung kleiner als der dritte Wert, aber bzw. sofern die handführungsinduzierte Bewegung von der zweiten Begrenzung weg gerichtet ist.
-
Hierdurch können in einer Ausführung Endanschläge von Gelenken besonders vorteilhaft berücksichtigt werden.
-
In einer Ausführung wird eine Unterstützung der handführungsinduzierten Bewegung des Gelenks durch den Antrieb, insbesondere eine zu der Bewegung gleichsinnige Antriebskraft und/oder Soll-Gelenkstellungsänderung, wenigstens in einem vorgegebenen Bereich des Abstands zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten oder zweiten Begrenzung monoton, insbesondere streng monoton, insbesondere linear, reduziert, falls die handführungsinduzierte Bewegung zu dieser Begrenzung hin gerichtet ist.
-
Hierdurch kann dem handführenden Anwender ein bei Annäherung an eine Begrenzung zunehmend zäheres Roboterverhalten diese Annäherung anzeigen und/oder ein Anfahren der Begrenzung zunehmend erschweren und so insbesondere die Wahrscheinlichkeit eines ungewollten Überschreitens einer Endstellung oder Blockierens in einer Endstellung reduzieren.
-
In einer Ausführung aktuiert der (begrenzte) Antrieb das Gelenk j zur Unterstützung der handführungsinduzierten Bewegung des Gelenks auf Basis, insbesondere mithilfe, einer aktuelle Änderung q
j, Cmd(t
2) - q
j, Cmd(t
1) bzw. q
j,
Cmd (i+1) - q
j, Cmd(i) einer bzw. der Soll-Gelenkstellung q
j, Cmd, die, insbesondere proportional, von einer Differenz der erfassten aktuellen Gelenkstellung des durch ihn aktuierten Gelenks und einer aktuellen Soll-Gelenkstellung für den Antrieb abhängt, insbesondere, indem eine neue (kommandierte) Soll-Gelenkstellung q
j, Cmd(t
2) bzw. q
j, Cmd(i+1), die der Antrieb anzufahren versucht bzw. diesem vorgegeben wird, aus der Summe der vorhergehend(kommandiert)en Soll-Gelenkstellung q
j, Cmd(t
1) bzw. q
j, Cmd(i) und der mit einem Proportionalitätsfaktor k
j, multiplizierten Differenz [q
j, Msr(t
1) - q
j, Cmd(t
1)] bzw. [qj,
Msr(i) - q
j, Cmd(i)] der erfassten aktuellen Gelenkstellung q
j, Msr(t
1) bzw. q
j, Msr(i) und dieser vorhergehend(kommandiert)en Soll-Gelenkstellung bestimmt wird:
bzw.
-
Insbesondere hierdurch kann in einer Ausführung eine differentielle Impedanzregelung implementiert werden, die vorteilhafterweise keine (schnelle) Krafterfassung bzw. -regelung erfordert und entsprechend in einer Ausführung ohne eine solche implementiert sein bzw. werden kann.
-
In einer Ausführung hängt ein bzw. der Proportionalitätsfaktor k
j, der Abhängigkeit der aktuelle Änderung der Soll-Gelenkstellung von der Differenz von der Richtung der handführungsinduzierten Bewegung und/oder, insbesondere wenigstens abschnittsweise linear, von dem Abstand zwischen der (aktuellen) erfassten oder Soll-Gelenkstellung und der ersten und/oder zweiten Begrenzung ab, in einer Weiterbildung in der Form (vgl.
3)
mit dem Abstand
mit der ersten Begrenzung q
jM und der kleineren zweiten Begrenzung q
jm < q
jM sowie der Abkürzung q
j = q
j, Msr(t
1) bzw. q
j, Msr(i) oder q
j = q
j, Cmd(t
1) bzw. q
j, Cmd(i).
-
Hierdurch kann das vorstehend erläuterte zunehmend zähere Roboterverhalten bei Annäherung an eine Begrenzung besonders vorteilhaft realisiert werden.
-
In einer Ausführung weist das Verfahren den Schritt auf: Aktuieren der Gelenke durch die Antriebe des Roboters auf Basis bzw. in Abhängigkeit von den erfassten aktuellen Gelenkstellungen derart, insbesondere mit der Maßgabe, dass ein minimaler Abstand zwischen einem, insbesondere hard- und/oder softwaretechnisch, vorgegebenen, insbesondere umgebungs- bzw. raumfesten, Fixpunkt und einer roboterfesten Referenz, insbesondere einem robotergeführten Schaft, minimiert wird, und dabei zusätzlich der (begrenzte) Antrieb das durch ihn aktuierte Gelenk in der hier beschriebenen Weise zur Unterstützung der handführungsinduzierten Bewegung aktuiert, sofern bzw. soweit dies - bei Minimierung des minimalen Abstands, (zusätzlich noch) möglich ist.
-
Hierdurch kann in einer Ausführung die hier beschriebene vorteilhafte Berücksichtigung von softwaretechnischen Endanschlägen von Gelenken, insbesondere die Reduzierung der Wahrscheinlichkeit eines ungewollten Überschreitens oder Blockierens in einer Endstellung, als sekundäre bzw. nachrangige bzw. niedriger priorisierte Aufgabe auch eine Handführung eines Roboters verbessern, der als primäre bzw. vor- bzw. höherrangige bzw. höher priorisierte Aufgabe versucht, die roboterfeste Referenz an dem Fixpunkt zu halten, insbesondere den Schaft durch einen vorgegebenen Fixpunkt zu führen. Mit besonderem Vorteil kann der Schaft der Schaft eines (robotergeführten) chirurgischen Instruments und/oder der vorgegebene Fixpunkt ein sogenannter Trokarpunkt bzw. eine natürlich oder künstliche Körperöffnung sein, durch den bzw. die der Schaft für eine, insbesondere minimalinvasive, Untersuchung und/oder Operation eingeführt wird bzw. ist, ohne dass die vorliegende Erfindung auf diese Anwendung eingeschränkt wäre.
-
In einer Ausführung aktuieren die Antriebe die Gelenke auf Basis bzw. in Abhängigkeit von einer aktuellen Änderung einer Soll-Gelenkstellung, die von einem, insbesondere in den Gelenkraum transformierten kartesischen, minimalen Abstand von der roboterfesten Referenz zu dem vorgegebenen Fixpunkt, insbesondere einem (Task)Vektor, der diesen Abstand enthält, abhängt, insbesondere auf dessen Basis ermittelt wird.
-
Zusätzlich oder alternativ wird in einer Ausführung eine aktuelle Änderung einer Soll-Gelenkstellung des (begrenzten) Antriebs zur Unterstützung der handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks j in einen Nullraum der Minimierung des minimalen Abstands zwischen dem vorgegebenen Fixpunkt und der roboterfesten Referenz projiziert.
-
Hierdurch kann in einer Ausführung die Minimierung des minimalen Abstands zwischen dem vorgegebenen Fixpunkt und der roboterfesten Referenz als primäre Aufgabe in Form einer differentiellen Impedanzregelung implementiert und dabei die softwaretechnischen Endanschlägen soweit möglich zusätzlich als sekundäre Aufgabe vorteilhaft mit berücksichtigt werden.
-
In einer Ausführung wird der dem Fixpunkt
T (kartesisch) nächste Punkt
C auf der roboterfesten Referenz, insbesondere also dem robotergeführten Schaft ermittelt, so dass ein (Task)Vektor x
CT den, insbesondere zweidimensionalen, minimalen Abstand von der roboterfesten Referenz zu dem vorgegebenen Fixpunkt beschreibt und in einer Ausführung
2 Dimensionen bzw. Komponenten für diesen Abstand und/oder (wenigstens) eine Dimension bzw. (Task)Komponente für einen Redundanzparameter, insbesondere einen Ellbogenwinkel des Roboters, aufweist. Mit einer Pseudo-Inversen, insbesondere der Moore-Penrose-Pseudo-Inversen, J
+, der (Task)Jacobimatrix J, die sich aus der Jacobimatrix des Roboters, die Gelenkgeschwindigkeiten dq/dt des Roboters auf eine kartesische Geschwindigkeit des Punktes
C abbildet, und der Jacobimatrix des Redundanzparameters, insbesondere Ellbogenwinkels, zusammensetzt, und der Einheitsmatrix / ergibt sich die Nullraumprojektion bzw. deren Operator N in an sich bekannter Weise als
und somit die neuen (kommandierten) Soll-Gelenkstellungen q
Cmd(t
2) bzw. q
Cmd(i+1) insbesondere gemäß
bzw.
mit der Diagonalmatrix K = diag{k
1,...} und dem Vektor der Gelenkstellungen q = [q
1,...]
T. Anschaulich gesprochen wird der minimale kartesische Abstand bzw. dessen Minimierung in differentieller Form als primäre Aufgabe einer Redundanzauflösung vorgegeben und als sekundäre Aufgabe die Unterstützung der handführungsinduzierten Gelenkbewegungen in den Nullraum dieser Redundanzauflösung projiziert.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System zum Steuern eines Roboters, insbesondere ein System einer Anordnung mit dem Roboter, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Erfassen aktueller Stellungen von Gelenken des Roboters; und
- Mittel zum Aktuieren der Gelenke durch Antriebe des Roboters auf Basis dieser erfassten aktuellen Gelenkstellungen derart, dass wenigstens ein Antrieb eine handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks unterstützt, falls ein Abstand zwischen dessen erfasster oder Soll-Gelenkstellung und einer vorgegebenem ersten Begrenzung einen ersten Wert aufweist, und demgegenüber weniger unterstützt, falls dieser Abstand einen zweiten Wert aufweist, der kleiner als der erste Wert ist, und zusätzlich die handführungsinduzierte Bewegung zu der ersten Begrenzung hin gerichtet ist.
-
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Aktuieren der Gelenke durch die Antriebe des Roboters auf Basis der erfassten aktuellen Gelenkstellungen derart, dass der Antrieb die handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks unterstützt, falls ein Abstand zwischen dessen erfasster oder Soll-Gelenkstellung und einer vorgegebenem zweiten Begrenzung einen dritten Wert aufweist, und demgegenüber weniger unterstützt, falls dieser Abstand einen vierten Wert aufweist, der kleiner als der dritte Wert ist, und zusätzlich die handführungsinduzierte Bewegung zu der zweiten Begrenzung hin gerichtet ist.
-
Zusätzlich oder alternativ ist das System bzw. sein(e) Mittel dazu bzw. derart, insbesondere hard- und/oder software-, insbesondere programmtechnisch, eingerichtet, dass der Antrieb die handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks nicht unterstützt, falls der Abstand zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten oder zweiten Begrenzung höchstens einen vorgegebenen Mindestbetrag aufweist, und/oder unterstützt, falls der Abstand zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten Begrenzung kleiner als der erste Wert, aber die handführungsinduzierte Bewegung von der ersten Begrenzung weg gerichtet ist und/oder falls der Abstand zwischen der erfasster bzw. Soll-Gelenkstellung und der zweiten Begrenzung kleiner als der dritte Wert, aber die handführungsinduzierte Bewegung von der zweiten Begrenzung weg gerichtet ist.
-
Zusätzlich oder alternativ weist das System bzw. sein(e) Mittel in einer Ausführung auf: Mittel zum Reduzieren einer Unterstützung der handführungsinduzierten Bewegung des Gelenks durch den Antrieb wenigstens in einem vorgegebenen Bereich des Abstands zwischen der erfasster bzw. Soll-Gelenkstellung und der ersten oder zweiten Begrenzung monoton, insbesondere streng monoton, insbesondere linear, falls die handführungsinduzierte Bewegung zu dieser Begrenzung hin gerichtet ist; und/oder
Mittel zum Aktuieren des Gelenks durch den Antrieb zur Unterstützung der handführungsinduzierten Bewegung des Gelenks auf Basis einer aktuelle Änderung einer bzw. der Soll-Gelenkstellung, die, insbesondere proportional, von einer Differenz der erfassten aktuellen Gelenkstellung des durch ihn aktuierten Gelenks und einer aktuellen Soll-Gelenkstellung für den Antrieb abhängt, wobei in einer Weiterbildung ein Proportionalitätsfaktor der Abhängigkeit der aktuelle Änderung einer Soll-Gelenkstellung von der Differenz von der Richtung der handführungsinduzierten Bewegung und/oder, insbesondere wenigstens abschnittsweise linear, dem Abstand zwischen der erfasster oder Soll-Gelenkstellung und der ersten und/oder zweiten Begrenzung abhängt; und/oder
Mittel zum Aktuieren der Gelenke durch die Antriebe des Roboters auf Basis der erfassten aktuellen Gelenkstellungen derart, dass ein minimaler Abstand zwischen einem vorgegebenen Fixpunkt und einer roboterfesten Referenz, insbesondere einem robotergeführten Schaft, minimiert wird, und zum zusätzlichen Aktuieren des Gelenks durch den Antrieb dabei zur Unterstützung der handführungsinduzierten Bewegung sofern möglich; und/oder
Mittel zum Aktuieren der Gelenke durch die Antriebe auf Basis einer aktuellen Änderung einer Soll-Gelenkstellung, die von einem, insbesondere in den Gelenkraum transformierten kartesischen, minimalen Abstand von der roboterfesten Referenz zu dem vorgegebenen Fixpunkt abhängt; und/oder
Mittel zum Projizieren einer aktuellen Änderung einer Soll-Gelenkstellung des Antriebs zur Unterstützung der handführungsinduzierte Bewegung des durch ihn aktuierten Gelenks in einen Nullraum der Minimierung des minimalen Abstands zwischen dem vorgegebenen Fixpunkt und der roboterfesten Referenz.
-
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.
-
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. seine Mittel.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: eine Anordnung mit einem Roboter und einem System zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung;
- 2: ein Verfahren zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung; und
- 3: einen dabei verwendeten Proportionalitätsfaktor.
-
1 zeigt eine Anordnung mit einem Roboter 10 und einem System mit einer Robotersteuerung 2 zum Steuern des Roboters 10 nach einer Ausführung der vorliegenden Erfindung, die ein in 2 gezeigtes Verfahren zum Steuern des Roboters nach einer Ausführung der vorliegenden Erfindung ausführt bzw. hierzu eingerichtet ist.
-
Der Roboter 10 weist sieben Gelenk mit Gelenkstellungssensoren und Antrieben 11-17 sowie einen robotergeführten Schaft 18 auf, den er durch einen Fixpunkt T führen soll. Der Abstand zwischen Schaft 18 und Fixpunkt T ist zur Verdeutlichung stark übertrieben dargestellt.
-
Exemplarisch sind für eines der Gelenke eine durch den entsprechenden Gelenkstellungssensor erfasste aktuelle Gelenkstellung qj sowie eine softwaretechnisch vorgegebene erste, obere Begrenzung qjM > 0 und zweite, untere Begrenzung qjm < 0 angedeutet.
-
In einem Schritt S100 (vgl. 2) werden mithilfe der Gelenkstellungssensoren die aktuellen Gelenkstellungen qMsr(i) = [q1,...,qj,,,]T erfasst.
-
In einem Schritt S200 werden hieraus oder aus (aktuellen bzw. zuletzt kommandierten) Soll-Gelenkstellungen qCmd(i) = [q1,..., qj,,,]T für die einzelnen Gelenke die Abstände zu den gelenkspezifischen ersten, oberen Begrenzungen und zweiten, unteren Begrenzungen ermittelt, beispielsweise gemäß obiger Gleichung (3). Hieraus werden Proportionalitätsfaktoren ermittelt, beispielsweise gemäß obiger Gleichung (2). Exemplarisch zeigt hierzu 3 den Proportionalitätsfaktor kj für Gelenk j in Abhängigkeit von dessen Abstand dj zu seiner ersten, oberen Begrenzung qjM und zweiten, unteren Begrenzung qjm .
-
In einem Schritt S300 ermittelt die Steuerung 2 den dem Fixpunkt T nächst(gelegen)en Punkt C auf dem robotergeführten Schaft 18, den (Task)Vektor xCT , der sich aus dem (zweidimensionalen) Abstand von C nach T und einem Soll-Delta für den Redundanzparameter, insbesondere dem Ellbogenwinkel, zusammensetzt, welches in einer Ausführung gleich Null ist, sowie die Moore-Penrose-Pseudo-Inverse J+ , (Task)Jacobimatrix J und den Operator N der Nullraumprojektion (vgl. obiger Gleichung (4)).
-
Daraus berechnet die Steuerung 2 in einem Schritt S400 aktuelle Soll-Gelenkstellungsänderungen bzw. neue Soll-Gelenkstellungen, beispielsweise gemäß obiger Gleichung (5) bzw. (5').
-
In Schritt S500 aktuiert sie die Antriebe der Gelenke 11-17 gemäß dieser neuen Soll-Gelenkstellungen.
-
Anschließend führt sie Schritt S100 erneut durch, wobei diese in Schritt S400 ermittelten Soll-Gelenkstellungen nun als aktuelle Soll-Gelenkstellungen des neuen Steuer- bzw. Regeltakts bzw. -zyklus verwendet werden.
-
In einer Abwandlung kann insbesondere Schritt S300 entfallen. Dann berechnet die Steuerung 2 in Schritt S400 die aktuellen Soll-Gelenkstellungsänderungen bzw. neuen Soll-Gelenkstellungen beispielsweise gemäß obiger Gleichung (1) bzw. (1').
-
Man erkennt, dass, sofern ein Gelenk j sich beispielsweise seiner ersten, oberen Begrenzung qjM nähert, der entsprechende Proportionalitätsfaktor kj ab Unterschreiten des Abstands dthresh linear von ksat auf 0 bei dj = 0 absinkt (vgl. Gleichungen (2), (3) und 3). Entsprechend reduziert sich die Unterstützung einer handführungsinduzierten Bewegung, da die durch die Handführung bewirkte Abweichung zwischen der aktuell erfassten Gelenkstellung und der aktuellen Soll-Gelenkstellung bei der differentiellen Ermittlung der aktuellen Soll-Gelenkstellungsänderung bzw. neuen Soll-Gelenkstellung (vgl. Gleichungen (1), (1'), (5), (5')) zunehmend ausgeblendet wird und der Roboter in dem entsprechenden Gelenk seine alte Soll-Gelenkstellung beizubehalten versucht. Für den handführenden Bediener wirkt der Roboter somit „zäher“. Bewirkt die Handführung hingegen ein Entfernen von der näheren Begrenzung, folgt der Roboter bzw. das entsprechende Gelenk infolge der Unterstützung durch den Antrieb (wieder) agiler.
-
Sofern die Führung des Schafts 18 durch Fixpunkt T als primäre Aufgabe beachtet werden soll oder muss, wird diese abstandsbedingte Reduzierung der Unterstützung der Handführung als sekundäre Aufgabe ebenfalls in differentieller Form berücksichtigt soweit - unter Beachtung der primären Aufgabe - möglich.
-
Durch diese differentielle Impedanz, gegebenenfalls unter Auflösung der Redundanz bezüglich der primären Aufgabe, kann in einer Ausführung mit langsamer Taktrate und/oder, insbesondere bei mechanischen Nachgiebigkeiten in den Gelenken, auch ohne Krafterfassung in den Gelenken, eine stabile Handführung des Roboters realisiert und dabei ein Blockieren in softwaretechnischen Endanschlägen vermieden werden.
-
Bezugszeichenliste
-
- 2
- Steuerung
- 10
- Roboter(arm)
- 11-17
- Gelenk mit Gelenkstellungssensor und Antrieb
- 18
- Schaft
- C
- fixpunktnächster Punkt auf Schaft
- T
- Fixpunkt
- xct
- (Task)Vektor mit Abstand von C nach T