DE3317263A1 - Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung - Google Patents

Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung

Info

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
Application number
DE19833317263
Other languages
English (en)
Other versions
DE3317263C2 (de
Inventor
Malcolm Frederick Davis
Charles Miles 45242 Cincinnati Ohio Linser
Brian John 45213 Cincinnati Ohio Resnick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Milacron Inc
Original Assignee
Cincinnati Milacron Industries Inc Eine Gesellschaft NDGesD Staates Ohio Cincinnati Ohio
Cincinnati Milacron Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cincinnati Milacron Industries Inc Eine Gesellschaft NDGesD Staates Ohio Cincinnati Ohio, Cincinnati Milacron Inc filed Critical Cincinnati Milacron Industries Inc Eine Gesellschaft NDGesD Staates Ohio Cincinnati Ohio
Publication of DE3317263A1 publication Critical patent/DE3317263A1/de
Application granted granted Critical
Publication of DE3317263C2 publication Critical patent/DE3317263C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/416Numerical 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/4163Adaptive 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 ,
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
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
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
44 Interface · ·
46 Zentraleinheit
48 Hauptweg
50
52 Lehreinheit
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)

BROSE' '-p.Karl ηΠ/^ΛΓ*1™ Ingenieure D-8023 München-Pullach, Wiener Str. 2; Tel. (<&9) 7 e3 30 7TuTeiex 5-212147-bOS O1 -Cables: «Patentibus» München ο 1 / ZbJ AHmelderin: Cincinnati Milacron Inc., 4701 Marburg Avenue, Cincinnati, Ohio 45209, USA Ihr Zeichen: Tag: 29. ApHl 1983 Yü ef: case 8215F Dale: Re/hö PATENTANSPRÜCHE 1y Vorrichtung zum Bewegen eines Funktionselements im Einklang mit Eingangssignalen, welche bezüglich eines ersten Koordinatensystems Positionen eines dem Funktionselement zugeordneten Werkzeugmittelpunkts definieren, wobei der Werkzeugmittelpunkt einer vorbestimmten Bahn zwischen zwei beliebigen Positionen folgtj und wobei weitere Eingangssignale einen Arbeitsprozeßparameter definieren, der unprogrammierten Variationen unterliegt, dadurch gekennzeichnet, daß die Vorrichtung folgendes umfaßt: A) Einen Manipulator, an dem das Funktionselement angeordnet ist, wobei der Manipulator folgendes aufweist:
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
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.
DE19833317263 1982-05-13 1983-05-11 Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung Granted DE3317263A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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