DE19800552C2 - Verfahren zur Kommandosteuerung eines Manipulators - Google Patents

Verfahren zur Kommandosteuerung eines Manipulators

Info

Publication number
DE19800552C2
DE19800552C2 DE19800552A DE19800552A DE19800552C2 DE 19800552 C2 DE19800552 C2 DE 19800552C2 DE 19800552 A DE19800552 A DE 19800552A DE 19800552 A DE19800552 A DE 19800552A DE 19800552 C2 DE19800552 C2 DE 19800552C2
Authority
DE
Germany
Prior art keywords
matrix
joint
max
scal
constraints
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.)
Expired - Fee Related
Application number
DE19800552A
Other languages
English (en)
Other versions
DE19800552A1 (de
Inventor
Maximilian Dr Schlemmer
Manfred Schedl
Michael Steinmetz
Georg Dr Gruebel
Reinhard Dr Finsterwalder
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE19800552A priority Critical patent/DE19800552C2/de
Priority to US09/100,014 priority patent/US6181983B1/en
Priority to FR9807783A priority patent/FR2764838B1/fr
Publication of DE19800552A1 publication Critical patent/DE19800552A1/de
Application granted granted Critical
Publication of DE19800552C2 publication Critical patent/DE19800552C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • 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/39358Time optimal control along path for singular points, having veloctiy constraints
    • 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/39361Minimize time-energy cost
    • 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/39439Joystick, handle, lever controls manipulator directly, manually by operator
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40454Max velocity, acceleration limit for workpiece and arm jerk rate as constraints

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

Die Erfindung bezieht sich auf ein Verfahren zur Komman­ dosteuerung eines Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel oder dgl. von einem Programmierer oder einer übergeordneten Aufgabe kommandierten Endeffektor- Zielverschiebungen (Δxd) in Verbindung mit einer Berechnung von Gelenkpositionswerten entsprechend einem Algorithmus in­ verser Kinematik.
Aus Siciliano, B., Sciavicco, L. "Modelling and Control of Robot Manipulators", McGraw-Hill Companies (1996), S. 95 bis 101 und aus Vukobratovic, M., Kircanski, N. "Kinematics and Trajectory Synthesis of Manipulation Robots", Springer- Verlag, Tokyo, 1986, S. 105 bis 122 sind Verfahren zur Kom­ mandosteuerung eines Manipulators auf der Grundlage komman­ dierter Endeffektor-Zielverschiebungen in Verbindung mit ei­ ner Berechnung entsprechend einem Algorithmus inverser Kine­ matik unter Benutzung der Jacobi-Matrix bekannt.
In diesem Zusammenhang ergibt sich ein Verfahren inverser Kinematik für kinematisch nichtredundante Manipulatoren, al­ lerdings in einem nicht-singuläre Stellungen enthaltenden Teilraum des Arbeitsbereichs. Da in der Praxis singuläre Konfigurationen auftreten, d. h. Gelenkpositionen, an denen die Jacobi-Matrix einen Rangabfall erfährt, ist dieses Ver­ fahren nur begrenzt einsetzbar. Wird nämlich eine singuläre Konfiguration (Singularität) angefahren, so muß der Arbeits­ vorgang, der mit dem Manipulator durchgeführt wird, (interaktives Bahnführen, Kraftregelung) abgebrochen oder verzögert werden.
In diesem Zusammenhang ist ein Verfahren mit Berechnung ei­ ner verallgemeinerten Inversen der Jacobi-Matrix bekannt, das zwar einige vorteilhafte Eigenschaften hat, dafür aber auch eine Reihe von Nachteilen mit sich bringt. So ergibt sich eine Glattheit der berechneten Gelenkbahn und ein ge­ ringer Verschleiß des Roboterantriebes durch Minimierung des lokalen Gelenkpositionsversatzes Δq (lokale Energiekriteri­ en). Außerdem wird der Abstand der Gelenkpositionen von den physikalischen Gelenkanschlägen durch Optimierung von globa­ len Kriterien im Nullraum der Jacobi-Matrix berücksichtigt.
Von Nachteil ist hierbei, daß Bahnbeschränkungen durch phy­ sikalische Gelenkanschläge nicht garantiert eingehalten wer­ den können, sich ein instabiles Verhalten in singulären Ro­ boterstellungen durch eine (verallgemeinerte) Invertierung der Jacobi-Matrix ergibt und ineffiziente Roboterbahnverläu­ fe möglich sind, wenn widersprechende lokale und globale Kriterien auftreten.
Bei einem anderen bekannten Verfahren, bei dem eine Berech­ nung der transponierten Jacobi-Matrix erfolgt, wird das kom­ mandierte Endeffektorziel, entsprechend einer Darstellung der Rückwärtskinematik als Optimierungsproblem, iterativ er­ reicht. Als vorteilhafte Eigenschaft ergibt sich hierbei ein stabiles Verhalten in singulären Roboterstellungen, da keine Invertierung der Jacobi-Matrix vorgenommen wird.
Allerdings können Bahnbeschränkungen durch physikalische Ge­ lenkanschläge und maximale Gelenkgeschwindigkeiten nicht ga­ rantiert eingehalten werden. Es müssen übergeordnete Heuri­ stiken zur Abdeckung dieser Anforderungen aufgestellt wer­ den, was sich dann in Fehlern der realen Endeffektorlage ge­ genüber der gewünschten Endeffektorlage niederschlägt. Es ergeben sich ineffiziente Bahnverläufe in Form von Störbewe­ gungen des Endeffektors, da die von der Handsteuerkugel kom­ mandierte kartesische Linearbewegung nicht exakt auf den Endeffektor des Manipulators übertragbar ist.
Darüber hinaus ergibt sich ein hoher Materialverschleiß des Roboterantriebes durch abruptes Durchfahren von singulären Roboterstellungen und auf Grund einer im allgemeinen ungenü­ gend glatten Gelenkbahn, da weder der gewichtete lokale Ge­ lenkpositionsversatz noch der lokale Gelenkgeschwindigkeits­ versatz (lokale Energie- und Beschleunigungskriterien) einer Optimierung unterzogen wurden. Außerdem muß man mit einer geringen Konvergenzgeschwindigkeit, also mit Einbußen an Echtzeitfähigkeit, auskommen, da keine praktikable optimale Strategie zur Festlegung der positiv definiten kartesischen Steifigkeitsmatrix bekannt ist.
In DE 33 44 633 C2 ist eine Echtzeitsteuerung beschrieben, bei welcher zur Berechnung der Gelenkgeschwindigkeiten red­ undante Gelenke, welche zur Bewegung eines Endeffektors nicht notwendig sind, festgehalten werden, und somit die Be­ rechnung der inversen Jacobi-Matrix vereinfacht wird. Eine derartige Berechnung wird für wenigstens eine der Gelenk- Kombinationen durchgeführt. Die Geschwindigkeiten für jedes Gelenk werden dann durch Mittelung der berechneten Gelenkge­ schwindigkeiten bestimmt. Somit erfolgt bei diesem Stand der Technik eine Gewichtung, und zwar der Gelenkgeschwindigkei­ ten.
In US 5 430 643 ist ebenfalls ein Echtzeit-Verfahren be­ schrieben, bei welchem die inverse Jacobi-Matrix berechnet wird. Auch bei dem aus der vorerwähnten US-Patentschrift be­ kannten Verfahren findet eine Berücksichtigung von Gewichts­ werten für die Gelenkgeschwindigkeiten sowie von Bahnbe­ schränkungen zumindest für eine grafische Simulation der Ro­ boterbewegung statt.
Gemäß dem älteren deutschen Patent 197 03 915 C1 der Anmel­ derin ist ein Verfahren zur Kommandosteuerung für eine in­ teraktive Bahnführung eines kinematisch redundanten Manipu­ lators auf der Basis von mit Hilfe einer Handsteuerkugel oder dergleichen von einem Programmierer kommandierter End­ effektor-Zielverschiebungen in Verbindung mit einer Berech­ nung von Gelenkpositionswerten entsprechend einem Algorith­ mus inverser Kinematik vorgeschlagen.
Bei diesem Verfahren wird ausgehend von einer kommandierten Endeffektor-Zielverschiebung und dem aktuellen Istwert (qi) der Gelenkposition des Manipulators unter Berücksichtigung einer Gütefunktion (f(q)), die durch nichtnegative Gewich­ tungswerte (αj, βj) parametriert ist und unter Berücksichti­ gung von Bahnbeschränkungen durch physikalische Gelenkan­ schläge (qmin, qmax), maximaler Gelenkgeschwindigkeit (max) und der kinematischen Gleichung, welche durch die Jacobi- Matrix repräsentiert ist, eine neue Gelenkposition (qi+1) be­ rechnet, die die neuen Werte für die Gelenkregler vorgibt, wobei die Gütefunktion die Summe aus Energiekriterium und Referenzlagekriterium ist, dabei berechnen sich das Energie­ kriterium aus (q-qi)tdiag(αj) (q-qi) und das Referenzlagenkri­ terium aus (q-qref)tdiag(βj) (q-qref), wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der berechneten Gelenkpositionswerte (qi) nahe um diesen Referenzpositionswert verläuft.
Ausgehend von einem Gelenkpositionswert qi als Startpunkt wird auf Basis der Gütefunktion ein zulässiger Optimierungs­ vektor bestimmt bezüglich aller aktiven Nebenbedingungen die angeben, welche Bahnbeschränkungen erreicht sind, und dieser wird skaliert entsprechend der inaktiven Nebenbedingungen, die angeben, welche Bahnbeschränkungen nicht erreicht sind.
Der skalierte Optimierungsvektor wird auf den im vorigen Iterationsschritt berechneten Gelenkpositionswert addiert und auf der Basis der Gütefunktion und der in der neu be­ rechneten Gelenkposition aktivierten Nebenbedingungen wird die Optimalität dieser Gelenkpositionswerte bewertet.
Bei diesem Verfahren ist vorteilhaft, daß eine wenig aufwen­ dige und damit benutzerfreundliche Parametrierung vorgesehen ist. Von Nachteil ist lediglich, daß das in dem älteren Pa­ tent der Anmelderin vorgeschlagene Verfahren nicht für Kraft­ regelungsaufgaben geeignet ist, da kein einheitliches Maß existiert, das angibt, wieviel Prozent der gewünschten End­ effektor-Zielverschiebung realisiert werden kann, und zudem die Priorität, die Endeffektor-Zielverschiebung möglichst gut zu erfüllen, verfahrensbedingt geringer ist.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren in­ verser Kinematik zur Kommandosteuerung für eine interaktive Bahnführung und/oder als modularer Baustein einer übergeord­ neten Aufgabe (z. B. Kraftregelung) eines Manipulators unter optimiertem Beschleunigungsverhalten zu schaffen, mit dem Bahnbeschränkungen durch physikalische Gelenkanschläge sowie maximal erlaubte Gelenkgeschwindigkeiten sicher eingehalten werden, um die ermittelte Lösung auf Zulässigkeit hinsicht­ lich der Bahnbeschränkungen sicherzustellen, und mit dem eine minimale Belastung auf die Antriebsvorrichtung des Ma­ nipulators durch eine Optimierung des Beschleunigungsverhal­ tens der Gelenkachsen erreicht wird.
Gemäß der Erfindung, die sich auf ein Verfahren inverser Ki­ nematik zur Kommandosteuerung eines Manipulators der ein­ gangs genannten Art bezieht, wird diese Aufgabe durch die Merkmale im kennzeichnenden Teils des Anspruchs 1 gelöst. Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfah­ rens sind Gegenstand der auf den Anspruch 1 unmittelbar oder mittelbar rückbezogenen Ansprüche 2 bis 9.
Gemäß der Erfindung, die sich auf ein Verfahren zur Komman­ dosteuerung eines Manipulators der eingangs angegebenen Art bezieht, ist die Aufgabe dadurch gelöst, daß
  • - ausgehend von einer kommandierten Endeffektor-Zielver­ schiebung und dem aktuellen Istwert (qi) der Gelenkposi­ tionen des Manipulators wird
    • - unter Berücksichtigung einer zu minimierenden Gütefunkti­ on (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj, γj) parametriert ist
    • - und unter Berücksichtigung von Bahnbeschränkungen durch physikalische Gelenkanschläge (qmin, qmax), maximaler Ge­ lenkgeschwindigkeit (max), maximaler Gelenkbeschleuni­ gung (max) in einer Umgebung physikalischer Gelenkan­ schläge und der kinematischen Gleichung,welche durch die Jakobi-Matrix (J(q)) repräsentiert ist
    eine neue Gelenkposition (qi+1) berechnet, die die neuen Werte für die Gelenkregler vorgibt, wobei die Gütefunktion (f(q)) die Summe aus Energiekriterium, Referenzlagenkriteri­ um, Beschleunigungskriterium und einem Zusatzkriterium ist,
    • - dabei berechnet sich das Energiekriterium aus
      (q-qi)tdiag(αj)(q-qi)
    • - das Referenzlagenkriterium aus
      (q-qref)tdiag(βj)(q-qref)
      wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der berech­ neten Gelenkpositionswerte (qi) nahe um diesen Referenz­ positionswert verläuft;
    • - das Beschleunigungskriterium aus
      (q-2qi + qi+1)tdiag(γj)(q-2qi + qi+1), und
    • - das Zusatzkriterium aus -p,
      wobei der skalare Parameter p der kinematischen Gleichung p.Δxd = J(qi) (q-qi), und der Ungleichung 0 ≦ p ≦ 1 genügt, wobei p.100 die prozentuale Realisierung der kommandierten Endeffektor-Zielverschiebung (Δxd) ist,
  • - ausgehend von einem Gelenkpositionswert qi als Startpunkt wird auf Basis der Gütefunktion ein zulässiger Optimie­ rungsvektor bestimmt bezüglich aller aktiven Nebenbedin­ gungen, die angeben, welche Bahnbeschränkungen erreicht sind und dieser wird skaliert entsprechend den inaktiven Nebenbedingungen, die angeben, welche Bahnbeschränkungen nicht erreicht sind;
  • - der skalierte Optimierungsvektor wird auf den im vorigen Iterationsschritt berechneten Gelenkpositionswert addiert;
  • - und auf Basis der Gütefunktion und der in der neu berech­ neten Gelenkposition aktivierten Nebenbedingungen wird die Optimalität dieser Gelenkpositionswerte bewertet.
Das Verfahren nach der Erfindung läßt sich bei der interak­ tiven Bahnführung des Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel (Spacemouse) od. dgl. von einem Operateur kommandierter Endeffektor-Zielverschiebungen an­ wenden.
Das Verfahren nach der Erfindung läßt sich aber auch als mo­ dularer Baustein einer übergeordneten Aufgabe mit von der übergeordneten Aufgabe kommandierten Endeffektor-Zielver­ schiebungen einsetzen. Eine übergeordnete Aufgabe kann bei­ spielsweise eine solche sein, wie sie durch Kraftregelungs­ aufgaben gestellt ist.
Bei dem Verfahren nach der Erfindung ergibt sich ein gerin­ ger Verschleiß der Antriebsvorrichtung des Manipulators durch Minimierung des lokalen Gelenkpositionsversatzes Δq und des lokalen Gelenkgeschwindigkeitsversatzes (Energiekri­ terien und Beschleunigungskriterien). Es werden "schlanke" Gelenkbahnen um eine Referenzlage (z. B. Nullage) erzielt und dadurch wird reversibles Verhalten der Manipulatorbewegung erreicht.
Insbesondere wird dadurch vermieden, daß sich die Rollachsen des Manipulators während der Ausführung der kommandierten Manipulationsaufgabe immer stärker verdrehen und diese dann am Endanschlag zu liegen kommen und dann eine weitere Aus­ führung der Manipulationsaufgabe nicht mehr möglich ist.
Gelenkanschläge werden in vorteilhafter Weise weitestgehend vermieden oder sanft bzw. verschleißarm angefahren. Dieses Verhalten wird durch einen Verzögerungseffekt der Roboter­ achsen hervorgerufen, der proportional zum Abstand von der Referenzposition wirkt, und durch explizite Beschleunigungs­ beschränkungen. Darüber hinaus entsteht ein stabiles Verhal­ ten in singulären Roboterstellungen, da keine Invertierung der Jacobi-Matrix vorgenommen wird.
Außerdem ergeben sich in vorteilhafter Weise effiziente Bahnverläufe durch exakte Übertragung der von der Handsteu­ erkugel kommandierten kartesischen Linearbewegung auf den Endeffektor des Manipulators. Ferner werden Bahnbeschränkun­ gen durch physikalische Gelenkanschläge und maximale Gelenk­ geschwindigkeiten zuverlässig eingehalten.
Da hierdurch der Lösungsbereich, das ist die Menge der zu­ lässigen Gelenkpositionen, eingeschränkt wird, wird eine ho­ he Konvergenzgeschwindigkeit mit einem Gewinn an Echtzeitfä­ higkeit erreicht. Zudem wird die prozentuale Realisierung der gewünschten Endeffektor-Zielverschiebung berechnet. Sin­ gularitäten können in stabiler Weise angefahren und/oder durchfahren werden; daher ist auch keine Einschränkung des Arbeitsbereichs notwendig.
Eine zu einem Zeitpunkt Ti kommandierte kartesische Endef­ fektor-Zielverschiebung Δxc kann vom Operateur und/oder ei­ ner übergeordneten Aufgabe (z. B. Kraftregelung) in Form ei­ nes 6-dimensionalen Inkrementvektors kommandiert werden. Al­ ternativ hierzu kann der Inkrementvektor durch Differenzbil­ dung absoluter Endeffektorkoordinaten bestimmt sein.
In den anliegenden Zeichnungen zeigen
Fig. 1 eine schematisierte Darstellung eines Ein/Ausgabe­ flusses einer Rückwärtskinematik im Echt­ zeitraster;
Fig. 2 in Form eines Blockschaltbildes einen beim erfin­ dungsgemäßen Verfahren zur Kommandosteuerung eines Manipulators verwendeten Algorithmus inverser Ki­ nematik, und
Fig. 3 die Anwendung des erfindungsgemäßen Verfahrens zur Kommandosteuerung eines Manipulators im Rahmen der Durchführung einer übergeordneten Aufgabe, wie beispielsweise einer Kraftregelung.
In Fig. 1 ist im Zusammenhang mit den vorstehenden Merkmalen der Erfindung eine Darstellung des Ein-/Ausgabeflusses der Rückwärtskinematik im Echtzeitraster gezeigt.
Bei dem Verfahren ist unter Benutzung der Jacobi-Matrix der Kinematik zu einem Zeitpunkt Ti, eine kommandierte Endeffek­ tor-Zielverschiebung Δxc: = (Δxt, Δxr) bezeichnet, welche vom Operateur mit Hilfe einer Spacemouse oder einer übergeordne­ ten Aufgabe in Form eines 6-dimensionalen Inkrementvektors kommandiert wird. Mit ΔxtR 3 bzw. ΔxrR 3 sind jeweils der translatorische bzw. rotatorische Anteil der kommandier­ ten Endeffektor-Zielverschiebung bezeichnet, während Δxt max bzw. Δxr max jeweils den maximalen (skalarwertigen), transla­ torischen bzw. rotatorischen kartesischen Lageversatz des Endeffektors pro Abtastzeit ΔT definieren.
Die gewünschte kartesische translatorische bzw. rotatorische Endeffektor-Zielverschiebung Δx d|t bzw. Δx d|r pro Abtastzeit ΔT ist wie folgt definiert:
Der Betrag |x| eines Vektors x ist dabei und im weiteren durch seine euklidische Norm
gegeben. Die ge­ wünschte Endeffektor-Zielverschiebung ist durch Δxd: = (Δx d|t, Δx d|r) erklärt. Die Energiekriterien, Referenzla­ genkriterien und Beschleunigungskriterien können entspre­ chend den vorherrschenden problemspezifischen Anforderungen geeignet gewichtet werden, indem jeder Achse j drei positi­ ve, vom Operateur vorgegebene Zahlenwerte, sogenannte Ge­ wichtungswerte αj, βj, γj zugewiesen werden. Von den Gewich­ tungswerten dienen der Wert αj der Gewichtung eines Energie­ kriteriums, das die Differenz zweier benachbarter berechne­ ter Gelenkpositionen von Achse j bewertet, der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Gelenk­ position qj von einem ebenfalls vom Operateur vorgegebenen Referenzwert qref,j bewertet, und der Wert γj der Gewichtung eines Kriteriums, das das Beschleunigungsverhalten in Form eines Gelenkgeschwindigkeitsversatzes der Gelenkachse qj be­ wertet. Der Gelenkgeschwindigkeitsversatz der Gelenkachse qj wird genauso vom Operateur vorgegeben wie die Bahnbeschrän­ kungen betreffenden physikalischen Gelenkanschläge qmin, qmax des Manipulators sowie die Gelenkgeschwindigkeitsbeschrän­ kungen max und die Gelenkbeschleunigungsbeschränkungen max. Da das erfindungsgemäße Verfahren der Optimierung gewichti­ ger Kriterien im Echtzeittakt unter garantierter Einhaltung aller Bahnbeschränkungen dient, wird zu einer gewünschten Endeffektor-Zielverschiebung Δx i|d zum Zeitpunkt Ti-1 während des Zeitintervalls ΔT mit dem sich in einer Initialisie­ rungsphase und einer nachfolgenden Optimierungsphase abwickelnden Algorithmus der inversen Kinematik ein zulässiger optimaler Gelenkpositionsversatz Δqi berechnet. Hierbei ist der aktuelle Sollwert an die Gelenkregler aus q i+1|soll: = q i|soll + Δqi erklärt, wobei mit q i|soll im Zeitraum ΔT die Gelenkpositionen durch die Gelenkregler entsprechend verfah­ ren werden. Unter einem zulässigen Gelenkpositionsversatz wird dabei verstanden, daß der mit Δq aktualisierte Gelenk­ positionswert den physikalischen Gelenkanschlägen qmin, qmax entsprechend qmin ≦ qsoll + Δq ≦ qmax und Δq den Gelenkge­ schwindigkeitsbeschränkungen max entsprechend |Δqi| ≦ max ΔT ge­ nügt. Hierdurch werden die Beschränkungen der Gelenkbe­ schleunigungen beim Annähern von Gelenkpositionen an die physikalischen Gelenkanschläge zuverlässig eingehalten. Die Art der Optimalität von Δqi ist vom Operateur durch die Gü­ tekriteriengewichtung α, β, γ festlegbar. Dadurch ist die Ab­ tastzeit ΔT dabei entsprechend ΔT ≧ max (Δtq, Δtr) so bemes­ sen, daß die Rechenzeit Δtq zur Berechnung eines optimalen zulässigen Gelenkpositionsversatzes Δq und die Einregelzeit Δtr, welche die Regler zur Angleichung der Achspositionen an die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT liegen.
Es folgt nun eine algorithmische Beschreibung des Verfahrens nach der Erfindung.
Es bezeichnen Ji, i = 1, . . ., ndof die Spalten der Jacobi-Ma­ trix der Kinematik im Punkt qi der aktuellen Gelenkpositio­ nen des Manipulators, ndof die Anzahl der Gelenke und εi: = i|maxΔT den maximal erlaubten Gelenkpositionsversatz pro Abtastzeit ΔT. Mit
und
Jε: = (J1ε1, J2ε2, . . ., Jndofεndof) lautet die inkrementelle kinemati­ sche Gleichung:
pΔxd = Jεy (1)
Aufgrund der Bahnbeschränkungen ergeben sich folgende Boxbe­ schränkungen für y:
Definiere weiter:
Dabei be­ zeichnet Δqi das jüngst berechnete Inkrement der i-ten Ge­ lenkachse.
Damit alle Bahnbeschränkungen erfüllt werden können, ist, gemäß der kinematischen Gleichung (1), die gewünschte Endef­ fektor-Zielverschiebung einer zentrischen Streckung unter­ worfen, die in Form eines Skalars beschrieben ist:
0 ≦ p ≦ 1.
Die Größe p wird durch das erfindungsgemäße Verfahren so ma­ ximiert, daß alle Bahnbeschränkungen eingehalten werden. Da­ bei ist p.100 die prozentuale Realisierung der gewünschten Endeffektor-Zielverschiebung.
Definiere den Begrenzungsvektor b: = (0, 0, 0, 0, 0, 0, ymin, 0, -ymax, -1) ∈ R 2n+6, den zu bestimmenden Parametervektor x: = (y, p) und die Matrix der Gradienten aller Nebenbedingungen A ∈ R 2n+6,n mit n: = ndof + 1:
Dabei bezeichnet InR n,n die Einheitsmatrix. Ferner be­ zeichnen ai, i = 1, . . ., 2n + 6 die Zeilen von A.
Die Gewichte α, β, γ der Kriterien definieren den Cholesky- Faktor der Hessematrix aus der skalierten Summe der Krite­ rien in Form der Diagonalmatrix Λ ∈ R n,n. Diese Kriterien sind das Energiekriterium (q-qi)tdiag(αj)(q-qi), das Refe­ renzlagenkriterium (q-qref)tdiag(βj)(q-qref), wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der berechneten Gelenkpositi­ onswerte (qi) nahe um diesen Referenzpositionswert verläuft; das Beschleunigungskriterium (q-2qi + qi-1)tdiag(γj)(q-2qi + qi-1) und das Zusatzkriterium aus -p, wobei der skalare Parameter p der kinematischen Gleichung pΔxd = J(qi)(q-qi) und der Un­ gleichung 0 ≦ p ≦ 1 genügt und p.100 die prozentuale Reali­ sierung der kommandierten Endeffektor-Zielverschiebung (Δxd) ist. Die Hauptdiagonalelemente der vorerwähnten Diagonalma­ trix lauten:
Die Grundstruktur des eine Rückwärtskinematik benutzenden besonderen Verfahrens nach der Erfindung zur Kommandosteue­ rung ist schematisch in Fig. 2 dargestellt.
Anhand der Fig. 2 wird im folgenden ein beim Verfahren nach der Erfindung benutzter Algorithmus für die inverse Kinema­ tik genauer beschrieben. Beim verwendeten Algorithmus der inversen Kinematik wird zuerst eine Initialisierungsphase durchgeführt, die folgendermaßen ausgestaltet ist: Zählindex: k = 0; Startwert: xk = (yk, pk) = 0; k max < 2; initialisiere mit mk: = 7 die Matrix der Gradienten der ak­ tiven Nebenbedingungen ÂtR mk,n:
initialisiere die Indexmenge Jk: = (j 1|k, j 2|k, . . ., j 2n+6|k) zur Kenn­ zeichnung der aktiven, singulären und inaktiven Nebenbedin­ gungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk): = Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk:
(Q Z|k, R Z|k): = Φ0 Z(Z, rk);
initialisiere den Gradientenvektor der Gütefunktion f(q)
g0R n: gk: = 2(β scal|l(y l|k - y l|ref) + γ scal|l(y l|k - y l|acc)
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
wobei für gk folgende Kurzschreibweise verwendet wird:
2(β scal|i(y i|k - y i|ref) + γ scal|i(y i|k - y i|acc) + α scal|iy i|k, -1),
daß beim verwendeten Algorithmus der inversen Kinematik an­ schließend eine Optimierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
  • I. Berechne die Optimierungsrichtung dk:
    R Z|kdaux = -Q Z|kZkgk.
    Bestimme hieraus daux durch Rückwärtssubstitution.
    R Z|kdZ = Q Z|kdaux.
    Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
    dk: = ZkdZ.
  • II. Bestimme die maximale Schrittweite sk und den Index j i0|k der beschränkenden Nebenbedingung:
    (Bei Mehrdeutigkeit wähle dasjenige j0 mit kleinstem Index i0).
  • III. Prüfe auf Optimalität und Update aller Matrix- und In­ dexgrößen.
    • (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor­ den):
      • i. Falls mk < n (es gibt noch inaktive Nebenbedin­ gungen):
        • - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
          gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1).
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, rk, mk, Jk, Yk, Zk, Lk, Sk.
          Prüfe xk+1 auf Optimalität:
          Falls Z t|k+1gk+1 = 0;
          und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
          dann: Gehe zu Schritt IV.
          Sonst: k = k+1 (erhöhe Iteratonsindex)
          Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
      • ii. Falls mk = n (Ecke des zulässigen Bereichs erreicht, Austausch aktiver Nebenbedingungen erforderlich):
        • - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
          gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iyk+1, -1);
          λk = LLS(rk+1, mk+1, gk, Yk, Lk).
        • - Gib eine Richtung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (k, k, k, k, k, k, k): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk).
        • - Aktiviere Nebenbedingung j i0|k.
          Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, k, k, k, k, k, k, k).
        • - Prüfe xk+1 auf Optimalität:
          Falls Z t|k+1gk+1 = 0;
          und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
          dann: Gehe zu Schritt IV.
          Sonst: k = k + 1 (erhöhe Iteratonsindex)
          Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
    • (b) Falls sk = 1 (keine neue aktive Nebenbedingung).
      • - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
        gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1);
      • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
        (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = (rk, mk, Jk, Yk, Zk, Lk, Sk).
      • - Prüfe xk+1 auf Optimalität:
        Falls Z t|k+1gk+1 = 0;
        und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
        dann: Gehe zu Schritt IV.
        Sonst: Gib eine Richtung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk)
        • - k = k + 1 (erhöhe Iteratonsindex)
        • - Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
  • IV. Lösung xk+1 ermittelt. Stop!
    Ende des Algorithmus der inversen Kinematik.
    Definition der Funktion LLS:
    • λ = LLS(r, m, g, Y, L).
      λi: = 0, i = r + 1, . . ., m;
      λnL: = (λr+1, . . ., λm);
      LtλL = Ytg.
    Bestimme hieraus λLR r durch Rückwärtssubstitution. Definiere den Ausgabewert der Funktion:
    • λ: = (λL, λnL).
    Mit leq: = 1 + max1 ≦ i ≦ m) |λ(i)| setze diejenigen Komponenten von λ auf den Wert leq, die zu den Gleichungsnebenbedingungen (1) gehören.
    Ende der Funktion LLS.
    Definition der Funktion Φ+:
    (r, m, J, Y, Z, L, S) = Φ+ A(i0, r, m, J, Y, Z, L, S)
    Aktiviere Nebenbedingung ji0. Es bezeichne aj0 mit j0: = ji0 die ji0 Zeile von A. Definiere Qt: = (Y, Z) und bilde a: = Qaj0. Partitioniere a =: (aY, aZ) mit ayR r und aZR n-r. Bestimme die Householderreflexion ∈ R n-r,n-r so, daß gilt:
    |aZ|e1 = aZ,
    mit e1: = (1,0, . . ., 0) ∈ R n-r. Definiere den unitären Transformator H ∈ R n,n gemäß:
    Definiere den unitären Transformator:
    Q: = HQ;
    Aktualisiere Indizies:
    Vertausche Nebenbedingungen:
    Falls r ≠ r, dann
    sonst
    J: = (j1, . . ., j2n+6).
    Aktualisiere Matrixfaktorisierungen:
    Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
    Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
    Ende der Funktion Φ+.
    Definition der Funktion Φ-:
    (r, m, J, Y, Z, L, S) = Φ- A(j0, r, m, J, Y, Z, L, S).
    Inaktiviere Nebenbedingung jj0.
  • - Falls j0 < r: (Eliminiere singuläre aktive Nebenbedingung)
    Aktualisiere Indizies:
    r: = r;
    m: = m - 1;
    Vertausche Nebenbedingungen:
    J: = (j1, . . ., j2n+6).
    Aktualisiere Matrixfaktorisierungen:
    Y: = Y;
    Z: = Z;
    L: = L;
    S: = (S1, . . ., Sj0-r-1, Sj0-r+1, . . ., Sm-r),
    dabei bezeichnen Si die Spalten von S.
  • - Falls j0 ≦ r: (Eliminiere reguläre aktive Nebenbedingung) ergibt sich aus R: = Lt durch Streichen der j0-ten Spalte. Die an den Stellen (j0, j0 + 1), (j0 + 1, j0 + 2), . . ., (r, r +1) auftretenden Elemente von werden durch Linksmultiplikation mit einer Folge von unitären Eliminationsmatrizen j0,j0+1, . . ., r-1,rR r,r annulliert. Definiere lineare Transformatoren:
    • - Falls die letzte Zeile von null ist oder falls r = m:
      Aktualisiere Indizies:
      r: = r - 1;
      m: = m - 1;
      Vertausche Nebenbedingungen:
      J: = (j1, . . ., j2n+6).
      Aktualisiere Matrixfaktorisierungen:
      Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
      Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält. Falls r < m streiche die letzte Zeile von und . Setze:
      L: = t;
      S: = ;
    • - Sonst (wandle singuläre aktive Nebenbedingungen in reguläre aktive Nebenbedingung):
      Bestimme das Element der letzten Zeile von mit dem kleinsten Index l0 derart, daß gilt:
      r,l0 ≠ 0.
      Vertausche Spalte l0 mit Spalte 1 von . Definiere linearen Transformator:
      R: = (, l0),
      dabei bezeichnet l0 die l0-te Spalte von .
      Aktualisiere Indizies:
      r: = r;
      m: = m - 1;
      Vertausche Nebenbedingungen:
      J: = (j1, . . ., j2n+6).
      Aktualisiere Matrixfaktorisierungen:
      Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
      Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
      L: = Rt;
      S: = (2,. . ., l0-1, 1,. . ., l0+1,. . ., m-r).
      dabei bezeichnen die 1 die Spalten von .
      Ende der Funktion Φ-.
      Definition der Funktion Φ0 A:
      (r, J, Y, Z, L, S): = Φ0 A(Â, m, J).
  • 1. Definiere:
    A0: = Â, i: = 0.
  • 2. Definiere folgende Matrizenrekursion:
    Ai+1: = HiAi, i ≧ 0.
    Der unitäre Transformator HiR n,n ist wie folgt erklärt:
    Die Householderreflexion iR n-i,n-i ist so definiert, daß gilt:
    |ã i|k0|e1 = iã i|k0,
    mit e1: = (1,0, . . ., 0) ∈ R n-i. Dabei bezeichnen die Vektoren ã i|k ∈ R n-i, k = 1, . . ., n - i die Spalten der Matrix ÃiR n-i,m-i:
    Ferner ist 1 ≦ k0 ≦ n - i der kleinste Index mit ã i|k0 ≠ 0. Falls kein solches k0 existiert, dann gehe zu Schritt III, sonst gehe zu Schritt IV.
  • 3. Definiere Indizies:
    r: = i;
    J: = (j1, . . ., j2n+6).
    Definiere Matrixfaktorisierungen:
    Q: = HH . . . H0;
    Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
    Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
    Es ist T die Matrix, die durch Streichen der Zeilen r + 1 bis n aus Ai+1 entsteht.
    Definiere L ∈ R und S ∈ R gemäß:
    (Lt, S): = T.
    Stop: Ausführung der Funktion Φ0 A ist beendet!
  • 4. Vertausche die Spalte i + k0 mit der Spalte i + 1 in Ai.
    Setze jk: = jk k, erhöhe den Zählindex i = i + 1 und gehe zu Schritt II.
    Ende der Funktion Φ0 A.
    Definition der Funktion Φ0 Z:
    (QZ, RZ): = Φ0 Z(Z, r).
    Bestimme die QR-Dreieckszerlegung von Z:
    Dabei bezeichnen QZR n,n eine unitäre Matrix und RZR r,r eine obere Dreiecksmatrix.
    Ende der Funktion Φ0 Z.

