DE3317263C2 - - Google Patents
Info
- Publication number
- DE3317263C2 DE3317263C2 DE3317263A DE3317263A DE3317263C2 DE 3317263 C2 DE3317263 C2 DE 3317263C2 DE 3317263 A DE3317263 A DE 3317263A DE 3317263 A DE3317263 A DE 3317263A DE 3317263 C2 DE3317263 C2 DE 3317263C2
- Authority
- DE
- Germany
- Prior art keywords
- speed
- value
- programmed
- program
- process parameter
- 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/416—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 control of velocity, acceleration or deceleration
- G05B19/4163—Adaptive control of feed or cutting velocity
Description
Die Erfindung betrifft eine Einrichtung zur Steuerung der
Bewegung eines Arbeitselementes eines Manipulators mit fol
genden Merkmalen:
- - Der Manipulator besitzt mehrere bewegliche Arme,
- - mindestens zwei Arme sind durch eine Drehachse mitein ander verbunden,
- - die Arme und Drehachse(n) definieren ein maschinenorien tiertes Koordinatensystem,
- - der Einrichtung werden Eingangsignale zugeführt, die Punkte längs eines programmierten Weges bezeichnen, den ein Mittelpunkt des Arbeitselementes durchlaufen soll,
- - die Punkte sind in einem maschinenunabhängigen Koordina tensystem definiert,
- - Die Einrichtung erzeugt iterativ Koordinatensignale von Zwischenpunkten, die auf dem programmierten Weg liegen, und zwar in dem maschinenunabhängigen Koordinatensystem,
- - diese Koordinatensignale werden zu Koordinatensignalen in dem maschinenorientierten Koordinatensystem transfor miert
- - in Abhängigkeit der Koordinatensignale im maschinenorien tierten Koordinatensystem wird der Mittelpunkt des Mani pulators längs aufeinanderfolgender Weginkremente entlang dem programmierten Weg bewegt.
Eine Einrichtung dieser Art ist aus der DE-OS 23 30 054
bekannt. Bei dieser bekannten Einrichtung erfolgt die Ge
schwindigkeitssteuerung unter Berechnung von Zeit- und
Distanzwerten für eine Beschleunigungs- und Verzögerungs
phase. Diese Beschleunigungs- und Verzögerungsphasen sind
Unterabschnitten des zu durchlaufenden Weges zugeordnet.
Die entsprechenden Werte werden vor der Ausführung der ge
samten Bewegung errechnet. Hierdurch kann bei dieser be
kannten Einrichtung der Geschwindigkeitsverlauf des Werk
zeugs längs der Bahn nur vor der Ausführung festgelegt wer
den, während der Ausführung der Bewegung dagegen nicht mehr
variiert werden. Das Geschwindigkeitsprofil kann damit zwar
für unterschiedliche Vorgänge bzw. zu durchlaufende Bahnen
unterschiedlich festgelegt werden, ist nach dieser Festle
gung jedoch starr und nicht mehr veränderbar, es sei denn
durch Umprogrammierung der Anlage.
Eine ähnliche Einrichtung ist ferner aus der DE-OS
22 26 480 bekannt, bei welcher die Geschwindigkeit bzw.
das Geschwindigkeitsprofil eines Roboterarms fest vorpro
grammiert wird. Es können hierbei zwar für jeden zu durch
laufenden Weg beliebige Geschwindigkeitsprofile vorpro
grammiert werden, es ist jedoch auch dort nicht möglich,
die programmierte Geschwindigkeit während der Ausführung
des Programms noch in Abhängigkeit von unvorhergesehenen
Änderungen eines Prozeßparameters zu ändern.
Grundsätzlich gleiches gilt auch für zwei weitere bekannte
Einrichtungen (Warnecke/Schraft: "Industrie-Roboter",
Krausskopf-Verlag Main, 1979, S. 32, 33 und Spur/Auer/
Sinning: "Industrieroboter", Karl Hauser Verlag, München,
1979, S. 107, 108). Im ersteren Fall werden Positions- und
Geschwindigkeitssollwerte durch eine "externe Datenvorgabe"
eingegeben. Bei der zweiten bekannten Konstruktion wird mit
Hilfe eines Override-Schalters zwar die Verfahrensgeschwin
digkeit während des Arbeitsvorganges geändert, wodurch je
doch offensichtlich nur eine andere Geschwindigkeitsstufe
anwählbar ist, deren mechanisches Äquivalent ein anderes
Übersetzungsverhältnis eines Getriebes ist. Dieser Override-
Schalter wird vom Operator betätigt. Eine Abhängigkeit der
Geschwindigkeit von unvorhergesehenen Änderungen eines Ar
beitsparameters ist dagegen auch dort nicht gegeben.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung
der eingangs genannten Art dahingehend zu verbessern, daß
eine höhere Flexibilität des Geschwindigkeitsprofils er
zielt wird, d. h. daß die Bewegungsgeschwindigkeit aufgrund
unprogrammierter Variationen eines Prozeßparameters vari
ierbar ist.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des
Kennzeichens des Anspruchs 1 gelöst.
Durch die Erfindung wird der Vorteil erzielt, daß die Ge
schwindigkeit des Werkzeugmittelpunkts auch während der
Ausführung eines Programmes jederzeit änderbar ist, also
auch, wenn sich das Arbeitselement bereits zwischen pro
grammierten Bahnpunkten bewegt. Diese Geschwindigkeitsän
derungen werden durch unprogrammierte, d. h. zufällig auf
tretende Änderungen eines Arbeitsprozeßparameters eingelei
tet. Beispielsweise kann ein solcher Arbeitsprozeßparameter
das auf ein Schneidwerkzeug, beispielsweise eine Schleif
scheibe, ausgeübte Drehmoment sein, welches dann auftritt,
wenn das Werkzeug mit dem Werkstück in Berührung kommt. Der
Mittelpunkt oder Bezugspunkt des Werkzeugs bewegt sich wei
terhin längs des vorgesehenen, beispielsweise gradlinigen
Wegs zwischen den vorprogrammierten Punkten. Seine Vor
schubgeschwindigkeit wird längs dieses Weges dagegen in Ab
hängigkeit von dem Drehmoment des Schneidwerkzeugs geändert.
Hierbei wird der gemessene Arbeitsprozeßparameter oder Meß
wert dazu verwendet, ein Geschwindigkeitssignal zu erzeugen
welches seinerseits die Interpolation der Zwischenpunkte
längs des vorgegebenen Weges beeinflußt. Höhere Geschwindig
keitswerte führen zu größeren Weginkrementen zwischen zwei
Zwischenpunkten. Wenn der Bezugspunkt des Werkzeugs das
Ende des vorgegebenen Weges erreicht, so ist für eine auto
matische Abbremsung erforderlich, den aktuellen Geschwin
digkeitswert des Werkzeugbezugspunkts anstelle des pro
grammierten Geschwindigkeitswerts dazu zu verwenden, die
benötigte Distanz für die Abbremsung zu bestimmen.
Bei einer bevorzugten Ausführungsform nach der Erfindung
ist folglich der Arbeitsprozeßparameter das beim Kontakt
eines Schneidwerkzeugs mit dem Werkstück auftretende Dreh
moment.
Im folgenden wird die Erfindung Anhand einer in den Zeich
nungen beispielhaft veranschaulichten Ausführungsform näher
erläutert. Es zeigt
Fig. 1 einen bewegliche Arme aufweisenden Manipulator mit
schematisch dargestellten Verbindungen zur Steuerung;
Fig. 2 ein Blockdiagramm der Steuerung;
Fig. 3 eine geometrische Darstellung des maschinenorientier
ten Koordinatensystem;
Fig. 4a bis Fig. 4c geometrische Darstellungen des Geschwindigkeits
profils eines vom Manipulator bewegten Werkzeugs,
Fig. 5a und 5b Flußdiagramme der beiden prinzipiellen
Steuerprozeduren, die die Bewegungssteuerung
bewirken,
Fig. 6a bis 6d Flußdiagramme von Unterprogrammen und
Hauptabschnitten des Flußdiagramms gemäß
Fig. 5a, und
Fig. 7 ein Flußdiagramm der adaptiven Geschwindigkeits
prozedur, welche durch die Interpolations
prozedur gemäß Fig. 5a verwendet wird.
Zum Zwecke der Erläuterung der Erfindung wird im fol
genden eine bevorzugte Ausführungsform des Manipulators
und der zugeordneten Steuerung beschrieben.
Es ist darauf hingewiesen, daß die spezielle
Struktur des Manipulators gemäß dem bevorzugten Aus
führungsbeispiel nicht als Einschränkung der vorlie
genden Erfindung angesehen werden soll. Vielmehr ist
zur Anwendung der vorliegenden Erfindung eine jede
Maschine geeignet, welche seriell aneinandergelenkte
Rotationsbewegungsachsen aufweist, welche durch Inter
polation von intermediären Punkten entlang einer vorbe
stimmten Bahn gesteuert wird, welche unter Bezugnahme
auf ein rechtwinkliges Koordinatensystem definiert ist
oder unter Bezugnahme auf irgendein anderes Koordinaten
system, welches unabhängig von den Maschinenachsen de
finiert ist.
Unter Bezugnahme auf Fig. 1 ist erkennbar, daß der mit
gelenkigen Gliedern versehene Manipulator 10 mit der
Steuerung 35 verbunden ist und ein Schleifwerkzeug 122
und einen Werkzeugsmotor 120 trägt. Der Manipulator 10
umfaßt eine Basis 12, auf der eine Schulterplatte 18
drehbar gelagert ist und innerhalb der die Schulter
drehbetätigungseinrichtung 24 und die Zwischenkupplung
16 angeordnet sind. Die Betätigungseinrichtung 14, die
Kupplung 16 und die Trägerplatte 18 wirken zusammen,
um eine Rotation der Manipulatorstruktur um eine verti
kale Achse zu bewirken, welche durch den Mittelpunkt
der Platte 18 geht. Der obere Arm 22 ist auf der
Platte 18 beim Schultergelenk 23 drehbar gelagert und
ist um eine horizontale Achse drehbar, welche die
vertikale Achse durch den Mittelpunkt des Schulter
gelenks 23 schneidet. Die Rotation des Arms 22 um
diese Achse wird über die Betätigungseinrichtung 20
bewirkt. Der Unterarm 26 ist mit dem Oberarm 22 über
ein Ellbogengelenk 25 verbunden, und ist hierum mittels
einer Betätigungseinrichtung 24 drehbar, welche ein
linearer Aktuator sein kann, wie beispielsweise ein
Kolben/Zylinder oder eine Schraube/Mutter. Die Be
tätigungseinrichtungen 14, 20 und 24 sind ausreichend,
um eine Bewegung des Unterarms 26 zu bewegen, um dessen
Ende in jeder beliebigen Position innerhalb des durch
die mechanischen Begrenzungen der Struktur definierten
Volumens zu plazieren.
Um die Flexibilität der durch die Steuerung des Mani
pulators erzielten Bewegung zu maximalisieren, sind
drei weitere Bewegungsachsen vorgesehen, welche sich
an den Unterarm 26 anschließen. Diese drei weiteren
Bewegungsachsen sind dazu da, die Kontrolle über die
Orientierung bezüglich eines wiederauffindbaren Re
ferenzpunktes des durch den Manipulator getragenen
Werkzeuges zu bewirken. Die erste dieser drei Orien
tierungsachsen entspricht einer Rotation um eine
horizontale Achse am Ende des Unterarms 26 und wird
durch eine Betätigungseinrichtung 28 angetrieben, um
Neigungsänderungen eines vom Manipulator getragenen
Werkzeuges zu bewirken. Die zweite Orientierungsachse
ist senkrecht zu der ersten Achse und bewirkt Gierungsänderungen
des vom Manipulator getragenen Werkzeugs und
wird von der Betätigungseinrichtung 30 angetrieben. Die
dritte Orientierungsachse zur Steuerung des Schlingerns
ist rechtwinklig zur ersten und zweiten Achse ange
ordnet und wird durch eine Betätigungseinrichtung 32
angetrieben. Diese drei Orientierungsachsen stellen
das Handgelenk 27 des Manipulators 10 dar.
Am Ende des Handgelenks 27 befindet sich die Vorder
platte 33, an der der Werkzeugmotor 120 befestigt ist,
welcher das Schleifwerkzeug 122 trägt. Am Werkzeug
motor 120 ist ein Meßwertwandler 124 befestigt, um
einen gemessenen Parameter des Arbeitsprozesses rück
zukoppeln. Der Motor 120 und das Werkzeug 122 stellen
ein Funktionselement 31 dar, welches vom Manipulator
10 getragen wird. Es existieren ein breite Vielfalt
von Werkzeugen oder Gegenstandsgreifeinrichtungen, welche
je nach auszuführendem Arbeitsprozeß verwendet werden
können. Das gespeicherte Programm zur Steuerung der
Bewegung des Funktionselements 31 spezifiziert Posi
tionen eines Werkzeugmittelpunkts 34 und Orientierungen
des Funktionselements 31 bezüglich des Werkzeugmittel
punkts 34.
Die Steuerung 35 umfaßt eine Kontrollpunkteinheit 36,
um Kommunikation zwischen dem Operator und dem Mani
pulator 10 zu ermöglichen, eine Steuerung 38, um ein
gespeichertes Programm, welches die Bewegungen des
Manipulators 10 dirigiert, durchzuführen, und eine
Servoantriebseinheit 39, welche auf die Steuerung 38
anspricht, um die Maschinenbetätigungseinrichtungen 14,
20, 24, 28, 30 und 32 zu steuern. Nachdem die speziel
len Arten der Betätigungseinrichtungen und Antriebs
einheiten nicht Teil der vorliegenden Erfindung dar
stellen, werden sie auch nicht näher erläutert.
Unter Bezugnahme auf Fig. 2 wird ein detailliertes
Blockdiagramm der Steuerung beschrieben. Die Steuerung
35 umfaßt einen programmierbaren digitalen Mehrzweck
computer 40, der einen Speicher 42, eine Zentralein
heit 46 und ein Eingangs/Ausgangs-Interface umfaßt.
Diese drei Elemente sind über einen Hauptweg 48 mit
einander verbunden. Die Interaktion zwischen dem
Computer 40 und dem Manipulator 10 und einem Operator
wird über Signale ausgeführt, welche über den externen
Hauptweg 50 geleitet werden, der mit einer Anzahl peri
pherer Geräte verbunden ist. Die peripheren Geräte,
welche zur Benutzung durch einen Operator besonders
geeignet sind, umfassen die Lehreinheit 52, um manuell
Bewegungsbefehle zu erzeugen, um ein gespeichertes
Programm zu erzeugen, das Tastenfeld 64, um Information
dem Computerspeicher 42 und der Kathodenstrahlröhre
62 zuzuführen, um Daten anzuzeigen, welche sich auf die
jeweilige Aktivität des Manipulators und seines ge
speicherten Programms beziehen.
Die peripheren Geräte, welche dazu benutzt werden, um
den Manipulator 10 mit der Steuerung 35 zu verbinden,
umfassen: Das Steuerungs-Eingangs/Ausgangs-Interface 54,
welches Anzahl von diskreten Gerätesignalen zwischen
dem Manipulator und der Steuerung austauscht, welche
für den Betrieb des Manipulators 10 notwendig sind;
das Benutzer-Eingangs/Ausgangs-Interface 56, welches
Signale zu und aus anwendungsorientierten Geräten aus
tauscht, welche dem Manipulator 10 zugeordnet sind,
und welche im dargestellten Falle einen Analog-Digital-
Konverter umfassen, welcher mit dem Meßwertwandler
124 verbunden ist; und schließlich das Achsantriebs-
Interface 56, welches direkt die Bewegung der Betätigungs
einrichtungen steuert. Der Achsantrieb 66 erhält Daten
in digitaler Form und führt eine Digital-Analog-Um
setzung durch, wobei er ein analoges Signal dem Achsen-
Kompensations- und Servoverstärker 68 zuführt. Die
kompensierten analogen Signale werden dann als Eingangs
signal für die Betätigungseinrichtung 70 verwendet,
welches das mit ihm mechanisch verbundene Roboterelement
71 antreibt. Ein Rückkopplungsgerät 72, welches mecha
nisch mit der Betätigungseinrichtung 70 oder mit dem
Roboterelement 71 verbunden ist, erzeugt ein Rück
kopplungssignal, welches die jeweilige Bewegung des
angetriebenen Elements des Roboterarms repräsentiert.
Obwohl für jedes Element des Roboterarms mehrere Kon
figurationen der Steuerung der Servomechanismusschleife
vorgesehen sind, werden in einem bevorzugten Ausführungs
beispiel der Achsantrieb 66, der Servoverstärker 68, die
Betätigungseinrichtung 70 und das Rückkopplungselement
72 in einer Anzahl benutzt, welche gleich ist der An
zahl der gesteuerten Achsen des Manipulators.
Zwei weitere periphere Geräte erlauben den Austausch
von Programmdaten. Zunächst sei hier das on-line-Inter
face 58 zur Übertragung externer Daten erwähnt, welches
eine Einrichtung darstellt, die es erlaubt, daß Daten
von einem externen Datenspeicher dem Computer 40 zuge
führt werden, während der Manipulator einen Arbeits
zyklus durchführt. Zweitens ist ein off-line-Daten
speicher-Interface 60 vorgesehen, welches es erlaubt,
daß Programmdaten in den Computer mittels solcher Ge
räte eingegeben werden wie Lochstreifenleser, Kassetten
leser und dgl.
Der Speicher 42 innerhalb des Computer 40 umfaßt im
wesentlichen zwei Teile. Das erste hiervon ist der
Datenspeicher 74, welcher alle numerischen Datenin
formationen speichert, und der zweite Teil definiert
das Betriebssystem des Manipulators. Das Betriebs
system ist eine Anzahl von Steuerprogrammen, welche den
Betrieb des Computers 40 so ausrichten, daß die Er
zeugung des Benutzerprogramms bewirkt wird und die
Durchführung des gespeicherten Benutzerprogramms.
Zum Zwecke der Erläuterung sind die Betriebssystempro
gramme in funktional bezogenen Gruppen dargestellt,
welche die Eingangs/Ausgangs-Gruppe 76, die Lehrbe
triebsgruppe 92 und die Gruppe für Automatikbetrieb 94
umfassen.
Innerhalb der Eingangs-Ausgangs-Gruppe ist das Daten-
I/O-Programm 78, das Lehr-I/O-Programm 80, ein CRT und
Tastenfeld I/O-Programm 82, ein Steuerungs-I/O-Programm
84, ein Achsantriebs-I/O-Programm 85, ein Programm 86
zur Übertragung externer Daten sowie ein Benutzer-I/O-
Programm 88. Jedes dieser I/O-Programme (Eingangs/Aus
gangs-Programme) entspricht einer unterschiedlichen Art
peripherer Einrichtung, welche mit der Steuerung inter
facemäßig verbunden ist, und steuert den Signalaustausch
zwischen den bestimmten peripheren Geräten und
dem Computer 40.
Das Betriebssystem enthält auch ein Modus-Steuerpro
gramm 90, um die Steuerung des Computers zwischen den
unterschiedlichen Betriebsmoden, beispielsweise manuell,
lehren, automatisch, usw. zu schalten. Nachdem nur der
automatische Modus für die offenbarte Erfindung er
forderlich ist, wird nur dieser Modus im Detail be
schrieben. Innerhalb des Lehrmodussystems 92 befinden
sich das Daten-Editor-Programm 96 und ein Lehrbetrieb
funktionsprogramm 98. Diese beiden Programme steuern
den Betrieb des Manipulators während des Lehr-Modus.
Die Gruppe 94 für Automatikbetrieb umfaßt ein Datenab
rufprogramm 102, ein Bahnberechnungsprogramm 104, ein
Transformationsprogramm 106, ein Achsantriebsprogramm
108, ein Funktionssteuerprogramm 110, ein peripheres
Serviceprogramm 111, und ein Geschwindigkeitsmodifi
kationsprogramm 112. Details bezüglich des Bahnberech
nungs- und des Geschwindigkeitsmodifikationsprogramms
werden hier offenbart.
Das Maschinenkoordinatensystem des Manipulators 10
wird im folgenden unter Bezugnahme auf die schematische
Darstellung gemäß Fig. 3 beschrieben. Wie weiter oben
beschrieben ist, ist eine jede Bewegungsachse des Mani
pulators 10 eine Achse der Drehbewegung. Es wird ange
nommen, daß das rechtwinklige Koordinatensystem gemäß
Fig. 3 seinen Ursprung an einem Punkt aufweist, der
leicht überhalb der Befestigungsplatte 18 gelegen ist
und mit der Rotationsachse der Betätigunseinrichtung 20
zusammenfällt. Die Z-Achse fällt mit dem Drehmittel
punkt der Befestigungsplatte 18 zusammen. Daher ent
spricht eine Rotation der Befestigungsplatte 18 einer
Bewegung durch den Winkel "d" hindurch. Das Linien
segment 130 entspricht dem Oberarm 22 und die Rotation
um die Mitte der Betätigungseinrichtung 20 entspricht
einer Rotation des Liniensegments 130 über den Winkel
"a", positiv gemessen bezüglich der Z-Achse in der
durch den Pfeil angedeuteten Richtung. Das Linien
segment 132 entspricht dem Unterarm 26 und Drehungen
des Unterarms 26 um das Ellbogengelenk 25 entsprechen
Drehungen des Liniensegments 132 durch den Winkel "b"
hindurch, positiv in der durch den Pfeil in Fig. 3
dargestellten Richtung gemessen. Die Beugungsachse
des Handgelenks 27 bei der Betätigung 28 entspricht
einer Rotation des Liniensegments 134 durch den Winkel
"c", gemessen in negativer Richtung von der Verlängerung
des Liniensegments 132, wie dies durch den Pfeil ange
deutet ist. Die zweite Beugungsachse des Handgelenks
27 entspricht der Rotation der Betätigungseinrichtung
30, und ist dargestellt durch die Rotation des Linien
segments 136 durch den Winkel "E", gemessen unter Be
zugnahme auf die X-Achse und dargestellt durch Projek
tion in der X-Y-Ebene. Das Rollen des Handgelenks 27
entspricht der Rotation des Liniensegments 136, ange
deutet durch den Pfeil "R". Der Werkzeugmittelpunkt 34
ist definiert als ein Punkt am Ende des Liniensegments
136. Die Länge des Segments 136 umfaßt die benutzer
spezifische Werkzeuglänge und die Länge der Elemente
des Handgelenks jenseits der Gierachse. Das ge
speicherte Programm umfaßt die X, Y und Z-Achsen
koordinaten des Werkzeugmittelpunkts 34 zusammen mit
den Orientierungswinkeln D, E und R. Der Orientierungs
winkel D ist gleich der Summe der Winkel "a", "b" und
"c". Wie in Fig. 3 dargestellt, ist der Werkzeugmittel
punkt 34 auf der Achse des Liniensegments 136 ange
ordnet; jedoch kann auch ein versetzter Werkzeugmittel
punkt vorgesehen sein. Es sollte nun klar sein, daß,
vorausgesetzt, die Längen der Segmente 130 bis 136 sind
bekannt und vorausgesetzt, das Programm spezifiziert
die Orientierungswinkel für Neigung, Gierung und Rollung,
nämlich D bzw. E bzw. R, und vorausgesetzt die X, Y und
Z-Koordinaten des Werkzeugmittelpunkts 34 sind spezi
fiziert, dann die einzig mögliche Kombination der
Winkel a, b, c, und d bestimmend werden kann. Diese
Betätigungswinkel zusammen mit den Betätigungswinkeln
der Orientierungsachsen E und R stellen das Maschinen
koordinatensystem dar.
Unter Bezugnahme auf die geometrische schematische Dar
stellung der Fig. 4a bis 4c wird das Bahnsteuerschema
der vorliegenden Erfindung beschrieben. In Fig. 4a
repräsentiert das gerade Liniensegment 140 die Be
wegungsbahn, entlang der der Werkzeugmittelpunkt fort
schreiten muß, indem er vom programmierten Punkt P₀
zum programmierten Punkt P₁ fortschreitet. Die Steuerung
interpoliert intermediäre Punkte P i entlang dieser ge
radlinigen Bahn. Es können zur Interpolation auch andere
vorbestimmte Bahnen wie beispielsweise kreisförmige oder
parabolische Bahnen gewählt werden. Die Koordinaten der
Punkte P₀, P₁ und die intermediären Punkte P i sind alle
bezüglich des X, Y, Z-Koordinatensystems definiert.
Unter der Annahme, daß der Werkzeugmittelpunkt aus der
Ruhelage beim Punkt P₀ startet und wieder beim Punkt P₁
zur Ruhe kommt, so sorgt das Bahnsteuerungsschema für
eine automatische Beschleunigung und Abbremsung auf bzw.
von einer programmierten Geschwindigkeit. Während die
intermediären Punkte P i entsprechend einer festen
inkrementellen Zeitperiode Δ T erzeugt werden, variiert
der tatsächliche jeweilige inkrementelle Abstand zwischen
den Punkten P i , da die Geschwindigkeit des Werkzeug
mittelpunktes variiert. Daher ist ersichtlich, daß der
inkrementelle Abstand Δ S, der dem während einer kon
stanten inkrementellen Zeitdauer Δ T durchquerten Ent
fernung entspricht, zwischen dem Bewegungsabschnitt
mit konstanter Geschwindigkeit und den Beschleunigungs-
und Bremsphasen der beschriebenen Bewegung variiert.
Gemäß dem grundlegenden verwendeten Bahnsteuerschema
werden die Geschwindigkeitsvariationen den Punkten P₀
und P₁ so durchgeführt, daß keine Geschwindigkeits
diskontinuitäten zwischen den Beschleunigungsphasen
und den Bremsphasen eingeführt werden.
Unter Bezugnahme auf Fig. 4b wird die Geschwindigkeits
charakteristik einer typischen Spanne, wie beispiels
weise der Spanne 140 dargestellt. Die Spanne wird bei
einer Anfangsgeschwindigkeit V i begonnen, welche Null
sein kann (jedoch nicht muß), und eine kontinuierliche Be
schleunigungsfunktion erzeugt die Kurve 142, um die
Geschwindigkeit des Werkzeugmittelpunkts auf die
programmierte Geschwindigkeit V p in einer Beschleunigungs
zeit T A zu bringen. Nach einer Periode konstanter Ge
schwindigkeit iniziiert die Steuerung die Bremsphase,
um die Geschwindigkeit des Mittelpunkts auf eine End
geschwindigkeit V f zu bringen, so daß eine kontinu
ierliche Bremsfunktion folgt, die die Kurve 144 er
zeugt. Die Abbremsung von der programmierten Geschwin
digkeit zu der Endgeschwindigkeit, welche wiederum
gleich Null sein kann (jedoch nicht sein muß), wird
in einer Abbremsungszeit T d erreicht. Der graduelle
Übergang zu und aus der Phase der konstanten Ge
schwindigkeit entspricht dem tatsächlich aufgrund der
körperlichen Struktur des Manipulators zu erwartenden
Verhaltens, wenn die Trägheitsmomente und dgl. der
Betätigungseinrichtungen und der Glieder in Betracht
gezogen werden.
Fig. 4c stellt die Abweichung von den typischen
Geschwindigkeitscharakteristika dar, die durch die
Durchführung der adaptiven Geschwindigkeitsfunktion
gemäß der vorliegenden Erfindung bewirkt wird. An
fänglich folgt die Geschwindigkeit der charakteristi
schen Kurve 142, bis eine Minimalgeschwindigkeit V min
erreicht ist, unterhalb der adaptive Geschwindigkeits
variationen nicht erlaubt sind. Sobald die tatsächliche
Geschwindigkeit die minimale Geschwindigkeit V min er
reicht hat und unter der Annahme, daß der Parameter
wert des Steuerungsprozesses eine Verminderung der
Geschwindigkeit erforderlich macht, weicht die Ge
schwindigkeitssteuerung von der normalen Beschleunigungs
funktion ab und die Geschwindigkeit wird im Einklang
mit der adaptiven Geschwindigkeitsfunktion variiert.
Inkrementelle Werte der Geschwindigkeit werden im Ein
klang mit einer vordefinierten Funktion erzeugt, die
die Geschwindigkeit und den Arbeitsprozeßparameter in
Beziehung setzt, und werden vom Bahnsteueralgorithmus
verwendet, um intermediäre Punkte entlang der Bahn zu inter
polieren. Solang die berechneten adaptiven Inkremental
geschwindigkeiten geringer sind als die nicht adaptive
Geschwindigkeit V ia , die wirksam ist, wenn die adaptive
Geschwindigkeitsfunktion als erstes einen reduzierten
Wert erzeugt, wird aufgrund der berechneten Werte ge
steuert. Sobald der adaptive Wert gleich oder größer
als der anfängliche nicht adaptive Wert V ia ist, wird
der anfängliche Wert V ia ersetzt und die nicht adaptive
Betriebsweise geht weiter. Dieser Effekt ist durch den
Bereich der Kurve 146 zwischen T i und T r gezeigt.
Während dieser adaptiven Betriebsweise erreicht die Geschwin
digkeit, wie dargestellt, einen Minimalwert V min unter
halb welchem eine weitere Verminderung nicht erlaub ist.
Nach T r wird die Geschwindigkeit im Einklang mit der
nicht adaptiven Beschleunigungsfunktion auf die pro
grammierte Geschwindigkeit V p beschleunigt. Während
aufeinanderfolgender Perioden in Betriebsweise mit
adaptiver Geschwindigkeit ist festgelegt, daß eine
Abbremsung iniziiert werden muß, um den Werkzeug
mittelpunkt zu der erforderlichen Endgeschwindigkeit
zu bringen. Während der Abbremsungszeit T d ist eine
adaptive Betriebsweise nicht erlaubt und die Ge
schwindigkeit bremst ab, der nicht adaptiven Ab
bremsungsfunktion folgend, wie durch die Kurve 144
gemäß Fig. 4b dargestellt ist. Die Einzelheiten der
Steuerungsprozedur zum Bewirken der adaptiven Geschwin
digkeitssteuerung werden im folgenden im einzelnen be
schrieben.
Der Gesamtzyklus des Betriebes des Manipulators 10 im
automatischen Modus ist im Flußdiagramm der Fig. 5a
dargestellt. Beim Prozeßschritt 150 iniziiert die
Steuerung die erforderlichen Spannendaten, um die
Bewegungen zwischen den Programmpunkten P₀ und P₁ bei
der programmierten Geschwindigkeit V p zu interpolieren.
Werte der für die programmierten Spannlängen S p ,
der Koordinatenkomponentenration N cc und eine Nominalbe
schleunigung werden durch eine dem Schritt 150 zugeordne
te Prozedur erzeugt. Beim Prozeßschritt 152 werden ein
Inkrement entlang der Bahn Δ S und der akkumulierte
interpolierte Abstand S K berechnet. Der Prozeßschritt
156 ruft das Unterprogramm ab, um eine Transformation
des interpolierten intermediären Punktes in die gene
ralisierten Koordinaten zu bewirken, um einen Satz von
Maschinenkoordinatensignalen zu erzeugen, welche
Koordinatenwerte relativ zu den generalisierten Ko
ordinatensystemen repräsentieren. Beim Entscheidungs
schritt 154 wird das Kennzeichen, welches zeigt, daß
keine Abbremsung erfolgen darf, getestet. Wenn die
Bewegung des Werkzeugmittelpunktes 34 kontinuierlich
durch eine programmierte Position erfolgen soll, ist
ein Funktionsattribut, welches dieses anzeigt, pro
grammiert. Es kann vorkommen, daß bei der gegenwärtigen
Spanne keine Abbremsung erforderlich ist, und daß das
Kennzeichen "keine Abbremsung" gesetzt wird, wie dies
im folgenden beschrieben wird. In diesem Falle wird
der Prozeß auf der Ja-Seite des Entscheidungsschrittes
154 zum Entscheidungsschritt 155 fortfahren, wo be
stimmt wird, ob das laufende Inkrement das letzte
Inkrement der laufenden Spanne ist. Falls nicht, wird
ein weiteres Inkrement durch den Konnektor L 2 inter
poliert. Schließlich wird das End-Inkrement der lau
fenden Spanne interpoliert und der Gesamtbetriebs
zyklus fährt vom Entscheidungsschritt 155 zu dem Prozeß
schritt 168 über den Konnektor L 3 fort. Der Prozeß
schritt 168 bewirkt, daß die mit der Position P₁ pro
grammierte Funktion durchgeführt wird, wenn die Ma
schinenachsen das Ende der Spanne erreicht haben.
Hiernach bestimmt der Entscheidungsschritt 170, ob
die programmierte Position P₁ dem Programmende ent
spricht. Fall nicht, wird der Zyklus wiederholt, in
dem die nächsten programmierten Daten beim Prozeßschritt
150 über den Konnektor L 1 zugeführt werden. Wenn die
Position die letzte Position des Programms ist, dann
wird das gesamte Programm erneut durchgeführt, beginnend
bei einer vorgewählten programmierten Position, wie dies
durch das Terminal 172 angedeutet ist.
Unter der Annahme, daß ein Abbrems-Kennzeichen nicht ge
setzt worden ist, geht der Gesamtbetriebszyklus vom
Entscheidungsschritt 154 weiter zum Prozeßschritt 158.
Der Prozeßschritt 158 berechnet den in der laufenden
Spanne verbleibenden Abstand vor demjenigen, bei dem
eine zu stoppende Abbremsung beginnen muß. Wenn der
verbleibende Abstand S RD zu dem Beginn der Abbremsungs
phase größer ist als der laufende inkrementale Abstand
Δ S, so fährt der Zyklus fort durch den Prozeßschritt
162, welcher das Geschwindigkeitsvariationsunterprogramm
abruft, zum augenblicklichen Ändern des inkrementalen
Geschwindigkeitswertes im Einklang mit den nicht pro
grammierten Variationen eines Arbeitsprozeßparameters.
Bei Beendigung dieses Unterprogramms fährt die Prozedur
fort über die Schleife zum Prozeßschritt 152, wo das
Spanneninkrement interpoliert wird unter Verwendung
des zu allerletzt erzeugten Wertes der inkrementalen
Geschwindigkeit. Sobald der in der Spanne vor dem Start
punkt für die Abbremsung verbleibende Abstand geringer
ist als der laufende inkrementale Abstand, führt die
Ja-Seite des Entscheidungsschritts 160 zu dem Test für
die Angabe im gespeicherten Programm, daß der nächste
Punkt P₁ ein Fortsetzungspunkt ist. Nachdem jeder pro
grammierte Punkt ein Funktionssignal beigeordnet haben
kann, welches eine bestimmte Funktion bezeichnet, die
dem Arbeitsprozeß, der an diesem Punkt durchgeführt
werden soll, zugeordnet ist, sind Fortsetzungspunkte
durch die Anwesenheit eines Fortsetzungsattributs ge
kennzeichnet, welches mit einem spezifischen Funktions
signal zusammenhängt. Unter der Annahme, daß der Fort
setzungscode durch den Entscheidungsschritt 164 nicht
nachgewiesen worden ist, so wird die Abbremsprozedur
durch den Entscheidungsschritt 166 abgerufen. Die Ab
bremsprozedur bewirkt die interpolierte Abbremsung auf
den Stop-Punkt P₁. Hiernach verursacht der Prozeßschritt
168 die Durchführung einer in Verbindung mit dem Punkt
P₁ progra-mierten Funktion. Der Entscheidungsschritt
170 bestimmt dann, ob oder ob nicht der laufende Punkt
das Ende des Roboterprogramms repräsentiert, und, falls
nicht, geht die Prozedur weiter durch den Konnektor L 1
zum Prozeßschritt 150 zum Verarbeiten von Daten für die
nächste programmierte Position. Wenn die laufende Posi
tion das Ende des gespeicherten Programms ist, so wird
das Programm wiederholt, indem ein Programmeingang ge
wählt wird, der als recycle-Position bestimmt ist, wie
dies durch den Ausgang angedeutet ist.
Wenn beim Punkt des Beginns der Abbremsung durch den
Entscheidungsschritt 164 bestimmt worden ist, daß der
nächste Punkt ein Fortsetzungspunkt ist, dann fährt
der Prozeß beim Prozeßschritt 180 fort, wo ein neuer
Wert für die laufende Spannenlänge erzeugt wird. Nach
dem die interpolierten intermediären Positionen von
einander über inkrementelle Abstände beabstandet sind,
welche durch die inkrementelle Intervallperiode und die
effektive inkrementelle Geschwindigkeit bestimmt ist,
wird erwartet, daß, wenn die Bewegung durch eine pro
grammierte Position fortfahren soll, der in der Spanne
verbleibende Abstand von der Abbremsentscheidungs
position zu der programmierten Endposition nicht immer
gleich ist einem ganzzahligen Vielfachen des laufenden
inkrementellen Abstandes. Um dieser Diskrepanz Rechnung
zu tragen, wird die laufende Spanne effektiv bei dem
ganzzahligen Vielfachen des der programmierten Endposi
tion nächsten laufenden inkrementalen Abstandes beendet.
Um dies zu erreichen, wird der verbleibende Abstand
(S p -S k ) durch den inkrementellen Abstand Δ S geteilt,
um das ganzzahlige Vielfache I zu erzeugen sowie den
Rest R. Der Rest R wird dann von der laufenden Spannen
länge abgezogen, um die Fortsetzungsspannenlänge S cp zu
bilden. Dieser Abstand definiert dann neu die Endposi
tion der laufenden Spanne und die Startposition der
nächsten Spanne.
Beim Entscheidungsschritt 174 wird bestimmt, ob der
eingeschlossene Winkel zwischen der laufenden Spanne
und der nächsten Spanne weniger als 120° beträgt.
Diese Bestimmung wird durchgeführt, indem zwei Werte
S T und S T (120)² für das Quadrat des Totalabstandes
zwischen der Startposition P 0 der laufenden Spanne
und der Endposition P 2 der nächsten Spanne erzeugt
werden. Der erste Wert S T ² wird als die Summe der
Quadrate der Koordinatenkomponentendifferenzen zwischen
den beiden Positionen berechnet. Der zweite Wert S T (120)²
wird im Einklang mit der Gleichung für die Länge der
dritten Seite eines Dreiecks berechnet, wobei die Längen
und die anderen beiden Seiten und die Winkel zwischen
diesen gegeben sind:
W γ = A ²+B ² = 2AB cos γ
was sich zu
W = A ²+B ²+AB reduziert, wenn γ = 120° ist.
Nachdem es das Resultat des Prozeßschrittes 180 war,
eine neue Endposition für die laufende Spanne zu
produzieren, wurden die Längen der Spannen von den
programmierten Längen geändert. Die Länge der laufen
den Spanne ist S cp und die Länge der nächsten Spanne
S n ist durch die neue Startposition des Schrittes 180
und die programmierte Endposition P 2 dieser Spanne
definiert. Wenn der eingeschlossene Winkel weniger als
120° beträgt, so ist es notwendig, die Bewegung zum
Anhalten zu bringen, bevor fortgefahren wird und der
Prozeß wird dann wiederum dadurch weiterfahren, daß die
Abbremsprozedur beim Prozeßschritt 166 abgerufen wird.
Wenn der eingeschlossene Winkel 120° oder größer ist,
so fährt der Prozeß weiter beim Entscheidungsschritt
176, um festzustellen, ob oder ob nicht die programmier
te Geschwindigkeit der nächsten Spanne V PN größer
oder gleich als die laufende programmierte Geschwindig
keit V p ist. Wenn die programmierte Geschwindigkeit
der nächsten Spanne V PN geringer als die programmierte
Geschwindigkeit V P der laufenden Spanne ist, so ist es
notwendig, eine Abbremsung bei der laufenden Spanne
zu bewirken, so daß die Bewegung in der nächsten Spanne
bei der für diese Spanne programmierten Geschwindigkeit
begonnen wird. Nach der Abbremsungsprozedur, die vom
Prozeßschritt 178 abgerufen wurde, wird der Gesamtzyklus
beim Prozeßschritt 168 durch den Konnektor L 3 weiter
geführt. Wenn die programmierte Geschwindigkeit für die
nächste Spanne größer ist oder gleich der programmier
ten Geschwindigkeit der laufenden Spanne, so fährt der
Prozeß vom Entscheidungsschritt 176 durch den Prozeß
schritt 177 weiter, wo das Kennzeichen "keine Abbremsung"
gesetzt ist und hiernach fährt der Prozeß über den
Konnektor L 2 zu dem Prozeßschritt 152 weiter. Aus der
vorstehenden Beschreibung sollte nun deutlich geworden
sein, daß der Gesamtbetriebszyklus die wiederholte
Interpolation der intermediären Punkte umfaßt, die
Spannen zwischen den programmierten Punkten bilden,
indem auf iterativem Wege Steuerungsprozeßprozeduren
wiederholt werden und die den programmierten Positionen
zugeordnete Funktionen durchgeführt werden.
Unter Bezugnahme auf Fig. 5b ist das Programm zum
Bedienen der Servomechanismen der Betätigungseinrichtungen
gezeigt. Während der Gesamtbetriebszyklus durchgeführt
wird, wird ein unabhängiges Servounterbrechungs-Service-
Programm durchgeführt. Ein von der Zentraleinheit 46
erzeugter Servosystemzeittakt unterbricht periodisch
die Gesamtsystem-Datenverarbeitung, um frisch geschaffe
ne Koordinatendaten für die Betätigungseinrichtung den
Betätigungseinrichtung-Servomechanismen zuzuführen. Der
Entscheidungsschritt 192 stellt fest, ob oder ob nicht
der Pufferspeicher für die Betätigungseinrichtung-Be
fehlsdaten z.Zt. leer ist. Wenn der Puffer leer ist,
so wurde die laufende Spanne beendet, und das Ende des
Spannen-Kennzeichens wird durch den Prozeßschritt 194
gesetzt. Wenn sich jedoch Daten im Puffer befinden,
so überträgt der Prozeßschritt 196 die Daten vom
Puffer zu dem Servo. In beiden Fällen ist die Bedienung
der Servounterbrechung abgeschlossen und das Gesamt
system unter Kontrolle des Flußdiagramms gemäß Fig. 5a
wird weitergeführt durch Rückkehr über den Ausgang
198.
Die Flußdiagramme der Fig. 6a bis 6e entsprechen den
Hauptabschnitten oder Unterprogrammen des Flußdiagramms
gemäß Fig. 5a. Insbesondere entspricht das Flußdiagramm
gemäß Fig. 6a dem Prozeßschritt 150 gemäß Fig. 5a. Beim
Prozeßschritt 200 werden programmierte Spannendaten,
welche Eingangssignalen entsprechen, aus dem Daten
speicher 74 des Speichers 42 abgerufen. Der Startpunkt
P 0, der Endpunkt P 1 und die Programmgeschwindigkeit V p
definieren die vom Werkzeugmittelpunkt 34 als nächstes
durchzuführende Bewegung. Die vom Speicher abgerufenen
Daten der Programmkoordinaten sind als mit Indices
versehen dargestellt, welche der Programmpunktbestimmung
entsprechen. Beim Prozeßschritt 202 wird die Gesamt
spannenlänge S p errechnet, unter Verwendung rechtwink
liger Koordinaten der zwei programmierten Punkte und
unter Wurzelbildung aus der Summe der Quadrate der
Koordinatenkomponenten. Beim Prozeßschritt 204 werden
die einzelnen Achskomponentenverhältnisse N cc des
programmierten Koordinatensystems berechnet, indem die
Koordinatenkomponenten durch die Spannenlänge dividiert
wird. Diese Verhältnisse sind mit N₁₁ bis N₁₆ bezeichnet.
Die Achskomponentenverhältnisse für die Orientierungs
winkel werden in gleicher Weise berechnet, wie die
Komponentenverhältnisse für die rechtwinkligen Koordi
natenachsen. Beim Prozeßschritt 206 wird eine nominale
Spannenbeschleunigungsgeschwindigkeit A p berechnet,
indem die programmierte Geschwindigkeit V p durch ein
willkürlich gewähltes Intervall von einer Viertelsekunde
geteilt wird. Sobald diese vorläufige Berechnung der
Spannenvariablen beendet ist, geht der Gesamtbetriebs
zyklus weiter über den Ausgang 208 zu dem Prozeßblock
152 gemäß Fig. 5a.
In Fig. 6b ist der Prozeßschritt der Interpolation eines
Spanneninkrements entsprechend dem Block 152 gemäß Fig.
5a in einem detaillierteren Flußdiagramm dargestellt.
Beim Entscheidungsschritt 210 wird festgestellt, ob oder
ob nicht ein Kennzeichen für adaptive oder nicht pro
grammierte Geschwindigkeit durch die durch den Prozeß
schritt 162 der Fig. 5a abgerufene Subroutine gesetzt
worden ist. Wenn für die laufende Spanne keine adaptive
Geschwindigkeitsfunktion programmiert ist, oder wenn
die adaptive Geschwindigkeitsfunktion nicht zu einer
Änderung des inkrementalen Geschwindigkeitswerts ge
führt hat, so wird das Kennzeichen "adaptive Geschwindig
keit" nicht gesetzt werden, und der Prozeß wird beim
Entscheidungsschritt 212 fortfahren. Der Entscheidungs
schritt 212 testet den laufenden Wert des Inkremental
geschwindigkeitssignals V K , d.h. die inkrementale Ge
schwindigkeit für die laufende Iteration gegen den Wert
der programmierten Geschwindigkeit V p , um festzustellen,
ob oder ob nicht die laufende Inkrementalgeschwindigkeit
V K geringer ist als die programmierte Geschwindigkeit.
Falls ja, fährt der Prozeß beim Prozeßschritt 216 fort,
welcher das Beschleunigungs-Unterprogramm abruft.
Die Wirkung des Beschleunigungs-Unterprogramms ist es,
einen neuen Wert für das Inkrementalgeschwindigkeits
signal V K im Einklang mit einer unter Bezugnahme auf
Fig. 4b dargestellten und beschriebenen kontinuier
lichen Beschleunigungsfunktion zu erzeugen. Beim Be
ginn einer Bewegung, bei der der Werkzeugmittelpunkt
vom Ruhezustand aus startet, soll der Anfangswert
der inkrementellen Geschwindigkeit also Null sein,
die programmierte Geschwindigkeit wird natürlich
ein Wert ungleich Null sein und das Abrufen des Be
schleunigungsunterprogramms beim Prozeßschritt 216
startet die Änderung der inkrementalen Geschwindig
keitswerte im Einklang mit der kontinuierlichen Be
schleunigungsfunktion. Bei Beendigung des Beschleuni
gungsunterprogramms fährt der Prozeß beim Prozeßschritt
218 weiter, wo ein inkrementeller Abstand Δ S im Einklang
mit der rechts neben dem Prozeßschritt gemäß Fig. 6b
dargestellten Formel berechnet wird. Diese Formel er
zeugt einen Wert für das inkrementelle Abstandssignal
Δ S durch Mittelung des neuen inkrementellen Geschwindig
keitswert V K mit dem vorhergehenden inkrementellen Ge
schwindigkeitswert und unter der Annahme, daß der Durch
schnitt während der inkrementellen Intervallperiode
wirksam ist, welche durch das inkrementelle Intervall
signal Δ t repräsentiert ist. Wenn das Kennzeichen für
die adaptive Geschwindigkeitsfunktion gesetzt ist, wird
der inkrementelle Abstand berechnet, indem der Ge
schwindigkeitswert verwendet wird, welcher durch das
adaptive Geschwindigkeitsunterprogramm erzeugt worden
ist. Wenn die inkrementelle Geschwindigkeit nicht ge
ringer ist als die programmierte Geschwindigkeit V p ,
so ist es nicht notwendig, einen neuen Wert für das
inkrementelle Abstandssignal zu berechnen und es ist
nur notwendig, den Iterationszähler zu inkrementieren,
wie dies durch den Prozeßschritt 214 angedeutet ist.
In beiden Fällen gelangt der Prozeß letztlich zum
Prozeßschritt 220, wo ein Wert für das angehäufte bzw.
aufsummierte inkrementelle Abstandssignal S K im Einklang
mit der rechts vom Prozeßschritt 220 dargestellten
Gleichung berechnet wird. Mit dem Gesamtbetriebszyklus
wird dann weitergefahren über Ausgang 221. Der Gesamt
betriebszyklus fährt fort, indem das im Flußdiagramm
gemäß Fig. 6c dargestellte Unterprogramm abgerufen wird.
In Fig. 6 werden beim Prozeßschritt 222 die Bahnkoordi
naten der akkumulierten inkrementellen Abstände be
rechnet, um die Endpunkt-Koordinatensignale zu erzeugen.
Dies erfolgt durch Summierung der Achsenkomponenten des
interpolierten inkrementellen Abstandes mit den Koordi
naten des vorherigen inkrementellen Endpunktes. Hiernach
werden die Koordinaten unter Bezugnahme auf das pro
grammierte Koordinatensystem des Endpunktes transfor
miert in Koordinaten des generalisierten oder Maschinen
koordinatensystems, und zwar über den Prozeßschritt 224,
um einen Satz von Maschinenkoordinatensignalen zu erzeugen,
welche die Werte der Endpunktkoordinaten relativ zu den
Maschinenkoordinatensystem darstellen. Um inverse tri
gonometrische Funktionen zu vermeiden, wird ein itera
tiver Approximations-Algorithmus verwendet, welcher eine
Fehlerfunktion erzeugt, die auf den laufenden Maschinen
koordinatenwerten beruht. Beim Prozeßschritt 226
wird die Änderung der generalisierten Koordinaten be
rechnet; beim Prozeßschritt 228 werden die inkremen
tellen Unterschiede der generalisierten Koordinaten
im Puffer für den Zugang durch das Servounterbrechungs-
Service-Programm gespeichert. Wenn das Transformations-
Unterprogramm abgeschlossen ist, kehrt der Gesamtbe
triebszyklus zurück über den Ausgang 230. Dies bringt
dann den Prozeß zum Entscheidungsschritt 154 gemäß
Fig. 5a. Unter der Annahme, daß der Gesamtzyklus zum
Prozeßschritt 158 weitergeht, wo der verbleibende Ab
stand zu dem Beginn der Abbrems-Unterspanne berechnet
wird, führt der Gesamtzyklus das detaillierte Fluß
programm gemäß Fig. 6d durch.
In Fig. 6d berechnet der Prozeßschritt 232 die zum
Abbremsen erforderliche Zeit unter der Annahme, daß
der nominale Wert der Beschleunigung A p , der während
der Vorbereitung der Spannenvariablen berechnet worden
ist, während der Periode der Abbremsung wirksam ist,
und daß die Endgeschwindigkeit Null ist. Es ist daher
die zum Abbremsen annäherungsweise erforderliche Zeit
gleich dem Quotienten aus der laufenden inkrementellen
Geschwindigkeit und dieser nominalen Konstanten der
Beschleunigung. Beim Prozeßschritt 234 wird der zum
Abbremsen erforderliche Abstand S D berechnet unter
der Annahme, daß der Durchschnitt der laufenden inkre
mentellen Geschwindigkeit und Null effektiv ist während
des im Prozeßschritt 232 berechneten Intervalls. Und
schließlich wird beim Prozeßschritt 236 der innerhalb
der Spannenlänge von der laufenden interpolierten Posi
tion zu dem Punkt, bei dem der gerade berechnete Ab
bremsungsabstand S D beginnen muß, verbleibende Abstand
S RD berechnet. Es ist daher der verbleibende Abstand S RD
gleich der Gesamtspannenlänge S p minus demjenigen Teil
der Spanne, der durch den akkumulierten interpolierten
Abstand S K und dem Spannenbereich S D , der zum Abbremsen
erforderlich ist, repräsentiert ist. Anschließend an
diese Berechnung fährt der Gesamtbetriebszyklus weiter
beim Entscheidungsschritt 160 der Fig. 5 a, wo festge
stellt wird, ob oder ob nicht dieser verbleibende Ab
stand S RD geringer ist als der laufende effektive in
krementelle Abstand Δ S. Wenn der verbleibende Abstand
S RD nicht kleiner ist als der laufende effektive inkre
mentelle Abstand Δ S, dann kann ein weiteres Inkrement
dieses Abstandes interpoliert werden. Wenn jedoch der
laufende effektive inkrementelle Abstand größer ist als
der berechnete verbleibende Abstand, so ist es not
wendig, unmittelbar mit der Abbremsung zu beginnen.
Das Abbremsungs-Unterprogramm erzeugt auf iterativem
Wege abnehmende Werte der inkrementellen Geschwindigkeits
variablen V K im Einklang mit einer kontinuierlichen
Funktion der Beschleunigung. Am Beginn des Abbrems-
Unterprogramms wird die Inkrementalgeschwindigkeit
neu berechnet, um die Abrundfehler der Ganzzahlen-
Arithmetik auszugleichen, die der von der Anmelderin
verwendete Computer durchführt. Hiernach interpoliert
das Abbrems-Unterprogramm intermediäre Punkte entlang
einer kontinuierlichen Abbremsfunktion, um die Ge
schwindigkeit des Werkzeugmittelpunkts auf eine End
geschwindigkeit zu bringen. Der Interpolationspro
zeß entspricht demjenigen, der unter Bezugnahme auf
Fig. 6b beschrieben worden ist, wobei kein Abrufen
des Beschleunigungs-Unterprogramms erfolgt. Weiter
bewirkt das Abbrems-Unterprogramm eine Transformation
in die generalisierten Maschinenkoordinaten, indem das
Transformations-Unterprogramm gemäß Fig. 6 abgerufen
wird, nachdem der akkumulierte interpolierte Abstand
berechnet worden ist.
Während die meisten programmierten Spannen Beschleuni
gungs-Unterspannen oder -phasen, Unterspannen oder
Phasen konstanter Geschwindigkeit und Unterspannen
oder Phasen der Abbremsung umfassen werden, sollte
angemerkt werden, daß die Durchführung des Abbrems-
Unterprogramms iniziiert werden könnte, bevor die
Geschwindigkeit des Werkzeugmittelpunkts die pro
grammierte Geschwindigkeit erreicht. Dies tritt auf,
wenn die programmierte Spannenlänge nicht ausreichend
ist, um eine Beschleunigung auf die programmierte Ge
schwindigkeit zu erlauben, bevor der Entscheidungs
schritt 160 gemäß Fig. 5a die Notwendigkeit feststellt,
die Abbremsung zu beginnen. Nachdem die Wirkung des
Abbrems-Unterprogramms darin besteht, die Interpolation
entlang der Bahn fortzusetzen, um den Werkzeugmittel
punkt zu einer Endgeschwindigkeit für die programmier
te Spanne zu bringen, sollte nun deutlich geworden
sein, daß die Adaptivgeschwindigkeitsprozedur nicht
während der Abbremsphase durchgeführt wird.
Während der grundlegende Bahnsteueralgorithmus für
kontinuierliche Geschwindigkeitsvariationen während
der Beschleunigungs- und Abbremsphasen der Bewegung
sorgt, kann eine zusätzliche Geschwindigkeitsvariation
leicht ermöglicht werden, wie weiter oben unter Bezug
nahme auf den Prozeßschritt 162 gemäß Fig. 5a ange
deutet wurde. Während die bevorzugte Ausführungsform
automatisch im Einklang mit den unprogrammierten Varia
tionen eines Arbeitsprozeßparameters erzeugte Ge
schwindigkeitsvariationen betrifft, können auch manuell
erzeugte Parametervariationen vorgenommen werden, um
eine vom Operator gesteuerte Geschwindigkeitsüber
steuerung zu ermöglichen. Mittels eines Meßwert
wandlers 124 kann ein Wert eines Eingangssignals
eines Arbeitsprozeßparameters wie beispielsweise das
Drehmoment eines Werkzeugantriebsmotors 120 konti
nuierlich überwacht werden. Dieser Drehmomentswert
kann dann in einen digitalen Wert bei dem Benutzer-
Eingangs/Ausgangs-Interface 56 (analog zu Digital
konverter) konvertiert werden; und, vorausgesetzt,
daß eine geeignete Fehlerfunktion geschaffen ist,
können Geschwindigkeitsvariationen in Abhängigkeit
von dem gemessenen Drehmoment erzeugt werden. Diese
Geschwindigkeitsvariationen können dann in den Gesamt-
Betriebszyklus durch ein Unterprogramm ergänzend ein
gefügt werden, welches durch den Prozeßschritt 162
gemäß Fig. 5a abgerufen wird.
Bei dem von der Anmelderin gewählten analog zu Digital
konverter 56 wird das Prozeßparameter-Eingangssignal
in eine fünf-Bit-Binärzahl konvertiert, welche den
Wert eines Prozeßparametersignals definiert. Dem Fach
mann ist klar, daß der Bereich der gemessenen Variablen
und die Präzision, die notwendig ist, um ausreichende
Steuerung über den Prozeß zu bewirken, die Auflösung
der Konversion von dem Analogwert in den Digitalwert
vorgibt. Bei bestimmten Anwendungen können daher eine
größere oder eine kleinere Anzahl an binären Stellen
für das Prozeßparametersignal angemessen sein.
In Fig. 7 ist das Unterprogramm zum Durchführen der
adaptiven Geschwindigkeitssteuerung gezeigt. Die Er
findung der Anmelderin ermöglicht die Spezifikation
programmierter Spannen als Spannen adaptiver Ge
schwindigkeit durch Aufnahme von adaptiver Geschwindig
keitsfunktionssignale in die Sätze der Eingangssignale,
welche eine bestimmte programmierte Spanne beschreiben.
Es wird daher beim Entscheidungsschritt 240 festge
stellt, ob mit der laufenden programmierten Spanne die
adaptive Geschwindigkeitsfunktion programmiert ist. Falls
nicht, wird eine Rückkehr durch den Ausgang 244 ge
macht, welche eine Fortsetzung des Gesamtbetriebszyklus
beim Prozeßschritt 152 der Fig. 5a ermöglicht. Wenn die
adaptive Geschwindigkeitsfunktion für die laufende
Spanne programmiert worden ist, dann stellt der Ent
scheidungsschritt 242 fest, ob die laufende Inkremental
geschwindigkeit V k kleiner ist als die Minimalgeschwin
digkeit V min , unterhalb der eine weitere Abnahme nicht
erlaubt ist. Wenn die laufende Inkrementalgeschwindig
keit V k geringer ist als die Minimalgeschwindigkeit
V min , so wird eine Rückkehr durch den Ausgang 244
durchgeführt. Wenn jedoch die laufende Inkrementlage
schwindigkeit V k nicht kleiner ist als die Minimalge
schwindigkeit V min , dann fährt die adaptive Geschwin
digkeitsprozedur weiter beim Entscheidungsschritt 246,
um den derzeitigen Zustand des Statuskonditionssignals
der adaptiven Steuerungsfunktion festzustellen.
Wenn das adaptive Steuerungsunterprogramm einen Inkre
mentalgeschwindigkeitswert erzeugt, welcher dahin
gehend wirksam ist, die Interpolation für das laufende
Inkrement zu steuern, dann wird das Kennzeichen oder
Zustandssignal für die adaptive Geschwindigkeit ge
setzt, um anzuzeigen, daß die adaptive Geschwindig
keitsprozedur die Geschwindigkeit steuert. Wenn daher
beim Entscheidungsschritt 246 das Kennzeichen "adaptive
Geschwindigkeit" gesetzt worden ist, so fährt die Pro
zedur weiter beim Prozeßschritt 252. Wenn jedoch das
Kennzeichen "adaptive Geschwindigkeit" nicht gesetzt
worden ist, so fährt die Prozedur weiter beim Prozeß
schritt 248, wo das Kennzeichen "adaptive Geschwindig
keit" gesetzt wird. Beim Prozeßschritt 250 wird der
laufende Wert des inkrementellen Geschwindigkeits
signals an einem mit dem Namen "OLD" versehenen Ort
gespeichert. Dieser gespeicherte inkrementelle Ge
schwindigkeitswert entspricht dem Geschwindigkeits
wert V ia gemäß Fig. 4c. Anschließend an den Prozeß
schritt 250 fährt die adaptive Geschwindigkeitsproze
dur weiter beim Prozeßschritt 252, wo der laufende
Wert des Prozeßparametersignals aus dem Konverter
56 eingegeben wird. Beim Prozeßschritt 253 wird ein
adaptiver Minimalgeschwindigkeitswert berechnet, indem
der bei "OLD" gespeicherte Geschwindigkeitswert mit
dem Verhältnis des Wertes des Prozeßparametersignals
zu dem Wert eines Prozeßparameter-Referenzsignals multi
pliziert wird, welches mit den die Manipulatorbewegung
beschreibenden Eingangssignalen programmiert ist. Beim
Entscheidungsschritt 254 wird festgestellt, ob oder
ob nicht der Prozeßparameterwert gleich ist dem Prozeß
parameter-Referenzwert.
Um zu ermöglichen, daß ein möglichst breites Spektrum
an Anwendungen an eine relativ einfache Adaptivge
schwindigkeitsprozedur angepaßt werden kann, hat die
Anmelderin die Spezifikation eines Wertes eines Prozeß
parameter-Referenzsignals gewählt, gegen welches der
aktuelle oder gemessene Wert eines Prozeßparameters
verglichen werden soll. Daher können beim speziellen
Beispiel der Rauhgußreinigung, bei dem viele unter
schiedliche Metallentfernungswerkzeuge vom Werkzeug
motor 120 getragen werden können, unterschiedliche
Drehmomentswerte als Referenzwerte ausgewählt werden,
überhalb denen Geschwindigkeitsverminderung erforderlich
ist. Dem Fachmann ist klar, daß es zum Bewirken der
Steuerung der Geschwindigkeit des Werkzeugmittelpunkts
im Einklang mit einem gemessenen Prozeßparameter nicht
notwendig ist, einen Referenzwert zu spezifizieren,
und in der Tat kann eine geeignete Steuerung erreicht
werden, wo die Geschwindigkeit variiert wird, durch
direkte Proportionalität zu einem gemessenen Prozeß
parameter. In einem solchen Fall wird in der Regel ein
Prozeßparameter-Referenzwert von Null angenommen.
Wenn von dem Entscheidungsschritt 254 festgestellt wor
den ist, daß der laufende gemessene Wert des Prozeß
parametersignals gleich ist dem Wert des Prozeßparameter-
Referenzsignals, so ist keine Geschwindigkeitsabnahme
erforderlich und die adaptive Prozeßprozedur fährt fort
beim Prozeßschritt 261, wo die adaptive Prozeßge
schwindigkeit V AK gleich der vorhergehenden inkrementalen
Geschwindigkeit V K -1 gesetzt wird. Wenn andererseits
beim Entscheidungsschritt 254 festgestellt worden ist,
daß der aktuelle Wert des Prozeßparametersignals nicht
gleich ist dem Referenzwert, so fährt der Prozeß weiter
beim Prozeßschritt 256, wo ein neuer Wert des Prozeß
parameter-Geschwindigkeitssignals V AK im Einklang mit
der neben dem Prozeßschritt 256 dargestellten Beziehung
berechnet wird. Diese Formel berechnet den laufenden
Wert für das Prozeßparameter-Geschwindigkeitssignal,
indem der vorhergehende Prozeßparameter-Geschwindig
keitssignalwert multipliziert wird mit dem Wert eines
Parameterfaktorsignals, welcher einen Prozentsatz dar
stellt, der auf der Differenz zwischen dem gemessenen
Prozeßparameter und dem Referenzwert des Parameters
basiert. Beim Entscheidungsschritt 258 wird festge
stellt, ob dieser berechnete Wert des Prozeßparameter-
Geschwindigkeitssignals kleiner ist als der adaptive
Minimalgeschwindigkeitswert V KM und falls er dies nicht
ist, so fährt die Prozedur fort am Entscheidungsschritt
262. Falls der berechnete Wert von V AK geringer ist als
die adaptive Minimalgeschwindigkeit V AM wird ein wei
terer Test beim Entscheidungsschritt 259 gemacht, um
festzustellen, ob der laufende Wert des Inkrementalge
schwindigkeitssignals V K geringer ist als der Wert des
Prozeßparameter-Geschwindigkeitssignals V AK . Wenn V K
kleiner ist als V AK dann resultiert aus dem Prozeß
parameterfaktor ein Ansteigen der Geschwindigkeit und
der Prozeß fährt fort beim Entscheidungsschritt 262.
Es sei angemerkt, daß die Prozedur letztlich zum Ent
scheidungsschritt 262 gelangt, hat nun der Prozeß vom
Entscheidungsschritt 254 eine Berechnung des adaptiven
Geschwindigkeitswertes erforderlich gemacht oder den
erzwungenen Wert des Prozeßschrittes 261. Beim Ent
scheidungsschritt 262 wird festgestellt, ob der effek
tive adaptive Geschwindigkeitswert kleiner als der
bei OLD gespeicherte Wert ist. Falls nicht, wird beim
Prozeßschritt 266 der laufende Wert des inkrementalen
Geschwindigkeitssignals gleichgesetzt dem bei OLD ge
speicherten Wert und beim Prozeßschritt 268 wird das
Kennzeichen "adaptive Geschwindigkeit" wieder gesetzt.
Hiernach gelangt der Gesamtbetriebszyklus wieder zurück
durch den Ausgang 270. Es ist ersichtlich, daß die
Wirkung des Entscheidungsschrittes 262 darin liegt, die
Wiederaufnahme der nicht adaptiven Geschwindigkeits
steuerung zu erzeugen, wie dies durch die Kurve 146
der Fig. 4c anschließend an den Punkt T r dargestellt
ist. Falls beim Entscheidungsschritt 258 festgestellt
worden ist, daß der berechnete Wert des Prozeßparameter-
Geschwindigkeitssignals kleiner ist als der Minimalwert
V am , so fährt der Prozeß durch den Entscheidungsschritt
259 fort. Falls hier festgestellt worden ist, daß der
laufende Wert von V K kleiner ist als V AK so wird eine
weitere Verminderung der Geschwindigkeit erforderlich
und der Wert des Inkrements wird auf den Wert der
adaptiven Minimalgeschwindigkeit V AM gesetzt. Anschlie
ßend an den Prozeßschritt 260 geht der Gesamtbetriebs
zyklus durch Rückkehr über den Ausgang 270 weiter.
Unter nochmaliger Bezugnahme auf Fig. 6b ist erkenntlich,
daß der Test beim Entscheidungsschritt 210 bezüglich des
Zustands des Kennzeichens "adaptive Geschwindigkeit" ein
Mittel darstellt, welches es dem durch die adaptive Ge
schwindigkeitsprozedur bestimmten Geschwindigkeitswert
erlaubt, zu steuern, wenn der Prozeßparameter-Geschwin
digkeitswert geringer ist als der bei OLD gespeicherte
Inkrementalgeschwindigkeitswert. D.h., die den Ent
scheidungsschritt 212 und den Prozeßschritt 216 über
springende Schleife bewirkt, daß der von der adaptiven
Geschwindigkeitsprozedur erzeugte Prozeßparameterge
schwindigkeitswert in der Berechnung des Entfernungs
inkrements beim Prozeßschritt 218 verwendet wird. Wenn
die adaptive Geschwindigkeitsfunktion aktiv ist, die
Messung des Prozeßparameters jedoch einen Wert produziert,
der eine Verminderung des laufenden Inkrementalgeschwin
digkeitswertes jedoch nicht erforderlich macht, so wird
der Zustand des Kennzeichens "adaptive Geschwindigkeit"
bewirken, daß die Interplationsprozedur anschließend
an den Entscheidungsschritt 212 und den Prozeßschritt
216 oder 214 das nächste Inkrementgeschwindigkeitssignal
erzeugt. Die adaptive Geschwindigkeitssteuerung ist auf
diese Weise selektiv ausgelegt, darauf basierend, ob
oder ob nicht der laufenden Spanne die adaptive Ge
schwindigkeitsfunktion zugeordnet ist und ob oder ob
nicht der laufende gemessene Wert des Prozeßparameter
signals eine Verminderung der effektiven Inkremental
geschwindigkeit erfordert, um das gewünschte Resultat
zu erzielen. Insbesondere, wenn die Betriebsweise des
Rauhgußreinigens betrachtet wird, können geeignete
Werte des Prozeßparameterreferenzsignals so gewählt
werden, daß das durch den Meßwertwandler 124 ge
messene Drehmoment aktuelle Werte liefert, die sowohl
oberhalb als auch unterhalb des Parameterreferenz
wertes liegen. Wenn das gemessene Drehmoment unterhalb
des Parameterreferenzwertes liegt, so wäre das Ergebnis
des Entscheidungsschrittes 254 der Fig. 7 das, daß ein
berechneter Prozeßparametergeschwindigkeitswert erzeugt
wird. Beim Entscheidungsschritt 262 würde sich jedoch
herausstellen, daß der berechnete Wert den gespeicher
ten Inkrementalgeschwindigkeitswert überschreitet, und
es würde hieraus keine Verminderung der Geschwindigkeit
erfolgen. Andererseits würde, sobald das gemessene
Drehmoment den Parameterreferenzwert übersteigt, der
berechnete Adaptivgeschwindigkeitswert geringer sein
als der bei OLD gespeicherte Wert und es würde der redu
zierte Geschwindigkeitswert steuern.
10
Manipulator
12
Basis
14
Druckbetätigungseinrichtung
16
Kupplung
18
Platte
20
Betätigungseinrichtung
22
Oberarm
23
Gelenk
24
Betätigungseinrichtung
25
Ellbogengelenk
26
Unterarm
27
Handgelenk
28
Betätigungseinrichtung
30
Betätigungseinrichtung
31
Funktionselement
32
Betätigungseinrichtung
33
Vorderplatte
34
Werkzeugmittelpunkt
35
Steuerung
36
Kontrollpulteinheit
38
Steuerung
39
Servoantriebseinheit
40
Computer
42
Speicher
44
Interface
46
Zentraleinheit
48
Hauptweg
50
Hauptweg
52
Lehreinheit
54
Steuerungs-Eingangs/Ausgangs-Interface
56
Benutzer-Eingangs/Ausgangs-Interface
58
On-line-Interface
60
Off-line-Datenspeicher-Interface
62
Kathodenstrahlröhre
64
Tastenfeld
66
Achsantriebs-Interface
68
Achsen-Kompensations- und Servoverstärker
70
Betätigungseinrichtung
71
Roboterelement
72
Rückkopplungsgerät
74
Datenspeicher
76
Eingangs-Ausgangs-Gruppe
78
Daten-I/O-Programm
80
Lehr-I/O-Programm
82
CRT und Tastenfeld I/O-Programm
84
Steuerungs-I/O-Programm
85
Achsantriebs-I/O-Programm
86
Programm zur Übertragung externer Daten
88
Benutzer-I/O-Programm
90
Modussteuerprogramm
92
Lehrbetrieb
94
Gruppe für Automatikbetrieb
96
Daten-Editor-Programm
98
Lehrbetrieb-Funktionsprogramm
102
Datenabrufprogramm
104
Bahnberechnungsprogramm
106
Transformationsprogramm
108
Achsantriebsprogramm
110
Funktionssteuerprogramm
111
peripheres Serviceprogramm
112
Geschwindigkeitsmodifikationsprogramm
120
Werkzeugmotor
122
Schleifwerkzeug
124
Meßwertwandler
130
Liniensegment
132
Liniensegment
134
Liniensegment
136
Liniensegment
140
Liniensegment
142
Kurve
144
Kurve
146
Kurve
Claims (3)
1. Einrichtung zur Steuerung der Bewegung eines
Arbeitselementes eines Manipulators mit folgenden
Merkmalen:
- - Der Manipulator besitzt mehrere bewegliche Arme,
- - mindestens zwei Arme sind durch eine Drehachse miteinander verbunden,
- - die Arme und Drehachse(n) definieren ein maschinen orientiertes Koordinatensystem,
- - der Einrichtung werden Eingangssignale zugeführt,
- - die Punkte längs eines programmierten Weges be zeichnen, den ein Mittelpunkt des Arbeitselementes durchlaufen soll,
- - die Punkte sind in einem maschinenunabhängigen Koordinatensystem definiert,
- - die Einrichtung erzeugt iterativ Koordinatensignale von Zwischenpunkten, die auf dem programmierten Weg liegen und zwar in dem maschinenunabhängigen Koordi natensystem,
- - diese Koordinatensignale werden zu Koordinaten signalen in dem maschinenorientierten Koordinaten system transformiert,
- - in Abhängigkeit der Koordinatensignale im maschinen orientierten Koordinatensystem wird der Mittelpunkt des Manipulators längs aufeinanderfolgender Weg inkremente entlang dem programmierten Weg bewegt,
gekennzeichnet durch folgende
Merkmale:
- a) Ein Wandler mißt einen Arbeitsprozeß-Parameter, welcher sich bei Bewegung des Mittelpunktes des Arbeitselementes längs der vorgegebenen Bahn in unvorhergesehener Weise ändern kann, wobei dieser Arbeitsprozeß-Parameter für jedes Weginkrement zwischen zwei Zwischenpunkten gemessen wird und wobei der Meßwert als Arbeitsprozeß-Parameter signal ausgegeben wird;
- b) aus diesem Arbeitsprozeß-Parametersignal wird ein Geschwindigkeitssignal gebildet, das die Geschwindigkeit des Mittelpunktes des Arbeits elementes für jedes Weginkrement zwischen zwei Zwischenpunkten bezeichnet; und
- c) dieses Geschwindigkeitssignal steuert die Be wegungsgeschwindigkeit des Mittelpunktes des Arbeitselementes zwischen zwei Zwischenpunkten.
2. Einrichtung nach Anspruch 1, dadurch gekenn
zeichnet, daß der Arbeitsprozeß-Parameter das beim
Kontakt eines Schneidwerkzeuges mit dem Werkstück
auftretende Drehmoment ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/377,925 US4453221A (en) | 1982-05-13 | 1982-05-13 | Manipulator with adaptive velocity controlled path motion |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3317263A1 DE3317263A1 (de) | 1984-02-09 |
DE3317263C2 true DE3317263C2 (de) | 1988-12-15 |
Family
ID=23491045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833317263 Granted DE3317263A1 (de) | 1982-05-13 | 1983-05-11 | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung |
Country Status (6)
Country | Link |
---|---|
US (1) | US4453221A (de) |
JP (1) | JPS59708A (de) |
CA (1) | CA1203311A (de) |
DE (1) | DE3317263A1 (de) |
FR (1) | FR2526703B1 (de) |
GB (1) | GB2119965B (de) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5890113A (ja) * | 1981-11-25 | 1983-05-28 | Yamazaki Mazak Corp | マシニングセンタにおける座標系設定制御方法 |
JPS58177287A (ja) * | 1982-04-05 | 1983-10-17 | 株式会社日立製作所 | ロボットの制御方法 |
JPS58208807A (ja) * | 1982-05-31 | 1983-12-05 | Nissan Motor Co Ltd | ロボツトのテイ−チング装置 |
US4506335A (en) * | 1982-06-10 | 1985-03-19 | Cincinnati Milacron Inc. | Manipulator with controlled path motion |
US4538233A (en) * | 1982-10-19 | 1985-08-27 | Cincinnati Milacron Inc. | Apparatus and method for oscillatory motion control |
DE3375107D1 (en) * | 1982-10-29 | 1988-02-11 | Toshiba Kk | Control system of multi-joint arm robot apparatus |
US5307447A (en) * | 1982-10-29 | 1994-04-26 | Kabushiki Kaisha Toshiba | Control system of multi-joint arm robot apparatus |
JPS59107884A (ja) * | 1982-12-10 | 1984-06-22 | 株式会社日立製作所 | ロボツトの制御方式 |
US4494060A (en) * | 1983-03-02 | 1985-01-15 | Anorad Corporation | Axis controller for robotic actuator |
US4484120A (en) * | 1983-04-13 | 1984-11-20 | Nordson Corporation | Auxiliary function command presequencing for a robot controller |
JPS59218513A (ja) * | 1983-05-26 | 1984-12-08 | Fanuc Ltd | 工業用ロボツトの円弧制御法 |
JPS59231607A (ja) * | 1983-06-14 | 1984-12-26 | Mitsubishi Electric Corp | ロボツトの制御装置 |
US4621332A (en) * | 1983-06-20 | 1986-11-04 | Hitachi, Ltd. | Method and apparatus for controlling a robot utilizing force, position, velocity, spring constant, mass coefficient, and viscosity coefficient |
US4578763A (en) * | 1983-08-15 | 1986-03-25 | International Cybernetics Corp. | Sampled data servo control system with deadband compensation |
US4689756A (en) * | 1984-06-29 | 1987-08-25 | Shin Meiwa Industry Co., Ltd. | Robot interpolation control method |
US4598380A (en) * | 1984-08-13 | 1986-07-01 | Cincinnati Milacron Inc. | Method and apparatus for controlling manipulator and workpiece positioner |
US4635206A (en) * | 1984-10-15 | 1987-01-06 | Cincinnati Milacron Inc. | Method and apparatus for oscillating a tool carried by a manipulator |
US4680519A (en) * | 1985-09-23 | 1987-07-14 | General Electric Co. | Recursive methods for world-to-joint transformation for a robot manipulator |
US4696707A (en) * | 1987-08-18 | 1987-09-29 | The Ingersoll Milling Machine Company | Composite tape placement apparatus with natural path generation means |
US4685067A (en) * | 1986-02-20 | 1987-08-04 | Cincinnati Milacron Inc. | Control system for program controlled manipulator having multiple triggered functions between programmed points |
US4750965A (en) * | 1986-03-28 | 1988-06-14 | The Ingersoll Milling Machine Company | Adaptive control for tape laying head having natural path generation |
US4714400A (en) * | 1986-04-14 | 1987-12-22 | Ibm Corporation | Plural robotic drive |
US4794540A (en) * | 1986-06-18 | 1988-12-27 | Mts Systems Corporation | Iterative spline function controlled positioning mechanism |
FI862656A0 (fi) * | 1986-06-23 | 1986-06-23 | Partek Ab | Anordning foer defibrering av smaelt mineralmaterial. |
US4774445A (en) * | 1986-11-20 | 1988-09-27 | Unimation, Inc. | Multiaxis robot control having capability for executing timed moves |
JPS63266172A (ja) * | 1987-04-22 | 1988-11-02 | Mitsubishi Electric Corp | デイ−ゼルエンジンのグロ−プラグ制御装置 |
JP2707087B2 (ja) * | 1987-09-09 | 1998-01-28 | ファナック株式会社 | ロボット制御装置 |
JP2719345B2 (ja) * | 1988-03-30 | 1998-02-25 | 豊田工機株式会社 | 力センサを用いた加工制御装置 |
SE461383B (sv) * | 1989-01-11 | 1990-02-12 | Inst Mash Im A Ablagonravova A | Foerfarande foer styrning av en s k mekanisk resonanshand |
FR2644716B1 (fr) * | 1989-03-23 | 1994-04-29 | Commissariat Energie Atomique | Procede d'ebavurage robotise du contour d'une piece |
US5457370A (en) * | 1990-08-08 | 1995-10-10 | Digital Arts Film And Television Pty Ltd | Motion control system for cinematography |
DE4102840C1 (de) * | 1991-01-31 | 1992-10-15 | Philipp 5100 Aachen De Moll | |
US5396160A (en) * | 1991-03-11 | 1995-03-07 | General Motors Corporation | Method of real-time machine path planning from a math model |
US5726896A (en) * | 1995-08-30 | 1998-03-10 | University Of Utah Research Foundation | Method and system for spline interpolation, and their use in CNC |
JP2929996B2 (ja) * | 1996-03-29 | 1999-08-03 | トヨタ自動車株式会社 | 工具点列発生方法 |
JP2812920B2 (ja) * | 1996-05-30 | 1998-10-22 | 川崎重工業株式会社 | ロボットの動作指令作成方法 |
AUPP569198A0 (en) | 1998-09-03 | 1998-10-01 | Anca Pty Ltd | Grinding of cutting tools with wavy cutting edges |
US6560513B2 (en) * | 1999-11-19 | 2003-05-06 | Fanuc Robotics North America | Robotic system with teach pendant |
DE10245188B3 (de) * | 2002-09-26 | 2004-09-09 | Elan Schaltelemente Gmbh & Co. Kg | Verfahren zur Überwachung einer eine Energiequelle führenden Vorrichtung insbesondere eines Handhabungsgerätes |
FR2853983A1 (fr) * | 2003-04-17 | 2004-10-22 | Philippe Bellanger | Procede et dispositif d'interaction pour l'assistance au geste "metier-matiere" |
US20070142966A1 (en) * | 2005-12-20 | 2007-06-21 | Khalid Mirza | Process for moving a robot |
EP2142133B1 (de) | 2007-04-16 | 2012-10-10 | NeuroArm Surgical, Ltd. | Verfahren, vorrichtungen und systeme für automatische bewegungen unter verwendung medizinischer roboter |
DE102009007026A1 (de) * | 2009-02-02 | 2010-08-05 | Kuka Roboter Gmbh | Steuerung und Steuerungsverfahren für einen Manipulator |
EP2845696B1 (de) * | 2013-09-10 | 2017-05-17 | Siemens Aktiengesellschaft | Bearbeitungsmaschine mit redundanten Achsen und Auflösung der Redundanz in Echtzeit |
CN110662633B (zh) * | 2015-05-16 | 2023-02-17 | Abb瑞士股份有限公司 | 机器人的旋转补充轴线 |
US11451567B2 (en) * | 2018-08-31 | 2022-09-20 | GE Precision Healthcare LLC | Systems and methods for providing secure remote data transfer for medical devices |
CN117021113B (zh) * | 2023-09-20 | 2024-03-19 | 苏州诺克智能装备股份有限公司 | 一种机械臂协作定位装配方法、系统及介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3418549A (en) * | 1962-03-19 | 1968-12-24 | Rohr Corp | Combined numerical and torque control for a work and feed machine tool |
US3671839A (en) * | 1970-09-23 | 1972-06-20 | Siemens Ag | Method and apparatus for automatic programmed control of a machine tool |
US3909600A (en) * | 1972-06-26 | 1975-09-30 | Cincinnati Milacron Inc | Method and apparatus for controlling an automation along a predetermined path |
JPS5055783A (de) * | 1973-09-19 | 1975-05-16 | ||
US3920972A (en) * | 1974-07-16 | 1975-11-18 | Cincinnati Milacron Inc | Method and apparatus for programming a computer operated robot arm |
FR2311630A1 (fr) * | 1975-05-23 | 1976-12-17 | Kobe Steel Ltd | Procede et appareil d'apprentissage pour robot industriel |
US4078195A (en) * | 1976-01-13 | 1978-03-07 | Macotech Corporation | Adaptive control system for numerically controlled machine tools |
US4140953A (en) * | 1976-03-03 | 1979-02-20 | Unimation, Inc. | Real time program modification apparatus |
US4086522A (en) * | 1976-09-08 | 1978-04-25 | Unimation, Inc. | Computer assisted teaching arrangement for conveyor line operation |
JPS5824221B2 (ja) * | 1976-12-07 | 1983-05-19 | 株式会社新潟鐵工所 | 学習方式適応制御装置 |
US4237408A (en) * | 1979-08-10 | 1980-12-02 | Cincinnati Milacron Inc. | Method and apparatus for modifying the operation of a machine tool as a function of torque |
-
1982
- 1982-05-13 US US06/377,925 patent/US4453221A/en not_active Expired - Lifetime
-
1983
- 1983-05-11 DE DE19833317263 patent/DE3317263A1/de active Granted
- 1983-05-12 CA CA000428023A patent/CA1203311A/en not_active Expired
- 1983-05-13 GB GB08313296A patent/GB2119965B/en not_active Expired
- 1983-05-13 JP JP58083991A patent/JPS59708A/ja active Pending
- 1983-05-13 FR FR8307997A patent/FR2526703B1/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB2119965A (en) | 1983-11-23 |
US4453221A (en) | 1984-06-05 |
GB2119965B (en) | 1986-01-08 |
CA1203311A (en) | 1986-04-15 |
JPS59708A (ja) | 1984-01-05 |
FR2526703B1 (fr) | 1986-12-26 |
GB8313296D0 (en) | 1983-06-22 |
DE3317263A1 (de) | 1984-02-09 |
FR2526703A1 (fr) | 1983-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3317263C2 (de) | ||
EP0384925B1 (de) | Steuerungsverfahren bei einer numerischen Werkzeugmaschine oder einem Roboter | |
DE60035651T2 (de) | Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern | |
DE3727462C2 (de) | ||
DE3210675A1 (de) | Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn | |
DE2712169C2 (de) | Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE3208435C2 (de) | Steuerungsvorrichtung zum Führen eines Lichtbogenschweißautomaten | |
EP0120204B1 (de) | Verfahren zum Wiederanfahren eines Werkzeuges an eine Werkstückkontur | |
DE3439096C2 (de) | ||
DE2735632A1 (de) | Verfahren und anordnung zum steuern eines industrie-roboters | |
DE3236320A1 (de) | Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms | |
AT395299B (de) | Steuereinrichtung fuer eine werkzeugmaschine | |
DE3635265A1 (de) | Industrieroboter | |
EP0120198A1 (de) | Verfahren zum Betreiben eines Industrieroboters in roboterkinematikfremden Koordinaten | |
EP0477412A1 (de) | Verfahren zur Filterung digitaler Signale | |
EP0672976B1 (de) | Elektronische Steuereinrichtung für Einzelantriebe von Bearbeitungsmaschinen und Verfahren zum Steuern der Einzelantriebe | |
DE4213927A1 (de) | Verfahren zur steuerung einer werkzeugmaschine, insbesondere eine fraesmaschine | |
EP0439655A1 (de) | Robotersteuerungsverfahren zur Kollissionsvermeidung zwischen einem aufgabenorientiert programmierten Roboter und Objekten mit unterschiedlichem Mobilitätsgrad | |
DE2165862C2 (de) | Adaptive Steuerungsvorrichtung für numerisch gesteuerte Werkzeugmaschinen | |
DE3928547A1 (de) | Numerisches steuerungsverfahren | |
DE4126434A1 (de) | Numerische steuereinrichtung | |
DE102005032336B4 (de) | Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung | |
DE4036297B4 (de) | Fortschalteinrichtung für den Werkzeughalter einer numerisch gesteuerten Drehbank | |
DE102017100240B4 (de) | Bewegungssteuerungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: CINCINNATI MILACRON INC. (EINE GES. N.D. GESETZEN |
|
8128 | New person/name/address of the agent |
Representative=s name: BROSE, D., DIPL.-ING. RESCH, M., DIPL.-PHYS., PAT. |
|
8128 | New person/name/address of the agent |
Representative=s name: BROSE, D., DIPL.-ING.DIPL.-WIRTSCH.-ING., PAT.-ANW |
|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8331 | Complete revocation |