DE102018207921B3 - Steuern eines Roboters - Google Patents

Steuern eines Roboters Download PDF

Info

Publication number
DE102018207921B3
DE102018207921B3 DE102018207921.8A DE102018207921A DE102018207921B3 DE 102018207921 B3 DE102018207921 B3 DE 102018207921B3 DE 102018207921 A DE102018207921 A DE 102018207921A DE 102018207921 B3 DE102018207921 B3 DE 102018207921B3
Authority
DE
Germany
Prior art keywords
robot
limitation
axis
task
forces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018207921.8A
Other languages
English (en)
Inventor
Juan David Munoz Osorio
Mario Daniele Fiore
Felix Allmendinger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102018207921.8A priority Critical patent/DE102018207921B3/de
Priority to PCT/EP2019/062575 priority patent/WO2019219795A1/de
Priority to KR1020207034504A priority patent/KR20210010870A/ko
Priority to CN201980033367.4A priority patent/CN112135718A/zh
Application granted granted Critical
Publication of DE102018207921B3 publication Critical patent/DE102018207921B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39226Operational space formulation, project model into cartesian coordinates

Abstract

Bei einem erfindungsgemäßen Verfahren zum Steuern eines Roboters (1) wird der Roboter nachgiebig kraftgeregelt (S50), wobei Soll-Antriebskräfte auf Basis sowohl einer vorgegebenen Begrenzung von Achsstellungen, -geschwindigkeiten und/oder -beschleunigungen als auch einer vorgegebenen Aufgabe derart ermittelt werden (S10, S30), dass die Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe priorisiert wird.

Description

  • 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 M ( q ) q ¨ + c ( q , q ˙ ) + g ( q ) = τ
    Figure DE102018207921B3_0001
    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 Λ t ( x t ) x ¨ t + μ t ( x t , x ˙ t ) + p t ( x t ) = f t
    Figure DE102018207921B3_0002
    mit x ˙ = J t q ˙ Λ t = ( J t M 1 J t T ) 1 J ¯ t = M 1 J t T Λ t μ t = J ¯ t T c Λ t J ˙ t q ˙ p t = J ¯ t T g
    Figure DE102018207921B3_0003
    mit der Aufgaben-Jacobimatrix Jt. Der Kommandovektor f* entspricht einer gewünschten Beschleunigung ẍt der Aufgabe, der Kommandovektor f*pos = kp (xE,d - xE) + kd (ẋ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 Q min , i < q i < Q max , i V min , i < q ˙ i < V max , i A min , i < q ¨ i < A max , i
    Figure DE102018207921B3_0004
    und einem Zeit-, insbesondere Abtast- bzw. Regelinkrement T, einheitlich auf Beschleunigungsebene formuliert werden, insbesondere in der Form: Q ¨ max , i = min ( 2 Q max , i q q ˙ T T 2 , V max , i q T , A max , i ) Q ¨ min , i = max ( 2 Q min , i q q ˙ T T 2 , V min , i q T , A min , i )
    Figure DE102018207921B3_0005
    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, Q ˙ max , i = min ( V max , i , 2 A max , i ( q i Q min , i ) ) Q ˙ min , i = max ( V min , i , 2 A max , i ( Q min , i q i ) ) Q ¨ max , i = min ( 2 Q max , i q q ˙ T T 2 , Q ˙ max , i q T , A max , i ) Q ¨ min , i = max ( 2 Q min , i q q ˙ T T 2 , Q ˙ min , i q T , A min , i )
    Figure DE102018207921B3_0006
    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 f lim *
    Figure DE102018207921B3_0007
    bzw. die Soll-Antriebskräfte τd iterativ ermittelt, wobei in einer Ausführung initial τ lim = 0 q ¨ s a t = 0 N lim = 1
    Figure DE102018207921B3_0008

    gesetzt, dann τ d = τ lim + N lim τ t q ¨ = M 1 ( τ d g c )
    Figure DE102018207921B3_0009
    ermittelt und mit q ¨ i > Q ¨ max , i q ¨ s a t , i = Q ¨ max , i q ¨ i < Q ¨ min , i q ¨ s a t , i = Q ¨ min , i
    Figure DE102018207921B3_0010
    die neuen virtuellen Rückstellkräfte f lim *
    Figure DE102018207921B3_0011
    bzw. diesen entsprechende Anteile τlim der Soll-Antriebskräfte τd gemäß f lim * = q ¨ s a t τ lim = J lim T ( Λ lim f lim * + p lim + μ lim ) N lim = 1 J lim T J ¯ lim T
    Figure DE102018207921B3_0012
    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 für ( nur ) q ¨ 2 > Q ¨ max ,2 J lim = [ 0 1 0 0 ] ,
    Figure DE102018207921B3_0013
    für ( nur ) q ¨ 2 > Q ¨ max ,2 , q ¨ 3 > Q ¨ max ,3 J lim = [ 0 1 0 0 0 0 0 1 0 0 ] etc .
    Figure DE102018207921B3_0014
  • 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'): q ˙ ( t + T ) q ˙ ( t ) + q ¨ ( t ) T ;   q ( t + T ) q ( t ) + q ˙ ( t ) T + 1 2 q ¨ ( t ) T 2 ) .
    Figure DE102018207921B3_0015
  • 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 τ t = J 1 T f 1 + N 1 τ t ,2 τ t , k 1 = J k 1 T f k 1 + N k 1 τ t , k τ t , k = J k T f k
    Figure DE102018207921B3_0016

    mit den virtuellen Aufgabenkräften zur Durchführung der k. Teilaufgabe fk und dem Projektor N lim/ t / k = 1 J lim/ t / k T J ¯ lim/ k / k T
    Figure DE102018207921B3_0017
  • Beispielsweise werden in einer Ausführung virtuelle Aufgabenkräften zur Durchführung der (Teil)Aufgabe, eine kartesische Position xE zu halten, auf Basis bzw. entsprechend eines virtuellen Feder-Dämpfer-Systems ermittelt: f t , E = k p ( x E x ) + k d ( x ˙ E x ˙ )
    Figure DE102018207921B3_0018
  • 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 f lim *
    Figure DE102018207921B3_0019
    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)

