DE3344633C2 - - Google Patents
Info
- Publication number
- DE3344633C2 DE3344633C2 DE3344633A DE3344633A DE3344633C2 DE 3344633 C2 DE3344633 C2 DE 3344633C2 DE 3344633 A DE3344633 A DE 3344633A DE 3344633 A DE3344633 A DE 3344633A DE 3344633 C2 DE3344633 C2 DE 3344633C2
- Authority
- DE
- Germany
- Prior art keywords
- joint
- robot
- joints
- speed
- speeds
- 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
Links
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
-
- 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/45—Nc applications
- G05B2219/45083—Manipulators, robot
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Steuern eines
Mehrgelenk-Roboters, wie es im Oberbegriff des Patentan
spruchs 1 im einzelnen angegeben ist, sowie eine Vorrichtung
zum Durchführen eines solchen Verfahrens.
Mit Hilfe der Erfindung sollen ein Verfahren und eine Vor
richtung geschaffen werden, die es ermöglichen, ein Ende
eines Roboterarmes mit redundanten Freiheitsgraden genau
und stoßfrei längs einer gewünschten Bahn zu bewegen.
Bei der Steuerung eines Roboters längs einer Bahnkurve
wird diese, der das Ende des Roboterarms folgen soll,
geeignet interpoliert. Die durch die Interpolation ermittelten
Punkte der Bahnkurve werden jeweils als Zielpunkte
verwendet, die in aufeinanderfolgenden Zeitabschnitten
nacheinander gewählt werden und damit zu einer aufeinander
folgenden Steuerung des Endes des Roboterarms längs der
gewünschten Bahnkurve dienen. Um das Ende des Roboterarms
auf einen Zielpunkt zu richten, ist eine gemeinsame Betätigung
der Robotergelenke nötig.
Ein dazu dienendes Verfahren sei nachfolgend anhand eines
Roboters mit drei Freiheitsgraden, wie sie üblicherweise
ausreichen, um das Ende des Roboterarms an jede Stelle
eines gegebenen Raumes ausrichten zu können, näher betrachtet:
Ein Ort X des Roboterendes läßt sich im Arbeitsraum mittels
rechtwinkliger Koordinaten und ein Gelenkwinkel des
Roboters durch ein dem Roboter eigenes Koordinatensystem angegeben:
worin das hochgestellte T für die Umsetzung des Zeilenvektors
in einen Spaltenvektor steht.
Ausgehend von einer geometrischen Anordnung des Roboters
läßt sich der Endort X des Roboters mittels des Gelenk
winkels angeben:
Es gelten nämlich die folgenden Beziehungen:
wobei gilt:
F = (f₁ f₂ f₃) (5)
Die Transformation F vom im robotereigenen Koordinatensystem
dargestellten Gelenkwinkel in den Endort X in Raumkoordi
naten wird Koordinatentransformation genannt.
Der Gelenkwinkel R zur Ermittlung des Roboterendorts X
ergibt sich aus der Lösung des Gleichungssystems (4) für
R₁, R₂ und R₃.
Das heißt, daß die Lösung des Gleichungssystems (4) für
ergibt
das heißt,
wobei
G = (g₁ g₂ g₃) (8)
Die Transformation G von den den Roboterendort X angebenden
Raumkoordinaten in den durch die dem Roboter eigenen Koor
dinaten gegebenen Gelenkwinkel wird inverse Koordinaten
transformation genannt.
Diese Verfahren, den Roboterendort X durch Ermittlung
der Gelenkwinkel mittels inverser Koordinatentransfor
mation durch Gleichung (6) zu ermitteln und die Gelenke
des Roboters entsprechend dem Winkel nachzuführen, ist
bereits bekannt.
Wenn die Anzahl der Gelenke des Roboters jedoch größer
als drei ist, d. h. wenn redundante Gelenke vorhanden sind,
ergibt sich bei diesem Steuerverfahren die Funktion F der
Koordinatentransformation wie folgt:
worin n die Anzahl der Gelenke angibt. Da in Gleichung (9)
die Anzahl n der Unbekannten (n=≧4) ist und nur drei
Gleichungen gegeben sind, ist der Gelenkwinkelvektor
für den Roboterendort X nicht eindeutig definiert. Zur
Lösung dieses Problems könnte man n-3 der n-Gelenke fest
legen und das Gleichungssystem (9) für die übrigen drei
Gelenke zur Bestimmung der Gelenkwinkel des Roboters lösen.
Um bei diesem Verfahren zu bestimmen, welche der Gelenke
festgelegt und welche zur Ausrichtung des Roboterendes
auf den Zielort betrieben werden sollen, verwendet man
als Bewertungsgrößen die zur Positionierung nötige
Verarbeitungszeit und den Leistungsverbrauch usw. und bestimmt
daraus eine Gelenkkombination, die die Bewertungsfunktion
minimiert. Diese Bewertungsfunktion ist gewöhnlich komplex
und zur Bestimmung der inversen Koordinatentransformations
funktion für jeden festzulegenden Gelenksatz ist die Lösung
nichtlinearer Gleichungssysteme einschließlich trigonometrischer
Funktionen nötig. Dementsprechend komplex ist der
Berechnungsvorgang.
Aus DE 26 56 378 A1 ist nun ein Manipulator zur Ausführung
von Bewegungen, die denen des menschlichen Arms vergleich
bar sind, bekannt, der einen Schultermechanismus mit einem
ersten Gelenk und einem mit der Schwenkachse des ersten
Gelenks verbundenen zweiten Gelenks mit zur Schwenkachse
des ersten Gelenks senkrechter Schwenkachse, ein mit der
Schwenkachse des zweiten Gelenks verbundenes Oberarmglied
und ein mit dem Oberarmglied über ein Ellbogengelenk
verbundenes Unterarmglied und ein Handgelenkteil aufweist,
wobei mit der Schwenkachse des zweiten Gelenks ein drittes
Gelenk verbunden ist, dessen Schwenkachse senkrecht zu
der des zweiten Gelenks und durch den Schnittpunkt der
Schwenkachse des ersten und des zweiten Gelenks verläuft
und das Teil des Schultermechanismus ist und zwischen dem
zweiten Gelenk und einer am Beginn des Oberarms angeordneten
Gelenkverbindung zur Bewegung des Handgelenkteils in
Richtung der Schwenkachse des dritten Gelenks angeordnet
ist. Dieser Manipulator besitzt also eine größere Anzahl
von Gelenken, als sie zur Positionierung des Manipulator
armendes auf einen bestimmten Raumpunkt hin eindeutig
erforderlich ist. Die sich damit ergebenden redundanten
Gelenke dienen jedoch allein dazu, Hindernisse, die sich
der gewünschten Bewegung des Manipulators im Raum entgegen
stellen, ausweichen zu können, ohne die Stellung des Hand
gelenkteils und der sonstigen nicht redundanten Gelenke
verändern zu müssen. Bei der eigentlichen Ansteuerung des
Zeitpunktes für das Manipulatorarmende wirken die redu
danten Gelenke nicht mit, und dementsprechend finden sich
in DE 26 56 378 A1 auch keine Angaben über die Berücksichtigung
der redundanten Gelenke bei der Steuerung der
Bewegung für das Manipulatorarmende.
Aus DE 31 51 831 A1 ist weiter ein Verfahren zum Ermitteln
eines abnormalen Zustands in einer Robotersteuerung
bekannt, bei dem aus der Abweichung zwischen einer Soll-
und einer Ist-Position des Roboterendes ein Geschwindig
keitssignal abgeleitet wird, das den Antrieben zugeführt
wird. Sinn dieses Verfahrens ist es, Schäden am Roboter
durch dessen Überlastung oder durch ein Anstoßen des
Roboterarms an Hindernisse zu vermeiden, dabei weist der
Roboter jedoch nur die für die Erreichung des jeweils
angesteuerten Endpunktes im Raum erforderliche Anzahl von
Gelenken auf, sog. redundante Gelenke sind also nicht vorge
sehen. Entsprechend enthält DE 31 51 831 A1 auch keine
Angaben über die Berücksichtigung solcher redundanter
Gelenke bei der Ansteuerung eines bestimmten Punktes im Raum
durch das Roboterarmende.
In einem in DE-Z "ZwF" 77 (1982), H. 9, S. 441-445 abge
druckten Aufsatz mit dem Titel "Ein Regelungsverfahren
zur Verminderung von Bahnabweichungen bei Handhabungsge
räten" ist weiter die Transformation von einem roboter
eigenen Gelenk-Koordinatensystem in ein räumliches Koordi
natensystem und umgekehrt beschrieben. Dieser Aufsatz
beschäftigt sich mit dem für die Koordinatentransformationen
erforderlichen Rechenaufwand und den dabei zu berücksichtigenden
Bewegungsgleichungen, er betrachtet jedoch ebenfalls
nicht den Fall des Vorhandenseins redundanter Gelenke,
und er liefert daher auch keine Angaben über deren Berück
sichtigung bei der Steuerung von Manipulatoren.
In einem auf den Seiten 47-53 von Nr. 2 vom Juni 1969 von
Band 10 der IEEE TRANSACTIONS ON MAN-MACHINE SYSTEMS abge
druckten Aufsatz von Daniel E. Whitney ist ein
Verfahren der eingangs genannten Art beschrieben,
nach dem aus den Gelenkgeschwindigkeiten
eines Roboters durch inverse Koordinatentransformation
der Beziehung zwischen der Geschwindigkeit des Roboter
endes und den Gelenkgeschwindigkeiten die Geschwindigkeit
des Roboterendes ermittelt werden kann. Letztere Beziehung
erhält man durch Differenzieren der Gleichung (3) nach
der Zeit, sofern der Roboter keine redundanten Gelenke
aufweist. Die die Geschwindigkeit des Roboterendes durch
die Gelenkgeschwindigkeiten ausdrückende Gleichung ist
örtlich eine lineare Gleichung, wenn man die mechanische
Anordnung des Roboters außer acht läßt. Wenn der Roboter
jedoch redundante Gelenke aufweist, erhält man eine nicht
quadratische Matrix in den die Geschwindigkeit des Roboter
endes mittels der Gelenkgeschwindigkeiten ausdrückenden
Gleichungen. Zwar kann man auch aus einer nichtquadratischen
Matrix mittels einer Approximationsfunktion eine
inverse Matrix erzeugen, doch ist die Berechnung einer
solchen Approximationsfunktion komplex und zeitaufwendig.
Aus diesem Grunde läßt sich mit Hilfe eines Mikrocomputers
als Datenverarbeitungseinheit eine Echtzeitsteuerung für
den Roboter praktisch nicht erreichen.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren
und eine Vorrichtung zur Steuerung eines
Mehrgelenk-Roboters der eingangs genannten Art
anzugeben, die eine genaue und
stoßfreie kontinuierliche Bahnkurvensteuerung mittels eines
relativ einfachen Berechnungsverfahrens ermöglichen, das
vom mechanischen Aufbau des Roboters unabhängig ist und
keine komplexe Bewertungsfunktion erfordert.
Die gestellte Aufgabe wird gemäß der Erfindung gelöst durch
ein Verfahren, wie es im Patentanspruch 1 angegeben ist;
vorteilhafte Ausgestaltungen dieses Verfahrens und eine
zu seiner Durchführung bevorzugte Vorrichtung ergeben sich
aus den Unteransprüchen.
Bei der Steuerung eines Roboterarms mit redundanten Gelenken
gemäß der Erfindung wird eine zwischen einem Endort
X (x y z) T , der mittels eines räumlichen Koordinatensystems,
das durch den geometrischen Aufbau des Roboterarms bestimmt
ist, angegeben wird und n Gelenkwinkeln (R₁ R₂ . . . R n ) T ,
die durch ein robotereigenes Koordinatensystem dargestellt
werden, bestehende Beziehung, nämlich
zur Ermittlung einer Geschwindigkeitsgleichung nach der
Zeit t differenziert
worin
sind.
Die Matrix J wird durch Festlegung von n-3 redundanten
Gelenken der n Gelenke quadratisch, so daß die Gelenkge
schwindigkeit aus der Endgeschwindigkeits des Roboter
arms bestimmt wird. D. h., daß aus der Koordinatentransfor
mationsmatrix J eine inverse Matrix J -1 gebildet wird und
eine Geschwindigkeit einer Kombination der restlichen
drei nicht-redundanten Gelenke durch
bestimmt wird. Darin ist J k -1 eine inverse Matrix der Jacobi-
Determinante J k , die die Geschwindigkeit der Kombination
der betriebenen Gelenke mit der Endgeschwindigkeit ins
Verhältnis setzt. Aus der obigen Beziehung ergibt sich eine
Gelenkgeschwindigkeit die durch eine Führungsge
schwindigkeit r erzielt ist. Ferner werden Gelenkgeschwindig
keiten der Betriebsgelenke für jeweilige Kombinationen
der redundanten Gelenke, die festgelegt sein können, aus der
folgenden Summe und Mittelwertbildung bestimmt:
Die Größe wird als Sollgeschwindigkeit der Gelenke
zur Steuerung des redundanten Roboterarms verwendet.
In Gleichung (16) werden die Gelenkgeschwindigkeiten
sämtlicher Kombinationen von festzulegenden redundanten
Gelenken, das sind sämtliche Kombinationen der Betriebs
gelenke mit Ausnahme der redundanten Gelenke gleichmäßig
gemittelt. Man kann auch alternativ dazu nur einen Teil
aller Kombinationen der Betriebsgelenke verwenden oder
die Gelenkgeschwindigkeiten ungleichmäßig mit unter
schiedlicher Gewichtung mitteln.
Bei der Bewegung des Roboterarms in einer zweidimensionalen
Ebene werden n-2 redundante Gelenke von n Gelenken festge
legt, um die Matrix J der Geschwindigkeitsbeziehung quadratisch
zu machen und die invertierte Matrix J k -1 so zu
ermitteln, daß die Geschwindigkeiten der verbleibenden
zwei Betriebsgelenke bestimmt werden. Die Gelenkgeschwindigkeit
und die Sollwertgeschwindigkeit werden in der
gleicher Art wie für die dreidimensionale Bewegung bestimmt.
Die inverse Koordinaten-Transformationsmatrix J k -1
entsteht durch Inversion aus der Koordinaten-Transformations
matrix J k und ist verhältnismäß leicht durch einen
mechanischen Berechnungsvorgang zu ermitteln. Andererseits wird
die Koordinaten-Transformationsmatrix J k eindeutig durch den
geometrischen Aufbau des Roboterarms durch die Ermittlung
der Gelenkwinkel beim Beginn des Betriebs bestimmt. Ent
sprechend erhält man die inverse Koordinaten-Transformations
matrix J k -1 mechanisch und deshalb ist das vorliegende Steuer
verfahren bei allen Verfahren, die durch den mechanischen
Aufbau des Roboters beeinflußt sind, anwendbar.
Die Mittelwertbildung bei der Aufsummierung der Gelenkge
schwindigkeiten die man für die Kombinationen der
redundanten Roboterarmgelenke, die die angewiesene Endge
schwindigkeit m erreichen, wird bei der vorgegebenen
Geschwindigkeit als Soll-Gelenkgeschwindigkeit des
redundanten Roboterarms verwendet. Entsprechend erfolgt
die Steuerung des Roboterarmendes stoßfrei längs der
gewünschten Bahnkurve und alle Gelenke werden gemeinsam
bewegt. Bei der vorliegenden Erfindung ist kein komplexer
Algorithmus zur Bestimmung der Winkel der redundanten
Gelenke bei der Berechnung der Soll-Gelenkgeschwindig
keit nötig und die inverse Koordinaten-Transformation
der Lehrgeschwindigkeit m in die Gelenkgeschwindigkeit
ist eine verhältnismäß einfache übliche Technik, die
vom mechanischen Aufbau des Roboters nicht beeinflußt ist.
Entsprechend kann man die vorliegende Erfindung für eine
Echtzeitsteuerung mittels eines Mikrocomputers einsetzen.
Wenn bei der vorliegenden Erfindung das Roboterende mittels
einer Abtaststeuerung gesteuert wird, wird die Sollgeschwindig
keit korrigiert, um einen Fehler zwischen der tatsächlichen
Lage des Roboterendes und der gewünschten Lage zu jedem
Abtastzeitpunkt zu verringern. Auf diese Weise wird ein
aufgrund verschiedener Verluste bewirkter Fehler der
Geschwindigkeitssteuerungs-Servoeinrichtungen, die die Roboter
gelenke steuern, korrigiert und kompensiert, wodurch eine
sehr genaue Nachführung längs der Bahnkurve möglich ist.
Die Erfindung wird im folgenden in Ausführungsbeispielen
anhand der Figur näher beschrieben. Es zeigt
Fig. 1 eine graphische Darstellung des mechanischen Aufbaus
eines redundanten Roboterarms gemäß einem ersten
Ausführungsbeispiel der Erfindung,
Fig. 2 einen Aufbau eines Ausführungsbeispiels einer
zur Steuerung eines Roboters verwendeten Vorrichtung,
Fig. 3 ein Flußdiagramm, das einen Steuerablauf der Roboter
steuerung gemäß Fig. 2 enthält,
Fig. 4 ein ins einzelne gehendes Flußdiagramm eines Schritts
zur Berechnung einer Führungs-Geschwindigkeit
im Flußdiagramm von Fig. 3,
Fig. 5 ein ausführliches Flußdiagramm eines Schritts zur
Berechnung einer Sollgelenkgeschwindigkeit des
Roboters im Flußdiagramm von Fig. 3.
Im folgenden wird ein Ausführungsbeispiel der Erfindung
beschrieben. Fig. 1 zeigt eine graphische Darstellung, die
einen mechanischen Aufbau eines redundanten Roboterarms
erläutert, dessen Steuerung gemäß dem Ausführungsbeispiel
der Erfindung erfolgt. Der redundante Roboterarm enthält
zur Lageeinstellung in einer x-y-Ebene drei Drehgelenke R₁,
R₂ und R₃ und drei mit ihnen verbundene Glieder L₁, L₂ und
L₃: Ein Fußpunkt des Glieds L₁, das ist das Gelenk R₁, ist
in den Ursprung des rechtwinkligen x-y-Koordinatensystems
gelegt. Die Glieder L₁, L₂ und L₃ weisen jeweils die Längen
l₁, l₂, l₃ auf und die Drehwinkel der Gelenke R₁, R₂ und R₂
sind jeweils R₁ bezüglich der x-Achse, R₂ bezüglich des
Gliedes L₁ und R₃ bezüglich des Gliedes L₂. Ein Endort X
(x, y) des Roboters wird wie folgt durch die Gelenkwinkel
R₁, R₂ und R₃ des Roboters ausgedrückt:
Wir nehmen an, daß
Die Gleichungen (17) werden nach der Zeit t differenziert,
woraus sich eine Geschwindigkeitsbeziehung zwischen dem
Endort X und dem Gelenkwinkel ergibt,
worin
Es sei angenommen, daß
Nun lassen sich die Gleichungen (19) durch
ausdrücken.
Das heißt
worin
ist.
Die gewünschten Gelenkgeschwindigkeiten der Gelenke
womit die Führungsgeschwindigkeit m des Roboterendes
bestimmt wird, werden aus Gleichung (23) ermittelt.
Um verschiedene Verluste in einem Servokreis, der die
Geschwindigkeiten der Gelenkwinkel des Roboters steuert,
zu kompensieren, wird die Sollgeschwindigkeit r mittels
eines Geschwindigkeitsfehlers e des Roboterendes wie
folgt korrigiert:
m = r + e (25)
worin
wobei das hochgestellte T die Umsetzung vom Reihenvektor
in einen Spaltenvektor angibt.
Wenn wir annehmen, daß das Ende des redundanten Roboter
arms linear mit einer Geschwindigkeit v vom Startpunkt
R s (x s, ys) zu einem gewünschten Sollpunkt P f (x f, yf)
in T Zeitabschnitten mittels einer Abtaststeuerung bewegt
wird und daß der Startpunkt R s einen Roboterendpunkt X₀
(x₀, y₀) zur Zeit t=0 angibt, ist ein Sollgeschwin
digkeitsvektor r ( r r) gegeben durch
Zur n-ten Abtaszeit erhalten wir eine Fehlerkorrekturge
schwindigkeit e ( e, e) durch
Dabei ist X (x, y) die Istlage des Roboterendes beim
n-ten Abtastzeitpunkt und wird aus den Gelenkwinkeln des
Roboters mittels den Gleichungen (17) berechnet.
P i (x i, yi) ist ein Sollort zum Zeitpunkt n-ten Abtastung,
wobei x i und y i gegeben sind durch
worin
ist.
Demgemäß wird durch Steuerung des Roboterendpunktes X ent
sprechend der Führungsgeschwindigkeit m , die durch die
folgenden Gleichungen beim n-ten Abtastzeitpunkt ausgedrückt
wird:
der Fehler, der sich zwischen der gewünschten Lage
und der tatsächlichen Lage des Roboterarmendes aufgrund
verschiedener Verluste im Servokreis ergibt, korrigiert
und die Verluste damit kompensiert, so daß das Roboter
ende genau der gewünschten Bahnkurve folgen kann.
Aus Gleichung (23) ergibt sich folgende Beziehung zwischen
der Führungsgeschwindigkeit m des Roboterendes und der
Gelenk-Soll-Geschwindigkeit
Zur Bestimmung der Soll-Gelenkgeschwindigkeit
für die Soll-Führungsgeschwindigkeit X m sind drei
unbekannte Größen und jedoch in (19) nur zwei
Gleichungen zu deren Lösung vorhanden, weshalb keine ein
deutige Lösung existiert.
Deshalb wird eines der drei Gelenke R₁, R₂ und R₃ als
redundantes Gelenk festgelegt, wodurch sich die Anzahl
der unbekannten Größen auf zwei verringert. Damit werden
die Gelenkgeschwindigkeiten, die die Führungsgeschwindigkeit
m ergeben, aufgrund der restlichen zwei Gelenke berechnet.
Dieser Berechnungsvorgang wird für alle möglichen Fälle
der festgelegten redundanten Gelenke wiederholt, d. h.
für sämtliche Kombinationen der Betriebsgelenke mit Aus
nahme der festgelegten redundanten Gelenke (beim vor
liegenden Ausführungsbeispiel ein Gelenk) und die sich
ergebenen Soll-Gelenkgeschwindigkeiten werden addiert und
gemittelt und ergeben somit die gewünschte Soll-Gelenk
geschwindigkeit . Die Jacobi-Determinante J k für die
Soll-Gelenkgeschwindigkeiten der nicht festgelegten
Betriebsgelenke, wenn das Gelenk R k fest ist, und die
Soll-Geschwindigkeiten für die Betriebsgelenke
ergeben sich wie folgt:
worin das hochgestellte T die Umsetzung des Zeilenvektors
in einen Spaltenvektor angibt und
wobei die Matrix C₁ für das festgelegte Gelenk R₁ und die
Arbeitsgelenke R₃ und R₂, die Matrix C₂ für das festge
legte Gelenk R₂ und die Arbeitsgelenke R₁ und R₃ und die
Matrix C₃ für das festgelegte Gelenk R₃ und die Arbeits
gelenke R₁ und R₂ gelten.
Wenn man J k und in Gleichung (33) einsetzt, erhält
man zwischen der Befehlsgeschwindigkeit m des Roboter
endes und den Geschwindigkeiten der nicht festgelegten
Arbeitsgelenke folgende Beziehung:
Da J k in den Gleichungen (34) quadratisch ist, läßt sich
die inverse Matrix J k -1 ermitteln. Auf diese Weise werden
die Sollgeschwindigkeiten der zwei Arbeitsgelenke
bei festgelegtem Gelenk R k bestimmt durch
Die Sollgeschwindigkeiten für die Kombination der zwei
Gelenke, die durch Gleichung (37) gegeben ist, werden für
jede der möglichen Kombinationen der zwei Gelenke berechnet
und für die jeweiligen Gelenkgeschwindigkeiten und
summiert und ergeben somit die Sollgelenkgeschwindigkeit
wie dies unten ausgeführt ist:
wobei
ist.
Aus den Gleichungen (34), (37) und (38) ergeben sich
Soll-Gelenkgeschwindigkeiten
und diese werden als Eingangswerte für den Geschwindig
keitssteuerservokreis verwendet.
Beim oben beschriebenen Verfahren werden die Gelenk-
Geschwindigkeiten sämtlicher möglicher Kombinationen
der Arbeitsgelenke mit Ausnahme der redundanten Gelenke
gemittelt und damit die Soll-Gelenkgeschwindigkeit
gemäß der Gleichung (39) berechnet. Man kann jedoch, statt
sämtliche Kombinationen der Arbeitsgelenke zu betrachten,
stattdessen nur einen Teil der Kombinationen in folgender
Weise auswählen. Wenn die Gesamtzahl der Gelenke des Roboters
geradzahlig ist, ist jedes Gelenk einmal in den ausgewählten
Kombinationen enthalten. Wenn dagegen die Gesamtzahl der
Gelenke des Roboters ungerade ist, ist jedes der Gelenke
mit Ausnahme eines Gelenks einmal in den ausgewählten
Kombinationen enthalten und dieses eine Gelenk ist zweimal
in den Kombinationen enthalten.
In einem redundanten Roboterarm mit vier Freiheitsgraden
kann man die Soll-Geschwindigkeiten aus
oder
oder
ermitteln, wobei
C₁₂ gilt für die festgelegten Gelenke R₁ und R₂ des vier
Gelenke R₁, R₂, R₃ und R₄ umfassenden redundanten Roboter
arms mit vier Freiheitsgraden;
C₂₃ gilt für die festgelegten Gelenke R₂ und R₃;
C₃₄ gilt für die festgelegten Gelenke R₃ und R₄;
C₁₃ gilt für die festgelegten Gelenke R₁ und R₃;
C₁₄ gilt für die festgelegten Gelenke R₁ und R₄; und
C₂₄ gilt für die festgelegten Gelenke R₂ und R₄.
C₂₃ gilt für die festgelegten Gelenke R₂ und R₃;
C₃₄ gilt für die festgelegten Gelenke R₃ und R₄;
C₁₃ gilt für die festgelegten Gelenke R₁ und R₃;
C₁₄ gilt für die festgelegten Gelenke R₁ und R₄; und
C₂₄ gilt für die festgelegten Gelenke R₂ und R₄.
Auf diese Weise gilt Gleichung (40) für zwei Kombinationen
R₃, R₄ und R₁, R₂,
Gleichung (41) für zwei Kombinationen
R₁, R₄ und R₂, R₃, und
Gleichung (43) für zwei Kombinationen
R₁, R₃ und R₂, R₄ der Arbeitsgelenke R₁, R₂, R₃ und R₄.
R₃, R₄ und R₁, R₂,
Gleichung (41) für zwei Kombinationen
R₁, R₄ und R₂, R₃, und
Gleichung (43) für zwei Kombinationen
R₁, R₃ und R₂, R₄ der Arbeitsgelenke R₁, R₂, R₃ und R₄.
Für einen redundanten Roboterarm, der fünf Freiheitsgrade
hat, ergibt sich die Soll-Gelenkgeschwindigkeit
wie folgt:
wobei
C₃₄₅ gilt für die festgelegten Gelenke R₃, R₄ und R₅ des
fünf Gelenke R₁, R₂, R₃, R₄ und R₅ umfassenden Roboter
arms;
C₁₂₅ gilt für die festgelegten Gelenke R₁, R₂ und R₅; und
C₁₂₃ gilt für die festgelegten Gelenke R₁, R₂ und R₃.
C₁₂₅ gilt für die festgelegten Gelenke R₁, R₂ und R₅; und
C₁₂₃ gilt für die festgelegten Gelenke R₁, R₂ und R₃.
Die Gleichung (44) gilt für drei Kombinationen der Arbeits
gelenke R₁, R₂; R₃, R₄; und R₄, R₅.
Wenn statt sämtlicher möglicher Kombinationen der Arbeits
gelenke nur ein Teil für die Berechnung ausgewählt wird,
wird zwar die Arbeitsgenauigkeit verringert, die Verarbeitungs
zeit jedoch verkürzt.
Wenn in Gleichung (39) die Matrizen |JC₁|=0, |JC₂|=0
oder |JC₃|=0 sind und sich deren inverse Matrizen
|JC₁|-1, |JC₂|-1 oder |JC₃|-1 nicht bilden lassen, kann
man die Soll-Gelenkgeschwindigkeit aus
oder
berechnen. Das gleiche Berechnungsverfahren ist bei einem
redundanten Roboterarm mit mehr als drei Freiheitsgraden
anwendbar.
Die Soll-Gelenkgeschwindigkeit wird aus Gleichung (39)
durch geradzahlige Mittelwertbildung der Lösungen für die
Arbeitsgelenke mit Ausnahme der redundante Gelenke berechnet.
Dagegen kann die Soll-Gelenkgeschwindigkeit auch durch
gewichtete Mittelwertbildung der Lösungen berechnet werden,
wie unten ausgeführt ist:
worin
In Gleichung (39) ist die Gewichtung gemäß der Gleichung (49)
gleichförmig, diese kann jedoch auch ungleichförmig sein.
Durch ungleichmäßige Gewichtung kann man Kombinationen
der Arbeitsgelenke, die ganz bestimmte Gelenke enthalten,
stärker gewichten, so daß bestimmte Gelenke mit höherer
Priorität betrieben werden.
Eine leichtere Gewichtung von bestimmten Gelenkkombinationen,
eine bestimmte Gelenke enthalten, kann dazu dienen, den Betrieb
bestimmter Gelenke zu unterdrücken. Diese Maßnahmen sind
dann besonders wirksam, wenn der Arbeitsbereich bestimmter
Gelenke des Roboters begrenzt ist.
Beispielsweise kann der Betrieb des Gelenks R₁ unterdrückt
werden, indem beim vorliegenden Ausführungsbeispiel, wo der
Roboterarm drei Gelenke R₁, R₂ und R₃ besitzt, die Kombination,
bei der das Gelenk R₁ festgelegt ist, mit der Gewichtung
W₁=0,8 und die Kombinationen, bei denen die Gelenke
R₂ und R₃ festgelegt sind, jeweils mit der Gewichtung W₂=0,1
und W₃=0,1 gewichtet werden, so daß die Gewichtung für die
das Arbeitsgelenk R₁ enthaltende Kombination verringert ist.
In den Gleichungen (39) und (49) sind die Arbeitsgelenk
geschwindigkeiten so gewichtet, daß die Gesamtgewichtung
für die Berechnung der Soll-Gelenkgeschwindigkeit ist.
Da jedoch gemäß den obigen Ausführungen die vorliegende
Erfindung eine Fehlerkorrektursteuerung für den Servosteuer
kreis, wie Gleichung (25) zeigt, aufweist, mußt die Gewichtung
der Arbeitsgelenkgeschwindigkeiten in ihrer Gesamtheit
nicht notwendiger 1 sein.
Fig. 2 zeigt den Aufbau eines Ausführungsbeispiels einer
Berechnungs- und Steuervorrichtung, die das Robotersteuerungs
verfahren gemäß der Erfindung ausführt. Ziffer 203 bezeichnet
ein Koordinaten-Transformationsglied, das entsprechend
Gleichung (17) die Ist-Position X des Roboterendes aus den
von auf den Gelenken des Roboters befestigten Kodiergliedern
322 ermittelten Robotergelenkwinkeln R berechnet. Ziffer 201
bezeichnet einen Führungsgeschwindigkeitsgenerator der eine
Führungsgeschwindigkeit m des Roboterendes aus den Gleichungen
(27), (28), (29), (30), (31) und (32) aus der Ist-Position
X des Roboterendes, die das Koordinaten-Transformations
glied 203 berechnet hat, ermittelt. Ziffer 202 bezeichnet
ein Koordinaten-Transformationsglied für die Inversion, die
gemäß den Gleichungen (24) und (29) eine Soll-Gelenkgeschwin
digkeit aus der Führungsgeschwindigkeit m , die der Führungs
geschwindigkeitsgenerator 201 abgibt, berechnet. Das
Element f 1j der Matrix J in Gleichung (24) ist eine Funk
tion des Gelenkwinkels und somit wird die Soll-Gelenk
geschwindigkeit aufgrund der von den Kodiergliedern 322
erfaßten Ist-Gelenkgeschwindigkeiten berechnet.
Beim vorliegenden Ausführungsbeispiel werden der Führungs
geschwindigkeitsgenerator 201, das Koordinaten-Transformations
glied 203 und das redundante Inversions-Koordinaten-Trans
formationsglied 202 wiederholt und aufeinanderfolgend mit
einer Abtastperiodendauer T abgetastet und die abgetasteten
Signale von einem Mikrocoumputer verarbeitet. Ein Geschwin
digkeitsregelkreis 3 enthält Servoverstärker 310, Motoren 320
und Tachogeneratoren 321, die die Winkelgeschwindigkeit
der Motoren 320 erfassen und betreibt die Motoren 320, die
die Gelenke drehen, jeweils entsprechend der eingegebenen
Soll-Gelenkgeschwindigkeit .
Auf diese Weise kann die Roboterposition X genau und stoß
frei in die Soll-Lage P f mit vorgegebener Geschwindigkeit v
und alle Gelenke synergistisch längs der Soll-Bahnkurve X r
bewegt werden.
In Fig. 3 ist ein Flußdiagramm eines Steuerablaufs der
in Fig. 2 in ihrem Aufbau dargestellten Robotersteuervor
richtung dargestellt.
Schritt 101:
Auslesen des Ausgangssignals des Kodiergliedes 322, das sind die Ist-Gelenkwinkel;
Schritt 102:
Berechnen der Roboterendposition X mittels der Gleichung (3) auf der Basis des Gelenkwinkels ;
Schritt 103:
Berechnen der Befehlsgeschwindigkeit m des Roboterendes mittels der Gleichungen (25), (27), (29) und (30) auf der Basis der gekennzeichneten Soll-Position P f, der Geschwin digkeit v und der im Schritt 103 berechnen Endposition X;
Schritt 104:
Die Soll-Gelenkgeschwindigkeit des Roboters wird mittels den Gleichungen (24), (35) und (39) auf der Basis der in Schritt 101 berechneten Gelenkwinkel und der in Schritt 103 berechneten Befehlsgeschwindigkeiten m berechnet;
Schritt 105:
Die Soll-Gelenkgeschwindigkeit , die in Schritt 104 berechnet wurde, wird dem Servokreis 3 zugeführt.
Auslesen des Ausgangssignals des Kodiergliedes 322, das sind die Ist-Gelenkwinkel;
Schritt 102:
Berechnen der Roboterendposition X mittels der Gleichung (3) auf der Basis des Gelenkwinkels ;
Schritt 103:
Berechnen der Befehlsgeschwindigkeit m des Roboterendes mittels der Gleichungen (25), (27), (29) und (30) auf der Basis der gekennzeichneten Soll-Position P f, der Geschwin digkeit v und der im Schritt 103 berechnen Endposition X;
Schritt 104:
Die Soll-Gelenkgeschwindigkeit des Roboters wird mittels den Gleichungen (24), (35) und (39) auf der Basis der in Schritt 101 berechneten Gelenkwinkel und der in Schritt 103 berechneten Befehlsgeschwindigkeiten m berechnet;
Schritt 105:
Die Soll-Gelenkgeschwindigkeit , die in Schritt 104 berechnet wurde, wird dem Servokreis 3 zugeführt.
Die obige Verarbeitungsfolge mit N-mal in einem durch die
Abtastperiodendauer T gegebenen Intervall wiederholt, so
daß das Roboterende genau und stoßfrei längs der Soll-Bahn
kurve bewegt wird.
Im folgenden wird anhand des in Fig. 4 dargestellten Fluß
diagramms der Schritt 103 genauer erläutert:
Schritt 1031:
Die Sollgeschwindigkeit r wird mittels der Gleichung (27) auf der Basis der Befehlsgeschwindigkeit v und die gewünschte Zielposition P f berechnet;
Schritt 1032:
Die Sollposition i wird mittels der Gleichung (30) auf der Basis der Sollgeschwindigkeit r berechnet;
Schritt 1033:
Die Fehlerkorrekturgeschwindigkeit e wird mittels Gleichung (29) auf der Basis der Soll-Position i berechnet;
Schritt 1034:
Schließlich wird die Soll-Geschwindigkeit r mittels der in vorigen Schritt berechneten Fehlerkorrekturgeschwindig keit e gemäß Gleichung (25) zur Berechnung der Befehls geschwindigkeit m berechnet.
Die Sollgeschwindigkeit r wird mittels der Gleichung (27) auf der Basis der Befehlsgeschwindigkeit v und die gewünschte Zielposition P f berechnet;
Schritt 1032:
Die Sollposition i wird mittels der Gleichung (30) auf der Basis der Sollgeschwindigkeit r berechnet;
Schritt 1033:
Die Fehlerkorrekturgeschwindigkeit e wird mittels Gleichung (29) auf der Basis der Soll-Position i berechnet;
Schritt 1034:
Schließlich wird die Soll-Geschwindigkeit r mittels der in vorigen Schritt berechneten Fehlerkorrekturgeschwindig keit e gemäß Gleichung (25) zur Berechnung der Befehls geschwindigkeit m berechnet.
In Fig. 5 ist der Berechnungsablauf im Schritt 104 noch
genauer dargestellt:
Schritt 1041:
Die Jacobi-Determinante wird mittels den Gleichungen (18), (20) und (24) auf der Basis der in Schritt 101 eingelesenen Gelenkwinkeln berechnet;
Schritt 1042:
Eine entartete inverse Matrix (JC k )-1 wird mittels Gleichung (35) berechnet;
Schritt 1043:
Schließlich wird die Soll-Gelenkgeschwindigkeit mittels Gleichung (29) berechnet.
Die Jacobi-Determinante wird mittels den Gleichungen (18), (20) und (24) auf der Basis der in Schritt 101 eingelesenen Gelenkwinkeln berechnet;
Schritt 1042:
Eine entartete inverse Matrix (JC k )-1 wird mittels Gleichung (35) berechnet;
Schritt 1043:
Schließlich wird die Soll-Gelenkgeschwindigkeit mittels Gleichung (29) berechnet.
Die Berechnung im ersten und zweiten Teilschritt (Schritte
1041 und 1042) des vierten Hauptschrittes (Schritt 104) können
durch Entwicklung der entarteten inversen Matrix (JC k )-1
durch Einsetzen des Gelenkwinkels als Variable ausgeführt
werden, wodurch sich die Rechenzeit weiter verringern läßt.
Die obigen Ausführungen beschreiben einen spezifischen
Steuerablauf für das erfindungsgemäße Robotersteuerverfahren.
Obwohl im vorliegenden Ausführungsbeispiel der Roboterarm
in einer zweidimensionalen Ebene bewegt wird, kann die
vorliegende Erfindung auf einen Roboterarm, der sich in
drei Dimensionen bewegt durch Ausdehnung des Steuerver
fahrens in drei Dimensionen angewendet werden.
Obwohl die gewünschte Endposition des Roboterarms und
die Geschwindigkeit beim vorliegenden Ausführungsbeispiel
mittels des Führungsgeschwindigkeitsgenerators gekennzeichnet
werden, ist auch nur die Kennzeichnung der Geschwindigkeit
von außen möglich, worauf die Roboter-Soll-Gelenkgeschwindigkeit
auf der Basis der gekennzeichneten Geschwindigkeit
und der Roboter-Ist-Gelenkwinkel berechnet wird.
Claims (8)
1. Verfahren zum Steuern eine Mehrgelenk-Roboters, der
eine größere als die zum Erreichen eines bestimmten
Raumpunktes notwendige Anzahl von Gelenken aufweist,
unter Berechnung von Gelenkgeschwindigkeiten zum
Erreichen einer in Raumkoordinaten vorgegebenen Steuer
geschwindigkeit für ein Roboterende durch Koordinaten
transformation zu robotereigenen Gelenkkoordinaten,
gekennzeichnet durch folgende Schritte:
- a) Bestimmung von sich aus der Gesamtzahl der vorhandenen Gelenke ergebenden Kombinationen, die eine Anzahl von (nicht redundanten) Gelenken umfassen, die für das Bewegen des Roboterendes notwendig sind,
- b) Berechnung von Gelenkgeschwindigkeiten für die nicht redundanten Gelenke auf der Basis fester Einstellung der übrigen (redundanten) Gelenke für wenigstens eine dieser Kombinationen auf der Basis von Ist- Gelenkwinkeln für den Roboter,
- c) Mittelung der berechneten Gelenkgeschwindigkeiten zur Bildung von Durchschnittsgeschwindigkeiten für jedes Gelenk und
- d) Bewegung der Gelenke mit diesen Durchschnittsgeschwin digkeiten.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Kombinationen nicht redundanter Gelenke so ausge
wählt werden, daß in den Kombinationen jedes Gelenk
mit Ausnahme höchstens eines Gelenks nur einmal und
dieses eine Gelenk höchstens zweimal auftritt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß die Berechnung der Gelenkgeschwindigkeiten für jede
mögliche Kombination von nicht redundanten Gelenken
vorgenommen wird.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß bei der Mittelung der berechneten Gelenkgeschwindig
keiten zumindest ein Teil der Gelenkgeschwindigkeiten
unterschiedlich gewichtet wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß bei der Mittelung der berechneten Gelenkgeschwindig
keiten alle Gelenkgeschwindigkeiten gleichmäßig gewichtet
werden.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß auf der Basis der Ist-Gelenkwinkel zusätzlich die
Ist-Lage des Roboterendes berechnet und in die berechneten
Gelenkgeschwindigkeiten ein Korrekturwert einbezogen
wird, mit dem ein Fehler zwischen Soll-Lage und Ist-Lage
des Roboterendes während dessen Bewegung korrigiert wird.
7. Vorrichtung zum Steuern eines Mehrgelenk-Roboters in
Durchführung des Verfahrens nach einem der Ansprüche
1 bis 6, gekennzeichnet
durch an den Gelenken (R i) des Roboters angeordnete
Kodierglieder (322) zum Erfassen der jeweiligen
Gelenkwinkel (R i ), durch eine Recheneinheit mit
- - einem mit den Ausgangssignalen der Kodierglieder (322) gespeisten Koordinaten-Transformationsglied (203) zum Berechnen der Ist-Lage (X) des Roboterendes,
- - einem mit den Koordinaten (x f, y f) eines von dem Roboterende zu erreichenden Soll-Puntes (P f ), mit einer Lineargeschwindigkeit (v) für das Roboterende und mit dessen Ist-Lage (X) gespeisten Generator (201) zum Berechnen einer Führungsgeschwindigkeit ( m ) für das Roboterende und
- - einem mit der Führungsgeschwindigkeit ( m ) aus dem Generator (201) und mit den Ausgangssignalen der Kodierglieder (322) gespeisten inversen Koordinaten- Transformationsglied (202) zum Berechnen einer Soll- Gelenkgeschwindigkeit () und
durch eine Geschwindigkeitssteuereinheit (3), die den
Roboter abhängig von der ihr aus der Recheneinheit zuge
führten Gelenkgeschwindigkeitsinformation () steuert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57215425A JPS59107884A (ja) | 1982-12-10 | 1982-12-10 | ロボツトの制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3344633A1 DE3344633A1 (de) | 1984-06-14 |
DE3344633C2 true DE3344633C2 (de) | 1989-05-11 |
Family
ID=16672119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833344633 Granted DE3344633A1 (de) | 1982-12-10 | 1983-12-09 | Verfahren und vorrichtung zur steuerung eines roboters |
Country Status (3)
Country | Link |
---|---|
US (1) | US4604716A (de) |
JP (1) | JPS59107884A (de) |
DE (1) | DE3344633A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE19800552A1 (de) * | 1997-06-20 | 1999-01-28 | Deutsch Zentr Luft & Raumfahrt | Verfahren zur Kommandosteuerung eines Manipulators |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61248104A (ja) * | 1985-04-26 | 1986-11-05 | Nissan Motor Co Ltd | マニピユレ−タの制御装置 |
KR900008539B1 (ko) * | 1985-05-30 | 1990-11-24 | 마쯔시다덴기산교 가부시기가이샤 | 로보트의 연속경로 제어방법 |
US4718078A (en) * | 1985-08-19 | 1988-01-05 | Siemens Aktiengesellschaft | System for controlling motion of a robot |
JPH0789287B2 (ja) * | 1985-11-07 | 1995-09-27 | 三菱電機株式会社 | ロボットのプログラミング方法 |
US4975856A (en) * | 1986-02-18 | 1990-12-04 | Robotics Research Corporation | Motion controller for redundant or nonredundant linkages |
BR8607103A (pt) * | 1986-02-25 | 1988-02-09 | Trallfa Robot As | Processo e instalacao de robot para controle programado de uma ferramenta operatriz |
JPH0789286B2 (ja) * | 1986-02-28 | 1995-09-27 | 株式会社日立製作所 | 多関節マニピユレ−タの作業原点決定方法 |
US4763276A (en) * | 1986-03-21 | 1988-08-09 | Actel Partnership | Methods for refining original robot command signals |
US4698572A (en) * | 1986-04-04 | 1987-10-06 | Westinghouse Electric Corp. | Kinematic parameter identification for robotic manipulators |
US4714400A (en) * | 1986-04-14 | 1987-12-22 | Ibm Corporation | Plural robotic drive |
US4791575A (en) * | 1986-10-31 | 1988-12-13 | The Pratt & Whitney Company, Inc. | Method for generating axis control data for use in controlling a grinding machine and the like and system therefor |
US4774445A (en) * | 1986-11-20 | 1988-09-27 | Unimation, Inc. | Multiaxis robot control having capability for executing timed moves |
US4772831A (en) * | 1986-11-20 | 1988-09-20 | Unimation, Inc. | Multiaxis robot control having improved continuous path operation |
US4786847A (en) * | 1986-11-20 | 1988-11-22 | Unimation Inc. | Digital control for multiaxis robots |
US4716350A (en) * | 1986-12-08 | 1987-12-29 | Ford Motor Company | Method to avoid singularity in a robot mechanism |
DE3789230T2 (de) * | 1987-01-30 | 1994-06-09 | Komatsu Mfg Co Ltd | Steuerungseinheit. |
EP0289836B1 (de) * | 1987-05-04 | 1991-11-06 | Siemens Aktiengesellschaft | Verfahren zur Positionierung eines Werkzeugs eines mehrgelenkigen Roboters |
JPH01164582A (ja) * | 1987-12-17 | 1989-06-28 | Matsushita Electric Ind Co Ltd | 多軸ロボットアーム |
JPH02198783A (ja) * | 1989-01-23 | 1990-08-07 | Fanuc Ltd | 産業用ロボットの位置決め補正方式 |
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 |
JP2874238B2 (ja) * | 1990-01-23 | 1999-03-24 | 株式会社安川電機 | 多関節形ロボットの制御方法 |
US5377310A (en) * | 1992-04-03 | 1994-12-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Controlling under-actuated robot arms using a high speed dynamics |
JPH07197485A (ja) * | 1993-12-28 | 1995-08-01 | Komatsu Ltd | 建設機械の作業機制御装置 |
US6181983B1 (en) | 1997-06-20 | 2001-01-30 | Deutsches Zentrum f{umlaut over (u)}r Luft-und Raumfahrt e.v. | Method of command control for a robot manipulator |
US6317651B1 (en) * | 1999-03-26 | 2001-11-13 | Kuka Development Laboratories, Inc. | Trajectory generation system |
JP4735795B2 (ja) * | 2003-12-26 | 2011-07-27 | 独立行政法人 宇宙航空研究開発機構 | 冗長マニピュレータの制御方法 |
US7979160B2 (en) * | 2007-07-31 | 2011-07-12 | Spirit Aerosystems, Inc. | System and method for robotic accuracy improvement |
JP5669590B2 (ja) * | 2011-01-20 | 2015-02-12 | オリンパス株式会社 | マスタスレーブマニピュレータ及び医療用マスタスレーブマニピュレータ |
JP5726052B2 (ja) * | 2011-03-08 | 2015-05-27 | 株式会社神戸製鋼所 | 多関節型ロボットの制御装置,制御方法及び制御プログラム |
CN107685330B (zh) * | 2017-10-18 | 2018-12-18 | 佛山华数机器人有限公司 | 一种六自由度手腕偏置串联机器人的运动学逆解求解方法 |
CN111002306B (zh) * | 2019-11-15 | 2021-04-09 | 杭州项淮机械科技有限公司 | 一种基于电子凸轮的机器人运动控制方法及控制*** |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909600A (en) * | 1972-06-26 | 1975-09-30 | Cincinnati Milacron Inc | Method and apparatus for controlling an automation along a predetermined path |
US3941988A (en) * | 1973-09-04 | 1976-03-02 | Danly Machine Corporation | Method and apparatus for numerical control |
US4008829A (en) * | 1974-08-29 | 1977-02-22 | Cincinnati Milacron, Inc. | Ratio controlled mixing of liquids |
US4021650A (en) * | 1975-11-19 | 1977-05-03 | Xerox Corporation | Velocity command signal generating apparatus |
JPS5275760A (en) * | 1975-12-19 | 1977-06-25 | Hitachi Ltd | Manipulator joints mechanism |
JPS599305B2 (ja) * | 1978-03-23 | 1984-03-01 | ファナック株式会社 | 倣い制御装置 |
US4245298A (en) * | 1979-01-15 | 1981-01-13 | Magicam, Inc. | System for creating a servo control signal |
JPS57113118A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
US4453221A (en) * | 1982-05-13 | 1984-06-05 | Cincinnati Milacron Inc. | Manipulator with adaptive velocity controlled path motion |
US4510565A (en) * | 1982-09-20 | 1985-04-09 | Allen-Bradley Company | Programmable controller with intelligent positioning I/O modules |
US4494060A (en) * | 1983-03-02 | 1985-01-15 | Anorad Corporation | Axis controller for robotic actuator |
US4547858A (en) * | 1983-06-13 | 1985-10-15 | Allied Corporation | Dynamic control for manipulator |
-
1982
- 1982-12-10 JP JP57215425A patent/JPS59107884A/ja active Pending
-
1983
- 1983-12-07 US US06/559,090 patent/US4604716A/en not_active Expired - Fee Related
- 1983-12-09 DE DE19833344633 patent/DE3344633A1/de active Granted
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
Also Published As
Publication number | Publication date |
---|---|
DE3344633A1 (de) | 1984-06-14 |
US4604716A (en) | 1986-08-05 |
JPS59107884A (ja) | 1984-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3344633C2 (de) | ||
DE69636447T2 (de) | Verfahren und vorrichtung zum steuern der bewegung eines redundanten manipulators | |
DE69315137T2 (de) | Verfahren zum steuern von mehreren robotern | |
DE2330054C2 (de) | Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes | |
DE60020466T2 (de) | Parallelroboter mit vier Freiheitsgraden | |
DE3046897C2 (de) | ||
DE2526504C3 (de) | Verfahren zur Erstellung eines Programms für die rechnergeführte Steuerung der Arbeitsfunktionen und der Bewegung eines Roboterarmes und Vorrichtung zur Durchführung des Verfahrens | |
DE69216167T2 (de) | Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren | |
DE3786860T2 (de) | Regelvorrichtung für einen roboter. | |
DE3317263C2 (de) | ||
EP0866390B1 (de) | Verfahren zur Steuerung von Koordinatenmessgeräten nach Solldaten | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE3406255C2 (de) | ||
DE112016004725T5 (de) | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung | |
DE3750333T2 (de) | Durch iterative splinefunktion gesteuerter positionierungsmechanismus. | |
DE69024854T2 (de) | Verfahren zur Steuerung von Roboterbewegungen | |
EP1424613A1 (de) | Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks | |
DE112019006713B4 (de) | Ein Verfahren zur Steuerung einer Bewegung, eine Bewegungssteuereinrichtung und ein System sowie ein Speichermedium desselben | |
EP0167080B1 (de) | Rechnersteuerung für einen Mehrachsen-Industrieroboter | |
DE112016005365T5 (de) | Direktes Lehrverfahren eines Roboters | |
DE69122185T2 (de) | Verfahren und Vorrichtung zum Steuern eines Gelenkroboters mit Redundanz | |
DE69313590T2 (de) | Verfahren zum Steuern des Betriebs eines Roboterarms | |
DE69316175T2 (de) | Verfahren zur manuellen dateneingabe bei roboter | |
EP0165436B1 (de) | Verfahren zur speicherplatzsparenden Programmierung von Roboterbewegungen | |
DE19810341A1 (de) | Verfahren zur automatischen Kollisionsvermeidung eines Manipulators in einem durch Hindernisse beschränkten Arbeitsraum |
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 | ||
8339 | Ceased/non-payment of the annual fee |