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 ManipulatorsInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1643—Programme controls characterised by the control loop redundant control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation 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 αj,βj 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
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.
- 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.
- - xk+1=xk+skdk, xk+1=(yk+1, pk+1, qk+1);
- - 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.
- i. Falls mk<n (es noch inaktive
Nebenbedingungen):
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:
- (a) Falls sk<1 (Nebenbedingung jk i0 ist aktiv geworden):
- 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.
(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.
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:
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.
- - 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.
- - xk+1=xk+skdk, xk+1=(yk+1, pk+1, qk+1);
-
- - 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.
- - xk+1=xk+dk, xk+1=(yk+1, pk+1, qk+1);
- i. Falls mk<n (es gibt noch inaktive Nebenbedingungen):
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:
- - Falls j0<r: (Eliminiere singuläre aktive Nebenbedingung)
-
- (a) Falls sk<1 (Nebenbedingung jk i0 ist aktiv geworden):
- 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.
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)
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)
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)
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)
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 |
-
1997
- 1997-02-03 DE DE19703915A patent/DE19703915C1/de not_active Expired - Fee Related
-
1998
- 1998-01-30 FR FR9801067A patent/FR2761292B1/fr not_active Expired - Fee Related
- 1998-02-02 US US09/017,485 patent/US6081754A/en not_active Expired - Fee Related
Patent Citations (2)
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)
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)
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 |