Claims (10)

  1. Verfahren zum Steuern eines Roboters (1), wobei der Roboter nachgiebig kraftgeregelt wird (S50), wobei Soll-Antriebskräfte auf Basis sowohl einer vorgegebenen Begrenzung von Achsstellungen, -geschwindigkeiten und/oder -beschleunigungen als auch einer vorgegebenen Aufgabe derart ermittelt werden (S10, S30), dass die Einhaltung der Begrenzung gegenüber der Durchführung der Aufgabe priorisiert wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Soll-Antriebskräfte derart ermittelt werden, 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.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vorgegebene Aufgabe ein Anfahren, Halten und/oder Beabstanden von wenigstens einer vorgegebenen Pose im Arbeits- und/oder Achsraum des Roboters aufweist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vorgegebene Aufgabe wenigstens eine erste und eine zweite Teilaufgabe aufweist und die Soll-Antriebskräfte derart ermittelt werden, dass die Durchführung der ersten Teilaufgabe gegenüber der Durchführung der zweiten Teilaufgabe priorisiert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Soll-Antriebskräfte auf Basis eines dynamischen Modells des Roboters ermittelt werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die 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 ermittelt werden.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Soll-Antriebskräfte zur Einhaltung der Begrenzung iterativ und/oder auf Basis virtueller Achsbeschleunigungen des Roboters ermittelt werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vorgegebene Begrenzung von Achsstellungen und/oder -geschwindigkeiten die Begrenzung von Achsbeschleunigungen und/oder die vorgegebene Begrenzung von Achsstellungen und/oder -beschleunigungen die Begrenzung von Achsgeschwindigkeiten limitiert.
  9. Steuerung (2) zum Steuern eines Roboters (1), die zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.
  10. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8.
DE102018207921.8A 2018-05-18 2018-05-18 Steuern eines Roboters Active DE102018207921B3 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102018207921.8A DE102018207921B3 (de) 2018-05-18 2018-05-18 Steuern eines Roboters
PCT/EP2019/062575 WO2019219795A1 (de) 2018-05-18 2019-05-16 Steuern eines roboters
KR1020207034504A KR20210010870A (ko) 2018-05-18 2019-05-16 로봇의 제어
CN201980033367.4A CN112135718A (zh) 2018-05-18 2019-05-16 机器人的控制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018207921.8A DE102018207921B3 (de) 2018-05-18 2018-05-18 Steuern eines Roboters

Publications (1)

Publication Number Publication Date
DE102018207921B3 true DE102018207921B3 (de) 2019-06-19

Family

ID=66674530

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018207921.8A Active DE102018207921B3 (de) 2018-05-18 2018-05-18 Steuern eines Roboters

Country Status (1)