Claims (9)

1. Verfahren zur Kommandosteuerung eines Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel oder dgl. von einem Programmierer oder einer übergeordneten Aufgabe kom­ mandierten Endeffektor-Zielverschiebungen (Δxd) in Verbin­ dung mit einer Berechnung von Gelenkpositionswerten ent­ sprechend einem Algorithmus inverser Kinematik, gekenn­ zeichnet durch folgende Merkmale:
  • - ausgehend von einer kommandierten Endeffektor-Zielver­ schiebung und dem aktuellen Istwert (qi) der Gelenkposi­ tionen des Manipulators wird
    • - unter Berücksichtigung einer zu minimierenden Gütefunk­ tion (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj, γj) parametriert ist
    • - und unter Berücksichtigung von Bahnbeschränkungen durch physikalische Gelenkanschläge (qmin, qmax), maximaler Ge­ lenkgeschwindigkeit (max), maximaler Gelenkbeschleuni­ gung (max) in einer Umgebung physikalischer Gelenkan­ schläge und der kinematischen Gleichung,welche durch die Jakobi-Matrix (J(q)) repräsentiert ist
    eine neue Gelenkposition (qi+1) berechnet, die die neuen Werte für die Gelenkregler vorgibt, wobei die Gütefunktion (f(q)) die Summe aus Energiekriterium, Referenzlagenkriteri­ um, Beschleunigungskriterium und einem Zusatzkriterium ist,
    • - dabei berechnet sich das Energiekriterium aus
      (q-qi)tdiag(αj)(q-qi)
    • - das Referenzlagenkriterium aus
      (q-qref)tdiag(βj)(q-qref)
      wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der be­ rechneten Gelenkpositionswerte (qi) nahe um diesen Refe­ renzpositionswert verläuft;
    • - das Beschleunigungskriterium aus
      (q-2qi + qi-1)tdiag(γj)(q-2qi + qi-1), und
    • - das Zusatzkriterium aus -p,
      wobei der skalare Parameter p der kinematischen Glei­ chung p.Δxd = J(qi)(q-qi), und der Ungleichung 0 ≦ p ≦ 1 genügt, wobei p.100 die prozentuale Realisierung der kommandierten Endeffektor-Zielverschiebung (Δxd) ist,
  • - ausgehend von einem Gelenkpositionswert qi als Start­ punkt wird auf Basis der Gütefunktion ein zulässiger Op­ timierungsvektor bestimmt bezüglich aller aktiven Neben­ bedingungen, die angeben, welche Bahnbeschränkungen er­ reicht sind und dieser wird skaliert entsprechend den inaktiven Nebenbedingungen, die angeben, welche Bahnbe­ schränkungen nicht erreicht sind;
  • - der skalierte Optimierungsvektor wird auf den im vorigen Iterationsschritt berechneten Gelenkpositionswert ad­ diert;
  • - und auf Basis der Gütefunktion und der in der neu be­ rechneten Gelenkposition aktivierten Nebenbedingungen wird die Optimalität dieser Gelenkpositionswerte bewer­ tet.
