DE19800552C2 - Verfahren zur Kommandosteuerung eines Manipulators - Google Patents
Verfahren zur Kommandosteuerung eines ManipulatorsInfo
- Publication number
- DE19800552C2 DE19800552C2 DE19800552A DE19800552A DE19800552C2 DE 19800552 C2 DE19800552 C2 DE 19800552C2 DE 19800552 A DE19800552 A DE 19800552A DE 19800552 A DE19800552 A DE 19800552A DE 19800552 C2 DE19800552 C2 DE 19800552C2
- Authority
- DE
- Germany
- Prior art keywords
- matrix
- joint
- max
- scal
- constraints
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39358—Time optimal control along path for singular points, having veloctiy constraints
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39361—Minimize time-energy cost
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39439—Joystick, handle, lever controls manipulator directly, manually by operator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40454—Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zur Komman
dosteuerung eines Manipulators auf der Basis von mit Hilfe
einer Handsteuerkugel oder dgl. von einem Programmierer oder
einer übergeordneten Aufgabe kommandierten Endeffektor-
Zielverschiebungen (Δxd) in Verbindung mit einer Berechnung
von Gelenkpositionswerten entsprechend einem Algorithmus in
verser Kinematik.
Aus Siciliano, B., Sciavicco, L. "Modelling and Control of
Robot Manipulators", McGraw-Hill Companies (1996), S. 95 bis
101 und aus Vukobratovic, M., Kircanski, N. "Kinematics and
Trajectory Synthesis of Manipulation Robots", Springer-
Verlag, Tokyo, 1986, S. 105 bis 122 sind Verfahren zur Kom
mandosteuerung eines Manipulators auf der Grundlage komman
dierter Endeffektor-Zielverschiebungen in Verbindung mit ei
ner Berechnung entsprechend einem Algorithmus inverser Kine
matik unter Benutzung der Jacobi-Matrix bekannt.
In diesem Zusammenhang ergibt sich ein Verfahren inverser
Kinematik für kinematisch nichtredundante Manipulatoren, al
lerdings in einem nicht-singuläre Stellungen enthaltenden
Teilraum des Arbeitsbereichs. Da in der Praxis singuläre
Konfigurationen auftreten, d. h. Gelenkpositionen, an denen
die Jacobi-Matrix einen Rangabfall erfährt, ist dieses Ver
fahren nur begrenzt einsetzbar. Wird nämlich eine singuläre
Konfiguration (Singularität) angefahren, so muß der Arbeits
vorgang, der mit dem Manipulator durchgeführt wird,
(interaktives Bahnführen, Kraftregelung) abgebrochen oder
verzögert werden.
In diesem Zusammenhang ist ein Verfahren mit Berechnung ei
ner verallgemeinerten Inversen der Jacobi-Matrix bekannt,
das zwar einige vorteilhafte Eigenschaften hat, dafür aber
auch eine Reihe von Nachteilen mit sich bringt. So ergibt
sich eine Glattheit der berechneten Gelenkbahn und ein ge
ringer Verschleiß des Roboterantriebes durch Minimierung des
lokalen Gelenkpositionsversatzes Δq (lokale Energiekriteri
en). Außerdem wird der Abstand der Gelenkpositionen von den
physikalischen Gelenkanschlägen durch Optimierung von globa
len Kriterien im Nullraum der Jacobi-Matrix berücksichtigt.
Von Nachteil ist hierbei, daß Bahnbeschränkungen durch phy
sikalische Gelenkanschläge nicht garantiert eingehalten wer
den können, sich ein instabiles Verhalten in singulären Ro
boterstellungen durch eine (verallgemeinerte) Invertierung
der Jacobi-Matrix ergibt und ineffiziente Roboterbahnverläu
fe möglich sind, wenn widersprechende lokale und globale
Kriterien auftreten.
Bei einem anderen bekannten Verfahren, bei dem eine Berech
nung der transponierten Jacobi-Matrix erfolgt, wird das kom
mandierte Endeffektorziel, entsprechend einer Darstellung
der Rückwärtskinematik als Optimierungsproblem, iterativ er
reicht. Als vorteilhafte Eigenschaft ergibt sich hierbei ein
stabiles Verhalten in singulären Roboterstellungen, da keine
Invertierung der Jacobi-Matrix vorgenommen wird.
Allerdings können Bahnbeschränkungen durch physikalische Ge
lenkanschläge und maximale Gelenkgeschwindigkeiten nicht ga
rantiert eingehalten werden. Es müssen übergeordnete Heuri
stiken zur Abdeckung dieser Anforderungen aufgestellt wer
den, was sich dann in Fehlern der realen Endeffektorlage ge
genüber der gewünschten Endeffektorlage niederschlägt. Es
ergeben sich ineffiziente Bahnverläufe in Form von Störbewe
gungen des Endeffektors, da die von der Handsteuerkugel kom
mandierte kartesische Linearbewegung nicht exakt auf den
Endeffektor des Manipulators übertragbar ist.
Darüber hinaus ergibt sich ein hoher Materialverschleiß des
Roboterantriebes durch abruptes Durchfahren von singulären
Roboterstellungen und auf Grund einer im allgemeinen ungenü
gend glatten Gelenkbahn, da weder der gewichtete lokale Ge
lenkpositionsversatz noch der lokale Gelenkgeschwindigkeits
versatz (lokale Energie- und Beschleunigungskriterien) einer
Optimierung unterzogen wurden. Außerdem muß man mit einer
geringen Konvergenzgeschwindigkeit, also mit Einbußen an
Echtzeitfähigkeit, auskommen, da keine praktikable optimale
Strategie zur Festlegung der positiv definiten kartesischen
Steifigkeitsmatrix bekannt ist.
In DE 33 44 633 C2 ist eine Echtzeitsteuerung beschrieben,
bei welcher zur Berechnung der Gelenkgeschwindigkeiten red
undante Gelenke, welche zur Bewegung eines Endeffektors
nicht notwendig sind, festgehalten werden, und somit die Be
rechnung der inversen Jacobi-Matrix vereinfacht wird. Eine
derartige Berechnung wird für wenigstens eine der Gelenk-
Kombinationen durchgeführt. Die Geschwindigkeiten für jedes
Gelenk werden dann durch Mittelung der berechneten Gelenkge
schwindigkeiten bestimmt. Somit erfolgt bei diesem Stand der
Technik eine Gewichtung, und zwar der Gelenkgeschwindigkei
ten.
In US 5 430 643 ist ebenfalls ein Echtzeit-Verfahren be
schrieben, bei welchem die inverse Jacobi-Matrix berechnet
wird. Auch bei dem aus der vorerwähnten US-Patentschrift be
kannten Verfahren findet eine Berücksichtigung von Gewichts
werten für die Gelenkgeschwindigkeiten sowie von Bahnbe
schränkungen zumindest für eine grafische Simulation der Ro
boterbewegung statt.
Gemäß dem älteren deutschen Patent 197 03 915 C1 der Anmel
derin ist ein Verfahren zur Kommandosteuerung für eine in
teraktive Bahnführung eines kinematisch redundanten Manipu
lators auf der Basis von mit Hilfe einer Handsteuerkugel
oder dergleichen von einem Programmierer kommandierter End
effektor-Zielverschiebungen in Verbindung mit einer Berech
nung von Gelenkpositionswerten entsprechend einem Algorith
mus inverser Kinematik vorgeschlagen.
Bei diesem Verfahren wird ausgehend von einer kommandierten
Endeffektor-Zielverschiebung und dem aktuellen Istwert (qi)
der Gelenkposition des Manipulators unter Berücksichtigung
einer Gütefunktion (f(q)), die durch nichtnegative Gewich
tungswerte (αj, βj) parametriert ist und unter Berücksichti
gung von Bahnbeschränkungen durch physikalische Gelenkan
schläge (qmin, qmax), maximaler Gelenkgeschwindigkeit (max)
und der kinematischen Gleichung, welche durch die Jacobi-
Matrix repräsentiert ist, eine neue Gelenkposition (qi+1) be
rechnet, die die neuen Werte für die Gelenkregler vorgibt,
wobei die Gütefunktion die Summe aus Energiekriterium und
Referenzlagekriterium ist, dabei berechnen sich das Energie
kriterium aus (q-qi)tdiag(αj) (q-qi) und das Referenzlagenkri
terium aus (q-qref)tdiag(βj) (q-qref), wobei die Größe qref ein
vorgegebener Gelenkpositionswert ist, der derart festgelegt
ist, daß die Folge der berechneten Gelenkpositionswerte (qi)
nahe um diesen Referenzpositionswert verläuft.
Ausgehend von einem Gelenkpositionswert qi als Startpunkt
wird auf Basis der Gütefunktion ein zulässiger Optimierungs
vektor bestimmt bezüglich aller aktiven Nebenbedingungen die
angeben, welche Bahnbeschränkungen erreicht sind, und dieser
wird skaliert entsprechend der inaktiven Nebenbedingungen,
die angeben, welche Bahnbeschränkungen nicht erreicht sind.
Der skalierte Optimierungsvektor wird auf den im vorigen
Iterationsschritt berechneten Gelenkpositionswert addiert
und auf der Basis der Gütefunktion und der in der neu be
rechneten Gelenkposition aktivierten Nebenbedingungen wird
die Optimalität dieser Gelenkpositionswerte bewertet.
Bei diesem Verfahren ist vorteilhaft, daß eine wenig aufwen
dige und damit benutzerfreundliche Parametrierung vorgesehen
ist. Von Nachteil ist lediglich, daß das in dem älteren Pa
tent der Anmelderin vorgeschlagene Verfahren nicht für Kraft
regelungsaufgaben geeignet ist, da kein einheitliches Maß
existiert, das angibt, wieviel Prozent der gewünschten End
effektor-Zielverschiebung realisiert werden kann, und zudem
die Priorität, die Endeffektor-Zielverschiebung möglichst
gut zu erfüllen, verfahrensbedingt geringer ist.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren in
verser Kinematik zur Kommandosteuerung für eine interaktive
Bahnführung und/oder als modularer Baustein einer übergeord
neten Aufgabe (z. B. Kraftregelung) eines Manipulators unter
optimiertem Beschleunigungsverhalten zu schaffen, mit dem
Bahnbeschränkungen durch physikalische Gelenkanschläge sowie
maximal erlaubte Gelenkgeschwindigkeiten sicher eingehalten
werden, um die ermittelte Lösung auf Zulässigkeit hinsicht
lich der Bahnbeschränkungen sicherzustellen, und mit dem
eine minimale Belastung auf die Antriebsvorrichtung des Ma
nipulators durch eine Optimierung des Beschleunigungsverhal
tens der Gelenkachsen erreicht wird.
Gemäß der Erfindung, die sich auf ein Verfahren inverser Ki
nematik zur Kommandosteuerung eines Manipulators der ein
gangs genannten Art bezieht, wird diese Aufgabe durch die
Merkmale im kennzeichnenden Teils des Anspruchs 1 gelöst.
Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfah
rens sind Gegenstand der auf den Anspruch 1 unmittelbar oder
mittelbar rückbezogenen Ansprüche 2 bis 9.
Gemäß der Erfindung, die sich auf ein Verfahren zur Komman
dosteuerung eines Manipulators der eingangs angegebenen Art
bezieht, ist die Aufgabe dadurch gelöst, daß
- - ausgehend von einer kommandierten Endeffektor-Zielver
schiebung und dem aktuellen Istwert (qi) der Gelenkposi
tionen des Manipulators wird
- - unter Berücksichtigung einer zu minimierenden Gütefunkti on (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj, γj) parametriert ist
- - und unter Berücksichtigung von Bahnbeschränkungen durch physikalische Gelenkanschläge (qmin, qmax), maximaler Ge lenkgeschwindigkeit (max), maximaler Gelenkbeschleuni gung (max) in einer Umgebung physikalischer Gelenkan schläge und der kinematischen Gleichung,welche durch die Jakobi-Matrix (J(q)) repräsentiert ist
- - dabei berechnet sich das Energiekriterium aus
(q-qi)tdiag(αj)(q-qi) - - das Referenzlagenkriterium aus
(q-qref)tdiag(βj)(q-qref)
wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der berech neten Gelenkpositionswerte (qi) nahe um diesen Referenz positionswert verläuft; - - das Beschleunigungskriterium aus
(q-2qi + qi+1)tdiag(γj)(q-2qi + qi+1), und - - das Zusatzkriterium aus -p,
wobei der skalare Parameter p der kinematischen Gleichung p.Δxd = J(qi) (q-qi), und der Ungleichung 0 ≦ p ≦ 1 genügt, wobei p.100 die prozentuale Realisierung der kommandierten Endeffektor-Zielverschiebung (Δxd) ist,
- - ausgehend von einem Gelenkpositionswert qi als Startpunkt wird auf Basis der Gütefunktion ein zulässiger Optimie rungsvektor bestimmt bezüglich aller aktiven Nebenbedin gungen, die angeben, welche Bahnbeschränkungen erreicht sind und dieser wird skaliert entsprechend den inaktiven Nebenbedingungen, die angeben, welche Bahnbeschränkungen nicht erreicht sind;
- - der skalierte Optimierungsvektor wird auf den im vorigen Iterationsschritt berechneten Gelenkpositionswert addiert;
- - und auf Basis der Gütefunktion und der in der neu berech neten Gelenkposition aktivierten Nebenbedingungen wird die Optimalität dieser Gelenkpositionswerte bewertet.
Das Verfahren nach der Erfindung läßt sich bei der interak
tiven Bahnführung des Manipulators auf der Basis von mit
Hilfe einer Handsteuerkugel (Spacemouse) od. dgl. von einem
Operateur kommandierter Endeffektor-Zielverschiebungen an
wenden.
Das Verfahren nach der Erfindung läßt sich aber auch als mo
dularer Baustein einer übergeordneten Aufgabe mit von der
übergeordneten Aufgabe kommandierten Endeffektor-Zielver
schiebungen einsetzen. Eine übergeordnete Aufgabe kann bei
spielsweise eine solche sein, wie sie durch Kraftregelungs
aufgaben gestellt ist.
Bei dem Verfahren nach der Erfindung ergibt sich ein gerin
ger Verschleiß der Antriebsvorrichtung des Manipulators
durch Minimierung des lokalen Gelenkpositionsversatzes Δq
und des lokalen Gelenkgeschwindigkeitsversatzes (Energiekri
terien und Beschleunigungskriterien). Es werden "schlanke"
Gelenkbahnen um eine Referenzlage (z. B. Nullage) erzielt und
dadurch wird reversibles Verhalten der Manipulatorbewegung
erreicht.
Insbesondere wird dadurch vermieden, daß sich die Rollachsen
des Manipulators während der Ausführung der kommandierten
Manipulationsaufgabe immer stärker verdrehen und diese dann
am Endanschlag zu liegen kommen und dann eine weitere Aus
führung der Manipulationsaufgabe nicht mehr möglich ist.
Gelenkanschläge werden in vorteilhafter Weise weitestgehend
vermieden oder sanft bzw. verschleißarm angefahren. Dieses
Verhalten wird durch einen Verzögerungseffekt der Roboter
achsen hervorgerufen, der proportional zum Abstand von der
Referenzposition wirkt, und durch explizite Beschleunigungs
beschränkungen. Darüber hinaus entsteht ein stabiles Verhal
ten in singulären Roboterstellungen, da keine Invertierung
der Jacobi-Matrix vorgenommen wird.
Außerdem ergeben sich in vorteilhafter Weise effiziente
Bahnverläufe durch exakte Übertragung der von der Handsteu
erkugel kommandierten kartesischen Linearbewegung auf den
Endeffektor des Manipulators. Ferner werden Bahnbeschränkun
gen durch physikalische Gelenkanschläge und maximale Gelenk
geschwindigkeiten zuverlässig eingehalten.
Da hierdurch der Lösungsbereich, das ist die Menge der zu
lässigen Gelenkpositionen, eingeschränkt wird, wird eine ho
he Konvergenzgeschwindigkeit mit einem Gewinn an Echtzeitfä
higkeit erreicht. Zudem wird die prozentuale Realisierung
der gewünschten Endeffektor-Zielverschiebung berechnet. Sin
gularitäten können in stabiler Weise angefahren und/oder
durchfahren werden; daher ist auch keine Einschränkung des
Arbeitsbereichs notwendig.
Eine zu einem Zeitpunkt Ti kommandierte kartesische Endef
fektor-Zielverschiebung Δxc kann vom Operateur und/oder ei
ner übergeordneten Aufgabe (z. B. Kraftregelung) in Form ei
nes 6-dimensionalen Inkrementvektors kommandiert werden. Al
ternativ hierzu kann der Inkrementvektor durch Differenzbil
dung absoluter Endeffektorkoordinaten bestimmt sein.
In den anliegenden Zeichnungen zeigen
Fig. 1 eine schematisierte Darstellung eines Ein/Ausgabe
flusses einer Rückwärtskinematik im Echt
zeitraster;
Fig. 2 in Form eines Blockschaltbildes einen beim erfin
dungsgemäßen Verfahren zur Kommandosteuerung eines
Manipulators verwendeten Algorithmus inverser Ki
nematik, und
Fig. 3 die Anwendung des erfindungsgemäßen Verfahrens zur
Kommandosteuerung eines Manipulators im Rahmen der
Durchführung einer übergeordneten Aufgabe, wie
beispielsweise einer Kraftregelung.
In Fig. 1 ist im Zusammenhang mit den vorstehenden Merkmalen
der Erfindung eine Darstellung des Ein-/Ausgabeflusses der
Rückwärtskinematik im Echtzeitraster gezeigt.
Bei dem Verfahren ist unter Benutzung der Jacobi-Matrix der
Kinematik zu einem Zeitpunkt Ti, eine kommandierte Endeffek
tor-Zielverschiebung Δxc: = (Δxt, Δxr) bezeichnet, welche vom
Operateur mit Hilfe einer Spacemouse oder einer übergeordne
ten Aufgabe in Form eines 6-dimensionalen Inkrementvektors
kommandiert wird. Mit Δxt ∈ R 3 bzw. Δxr ∈ R 3 sind jeweils
der translatorische bzw. rotatorische Anteil der kommandier
ten Endeffektor-Zielverschiebung bezeichnet, während Δxt max
bzw. Δxr max jeweils den maximalen (skalarwertigen), transla
torischen bzw. rotatorischen kartesischen Lageversatz des
Endeffektors pro Abtastzeit ΔT definieren.
Die gewünschte kartesische translatorische bzw. rotatorische
Endeffektor-Zielverschiebung Δx d|t bzw. Δx d|r pro Abtastzeit ΔT
ist wie folgt definiert:
Der Betrag |x| eines Vektors x ist dabei und im weiteren
durch seine euklidische Norm
gegeben. Die ge
wünschte Endeffektor-Zielverschiebung ist durch
Δxd: = (Δx d|t, Δx d|r) erklärt. Die Energiekriterien, Referenzla
genkriterien und Beschleunigungskriterien können entspre
chend den vorherrschenden problemspezifischen Anforderungen
geeignet gewichtet werden, indem jeder Achse j drei positi
ve, vom Operateur vorgegebene Zahlenwerte, sogenannte Ge
wichtungswerte αj, βj, γj zugewiesen werden. Von den Gewich
tungswerten dienen der Wert αj der Gewichtung eines Energie
kriteriums, das die Differenz zweier benachbarter berechne
ter Gelenkpositionen von Achse j bewertet, der Wert βj der
Gewichtung eines Kriteriums, das die Auslenkung der Gelenk
position qj von einem ebenfalls vom Operateur vorgegebenen
Referenzwert qref,j bewertet, und der Wert γj der Gewichtung
eines Kriteriums, das das Beschleunigungsverhalten in Form
eines Gelenkgeschwindigkeitsversatzes der Gelenkachse qj be
wertet. Der Gelenkgeschwindigkeitsversatz der Gelenkachse qj
wird genauso vom Operateur vorgegeben wie die Bahnbeschrän
kungen betreffenden physikalischen Gelenkanschläge qmin, qmax
des Manipulators sowie die Gelenkgeschwindigkeitsbeschrän
kungen max und die Gelenkbeschleunigungsbeschränkungen max.
Da das erfindungsgemäße Verfahren der Optimierung gewichti
ger Kriterien im Echtzeittakt unter garantierter Einhaltung
aller Bahnbeschränkungen dient, wird zu einer gewünschten
Endeffektor-Zielverschiebung Δx i|d zum Zeitpunkt Ti-1 während
des Zeitintervalls ΔT mit dem sich in einer Initialisie
rungsphase und einer nachfolgenden Optimierungsphase abwickelnden
Algorithmus der inversen Kinematik ein zulässiger
optimaler Gelenkpositionsversatz Δqi berechnet. Hierbei ist
der aktuelle Sollwert an die Gelenkregler aus
q i+1|soll: = q i|soll + Δqi erklärt, wobei mit q i|soll im Zeitraum ΔT die
Gelenkpositionen durch die Gelenkregler entsprechend verfah
ren werden. Unter einem zulässigen Gelenkpositionsversatz
wird dabei verstanden, daß der mit Δq aktualisierte Gelenk
positionswert den physikalischen Gelenkanschlägen qmin, qmax
entsprechend qmin ≦ qsoll + Δq ≦ qmax und Δq den Gelenkge
schwindigkeitsbeschränkungen max entsprechend |Δqi| ≦ max ΔT ge
nügt. Hierdurch werden die Beschränkungen der Gelenkbe
schleunigungen beim Annähern von Gelenkpositionen an die
physikalischen Gelenkanschläge zuverlässig eingehalten. Die
Art der Optimalität von Δqi ist vom Operateur durch die Gü
tekriteriengewichtung α, β, γ festlegbar. Dadurch ist die Ab
tastzeit ΔT dabei entsprechend ΔT ≧ max (Δtq, Δtr) so bemes
sen, daß die Rechenzeit Δtq zur Berechnung eines optimalen
zulässigen Gelenkpositionsversatzes Δq und die Einregelzeit
Δtr, welche die Regler zur Angleichung der Achspositionen an
die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT
liegen.
Es folgt nun eine algorithmische Beschreibung des Verfahrens
nach der Erfindung.
Es bezeichnen Ji, i = 1, . . ., ndof die Spalten der Jacobi-Ma
trix der Kinematik im Punkt qi der aktuellen Gelenkpositio
nen des Manipulators, ndof die Anzahl der Gelenke
und εi: = i|maxΔT den maximal erlaubten Gelenkpositionsversatz
pro Abtastzeit ΔT. Mit
und
Jε: = (J1ε1, J2ε2, . . ., Jndofεndof) lautet die inkrementelle kinemati sche Gleichung:
Jε: = (J1ε1, J2ε2, . . ., Jndofεndof) lautet die inkrementelle kinemati sche Gleichung:
pΔxd = Jεy (1)
Aufgrund der Bahnbeschränkungen ergeben sich folgende Boxbe
schränkungen für y:
Definiere weiter:
Dabei be
zeichnet Δqi das jüngst berechnete Inkrement der i-ten Ge
lenkachse.
Damit alle Bahnbeschränkungen erfüllt werden können, ist,
gemäß der kinematischen Gleichung (1), die gewünschte Endef
fektor-Zielverschiebung einer zentrischen Streckung unter
worfen, die in Form eines Skalars beschrieben ist:
0 ≦ p ≦ 1.
Die Größe p wird durch das erfindungsgemäße Verfahren so ma
ximiert, daß alle Bahnbeschränkungen eingehalten werden. Da
bei ist p.100 die prozentuale Realisierung der gewünschten
Endeffektor-Zielverschiebung.
Definiere den Begrenzungsvektor
b: = (0, 0, 0, 0, 0, 0, ymin, 0, -ymax, -1) ∈ R 2n+6, den zu bestimmenden
Parametervektor x: = (y, p) und die Matrix der Gradienten aller
Nebenbedingungen A ∈ R 2n+6,n mit n: = ndof + 1:
Dabei bezeichnet In ∈ R n,n die Einheitsmatrix. Ferner be
zeichnen ai, i = 1, . . ., 2n + 6 die Zeilen von A.
Die Gewichte α, β, γ der Kriterien definieren den Cholesky-
Faktor der Hessematrix aus der skalierten Summe der Krite
rien in Form der Diagonalmatrix Λ ∈ R n,n. Diese Kriterien
sind das Energiekriterium (q-qi)tdiag(αj)(q-qi), das Refe
renzlagenkriterium (q-qref)tdiag(βj)(q-qref), wobei die Größe
qref ein vorgegebener Gelenkpositionswert ist, der derart
festgelegt ist, daß die Folge der berechneten Gelenkpositi
onswerte (qi) nahe um diesen Referenzpositionswert verläuft;
das Beschleunigungskriterium (q-2qi + qi-1)tdiag(γj)(q-2qi + qi-1)
und das Zusatzkriterium aus -p, wobei der skalare Parameter
p der kinematischen Gleichung pΔxd = J(qi)(q-qi) und der Un
gleichung 0 ≦ p ≦ 1 genügt und p.100 die prozentuale Reali
sierung der kommandierten Endeffektor-Zielverschiebung (Δxd)
ist. Die Hauptdiagonalelemente der vorerwähnten Diagonalma
trix lauten:
Die Grundstruktur des eine Rückwärtskinematik benutzenden
besonderen Verfahrens nach der Erfindung zur Kommandosteue
rung ist schematisch in Fig. 2 dargestellt.
Anhand der Fig. 2 wird im folgenden ein beim Verfahren nach
der Erfindung benutzter Algorithmus für die inverse Kinema
tik genauer beschrieben. Beim verwendeten Algorithmus der
inversen Kinematik wird zuerst eine Initialisierungsphase
durchgeführt, die folgendermaßen ausgestaltet ist:
Zählindex: k = 0; Startwert: xk = (yk, pk) = 0; k max < 2;
initialisiere mit mk: = 7 die Matrix der Gradienten der ak
tiven Nebenbedingungen Ât ∈ R mk,n:
initialisiere die Indexmenge Jk: = (j 1|k, j 2|k, . . ., j 2n+6|k) zur Kenn
zeichnung der aktiven, singulären und inaktiven Nebenbedin
gungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk): = Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung
von Z: = ΛZk:
(Q Z|k, R Z|k): = Φ0 Z(Z, rk);
initialisiere den Gradientenvektor der Gütefunktion f(q)
g0 ∈ R n: gk: = 2(β scal|l(y l|k - y l|ref) + γ scal|l(y l|k - y l|acc)
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
wobei für gk folgende Kurzschreibweise verwendet wird:
2(β scal|i(y i|k - y i|ref) + γ scal|i(y i|k - y i|acc) + α scal|iy i|k, -1),
daß beim verwendeten Algorithmus der inversen Kinematik an
schließend eine Optimierungsphase durchgeführt wird, die
folgendermaßen ausgestaltet ist:
- I. Berechne die Optimierungsrichtung dk:
R Z|kdaux = -Q Z|kZkgk.
Bestimme hieraus daux durch Rückwärtssubstitution.
R Z|kdZ = Q Z|kdaux.
Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
dk: = ZkdZ. - II. Bestimme die maximale Schrittweite sk und den Index j i0|k
der beschränkenden Nebenbedingung:
(Bei Mehrdeutigkeit wähle dasjenige j0 mit kleinstem Index i0). - III. Prüfe auf Optimalität und Update aller Matrix- und In
dexgrößen.
- (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor
den):
- i. Falls mk < n (es gibt noch inaktive Nebenbedin
gungen):
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1). - - Aktualisiere Matrixfaktorisierungen und Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, rk, mk, Jk, Yk, Zk, Lk, Sk.
Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: k = k+1 (erhöhe Iteratonsindex)
Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
- ii. Falls mk = n (Ecke des zulässigen Bereichs erreicht,
Austausch aktiver Nebenbedingungen erforderlich):
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iyk+1, -1);
λk = LLS(rk+1, mk+1, gk, Yk, Lk). - - Gib eine Richtung frei mit höchstem Optimierungspotential:
- - Aktualisiere Matrixfaktorisierungen und Indexmenge:
(k, k, k, k, k, k, k): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk). - - Aktiviere Nebenbedingung j i0|k.
Aktualisiere Matrixfaktorisierungen und Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, k, k, k, k, k, k, k). - - Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: k = k + 1 (erhöhe Iteratonsindex)
Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
- i. Falls mk < n (es gibt noch inaktive Nebenbedin
gungen):
- (b) Falls sk = 1 (keine neue aktive Nebenbedingung).
- - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1); - - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = (rk, mk, Jk, Yk, Zk, Lk, Sk). - - Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: Gib eine Richtung frei mit höchstem Optimierungspotential:
- - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk) - - k = k + 1 (erhöhe Iteratonsindex)
- - Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
- - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
- (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor
den):
- IV. Lösung xk+1 ermittelt. Stop!
Ende des Algorithmus der inversen Kinematik.
Definition der Funktion LLS:- λ = LLS(r, m, g, Y, L).
λi: = 0, i = r + 1, . . ., m;
λnL: = (λr+1, . . ., λm);
LtλL = Ytg.
- λ: = (λL, λnL).
Ende der Funktion LLS.
Definition der Funktion Φ+:
(r, m, J, Y, Z, L, S) = Φ+ A(i0, r, m, J, Y, Z, L, S)
Aktiviere Nebenbedingung ji0. Es bezeichne aj0 mit j0: = ji0 die ji0 Zeile von A. Definiere Qt: = (Y, Z) und bilde a: = Qaj0. Partitioniere a =: (aY, aZ) mit ay ∈ R r und aZ ∈ R n-r. Bestimme die Householderreflexion ∈ R n-r,n-r so, daß gilt:
|aZ|e1 = aZ,
mit e1: = (1,0, . . ., 0) ∈ R n-r. Definiere den unitären Transformator H ∈ R n,n gemäß:
Definiere den unitären Transformator:
Q: = HQ;
Aktualisiere Indizies:
Vertausche Nebenbedingungen:
Falls r ≠ r, dann
sonst
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
Ende der Funktion Φ+.
Definition der Funktion Φ-:
(r, m, J, Y, Z, L, S) = Φ- A(j0, r, m, J, Y, Z, L, S).
Inaktiviere Nebenbedingung jj0. - λ = LLS(r, m, g, Y, L).
- - Falls j0 < r: (Eliminiere singuläre aktive Nebenbedingung)
Aktualisiere Indizies:
r: = r;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y: = Y;
Z: = Z;
L: = L;
S: = (S1, . . ., Sj0-r-1, Sj0-r+1, . . ., Sm-r),
dabei bezeichnen Si die Spalten von S. - - Falls j0 ≦ r: (Eliminiere reguläre aktive Nebenbedingung) ergibt sich aus R: = Lt durch Streichen der j0-ten Spalte.
Die an den Stellen (j0, j0 + 1), (j0 + 1, j0 + 2), . . ., (r, r +1)
auftretenden Elemente von werden durch Linksmultiplikation
mit einer Folge von unitären Eliminationsmatrizen
j0,j0+1, . . ., r-1,r ∈ R r,r annulliert. Definiere lineare Transformatoren:
- - Falls die letzte Zeile von null ist oder falls r = m:
Aktualisiere Indizies:
r: = r - 1;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält. Falls r < m streiche die letzte Zeile von und . Setze:
L: = t;
S: = ; - - Sonst (wandle singuläre aktive Nebenbedingungen in reguläre
aktive Nebenbedingung):
Bestimme das Element der letzten Zeile von mit dem kleinsten Index l0 derart, daß gilt:
r,l0 ≠ 0.
Vertausche Spalte l0 mit Spalte 1 von . Definiere linearen Transformator:
R: = (, l0),
dabei bezeichnet l0 die l0-te Spalte von .
Aktualisiere Indizies:
r: = r;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
L: = Rt;
S: = (2,. . ., l0-1, 1,. . ., l0+1,. . ., m-r).
dabei bezeichnen die 1 die Spalten von .
Ende der Funktion Φ-.
Definition der Funktion Φ0 A:
(r, J, Y, Z, L, S): = Φ0 A(Â, m, J).
- - Falls die letzte Zeile von null ist oder falls r = m:
- 1. Definiere:
A0: = Â, i: = 0. - 2. Definiere folgende Matrizenrekursion:
Ai+1: = HiAi, i ≧ 0.
Der unitäre Transformator Hi ∈ R n,n ist wie folgt erklärt:
Die Householderreflexion i ∈ R n-i,n-i ist so definiert, daß gilt:
|ã i|k0|e1 = iã i|k0,
mit e1: = (1,0, . . ., 0) ∈ R n-i. Dabei bezeichnen die Vektoren ã i|k ∈ R n-i, k = 1, . . ., n - i die Spalten der Matrix Ãi ∈ R n-i,m-i:
Ferner ist 1 ≦ k0 ≦ n - i der kleinste Index mit ã i|k0 ≠ 0. Falls kein solches k0 existiert, dann gehe zu Schritt III, sonst gehe zu Schritt IV. - 3. Definiere Indizies:
r: = i;
J: = (j1, . . ., j2n+6).
Definiere Matrixfaktorisierungen:
Q: = HH . . . H0;
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
Es ist T die Matrix, die durch Streichen der Zeilen r + 1 bis n aus Ai+1 entsteht.
Definiere L ∈ R und S ∈ R gemäß:
(Lt, S): = T.
Stop: Ausführung der Funktion Φ0 A ist beendet! - 4. Vertausche die Spalte i + k0 mit der Spalte i + 1 in Ai.
Setze jk: = jk k, erhöhe den Zählindex i = i + 1 und gehe zu Schritt II.
Ende der Funktion Φ0 A.
Definition der Funktion Φ0 Z:
(QZ, RZ): = Φ0 Z(Z, r).
Bestimme die QR-Dreieckszerlegung von Z:
Dabei bezeichnen QZ ∈ R n,n eine unitäre Matrix und RZ ∈ R r,r eine obere Dreiecksmatrix.
Ende der Funktion Φ0 Z.
Claims (9)
1. Verfahren zur Kommandosteuerung eines Manipulators auf
der Basis von mit Hilfe einer Handsteuerkugel oder dgl. von
einem Programmierer oder einer übergeordneten Aufgabe kom
mandierten Endeffektor-Zielverschiebungen (Δxd) in Verbin
dung mit einer Berechnung von Gelenkpositionswerten ent
sprechend einem Algorithmus inverser Kinematik, gekenn
zeichnet durch folgende Merkmale:
- - ausgehend von einer kommandierten Endeffektor-Zielver
schiebung und dem aktuellen Istwert (qi) der Gelenkposi
tionen des Manipulators wird
- - unter Berücksichtigung einer zu minimierenden Gütefunk tion (f(q)), die durch nichtnegative Gewichtungswerte (αj, βj, γj) parametriert ist
- - und unter Berücksichtigung von Bahnbeschränkungen durch physikalische Gelenkanschläge (qmin, qmax), maximaler Ge lenkgeschwindigkeit (max), maximaler Gelenkbeschleuni gung (max) in einer Umgebung physikalischer Gelenkan schläge und der kinematischen Gleichung,welche durch die Jakobi-Matrix (J(q)) repräsentiert ist
- - dabei berechnet sich das Energiekriterium aus
(q-qi)tdiag(αj)(q-qi) - - das Referenzlagenkriterium aus
(q-qref)tdiag(βj)(q-qref)
wobei die Größe qref ein vorgegebener Gelenkpositionswert ist, der derart festgelegt ist, daß die Folge der be rechneten Gelenkpositionswerte (qi) nahe um diesen Refe renzpositionswert verläuft; - - das Beschleunigungskriterium aus
(q-2qi + qi-1)tdiag(γj)(q-2qi + qi-1), und - - das Zusatzkriterium aus -p,
wobei der skalare Parameter p der kinematischen Glei chung p.Δxd = J(qi)(q-qi), und der Ungleichung 0 ≦ p ≦ 1 genügt, wobei p.100 die prozentuale Realisierung der kommandierten Endeffektor-Zielverschiebung (Δxd) ist,
- - ausgehend von einem Gelenkpositionswert qi als Start punkt wird auf Basis der Gütefunktion ein zulässiger Op timierungsvektor bestimmt bezüglich aller aktiven Neben bedingungen, die angeben, welche Bahnbeschränkungen er reicht sind und dieser wird skaliert entsprechend den inaktiven Nebenbedingungen, die angeben, welche Bahnbe schränkungen nicht erreicht sind;
- - der skalierte Optimierungsvektor wird auf den im vorigen Iterationsschritt berechneten Gelenkpositionswert ad diert;
- - und auf Basis der Gütefunktion und der in der neu be rechneten Gelenkposition aktivierten Nebenbedingungen wird die Optimalität dieser Gelenkpositionswerte bewer tet.
2. Verfahren nach Anspruch 1 unter Benutzung der Jacobi-
Matrix der Kinematik, wobei ausgehend von einer kommandier
ten Endeffektor-Zielverschiebung Δxc: = (Δxt, Δxr) zu einem
Zeitpunkt Ti, worin Δxt ∈ R 3 bzw. Δxr ∈ R 3 jeweils den
translatorischen bzw. rotatorischen Anteil der kommandierten
Endeffektor-Zielverschiebung bezeichnen, Δxt max bzw. Δxr max
jeweils den maximalen (skalarwertigen), vom Operateur vorge
gebenen translatorischen bzw. rotatorischen kartesischen La
geversatz des Endeffektors pro Abtastzeit ΔT definieren,
die gewünschte kartesische translatorische bzw. rotatorische
Endeffektor-Zielverschiebung Δx d|t bzw. Δx d|r pro Abtastzeit ΔT
wie folgt erklärt ist:
(der Betrag |x| eines Vektors x ist dabei und im weiteren durch seine euklidische Norm
gegeben), und die gewünschte Endeffektor-Zielverschiebung durch Δxd: = (Δx d|t, Δx d|r) erklärt ist, dadurch gekennzeich net, daß die drei Kriterien, nämlich die Energiekriterien, Referenzlagenkriterien und Beschleunigungskriterien entspre chend den vorherrschenden problemspezifischen Anforderungen geeignet gewichtet werden, indem jeder Achse j drei positi ve, vom Operateur vorgegebene Zahlenwerte αj, βj, γj zugewie sen werden, von denen der Wert αj der Gewichtung eines Ener giekriteriums, das die Differenz zweier benachbarter berech neter Gelenkpositionen von Achse j bewertet, der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Ge lenkposition qj von einem ebenfalls vom Operateur vorgege benen Referenzwert qref,j bewertet, und der Wert γj der Ge wichtung eines Kriteriums, das das Beschleunigungsverhalten in Form eines Gelenkgeschwindigkeitsversatzes der Gelenk achse qj bewertet, dient, der genauso vom Operateur vorgege ben wird wie die Bahnbeschränkungen betreffenden physikali schen Gelenkanschläge qmin, qmax des Manipulators sowie die Gelenkgeschwindigkeitsbeschränkungen max und die Gelenkbe schleunigungsbeschränkungen max, daß bei der Erlangung der Verfahrensausgangsgrößen zu einer gewünschten Endeffektor- Zielverschiebung Δx i|d zum Zeitpunkt Ti-1 während des Zeitin tervalls ΔT mit dem sich in einer Initialisierungsphase und einer nachfolgenden Optimierungsphase abwickelnden Algorith mus der inversen Kinematik ein zulässiger optimaler Gelenk positionsversatz Δqi berechnet wird, wobei sich der aktuelle Sollwert an die Gelenkregler aus q i+1|soll: = q i|soll + Δqi erklärt (mit q i|soll werden im Zeitraum ΔT die Gelenkpositionen durch die Gelenkregler entsprechend verfahren) und unter einem zu lässigen Gelenkpositionsversatz verstanden wird, daß der mit Δq aktualisierte Gelenkpositionswert den physikalischen Ge lenkanschlägen qmin, qmax entsprechend qmin ≦ qsoll + Δq ≦ qmax und Δq den Gelenkgeschwindigkeitsbeschränkungen max ent sprechend |Δqi| ≦ max ΔT genügt und die Beschränkungen der Ge lenkbeschleunigungen beim Annähern von Gelenkpositionen auf die physikalischen Gelenkanschläge zuverlässig eingehalten werden und die Art der Optimalität von Δqi vom Operateur durch die Gütekriteriengewichtung α, β, γ festlegbar ist und die Abtastzeit ΔT dabei entsprechend ΔT ≧ max (Δtq, Δtr) so bemessen ist, daß die Rechenzeit Δtq zur Berechnung eines optimalen zulässigen Gelenkpositionsversatzes Δq und die Einregelzeit Δtr welche die Regler zur Angleichung der Achs positionen an die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT liegen.
(der Betrag |x| eines Vektors x ist dabei und im weiteren durch seine euklidische Norm
gegeben), und die gewünschte Endeffektor-Zielverschiebung durch Δxd: = (Δx d|t, Δx d|r) erklärt ist, dadurch gekennzeich net, daß die drei Kriterien, nämlich die Energiekriterien, Referenzlagenkriterien und Beschleunigungskriterien entspre chend den vorherrschenden problemspezifischen Anforderungen geeignet gewichtet werden, indem jeder Achse j drei positi ve, vom Operateur vorgegebene Zahlenwerte αj, βj, γj zugewie sen werden, von denen der Wert αj der Gewichtung eines Ener giekriteriums, das die Differenz zweier benachbarter berech neter Gelenkpositionen von Achse j bewertet, der Wert βj der Gewichtung eines Kriteriums, das die Auslenkung der Ge lenkposition qj von einem ebenfalls vom Operateur vorgege benen Referenzwert qref,j bewertet, und der Wert γj der Ge wichtung eines Kriteriums, das das Beschleunigungsverhalten in Form eines Gelenkgeschwindigkeitsversatzes der Gelenk achse qj bewertet, dient, der genauso vom Operateur vorgege ben wird wie die Bahnbeschränkungen betreffenden physikali schen Gelenkanschläge qmin, qmax des Manipulators sowie die Gelenkgeschwindigkeitsbeschränkungen max und die Gelenkbe schleunigungsbeschränkungen max, daß bei der Erlangung der Verfahrensausgangsgrößen zu einer gewünschten Endeffektor- Zielverschiebung Δx i|d zum Zeitpunkt Ti-1 während des Zeitin tervalls ΔT mit dem sich in einer Initialisierungsphase und einer nachfolgenden Optimierungsphase abwickelnden Algorith mus der inversen Kinematik ein zulässiger optimaler Gelenk positionsversatz Δqi berechnet wird, wobei sich der aktuelle Sollwert an die Gelenkregler aus q i+1|soll: = q i|soll + Δqi erklärt (mit q i|soll werden im Zeitraum ΔT die Gelenkpositionen durch die Gelenkregler entsprechend verfahren) und unter einem zu lässigen Gelenkpositionsversatz verstanden wird, daß der mit Δq aktualisierte Gelenkpositionswert den physikalischen Ge lenkanschlägen qmin, qmax entsprechend qmin ≦ qsoll + Δq ≦ qmax und Δq den Gelenkgeschwindigkeitsbeschränkungen max ent sprechend |Δqi| ≦ max ΔT genügt und die Beschränkungen der Ge lenkbeschleunigungen beim Annähern von Gelenkpositionen auf die physikalischen Gelenkanschläge zuverlässig eingehalten werden und die Art der Optimalität von Δqi vom Operateur durch die Gütekriteriengewichtung α, β, γ festlegbar ist und die Abtastzeit ΔT dabei entsprechend ΔT ≧ max (Δtq, Δtr) so bemessen ist, daß die Rechenzeit Δtq zur Berechnung eines optimalen zulässigen Gelenkpositionsversatzes Δq und die Einregelzeit Δtr welche die Regler zur Angleichung der Achs positionen an die Sollwerte qsoll benötigen, innerhalb der Zeitspanne ΔT liegen.
3. Verfahren nach Anspruch 2, gekennzeichnet durch die
Anwendung bei der interaktiven Bahnführung des Manipulators
auf der Basis von mit Hilfe einer Handsteuerkugel
(Spacemouse) od. dgl. von einem Operateur kommandierter End
effektor-Zielverschiebungen.
4. Verfahren nach Anspruch 2, gekennzeichnet zur An
wendung als modularer Baustein einer übergeordneten Aufgabe
mit von der übergeordneten Aufgabe kommandierten Endeffek
tor-Zielverschiebungen.
5. Verfahren nach Anspruch 4, dadurch gekenn
zeichnet, daß die übergeordnete Aufgabe eine solche ist,
wie sie durch Kraftregelungsaufgaben gestellt ist.
6. Verfahren nach Anspruch 2, dadurch gekenn
zeichnet, daß die inkrementelle kinematische Gleichung
unter der Voraussetzung, daß Ji, i = 1, . . ., ndof die Spalten
der Jacobi-Matrix der Kinematik im Punkt qi, ndof die Anzahl
der Gelenke und εi: = i|max ΔT den maximal erlaubten Ge
lenkpositionsversatz pro Abtastzeit ΔT beschreiben, mit
lautet, daß sich aufgrund der Bahnbeschränkungen die Boxbe schränkungen
ergeben, wobei qi den jüngst berechneten, zulässigen Sollpo sitionssatz, auf dessen Werte die Achsen des Roboters be reits eingeregelt sind, bezeichnet, daß weiterhin
wobei Δq1 das jüngst berech nete Inkrement der i-ten Gelenkachse bezeichnet, definiert wird, daß zur Erfüllung aller Bahnbeschränkungen gemäß der kinematischen Gleichung (1) die gewünschte Endeffektor- Zielverschiebung einer zentrischen Streckung unterworfen wird, die sich in Form eines Skalars 0 ≦ p ≦ 1 beschreiben läßt, wobei p.100 die prozentuale Realisierung der gewünsch ten Endeffektor-Zielverschiebung ist und die Größe p so ma ximiert wird, daß alle Bahnbeschränkungen eingehalten wer den, daß b: = (0, 0, 0, 0, 0, 0, ymin, 0, -ymax, -1) ∈ R 2n+6, den zu be stimmenden Parametervektor x: = (y, p) und die Matrix der Gra dienten aller Nebenbedingungen A ∈ R 2n+6,n mit n: = ndof + 1:
definiert werden, wobei In ∈ R n,n die Einheitsmatrix und ai, i = 1, . . ., 2n + 6 die Zeilen von A bezeichnen, und daß die Gewichte α, β, γ der Kriterien den Cholesky-Faktor der Hesse matrix aus der skalierten Summe der Kriterien, nämlich des Energiekriteriums, des Referenzlagenkriteriums, des Be schleunigungskriteriums und des Zusatzkriteriums, in Form der Diagonalmatrix Λ ∈ R n,n definieren, deren Hauptdiagona lelemente
lautet, daß sich aufgrund der Bahnbeschränkungen die Boxbe schränkungen
ergeben, wobei qi den jüngst berechneten, zulässigen Sollpo sitionssatz, auf dessen Werte die Achsen des Roboters be reits eingeregelt sind, bezeichnet, daß weiterhin
wobei Δq1 das jüngst berech nete Inkrement der i-ten Gelenkachse bezeichnet, definiert wird, daß zur Erfüllung aller Bahnbeschränkungen gemäß der kinematischen Gleichung (1) die gewünschte Endeffektor- Zielverschiebung einer zentrischen Streckung unterworfen wird, die sich in Form eines Skalars 0 ≦ p ≦ 1 beschreiben läßt, wobei p.100 die prozentuale Realisierung der gewünsch ten Endeffektor-Zielverschiebung ist und die Größe p so ma ximiert wird, daß alle Bahnbeschränkungen eingehalten wer den, daß b: = (0, 0, 0, 0, 0, 0, ymin, 0, -ymax, -1) ∈ R 2n+6, den zu be stimmenden Parametervektor x: = (y, p) und die Matrix der Gra dienten aller Nebenbedingungen A ∈ R 2n+6,n mit n: = ndof + 1:
definiert werden, wobei In ∈ R n,n die Einheitsmatrix und ai, i = 1, . . ., 2n + 6 die Zeilen von A bezeichnen, und daß die Gewichte α, β, γ der Kriterien den Cholesky-Faktor der Hesse matrix aus der skalierten Summe der Kriterien, nämlich des Energiekriteriums, des Referenzlagenkriteriums, des Be schleunigungskriteriums und des Zusatzkriteriums, in Form der Diagonalmatrix Λ ∈ R n,n definieren, deren Hauptdiagona lelemente
7. Verfahren nach Anspruch 6, dadurch gekenn
zeichnet, daß beim verwendeten Algorithmus der inversen
Kinematik eine Initialisierungsphase durchgeführt wird, die
folgendermaßen ausgestaltet ist:
Zählindex: k = 0; Startwert: xk = (yk, pk) = 0; k max < 2; initialisiere mit mk: = 7 die Matrix der Gradienten der ak tiven Nebenbedingungen Ât ∈ R mk,n:
initialisiere die Indexmenge Jk: = (j 1|k, j 2|k, . . ., j 2n+6|k) zur Kenn zeichnung der aktiven, singulären und inaktiven Nebenbedin gungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk): = Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk:
(Q Z|k, R Z|k): = Φ0 Z(Z, rk);
initialisiere den Gradientenvektor der Gütefunktion f(q):
g0 ∈ R n: gk: = 2(β scal|l(y l|k - y l|ref) + γ scal|l(y l|k - y l|acc)
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
wobei für gk folgende Kurzschreibweise verwendet wird:
2(β scal|i(y i|k - y i|ref) + γ scal|i(y i|k - y i|acc) + α scal|iy i|k, -1),
daß beim verwendeten Algorithmus der inversen Kinematik an schließend eine Optimierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
Zählindex: k = 0; Startwert: xk = (yk, pk) = 0; k max < 2; initialisiere mit mk: = 7 die Matrix der Gradienten der ak tiven Nebenbedingungen Ât ∈ R mk,n:
initialisiere die Indexmenge Jk: = (j 1|k, j 2|k, . . ., j 2n+6|k) zur Kenn zeichnung der aktiven, singulären und inaktiven Nebenbedin gungen:
initialisiere die orthogonale Dreieckszerlegung von Â:
(rk, Jk, Yk, Zk, Lk, Sk): = Φ0 A(Â, mk, Jk);
initialisiere die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk:
(Q Z|k, R Z|k): = Φ0 Z(Z, rk);
initialisiere den Gradientenvektor der Gütefunktion f(q):
g0 ∈ R n: gk: = 2(β scal|l(y l|k - y l|ref) + γ scal|l(y l|k - y l|acc)
+ α scal|ly l|k, . . ., β scal|ndof(y ndof|k - y ndof|ref) + γ scal|ndof(y ndof|k - y ndof|acc) + α scal|ndofy ndof|k, -1),
wobei für gk folgende Kurzschreibweise verwendet wird:
2(β scal|i(y i|k - y i|ref) + γ scal|i(y i|k - y i|acc) + α scal|iy i|k, -1),
daß beim verwendeten Algorithmus der inversen Kinematik an schließend eine Optimierungsphase durchgeführt wird, die folgendermaßen ausgestaltet ist:
- I. Berechne die Optimierungsrichtung dk:
R Z|kdaux = -Q Z|kZkgk.
Bestimme hieraus daux durch Rückwärtssubstitution.
R Z|kdZ = Q Z|kdaux.
Bestimme hieraus dZ durch Rückwärtssubstitution. Definiere die Optimierungsrichtung:
dk: = ZkdZ. - II. Bestimme die maximale Schrittweite sk und den Index j i0|k
der beschränkenden Nebenbedingung:
(Bei Mehrdeutigkeit wähle dasjenige j0 mit kleinstem Index i0). - III. Prüfe auf Optimalität und Update aller Matrix- und In
dexgrößen.
- (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor
den):
- i. Falls mk < n (es gibt noch inaktive Nebenbedin
gungen):
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1). - - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, rk, mk, Jk, Yk, Zk, Lk, Sk.
Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: k = k+1 (erhöhe Iteratonsindex)
Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von
Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
- ii. Falls mk = n (Ecke des zulässigen Bereichs erreicht,
Austausch aktiver Nebenbedingungen erforderlich):
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iyk+1, -1);
λk = LLS(rk+1, mk+1, gk, Yk, Lk). - - Gebe eine Rechnung frei mit höchstem Optimierungspotential:
- - Aktualisiere Matrixfaktorisierungen und Indexmenge:
(k, k, k, k, k, k, k): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk). - - Aktive Nebenbedingung j i0|k.
Aktualisiere Matrixfaktorisierungen und Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ+ A(i0, k, k, k, k, k, k, k). - - Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: k = k + 1 (erhöhe Iteratonsindex)
Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - xk+1 = xk + skdk, xk+1 = (yk+1, pk+1);
- i. Falls mk < n (es gibt noch inaktive Nebenbedin
gungen):
- (b) Falls sk = 1 (keine neue aktive Nebenbedingung).
-
- - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
gk+1 = 2(β scal|i(y i|k+1 - y i|ref) + γ scal|i(y i|k+1 - y i|acc) + α scal|iy i|k+1, -1); - - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = (rk, mk, Jk, Yk, Zk, Lk, Sk). - - Prüfe xk+1 auf Optimalität:
Falls Z t|k+1gk+1 = 0;
und λk+1 = LLS(rk+1, mk+1, gk+1, Yk+1, Lk+1) ≧ 0
dann: Gehe zu Schritt IV.
Sonst: Gebe eine Richtung frei mit höchstem Optimierungspotential:
- - Aktualisiere Matrixfaktorisierungen und
Indexmenge:
(rk+1, mk+1, Jk+1, Yk+1, Zk+1, Lk+1, Sk+1): = Φ- A(j0, rk, mk, Jk, Yk, Zk, Lk, Sk) - - k = k + 1 (erhöhe Iteratonsindex)
- - Falls k < k max: Gehe zu Schritt IV.
Sonst: Bestimme die orthogonale, reguläre Dreieckszerlegung von Z: = ΛZk+1:
(Q Z|k+1, R Z|k+1): = ΦZ(Z, rk+1).
Gehe zu Schritt I.
- - xk+1 = xk + dk, xk+1 = (yk+1, pk+1);
-
- (a) Falls sk < 1 (Nebenbedingung j 0|k ist aktiv gewor
den):
- IV. Lösung xk+1 ermittelt. Stop!
Ende des Algorithmus der inversen Kinematik.
Definition der Funktion LLS:
λ = LLS(r, m, g, Y, L).
λi: = 0, i = r + 1, . . ., m;
λnL: = (λr+1, . . ., λm);
LtλL = Ytg.
Bestimme hieraus λL ∈ R r durch Rückwärtssubstitution. Definiere den Ausgabewert der Funktion:
λ: = (λL, λnL).
Mit leq: = 1 + max1 ≦ i ≦ m) |λ(i)| setze diejenigen Komponenten von λ auf den Wert leq, die zu den Gleichungsnebenbedingungen (1) gehören.
Ende der Funktion LLS.
Definition der Funktion Φ+:
(r, m, J, Y, Z, L, S) = Φ+ A(i0, r, m, J, Y, Z, L, S).
Aktiviere Nebenbedingung ji0. Es bezeichne aj0 mit j0: = ji0 die ji0 Zeile von A. Definiere Qt: = (Y, Z) und bilde a: = Qaj0. Partitioniere a =: (aY, aZ) mit ay ∈ R r und aZ ∈ R n-r. Bestimme die Householderreflexion ∈ R n-r,n-r so, daß gilt:
|aZ|e1 = aZ,
mit e1: = (1,0, . . ., 0) ∈ R n-r. Definiere den unitären Transformator H ∈ R n,n gemäß:
Definiere den unitären Transformator:
Q: = HQ;
Aktualisiere Indizies:
Vertausche Nebenbedingungen:
Falls r ≠ r, dann
sonst
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
Ende der Funktion Φ+.
Definition der Funktion Φ-:
(r, m, J, Y, Z, L, S) = Φ- A(j0, r, m, J, Y, Z, L, S).
Inaktiviere Nebenbedingung jj0.- - Falls j0 < r: (Eliminiere singuläre aktive Nebenbedingung)
Aktualisiere Indizies:
r: = r;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y: = Y;
Z: = Z;
L: = L;
S: = (S1, . . ., Sj0-r-1, Sj0-r+1, . . ., Sm-r),
dabei bezeichnen Si die Spalten von S. - - Falls j0 ≦ r: (Eliminiere reguläre aktive Nebenbedingung)
ergibt sich aus R: = Lt durch Streichen der j0-ten Spalte.
Die an den Stellen (j0, j0 + 1), (j0 + 1, j0 + 2), . . ., (r, r +1)
auftretenden Elemente von werden durch Linksmultiplikation
mit einer Folge von unitären Eliminationsmatrizen
j0,j0+1, . . ., r-1,r ∈ R r,r annulliert. Definiere lineare Transformatoren:
- - Falls die letzte Zeile von null ist oder falls r = m:
Aktualisiere Indizies:
r: = r - 1;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält. Falls r < m streiche die letzte Zeile von und . Setze:
L: = t;
S: = ; - - Sonst (wandle singuläre aktive Nebenbedingungen in reguläre
aktive Nebenbedingung):
Bestimme das Element der letzten Zeile von mit dem kleinsten Index l0 derart, daß gilt:
r,l0 ≠ 0.
Vertausche Spalte l0 mit Spalte 1 von . Definiere linearen Transformator:
R: = (, l0),
dabei bezeichnet l0 die l0-te Spalte von .
Aktualisiere Indizies:
r: = r;
m: = m - 1;
Vertausche Nebenbedingungen:
J: = (j1, . . ., j2n+6).
Aktualisiere Matrixfaktorisierungen:
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
L: = Rt;
S: = (2, . . ., l0-1, 1, . . ., l0+1, . . ., m-r,
dabei bezeichnen die 1 die Spalten von .
Definition der Funktion Φ0 A:
(r, J, Y, Z, L, S): = Φ0 A(Â, m, J). - - Falls j0 < r: (Eliminiere singuläre aktive Nebenbedingung)
- A. Definiere:
A0: = Â, i: = 0. - B. Definiere folgende Matrizenrekursion:
Ai+1: = HiAi, i ≧ 0.
Der unitäre Transformator Hi ∈ R n,n ist wie folgt erklärt:
Die Householderreflexion i ∈ R n-i,n-i ist so definiert, daß gilt:
|ã i|k0|e1 = iã i|k0,
mit e1: = (1,0, . . ., 0) ∈ R n-i. Dabei bezeichnen die Vektoren ã i|k ∈ R n-i, k = 1, . . ., n - i die Spalten der Matrix Ãi ∈ R n-i,m-i:
Ferner ist 1 ≦ k0 ≦ n - i der kleinste Index mit ã i|k0 ≠ 0. Falls kein solches k0 existiert, dann gehe zu Schritt III, sonst gehe zu Schritt IV. - C. Definiere Indizies:
r: = i;
J: = (j1, . . ., j2n+6).
Definiere Matrixfaktorisierungen:
Q: = HH . . . H0;
Y ist die Teilmatrix von Qt, die die Spalten 1 bis r von Qt enthält.
Z ist die Teilmatrix von Qt, die die Spalten r + 1 bis n von Qt enthält.
Es ist T die Matrix, die durch Streichen der Zeilen r + 1 bis n aus Ai+1 entsteht.
Definiere L ∈ R und S ∈ R gemäß:
(Lt, S): = T.
Stop: Ausführung der Funktion Φ0 A ist beendet! - D. Vertausche die Spalte i + k0 mit der Spalte i + 1 in Ai.
Setze jk: = jk k, erhöhe den Zählindex i = i + 1 und gehe zu Schritt II.
Ende der Funktion Φ0 A.
Definition der Funktion Φ0 Z:
(QZ, RZ): = Φ0 Z(Z, r).
Bestimme die QR-Dreieckszerlegung von Z:
Dabei bezeichnen QZ ∈ R n,n eine unitäre Matrix und RZ ∈ R r,r eine obere Dreiecksmatrix.
Ende der Funktion Φ0 Z.
8. Verfahren nach einem der Ansprüche 2 bis 5, dadurch
gekennzeichnet, daß die zu einem Zeitpunkt Ti kommandierte
kartesische Endeffektor-Zielverschiebung Δxc vom Operateur
und/oder einer übergeordneten Aufgabe, z. B. einer
Kraftregelungsaufgabe, in Form eines 6-dimensionalen Inkrementvektors
kommandiert wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet,
daß der Inkrementvektor der zu einem Zeitpunkt
Ti kommandierten kartesischen Endeffektor-Zielverschiebung
Δxc vom Operateur und/oder einer übergeordneten Aufgabe,
z. B. einer Kraftregelungsaufgabe, durch Differenzbildung absoluter
Endeffektorkoordinaten bestimmt wird.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19800552A DE19800552C2 (de) | 1997-06-20 | 1998-01-11 | Verfahren zur Kommandosteuerung eines Manipulators |
US09/100,014 US6181983B1 (en) | 1997-06-20 | 1998-06-19 | Method of command control for a robot manipulator |
FR9807783A FR2764838B1 (fr) | 1997-06-20 | 1998-06-19 | Procede de commande d'un manipulateur |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19726166 | 1997-06-20 | ||
DE19800552A DE19800552C2 (de) | 1997-06-20 | 1998-01-11 | Verfahren zur Kommandosteuerung eines Manipulators |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19800552A1 DE19800552A1 (de) | 1999-01-28 |
DE19800552C2 true DE19800552C2 (de) | 1999-04-22 |
Family
ID=7833098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19800552A Expired - Fee Related DE19800552C2 (de) | 1997-06-20 | 1998-01-11 | Verfahren zur Kommandosteuerung eines Manipulators |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19800552C2 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010008240A1 (de) * | 2010-02-17 | 2011-08-18 | Siemens Aktiengesellschaft, 80333 | Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters |
DE102015109708B3 (de) * | 2015-06-17 | 2016-01-21 | Uwe Simon | Verfahren zur Steuerung des Bewegungsablaufs einer motorisch angetriebenen Maschinen- oder Werkzeugkomponente |
DE102008062622B4 (de) * | 2008-12-17 | 2016-08-04 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators |
US10377038B2 (en) | 2016-03-17 | 2019-08-13 | Kabushiki Kaisha Yaskawa Denki | Robot controller and robot control method |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19810341C2 (de) * | 1998-03-10 | 2000-10-12 | Deutsch Zentr Luft & Raumfahrt | Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum |
US10188471B2 (en) | 1999-09-17 | 2019-01-29 | Intuitive Surgical Operations, Inc. | Tele-operative surgical systems and methods of control at joint limits using inverse kinematics |
DE10125445A1 (de) * | 2001-05-25 | 2002-12-05 | Kuka Roboter Gmbh | Verfahren zum Steuern der Bewegung eines Roboters |
AT413507B (de) * | 2004-03-11 | 2006-03-15 | Incal Ferhat Dipl Ing | Verfahren und system zum positionieren eines verfahrbaren schweren manipulators |
DE102005027437B4 (de) * | 2005-06-14 | 2013-11-21 | Siemens Aktiengesellschaft | Verfahren zur Bewegungsführung eines bewegbaren Maschinenelements einer Lade- und Entladevorrichtung eines Hochregals oder eines Kranes |
CN106456265B (zh) | 2014-03-17 | 2019-07-30 | 直观外科手术操作公司 | 使用逆运动学在关节极限下的遥控操作手术系统和控制方法 |
DE102019131400B4 (de) * | 2019-11-21 | 2022-03-10 | Franka Emika Gmbh | Kraftmessung und Krafterzeugung in redundanten Robotermanipulatoren |
CN115464638A (zh) * | 2022-08-23 | 2022-12-13 | 遨博(北京)智能科技股份有限公司 | 机器人的连续逆解计算方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3344633C2 (de) * | 1982-12-10 | 1989-05-11 | Hitachi, Ltd., Tokio/Tokyo, Jp | |
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
DE19703915C1 (de) * | 1997-02-03 | 1998-08-06 | Deutsch Zentr Luft & Raumfahrt | Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators |
-
1998
- 1998-01-11 DE DE19800552A patent/DE19800552C2/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3344633C2 (de) * | 1982-12-10 | 1989-05-11 | Hitachi, Ltd., Tokio/Tokyo, Jp | |
US5430643A (en) * | 1992-03-11 | 1995-07-04 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Configuration control of seven degree of freedom arms |
DE19703915C1 (de) * | 1997-02-03 | 1998-08-06 | Deutsch Zentr Luft & Raumfahrt | Verfahren zur Kommandosteuerung für eine interaktive Bahnführung eines kinematisch redundanten Manipulators |
Non-Patent Citations (2)
Title |
---|
SICILIANO, B., SCIAVICCO, L.: "Modelling and Control of Robot Manipulators". McGraw-Hill Companies 1996, S.95-101 * |
VUKOBRATOVIC, M., KIRCANSKI, N.: "Kinematics and Trajectory Synthesis of Manipulation Robots". Springer-Verlag Tokyo 1986, S.105-122 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008062622B4 (de) * | 2008-12-17 | 2016-08-04 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators |
DE102008062622B9 (de) * | 2008-12-17 | 2016-08-25 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators |
DE102010008240A1 (de) * | 2010-02-17 | 2011-08-18 | Siemens Aktiengesellschaft, 80333 | Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters |
DE102010008240B4 (de) * | 2010-02-17 | 2015-10-15 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines mehrachsigen, vorzugsweise sechsachsigen, Roboters |
US9248571B2 (en) | 2010-02-17 | 2016-02-02 | Siemens Aktiengesellschaft | Method for operating a multi-axis robot |
DE102015109708B3 (de) * | 2015-06-17 | 2016-01-21 | Uwe Simon | Verfahren zur Steuerung des Bewegungsablaufs einer motorisch angetriebenen Maschinen- oder Werkzeugkomponente |
EP3106946A1 (de) | 2015-06-17 | 2016-12-21 | Uwe Simon | Verfahren zur steuerung des bewegungsablaufs einer motorisch angetriebenen maschinen- oder werkzeugkomponente |
US10377038B2 (en) | 2016-03-17 | 2019-08-13 | Kabushiki Kaisha Yaskawa Denki | Robot controller and robot control method |
DE102017204211B4 (de) | 2016-03-17 | 2022-05-05 | Kabushiki Kaisha Yaskawa Denki | Robotersteuerung und Robotersteuerungsverfahren |
Also Published As
Publication number | Publication date |
---|---|
DE19800552A1 (de) | 1999-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018122376B3 (de) | Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators | |
DE102017129665B3 (de) | Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik | |
DE2330054C2 (de) | Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes | |
EP2563553B1 (de) | Verfahren und steuermittel zum steuern eines roboters | |
DE69315137T2 (de) | Verfahren zum steuern von mehreren robotern | |
DE102009024130B4 (de) | Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien | |
DE3344633C2 (de) | ||
DE19800552C2 (de) | Verfahren zur Kommandosteuerung eines Manipulators | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE19810341C2 (de) | Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum | |
DE69024854T2 (de) | Verfahren zur Steuerung von Roboterbewegungen | |
DE102014103370B4 (de) | Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators | |
DE102004026814A1 (de) | Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts | |
DE102015204641A1 (de) | Verfahren und System zur Programmierung eines Roboters | |
DE102015103451B4 (de) | Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt | |
DE102008027008A1 (de) | Verfahren und Vorrichtung zum Steuern eines Manipulators | |
DE102020120116B4 (de) | Verfahren zur impedanzbasierten Multi-Tasking Tracking-Regelung, impedanzbasierter Multi-Tasking Tracking-Regler und kraft- und/oder drehmomentgeregelter Roboter | |
DE19625637A1 (de) | Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen | |
DE102015223258A1 (de) | Verfahren zum Bearbeiten der Oberfläche eines dreidimensionalen Objekts | |
EP0508202A1 (de) | Einrichtung zur Führung des Endeffektors eines Roboters längs einer Sollbahn | |
DE102020209511B3 (de) | Verfahren und System zur Bestimmung von optimierten Programmparametern für ein Roboterprogramm | |
DE102011014299A1 (de) | Verfahren und Mittel zum Steuern einer Automatisierungseinrichtung, insbesodere eines Roboters | |
EP2208584B1 (de) | Verfahren zur Steuerung von Industrierobotern | |
DE102012022190B4 (de) | Inverse Kinematik | |
DE102008013400A1 (de) | Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: DEUTSCHES ZENTRUM FUER LUFT-UND RAUMFAHRT E.V., 51 |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: DEUTSCHES ZENTRUM FUER LUFT- UND RAUMFAHRT E.V. |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: DEUTSCHES ZENTRUM FUER LUFT- UND RAUMFAHRT E.V. |
|
8339 | Ceased/non-payment of the annual fee |