DE19703915C1 - Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators - Google Patents

Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators

Info

Publication number
DE19703915C1
DE19703915C1 DE19703915A DE19703915A DE19703915C1 DE 19703915 C1 DE19703915 C1 DE 19703915C1 DE 19703915 A DE19703915 A DE 19703915A DE 19703915 A DE19703915 A DE 19703915A DE 19703915 C1 DE19703915 C1 DE 19703915C1
Authority
DE
Germany
Prior art keywords
matrix
joint
max
index
value
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
DE19703915A
Other languages
English (en)
Inventor
Maximilian Schlemmer
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 DE19703915A priority Critical patent/DE19703915C1/de
Priority to FR9801067A priority patent/FR2761292B1/fr
Priority to US09/017,485 priority patent/US6081754A/en
Application granted granted Critical
Publication of DE19703915C1 publication Critical patent/DE19703915C1/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/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses

Landscapes

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

Description

Die Erfindung bezieht sich auf ein Verfahren zur Kommando­ steuerung für eine interaktive Bahnführung eines kinema­ tisch redundanten Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel od. dgl. von einem Programmierer kom­ mandierten Endeffektor-Zielverschiebungen in Verbindung mit einer Berechnung entsprechend einem Algorithmus inverser Ki­ nematik unter Benutzung der Jacobi-Matrix der 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 für eine Bahnführung eines kinematisch redun­ danten Manipulators auf der Grundlage von einem Programmie­ rer kommandierter Endeffektor-Zielverschiebungen in Verbin­ dung mit einer Berechnung entsprechend einem Algorithmus in­ verser Kinematik unter Benutzung der Jacobi-Matrix bekannt.
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 (lokale Energiekriterien). Außerdem wird der Abstand der Gelenkpositionen von den phy­ sikalischen Gelenkanschlägen durch Optimierung von globalen 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.
Es erfolgt allerdings keine Berücksichtigung von Bahnbe­ schränkungen durch physikalische Gelenkanschläge und maxima­ le Gelenkgeschwindigkeiten. Es müssen übergeordnete Heuri­ stiken zur Abdeckung dieser Anforderungen aufgestellt wer­ den. Es ergeben sich ineffiziente Bahnverläufe in Form von Störbewegungen des Endeffektors, da die von der Handsteuer­ kugel kommandierte 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 (keine Berücksichtigung lokaler Energiekriterien). Außerdem muß man mit einer geringen Kon­ vergenzgeschwindigkeit, also mit Einbußen an Echtzeitfähig­ keit, auskommen, da keine praktikable optimale Strategie zur Festlegung der positiv definiten kartesischen Steifigkeits­ matrix bekannt ist.
In DE 33 44 633 C2 ist eine Echtzeitsteuerung beschrieben, bei welcher zur Berechnung der Gelenkgeschwindigkeit der redundanten 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 beim Stand der Tech­ nik eine Gewichtung, und zwar der Gelenkgeschwindigkeiten.
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 US-Patentschrift bekannten Ver­ fahren findet eine Berücksichtigung von Gewichtswerten für die Gelenkgeschwindigkeiten sowie von Bahnbeschränkungen zu­ mindest für eine grafische Simulation der Roboterbewegung statt.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines ki­ nematisch redundanten Manipulators zu schaffen, mit dem Bahnbeschränkungen durch physikalische Gelenkanschläge sowie maximal erlaubte Gelenkgeschwindigkeiten sicher eingehalten und keine übergeordneten Heuristiken benötigt werden, um die ermittelte Lösung auf Zulässigkeit hinsichtlich der Bahnbe­ schränkungen zu überprüfen und gegebenenfalls zu korrigie­ ren.
Gemäß der Erfindung ist diese Aufgabe bei einem Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundaten Manipulators gemäß dem Oberbegriff des Anspruchs 1 durch die Merkmale in dessen kennzeichnenden Teil gelöst. Vorteilhafte Weiterbildungen des erfindungsge­ mäßen Verfahrens sind Gegenstand der auf den Anspruch 1 un­ mittelbar oder mittelbar rückbezogenen Ansprüche 2 bis 6.
Gemäß der Erfindung, die sich auf ein Verfahren zur Komman­ dosteuerung für eine interaktive Bahnführung eines kinema­ tisch redundanten Manipulators der eingangs genannten Art bezieht, ist diese Aufgabe dadurch gelöst, daß
  • - ausgehend von einer kommandierten Endeffektor-Zielver­ schiebung und dem aktuellen Istwert (qi) der Gelenkposition des Manipulators wird unter Berücksichtigung einer Gütefunktion (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj) parametriert ist und unter Berücksichtigung von Bahnbeschränkungen durch phy­ sikalische Gelenkanschläge (qmin, qmax), maximaler Gelenkge­ schwindigkeit (max) und der kinematischen Gleichung, welche durch die Jacobi-Matrix repräsentiert ist, eine neue Gelenkposition (qi+1) berechnet, die die neuen Wer­ te für die Gelenkregler vorgibt, wobei die Gütefunktion die Summe aus Energiekriterium und Referenzlagekriterium ist, dabei berechnen sich das Energiekriterium aus
    (q-qi)tdiag(αj) (q-qi)
    und 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 berechne­ ten Gelenkpositionswerte (qi) nahe um diesen Referenzpositi­ onswert verläuft;
  • - ausgehend von einem Gelenkpositionswert q0 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.