2. Verfahren nach Anspruch 1 unter Benutzung der Jacobi- Matrix der Kinematik, wobei ausgehend von einer kommandier­ ten Endeffektor-Zielverschiebung Δxc: = (Δxt, Δxr) zu einem Zeitpunkt Ti, worin ΔxtR 3 bzw. ΔxrR 3 jeweils den translatorischen bzw. rotatorischen Anteil der kommandierten Endeffektor-Zielverschiebung bezeichnen, Δxt max bzw. Δxr max jeweils den maximalen (skalarwertigen), vom Operateur vorge­ gebenen translatorischen bzw. rotatorischen kartesischen La­ geversatz des Endeffektors pro Abtastzeit ΔT definieren, die gewünschte kartesische translatorische bzw. rotatorische Endeffektor-Zielverschiebung Δx d|t bzw. Δx d|r pro Abtastzeit ΔT wie folgt erklärt ist:
(der Betrag |x| eines Vektors x ist dabei und im weiteren durch seine euklidische Norm
gegeben), und die gewünschte Endeffektor-Zielverschiebung durch Δxd: = (Δx d|t, Δx d|r) erklärt ist, dadurch gekennzeich­ net, daß die drei Kriterien, nämlich die Energiekriterien, Referenzlagenkriterien und Beschleunigungskriterien entspre­ chend den vorherrschenden problemspezifischen Anforderungen geeignet gewichtet werden, indem jeder Achse j drei positi­ ve, vom Operateur vorgegebene Zahlenwerte αj, βj, γj zugewie­ sen werden, von denen der Wert αj der Gewichtung eines Ener­ giekriteriums, das die Differenz zweier benachbarter berech­ neter Gelenkpositionen von Achse j bewertet, der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Ge­ lenkposition qj von einem ebenfalls vom Operateur vorgege­ benen Referenzwert qref,j bewertet, und der Wert γj der Ge­ wichtung eines Kriteriums, das das Beschleunigungsverhalten in Form eines Gelenkgeschwindigkeitsversatzes der Gelenk­ achse qj bewertet, dient, der genauso vom Operateur vorgege­ ben wird wie die Bahnbeschränkungen betreffenden physikali­ schen Gelenkanschläge qmin, qmax des Manipulators sowie die Gelenkgeschwindigkeitsbeschränkungen max und die Gelenkbe­ schleunigungsbeschränkungen max, daß bei der Erlangung der Verfahrensausgangsgrößen zu einer gewünschten Endeffektor- Zielverschiebung Δx i|d zum Zeitpunkt Ti-1 während des Zeitin­ tervalls ΔT mit dem sich in einer Initialisierungsphase und einer nachfolgenden Optimierungsphase abwickelnden Algorith­ mus der inversen Kinematik ein zulässiger optimaler Gelenk­ positionsversatz Δqi berechnet wird, wobei sich der aktuelle Sollwert an die Gelenkregler aus q i+1|soll: = q i|soll + Δqi erklärt (mit q i|soll werden im Zeitraum ΔT die Gelenkpositionen durch die Gelenkregler entsprechend verfahren) und unter einem zu­ lässigen Gelenkpositionsversatz verstanden wird, daß der mit Δq aktualisierte Gelenkpositionswert den physikalischen Ge­ lenkanschlägen qmin, qmax entsprechend qmin ≦ qsoll + Δq ≦ qmax und Δq den Gelenkgeschwindigkeitsbeschränkungen max ent­ sprechend |Δqi| ≦ max ΔT genügt und die Beschränkungen der Ge­ lenkbeschleunigungen beim Annähern von Gelenkpositionen auf die physikalischen Gelenkanschläge zuverlässig eingehalten werden und die Art der Optimalität von Δqi vom Operateur durch die Gütekriteriengewichtung α, β, γ festlegbar ist und die Abtastzeit ΔT dabei entsprechend ΔT ≧ max (Δtq, Δtr) so bemessen ist, daß die Rechenzeit Δtq zur Berechnung eines optimalen zulässigen Gelenkpositionsversatzes Δq und die Einregelzeit Δtr welche die Regler zur Angleichung der Achs­ positionen an die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT liegen.
3. Verfahren nach Anspruch 2, gekennzeichnet durch die Anwendung bei der interaktiven Bahnführung des Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel (Spacemouse) od. dgl. von einem Operateur kommandierter End­ effektor-Zielverschiebungen.
4. Verfahren nach Anspruch 2, gekennzeichnet zur An­ wendung als modularer Baustein einer übergeordneten Aufgabe mit von der übergeordneten Aufgabe kommandierten Endeffek­ tor-Zielverschiebungen.
5. Verfahren nach Anspruch 4, dadurch gekenn­ zeichnet, daß die übergeordnete Aufgabe eine solche ist, wie sie durch Kraftregelungsaufgaben gestellt ist.
6. Verfahren nach Anspruch 2, dadurch gekenn­ zeichnet, daß die inkrementelle kinematische Gleichung unter der Voraussetzung, daß Ji, i = 1, . . ., ndof die Spalten der Jacobi-Matrix der Kinematik im Punkt qi, ndof die Anzahl der Gelenke und εi: = i|max ΔT den maximal erlaubten Ge­ lenkpositionsversatz pro Abtastzeit ΔT beschreiben, mit
lautet, daß sich aufgrund der Bahnbeschränkungen die Boxbe­ schränkungen
ergeben, wobei qi den jüngst berechneten, zulässigen Sollpo­ sitionssatz, auf dessen Werte die Achsen des Roboters be­ reits eingeregelt sind, bezeichnet, daß weiterhin
wobei Δq1 das jüngst berech­ nete Inkrement der i-ten Gelenkachse bezeichnet, definiert wird, daß zur Erfüllung aller Bahnbeschränkungen gemäß der kinematischen Gleichung (1) die gewünschte Endeffektor- Zielverschiebung einer zentrischen Streckung unterworfen wird, die sich in Form eines Skalars 0 ≦ p ≦ 1 beschreiben läßt, wobei p.100 die prozentuale Realisierung der gewünsch­ ten Endeffektor-Zielverschiebung ist und die Größe p so ma­ ximiert wird, daß alle Bahnbeschränkungen eingehalten wer­ den, daß b: = (0, 0, 0, 0, 0, 0, ymin, 0, -ymax, -1) ∈ R 2n+6, den zu be­ stimmenden Parametervektor x: = (y, p) und die Matrix der Gra­ dienten aller Nebenbedingungen A ∈ R 2n+6,n mit n: = ndof + 1:
definiert werden, wobei InR n,n die Einheitsmatrix und ai, i = 1, . . ., 2n + 6 die Zeilen von A bezeichnen, und daß die Gewichte α, β, γ der Kriterien den Cholesky-Faktor der Hesse­ matrix aus der skalierten Summe der Kriterien, nämlich des Energiekriteriums, des Referenzlagenkriteriums, des Be­ schleunigungskriteriums und des Zusatzkriteriums, in Form der Diagonalmatrix Λ ∈ R n,n definieren, deren Hauptdiagona­ lelemente
7. Verfahren nach Anspruch 6, dadurch gekenn­ zeichnet, daß beim verwendeten Algorithmus der inversen Kinematik eine Initialisierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
Zählindex: k = 0; Startwert: xk = (yk, pk) = 0; k max < 2; initialisiere mit mk: = 7 die Matrix der Gradienten der ak­ tiven Nebenbedingungen ÂtR mk,n:
initialisiere die Indexmenge Jk: = (j 1|k, j 2|k, . . ., j 2n+6|k) zur Kenn­ zeichnung der aktiven, singulären und inaktiven Nebenbedin­ gungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk): = Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk:
(Q Z|k, R Z|k): = Φ0 Z(Z, rk);
initialisiere den Gradientenvektor der Gütefunktion f(q):
g0R n: gk: = 2(β scal|l(y l|k - y l|ref) + γ scal|l(y l|k - y l|acc)
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
wobei für gk folgende Kurzschreibweise verwendet wird:
2(β scal|i(y i|k - y i|ref) + γ scal|i(y i|k - y i|acc) + α scal|iy i|k, -1),
daß beim verwendeten Algorithmus der inversen Kinematik an­ schließend eine Optimierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
  • I. Berechne die Optimierungsrichtung dk:
    R Z|kdaux = -Q Z|kZkgk.
    Bestimme hieraus daux durch Rückwärtssubstitution.
    R Z|kdZ = Q Z|kdaux.
    Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
    dk: = ZkdZ.
  • II. Bestimme die maximale Schrittweite sk und den Index j i0|k der beschränkenden Nebenbedingung:
    (Bei Mehrdeutigkeit wähle dasjenige j0 mit kleinstem Index i0).
  • III. Prüfe auf Optimalität und Update aller Matrix- und In­ dexgrößen.
    • (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor­ den):
      • i. Falls mk < n (es gibt noch inaktive Nebenbedin­ gungen):
        • - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
          gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1).
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, rk, mk, Jk, Yk, Zk, Lk, Sk.
          Prüfe xk+1 auf Optimalität:
          Falls Z t|k+1gk+1 = 0;
          und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
          dann: Gehe zu Schritt IV.
          Sonst: k = k+1 (erhöhe Iteratonsindex)
          Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von
          Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
      • ii. Falls mk = n (Ecke des zulässigen Bereichs erreicht, Austausch aktiver Nebenbedingungen erforderlich):
        • - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
          gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iyk+1, -1);
          λk = LLS(rk+1, mk+1, gk, Yk, Lk).
        • - Gebe eine Rechnung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (k, k, k, k, k, k, k): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk).
        • - Aktive Nebenbedingung j i0|k.
          Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, k, k, k, k, k, k, k).
        • - Prüfe xk+1 auf Optimalität:
          Falls Z t|k+1gk+1 = 0;
          und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
          dann: Gehe zu Schritt IV.
          Sonst: k = k + 1 (erhöhe Iteratonsindex)
          Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
    • (b) Falls sk = 1 (keine neue aktive Nebenbedingung).
        • - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
          gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1);
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = (rk, mk, Jk, Yk, Zk, Lk, Sk).
        • - Prüfe xk+1 auf Optimalität:
          Falls Z t|k+1gk+1 = 0;
          und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
          dann: Gehe zu Schritt IV.
          Sonst: Gebe eine Richtung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk)
        • - k = k + 1 (erhöhe Iteratonsindex)
        • - Falls k < k max: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
          (Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
          Gehe zu Schritt I.
  • IV. Lösung xk+1 ermittelt. Stop!
    Ende des Algorithmus der inversen Kinematik.
    Definition der Funktion LLS:
    λ = LLS(r, m, g, Y, L).
    λi: = 0, i = r + 1, . . ., m;
    λnL: = (λr+1, . . ., λm);
    LtλL = Ytg.
    Bestimme hieraus λLR r durch Rückwärtssubstitution. Definiere den Ausgabewert der Funktion:
    λ: = (λL, λnL).
    Mit leq: = 1 + max1 ≦ i ≦ m) |λ(i)| setze diejenigen Komponenten von λ auf den Wert leq, die zu den Gleichungsnebenbedingungen (1) gehören.
    Ende der Funktion LLS.
    Definition der Funktion Φ+:
    (r, m, J, Y, Z, L, S) = Φ+ A(i0, r, m, J, Y, Z, L, S).
    Aktiviere Nebenbedingung ji0. Es bezeichne aj0 mit j0: = ji0 die ji0 Zeile von A. Definiere Qt: = (Y, Z) und bilde a: = Qaj0. Partitioniere a =: (aY, aZ) mit ayR r und aZR n-r. Bestimme die Householderreflexion ∈ R n-r,n-r so, daß gilt:
    |aZ|e1 = aZ,
    mit e1: = (1,0, . . ., 0) ∈ R n-r. Definiere den unitären Transformator H ∈ R n,n gemäß:
    Definiere den unitären Transformator:
    Q: = HQ;
    Aktualisiere Indizies:
    Vertausche Nebenbedingungen:
    Falls r ≠ r, dann
    sonst
    J: = (j1, . . ., j2n+6).
    Aktualisiere Matrixfaktorisierungen:
    Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
    Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
    Ende der Funktion Φ+.
    Definition der Funktion Φ-:
    (r, m, J, Y, Z, L, S) = Φ- A(j0, r, m, J, Y, Z, L, S).
    Inaktiviere Nebenbedingung jj0.
    • - Falls j0 < r: (Eliminiere singuläre aktive Nebenbedingung)
      Aktualisiere Indizies:
      r: = r;
      m: = m - 1;
      Vertausche Nebenbedingungen:
      J: = (j1, . . ., j2n+6).
      Aktualisiere Matrixfaktorisierungen:
      Y: = Y;
      Z: = Z;
      L: = L;
      S: = (S1, . . ., Sj0-r-1, Sj0-r+1, . . ., Sm-r),
      dabei bezeichnen Si die Spalten von S.
    • - Falls j0 ≦ r: (Eliminiere reguläre aktive Nebenbedingung) ergibt sich aus R: = Lt durch Streichen der j0-ten Spalte. Die an den Stellen (j0, j0 + 1), (j0 + 1, j0 + 2), . . ., (r, r +1) auftretenden Elemente von werden durch Linksmultiplikation mit einer Folge von unitären Eliminationsmatrizen j0,j0+1, . . ., r-1,rR r,r annulliert. Definiere lineare Transformatoren:
    • - Falls die letzte Zeile von null ist oder falls r = m:
      Aktualisiere Indizies:
      r: = r - 1;
      m: = m - 1;
      Vertausche Nebenbedingungen:
      J: = (j1, . . ., j2n+6).
      Aktualisiere Matrixfaktorisierungen:
      Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
      Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält. Falls r < m streiche die letzte Zeile von und . Setze:
      L: = t;
      S: = ;
    • - Sonst (wandle singuläre aktive Nebenbedingungen in reguläre aktive Nebenbedingung):
      Bestimme das Element der letzten Zeile von mit dem kleinsten Index l0 derart, daß gilt:
      r,l0 ≠ 0.
      Vertausche Spalte l0 mit Spalte 1 von . Definiere linearen Transformator:
      R: = (, l0),
      dabei bezeichnet l0 die l0-te Spalte von .
      Aktualisiere Indizies:
      r: = r;
      m: = m - 1;
      Vertausche Nebenbedingungen:
      J: = (j1, . . ., j2n+6).
      Aktualisiere Matrixfaktorisierungen:
      Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
      Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
      L: = Rt;
      S: = (2, . . ., l0-1, 1, . . ., l0+1, . . ., m-r,
      dabei bezeichnen die 1 die Spalten von .
    Ende der Funktion Φ-.
    Definition der Funktion Φ0 A:
    (r, J, Y, Z, L, S): = Φ0 A(Â, m, J).
  • A. Definiere:
    A0: = Â, i: = 0.
  • B. Definiere folgende Matrizenrekursion:
    Ai+1: = HiAi, i ≧ 0.
    Der unitäre Transformator HiR n,n ist wie folgt erklärt:
    Die Householderreflexion iR n-i,n-i ist so definiert, daß gilt:
    |ã i|k0|e1 = iã i|k0,
    mit e1: = (1,0, . . ., 0) ∈ R n-i. Dabei bezeichnen die Vektoren ã i|k ∈ R n-i, k = 1, . . ., n - i die Spalten der Matrix ÃiR n-i,m-i:
    Ferner ist 1 ≦ k0 ≦ n - i der kleinste Index mit ã i|k0 ≠ 0. Falls kein solches k0 existiert, dann gehe zu Schritt III, sonst gehe zu Schritt IV.
  • C. Definiere Indizies:
    r: = i;
    J: = (j1, . . ., j2n+6).
    Definiere Matrixfaktorisierungen:
    Q: = HH . . . H0;
    Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
    Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
    Es ist T die Matrix, die durch Streichen der Zeilen r + 1 bis n aus Ai+1 entsteht.
    Definiere L ∈ R und S ∈ R gemäß:
    (Lt, S): = T.
    Stop: Ausführung der Funktion Φ0 A ist beendet!
  • D. Vertausche die Spalte i + k0 mit der Spalte i + 1 in Ai.
    Setze jk: = jk k, erhöhe den Zählindex i = i + 1 und gehe zu Schritt II.
    Ende der Funktion Φ0 A.
    Definition der Funktion Φ0 Z:
    (QZ, RZ): = Φ0 Z(Z, r).
    Bestimme die QR-Dreieckszerlegung von Z:
    Dabei bezeichnen QZR n,n eine unitäre Matrix und RZR r,r eine obere Dreiecksmatrix.
    Ende der Funktion Φ0 Z.
8. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die zu einem Zeitpunkt Ti kommandierte kartesische Endeffektor-Zielverschiebung Δxc vom Operateur und/oder einer übergeordneten Aufgabe, z. B. einer Kraftregelungsaufgabe, in Form eines 6-dimensionalen Inkrementvektors kommandiert wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß der Inkrementvektor der zu einem Zeitpunkt Ti kommandierten kartesischen Endeffektor-Zielverschiebung Δxc vom Operateur und/oder einer übergeordneten Aufgabe, z. B. einer Kraftregelungsaufgabe, durch Differenzbildung absoluter Endeffektorkoordinaten bestimmt wird.
DE19800552A 1997-06-20 1998-01-11 Verfahren zur Kommandosteuerung eines Manipulators Expired - Fee Related DE19800552C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19800552A DE19800552C2 (de) 1997-06-20 1998-01-11 Verfahren zur Kommandosteuerung eines Manipulators
US09/100,014 US6181983B1 (en) 1997-06-20 1998-06-19 Method of command control for a robot manipulator
FR9807783A FR2764838B1 (fr) 1997-06-20 1998-06-19 Procede de commande d'un manipulateur

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19726166 1997-06-20
DE19800552A DE19800552C2 (de) 1997-06-20 1998-01-11 Verfahren zur Kommandosteuerung eines Manipulators

Publications (2)

Publication Number Publication Date
DE19800552A1 DE19800552A1 (de) 1999-01-28
DE19800552C2 true DE19800552C2 (de) 1999-04-22

Family

ID=7833098

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19800552A Expired - Fee Related DE19800552C2 (de) 1997-06-20 1998-01-11 Verfahren zur Kommandosteuerung eines Manipulators

Country Status (1)

Country Link
DE (1) DE19800552C2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010008240A1 (de) * 2010-02-17 2011-08-18 Siemens Aktiengesellschaft, 80333 Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
DE102015109708B3 (de) * 2015-06-17 2016-01-21 Uwe Simon Verfahren zur Steuerung des Bewegungsablaufs einer motorisch angetriebenen Maschinen- oder Werkzeugkomponente
DE102008062622B4 (de) * 2008-12-17 2016-08-04 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
US10377038B2 (en) 2016-03-17 2019-08-13 Kabushiki Kaisha Yaskawa Denki Robot controller and robot control method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19810341C2 (de) * 1998-03-10 2000-10-12 Deutsch Zentr Luft & Raumfahrt Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
US10188471B2 (en) 1999-09-17 2019-01-29 Intuitive Surgical Operations, Inc. Tele-operative surgical systems and methods of control at joint limits using inverse kinematics
DE10125445A1 (de) * 2001-05-25 2002-12-05 Kuka Roboter Gmbh Verfahren zum Steuern der Bewegung eines Roboters
AT413507B (de) * 2004-03-11 2006-03-15 Incal Ferhat Dipl Ing Verfahren und system zum positionieren eines verfahrbaren schweren manipulators
DE102005027437B4 (de) * 2005-06-14 2013-11-21 Siemens Aktiengesellschaft Verfahren zur Bewegungsführung eines bewegbaren Maschinenelements einer Lade- und Entladevorrichtung eines Hochregals oder eines Kranes
CN106456265B (zh) 2014-03-17 2019-07-30 直观外科手术操作公司 使用逆运动学在关节极限下的遥控操作手术系统和控制方法
DE102019131400B4 (de) * 2019-11-21 2022-03-10 Franka Emika Gmbh Kraftmessung und Krafterzeugung in redundanten Robotermanipulatoren
CN115464638A (zh) * 2022-08-23 2022-12-13 遨博(北京)智能科技股份有限公司 机器人的连续逆解计算方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3344633C2 (de) * 1982-12-10 1989-05-11 Hitachi, Ltd., Tokio/Tokyo, Jp
US5430643A (en) * 1992-03-11 1995-07-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Configuration control of seven degree of freedom arms
DE19703915C1 (de) * 1997-02-03 1998-08-06 Deutsch Zentr Luft & Raumfahrt Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3344633C2 (de) * 1982-12-10 1989-05-11 Hitachi, Ltd., Tokio/Tokyo, Jp
US5430643A (en) * 1992-03-11 1995-07-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Configuration control of seven degree of freedom arms
DE19703915C1 (de) * 1997-02-03 1998-08-06 Deutsch Zentr Luft & Raumfahrt Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SICILIANO, B., SCIAVICCO, L.: "Modelling and Control of Robot Manipulators". McGraw-Hill Companies 1996, S.95-101 *
VUKOBRATOVIC, M., KIRCANSKI, N.: "Kinematics and Trajectory Synthesis of Manipulation Robots". Springer-Verlag Tokyo 1986, S.105-122 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008062622B4 (de) * 2008-12-17 2016-08-04 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE102008062622B9 (de) * 2008-12-17 2016-08-25 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE102010008240A1 (de) * 2010-02-17 2011-08-18 Siemens Aktiengesellschaft, 80333 Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
DE102010008240B4 (de) * 2010-02-17 2015-10-15 Siemens Aktiengesellschaft Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters
US9248571B2 (en) 2010-02-17 2016-02-02 Siemens Aktiengesellschaft Method for operating a multi-axis robot
DE102015109708B3 (de) * 2015-06-17 2016-01-21 Uwe Simon Verfahren zur Steuerung des Bewegungsablaufs einer motorisch angetriebenen Maschinen- oder Werkzeugkomponente
EP3106946A1 (de) 2015-06-17 2016-12-21 Uwe Simon Verfahren zur steuerung des bewegungsablaufs einer motorisch angetriebenen maschinen- oder werkzeugkomponente
US10377038B2 (en) 2016-03-17 2019-08-13 Kabushiki Kaisha Yaskawa Denki Robot controller and robot control method
DE102017204211B4 (de) 2016-03-17 2022-05-05 Kabushiki Kaisha Yaskawa Denki Robotersteuerung und Robotersteuerungsverfahren

Also Published As

Publication number Publication date
DE19800552A1 (de) 1999-01-28

Similar Documents

Publication Publication Date Title
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE102017129665B3 (de) Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE69315137T2 (de) Verfahren zum steuern von mehreren robotern
DE102009024130B4 (de) Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien
DE3344633C2 (de)
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE19810341C2 (de) Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
DE69024854T2 (de) Verfahren zur Steuerung von Roboterbewegungen
DE102014103370B4 (de) Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators
DE102004026814A1 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102015204641A1 (de) Verfahren und System zur Programmierung eines Roboters
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
DE102008027008A1 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
DE102020120116B4 (de) Verfahren zur impedanzbasierten Multi-Tasking Tracking-Regelung, impedanzbasierter Multi-Tasking Tracking-Regler und kraft- und/oder drehmomentgeregelter Roboter
DE19625637A1 (de) Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102015223258A1 (de) Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts
EP0508202A1 (de) Einrichtung zur Führung des Endeffektors eines Roboters längs einer Sollbahn
DE102020209511B3 (de) Verfahren und System zur Bestimmung von optimierten Programmparametern für ein Roboterprogramm
DE102011014299A1 (de) Verfahren und Mittel zum Steuern einer Automatisierungseinrichtung, insbesodere eines Roboters
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
DE102012022190B4 (de) Inverse Kinematik
DE102008013400A1 (de) Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DEUTSCHES ZENTRUM FUER LUFT-UND RAUMFAHRT E.V., 51

8327 Change in the person/name/address of the patent owner

Owner name: DEUTSCHES ZENTRUM FUER LUFT- UND RAUMFAHRT E.V.

8327 Change in the person/name/address of the patent owner

Owner name: DEUTSCHES ZENTRUM FUER LUFT- UND RAUMFAHRT E.V.

8339 Ceased/non-payment of the annual fee