DE3317263A1 - Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung - Google Patents
Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegungInfo
- Publication number
- DE3317263A1 DE3317263A1 DE19833317263 DE3317263A DE3317263A1 DE 3317263 A1 DE3317263 A1 DE 3317263A1 DE 19833317263 DE19833317263 DE 19833317263 DE 3317263 A DE3317263 A DE 3317263A DE 3317263 A1 DE3317263 A1 DE 3317263A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- process parameter
- speed
- incremental
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
• ' · *-* Ί Ί1 7?ΠΊ
15
Case 82T5F 29. April 1983
Re/hö
Anmelderin: Cincinnati Milacron Inc., 4701 Marburg Avenue, Cincinnati ,Ohio 45209, USA
Manipulator mit adaptiver geschwindigkeitsgesteuerter
Bahnbewegung
Die Erfindung betrifft im allgemeinen programmgesteuerte Manipulatoren und insbesondere die Anpassung
programmierter Manipulatortäti gkeit 'unprogrammierte Änderungen an arbeitsprozeßbezogene Parameter.
Im Unterschied zu konventionellen Maschinenwerkzeugen,
bei denen die primären Bewegungsachsen Translationsachsen sind, welche den Koordinatenachsen eines rechtwinkligen
Raumkoordinatensystems entsprechen, sind Manipulatoren zu größerer Flexibilität fähig, indem
sie Rotationsachsen umfassen, um die Orientierung
eines Werkzeugs oder eines hiervon getragenen Werkstücks zu bewirken. Aufgrund dieser größeren Flexibilität,
welche insbesondere für Gelenk- oder anthropromorphische Maschinen vorliegt, werden programmierst)
bare Manipulatoren für Aufgaben angewandt, welche eine gesteuerte Bewegung erfordern und welche bislang
von Hand durchgeführt wurden, obwohl die Arbeitsumgebung schwere Gefahren für die Gesundheit barg. Beispiele
solcher Arbeiten umfassen beispielsweise Nahtschweißen,
Sprühbeschichtung und Reinigung roher Gußteile. Das hauptsächliche Hindernis bei solchen Anwendungen
stellt die Anpassung der Bewegungssteuerung während des Prozesses an unprogrammierte Änderungen
von Prozeßparametern, wie beispielsweise beim Schweißen Variationen des Nahtzwischenraums, oder Variationen
der Viskosität der Beschichtungsflüssigkeit in Abhängig·
keit von der Temperatur oder der Feuchtigkeit, oder Variationen des Schneiddrehmoments in Abhängigkeit von
Gußgraten und der Einlaufrinne dar. Obwohl eine Anzahl von Verfahren zum Ändern einer programmierten Bahn
existiert, um eine eine Abweichung erforderliche Anpassung an die nachgewiesenen Bedingungen zu ermöglichen,
war es bislang unbekannt, selbsttätig die Bewegungsgeschwindigkeit des programmgesteuerten Manipulators
zu variieren, um an solche Prozeßparameter angepaßt zu werden, wie sie oben erwähnt wurden. Nichts
desto weniger können diese Tätigkeiten genauso wie viele andere auf einfache Weise an nicht programmierte
Parametervariationen angepaßt werden, indem die programmierte Bewegung Geschwindigkeitsvariationen unterworfen
wird, welche im Einklang mit einer geeigneten Funktion definiert sind, die einen gemessenen Prozeß-
paramter und die Bahngeschwindigkeit in Beziehung
setzt.
Es ist daher die Aufgabe der vorliegenden Erfindung, ,. einen Manipulator und eine Steuerung zu schaffen, um
ein Funktionselement in Abhängigkeit .programmierter
Eingangssignale zu bewegen, welche die Bewegung beschreiben und welche auf unprogrammierte Variationen
eines Prozeßparameters ansprechen, um die Bewegungs- _ geschwindigkeit zu'variieren.
Es stellt ein weiteres Ziel der vorliegenden Erfindung
dar, einen Manipulator und eine Steuerung zu schaffen, um ein Funktionselement im Einklang mit einer vorprogrammierten
Beschreibung der Bewegung zu bewegen und um selektiv auf unprogrammierte Variationen eines
Arbeitsprozeßparameters anzusprechen, um die Bewegungsgeschwindigkeit zu variieren.
·
Es ist eine weitere Aufgabe der vorliegenden Erfindung,
einen Manipulator und eine Steuerung zu schaffen, um ein Funktionselement im Einklang mit einer vorprogrammierten
Beschreibung der Bewegung zu bewegen, welche auf 5
eine Funktion anspricht, die Werte eines gemessenen Prozeßparameters mit der Geschwindigkeit in Beziehung
setzt, um die Bewegungsgeschwindigkeit zu variieren.
Es stellt ein weiteres Ziel der vorliegenden Erfindung
IO
dars einen Manipulator und eine Steuerung zu schaffen,
um ein Funktionselement in Abhängigkeit von Eingangssighalen
zu bewegen, welche Positionen relativ zu einem rechtwinkligen Koordinatensystem und Bahngeschwindigkeiten
hierzwischen definieren und welche 15
auf die gemessenen Werte der Arbeitsprozeßparameter ansprechen, um die effektive Bahngeschwindigkeit
während einer automatischen Betriebsweise zu variieren.
Weitere Ziele und Vorteile der vorliegenden Erfindung 20
werden aus der nachfolgenden Beschreibung und den
Zeichnungen erkenntlich.
Im Einklang mit den vorgenannten Zielen sind ein
Manipulator und eine Steuerung vorgesehen, welche 25
auf Eingangssignale ansprechen, die Positionen eines
Punktes definieren, der einem Funktionselement zugeordnet ist, sowie Bahngeschwindigkeiten hierzwischen,
um eine gesteuerte Bewegung des Punktes entlang einer
vorbestimmten Bahn zu bewirken. Die Positionen sind 30
unter Bezugnahme auf die Achsen eines dreidimensionalen
Koordinatensystems beschrieben und der Manipulator umfaßt drehbare Bewegungsachsen gelenkig miteinander
verbundener Maschinenglieder, weiche ein
Maschinenkoordinatensystem definieren. Die Bewegung
35
wird bewirkt durch Interpolation intermediärer Punkte,
welche den Endpunkten inkrementaler Spannen entlang
der Bahn entsprechen, und durch Transformation der
intermediären Punktkoordinaten in Maschinenkoordinaten,
um die Bewegung der Maschinenkoordinatenachsen zu befehligen. Einem jeden Inkrement ist eine inkrementale
Bahngeschwindigkeit zugeordnet, welche dazu verwendet
wird, eine inkrementale Spannenlänge zu berechnen. Es ist eine Einrichtung vorgesehen, um kontinuierlich
einen Arbeitsprozeßparameter zu überwachen, und"die Steuerung führ selektiv eine Prozedur durch, um eine
Funktion abzuschätzen, bzw. auszuwerten, welche einen Parameterwert mit der Eingangsgeschwindigkeit in Be-.
Ziehung setzt. Ein inkrementeller Geschwindigkeitswert, der von der Arbeitsprozeß-Geschwindigkeitsfunktion
abgeleitet ist, wird selektiv erzeugt und durch den Prozeß der Interpolation der intermediären
Punkte dazu verwendet, effektiv die Geschwindigkeit des Punktes entlang der Bahn zu variieren. .
In den Figuren zeigen:
Fig. 1 einen mit Gelenken versehenen Manipulator und
in schematischer Weise dessen Verbindungen mit der Steuerung,
„_. Fig. 2 ein Blockdiagramm der Steuerung mit ihren
assoziierten Eingangs- und Ausgangs-Interface-Modulen,
Fig. 3 eine geometrische Darstellung des durch die Maschine defii
natensystems ,
natensystems ,
Maschine definierten verallgemeinerten Koordi
Fig. 4a bis Fig. 4c geometrische Darstellungen der
über das durch den Manipulator getragene Werkzeug bewirkte Bewegungssteuerung,
ο ο λ η η γ· ο
OC- j /ZOO
Fig* 5a und 5b Flußdiagramme der beiden prinzipiellen
Steurprozeduren, die die Bewegungssteuerung bewirken,
Fig. 6a bis 6d Flußdiagramme von Unterprogrammen und
Hauptabschnitten des Flußdiagramms gemäß
Fig. 5a, und
n Fig. 7 ein Flußdiagramm der adaptiven Geschwindigkeitsprozedur, welche durch die Interpolationsp,rozedur
gemäß Fig. 5a verwendet wird.
Zum Zwecke der Erläuterung der Erfindung wird im folgenden
eine bevorzugte Ausführungsform des Manipulators 15
und der zugeordneten Steuerung beschrieben. Der Manipulator und die Steuerung entsprechen denjenigen, wie
sie von der Cincinnati Milacron Inc. hergestellt
werden. Es ist darauf hingewiesen, daß die spezielle
Struktur des Manipulators gemäß dem bevorzugten Aus-20
führungsbeispiel nicht als Einschränkung der vorliegenden
Erfindung angesehen werden soll. Vielmehr ist zur Anwendung der vorliegenden Erfindung eine jede
Maschine geeignet, welche seriell aneinandergelenkte
Rotationsbewegungsachsen aufweist, weiche durch Interpolation
von intermediären Punkten entlang einer vorbestimmten Bahn gesteuert wird, weiche unter Bezugnahme
auf ein rechtwinkliges Koordinatensystem definiert ist
oder unter Bezugnahme auf irgendein anderes Koordinaten·
system, welches unabhängig von den Maschinenachsen de-30
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 35
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 vertib
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-IO
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 15
linearer Aktuator sein kann, wie beispielsweise ein
KoIben/Zyklinder oder eine Schraube/Mutter. Die Betä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 Manipulators 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 Referenzpunktes des durch den Manipulator getragenen
30
Werkzeuges zu bewirken. Die erste dieser drei Qrientierungsachsen 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
35
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 fechtwinkling zur ersten und zweiten Achse angeordnet
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 Vorderplatte
33, an der der Werkzeugmotor 120 befestigt ist, welcher das Schleifwerkzeug 122 trägt. Am Werkzeugmotor
120 ist ein Meßwertwandler 124 befestigt, um einen gemessenen Parameter des Arbeitsprozesses rückzukoppeln.
Der Motor 120 und das Werkzeug 122 stellen
ein Funktionselemerit 31 dar, welches vom Manipulator
15
10 getragen wird. Es existieren ein breite Vielfalt
von Werkzeugen oder Gegenstandsgreifeinrichtungen, welche je nach auszuführendem Arbeitsprozeß verwendet werden
können. Bas gespeicherte Programm zur Steuerung der Bewegung des Funktionselements 31 spezifiziert Posi-
tionen eines Werkzeugmittelpunkts 34 und Orientierungen des Funktionselements 31 bezüglich des Werkzeugmittelpunkts
34.
Die Steuerung 35 umfaßt eine Kontrollpu Iteinheit 36,
25
um Kommunikation zwischen dem Operator und~dem Manipulator
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 speziellen Arten der Betätigungseinrichtungen und Antriebseinheiten nicht Teil der vorliegenden Erfindung darstellen,
werden sie auch nicht näher erläutert. 35
Unter Bezugnahme auf Fig. 2 wird ein detailliertes Blockdiagramm der Steuerung beschrieben. Die Steuerung
35 umfaßt einen programmierbaren digitalen Mehrzweckcomputer
40, der einen Speicher 42, eine Zentraleinheit 46 und ein Eingangs/Ausgangs-Interface umfaßt.
Diese drei Elemente sind über einen Hauptweg 48 miteinander 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 peripherer 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 gespeicherten
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 austauscht, welche dem Manipulator TO zugeordnet sind,
und welche im dargestellten Falle einen Analog-Digital-Konverter
umfassen, welcher mit dem Meßwertwandler 1?4 Vfirbunripn \'Λ.\ und nrhiirRlirh Ί?»^ A'-hsnnfcripb=;-Interface
56, welches direkt die Bewegung der Betätigungseinrichtungen steuert. Der Achsantrieb 66 erhält Daten
35
in digitaler Form und führt eine Digital-Analog-Umsetzung
durch, wobei er ein analoges Signal dem Achsen-Kompensations- und Servoverstärker 68 zuführt. Die
: ■;.-■■■·- - .0 0 11 / L 0 J
23
kompensierten analogen Signale werden dann als Eingangssignal für die Betätigungseinrichtung 70 verwendet,
welches das mit ihm mechanisch verbundene Roboterelement
71 antreibt. Ein Rlickkoppl ungsgerät 72, welches mechanisch
mit der Betätigungseinrichtung 70 oder mit dem Roböierelement 71 verbunden ist, erzeugt ein Rückkopplungssignal,
welches die jeweilige Bewegung des angetriebenen Elements des Roboterarms repräsentiert.
Obwohl für jedes Element des Roboterarms mehrere Konfigurationen der Steuerung der Servomechanismusschleife
vorgesehen·sind, werden in einem bevorzugten Ausführungsbeispiel der Achsantrieb 66, der Servoverstärker 68, die
Betätigungseinrichtung 70 und das Rückkopplungselement
72 in einer Anzahl benutzt, welche gleich ist der Anzahl
der gesteuerten Achsen des Manipulators.
Zwei weitere periphere Geräte erlauben den Austausch von Programmdaten. Zunächst sei hier das on-1ine-Interface
58 zur Übertragung externer Daten erwähnt, welches
eine Einrichtung darstellt, die es erlaubt, daß Daten von einem externen Datenspeicher dem Computer 40 zugeführt
werden, während der Manipulator einen Arbeitszyklus durchführt. Zweitens ist ein off-1ine-Datenspeicher-Interface
60 vorgesehen, welches es erlaubt, daß Programmdaten in den Computer mittels~soleher Geräte
eingegeben werden wie Lochstreifenleser, Kassettenleser
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 Dateninformationen
speichert, und der zweite Teil definiert das Betriebssystem des Manipulators. Das Betriebssystem
ist eine Anzahl von Steuerprogrammen, welche den Betrieb des Computers 40 so ausrichten, daß die Erzeugung
des Benutzerprogramms bewirkt wird und die Durchführung des gespeicherten Benutzerprogramms.
Zum Zwecke der Erläuterung sind die Betriebssystemprogramme in funktional bezogenen Gruppen dargestellt,
welche die Eingangs/Ausgangs-Gruppe 76, die Lehrbetriebsgruppe 92 und die Gruppe fur 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/0-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/0-Programm
88. Jedes dieser I/0-Programme (Eingangs/Ausgangs-Programme)
entspricht einer unterschiedlichen Art
peripherer Einrichtung, welche mit der Steuerung inter-15
facemäßig verbunden ist, und steuert den Signalaustausch
zwischen zwischen den bestimmten peripheren Geräten und dem Computer 40.
Das Betriebssystem enthält auch ein Modus-Steuerprogramm 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 erforderlich
ist, wird nur dieser Modus im Detail be-
schrieben. Innerhalb des L-ehrmodussystems 92 befinden
sich das Daten-Editor-Programm 96 und ein Lehrbetriebfunktionsprogramm
98. Diese beiden Programme steuern den Betrieb des Manipulators während des Lehr-Modus,
und die Einzelheiten dieser Programme sind entweder in der US-PS 3 920 972 beschrieben oder über Cincinnati
Milacron Inc. erhältlich.
Die Gruppe 94 für Automatikbetrieb umfaßt ein Datenab-
rufprogramm 102, ein Bahnberechnungsprogramm 104, ein
35
Transformationsprogramm 106, ein Achsantriebsprogramm 108, ein Funktionssteuerprogramm 110» ein peripheres
Serviceprogramm 111, und ein Geschwindigkeitsmodifi-
katiönsprogramm 1Ϊ2. Details bezüglich des Bahnberechnungs-
und des Geschwindigkeitsmodifikationsprogramms werden hier offenbart, und Details bezüglich der anderen
Programme sind entweder im einzelnen in der US-PS 3 909 600 beschrieben oder sind von Cincinnati Mi lacron
Inc. erhältlich.
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 Manipulators
10 eine Achse der Drehbewegung. Es wird angenommen, 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 zusammenfällt. Die Z-Achse fällt mit dem Drehmittelpunkt
der Befestigungsplatte 18 zusammen. Daher ent-
2Q spricht eine Rotation der Befestigungsplatte 18 einer
Bewegung durch den Winkel "d" hindurch. Das Liniensegment 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" Liniensegment 132 entspricht dem Unterarm 26 und Drehungen
des Unterarms 26 um das Eilbogengelenk 25 entsprechen
Drehungen des Liniensegments 132 durch den Winkel "b"
3Q 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 angedeutet 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 Bezugnahme auf die X-Achse und dargestellt durch Projektion
in der X-Y-Ebene. Das Rollen des Handgelenks 27 entspricht der Rotation des Liniensegments 136, angedeutet
durch den Pfeil "R". Der Werkzeugmittelpunkt
ist definiert als ein Punkt am Ende des Liniensegments
136. Die Länge des Segments 136 umfaßt die benutzerspezifische Werkzeuglänge und die Länge der Elemente
des Handgelenks jenseits der Gierachse. Das gespeicherte Programm umfaßt die X, Y und Z-Achsenkoordinaten
des Werkzeugmittelpunkts 34 zusammen mit den Orientierungswinkeln D, E und R. Der Orientierungswinkel D ist gleich der Summe der Winkel "a", "b" und
"c". Wie in Fig. 3 dargestellt, ist der Werkzeugmittelpunkt
34 auf der Achse des Liniensegments 136 angeordnet; jedoch kann auch ein versetzter Werkzeugmittelpunkt
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 spezifiziert,
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 Maschinenkoordinatensystem
dar. Details des Verfahrens zur Transformation der Programmkoordinaten in das Maschinenkoordinatensystem
sind in der US-PS 3 909 600 beschrieben, mit Ausnahme der Roll-Achse, wobei der Ausdruck
"generalisiertes Koordinatensystem" dem vorstehend
beschriebenen Koordinatensystem entspricht.
g5 Unter Bezugnahme auf die geometrische schematische Darstellung
der Fig. 4a bis 4c wird das Bahnsteuerschema der vorliegenden Erfindung beschrieben. In Fig. 4a
ί ί ZU
repräsentiert das gerade Liniensegment 140 die Bewegdngsbahn,
entlang der der Werkzeugmittelpunkt fortschreiten muß, indem er vom programmierten Punkt PQ
zum programmierten Punkt P^ fortschreitet. Die Steuerung
interpoliert intermediäre Punkte P. entlang dieser geradlinigen Bahn. Es können zur Interpolation auch andere
vorbestimmte Bahnen wie beispielsweise kreisförmige oder
parabolische Bahnen gewählt werden. Die Koordinaten der Punkte PQ, P. und die intermediären Punkte P. sind alle
bezüglich des X, Y, Z-Koordinatensystems definiert.
Unter der Annahme, daß der Werkzeugmittelpunkt aus der Ruhelage beim Punkt Pn startet und wieder beim Punkt P.
zur Ruhe kommt, so sorgt das Bahnsteuerungsschema für
eine automatische Beschleunigung und Abbremsung auf bzw.
15
von einer programmierten Geschwindigkeit. Während die
intermediären Punkte P. entsprechend einer festen inkrementellen Zeitperiode ΔΤ erzeugt werden, variiert
der tatsächliche jeweilige inkrementelIe Abstand zwischen
den PUnkten P., da die Geschwindigkeit des Werkzeugmittelpunktes
variiert. Daher ist ersichtlich, daß der inkrementell Abstand As, der dem während einer konstanten
inkrementellen ZeitdauerΔΤ durchquerten Entfernung
entspricht, zwischen dem Bewegungsabschnitt
__ mit konstanter Geschwindigkeit und den Beschleunigungs-25
und Bremsphasen der beschriebenen Bewegung" variiert.
Gemäß dem grundlegenden verwendeten Bahnsteuerschema
werden die Geschwindigkeitsvariationen den Punkten PQ
und P1 so durchgeführt, daß keine Geschwindigkeitsdiskontinuitäten zwischen den Beschleunigungsphasen
30
und den Bremsphasen eingeführt werden.
Unter Bezugnahme auf Fig. 4b wird die Geschwindigkeitscharakteristik einer typischen Spanne, wie beispielsweise
der Spanne 140 dargestellt. Die Spanne wird bei 35
einer Anfangsgeschwindigkeit V. begonnen, welche Null
sein kann(jedoch nicht mußf? £ine kontinuierliche Beschleu'ni
gungsf unktion erzeugt die Kurve 142, um die
Geschwindigkeit des Werkzeugmittelpunkts auf die
programmierte Geschwindigkeit Vp in/feiner Beschleunigungszeit T. zu bringen. Nach einer Periode konstanter Geschwindigkeit
iniziiert die Steuerung die Bremsphase, um die Geschwindigkeit des Mittelpunkts auf eine Endgeschwindigkeit
Vf zu bringen, so daß eine kontinuierliche
Bremsfunktion folgt, die die Kurve 144 erzeugt. Die Abbremsung von der programmierten Geschwindigkeit
zu der Endgeschwindigkeit, welche wiederum gleich Null sein kann (jedoch nicht sein muß), wird
in einer Abbremsungszeit T. erreicht. Der graduelle
übergang zu und aus der Phase der konstanten Geschwindigkeit
entspricht dem tatsächlich aufgrund der
körperlichen Struktur des Manipulators zu erwartenden lb
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 Geschwind!gkeitscharakteristika dar, die durch die
Durchführung der adaptiven Geschwindigkeitsfunktion gemäß der vorliegenden Erfindung bewirkt wird, Anfänglich
folgt die Geschwindigkeit der charakteristischen
Kurve 142, bis eine Minimalgeschwindigkeit V .
- min
erreicht ist, unterhalb der adaptive GescTfwindigkeitsvariationen
nicht erlaubt sind. Sobald die tatsächliche Geschwindigkeit die minimale Geschwindigkeit V . erreicht
hat und unter der Annahme, daß der Parameterwert des Steuerungsprozesses eine Verminderung der
30
Geschwindigkeit erforderlich macht, weicht die Geschwindigkeitssteuerung
von der normalen Beschleunigungsfunktion ab und die Geschwindigkeit wird im Einklang
mit der adaptiven Geschwindigkeitsfunktion variiert.
o_ Inkrementell Werte der Geschwindigkeit werden im Einklang
mit einer vordefinierten Funktion erzeugt, die die Geschwindigkeit und den Arbeitsprozeßparameter in
Beziehung setzt, und werden vom Bahnsteueralgorithmus
.' Oj I / ZlU
verwendete/intermediäre Punkte entlang der Bahn zu interpolieren.
Solang die berechneten adaptiven Inkrementalgeschwindigkeiten
geringer sind als die nicht adaptive Geschwindigkeit V. , die wirksam ist, wenn die adaptive
Gescnwindigkeitsfunktion als erstes einen reduzierten Wert erzeugt, wird aufgrund der berechneten Werte gesteuert.
Sobald der adaptive Wert gleich oder größer als der anf ängl i.che, n-fcht adaptive Wert V. ist, wird
la
der anfängliche Wert V. ersetzt und die nicht adaptive
Betriebsweise geht weiter. Dieser Effekt ist durch den Bereich der Kurve 146 zwischen T^ und T gezeigt.
Während dieser adaptiven Betriebsweise erreicht die Geschwindigkeit,
wie dargestellt, einen Minimalwert V . , unterhalb welchem eine weitere Verminderung nicht erlaub ist.
15
Nach T wird die Geschwindigkeit im Einklang mit der nicht adaptiven Beschleunigungsfunktion auf die programmierte
Geschwindigkeit Vp beschleunigt. Während aufeinanderfolgender Perioden in Betriebsweise mit
adaptiver Geschwindigkeit ist festgelegt, daß eine
Abbremsung iniziiert werden muß, um den Werkezugmittelpunkt zu der erforderlichen Endgeschwindigkeit
zu bringen. Während der Abbremsungszeit T. ist eine adaptive Betriebsweise nicht erlaubt und die Geschwindigkeit
bremst ab, der nicht adaptiven Ab-25
bremsungsfunktion folgend,-wie durch die -Kurve
gemäß Fig. 4b dargestellt ist. Die Einzelheiten der Steuerungsprozedur zum Bewirken der adaptiven Geschwindigkeitssteuerung
werden im folgenden im einzelnen beschrieben.
30
30
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 Pn und P1 bei
der programmierten Geschwindigkeit V zu interpolieren.
Werte der für die programmierten Spannenlängen Sp,
der Koordinatenkomponentenration N und eine Nominalbeschleunigung
werden durch eine dem Schritt 150 zugeordnete Prozedur erzeugt. Beim Prozeßschritt 152 werden ein
.
Inkrement entlang der Bahn AS und der akkumulierte
interpolierte Abstand S^ berechnet. Der Prozeßschritt
156 ruft das Unterprogramm ab, um eine Transformation des interpolierten intermediären Punktes in die generalisierten
Koordinaten zu bewirken, um einen Satz von Maschinenkoordinatensignalen zu erzeugen, welche
Koordinatenwerte relativ zu den generalisierten Koordinatensystemen
repräsentieren. Beim Entscheidungsschritt 154 wird das Kennzeichen, welches zeigt, daß
keine Abbremsung erfolgen darf, getestet. Wenn die 15
Bewegung des Werkzeugmittelpunktes 34 kontinuierlich
durch eine programmierte Position erfolgen soll, ist ein Funktionsattribut, welches dieses anzeigt, programmiert.
Es kann vorkommen, daß bei der gegenwärtigen
Spanne keine Abbremsung erforderlich ist, und daß das 20
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 bestimmt
wird, ob das laufende Inkrement das letzte
Inkrement der laufenden Spanne ist. Falls nicht, wird
ein weiteres Inkrement durch den Konnektor L-2 interpoliert. Schließlich wird das End-Inkrement der laufenden
Spanne interpoliert und der Gesamtbetriebszyklus fährt vom Entscheidungsschritt 155 zu dem Prozeß-
schritt 168 über den Konnektor L3 fort. Der Prozeßschritt
168 bewirkt, daß die mit der Position P, programmierte
Funktion durchgeführt wird, wenn die Maschinenachsen das Ende der Spanne erreicht haben.
Hiernach bestimmt der Entscheidungsschritt 170, ob die programmierte Position P. dem Programmende entspricht.
Falls nicht, wird der Zyklus wiederholt, indem die nächsten programmierten Daten beim Prozeßschritt
O ι^ ι / i—. w
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 gesetzt
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 SRD zu dem Beginn der Abbremsungsphase
größer ist als der laufende inkrementale Abstand AS, so fährt der Zyklus fort durch den Prozeßschritt
162, welcher das Geschwind!gkeitsvariatonsunterprogramm
abruft, zum augenblicklichen Ändern des inkrementalen
Geschwindigkeitswertes im Einklang mit den nicht pro-
grammierten Variationen eines Arbeitsprozeßparameters. 20
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-25
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 P1 ein Fortse'tzungspunkt ist. Nachdem jeder programmierte
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 Funktionssignal zusammenhängt. Unter der Annahme, daß der Fortsetzungscode
durch den Entscheidungsschritt 164 nicht
: : · ·..·.. Ού ί /ΖΰΟ
32
nachgewiesen worden ist, so wird die Abbremsprozedur
. durch den Entscheidungsschritt 166 abgerufen. Die Abbremsprozedur
bewirkt die interpolierte Abbremsung auf 5
den Stop-Punkt P.. Hiernach verursacht der Prozeßschritt
168 die Durchführung einer in Verbindung mit dem Punkt P1 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 L1 zum Prozeßschritt 150 zum Verarbeiten von Daten für die
nächste programmierte Position. Wenn die laufende Position
das Ende des gespeicherten Programms ist, so wird '
das Programm wiederholt, indem ein Programmeingang gewählt wird, der als recycle-Position bestimmt ist, wie
dies durch das Terminal 172 angedeutet ist.
Wenn beim Punkt des Beginns der Abbremsung durch den
Entscheidungsschritt 164 bestimmt worden ist, daß der
20
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. Nachdem
die interpolierten intermediären Positionen voneinander über inkrementell Abstände beabstandet sind,
25
welche durch die inkrementelle Interval 1periode und die
effektive inkrementell Geschwindigkeit bestimmt ist,
wird erwartet, daß, wenn die Bewegung durch eine programmierte Position fortfahren soll, der in der Spanne
verbleibende Abstand von der Abbremsentscheidungs-30
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-35
tion nächsten laufenden inkrementalen Abstandes beendet.
Um dies zu erreichen, wird der verbleibende Abstand (S - Sk) durch den inkrementellen Abstand ^S geteilt,
i ■:._ ;;;.- · · 331725-3
um das ganzzahlige Vielfache I zu erzeugen sowie den
Rest R. Der Rest R wird dann von der laufenden Spannenlänge abgezogen, um die Fortsetzungsspannenlänge S zu
bil^fen. Dieser Abstand definiert dann neuflMj!, Endposi tiorf
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
2 2
Sy und SyZ^2Q) für das Quadrat des Totalabstandes
zwischen der Startposition PO der laufenden Spanne
und der Endposition P2 der nächsten Spanne erzeugt
2
werden. Der erste Wert Sy wird als die Summe der Quadrate der Koordinatenkomponentendifferenzen zwischen
werden. Der erste Wert Sy wird als die Summe der Quadrate der Koordinatenkomponentendifferenzen zwischen
2 den beiden Positionen berechnet. Der zweite Wert Sy/^pn)
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:
WJT= A2 + B2 = 2AB cos T
was sich zu
W = A +B +AB reduziert, wenn T= 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 laufenden
Spanne ist SrD und die Länge der nächsten Spanne
Sm ist durch die neue Startposition des Schrittes
l| Ii ti «Mc! |i| iiiji niiiin IcHc | π
<l |iu 2 I I I 11 Ii I1»' il i c 3 c ι \ ρ η μ n c
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 programmierte
Geschwindigkeit der nächsten Spanne VpN größer
oder gleich als die laufende programmierte Geschwindigkeit Vp ist. Wenn die programmierte Geschwindigkeit
der nächsten Spanne VpN geringer als die programmierte
Geschwindigkeit Vp 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
15
bei der für diese Spanne programmierte 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 weitergeführt.
Wenn die programmierte Geschwindigkeit für die
nächste Spanne größer ist oder gleich der programmierten Geschwindigkeit der laufenden Spanne, so fährt der
Prozeß vom Entscheidungsschritt 176 durch den Prozeßschritt 177 weiter, wo das Kennzeichen "keine Abbremsung"
o_ gesetzt ist und hiernach fährt der Prozeß über den
Konnektor L-2 zu dem Prozeßschritt 152 weTter. 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 Proaramm zum Be-35
dienen 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 Köordinatendaten für die Betätigungseinrichtung den
b
Betätigungseinrichtung-Servomechanismen zuzuführen. Der
Entscheidungsschritt 192 stellt fest, ob oder ob nicht der Pufferspeicher für die Betätigungseinrichtung-Befehlsdaten
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 übertragt der Prozeßschritt 196 die Daten vom
Puffer zu dem Servo. In beiden Fällen ist die Bedienung
der Servounterbrechung abgeschlossen und das Gesamt-15
system unter Kontrolle des Flußdiagramms gemäß Fig. 5a wird weitergeführt durch Rückkehr über das Terminal
198.
Die Flußdiagramme der Fig. 6a bis 6e entsprechen den
20
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-25
speicher 74 des Speichers 42 abgerufen. Der Startpunkt PO, der Endpunkt P1 und die Programmgeschwindigkeit V
definieren die vom Werkzeugmittelpunkt 34 als nächstes
durchzuführende Bewegung. Die vom Speicher abgerufenen
Daten der Programmkoordinaten sind als mit Suffixen
30
versehen dargestellt, welche der Programmpunktbestimniung
entsprechen. Beim Prozeßschritt 202 wird die Gesamtspannenlänge S errechnet, unter Verwendung rechtwinkliger
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 des programmi'erten
Koordinatensystems berechnet, indem die
Koordinatenkomponenten durch die Spannenlänge dividiert
wird. Diese Verhältnisse sind mit N... bis N16 bezeichnet.
Die Achskomponentenverhältnisse für die Orientierungs-
._ winkel werden in gleicher Weise berechnet, wie die
5
Komponentenverhältnisse für die rechtwinkligen Koordinatenachsen.
Beim Prozeßschritt 206 wird eine nominale Spannenbeschleunigungsgeschwindigkeit A berechnet,
indem die programmierte Geschwindigkeit V durch ein
willkürlich gewähltes Intervall von einer Viertelsekunde geteilt wird. Sobald diese vorläufige Berechnung der
Spannenvariablen beendet ist, geht der Gesamtbetriebszyklus
weiter über das Terminal 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 programmierte 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
25
Änderung des inkrementalen-Geschwindigkeifswerts geführt
hat, so wird das Kennzeichen "adaptive Geschwindigkeit" nicht gesetzt werden, und der Prozeß wird beim
Entscheidungsschritt 212 fortfahren. Der Entscheidungsschritt 212 testet den laufenden Wert des Inkrementalgeschwindigkeitssignals
V„, d.h. die inkrementale Geschwindigkeit
für die laufende Iteration gegen den Wert der programmierten Geschwindigkeit Vp, um festzustellen,
ob oder ob nicht die laufende Inkrementalgeschwind!gkeit
V1, geringer ist als die programmierte Geschwindigkeit.
1^
Falls ja, fährt der Prozeß beim Prozeßschritt 216 fort,
welcher das Beschleunigungs-Unterprogramm abruft.
J Ö i /
Die Wirkung des Besvchleunigungs-Unterprogramms ist es,
einen neuen Wert für das Inkrementalgeschwindigkeitssigtial
V1, im Einklang mit einer unter Bezugnahme auf
Fig* 4b dargestellten und beschriebenen kontinuierlichen
Beschleunigungsfunktion zu erzeugen. Beim Beginri
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 Beschleunigungsunterprogramms
beim Prozeßschritt 216 startet die Änderung der inkrementalen Geschwindigkeitswerte im Einklang mit der kontinuierlichen Beschleunigungsfunktion.
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 erzeugt einen Wert für das inkrementelle Abstandssignal
ÄS durch Mittelung des neuen inkrementellen Geschwindigkeitswert V^ mit dem vorhergehenden inkrementell en Geschwindigkeitswert
und unter der Annahme, daß der Durchschnitt während der inkrementellen Interval 1periode
wirksam ist, welche durch das inkrementel1e Intervallsignal
Ät repräsentiert ist. Wenn das Kennzeichen für die adaptive Geschwindigkeitsfunktion gesetzt ist, wird
der inkrementelle Abstand berechnet, indem der Geschwindigkeitswert
verwendet wird, welcher durch das adaptive Geschwindigkeitsunterprogramm erzeugt worden
ist. Wenn die inkrementelle Geschwindigkeit nicht geringer
ist als die programmierte Geschwindigkeit V ,
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,
35
wie dies durch den Prozeßschritt 214 angedeutet ist.
In beiden Fällen gelangt der Prozeß letztlich zum Prozeß'schri tt 220, wo ein Wert für das angehäufte bzw.
aufsummierte inkrementell Abstandssignal S., im Einklang
mit der rechts vom Prozeßschritt 220 dargestellten Gleichung berechnet wird. Mit dem Gesamtbetriebszyklus
wird dann weitergefahren über Terminal 221. Der Gesamt-5
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 Bahnkoordinaten
der akkumulierten inkrementellen Abstände be-10
rechnet, um die Endpunkt-Koordinatensignale zu erzeugen.
Dies erfolgt durch Summierung der Achsenkomponenten des interpolierten inkrementellen Abstandes mit den Koordinaten
des vorherigen inkrementellen Endpunktes. Hiernach
werden die Koordinaten unter Bezugnahme auf das pro-15
grammierte Koordinatensystem des Endpunktes transformiert
in Koordinaten des generalisierten oder Maschinenkoordinatensystems,
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 trigonometrische
Funktionen zu vermeiden, wird ein iterativer Approximations-Algorithmus verwendet, welcher eine
Fehlerfunktion erzeugt, die auf den laufenden Maschinenkoordinatenwerten
beruht. Details dieser Annäherung sind
. —
in der US-PS 3 909 600 dargestellt, auf die hinsichtlich
der Offenbarung der für die Beschreibung dieses Transformationsalgorithmus
in hier notwendigem Umfang ausdrücklich Bezug genommen wird. Beim Prozeßschri.tt 226
wird die Änderung der generalisierten Koordinaten be-
rechnet; beim Prozeßschritt 228 werden die inkrementellen
Unterschiede der generalisierten Koordinaten im l'ulfor IUr do η Zu y an y durch das Servoun terbrechungs-Servi
ce-Programm gespeichert. Wenn das Transformations-Unterprogramm abgeschlossen ist, kehrt der Gesamtbe-
triebszyklus zurück über das Terminal 230. Dies bringt
dann den Prozeß zum Entscheidungsschritt 154 gemäß
Fig. 5a. Unter der Annahme, daß der Gesamtzyklus zum
.:. ;- 33Π263
Prozeßschritt 158 weitergeht, wo der verbleibende Abstand zu dem Beginn der Abbrems-Unterspanne berechnet
wird, führt der Gesamtzyklus das detaillierte Flußprogfamm
gemäß Fig. 6d durch.
In Fig. 6d berechnet der Proz.eßschritt 232 die zum
Abbremsen erforderliche Zeit unter der Annahme, daß der nominale Wert der Beschleunigung A , der während
der Vorbereitung der Spannenvariablen berechnet worden ist, wälirend der P'erfode 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 laufendeVi inkrementejlen
Geschwindigkeit und dieser nominalen Konstanten der
Beschleunigung. Beim Prozeßschritt 234 wird der zum
Abbremsen erforderliche Abstand SQ berechnet unter
der Annahme, daß der Durchschnitt der laufenden inkrementelien
Geschwindigkeit und Null effektiv ist während des im Proz.eßschritt 232. berechneten Intervalls. Und
schließlich wird beim Prozeßschritt 236 der innerhalb
der Spannenlänge von der laufenden interpolierten Position
zu dem Punkt, bei dem der gerade berechnete Abbremsungsabstand SQ beginnen muß, verbleibende Abstand
Sßp berechnet. Es ist daher der verbleibende Abstand SpD
gleich der Gesamtspannenlänge S minus demjenigen Teil
der Spanne, der durch den akkumulierten interpolierten
Abstand S^ und dem Spannenbereich S^, der zum Abbremsen
QQ erforderlich ist, repräsentiert ist. Anschließend an
diese Berechnung fährt der Gesamtbetriebszyklus weiter
beim Entscheidungsschritt 160 der Fig. 5 a, wo festgestellt wird, ob oder ob nicht dieser verbleibende Abstand
SRD geringer ist als der laufende effektive in-
Q5 krementelle Abstand ÄS. Wenn der verbleibende Abstand
SRD nicht kleiner ist als der laufende effektive inkrementelle
Abstand Δ-S, dann kann ein weiteres Inkrement
dieses Abstandes interpoliert werden. Wenn jedoch der
laufende effektive inkrementell Abstand größer ist als
der berechnete verbleibende Abstand, so ist es notc wendig, unmittelbar mit der Abbremsung zu beginnen.
Das Abbremsungs-Unterprogramm erzeugt auf iterativem Wege abnehmende Werte der inkrementellen Geschwihdigkeits·
variablen V1. im Einklang mit einer kontinuierlichen
in Funktion der Beschleunigung. Am Beginn des Abbrems-Unterprogramms
wird die Inkremental geschwind!gkeit 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 Geschwindigkeit
des Werkzeugmittelpunkts auf eine Endgeschwindigkeit
zu bringen. Der Interpolationsprozeß 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 Beschleunigungs-Unterspannen
oder -phasen, Unterspannen oder
Phasen konstanter Geschwindigkeit und Unterspannen
30
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 programmierte
Geschwindigkeit erreicht. Dies tritt auf, wenn die programmierte Spannenlänge nicht ausreichend
ist, um eine Beschleunigung auf die programmierte Geschwindigkeit
zu erlauben, bevor der Entscheidunas-
schritt 160 gemäß Fig. 5a die Notwendigkeit feststellt,
die Äbbremsung zu beginnen. Nachdem die Wirkung des
Abbrems-Unterprogramms darin besteht, die Interpolation g entlang der Bahn fortzusetzen, um den Werkzeugmittelpunkt
zu einer Endgeschwindigkeit für die programmierte 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
konti nuieriiche Geschwindigkeitsvariationen während
der Beschleunigungs- und Abbremsphasen der Bewegung sorgt, kann eine zusätzliche Geschwindigkeitsvariation
lf- leicht ermöglicht werden, wie weiter oben unter Bezugnahme
auf den Prozeßschritt 162 gemäß Fig. 5a angedeutet wurde. Während die bevorzugte Ausführungsform
automatisch im Einklang mit den unprogrammierten Variationen eines Arbeitsprozeßparameters erzeugte Geschwi
ndi gkei tsvari.ationen betrifft, können auch manuell erzeugte Parametervariationen vorgenommen werden, um
eine vom Operator gesteuerte Geschwindigkeitsübersteuerung
zu ermöglichen. Mittels eines Meßwertwandlers 124 kann ein Wert eines Eingangssignals
eines Arbeitsprozeßparameters wie beispielsweise das
Drehmoment eines Werkzeugantriebsmotors Ϊ2Ό kontinuierlich
überwacht werden. Dieser Drehmomentswert kann dann in einen digitalen Wert bei dem Benutzer-Ei
ngangs/Ausgangs- Interface 56 (analog zu Digitalö
konverter) konvertiert werden; und, vorausgesetzt, daß eine geeignete Fehlerfunktion geschaffen ist,
können Geschwiridigkeitsvariationen in Abhängigkeit
von dem gemessenen Drehmoment erzeugt werden. Diese Geschwindigkeitsvariationen können dann in den Gesamt-Betriebszyklus
durch ein Unterprogramm ergänzend eingefügt werden, welches durch den Prozeßschritt 162
gemäß Fig. 5a abgerufen wird.
Bei dem von der Anmelderin gewählten analog zu Digitalkonverter 56 wird das Prozeßparameter-Eingangssignal
in eine fünf-Bit-Binärzahl konvertiert, welche den
5
Wert eines Prozeßparametersignals definiert. Dem Fachmann 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 15
adaptiven Geschwindigkeitssteuerung gezeigt. Die Erfindung
der Anmelderin ermöglicht die Spezifikation
programmierter Spannen als Spannen adaptiver Geschwindigkeit durch Aufnahme von adaptiver Geschwindigkeitsfunktionssi
gnal e in die Sätze der Eingangssignale,
welche eine bestimmte programmierte Spanne beschreiben. Es wird daher beim Entscheidungsschritt 240 festgestellt,
ob mit der laufenden programmierten Spanne die adaptive Geschwindigkeitsfunktion programmiert ist. Falls
nicht, wird eine Rückkehr durch das Terminal 244 qe-25
macht, welche eine Fortsetzung des Gesamtb"etriebsz.ykl us
beim Prozeßschritt 152 der Fig. 5a ermöglicht. Wenn die
adaptive Geschwindigkeitsfunktion für die laufende
Spanne programmiert worden ist, dann stellt der Entscheidungsschritt
242. fest, ob die laufende Inkremental-30
geschwindigkeit V^ kleiner ist als die Minimalgeschwindigkeit
V · , unterhalb der eine weitere Abnahme nicht erlaubt ist. Wenn die laufende Inkrementalgeschwindigkein
Vj1, geringer ist als die Mi nimal geschwi ndi gkeit
Vmi-n, so wird eine Rückkehr durch das Terminal 244
durchgeführt. Wenn jedoch die laufende Inkrementalgeschwi
ndi gkeit V. nicht kleiner ist als die Minimalgeschwindigkeit
Vmi.n, dann fährt die adaptive Geschwin-
.:. - ;;;■-' 33Π263
digkeitsprozedur weiter beim Entscheidungsschritt 246,
um den derzeitigen Zustand des Statuskonditionssignals
der adaptiven Steuerungsfunktion festzustellen.
Wenn das adaptive Steuerungsunterprogramm einen Inkremental geschwi ndi gkeitswert erzeugt, welcher dahingehend
wirksam ist, die Interpolation für das laufende Inkrement zu steuern, dann wird das Kennzeichen oder
Zustandssignal für die adaptive Geschwindigkeit gesetzt,
um anzuzeigen, daß die adaptive Geschwindigkeitsprozedur
die Geschwindigkeit steuert. Wenn daher beim Entscheidungsschritt 246 das Kennzeichen "adaptive
Geschwindigkeit" gesetzt worden ist, so fährt die Pro-15
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 Geschwindigkeit" gesetzt wird. Beim Prozeßschritt 250 wird der
laufende Wert des inkrementellen Geschwindigkeitssignals an einem mit dem Namen "OLD" versehenen Ort
gespeichert. Dieser gespeicherte inkrementel1e Geschwindigkeitswert
entspricht dem Geschwindigkeitswert V- gemäß Fig. 4c. Anschließend an den Prozeß-T-a
schritt 250 fährt die adaptive Geschwindigkeitsprozedur
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 multipliziert wird, welches mit den die Manipulatorbewegung
beschreibenden Eingangssignalen programmiert ist. Beim 35
Entscheidungsschritt 254 wird festgestellt, ob oder
ob nicht der Prozeßparamterwert gleich ist dem Prozeßparameter-Referenzwert.
Um zu ermöglichen, daß ein möglichst breites Spektrum an Anwendungen an eine relativ einfache Adaptivge-
._ schwindi gkeitsprozedur angepaßt werden kann, hat die
b
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 unterschiedliche
Metallentfernungswerkzeuge vom Werkzeugmotor 120 getragen werden können, unterschiedliche
Drehmomentswerte als Referenzwerte ausgewählt werden, überhalb denen Geschwindigkeits-verminderung erforderlich
ist. Dem Fachmann ist klar, daß es zum Bewirken der 15
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
20
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-25
den ist, daß der laufende gemessene Wert d"es 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 26T, wo die adaptive Prozeßae-30
schwindigkeit V^ gleich der vorhergehenden inkrementalen
Geschwindigkeit VK_» gesetzt wird. Wenn andererseits
beim Entscheidungsschritt 254 festgestellt worden ist,
daß der aktuelle Wert d.es Prozeßparametersignals nicht
gleich ist dem Referenzwert, so fährt der Prozeß weiter 35
beim Prozeßschritt 256, wo ein neuer Wert des Prozeßparameter-Geschwindigkeitssignals
V«K 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-Geschwindigo
keitssignalwert multipliziert wird mit dem Wert eines
Parämeterfaktorsignals, welcher einen Prozentsatz darstellt,
der auf der Differenz zwischen dem gemessenen ProZeßparameter und dem Referenzwert des Parameters
basiert. Beim Entscheidungsschritt 258 wird festgestellt,
ob dieser berechnete Wert des Prozeßparameter-Geschwindigkeitssignals
kleiner ist als der adaptive Minimal geschwindi.gkeitswert VKm und falls er dies nicht
ist, so fährt die Prozedur fort am Entscheidungsschritt
262. Falls der berechnete Wert von VflI, geringer ist als
" K·
die adaptive Minimalgeschwindigkeit V«», wird ein weiterer
Test beim Entscheidungsschritt 259 gemacht, um
festzustellen, ob der laufende Wert des Inkrementalgeschwindi
gkeitssignals ν» geringer ist als der Wert des Prozeßparameter-Geschwindigkeitssignals V..,. Wenn Vw
kleiner ist als VAi/>
dann resultiert aus dem Prozeßparameterfaktor ein Ansteigen des 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 25
Entscheidungsschritt 254 eine Berechnung d^s adaptiven
Geschwindigkeitswertes erforderlich gemacht oder den
erzwungenen Wert des Prozeßschrittes 261. Beim Entscheidungsschritt
262 wird festgestellt, ob der effektive
adaptive Geschwindigkeitswert kleiner als der
bei OLD gespeicherte Wert ist. Falls nicht, wird beim PruzüiisthfHl «-60 dar laufende Wer L ikib i nkremunld | en
Geschwindigkeitssignals gleichgesetzt dem bei OLD gespeicherten Wert und beim Prozeßschritt 268 wird das
Kennzeichen "adaptive Geschwindigkeit" wieder gesetzt. 35
Hiernach gelangt der Gesamtbetriebszyklus wieder zurück
durch das Terminal 270.'Es ist ersichtlich, daß die Wirkun'g des Entscheidungsschrittes 262 darin liegt, die
Wiederaufnahme der nicht adaptiven Geschwindigkeitssteuerung zu erzeugen, wie dies durch die Kurve 146
der Fig. 4c anschließend an den Punkt T dargestellt ist. Falls beim Entscheidungsschritt 258 festgestellt
worden ist, daß der berechnete Wert des Prozeßparameter-Geschwindigkeitssignals
kleiner ist als der Mini ma!wert
V , so fährt der Prozeß durch den Entscheidungsschritt 259 fort. Falls hier festgestellt worden ist, daß der
laufende Wert von \l„ kleiner ist als V.,,, so wird eine
weitere Verminderung der Geschwindigkeit erforderlich
und der Wert des Inkrements wird auf den Wert der adaptiven Minimal geschwind!gkeit V«» gesetzt. Anschlies-
send an den Prozeßschritt 260 geht der Gesamtbetriebs-Ib
zyklus durch Rückkehr über das Terminal 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
20
Mittel darstellt, welches es dem durch die adaptive Geschwindigkeitsprozedur
bestimmten Geschwindigkeitswert erlaubt, zu steuern, wenn der Prozeßparameter-Geschwindigkeitswert
geringer ist als der bei OLD gespeicherte __ Inkremental geschwind!gkeitswert. D.h., die den Ent-Scheidungsschritt
212 und den Prozeßschrift 216 überspringende Schleife bewirkt, daß der von der adaptiven
Geschwindigkeitsprozedur erzeugte Prozeßparametergeschwindigkeitswert
in der Berechnung des Entfernungsinkrements beim Prozeßschritt 218 verwendet wird. Wenn
die adaptive Geschwindigkeitsfunktion aktiv ist, die.
Messung des Prozeßparamters jedoch einen Wert produziert, der eine Verminderung des laufenden Inkrementa]geschwindigkeitswertes
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ß$chritt
216 oder 214 das nächste Inkrementgeschwindigkeitssignal
erzeugt. Die adaptive Geschwindigkeitssteuerung ist auf
diese Weise selektiv ausgelegt, darauf basierend, ob odei" ob nicht der laufenden Spanne die adaptive Ge- :
ι
schwin.di gkeitsfunktion zugeordnet ist und ob oder ob
nicht der laufende gemessene Wert des Prozeßparametersigftals
eine Verminderung der effektiven Inkrementalgeschwindigkeit
erfordert, um das gewünschte Resultat
- j
zu erzielen. Insbesondere, wenn die Betriebsweise des
.,
Rauhgußreinig.ens betrachtet wird, können geeignete Werte des Prozeßparameterreferenzsignals so gewählt
werden, daß das durch den Meßwertwandler 124 gemessene
Drehmoment aktuelle Werte liefert, die sowohl |
oberhalb als auch unterhalb des Parameterreferenz-15
wertes liegen. Wenn das gemessene Drehmoment unterhalb des Parameterreferenzwertes liegt, so wäre das Ergebnis
des Entscheidungsscjiri ttes 254 der Fig. 7 das, daß ein
berechneter Prozeßparametergeschwi ndigkeitswert erzeugt
wird. Beim Entscheidungsschritt 262 würde sich jedoch
20
herausstellen, daß der berechnete Wert den gespeicherten
Inkremental geschwindigkeitswert überschreitet, und es"Würde hieraus keine Verminderung der Geschwindigkeit
erfolgen. Andererseits würde, sobald das gemessene
Drehmoment den Parameterreferenzwert übersteigt, der
25
berechnete Adaptivgeschwindigkeitswert geringer sein
als der bei OLD gespeicherte Wert und es würde der reduzierte Geschwindigkeitswert steuern.
Während die Erfindung im Zusammenhang mit dem bevor-30
zugten Ausführungsbeispiel in einigen Details dargestellt
und beschrieben worden ist, soll hierdurch die Erfindung nicht auf solche Details beschränkt werden.
Sämtliche aus der Beschreibung, den Ansprüchen und Zeichnungen hervorgehenden Merkmale und Vorteile der Erfindung,
einschließlich konstruktiver Einzelheiten und räumlicher
Anordnungen,können sowohl für sich als auch in beliebiger Kombination erfindungswesentlich sein.
10 Manipulator
12 Basis
14 Druckbetätigungseinrichtung
16 Kupplung
18 Platte
20 Betätigungseinrichtung
22 Oberarm
23 Gelenk
24 Betätigungseinrichtung
25 Eilbogengelenk
26 Unterarm
27 Handgelenk
28 Betätigungseinrichtung
30 Betätigungseinrichtung 15
31 Funktionselement
32 Betätigungseinrichtung
33 Vorderplatte
34 Werkzeugmittelpunkt
35 Steuerung
36 Kontrollpulteinheit
38 Steuerung
39 Servoantriebseinheit
40 Computer
42 Speicher
25
25
44 Interface · ·
46 Zentraleinheit
48 Hauptweg
50
52 Lehreinheit
30
30
54 Steuerungs-Eingangs/Aus gangs-Interface
56 Benutzer-Eingangs/Ausgangs-Interface
58 On-Iine-Interface
60 Off-1ine-Datenspeicher-Interface
62 Kathodenstrahlröhre
64 Tastenfeld
66 Achsantriebs-Interface
68 Achsen-Kompensations- und Servoverstärker
70 Betätigunseinrichtung
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/0-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 Funkt'onssteuerprogramm
111 peripheres Seryiceprogramm
112 Geschwindigkeitsmodifi kationsprogramm
120 Werkzeugmotor
122 Schleifwerkzeut
124 Meßwertwandler
130 Liniensegment
132
134 "
136
140 "
T42 Kurve
144 "
146
Leerseite
Claims (16)
1) Eine Mehrzahl von Gliedern, welche eine Mehrzahl von Bewegungsachsen definieren, wobei zumindest einige
der Glieder miteinander über Rotationsachsen gekoppelt sind, wobei die Glieder und Bewegungsachsen ein generalisiertes
Koordinatensystem definieren, und
2) eine Mehrzahl von Betätigungseinrichtungen, wobei
jedem Glied mindestens eine Betätigungseinrichtung
zum Bewegen des Gliedes zugeordnet ist,
B) eine Manipulatorsteuerung mit einem Speicher zum Speichern
von Eingangssignalen, welche Positionen
definieren, und einen mit den Betätigungseinrichtungen
verbundenen Servomechanismus, um die Bewegung der Glieder zu s.teuern, wobei die Steuerung folgende
Schritte ausführt:
1) Erzeugen in Abhängigkeit vom Arbeitsprozeßparameter-Eingangssignal
ein Prozeßparametersignal, welches
den Wert eines Arbeitsprozeßparameters darstellt, 15
2) Erzeugen eines Inkremental interval 1 signals , welches
eine Zeitdauer zum Bewegen des Werkzeugmittelpunktes
durch ein Verschiebungsinkrement entlang der Bahn hindurch darstellt,
3) Erzeugen in Abhängigkeit vom Prozeßparametersignal
ein Prozeßparameter-Geschwindigkeitssignal, welches
die effektive Geschwindigkeit des Werkzeugmittelpunkts
während der Zeitdauer darstellt,
4) Erzeugen in Abhängigkeit vom Inkrementintervallsignal
und dem Prozeßparameter-Geschwindigkeitssignal ein
Inkrementabstandssignal , welches ein Verschiebungsinkrement
entlang der Bahn darstellt,
5) Erzeugen von Endpunktkoordinatensignalen, welche die
Koordinaten eines Endpunktes des Inkrements bezüglich eines ersten Koordinatensystems darstellen,
6) Erzeugen in Abhängigkeit von den Endpunktkoordinatensignalen einen Satz von Maschinenkoordinatensignalen,
welche die Koordinatenwerte der Endpunkte bezüglich
des verallgemeinerten Koordinatensystems darstellen,
7) Zuführen des Satzes von Maschinenkoordinatensignalen
5
zu dem Servomechanismus, um eine koordinierte Bewegung
der Glieder, zu bewirken, um den WerkzeugsnHttelpunkt
zu der durch die Endpunktkoordinatensignale definierte Position zu bewegen, und
iterative Wiederholung der Schritte 1 bis 7, um den Werkzieugsmi-ttelpunkt durch eine Anzahl von Inkrementen
hindurch entlang der Bahn zwischen den durch die Eingangssignale definierten Positionen zu bewegen mit
einer Geschwindigkeit, welche im Einklang mit den nicht programmierten Variationen des Arbeitsprozeßparameters bestimmt ist.
2. Vorrichtung nach Anspruch t, dadurch gekennzeichnets
daß der Schritt der Erzeugung eines Prozeßparametei—
20
Geschwindigkeitssignals weiterhin folgende Schritte umfaßt:
A) Erzeugen in Abhängigkeit vom Prozeßparametersignal
ein Parameterfaktorsignal, welches eine willkürlich
25
gewählte Bemessung des Prozeßparameters—darstellt, und
B) Multiplikation des vorhergehenden Prozeßparameter-Geschwindigkeitssignals
mit dem Parameterfaktorsignal zum Erzeugen des Prozeßparameter-Geschwindigkeitssignals.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet,,
daß der Schritt der Erzeugung der Endpunktkoordinatensignale
weiterhin den Schritt des Erzeugens eines akkumulierten Inkrementabstandssignals umfaßt, welches
die Summe der von der letzten durch Eingangssignale
definierten Position entfernten Inkrementabstandssignale darstellt.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet,
daß der Arbeitsprozeßparameter das Drehmoment eines Schneidwerkzeugs relativ zu einem Werkstück ist.
5. Vorrichtung zum Bewegen eines Funktionselements im
Einklang mit Eingangssignalens welche bezüglich eines
ersten Koordinatensystems Positionen und hierzwischen vorhandene Bahngeschwindigkeiten eines dem Funktionselement
zugeordneten Werkzeugmittelpunkts definieren, wobei der Werkzeugmittelpunkt einer vorbestimmten Bahn
zwischen zwei beliebigen Positionen folgt und wobei weiterhin Eingangssignale einen variablen Parameter,
definieren, welcher unprogrammierten Variationen . _ unterliegt, wobei die Vorrichtung folgendes umfaßt:
A) Einen Manipulator, auf dem das Funktionselement befestigt ist, wobei der Manipulator folgendes
aufweist:
1) Eine Mehrzahl von Gliedern, welche eine Mehrzahl von
Bewegungsachsen definieren, wobei zumindest einige der Glieder über Rotationsachsen miteinander gelenkig
verbunden sind, wobei die Glieder und Bewegungsachsen
__ ein generalisiertes Koordinatensystem definieren, und
Zo
2) eine Mehrzahl von Betätigungseinrichtungen, wobei einem
jedem Glied mindestens eine Betätigungseinrichtung zur
Bewegung des Gliedes zugeordnet ist,
B) eine Manipulatorsteuerung, welche einen Speicher zum
Speichern von'Eingangssignalen umfaßt, welche Positionen
und Bahngeschwindigkeiten definieren, und einen Servomechanismus, welcher mit den Betatigungseinri.cn-
__ tungen verbunden ist, um die Bewegung der Glieder zu
ob
steuern, wobei die Steuerung folgende Schritte ausführt:
1) Erzeugen in Abhängigkeit von dem dem variablen Parameter zugeordneten Eingangssignal ein Prozeßparametersignal,
welches den Wert des variablen Parameters dar-
c stellt,
ο
ο
2) Erzeugen eines Inkrementintervallsignals, welches eine
Zeitdauer zum Bewegen des Werkzeugmittel punkte's durch
ein Verschiebungsinkrement entlang der Bahn darstellt,
3) Erzeugen in Abhängigkeit der Positionen und Bahngeschwindigkeiten
definierenden Eingangssignale ein Inkrementgeschwindigkeitssignal, welches die effektive
Geschwindigkeit des Werkzeugmittelpunktes während der Zeitdauer darstellt,
4) Erzeugen in Abhängigkeit von dem Prozeßparametersignal
ein Prozeßparameter-Geschwindigkeitssignal, welches
die effektive Geschwindigkeit des Werkzeugmittelpunktes
während der Zeitdauer darstellt,
5) Erzeugen eines Inkrementabstandssignals in Abhängigkeit
von dem Inkrementintervallsignal und dem kleineren
von Inkrementgeschwindigkeitssignal und Prozeß-
__ parameter-Geschwindigkeitssignal, wobei das Inkrement-
abstandssignal den während der Zeitdauef'zu überwindenden
Abstand darstellt,
6) Erzeugen von Endpunktkoordinatensignalen, welche die
Koordinaten eines Endpunktes des Inkrements bezüglich 30
des ersten Koordinatensystems darstellen,
7) Erzeugen in Abhängigkeit von den Endpunktkoordinatensignalen einen Satz von Maschinenkoordinatensignalen,
welche Koordinatenwerte der Endpunkte bezüglich des generalisierten Koordinatensystems darstellen,
JJ I /ZDJ
8) Zuführen des Satzes der Maschinenkoordinatensignale zu
den Servomechanismen, um eine koordinierte Bewegung der Glieder zu bewirken, um den Werkzeugmittelpunkt
κ zu den durch die Endpunktkoordinaten definierten
Positionen zu bewegen, und
9) iterative Wiederholung der Schritte 1 bis 8, um den
Werkzeugmittelpunkt durch eine Serie von Inkrementen
hindurch zwischen den durch die Eingangssignale
definierten Positionen mit einer Geschwindigkeit
zu bewegen, welche selektiv durch die Eingangssignale und durch die unprogrammierten Variationen
des variablen Parameters definiert ist.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet,
daß der Schritt der Erzeugung eines Prozeßparameter-Geschwindigkeitssignals
weiterhin folgende Schritte umfaßt:
A) Erzeugen in Abhängigkeit vom Prozeßparametersignal
ein Parameterfaktorsignal, welches eine willkürlich
gewählte Bemessung des Prozeßparameters darstellt, und
- —
B) Multiplikation des vorhergehenden Prozeßparameter-Geschwindigkeitssignals
mit dem Parameterfaktorsignal, um das Prozeßparameter-Geschwindigkeitssignal
zu erzeugen.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet,
daß der variable Parameter das Drehmoment eines Schneidwerkzeugs relativ zu einem Werkstück ist.
g5 8. Vorrichtung zum Bewegen eines Funktionselements im
Einklang mit vorprogrammierten Eingangssignalen, welche
bezüglich eines ersten Koordinatensystems Positionen und hierzwischen Bahngeschwindigkeiten eines dem Funktions-
331726
element zugeordneten Werkzeugmittelpunktes definieren, wobei der Werkzeugmittelpunkt einer vorbestimmten Bahn
zwischen zwei beliebigen Positionen folgt, und wobei
weiterhin vorprogrammierte Eingangssignale einen Prozeß-5
parameterreferenzwert definieren und wobei weiterhin
Eingängssignale einen Arbeitsprozeßparameter definieren, welcher umprogrammierten Variationen unterliegt, dadurch
gekennzeichnet, daß die Vorrichtung folgendes umfaßt:
:
A) Einen Manipulator, auf dem das Funktionselement angeordnet
ist, wobei der Manipulator folgendes aufweist:
1) Eine Mehrzahl von Gliedern, welche eine Mehrzahl von
.Bewegungsachsen definieren, wobei zumindest einige 15
der Glieder über Rotationsachsen gelenkig miteinander
verbunden sind, wobei die Glieder und Bewegungsachsen ein generalisiertes Koordinatensystem definieren, und
2) eine Vielzahl von Betätigungseinrichtungen, wobei einem
20
jeden Glied zumindest eine Betätigungseinrichtung zugeordnet
ist, um das Glied zu bewegen,
B) eine Manipulatorsteuerung, welche einen Speicher zum
Speichern vorprogrammierter Eingangssignale und einen
— -
Servomechanismus aufweist, der mit der Betätigungseinrichtung verbunden ist, um die Bewegung der Glieder
zu steuern, wobei die Steuerung folgende Schritte ausführt:
1) Erzeugen in Abhängigkeit des Arbeitsprozeßparameter-
eingangssignals ein .Prozeßparametersignal, welches
den Wert eines Arbeitsprozeßparameters darstellt,
2) Erzeugen eines Prozeßparameter-Geschwindigkeitssignals
35
in Abhängigkeit des Unterschiedes des Wertes des Prözeßparametersignals vom Wert des Prozeßparameter-Eihgangssignals,
wobei das Prozeßparameter-Geschwindig-
I /ZbJ
keitssignal den Wert der Geschwindigkeitsfunktion in
Abhängigkeit von dieser Differenz darstellt,
3) Erzeugen eines Inkrementintervallsignals, welches
eine Zeitdauer zum Bewegen des Werkzeugmittelpunktes durch durch ein Inkrement hindurch entlang der Bahn
darstellt,
4) Erzeugen eines Inkrementgeschwindigkeitssignals,
in Abhängigkeit von den vorprogrammierten Eingangssignalen, welche Positionen und Bahngeschwindigkeiten
definieren, wobei das Inkrementgeschwindigkeitssignal
die Geschwindigkeit des Werkzeugmittelpunkts während
._ der Zeitdauer darstellen,
5) Erzeugen in Abhängigkeit von dem Inkrementintervallsignal
und selektiv vom P.rozeßparameterrGeschwindigkeitssignal und dem Inkrementgeschwindigkeitssignal
ein Inkrementabstandssignal, welches ein Inkrement
der Verschiebung entlang der Bahn darstellta
•6) Erzeugen von Endpunktkoordinatensignalen, welche die Koordinaten bezüglich des ersten Koordinatensystems
des Endpunkts des Inkrements darstellen,
7) Erzeugen in Abhängigkeit von den Endpunktkoordinatensignalen
einen Satz von Maschinenkoordinatensignalen, welche Koordinatenwerte des Endpunkts bezüglich dem
generalisierten Koordinatensystem darstellen,
30
8) Führen der Sätze von Maschinenkoordinatensignalen zu
den Servomechanismen, um eine koordinierte Bewegung der Glieder zu bewirken, um den Werkzeugmittelpunkt
in die durch die Endpunktkoordinate definierte Position zu bewegen, und
9) Iterative Wiederholung der Schritte 1 bis 8, um den
W&rkzeugmittelpunkt durch eine Reihe von Inkrementen
zwischen zwei durch die Eingangssignale definierten Positionen zu bewegen.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die Steuerung weiterhin folgende Schritte durchführt:
A) Erzeugen eines adaptiven Steuerungsstatussignals, wel-5
ches eine Bedingung darstellt, und der ein Prozeßparameter-Geschwindigkeitssignal
für ein Inkrement wirksam ist,
B) Speichern des Inkrementgeschwindigkeitssignals, wenn
das Statussignal die Bedingung als falsch angibt,
C) Vergleichen des Prozeßparameter-Geschwindigkeitssignals
mit dem gespeicherten Inkrementgeschwindigkei ts sign al ,
D) Setzen des Statussignals, um wiederzuspiegeln, daß die
Bedingung falsch ist, in Abhängigkeit davon, daß das Prozeßparameter-Geschwindigkeitssignal nicht kleiner
ist als das gespeicherte Signal, und
E) Auswählen für das effektive Geschwindigkeitssignal,
das kleinere des Prozeßparameter-Geschwindigkeitssignals
und des gespeicherten Inkrementgeschwindigkei tssignal s.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß der Schritt zum Erzeugen eines Inkrementgeschwindigkeitssignals
weiterhin folgende Schritte umfaßt:
A) Testen des adaptiven Steuerstatussignals auf dessen
Zustand hind,· und
B) Verhindern der Erzeugung eines Inkrementgeschwindigkeitssignals
in Abhängigkeit zu dem die richtige Bedingung darstellenden Statussignal.
'irf
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet,
daß der Schritt der Erzeugung eines Prozeßparameter-Geschwindigkeitssignals
weiterhin folgende Schritte umfaßt:
A) Erzeugen in Abhängigkeit von der Differenz zwischen
dein Prozeßparametersignal und dem vorprogrammierten
Prozeßparameter-Referenzsignal ein Parameterfaktorsignal, welches eine willkürlich gewählte Bemessung
der Differenz darstellt, und
B) Multiplizieren des vorhergehenden Prozeßparameter-Geschwindigkeitssignals
mit dem Parameterfaktor-
,c signal, um das Prozeßparameter-Geschwindigkeitssignal
zu erzeugen.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß der Arbeitsprozeßparameter das relative Drehmoment
on zwischen dem Schneidwerkzeug und dem Werkstück ist.
13. Vorrichtung zum Bewegen eines Funktionselements im
Einklang mit vorprogrammierten Eingangssignalen, welche bezüglich eines ersten Koordinatensystems Positionen
oc und hierzwischen Bahngeschwindigkeiten eines dem Funktionselement
zugeordneten Werkezugmittelpunkts definieren,
wobei der Werkzeugmittelpunkt einer vorbestimmten Bahn zwischen beliebigen zwei Positionen folgt, und wobei
weiterhin vorprogrammierte Eingangssignale eine adaptive
Geschwindigkeitsfunktion und einen Arbeitsprozeßparameter-30
wert definieren und wobei weiterhin Eingangssignale einen
Arbeitsprozeßparameter definieren, welcher unprogrammierten Variationen unterliegt, dadurch gekennzeichnet, daß
die Vorrichtung folgendes umfaßt:
A) Einen Manipulator, auf dem das Funktionselement befestigt
ist, wobei der Manipulator folgendes aufweist:
JJ f / Ζό'3
1) Eine Mehrzahl von Gliedern, welche eine Mehrzahl von Bewegungsachsen beschreiben, wobei zumindest einige
der Glieder über Rotationsachsen untereinander ge-5
lenkig verbunden sind, wobei die Glieder und Bewegungsachsen ein generalisiertes Koordinaten-^
system definieren, und
2) eine Mehrzahl von Betätigungseinrichtungen, wobei
IO
jedem Glied zumindest eine Betätigungseinrichtung
zur Bewegung des Gliedes zugeordnet ist,
B) eine Manipulatorsteuerung mit einem Speicher zum
Speichern vorprogrammierter Eingangssignale und 15
einem mit der Betätigungseinrichtung verbundenen Servomechanismus zum Steuern der Bewegung der
Glieder, wobei die Steuerung folgende Schritte durchführt:
1) Erzeugen eines Prozeßparametersignals, welches den
Wert eines Arbeitsprozeßparameters darstellt,
2) Erzeugen in Abhängigkeit von dem adaptiven Geschwindig-
keitsfunktionssignal das Prozeßparametersignal und
. .—
das Prozeßparameter-Referenzsignal, wobei, ein Prozeßparameter-Geschwi.ndigkei
tssignal den Wert einer Geschwindigkeitsfunktion
darstellt, in Abhängigkeit von dem Wert des Arbeitsprozeßparameters,
3) Erzeugen eines Inkrementinterval1 signals, welches eine
Zeitdauer zum Bewegen des Werkezugmittelpunktes durch ein Inkrement hindurch entlang der Bahn darstellt,
4) Erzeugen eines Inkrementgeschwindigkeitssignals in
5
Abhängigkeit von den vorprogrammierten Eingangssignalen, welche Positionen und Bahngeschwindigkeit hierzwischen
definieren, wobei das Inkrementgeschwindigkeitssignal
·
die Geschwindigkeit des Werkzeugmittelpunkts während
der Zeitdauer definiert,
5) Erzeugen in Abhängigkeit von dem Inkrementintervallsignal
und selektiv das Prozeßparameter-Geschwindigkeitssignal und das Inkrementgeschwindigkeitssignal,
wobei ein Inkrementabstandssignal ein Verschiebungsinlcrement
entlang der Bahn repräsentiert,
6) Erzeugen von Endpunktkoordinatensignalen, welche die
Koordinaten eines Endpunkts des Inkrements bezüglich eines ersten Koordinatensystems darstellen,
7) Erzeugen in Abhängigkeit von den Inkrementendpunktr
koordinatensignalen einen Satz von Maschinenkoordinatensignalen,
welche Koordinatenwerte der Endpunkte bezüglich des generalisierten Koordinatensystems
darstellen,
8) Zuführen des Satzes von Maschinenkoordinatensignalen
zum Servomechanismus, um eine koordinierte Bewegung der Glieder zu bewirken, um den Werkzeugsmittelpunkt
zu der Position zu bewegen, die durch die Endpunktkoordinaten definiert sind, und
25
25
iteratives Wiederholen der Schritte 1 bis 8, um zu veranlassen, daß sich der Werkzeugmittelpunkt durch
eine Serie von Inkrementen hindurch zwischen den durch
die vorprogrammierten Eingangssignale definierten
30
Punkten bewegt.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet,
daß der Schritt zum Erzeugen eines Prozeßparameter-Geschwindigkeitssignals
weiterhin folgende Schritte um-35
faßt:
JJ I /ZbJ
A) Erzeugen in Abhängigkeit von einer Differenz zwischen dem Prozeßparameter-Referenzsignal und dem Prozeßparametersignal
ein Parameterfaktorsignal, welches eine willkürlich gewählte Bemessung der Differenz
darstellt, und
B) Multiplikation des vorhergehenden Prozeßparameter-Geschwindigkeitssignals
mit dem Parameterfaktorsignal, um das Prozeßparameter-Geschwindigkeitssignal zu erzeugen.
15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß der Schritt zum Erzeugen des Inkrementabstandsignals
weiterhin folgende Schritte umfaßt:
A) Vergleichen des Inkrementgeschwindigkeitssignals mit
dem Prozeßparameter-Geschwindigkeitssignal ,
B) Auswählen des Inkrementgeschwindigkeitssignals, wenn
das Inkrementgeschwindigkeitssignal kleiner ist als
das Prozeßparameter-Geschwindigkeitssignal, und
C) Auswählen des Prozeßparameter-Geschwindigkeitssignals,
wenn das Prozeßparameter-Geschwindigkeitssignal kleiner
ist als das Inkrementgeschwindigkeitssignal.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß der Arbeitsprozeßparameter das relative Drehmoment
zwischen einem Schneidwerkzeug und dem Werkstück 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 true DE3317263A1 (de) | 1984-02-09 |
DE3317263C2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3422107A1 (de) * | 1983-06-14 | 1984-12-20 | Mitsubishi Denki K.K., Tokio/Tokyo | Roboter-steuereinrichtung |
Families Citing this family (46)
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 |
US5307447A (en) * | 1982-10-29 | 1994-04-26 | Kabushiki Kaisha Toshiba | Control system of multi-joint arm robot apparatus |
EP0108549B1 (de) * | 1982-10-29 | 1988-01-07 | Kabushiki Kaisha Toshiba | Kontrollsystem für einen mehrfach gegliederten Roboterarm |
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 | 工業用ロボツトの円弧制御法 |
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 |
WO1992002871A1 (en) * | 1990-08-08 | 1992-02-20 | Digital Arts Film & 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 |
US8738181B2 (en) | 2007-04-16 | 2014-05-27 | Alexander Greer | Methods, devices, and systems for automated movements involving medical robots |
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 |
WO2016187119A1 (en) * | 2015-05-16 | 2016-11-24 | Abb Technology Ag | Rotary supplemental axis for robot |
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 | 苏州诺克智能装备股份有限公司 | 一种机械臂协作定位装配方法、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2226480A1 (de) * | 1972-05-31 | 1973-12-06 | Ver Flugtechnische Werke | Steueranordnung fuer einen transferautomat |
DE2330054A1 (de) * | 1972-06-26 | 1974-01-17 | Cincinnati Milacron Inc | Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes |
Family Cites Families (10)
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 |
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 |
DE2622906B2 (de) * | 1975-05-23 | 1981-04-16 | Kobe Steel, Ltd., Kobe, Hyogo | Verfahren und Einrichtung zur Steuerung eines Industrieautomaten |
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2226480A1 (de) * | 1972-05-31 | 1973-12-06 | Ver Flugtechnische Werke | Steueranordnung fuer einen transferautomat |
DE2330054A1 (de) * | 1972-06-26 | 1974-01-17 | Cincinnati Milacron Inc | Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes |
Non-Patent Citations (2)
Title |
---|
SPUR, G.: "Industrieroboter" Carl Hanser Verlag München Wien 1979, S.107 u. 108 * |
WARNECKE/SCHRAFT: "Industrieroboter" 2.Aufl. Krausskopf-Verlag Mainz 1979, S.32 u. 33 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3422107A1 (de) * | 1983-06-14 | 1984-12-20 | Mitsubishi Denki K.K., Tokio/Tokyo | Roboter-steuereinrichtung |
Also Published As
Publication number | Publication date |
---|---|
US4453221A (en) | 1984-06-05 |
GB8313296D0 (en) | 1983-06-22 |
CA1203311A (en) | 1986-04-15 |
JPS59708A (ja) | 1984-01-05 |
GB2119965A (en) | 1983-11-23 |
FR2526703A1 (fr) | 1983-11-18 |
DE3317263C2 (de) | 1988-12-15 |
FR2526703B1 (fr) | 1986-12-26 |
GB2119965B (en) | 1986-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3317263A1 (de) | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung | |
DE2330054C2 (de) | Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes | |
DE2639774C2 (de) | ||
DE60035651T2 (de) | Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern | |
DE102019001948B4 (de) | Steuerung und maschinelle Lernvorrichtung | |
DE60127908T2 (de) | Robotersteuerung | |
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 | |
DE102011110111B4 (de) | Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position | |
DE4000348A1 (de) | Vorrichtung und verfahren zum ueberwachen der bewegungen eines vielgelenkigen roboters | |
DE102014103370B4 (de) | Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators | |
DE112017000203B4 (de) | Numerische Steuerung und numerisches Steuerungsverfahren | |
EP2303521A1 (de) | Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters | |
DE3236320A1 (de) | Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms | |
DE2557464A1 (de) | Steuersystem fuer eine automatische maschine, insbesondere fuer den arm eines roboters | |
EP2796952A1 (de) | Numerische Steuerung mit Möglichkeit zur Änderung des Teileprogramms | |
DE102015114013A1 (de) | Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters | |
DE69316175T2 (de) | Verfahren zur manuellen dateneingabe bei roboter | |
DE10393527T5 (de) | Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung | |
WO2019197669A1 (de) | Biegevorrichtung mit werkstückführung durch mehrgelenkarmroboter | |
DE102016012227A1 (de) | Verfahren zur automatischen Lagekorrektur eines Roboterarms | |
WO2005039836A2 (de) | Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung | |
DE1908757B2 (de) | Steuersystem fuer eine werkzeugmaschine mit einer werkzeugmaschinensteuerung zum auswerten von teilbefehlen zur steuerung der betriebsweise der werkzeugmaschine | |
DE3635265A1 (de) | Industrieroboter |
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 |