Das Verfahren nach der Erfindung ergibt eine Glattheit der berechneten Gelenkbahn und einen geringen Verschleiß des Ro­ boterantriebes durch Minimierung des lokalen Gelenkposi­ tionsversatzes (lokale Energiekriterien). Man erzielt "schlanke" Gelenkbahnen um eine Referenzlage (z. B. Nulla­ ge). Gelenkanschläge werden in vorteilhafter Weise wei­ testgehend vermieden oder sanft bzw. verschleißarm ange­ fahren. Dieses Verhalten wird durch einen Verzögerungs­ effekt der Roboterachsen hervorgerufen, der proportional zum Abstand von der Referenzposition wirkt.
Darüber hinaus entsteht ein stabiles Verhalten 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 Handsteuerkugel kommandierten kartesischen Linearbe­ wegung auf den Endeffektor des Manipulators.
Eine zu einem Zeitpunkt Ti kommandierte kartesische Endef­ fektor-Zielverschiebung Δxc kann vom Programmierer in Form eines 6-dimensionalen Inkrementvektors kommandiert werden. Alternativ hierzu kann der Inkrementvektor durch Differenz­ bildung absoluter Endeffektorkoordinaten bestimmt sein.
Nachfolgend wird die Erfindung anhand der Zeichnungen erläu­ tert. Es zeigen:
Fig. 1 eine Darstellung des Ein-/Ausgabeflusses der rück­ wärtskinematik im Echtzeitraster, und
Fig. 2 einen beim Verfahren nach der Erfindung benutzten Al­ gorithmus für die inverse Kinematik.
In Fig. 1 ist eine Darstellung des Ein-/Ausgabeflusses der Rückwärtskinematik im Echtzeitraster wiedergegeben.
Bei dem Verfahren ist unter Benutzung der Jacobi-Matrix der Kinematik zu einem Zeitpunkt Ti, eine kommandierte Endeffek­ tor-Zielverschiebung mit Δxc:=(Δxt,Δxr) bezeichnet, welche von einem Programmierer mit Hilfe einer Space-Mouse oder Steuer­ kugel in Form eines 6-dimensionalen Inkrementvektors komman­ diert wird. Mit ist jeweils der trans­ latorische bzw. rotatorische Anteil der kommandierten Endef­ fektor-Zielverschiebung bezeichnet, während Δxt max bzw. Δxr max jeweils den maximalen (skalarwertigen), von einem Program­ mierer vorgegebenen translatorischen bzw. rotatorischen kartesischen Lageversatz des Endeffektors pro Abtastzeit ΔT definieren.
Die gewünschte kartesische translatorische bzw. rotatorische Endeffektor-Zielverschiebung Δxt d bzw. Δxr d 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:= (Δxt d,Δxr d) erklärt.
Die Energiekriterien und Referenzlagenkriterien können ent­ sprechend den vorherrschenden problemspezifischen Anforde­ rungen geeignet gewichtet werden, indem jeder Achse j zwei positive, vom Programmierer vorgegebene Zahlenwerte, soge­ nannte Gewichtungswerte αjj zugewiesen werden. Von diesen Gewichtungswerten dienen der Wert αj der Gewichtung eines Energiekriteriums, das die Differenz zweier benachbarter be­ rechneter Gelenkpositionen von Achse j bewertet, und der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Gelenkposition qj von einem ebenfalls vom Programmierer vorgegebenen Referenzwert qref,j bewertet. Der Referenzwert qref,j wird genauso vom Programmierer vorgegeben wie die Bahnbe­ schränkungen betreffenden physikalischen Gelenkanschläge qmin,qmax des Manipulators sowie die Gelenkgeschwindigkeitsbe­ schränkungen max.
Da das erfindungsgemäße Verfahren der Optimierung gewichtiger Kriterien im Echtzeittakt unter einer garantierten Einhaltung aller Bahnbeschränkungen dient, wird zu einer gewünschten Endeffektor-Zielverschiebung Δxi d zum Zeitpunkt Ti-1 während des Zeitintervalls ΔT mit dem sich in einer Initialisierungsphase und einer nachfolgenden Optimierungsphase abgewickelten Algorithmus der inversen Kinematik ein zulässiger optimaler Gelenkpositionsversatz Δqi berechnet. Hierbei ist der aktuelle Sollwert an die Gelenkregler aus q i+1|soll:=qi soll+ Δqi erklärt wobei mit qi soll im Zeitraum ΔT die Gelenkpositionen durch die Gelenkregler entsprechend verfahren werden.
Unter einem zulässigen Gelenkpositionsversatz wird dabei verstanden, daß der mit Δq aktualisierte Gelenkpositionswert den physikalischen Gelenkanschlägen qmin, qmax entsprechend qmin≦qsoll+Δq≦qmax und Δq den Gelenkgeschwindigkeitsbeschränkungen max entsprechend |Δq|≦maxΔT genügt. Die Art der Optimalität von Δq ist von einem Programmierer durch die Gütekriteriengewichtung α, β festlegbar. Die Abtastzeit ΔT ist dabei entsprechend ΔT≧max (Δtq, Δtr) so bemessen, daß die Rechenzeit Δtq zur Berechnung eines optimalen zulässigen Ge­ lenkpositionsversatzes Δ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-Matrix der Kinematik im Punkt q0 der aktuellen Manipulatorposition, ndof die Anzahl der Gelenke und εi:=i maxΔT den maximal erlaubten Gelenkpositionsversatz pro Abtastzeit ΔT. Mit
lautet die inkrementelle kinematische Gleichung:
Aufgrund der Bahnbeschränkungen ergeben sich folgende Boxbeschränkungen für y:
Dabei bezeichnet q0 den jüngst berechneten, zulässigen Soll­ positionssatz, auf dessen Werte die Achsen des Robotors bereits eingeregelt sind, welche den Istwert darstellen. Definiere weiter:
Damit alle Bahnbeschränkungen erfüllt werden können, ist, gemäß der kinematischen Gleichung (1), die gewünschte Endeffektor-Zielverschiebung Δxc einer zentrischen Streckung unterworfen, die in Form zweier Skalare beschrieben ist:
0≦p≦1, 0≦q≦1.
Die Größen p, q werden durch das erfindungsgemäße Verfahren so maximiert, daß alle Bahnbeschränkungen eingehalten werden.
Definiere
und die Hilfsgrößen
sowie die Matrix mit n:=ndof+2:
Dabei bezeichnet die Einheitsmatrix. Ferner bezeichnen ai, i=1, . .,2n+6 die Zeilen von A.
Die Gewichte α, β der Kriterien sind durch die Diagonalmatrix repräsentiert. Deren Hauptdiagonalelemente lauten:
und
mit
und
Die Grundstruktur des eine Rückwärtskinematik benutzenden besonderen Verfahrens nach der Erfindung zur Kommandosteuerung 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 Kinematik 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, qk)=0; k max<7; initialisiere mit mk:=8 die Matrix der aktiven Nebenbedingungen
initialisiere die Indexmenge Jk:=(jk 1, jk 2, . . .,jk 2n+6) zur Kennzeichnung der aktiven, singulären und inaktiven Nebenbedingungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
rk, Jk, Yk, Zk, Lk, Sk):=Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreiecksbeziehung von Z:=ΛZk:
initialisiere den Vektor
Für gk wird folgende Kurzschreibweise verwendet:
2(βi scal(yi k-yi ref)+αi scalyi k, pk-1, qk-1).
Beim verwendeten Algorithmus der inversen Kinematik wird im Anschluß daran eine Optimierungsphase durchgeführt, die folgendermaßen ausgestaltet ist:
  • I. Berechne die Optimierungsrichtung dk:
    Rk Zdaux=-Qk ZZkgk.
    Bestimme hieraus daux durch Rückwärtssubstitution.
    Rk ZdZ=Qk Zdaux.Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
    dk:=ZkdZ.
  • II. Bestimme die maximale Schrittweite sk und den Index jk i0 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 Indexgrößen:
    • (a) Falls sk<1 (Nebenbedingung jk i0 ist aktiv geworden):
      • i. Falls mk<n (es noch inaktive Nebenbedingungen):
        • - xk+1=xk+skdk, xk+1=(yk+1, pk+1, qk+1);
          gk+1=2(βi scal(yi k+1-yi ref)+αi scalyi k+1, pk+1-1, qk+1-1).
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
          Prüfe xk+1 auf Optimalität:
          Falls Zt 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öhte Iterationsindex)
          Falls k<kmax: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk+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, qk+1);
          gk+1=2(βi scal(yi k+1-yi ref)+αi scalyi k+1, pk+1-1, qk+1-1).;
          λk=LLS(rk+1, mk+1, gk, Yk, Lk).
        • - Gebe eine Richtung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
        • - Aktiviere Nebenbedingung jk i0.
          Aktualisiere Matrixfaktorisierungen und Indexmenge:
        • - Prüfe xk+1auf Optimalität:
          Falls Zt 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öhte Iterationsindex)
          Falls k<kmax: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk+1:
          Gehe zu Schritt I.
      (b) Falls sk=1 (keine neue aktive Nebenbedingung).
      • - xk+1=xk+dk, xk+1=(yk+1, pk+1, qk+1);
        gk+1=2(βi scal(yi k+1-yi ref)+αi scalyi k+1, pk+1, -1, qk+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 Zt 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:
      • - k=k+1 (erhöhte Iterationsindex)
        Falls k<kmax: Gehe zu Schritt IV.
        Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk+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).
    λl:=0, i=r+1,. . .,m;
    λnL:=(λl+1,. . .,λm);
    LtλL=Ytg.
    Bestimme hieraus 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 Φ+:
    Aktiviere Nebenbedingungen 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 . Bestimme die Householderreflexion so, daß gilt:
    mit . Definiere den unitären Transformator gemäß:
    Definiere den unitären Transformator:
    Aktualisiere Indizes:
    Vertausche Nebenbedingungen:
    Falls r ≠ r dann
    sonst
    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 Φ-:
    Inaktiviere Nebenbedingung jj0.
    • - Falls j0<r: (Eliminiere singuläre aktive Nebenbedingung)
      Aktualisiere Indizies:
      Vertausche Nebenbedingungen:
      Aktualisiere Matrixfaktorisierungen:
      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 unteren Eliminationsmatritzen annuliert. Definiere lineare Transformatoren:
    • - Falls die letzte Zeile von
    • null ist oder falls r=m:
      Aktualisiere Indizies:

    • Vertausche Nebenbedingungen:
      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:
    • - Sonst (wandle singuläre aktive Nebenbedingung 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:
      dabei bezeichnet l0 die l0-te Spalte von .
      Aktualisiere Indizies:
      Vertausche Nebenbedingungen:
      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.
      dabei bezeichnen die l die Spalten von .
      Ende der Funktion Φ-.
      Definition der Funktion ΦA 0:
  • 1. Definiere:
    A0:=Â, i:=0.
  • 2. Definiere folgende Matrizenrekursion:
    Ai+1:=HiAi, i≧0.
    Der unitäre Transformator ist wie folgt erklärt:
    Die Householderreflexion ist so definiert, daß gilt:
    mit . Dabei bezeichnen die Vektoren k=1,. . ., n-i die Spalten der Matrix Ferner ist 1≦k0≦n-i der kleinste Index mit i k0≠0. Falls kein solches k0 existiert, dann gehe zu Schritt III, sonst gehen zu Schritt IV.
  • 3. Definiere Indizies:
    Definiere 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.
    Es ist T die Matrix, die durch Streichen der Zeilen r+1 bis n aus Ai+1 entsteht.
    Definiere gemäß:
    Stop: Ausführung der Funktion Φ0 A ist beendet!
  • 4. Vertausche die Spalte i+k0 mit der Spalte i+1 in Ai.
    Setze erhöhe den Zählindex i=i+1 und gehe zu Schritt II.
    Ende der Funktion Φ0 A.
    Definition der Funktion Φ0 Z:
    Bestimme die QR-Dreieckszerlegung von Z:
    Dabei bezeichnen eine unitäre Matrix und eine obere Dreiecksmatrix.
    Ende der Funktion Φ0 Z.

Claims (6)

1. Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators auf der Basis von mit Hilfe einer Handsteuerkugel oder derglei­ chen von einem Programmierer kommandierter Endeffektor- Zielverschiebungen in Verbindung mit einer Berechnung von Gelenkpositionswerten entsprechend einem Algorithmus inver­ ser Kinematik gekennzeichnet durch folgende Merkmale
  • - ausgehend von einer kommandierten Endeffektor- Zielverschiebung und dem aktuellen Istwert (qi) der Gelenk­ position des Manipulators wird unter Berücksichtigung einer Gütefunktion (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj) parametriert ist und unter Berücksichtigung von Bahnbeschränkungen durch phy­ sikalische Gelenkanschläge (qmin, qmax), maximaler Gelenkge­ schwindigkeit () und der kinematischen Gleichung, welche durch die Jacobi-Matrix repräsentiert ist, eine neue Gelenkposition (qi+1) berechnet, die die neuen Wer­ te für die Gelenkregler vorgibt, wobei die Gütefunktion die Summe aus Energiekriterium und Referenzlagekriterium ist, dabei berechnen sich das Energiekriterium aus
    (q-qi)tdiag(αj) (q-qi)
    und 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 berechne­ ten Gelenkpositionswerte (qi) nahe um diesen Referenzpositi­ onswert verläuft;
  • - ausgehend von einem Gelenkpositionswert qo 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.
2. Verfahren nach Anspruch 1, bei welchem unter Benutzung der Jacobi-Matrix der Kinematik, ausgehend von der komman­ dierten Endeffektor-Zielverschiebung Δxc:=(Δxt,Δxr) zu einem Zeitpunkt Ti, wobei jeweils den transla­ torischen bzw. rotatorischen Anteil der kommandierten Endef­ fektor-Zielverschiebung bezeichnen, Δxt max bzw. Δxr max jeweils den maximalen (skalarwertigen), von einem Programmierer vor­ gegebenen translatorischen bzw. rotatorischen kartesischen Lageversatz des Endeffektors pro Abtastzeit ΔT definieren, eine gewünschte kartesische translatorische bzw. rotatorische Endeffektor-Zielverschiebung Δxt d bzw. Δxr d pro Abtastzeit ΔT wie folgt definiert ist:
(der Betrag |x| eines Vektors x ist dabei und im weiteren durch seine euklidische Norm
gegeben), eine ge­ wünschte Endeffektor-Zielverschiebung durch Δxd:=(Δxt d,Δxr d) erklärt ist und die Energiekriterien und Referenzlagenkrite­ rien entsprechend den vorherrschenden problemspezifischen Anforderungen geeignet gewichtet werden können, indem jeder Achse j zwei positive, vom Programmierer vorgegebenen Zahlenwerte αj, βj zugewiesen werden, von denen der Wert αj der Gewichtung eines Energiekriteriums, das die Differenz zweier benachbarter berechneter Gelenkpositionen von Achse j bewertet, und der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Gelenkposition qj von dem ebenfalls vom Programmierer vorgegebenen Referenzwert qref,j bewertet, dient, der genauso vom Programmierer vorgegeben wird wie die Bahnbeschränkungen betreffenden physikalischen Gelenkanschläge qmin, qmax des Manipulators sowie die Gelenkgeschwindig­ keitsbeschränkungen max, daß bei der Erlangung der Verfahrensausgangsgrößen zu einer gewünschten Endeffektor-Zielverschiebung Δxi d, zum Zeitpunkt Ti-1 während des Zeitintervalls ΔT mit dem sich in einer Initialisierungsphase und einer nachfolgenden Optimierungsphase abwickelnden Algorithmus der inversen Kinematik ein zulässiger optimaler Gelenkpositionsversatz Δqi berechnet wird, wobei sich der aktuelle Sollwert an die Gelenkregler aus q i+1|soll:=qi soll+Δqi erklärt (mit qi soll werden im Zeitraum ΔT die Gelenkpositonen durch die Gelenkregler entsprechend verfahren) und unter dem zulässigen Gelenkpositionsversatz verstanden wird, daß der mit Δq aktualisierte Gelenkpositionswert den physikalischen Gelenkanschlägen qmin, qmax entsprechend qmin≦qsoll+Δq≦qmax und Δq den Gelenkgeschwindigkeitsbeschränkungen max entsprechend |Δq|≦maxΔT genügt und die Art der Optimalität von Δq von einem Programmierer 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 Achspositionen an die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT liegen.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die inkrementelle kinematische Gleichung unter der Voraussetzung, daß Ji, i=1,. . .,ndof die Spalten der Jacobi-Matrix der Kinematik, ndof die Anzahl der Gelenke und εi:=max ΔT den maximal erlaubten Gelenkpositionsversatz pro Abtastzeit ΔT beschreiben, mit
lautet daß sich aufgrund der Bahnbeschränkungen die Boxbeschränkungen
ergeben, wobei q0 den jüngst berechneten, zuverlässigen Sollpositionssatz, auf dessen Werte die Achsen des Roboters bereits eingeregelt sind, bezeichnet, daß weiterhin
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 zweier Skalare 0≦p≦1, 0≦q≦1 beschreiben läßt, wobei die Größen p, q so maximiert werden, daß alle Bahnbeschränkungen eingehalten werden, daß
und die Hilfsgrößen
sowie die Matrix , mit n:=ndof+2:
definiert werden, wobei die Einheitsmatrix und ai, =1,. . .,2n+6 die Zeilen von A bezeichnen, daß die Gewichte α, β der Kriterien durch die Diagonalmatrix repräsentiert werden, deren Hauptdiagonalelemente
für 1≦i≦n-2 und für n-2<i≦n, mit
lauten.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, 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, qk)=0; k max<7; initialisiere mit mk:=8 die Matrix der aktiven Nebenbedingungen
initialisiere die Indexmenge Jk:=(jk 1, jk 2, . . ., j 2n+6|k) zur Kennzeichnung der aktiven, singulären und inaktiven Nebenbedingungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk):=Φ0 A (Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk:
initialisiere den Vektor
g 0∈Rn: gk:= 2(βi scal(yi k-yi ref)+αi scalyi k, pk-1, qk-1),
daß beim verwendeten Algorithmus der inversen Kinematik anschließend eine Optimierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
  • I. Berechne die Optimierungsrichtung dk:
    Rk Zddaux=-Qk ZZkgk.
    Bestimme hieraus daux durch Rückwärtssubstitution.
    Rk Zdz=Qk Zdaux.
    Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
    dk:=ZkdZ.
  • II. Bestimme die maximale Schrittweite sk und den Index jk i0 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 Indexgrößen.
    • (a) Falls sk<1 (Nebenbedingung jk i0 ist aktiv geworden):
      • i. Falls mk<n (es gibt noch inaktive Nebenbedingungen):
        • - xk+1=xk+skdk, xk+1=(yk+1, pk+1, qk+1);
          gk+1=2(βi scal(yi k+1-yi ref)+αi scalyk+1, pk+1, -1, qk+1-1).
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge: Prüfe xk+1 auf Optimalität:
          Falls Zt 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öhte Iterationsindex)
          Falls k<kmax: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk+1
          Gehe zu Schritt I.
        ii. Falls mk=n (Ecke des zuläsigen Bereichs erreicht. Austausch aktiver Nebenbedingungen erforderlich):
        • - xk+1=xk+skdk, xk+1=(yk+1, pk+1, qk+1);
          gk+1=2(βi scal(yk+1-yref)+αi scalyk+1, pk+1, -1, qk+1-1).
          λk = LLS(rk+1, mk+1, gk, Yk, Lk).
        • - Gebe eine Richtung frei mit höchstem Optimierungspotential:
        • - Aktualisiere Matrixfaktorisierungen und Indexmenge:
        • - Aktiviere Nebenbedingungen jk i0.
          Aktualisiere Matrixfaktorisierungen und Indexmenge:
        • - Prüfe xk+1 auf Optimalität:
          Falls Zt k+1 gk+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 Iterationsindex)
          Falls k<kmax: Gehe zu Schritt IV.
          Sonst: Bestimme die orthonogale, reguläre Dreieckszerlegung von Z:=ΛZk+1: Gehe zu Schritt I.
      (b) Falls sk=1 (keine neue aktive Nebenbedingung).
        • - xk+1=xk+dk, xk+1=(yk+1, pk+1, qk+1);
          gk+1=2(βi scal(yk+1-yref)+αi scalyk+1, pk+1, -1, qk+1-1).
          -Aktualisiere Matrixfaktorisierungen und Indexmene:
          (rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1):=(r k, mk, Jk, Yk, Zk, Lk, Sk).
          Prüfe xk+1 auf Optimalität:
          Falls Zt 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:
        • - k=k+1 (erhöhe Iterationsindex)
          Falls k<kmax: Gehe zu Schritt IV.
          Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z:=ΛZk+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).
    λl:=0, i=r+1,. . .,m;
    λhL:=(λr+1,. . .,λm);
    LtλL=Ytg.
    Bestimme hieraus durch Rückwärtssubstition. Definiere den Ausgabewert der Funktion:
    λ:=(λL, λhL).
    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 Φ+:
    Aktiviere Nebenbedingungen ji0. Es bezeichnen aj0 mit j0:=ji0 die ji0 Zeile von A. Definiere Qt:=(Y,Z) und bilde a:=Qaj0. Partitioniere a=:(ay, aZ) mit . Bestimme die House­ holderreflexion so, daß gilt:
    mit . Definiere den unitären Transformator gemäß:
    Definiere den unitären Transformator:
    Aktualisiere Indizies:
    Vertausche Nebenbedingungen:
    Falls r ≠ r dann
    sonst
    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 Φ-:
    Inaktiviere Nebenbedingung jj0..
        • - Falls j0<r: (Eliminiere singuläre aktive Nebenbedingung)
          Aktualisiere Indizies:
          r:=r;
          m:=m-1;
          Vertausche Nebenbedingungen: Aktualisiere Matrixfaktorisierungen:
          dabei bezeichnen Si die Spalten von S.
        • - Falls j0≦r: (Eliminiere reguläre aktive Nebenbedingungen) 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 annulliert. Definiere lineare Transformatoren:
        • - Falls die letzte Zeile von
        • null ist oder falls r=m:
          Aktualisiere Indizies:
          Vertausche Nebenbedingungen:
          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:
          - Sonst (wandle singuläre aktive Nebenbedingung 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:
          dabei bezeichnet l0 die l0-te Spalte von .
          Aktualisiere Indizes:
          Vertausche Nebenbedingungen:
          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.
          dabei bezeichnen die l die Spalten .
          Ende der Funktion Φ-.
          Definition der Funktion Φ0 A:
  • 1. Definiere:
    A0:=, i:=0.
  • 2. Definiere folgende Matrizenrekursion:
    Ai+1:=HiAi, i≧0.
    Der unitäre Transformator ist wie folgt erklärt:
    Die Householderreflexion ist so definiert, daß gilt:
    mit . Dabei bezeichnen die Vektoren die Spalten der Matrix :
    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:
    Definiere 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.
    Es ist T die Matrix, die durch Streichen der Zeilen r+1 bis n aus Ai+1 entsteht.
    Definiere gemäß:
    Stop: Ausführung der Punkte Φ0 A ist beendet!
  • 4. Vertausche die Spalte i+k0 mit der Spalte i+1 in Ai.
    Setze erhöhe den Zählindex i=i+1 und gehe zu Schritt II.
    Ende der Funktion Φ0 A.
    Definition der Funktion Φ0 Z:
    Bestimme die QR-Dreieckszerlegung von Z:
    Dabei bezeichnen eine unitäre Matrix und eine obere Dreiecksmatrix.
    Ende der Funktion Φ0 Z.
5. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die zu einem Zeitpunkt Ti kommandierte kartesische Endeffektor-Zielverschiebung Δxc vom Programmierer in Form eines 6-dimensionalen Inkrementvektors kommandiert wird.
6. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Inkrementvektor der zu einem Zeitpunkt Ti kommandierten kartesischen Endeffektor-Zielverschiebung Δxc vom Programmierer durch Differenzbildung absoluter Endeffektorkoordinaten bestimmt wird.
DE19703915A 1997-02-03 1997-02-03 Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators Expired - Fee Related DE19703915C1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19703915A DE19703915C1 (de) 1997-02-03 1997-02-03 Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators
FR9801067A FR2761292B1 (fr) 1997-02-03 1998-01-30 Procede de commande de guidage interactif, sur trajectoire, d'un manipulateur a redondance cinematique
US09/017,485 US6081754A (en) 1997-02-03 1998-02-02 Method of command control for interactive path guidance of kinematically-redundant manipulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19703915A DE19703915C1 (de) 1997-02-03 1997-02-03 Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators

Publications (1)

Publication Number Publication Date
DE19703915C1 true DE19703915C1 (de) 1998-08-06

Family

ID=7819116

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19703915A Expired - Fee Related DE19703915C1 (de) 1997-02-03 1997-02-03 Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators

Country Status (3)

Country Link
US (1) US6081754A (de)
DE (1) DE19703915C1 (de)
FR (1) FR2761292B1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19800552A1 (de) * 1997-06-20 1999-01-28 Deutsch Zentr Luft & Raumfahrt Verfahren zur Kommandosteuerung eines Manipulators
DE102009058004B4 (de) * 2008-12-18 2015-05-21 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Impedanzsteuerung im Betriebsraum mit mehreren Prioritäten

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417755B1 (en) 2008-05-28 2013-04-09 Michael F. Zimmer Systems and methods for reducing memory traffic and power consumption in a processing environment by solving a system of linear equations
US8060250B2 (en) * 2008-12-15 2011-11-15 GM Global Technology Operations LLC Joint-space impedance control for tendon-driven manipulators
US8525460B2 (en) * 2010-02-02 2013-09-03 GM Global Technology Operations LLC Architecture for robust force and impedance control of series elastic actuators
CN109240092B (zh) * 2018-11-30 2021-09-10 长春工业大学 基于多智能体可重构模块化柔性机械臂轨迹跟踪控制方法

Citations (2)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159249A (en) * 1989-05-16 1992-10-27 Dalila Megherbi Method and apparatus for controlling robot motion at and near singularities and for robot mechanical design
US5550953A (en) * 1994-04-20 1996-08-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration On-line method and apparatus for coordinated mobility and manipulation of mobile robots

Patent Citations (2)

* 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

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.106-122 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19800552A1 (de) * 1997-06-20 1999-01-28 Deutsch Zentr Luft & Raumfahrt Verfahren zur Kommandosteuerung eines Manipulators
DE19800552C2 (de) * 1997-06-20 1999-04-22 Deutsch Zentr Luft & Raumfahrt Verfahren zur Kommandosteuerung eines Manipulators
DE102009058004B4 (de) * 2008-12-18 2015-05-21 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Impedanzsteuerung im Betriebsraum mit mehreren Prioritäten

Also Published As

Publication number Publication date
FR2761292B1 (fr) 2000-06-16
US6081754A (en) 2000-06-27
FR2761292A1 (fr) 1998-10-02

Similar Documents

Publication Publication Date Title
DE102017129665B3 (de) Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
DE19810341C2 (de) Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
DE69315137T2 (de) Verfahren zum steuern von mehreren robotern
DE3344633C2 (de)
DE102009024130B4 (de) Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien
DE69032185T2 (de) Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE112021001104T5 (de) Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
DE102004026814A1 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
DE102009058004B4 (de) Impedanzsteuerung im Betriebsraum mit mehreren Prioritäten
DE3210675A1 (de) Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
EP3013537A1 (de) Verfahren und system zur programmierung eines roboters
DE102014103370B4 (de) Verfahren und Vorrichtung zur zeitdiskreten Steuerung 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
DE102009014074A1 (de) Roboter und Verfahren zum Steuern einer kooperativen Arbeit des Roboters
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE3236320A1 (de) Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms
DE19703915C1 (de) Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators
DE102017222474A1 (de) Numeriksteuerung und datenstruktur
WO2022022784A1 (de) Verfahren und system zur bestimmung von optimierten programmparametern für ein roboterprogramm

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
D1 Grant (no unexamined application published) patent law 81
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