Country Link
DE (1) DE102018207921B3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220619B3 (de) * 2019-12-30 2021-01-28 Kuka Deutschland Gmbh Bewegen einer roboterfesten Referenz

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008035507A1 (de) 2007-07-30 2009-02-05 Denso Wave Inc. Steuerung für einen Robotor mit einem Roboterkörper und eine zusätzliche Einrichtung, die zusätzliche Operationsachsen liefert
DE102010005708A1 (de) 2009-01-26 2010-07-29 FANUC LTD, Oshino-mura Produktionssystem mit überlappendem Bearbeitungsbereich zwischen Mensch und Roboter
DE102010052418A1 (de) 2009-11-30 2011-06-30 GM Global Technology Operations LLC, ( n. d. Ges. d. Staates Delaware ), Mich. Kraftbegrenzungseinrichtung und Verfahren
DE102013203381B4 (de) 2012-03-15 2015-07-16 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102015004484A1 (de) 2014-04-14 2015-10-15 Fanuc Corporation Robotersteuerung und Robotersystem zum Bewegen eines Roboters in Erwiderung einer Kraft
DE102015115229B4 (de) 2014-09-11 2017-03-23 Denso Corporation Positionierungssteuergerät

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008035507A1 (de) 2007-07-30 2009-02-05 Denso Wave Inc. Steuerung für einen Robotor mit einem Roboterkörper und eine zusätzliche Einrichtung, die zusätzliche Operationsachsen liefert
DE102010005708A1 (de) 2009-01-26 2010-07-29 FANUC LTD, Oshino-mura Produktionssystem mit überlappendem Bearbeitungsbereich zwischen Mensch und Roboter
DE102010052418A1 (de) 2009-11-30 2011-06-30 GM Global Technology Operations LLC, ( n. d. Ges. d. Staates Delaware ), Mich. Kraftbegrenzungseinrichtung und Verfahren
DE102013203381B4 (de) 2012-03-15 2015-07-16 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102015004484A1 (de) 2014-04-14 2015-10-15 Fanuc Corporation Robotersteuerung und Robotersystem zum Bewegen eines Roboters in Erwiderung einer Kraft
DE102015115229B4 (de) 2014-09-11 2017-03-23 Denso Corporation Positionierungssteuergerät

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KHATIB, Oussama: A unified approach for motion and force control of robot manipulators: The operational space formulation. In: IEEE Journal of Robotics and Automation, Bd. RA-3, 1987, H. 1, S. 43-53. - ISSN 0882-4967 (p). DOI: 10.1109/JRA.1987.1087068. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1087068 [abgerufen am 2018-09-25]. *
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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220619B3 (de) * 2019-12-30 2021-01-28 Kuka Deutschland Gmbh Bewegen einer roboterfesten Referenz
WO2021136658A1 (de) 2019-12-30 2021-07-08 Kuka Deutschland Gmbh Bewegen einer roboterfesten referenz

Similar Documents

Publication Publication Date Title
EP3323026B1 (de) Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird
EP2868445B1 (de) Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE102009058004B4 (de) Impedanzsteuerung im Betriebsraum mit mehreren Prioritäten
DE102014202145A1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter
DE102007026299B4 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
EP3408061A1 (de) Verfahren und system zur bahnplanung eines redundanten roboters
DE102018210864B3 (de) Verfahren und System zum Regeln eines Roboters
DE102017004711B4 (de) Robotersteuerung
DE102018200864B3 (de) Verfahren und System zum Steuern eines Roboters
DE102018214257B3 (de) Roboterregelung
WO2018010842A1 (de) Redundanzauflösung für einen redundanten manipulator
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102018207921B3 (de) Steuern eines Roboters
DE102018207919B3 (de) Robotersteuerung
EP4084937B1 (de) Bewegen einer roboterfesten referenz
DE102016009436A1 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
WO2019219795A1 (de) Steuern eines roboters
DE102020209866B3 (de) Verfahren und System zum Betreiben eines Roboters
DE102019219930B3 (de) Verfahren und System zum Steuern eines Roboters
WO2020169302A1 (de) Verfahren und system zum durchführen einer vorgegebenen aufgabe durch einen roboter
DE102018209870B3 (de) Verfahren und System zum Überführen eines Endeffektors eines Roboters zwischen einer Endeffektorpose und einer weiteren Endeffektorpose
DE102018208088A1 (de) Verfahren und Steuerung zum Steuern eines Roboters
DE102022200943B3 (de) Steuern eines Teleroboters
DE102020204829A1 (de) Modellieren von Objekten mittels robotergeführter Kameras

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final