DE3317263C2 - - Google Patents

Info

Publication number
DE3317263C2
DE3317263C2 DE3317263A DE3317263A DE3317263C2 DE 3317263 C2 DE3317263 C2 DE 3317263C2 DE 3317263 A DE3317263 A DE 3317263A DE 3317263 A DE3317263 A DE 3317263A DE 3317263 C2 DE3317263 C2 DE 3317263C2
Authority
DE
Germany
Prior art keywords
speed
value
programmed
program
process parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3317263A
Other languages
English (en)
Other versions
DE3317263A1 (de
Inventor
Malcolm Frederick Davis
Charles Miles Linser
Brian John Cincinnati Ohio Us 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
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 Milacron Inc filed Critical Milacron Inc
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

Description

Die Erfindung betrifft eine Einrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Manipulators mit fol­ genden Merkmalen:
  • - Der Manipulator besitzt mehrere bewegliche Arme,
  • - mindestens zwei Arme sind durch eine Drehachse mitein­ ander verbunden,
  • - die Arme und Drehachse(n) definieren ein maschinenorien­ tiertes Koordinatensystem,
  • - der Einrichtung werden Eingangsignale zugeführt, die Punkte längs eines programmierten Weges bezeichnen, den ein Mittelpunkt des Arbeitselementes durchlaufen soll,
  • - die Punkte sind in einem maschinenunabhängigen Koordina­ tensystem definiert,
  • - Die Einrichtung erzeugt iterativ Koordinatensignale von Zwischenpunkten, die auf dem programmierten Weg liegen, und zwar in dem maschinenunabhängigen Koordinatensystem,
  • - diese Koordinatensignale werden zu Koordinatensignalen in dem maschinenorientierten Koordinatensystem transfor­ miert
  • - in Abhängigkeit der Koordinatensignale im maschinenorien­ tierten Koordinatensystem wird der Mittelpunkt des Mani­ pulators längs aufeinanderfolgender Weginkremente entlang dem programmierten Weg bewegt.
Eine Einrichtung dieser Art ist aus der DE-OS 23 30 054 bekannt. Bei dieser bekannten Einrichtung erfolgt die Ge­ schwindigkeitssteuerung unter Berechnung von Zeit- und Distanzwerten für eine Beschleunigungs- und Verzögerungs­ phase. Diese Beschleunigungs- und Verzögerungsphasen sind Unterabschnitten des zu durchlaufenden Weges zugeordnet. Die entsprechenden Werte werden vor der Ausführung der ge­ samten Bewegung errechnet. Hierdurch kann bei dieser be­ kannten Einrichtung der Geschwindigkeitsverlauf des Werk­ zeugs längs der Bahn nur vor der Ausführung festgelegt wer­ den, während der Ausführung der Bewegung dagegen nicht mehr variiert werden. Das Geschwindigkeitsprofil kann damit zwar für unterschiedliche Vorgänge bzw. zu durchlaufende Bahnen unterschiedlich festgelegt werden, ist nach dieser Festle­ gung jedoch starr und nicht mehr veränderbar, es sei denn durch Umprogrammierung der Anlage.
Eine ähnliche Einrichtung ist ferner aus der DE-OS 22 26 480 bekannt, bei welcher die Geschwindigkeit bzw. das Geschwindigkeitsprofil eines Roboterarms fest vorpro­ grammiert wird. Es können hierbei zwar für jeden zu durch­ laufenden Weg beliebige Geschwindigkeitsprofile vorpro­ grammiert werden, es ist jedoch auch dort nicht möglich, die programmierte Geschwindigkeit während der Ausführung des Programms noch in Abhängigkeit von unvorhergesehenen Änderungen eines Prozeßparameters zu ändern.
Grundsätzlich gleiches gilt auch für zwei weitere bekannte Einrichtungen (Warnecke/Schraft: "Industrie-Roboter", Krausskopf-Verlag Main, 1979, S. 32, 33 und Spur/Auer/ Sinning: "Industrieroboter", Karl Hauser Verlag, München, 1979, S. 107, 108). Im ersteren Fall werden Positions- und Geschwindigkeitssollwerte durch eine "externe Datenvorgabe" eingegeben. Bei der zweiten bekannten Konstruktion wird mit Hilfe eines Override-Schalters zwar die Verfahrensgeschwin­ digkeit während des Arbeitsvorganges geändert, wodurch je­ doch offensichtlich nur eine andere Geschwindigkeitsstufe anwählbar ist, deren mechanisches Äquivalent ein anderes Übersetzungsverhältnis eines Getriebes ist. Dieser Override- Schalter wird vom Operator betätigt. Eine Abhängigkeit der Geschwindigkeit von unvorhergesehenen Änderungen eines Ar­ beitsparameters ist dagegen auch dort nicht gegeben.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung der eingangs genannten Art dahingehend zu verbessern, daß eine höhere Flexibilität des Geschwindigkeitsprofils er­ zielt wird, d. h. daß die Bewegungsgeschwindigkeit aufgrund unprogrammierter Variationen eines Prozeßparameters vari­ ierbar ist.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Kennzeichens des Anspruchs 1 gelöst.
Durch die Erfindung wird der Vorteil erzielt, daß die Ge­ schwindigkeit des Werkzeugmittelpunkts auch während der Ausführung eines Programmes jederzeit änderbar ist, also auch, wenn sich das Arbeitselement bereits zwischen pro­ grammierten Bahnpunkten bewegt. Diese Geschwindigkeitsän­ derungen werden durch unprogrammierte, d. h. zufällig auf­ tretende Änderungen eines Arbeitsprozeßparameters eingelei­ tet. Beispielsweise kann ein solcher Arbeitsprozeßparameter das auf ein Schneidwerkzeug, beispielsweise eine Schleif­ scheibe, ausgeübte Drehmoment sein, welches dann auftritt, wenn das Werkzeug mit dem Werkstück in Berührung kommt. Der Mittelpunkt oder Bezugspunkt des Werkzeugs bewegt sich wei­ terhin längs des vorgesehenen, beispielsweise gradlinigen Wegs zwischen den vorprogrammierten Punkten. Seine Vor­ schubgeschwindigkeit wird längs dieses Weges dagegen in Ab­ hängigkeit von dem Drehmoment des Schneidwerkzeugs geändert. Hierbei wird der gemessene Arbeitsprozeßparameter oder Meß­ wert dazu verwendet, ein Geschwindigkeitssignal zu erzeugen welches seinerseits die Interpolation der Zwischenpunkte längs des vorgegebenen Weges beeinflußt. Höhere Geschwindig­ keitswerte führen zu größeren Weginkrementen zwischen zwei Zwischenpunkten. Wenn der Bezugspunkt des Werkzeugs das Ende des vorgegebenen Weges erreicht, so ist für eine auto­ matische Abbremsung erforderlich, den aktuellen Geschwin­ digkeitswert des Werkzeugbezugspunkts anstelle des pro­ grammierten Geschwindigkeitswerts dazu zu verwenden, die benötigte Distanz für die Abbremsung zu bestimmen.
Bei einer bevorzugten Ausführungsform nach der Erfindung ist folglich der Arbeitsprozeßparameter das beim Kontakt eines Schneidwerkzeugs mit dem Werkstück auftretende Dreh­ moment.
Im folgenden wird die Erfindung Anhand einer in den Zeich­ nungen beispielhaft veranschaulichten Ausführungsform näher erläutert. Es zeigt
Fig. 1 einen bewegliche Arme aufweisenden Manipulator mit schematisch dargestellten Verbindungen zur Steuerung;
Fig. 2 ein Blockdiagramm der Steuerung;
Fig. 3 eine geometrische Darstellung des maschinenorientier­ ten Koordinatensystem;
Fig. 4a bis Fig. 4c geometrische Darstellungen des Geschwindigkeits­ profils eines vom Manipulator bewegten Werkzeugs,
Fig. 5a und 5b Flußdiagramme der beiden prinzipiellen Steuerprozeduren, die die Bewegungssteuerung bewirken,
Fig. 6a bis 6d Flußdiagramme von Unterprogrammen und Hauptabschnitten des Flußdiagramms gemäß Fig. 5a, und
Fig. 7 ein Flußdiagramm der adaptiven Geschwindigkeits­ prozedur, welche durch die Interpolations­ prozedur gemäß Fig. 5a verwendet wird.
Zum Zwecke der Erläuterung der Erfindung wird im fol­ genden eine bevorzugte Ausführungsform des Manipulators und der zugeordneten Steuerung beschrieben. Es ist darauf hingewiesen, daß die spezielle Struktur des Manipulators gemäß dem bevorzugten Aus­ führungsbeispiel nicht als Einschränkung der vorlie­ genden Erfindung angesehen werden soll. Vielmehr ist zur Anwendung der vorliegenden Erfindung eine jede Maschine geeignet, welche seriell aneinandergelenkte Rotationsbewegungsachsen aufweist, welche durch Inter­ polation von intermediären Punkten entlang einer vorbe­ stimmten Bahn gesteuert wird, welche unter Bezugnahme auf ein rechtwinkliges Koordinatensystem definiert ist oder unter Bezugnahme auf irgendein anderes Koordinaten­ system, welches unabhängig von den Maschinenachsen de­ finiert ist.
Unter Bezugnahme auf Fig. 1 ist erkennbar, daß der mit gelenkigen Gliedern versehene Manipulator 10 mit der Steuerung 35 verbunden ist und ein Schleifwerkzeug 122 und einen Werkzeugsmotor 120 trägt. Der Manipulator 10 umfaßt eine Basis 12, auf der eine Schulterplatte 18 drehbar gelagert ist und innerhalb der die Schulter­ drehbetätigungseinrichtung 24 und die Zwischenkupplung 16 angeordnet sind. Die Betätigungseinrichtung 14, die Kupplung 16 und die Trägerplatte 18 wirken zusammen, um eine Rotation der Manipulatorstruktur um eine verti­ kale Achse zu bewirken, welche durch den Mittelpunkt der Platte 18 geht. Der obere Arm 22 ist auf der Platte 18 beim Schultergelenk 23 drehbar gelagert und ist um eine horizontale Achse drehbar, welche die vertikale Achse durch den Mittelpunkt des Schulter­ gelenks 23 schneidet. Die Rotation des Arms 22 um diese Achse wird über die Betätigungseinrichtung 20 bewirkt. Der Unterarm 26 ist mit dem Oberarm 22 über ein Ellbogengelenk 25 verbunden, und ist hierum mittels einer Betätigungseinrichtung 24 drehbar, welche ein linearer Aktuator sein kann, wie beispielsweise ein Kolben/Zylinder oder eine Schraube/Mutter. Die Be­ tätigungseinrichtungen 14, 20 und 24 sind ausreichend, um eine Bewegung des Unterarms 26 zu bewegen, um dessen Ende in jeder beliebigen Position innerhalb des durch die mechanischen Begrenzungen der Struktur definierten Volumens zu plazieren.
Um die Flexibilität der durch die Steuerung des Mani­ pulators erzielten Bewegung zu maximalisieren, sind drei weitere Bewegungsachsen vorgesehen, welche sich an den Unterarm 26 anschließen. Diese drei weiteren Bewegungsachsen sind dazu da, die Kontrolle über die Orientierung bezüglich eines wiederauffindbaren Re­ ferenzpunktes des durch den Manipulator getragenen Werkzeuges zu bewirken. Die erste dieser drei Orien­ tierungsachsen entspricht einer Rotation um eine horizontale Achse am Ende des Unterarms 26 und wird durch eine Betätigungseinrichtung 28 angetrieben, um Neigungsänderungen eines vom Manipulator getragenen Werkzeuges zu bewirken. Die zweite Orientierungsachse ist senkrecht zu der ersten Achse und bewirkt Gierungsänderungen des vom Manipulator getragenen Werkzeugs und wird von der Betätigungseinrichtung 30 angetrieben. Die dritte Orientierungsachse zur Steuerung des Schlingerns ist rechtwinklig zur ersten und zweiten Achse ange­ ordnet und wird durch eine Betätigungseinrichtung 32 angetrieben. Diese drei Orientierungsachsen stellen das Handgelenk 27 des Manipulators 10 dar.
Am Ende des Handgelenks 27 befindet sich die Vorder­ platte 33, an der der Werkzeugmotor 120 befestigt ist, welcher das Schleifwerkzeug 122 trägt. Am Werkzeug­ motor 120 ist ein Meßwertwandler 124 befestigt, um einen gemessenen Parameter des Arbeitsprozesses rück­ zukoppeln. Der Motor 120 und das Werkzeug 122 stellen ein Funktionselement 31 dar, welches vom Manipulator 10 getragen wird. Es existieren ein breite Vielfalt von Werkzeugen oder Gegenstandsgreifeinrichtungen, welche je nach auszuführendem Arbeitsprozeß verwendet werden können. Das gespeicherte Programm zur Steuerung der Bewegung des Funktionselements 31 spezifiziert Posi­ tionen eines Werkzeugmittelpunkts 34 und Orientierungen des Funktionselements 31 bezüglich des Werkzeugmittel­ punkts 34.
Die Steuerung 35 umfaßt eine Kontrollpunkteinheit 36, um Kommunikation zwischen dem Operator und dem Mani­ pulator 10 zu ermöglichen, eine Steuerung 38, um ein gespeichertes Programm, welches die Bewegungen des Manipulators 10 dirigiert, durchzuführen, und eine Servoantriebseinheit 39, welche auf die Steuerung 38 anspricht, um die Maschinenbetätigungseinrichtungen 14, 20, 24, 28, 30 und 32 zu steuern. Nachdem die speziel­ len Arten der Betätigungseinrichtungen und Antriebs­ einheiten nicht Teil der vorliegenden Erfindung dar­ stellen, werden sie auch nicht näher erläutert.
Unter Bezugnahme auf Fig. 2 wird ein detailliertes Blockdiagramm der Steuerung beschrieben. Die Steuerung 35 umfaßt einen programmierbaren digitalen Mehrzweck­ computer 40, der einen Speicher 42, eine Zentralein­ heit 46 und ein Eingangs/Ausgangs-Interface umfaßt. Diese drei Elemente sind über einen Hauptweg 48 mit­ einander verbunden. Die Interaktion zwischen dem Computer 40 und dem Manipulator 10 und einem Operator wird über Signale ausgeführt, welche über den externen Hauptweg 50 geleitet werden, der mit einer Anzahl peri­ pherer Geräte verbunden ist. Die peripheren Geräte, welche zur Benutzung durch einen Operator besonders geeignet sind, umfassen die Lehreinheit 52, um manuell Bewegungsbefehle zu erzeugen, um ein gespeichertes Programm zu erzeugen, das Tastenfeld 64, um Information dem Computerspeicher 42 und der Kathodenstrahlröhre 62 zuzuführen, um Daten anzuzeigen, welche sich auf die jeweilige Aktivität des Manipulators und seines ge­ speicherten Programms beziehen.
Die peripheren Geräte, welche dazu benutzt werden, um den Manipulator 10 mit der Steuerung 35 zu verbinden, umfassen: Das Steuerungs-Eingangs/Ausgangs-Interface 54, welches Anzahl von diskreten Gerätesignalen zwischen dem Manipulator und der Steuerung austauscht, welche für den Betrieb des Manipulators 10 notwendig sind; das Benutzer-Eingangs/Ausgangs-Interface 56, welches Signale zu und aus anwendungsorientierten Geräten aus­ tauscht, welche dem Manipulator 10 zugeordnet sind, und welche im dargestellten Falle einen Analog-Digital- Konverter umfassen, welcher mit dem Meßwertwandler 124 verbunden ist; und schließlich das Achsantriebs- Interface 56, welches direkt die Bewegung der Betätigungs­ einrichtungen steuert. Der Achsantrieb 66 erhält Daten in digitaler Form und führt eine Digital-Analog-Um­ setzung durch, wobei er ein analoges Signal dem Achsen- Kompensations- und Servoverstärker 68 zuführt. Die kompensierten analogen Signale werden dann als Eingangs­ signal für die Betätigungseinrichtung 70 verwendet, welches das mit ihm mechanisch verbundene Roboterelement 71 antreibt. Ein Rückkopplungsgerät 72, welches mecha­ nisch mit der Betätigungseinrichtung 70 oder mit dem Roboterelement 71 verbunden ist, erzeugt ein Rück­ kopplungssignal, welches die jeweilige Bewegung des angetriebenen Elements des Roboterarms repräsentiert. Obwohl für jedes Element des Roboterarms mehrere Kon­ figurationen der Steuerung der Servomechanismusschleife vorgesehen sind, werden in einem bevorzugten Ausführungs­ beispiel der Achsantrieb 66, der Servoverstärker 68, die Betätigungseinrichtung 70 und das Rückkopplungselement 72 in einer Anzahl benutzt, welche gleich ist der An­ zahl der gesteuerten Achsen des Manipulators.
Zwei weitere periphere Geräte erlauben den Austausch von Programmdaten. Zunächst sei hier das on-line-Inter­ face 58 zur Übertragung externer Daten erwähnt, welches eine Einrichtung darstellt, die es erlaubt, daß Daten von einem externen Datenspeicher dem Computer 40 zuge­ führt werden, während der Manipulator einen Arbeits­ zyklus durchführt. Zweitens ist ein off-line-Daten­ speicher-Interface 60 vorgesehen, welches es erlaubt, daß Programmdaten in den Computer mittels solcher Ge­ räte eingegeben werden wie Lochstreifenleser, Kassetten­ leser und dgl.
Der Speicher 42 innerhalb des Computer 40 umfaßt im wesentlichen zwei Teile. Das erste hiervon ist der Datenspeicher 74, welcher alle numerischen Datenin­ formationen speichert, und der zweite Teil definiert das Betriebssystem des Manipulators. Das Betriebs­ system ist eine Anzahl von Steuerprogrammen, welche den Betrieb des Computers 40 so ausrichten, daß die Er­ zeugung des Benutzerprogramms bewirkt wird und die Durchführung des gespeicherten Benutzerprogramms.
Zum Zwecke der Erläuterung sind die Betriebssystempro­ gramme in funktional bezogenen Gruppen dargestellt, welche die Eingangs/Ausgangs-Gruppe 76, die Lehrbe­ triebsgruppe 92 und die Gruppe für Automatikbetrieb 94 umfassen.
Innerhalb der Eingangs-Ausgangs-Gruppe ist das Daten- I/O-Programm 78, das Lehr-I/O-Programm 80, ein CRT und Tastenfeld I/O-Programm 82, ein Steuerungs-I/O-Programm 84, ein Achsantriebs-I/O-Programm 85, ein Programm 86 zur Übertragung externer Daten sowie ein Benutzer-I/O- Programm 88. Jedes dieser I/O-Programme (Eingangs/Aus­ gangs-Programme) entspricht einer unterschiedlichen Art peripherer Einrichtung, welche mit der Steuerung inter­ facemäßig verbunden ist, und steuert den Signalaustausch zwischen den bestimmten peripheren Geräten und dem Computer 40.
Das Betriebssystem enthält auch ein Modus-Steuerpro­ gramm 90, um die Steuerung des Computers zwischen den unterschiedlichen Betriebsmoden, beispielsweise manuell, lehren, automatisch, usw. zu schalten. Nachdem nur der automatische Modus für die offenbarte Erfindung er­ forderlich ist, wird nur dieser Modus im Detail be­ schrieben. Innerhalb des Lehrmodussystems 92 befinden sich das Daten-Editor-Programm 96 und ein Lehrbetrieb­ funktionsprogramm 98. Diese beiden Programme steuern den Betrieb des Manipulators während des Lehr-Modus.
Die Gruppe 94 für Automatikbetrieb umfaßt ein Datenab­ rufprogramm 102, ein Bahnberechnungsprogramm 104, ein Transformationsprogramm 106, ein Achsantriebsprogramm 108, ein Funktionssteuerprogramm 110, ein peripheres Serviceprogramm 111, und ein Geschwindigkeitsmodifi­ kationsprogramm 112. Details bezüglich des Bahnberech­ nungs- und des Geschwindigkeitsmodifikationsprogramms werden hier offenbart.
Das Maschinenkoordinatensystem des Manipulators 10 wird im folgenden unter Bezugnahme auf die schematische Darstellung gemäß Fig. 3 beschrieben. Wie weiter oben beschrieben ist, ist eine jede Bewegungsachse des Mani­ pulators 10 eine Achse der Drehbewegung. Es wird ange­ nommen, daß das rechtwinklige Koordinatensystem gemäß Fig. 3 seinen Ursprung an einem Punkt aufweist, der leicht überhalb der Befestigungsplatte 18 gelegen ist und mit der Rotationsachse der Betätigunseinrichtung 20 zusammenfällt. Die Z-Achse fällt mit dem Drehmittel­ punkt der Befestigungsplatte 18 zusammen. Daher ent­ spricht eine Rotation der Befestigungsplatte 18 einer Bewegung durch den Winkel "d" hindurch. Das Linien­ segment 130 entspricht dem Oberarm 22 und die Rotation um die Mitte der Betätigungseinrichtung 20 entspricht einer Rotation des Liniensegments 130 über den Winkel "a", positiv gemessen bezüglich der Z-Achse in der durch den Pfeil angedeuteten Richtung. Das Linien­ segment 132 entspricht dem Unterarm 26 und Drehungen des Unterarms 26 um das Ellbogengelenk 25 entsprechen Drehungen des Liniensegments 132 durch den Winkel "b" hindurch, positiv in der durch den Pfeil in Fig. 3 dargestellten Richtung gemessen. Die Beugungsachse des Handgelenks 27 bei der Betätigung 28 entspricht einer Rotation des Liniensegments 134 durch den Winkel "c", gemessen in negativer Richtung von der Verlängerung des Liniensegments 132, wie dies durch den Pfeil ange­ deutet ist. Die zweite Beugungsachse des Handgelenks 27 entspricht der Rotation der Betätigungseinrichtung 30, und ist dargestellt durch die Rotation des Linien­ segments 136 durch den Winkel "E", gemessen unter Be­ zugnahme auf die X-Achse und dargestellt durch Projek­ tion in der X-Y-Ebene. Das Rollen des Handgelenks 27 entspricht der Rotation des Liniensegments 136, ange­ deutet durch den Pfeil "R". Der Werkzeugmittelpunkt 34 ist definiert als ein Punkt am Ende des Liniensegments 136. Die Länge des Segments 136 umfaßt die benutzer­ spezifische Werkzeuglänge und die Länge der Elemente des Handgelenks jenseits der Gierachse. Das ge­ speicherte Programm umfaßt die X, Y und Z-Achsen­ koordinaten des Werkzeugmittelpunkts 34 zusammen mit den Orientierungswinkeln D, E und R. Der Orientierungs­ winkel D ist gleich der Summe der Winkel "a", "b" und "c". Wie in Fig. 3 dargestellt, ist der Werkzeugmittel­ punkt 34 auf der Achse des Liniensegments 136 ange­ ordnet; jedoch kann auch ein versetzter Werkzeugmittel­ punkt vorgesehen sein. Es sollte nun klar sein, daß, vorausgesetzt, die Längen der Segmente 130 bis 136 sind bekannt und vorausgesetzt, das Programm spezifiziert die Orientierungswinkel für Neigung, Gierung und Rollung, nämlich D bzw. E bzw. R, und vorausgesetzt die X, Y und Z-Koordinaten des Werkzeugmittelpunkts 34 sind spezi­ fiziert, dann die einzig mögliche Kombination der Winkel a, b, c, und d bestimmend werden kann. Diese Betätigungswinkel zusammen mit den Betätigungswinkeln der Orientierungsachsen E und R stellen das Maschinen­ koordinatensystem dar.
Unter Bezugnahme auf die geometrische schematische Dar­ stellung der Fig. 4a bis 4c wird das Bahnsteuerschema der vorliegenden Erfindung beschrieben. In Fig. 4a repräsentiert das gerade Liniensegment 140 die Be­ wegungsbahn, entlang der der Werkzeugmittelpunkt fort­ schreiten muß, indem er vom programmierten Punkt P₀ zum programmierten Punkt P₁ fortschreitet. Die Steuerung interpoliert intermediäre Punkte P i entlang dieser ge­ radlinigen Bahn. Es können zur Interpolation auch andere vorbestimmte Bahnen wie beispielsweise kreisförmige oder parabolische Bahnen gewählt werden. Die Koordinaten der Punkte P₀, P₁ und die intermediären Punkte P i sind alle bezüglich des X, Y, Z-Koordinatensystems definiert. Unter der Annahme, daß der Werkzeugmittelpunkt aus der Ruhelage beim Punkt P₀ startet und wieder beim Punkt P₁ zur Ruhe kommt, so sorgt das Bahnsteuerungsschema für eine automatische Beschleunigung und Abbremsung auf bzw. von einer programmierten Geschwindigkeit. Während die intermediären Punkte P i entsprechend einer festen inkrementellen Zeitperiode Δ T erzeugt werden, variiert der tatsächliche jeweilige inkrementelle Abstand zwischen den Punkten P i , da die Geschwindigkeit des Werkzeug­ mittelpunktes variiert. Daher ist ersichtlich, daß der inkrementelle Abstand Δ S, der dem während einer kon­ stanten inkrementellen Zeitdauer Δ T durchquerten Ent­ fernung entspricht, zwischen dem Bewegungsabschnitt mit konstanter Geschwindigkeit und den Beschleunigungs- und Bremsphasen der beschriebenen Bewegung variiert. Gemäß dem grundlegenden verwendeten Bahnsteuerschema werden die Geschwindigkeitsvariationen den Punkten P₀ und P₁ so durchgeführt, daß keine Geschwindigkeits­ diskontinuitäten zwischen den Beschleunigungsphasen und den Bremsphasen eingeführt werden.
Unter Bezugnahme auf Fig. 4b wird die Geschwindigkeits­ charakteristik einer typischen Spanne, wie beispiels­ weise der Spanne 140 dargestellt. Die Spanne wird bei einer Anfangsgeschwindigkeit V i begonnen, welche Null sein kann (jedoch nicht muß), und eine kontinuierliche Be­ schleunigungsfunktion erzeugt die Kurve 142, um die Geschwindigkeit des Werkzeugmittelpunkts auf die programmierte Geschwindigkeit V p in einer Beschleunigungs­ zeit T A zu bringen. Nach einer Periode konstanter Ge­ schwindigkeit iniziiert die Steuerung die Bremsphase, um die Geschwindigkeit des Mittelpunkts auf eine End­ geschwindigkeit V f zu bringen, so daß eine kontinu­ ierliche Bremsfunktion folgt, die die Kurve 144 er­ zeugt. Die Abbremsung von der programmierten Geschwin­ digkeit zu der Endgeschwindigkeit, welche wiederum gleich Null sein kann (jedoch nicht sein muß), wird in einer Abbremsungszeit T d erreicht. Der graduelle Übergang zu und aus der Phase der konstanten Ge­ schwindigkeit entspricht dem tatsächlich aufgrund der körperlichen Struktur des Manipulators zu erwartenden Verhaltens, wenn die Trägheitsmomente und dgl. der Betätigungseinrichtungen und der Glieder in Betracht gezogen werden.
Fig. 4c stellt die Abweichung von den typischen Geschwindigkeitscharakteristika dar, die durch die Durchführung der adaptiven Geschwindigkeitsfunktion gemäß der vorliegenden Erfindung bewirkt wird. An­ fänglich folgt die Geschwindigkeit der charakteristi­ schen Kurve 142, bis eine Minimalgeschwindigkeit V min erreicht ist, unterhalb der adaptive Geschwindigkeits­ variationen nicht erlaubt sind. Sobald die tatsächliche Geschwindigkeit die minimale Geschwindigkeit V min er­ reicht hat und unter der Annahme, daß der Parameter­ wert des Steuerungsprozesses eine Verminderung der Geschwindigkeit erforderlich macht, weicht die Ge­ schwindigkeitssteuerung von der normalen Beschleunigungs­ funktion ab und die Geschwindigkeit wird im Einklang mit der adaptiven Geschwindigkeitsfunktion variiert. Inkrementelle Werte der Geschwindigkeit werden im Ein­ klang mit einer vordefinierten Funktion erzeugt, die die Geschwindigkeit und den Arbeitsprozeßparameter in Beziehung setzt, und werden vom Bahnsteueralgorithmus verwendet, um intermediäre Punkte entlang der Bahn zu inter­ polieren. Solang die berechneten adaptiven Inkremental­ geschwindigkeiten geringer sind als die nicht adaptive Geschwindigkeit V ia , die wirksam ist, wenn die adaptive Geschwindigkeitsfunktion als erstes einen reduzierten Wert erzeugt, wird aufgrund der berechneten Werte ge­ steuert. Sobald der adaptive Wert gleich oder größer als der anfängliche nicht adaptive Wert V ia ist, wird der anfängliche Wert V ia ersetzt und die nicht adaptive Betriebsweise geht weiter. Dieser Effekt ist durch den Bereich der Kurve 146 zwischen T i und T r gezeigt. Während dieser adaptiven Betriebsweise erreicht die Geschwin­ digkeit, wie dargestellt, einen Minimalwert V min unter­ halb welchem eine weitere Verminderung nicht erlaub ist. Nach T r wird die Geschwindigkeit im Einklang mit der nicht adaptiven Beschleunigungsfunktion auf die pro­ grammierte Geschwindigkeit V p beschleunigt. Während aufeinanderfolgender Perioden in Betriebsweise mit adaptiver Geschwindigkeit ist festgelegt, daß eine Abbremsung iniziiert werden muß, um den Werkzeug­ mittelpunkt zu der erforderlichen Endgeschwindigkeit zu bringen. Während der Abbremsungszeit T d ist eine adaptive Betriebsweise nicht erlaubt und die Ge­ schwindigkeit bremst ab, der nicht adaptiven Ab­ bremsungsfunktion folgend, wie durch die Kurve 144 gemäß Fig. 4b dargestellt ist. Die Einzelheiten der Steuerungsprozedur zum Bewirken der adaptiven Geschwin­ digkeitssteuerung werden im folgenden im einzelnen be­ schrieben.
Der Gesamtzyklus des Betriebes des Manipulators 10 im automatischen Modus ist im Flußdiagramm der Fig. 5a dargestellt. Beim Prozeßschritt 150 iniziiert die Steuerung die erforderlichen Spannendaten, um die Bewegungen zwischen den Programmpunkten P₀ und P₁ bei der programmierten Geschwindigkeit V p zu interpolieren. Werte der für die programmierten Spannlängen S p , der Koordinatenkomponentenration N cc und eine Nominalbe­ schleunigung werden durch eine dem Schritt 150 zugeordne­ te Prozedur erzeugt. Beim Prozeßschritt 152 werden ein Inkrement entlang der Bahn Δ S und der akkumulierte interpolierte Abstand S K berechnet. Der Prozeßschritt 156 ruft das Unterprogramm ab, um eine Transformation des interpolierten intermediären Punktes in die gene­ ralisierten Koordinaten zu bewirken, um einen Satz von Maschinenkoordinatensignalen zu erzeugen, welche Koordinatenwerte relativ zu den generalisierten Ko­ ordinatensystemen repräsentieren. Beim Entscheidungs­ schritt 154 wird das Kennzeichen, welches zeigt, daß keine Abbremsung erfolgen darf, getestet. Wenn die Bewegung des Werkzeugmittelpunktes 34 kontinuierlich durch eine programmierte Position erfolgen soll, ist ein Funktionsattribut, welches dieses anzeigt, pro­ grammiert. Es kann vorkommen, daß bei der gegenwärtigen Spanne keine Abbremsung erforderlich ist, und daß das Kennzeichen "keine Abbremsung" gesetzt wird, wie dies im folgenden beschrieben wird. In diesem Falle wird der Prozeß auf der Ja-Seite des Entscheidungsschrittes 154 zum Entscheidungsschritt 155 fortfahren, wo be­ stimmt wird, ob das laufende Inkrement das letzte Inkrement der laufenden Spanne ist. Falls nicht, wird ein weiteres Inkrement durch den Konnektor L 2 inter­ poliert. Schließlich wird das End-Inkrement der lau­ fenden Spanne interpoliert und der Gesamtbetriebs­ zyklus fährt vom Entscheidungsschritt 155 zu dem Prozeß­ schritt 168 über den Konnektor L 3 fort. Der Prozeß­ schritt 168 bewirkt, daß die mit der Position P₁ pro­ grammierte Funktion durchgeführt wird, wenn die Ma­ schinenachsen das Ende der Spanne erreicht haben. Hiernach bestimmt der Entscheidungsschritt 170, ob die programmierte Position P₁ dem Programmende ent­ spricht. Fall nicht, wird der Zyklus wiederholt, in­ dem die nächsten programmierten Daten beim Prozeßschritt 150 über den Konnektor L 1 zugeführt werden. Wenn die Position die letzte Position des Programms ist, dann wird das gesamte Programm erneut durchgeführt, beginnend bei einer vorgewählten programmierten Position, wie dies durch das Terminal 172 angedeutet ist.
Unter der Annahme, daß ein Abbrems-Kennzeichen nicht ge­ setzt worden ist, geht der Gesamtbetriebszyklus vom Entscheidungsschritt 154 weiter zum Prozeßschritt 158. Der Prozeßschritt 158 berechnet den in der laufenden Spanne verbleibenden Abstand vor demjenigen, bei dem eine zu stoppende Abbremsung beginnen muß. Wenn der verbleibende Abstand S RD zu dem Beginn der Abbremsungs­ phase größer ist als der laufende inkrementale Abstand Δ S, so fährt der Zyklus fort durch den Prozeßschritt 162, welcher das Geschwindigkeitsvariationsunterprogramm abruft, zum augenblicklichen Ändern des inkrementalen Geschwindigkeitswertes im Einklang mit den nicht pro­ grammierten Variationen eines Arbeitsprozeßparameters. Bei Beendigung dieses Unterprogramms fährt die Prozedur fort über die Schleife zum Prozeßschritt 152, wo das Spanneninkrement interpoliert wird unter Verwendung des zu allerletzt erzeugten Wertes der inkrementalen Geschwindigkeit. Sobald der in der Spanne vor dem Start­ punkt für die Abbremsung verbleibende Abstand geringer ist als der laufende inkrementale Abstand, führt die Ja-Seite des Entscheidungsschritts 160 zu dem Test für die Angabe im gespeicherten Programm, daß der nächste Punkt P₁ ein Fortsetzungspunkt ist. Nachdem jeder pro­ grammierte Punkt ein Funktionssignal beigeordnet haben kann, welches eine bestimmte Funktion bezeichnet, die dem Arbeitsprozeß, der an diesem Punkt durchgeführt werden soll, zugeordnet ist, sind Fortsetzungspunkte durch die Anwesenheit eines Fortsetzungsattributs ge­ kennzeichnet, welches mit einem spezifischen Funktions­ signal zusammenhängt. Unter der Annahme, daß der Fort­ setzungscode durch den Entscheidungsschritt 164 nicht nachgewiesen worden ist, so wird die Abbremsprozedur durch den Entscheidungsschritt 166 abgerufen. Die Ab­ bremsprozedur bewirkt die interpolierte Abbremsung auf den Stop-Punkt P₁. Hiernach verursacht der Prozeßschritt 168 die Durchführung einer in Verbindung mit dem Punkt P₁ progra-mierten Funktion. Der Entscheidungsschritt 170 bestimmt dann, ob oder ob nicht der laufende Punkt das Ende des Roboterprogramms repräsentiert, und, falls nicht, geht die Prozedur weiter durch den Konnektor L 1 zum Prozeßschritt 150 zum Verarbeiten von Daten für die nächste programmierte Position. Wenn die laufende Posi­ tion das Ende des gespeicherten Programms ist, so wird das Programm wiederholt, indem ein Programmeingang ge­ wählt wird, der als recycle-Position bestimmt ist, wie dies durch den Ausgang angedeutet ist.
Wenn beim Punkt des Beginns der Abbremsung durch den Entscheidungsschritt 164 bestimmt worden ist, daß der nächste Punkt ein Fortsetzungspunkt ist, dann fährt der Prozeß beim Prozeßschritt 180 fort, wo ein neuer Wert für die laufende Spannenlänge erzeugt wird. Nach­ dem die interpolierten intermediären Positionen von­ einander über inkrementelle Abstände beabstandet sind, welche durch die inkrementelle Intervallperiode und die effektive inkrementelle Geschwindigkeit bestimmt ist, wird erwartet, daß, wenn die Bewegung durch eine pro­ grammierte Position fortfahren soll, der in der Spanne verbleibende Abstand von der Abbremsentscheidungs­ position zu der programmierten Endposition nicht immer gleich ist einem ganzzahligen Vielfachen des laufenden inkrementellen Abstandes. Um dieser Diskrepanz Rechnung zu tragen, wird die laufende Spanne effektiv bei dem ganzzahligen Vielfachen des der programmierten Endposi­ tion nächsten laufenden inkrementalen Abstandes beendet. Um dies zu erreichen, wird der verbleibende Abstand (S p -S k ) durch den inkrementellen Abstand Δ S geteilt, um das ganzzahlige Vielfache I zu erzeugen sowie den Rest R. Der Rest R wird dann von der laufenden Spannen­ länge abgezogen, um die Fortsetzungsspannenlänge S cp zu bilden. Dieser Abstand definiert dann neu die Endposi­ tion der laufenden Spanne und die Startposition der nächsten Spanne.
Beim Entscheidungsschritt 174 wird bestimmt, ob der eingeschlossene Winkel zwischen der laufenden Spanne und der nächsten Spanne weniger als 120° beträgt. Diese Bestimmung wird durchgeführt, indem zwei Werte S T und S T (120)² für das Quadrat des Totalabstandes zwischen der Startposition P 0 der laufenden Spanne und der Endposition P 2 der nächsten Spanne erzeugt werden. Der erste Wert S T ² wird als die Summe der Quadrate der Koordinatenkomponentendifferenzen zwischen den beiden Positionen berechnet. Der zweite Wert S T (120)² wird im Einklang mit der Gleichung für die Länge der dritten Seite eines Dreiecks berechnet, wobei die Längen und die anderen beiden Seiten und die Winkel zwischen diesen gegeben sind:
W γ = A ²+B ² = 2AB cos γ
was sich zu
W = A ²+B ²+AB reduziert, wenn γ = 120° ist.
Nachdem es das Resultat des Prozeßschrittes 180 war, eine neue Endposition für die laufende Spanne zu produzieren, wurden die Längen der Spannen von den programmierten Längen geändert. Die Länge der laufen­ den Spanne ist S cp und die Länge der nächsten Spanne S n ist durch die neue Startposition des Schrittes 180 und die programmierte Endposition P 2 dieser Spanne definiert. Wenn der eingeschlossene Winkel weniger als 120° beträgt, so ist es notwendig, die Bewegung zum Anhalten zu bringen, bevor fortgefahren wird und der Prozeß wird dann wiederum dadurch weiterfahren, daß die Abbremsprozedur beim Prozeßschritt 166 abgerufen wird. Wenn der eingeschlossene Winkel 120° oder größer ist, so fährt der Prozeß weiter beim Entscheidungsschritt 176, um festzustellen, ob oder ob nicht die programmier­ te Geschwindigkeit der nächsten Spanne V PN größer oder gleich als die laufende programmierte Geschwindig­ keit V p ist. Wenn die programmierte Geschwindigkeit der nächsten Spanne V PN geringer als die programmierte Geschwindigkeit V P der laufenden Spanne ist, so ist es notwendig, eine Abbremsung bei der laufenden Spanne zu bewirken, so daß die Bewegung in der nächsten Spanne bei der für diese Spanne programmierten Geschwindigkeit begonnen wird. Nach der Abbremsungsprozedur, die vom Prozeßschritt 178 abgerufen wurde, wird der Gesamtzyklus beim Prozeßschritt 168 durch den Konnektor L 3 weiter­ geführt. Wenn die programmierte Geschwindigkeit für die nächste Spanne größer ist oder gleich der programmier­ ten Geschwindigkeit der laufenden Spanne, so fährt der Prozeß vom Entscheidungsschritt 176 durch den Prozeß­ schritt 177 weiter, wo das Kennzeichen "keine Abbremsung" gesetzt ist und hiernach fährt der Prozeß über den Konnektor L 2 zu dem Prozeßschritt 152 weiter. Aus der vorstehenden Beschreibung sollte nun deutlich geworden sein, daß der Gesamtbetriebszyklus die wiederholte Interpolation der intermediären Punkte umfaßt, die Spannen zwischen den programmierten Punkten bilden, indem auf iterativem Wege Steuerungsprozeßprozeduren wiederholt werden und die den programmierten Positionen zugeordnete Funktionen durchgeführt werden.
Unter Bezugnahme auf Fig. 5b ist das Programm zum Bedienen der Servomechanismen der Betätigungseinrichtungen gezeigt. Während der Gesamtbetriebszyklus durchgeführt wird, wird ein unabhängiges Servounterbrechungs-Service- Programm durchgeführt. Ein von der Zentraleinheit 46 erzeugter Servosystemzeittakt unterbricht periodisch die Gesamtsystem-Datenverarbeitung, um frisch geschaffe­ ne Koordinatendaten für die Betätigungseinrichtung den Betätigungseinrichtung-Servomechanismen zuzuführen. Der Entscheidungsschritt 192 stellt fest, ob oder ob nicht der Pufferspeicher für die Betätigungseinrichtung-Be­ fehlsdaten z.Zt. leer ist. Wenn der Puffer leer ist, so wurde die laufende Spanne beendet, und das Ende des Spannen-Kennzeichens wird durch den Prozeßschritt 194 gesetzt. Wenn sich jedoch Daten im Puffer befinden, so überträgt der Prozeßschritt 196 die Daten vom Puffer zu dem Servo. In beiden Fällen ist die Bedienung der Servounterbrechung abgeschlossen und das Gesamt­ system unter Kontrolle des Flußdiagramms gemäß Fig. 5a wird weitergeführt durch Rückkehr über den Ausgang 198.
Die Flußdiagramme der Fig. 6a bis 6e entsprechen den Hauptabschnitten oder Unterprogrammen des Flußdiagramms gemäß Fig. 5a. Insbesondere entspricht das Flußdiagramm gemäß Fig. 6a dem Prozeßschritt 150 gemäß Fig. 5a. Beim Prozeßschritt 200 werden programmierte Spannendaten, welche Eingangssignalen entsprechen, aus dem Daten­ speicher 74 des Speichers 42 abgerufen. Der Startpunkt P 0, der Endpunkt P 1 und die Programmgeschwindigkeit V p definieren die vom Werkzeugmittelpunkt 34 als nächstes durchzuführende Bewegung. Die vom Speicher abgerufenen Daten der Programmkoordinaten sind als mit Indices versehen dargestellt, welche der Programmpunktbestimmung entsprechen. Beim Prozeßschritt 202 wird die Gesamt­ spannenlänge S p errechnet, unter Verwendung rechtwink­ liger Koordinaten der zwei programmierten Punkte und unter Wurzelbildung aus der Summe der Quadrate der Koordinatenkomponenten. Beim Prozeßschritt 204 werden die einzelnen Achskomponentenverhältnisse N cc des programmierten Koordinatensystems berechnet, indem die Koordinatenkomponenten durch die Spannenlänge dividiert wird. Diese Verhältnisse sind mit N₁₁ bis N₁₆ bezeichnet. Die Achskomponentenverhältnisse für die Orientierungs­ winkel werden in gleicher Weise berechnet, wie die Komponentenverhältnisse für die rechtwinkligen Koordi­ natenachsen. Beim Prozeßschritt 206 wird eine nominale Spannenbeschleunigungsgeschwindigkeit A p berechnet, indem die programmierte Geschwindigkeit V p durch ein willkürlich gewähltes Intervall von einer Viertelsekunde geteilt wird. Sobald diese vorläufige Berechnung der Spannenvariablen beendet ist, geht der Gesamtbetriebs­ zyklus weiter über den Ausgang 208 zu dem Prozeßblock 152 gemäß Fig. 5a.
In Fig. 6b ist der Prozeßschritt der Interpolation eines Spanneninkrements entsprechend dem Block 152 gemäß Fig. 5a in einem detaillierteren Flußdiagramm dargestellt. Beim Entscheidungsschritt 210 wird festgestellt, ob oder ob nicht ein Kennzeichen für adaptive oder nicht pro­ grammierte Geschwindigkeit durch die durch den Prozeß­ schritt 162 der Fig. 5a abgerufene Subroutine gesetzt worden ist. Wenn für die laufende Spanne keine adaptive Geschwindigkeitsfunktion programmiert ist, oder wenn die adaptive Geschwindigkeitsfunktion nicht zu einer Änderung des inkrementalen Geschwindigkeitswerts ge­ führt hat, so wird das Kennzeichen "adaptive Geschwindig­ keit" nicht gesetzt werden, und der Prozeß wird beim Entscheidungsschritt 212 fortfahren. Der Entscheidungs­ schritt 212 testet den laufenden Wert des Inkremental­ geschwindigkeitssignals V K , d.h. die inkrementale Ge­ schwindigkeit für die laufende Iteration gegen den Wert der programmierten Geschwindigkeit V p , um festzustellen, ob oder ob nicht die laufende Inkrementalgeschwindigkeit V K geringer ist als die programmierte Geschwindigkeit. Falls ja, fährt der Prozeß beim Prozeßschritt 216 fort, welcher das Beschleunigungs-Unterprogramm abruft.
Die Wirkung des Beschleunigungs-Unterprogramms ist es, einen neuen Wert für das Inkrementalgeschwindigkeits­ signal V K im Einklang mit einer unter Bezugnahme auf Fig. 4b dargestellten und beschriebenen kontinuier­ lichen Beschleunigungsfunktion zu erzeugen. Beim Be­ ginn einer Bewegung, bei der der Werkzeugmittelpunkt vom Ruhezustand aus startet, soll der Anfangswert der inkrementellen Geschwindigkeit also Null sein, die programmierte Geschwindigkeit wird natürlich ein Wert ungleich Null sein und das Abrufen des Be­ schleunigungsunterprogramms beim Prozeßschritt 216 startet die Änderung der inkrementalen Geschwindig­ keitswerte im Einklang mit der kontinuierlichen Be­ schleunigungsfunktion. Bei Beendigung des Beschleuni­ gungsunterprogramms fährt der Prozeß beim Prozeßschritt 218 weiter, wo ein inkrementeller Abstand Δ S im Einklang mit der rechts neben dem Prozeßschritt gemäß Fig. 6b dargestellten Formel berechnet wird. Diese Formel er­ zeugt einen Wert für das inkrementelle Abstandssignal Δ S durch Mittelung des neuen inkrementellen Geschwindig­ keitswert V K mit dem vorhergehenden inkrementellen Ge­ schwindigkeitswert und unter der Annahme, daß der Durch­ schnitt während der inkrementellen Intervallperiode wirksam ist, welche durch das inkrementelle Intervall­ signal Δ t repräsentiert ist. Wenn das Kennzeichen für die adaptive Geschwindigkeitsfunktion gesetzt ist, wird der inkrementelle Abstand berechnet, indem der Ge­ schwindigkeitswert verwendet wird, welcher durch das adaptive Geschwindigkeitsunterprogramm erzeugt worden ist. Wenn die inkrementelle Geschwindigkeit nicht ge­ ringer ist als die programmierte Geschwindigkeit V p , so ist es nicht notwendig, einen neuen Wert für das inkrementelle Abstandssignal zu berechnen und es ist nur notwendig, den Iterationszähler zu inkrementieren, wie dies durch den Prozeßschritt 214 angedeutet ist. In beiden Fällen gelangt der Prozeß letztlich zum Prozeßschritt 220, wo ein Wert für das angehäufte bzw. aufsummierte inkrementelle Abstandssignal S K im Einklang mit der rechts vom Prozeßschritt 220 dargestellten Gleichung berechnet wird. Mit dem Gesamtbetriebszyklus wird dann weitergefahren über Ausgang 221. Der Gesamt­ betriebszyklus fährt fort, indem das im Flußdiagramm gemäß Fig. 6c dargestellte Unterprogramm abgerufen wird.
In Fig. 6 werden beim Prozeßschritt 222 die Bahnkoordi­ naten der akkumulierten inkrementellen Abstände be­ rechnet, um die Endpunkt-Koordinatensignale zu erzeugen. Dies erfolgt durch Summierung der Achsenkomponenten des interpolierten inkrementellen Abstandes mit den Koordi­ naten des vorherigen inkrementellen Endpunktes. Hiernach werden die Koordinaten unter Bezugnahme auf das pro­ grammierte Koordinatensystem des Endpunktes transfor­ miert in Koordinaten des generalisierten oder Maschinen­ koordinatensystems, und zwar über den Prozeßschritt 224, um einen Satz von Maschinenkoordinatensignalen zu erzeugen, welche die Werte der Endpunktkoordinaten relativ zu den Maschinenkoordinatensystem darstellen. Um inverse tri­ gonometrische Funktionen zu vermeiden, wird ein itera­ tiver Approximations-Algorithmus verwendet, welcher eine Fehlerfunktion erzeugt, die auf den laufenden Maschinen­ koordinatenwerten beruht. Beim Prozeßschritt 226 wird die Änderung der generalisierten Koordinaten be­ rechnet; beim Prozeßschritt 228 werden die inkremen­ tellen Unterschiede der generalisierten Koordinaten im Puffer für den Zugang durch das Servounterbrechungs- Service-Programm gespeichert. Wenn das Transformations- Unterprogramm abgeschlossen ist, kehrt der Gesamtbe­ triebszyklus zurück über den Ausgang 230. Dies bringt dann den Prozeß zum Entscheidungsschritt 154 gemäß Fig. 5a. Unter der Annahme, daß der Gesamtzyklus zum Prozeßschritt 158 weitergeht, wo der verbleibende Ab­ stand zu dem Beginn der Abbrems-Unterspanne berechnet wird, führt der Gesamtzyklus das detaillierte Fluß­ programm gemäß Fig. 6d durch.
In Fig. 6d berechnet der Prozeßschritt 232 die zum Abbremsen erforderliche Zeit unter der Annahme, daß der nominale Wert der Beschleunigung A p , der während der Vorbereitung der Spannenvariablen berechnet worden ist, während der Periode der Abbremsung wirksam ist, und daß die Endgeschwindigkeit Null ist. Es ist daher die zum Abbremsen annäherungsweise erforderliche Zeit gleich dem Quotienten aus der laufenden inkrementellen Geschwindigkeit und dieser nominalen Konstanten der Beschleunigung. Beim Prozeßschritt 234 wird der zum Abbremsen erforderliche Abstand S D berechnet unter der Annahme, daß der Durchschnitt der laufenden inkre­ mentellen Geschwindigkeit und Null effektiv ist während des im Prozeßschritt 232 berechneten Intervalls. Und schließlich wird beim Prozeßschritt 236 der innerhalb der Spannenlänge von der laufenden interpolierten Posi­ tion zu dem Punkt, bei dem der gerade berechnete Ab­ bremsungsabstand S D beginnen muß, verbleibende Abstand S RD berechnet. Es ist daher der verbleibende Abstand S RD gleich der Gesamtspannenlänge S p minus demjenigen Teil der Spanne, der durch den akkumulierten interpolierten Abstand S K und dem Spannenbereich S D , der zum Abbremsen erforderlich ist, repräsentiert ist. Anschließend an diese Berechnung fährt der Gesamtbetriebszyklus weiter beim Entscheidungsschritt 160 der Fig. 5 a, wo festge­ stellt wird, ob oder ob nicht dieser verbleibende Ab­ stand S RD geringer ist als der laufende effektive in­ krementelle Abstand Δ S. Wenn der verbleibende Abstand S RD nicht kleiner ist als der laufende effektive inkre­ mentelle Abstand Δ S, dann kann ein weiteres Inkrement dieses Abstandes interpoliert werden. Wenn jedoch der laufende effektive inkrementelle Abstand größer ist als der berechnete verbleibende Abstand, so ist es not­ wendig, unmittelbar mit der Abbremsung zu beginnen.
Das Abbremsungs-Unterprogramm erzeugt auf iterativem Wege abnehmende Werte der inkrementellen Geschwindigkeits­ variablen V K im Einklang mit einer kontinuierlichen Funktion der Beschleunigung. Am Beginn des Abbrems- Unterprogramms wird die Inkrementalgeschwindigkeit neu berechnet, um die Abrundfehler der Ganzzahlen- Arithmetik auszugleichen, die der von der Anmelderin verwendete Computer durchführt. Hiernach interpoliert das Abbrems-Unterprogramm intermediäre Punkte entlang einer kontinuierlichen Abbremsfunktion, um die Ge­ schwindigkeit des Werkzeugmittelpunkts auf eine End­ geschwindigkeit zu bringen. Der Interpolationspro­ zeß entspricht demjenigen, der unter Bezugnahme auf Fig. 6b beschrieben worden ist, wobei kein Abrufen des Beschleunigungs-Unterprogramms erfolgt. Weiter bewirkt das Abbrems-Unterprogramm eine Transformation in die generalisierten Maschinenkoordinaten, indem das Transformations-Unterprogramm gemäß Fig. 6 abgerufen wird, nachdem der akkumulierte interpolierte Abstand berechnet worden ist.
Während die meisten programmierten Spannen Beschleuni­ gungs-Unterspannen oder -phasen, Unterspannen oder Phasen konstanter Geschwindigkeit und Unterspannen oder Phasen der Abbremsung umfassen werden, sollte angemerkt werden, daß die Durchführung des Abbrems- Unterprogramms iniziiert werden könnte, bevor die Geschwindigkeit des Werkzeugmittelpunkts die pro­ grammierte Geschwindigkeit erreicht. Dies tritt auf, wenn die programmierte Spannenlänge nicht ausreichend ist, um eine Beschleunigung auf die programmierte Ge­ schwindigkeit zu erlauben, bevor der Entscheidungs­ schritt 160 gemäß Fig. 5a die Notwendigkeit feststellt, die Abbremsung zu beginnen. Nachdem die Wirkung des Abbrems-Unterprogramms darin besteht, die Interpolation entlang der Bahn fortzusetzen, um den Werkzeugmittel­ punkt zu einer Endgeschwindigkeit für die programmier­ te Spanne zu bringen, sollte nun deutlich geworden sein, daß die Adaptivgeschwindigkeitsprozedur nicht während der Abbremsphase durchgeführt wird.
Während der grundlegende Bahnsteueralgorithmus für kontinuierliche Geschwindigkeitsvariationen während der Beschleunigungs- und Abbremsphasen der Bewegung sorgt, kann eine zusätzliche Geschwindigkeitsvariation leicht ermöglicht werden, wie weiter oben unter Bezug­ nahme auf den Prozeßschritt 162 gemäß Fig. 5a ange­ deutet wurde. Während die bevorzugte Ausführungsform automatisch im Einklang mit den unprogrammierten Varia­ tionen eines Arbeitsprozeßparameters erzeugte Ge­ schwindigkeitsvariationen betrifft, können auch manuell erzeugte Parametervariationen vorgenommen werden, um eine vom Operator gesteuerte Geschwindigkeitsüber­ steuerung zu ermöglichen. Mittels eines Meßwert­ wandlers 124 kann ein Wert eines Eingangssignals eines Arbeitsprozeßparameters wie beispielsweise das Drehmoment eines Werkzeugantriebsmotors 120 konti­ nuierlich überwacht werden. Dieser Drehmomentswert kann dann in einen digitalen Wert bei dem Benutzer- Eingangs/Ausgangs-Interface 56 (analog zu Digital­ konverter) konvertiert werden; und, vorausgesetzt, daß eine geeignete Fehlerfunktion geschaffen ist, können Geschwindigkeitsvariationen in Abhängigkeit von dem gemessenen Drehmoment erzeugt werden. Diese Geschwindigkeitsvariationen können dann in den Gesamt- Betriebszyklus durch ein Unterprogramm ergänzend ein­ gefügt werden, welches durch den Prozeßschritt 162 gemäß Fig. 5a abgerufen wird.
Bei dem von der Anmelderin gewählten analog zu Digital­ konverter 56 wird das Prozeßparameter-Eingangssignal in eine fünf-Bit-Binärzahl konvertiert, welche den Wert eines Prozeßparametersignals definiert. Dem Fach­ mann ist klar, daß der Bereich der gemessenen Variablen und die Präzision, die notwendig ist, um ausreichende Steuerung über den Prozeß zu bewirken, die Auflösung der Konversion von dem Analogwert in den Digitalwert vorgibt. Bei bestimmten Anwendungen können daher eine größere oder eine kleinere Anzahl an binären Stellen für das Prozeßparametersignal angemessen sein.
In Fig. 7 ist das Unterprogramm zum Durchführen der adaptiven Geschwindigkeitssteuerung gezeigt. Die Er­ findung der Anmelderin ermöglicht die Spezifikation programmierter Spannen als Spannen adaptiver Ge­ schwindigkeit durch Aufnahme von adaptiver Geschwindig­ keitsfunktionssignale in die Sätze der Eingangssignale, welche eine bestimmte programmierte Spanne beschreiben. Es wird daher beim Entscheidungsschritt 240 festge­ stellt, ob mit der laufenden programmierten Spanne die adaptive Geschwindigkeitsfunktion programmiert ist. Falls nicht, wird eine Rückkehr durch den Ausgang 244 ge­ macht, welche eine Fortsetzung des Gesamtbetriebszyklus beim Prozeßschritt 152 der Fig. 5a ermöglicht. Wenn die adaptive Geschwindigkeitsfunktion für die laufende Spanne programmiert worden ist, dann stellt der Ent­ scheidungsschritt 242 fest, ob die laufende Inkremental­ geschwindigkeit V k kleiner ist als die Minimalgeschwin­ digkeit V min , unterhalb der eine weitere Abnahme nicht erlaubt ist. Wenn die laufende Inkrementalgeschwindig­ keit V k geringer ist als die Minimalgeschwindigkeit V min , so wird eine Rückkehr durch den Ausgang 244 durchgeführt. Wenn jedoch die laufende Inkrementlage­ schwindigkeit V k nicht kleiner ist als die Minimalge­ schwindigkeit V min , dann fährt die adaptive Geschwin­ digkeitsprozedur weiter beim Entscheidungsschritt 246, um den derzeitigen Zustand des Statuskonditionssignals der adaptiven Steuerungsfunktion festzustellen.
Wenn das adaptive Steuerungsunterprogramm einen Inkre­ mentalgeschwindigkeitswert erzeugt, welcher dahin­ gehend wirksam ist, die Interpolation für das laufende Inkrement zu steuern, dann wird das Kennzeichen oder Zustandssignal für die adaptive Geschwindigkeit ge­ setzt, um anzuzeigen, daß die adaptive Geschwindig­ keitsprozedur die Geschwindigkeit steuert. Wenn daher beim Entscheidungsschritt 246 das Kennzeichen "adaptive Geschwindigkeit" gesetzt worden ist, so fährt die Pro­ zedur weiter beim Prozeßschritt 252. Wenn jedoch das Kennzeichen "adaptive Geschwindigkeit" nicht gesetzt worden ist, so fährt die Prozedur weiter beim Prozeß­ schritt 248, wo das Kennzeichen "adaptive Geschwindig­ keit" gesetzt wird. Beim Prozeßschritt 250 wird der laufende Wert des inkrementellen Geschwindigkeits­ signals an einem mit dem Namen "OLD" versehenen Ort gespeichert. Dieser gespeicherte inkrementelle Ge­ schwindigkeitswert entspricht dem Geschwindigkeits­ wert V ia gemäß Fig. 4c. Anschließend an den Prozeß­ schritt 250 fährt die adaptive Geschwindigkeitsproze­ dur weiter beim Prozeßschritt 252, wo der laufende Wert des Prozeßparametersignals aus dem Konverter 56 eingegeben wird. Beim Prozeßschritt 253 wird ein adaptiver Minimalgeschwindigkeitswert berechnet, indem der bei "OLD" gespeicherte Geschwindigkeitswert mit dem Verhältnis des Wertes des Prozeßparametersignals zu dem Wert eines Prozeßparameter-Referenzsignals multi­ pliziert wird, welches mit den die Manipulatorbewegung beschreibenden Eingangssignalen programmiert ist. Beim Entscheidungsschritt 254 wird festgestellt, ob oder ob nicht der Prozeßparameterwert gleich ist dem Prozeß­ parameter-Referenzwert.
Um zu ermöglichen, daß ein möglichst breites Spektrum an Anwendungen an eine relativ einfache Adaptivge­ schwindigkeitsprozedur angepaßt werden kann, hat die Anmelderin die Spezifikation eines Wertes eines Prozeß­ parameter-Referenzsignals gewählt, gegen welches der aktuelle oder gemessene Wert eines Prozeßparameters verglichen werden soll. Daher können beim speziellen Beispiel der Rauhgußreinigung, bei dem viele unter­ schiedliche Metallentfernungswerkzeuge vom Werkzeug­ motor 120 getragen werden können, unterschiedliche Drehmomentswerte als Referenzwerte ausgewählt werden, überhalb denen Geschwindigkeitsverminderung erforderlich ist. Dem Fachmann ist klar, daß es zum Bewirken der Steuerung der Geschwindigkeit des Werkzeugmittelpunkts im Einklang mit einem gemessenen Prozeßparameter nicht notwendig ist, einen Referenzwert zu spezifizieren, und in der Tat kann eine geeignete Steuerung erreicht werden, wo die Geschwindigkeit variiert wird, durch direkte Proportionalität zu einem gemessenen Prozeß­ parameter. In einem solchen Fall wird in der Regel ein Prozeßparameter-Referenzwert von Null angenommen.
Wenn von dem Entscheidungsschritt 254 festgestellt wor­ den ist, daß der laufende gemessene Wert des Prozeß­ parametersignals gleich ist dem Wert des Prozeßparameter- Referenzsignals, so ist keine Geschwindigkeitsabnahme erforderlich und die adaptive Prozeßprozedur fährt fort beim Prozeßschritt 261, wo die adaptive Prozeßge­ schwindigkeit V AK gleich der vorhergehenden inkrementalen Geschwindigkeit V K -1 gesetzt wird. Wenn andererseits beim Entscheidungsschritt 254 festgestellt worden ist, daß der aktuelle Wert des Prozeßparametersignals nicht gleich ist dem Referenzwert, so fährt der Prozeß weiter beim Prozeßschritt 256, wo ein neuer Wert des Prozeß­ parameter-Geschwindigkeitssignals V AK im Einklang mit der neben dem Prozeßschritt 256 dargestellten Beziehung berechnet wird. Diese Formel berechnet den laufenden Wert für das Prozeßparameter-Geschwindigkeitssignal, indem der vorhergehende Prozeßparameter-Geschwindig­ keitssignalwert multipliziert wird mit dem Wert eines Parameterfaktorsignals, welcher einen Prozentsatz dar­ stellt, der auf der Differenz zwischen dem gemessenen Prozeßparameter und dem Referenzwert des Parameters basiert. Beim Entscheidungsschritt 258 wird festge­ stellt, ob dieser berechnete Wert des Prozeßparameter- Geschwindigkeitssignals kleiner ist als der adaptive Minimalgeschwindigkeitswert V KM und falls er dies nicht ist, so fährt die Prozedur fort am Entscheidungsschritt 262. Falls der berechnete Wert von V AK geringer ist als die adaptive Minimalgeschwindigkeit V AM wird ein wei­ terer Test beim Entscheidungsschritt 259 gemacht, um festzustellen, ob der laufende Wert des Inkrementalge­ schwindigkeitssignals V K geringer ist als der Wert des Prozeßparameter-Geschwindigkeitssignals V AK . Wenn V K kleiner ist als V AK dann resultiert aus dem Prozeß­ parameterfaktor ein Ansteigen der Geschwindigkeit und der Prozeß fährt fort beim Entscheidungsschritt 262. Es sei angemerkt, daß die Prozedur letztlich zum Ent­ scheidungsschritt 262 gelangt, hat nun der Prozeß vom Entscheidungsschritt 254 eine Berechnung des adaptiven Geschwindigkeitswertes erforderlich gemacht oder den erzwungenen Wert des Prozeßschrittes 261. Beim Ent­ scheidungsschritt 262 wird festgestellt, ob der effek­ tive adaptive Geschwindigkeitswert kleiner als der bei OLD gespeicherte Wert ist. Falls nicht, wird beim Prozeßschritt 266 der laufende Wert des inkrementalen Geschwindigkeitssignals gleichgesetzt dem bei OLD ge­ speicherten Wert und beim Prozeßschritt 268 wird das Kennzeichen "adaptive Geschwindigkeit" wieder gesetzt. Hiernach gelangt der Gesamtbetriebszyklus wieder zurück durch den Ausgang 270. Es ist ersichtlich, daß die Wirkung des Entscheidungsschrittes 262 darin liegt, die Wiederaufnahme der nicht adaptiven Geschwindigkeits­ steuerung zu erzeugen, wie dies durch die Kurve 146 der Fig. 4c anschließend an den Punkt T r dargestellt ist. Falls beim Entscheidungsschritt 258 festgestellt worden ist, daß der berechnete Wert des Prozeßparameter- Geschwindigkeitssignals kleiner ist als der Minimalwert V am , so fährt der Prozeß durch den Entscheidungsschritt 259 fort. Falls hier festgestellt worden ist, daß der laufende Wert von V K kleiner ist als V AK so wird eine weitere Verminderung der Geschwindigkeit erforderlich und der Wert des Inkrements wird auf den Wert der adaptiven Minimalgeschwindigkeit V AM gesetzt. Anschlie­ ßend an den Prozeßschritt 260 geht der Gesamtbetriebs­ zyklus durch Rückkehr über den Ausgang 270 weiter.
Unter nochmaliger Bezugnahme auf Fig. 6b ist erkenntlich, daß der Test beim Entscheidungsschritt 210 bezüglich des Zustands des Kennzeichens "adaptive Geschwindigkeit" ein Mittel darstellt, welches es dem durch die adaptive Ge­ schwindigkeitsprozedur bestimmten Geschwindigkeitswert erlaubt, zu steuern, wenn der Prozeßparameter-Geschwin­ digkeitswert geringer ist als der bei OLD gespeicherte Inkrementalgeschwindigkeitswert. D.h., die den Ent­ scheidungsschritt 212 und den Prozeßschritt 216 über­ springende Schleife bewirkt, daß der von der adaptiven Geschwindigkeitsprozedur erzeugte Prozeßparameterge­ schwindigkeitswert in der Berechnung des Entfernungs­ inkrements beim Prozeßschritt 218 verwendet wird. Wenn die adaptive Geschwindigkeitsfunktion aktiv ist, die Messung des Prozeßparameters jedoch einen Wert produziert, der eine Verminderung des laufenden Inkrementalgeschwin­ digkeitswertes jedoch nicht erforderlich macht, so wird der Zustand des Kennzeichens "adaptive Geschwindigkeit" bewirken, daß die Interplationsprozedur anschließend an den Entscheidungsschritt 212 und den Prozeßschritt 216 oder 214 das nächste Inkrementgeschwindigkeitssignal erzeugt. Die adaptive Geschwindigkeitssteuerung ist auf diese Weise selektiv ausgelegt, darauf basierend, ob oder ob nicht der laufenden Spanne die adaptive Ge­ schwindigkeitsfunktion zugeordnet ist und ob oder ob nicht der laufende gemessene Wert des Prozeßparameter­ signals eine Verminderung der effektiven Inkremental­ geschwindigkeit erfordert, um das gewünschte Resultat zu erzielen. Insbesondere, wenn die Betriebsweise des Rauhgußreinigens betrachtet wird, können geeignete Werte des Prozeßparameterreferenzsignals so gewählt werden, daß das durch den Meßwertwandler 124 ge­ messene Drehmoment aktuelle Werte liefert, die sowohl oberhalb als auch unterhalb des Parameterreferenz­ wertes liegen. Wenn das gemessene Drehmoment unterhalb des Parameterreferenzwertes liegt, so wäre das Ergebnis des Entscheidungsschrittes 254 der Fig. 7 das, daß ein berechneter Prozeßparametergeschwindigkeitswert erzeugt wird. Beim Entscheidungsschritt 262 würde sich jedoch herausstellen, daß der berechnete Wert den gespeicher­ ten Inkrementalgeschwindigkeitswert überschreitet, und es würde hieraus keine Verminderung der Geschwindigkeit erfolgen. Andererseits würde, sobald das gemessene Drehmoment den Parameterreferenzwert übersteigt, der berechnete Adaptivgeschwindigkeitswert geringer sein als der bei OLD gespeicherte Wert und es würde der redu­ zierte Geschwindigkeitswert steuern.
 10 Manipulator  12 Basis  14 Druckbetätigungseinrichtung  16 Kupplung  18 Platte  20 Betätigungseinrichtung  22 Oberarm  23 Gelenk  24 Betätigungseinrichtung  25 Ellbogengelenk  26 Unterarm  27 Handgelenk  28 Betätigungseinrichtung  30 Betätigungseinrichtung  31 Funktionselement  32 Betätigungseinrichtung  33 Vorderplatte  34 Werkzeugmittelpunkt  35 Steuerung  36 Kontrollpulteinheit  38 Steuerung  39 Servoantriebseinheit  40 Computer  42 Speicher  44 Interface  46 Zentraleinheit  48 Hauptweg  50 Hauptweg  52 Lehreinheit  54 Steuerungs-Eingangs/Ausgangs-Interface  56 Benutzer-Eingangs/Ausgangs-Interface  58 On-line-Interface  60 Off-line-Datenspeicher-Interface  62 Kathodenstrahlröhre  64 Tastenfeld  66 Achsantriebs-Interface  68 Achsen-Kompensations- und Servoverstärker  70 Betätigungseinrichtung  71 Roboterelement  72 Rückkopplungsgerät  74 Datenspeicher  76 Eingangs-Ausgangs-Gruppe  78 Daten-I/O-Programm  80 Lehr-I/O-Programm  82 CRT und Tastenfeld I/O-Programm  84 Steuerungs-I/O-Programm  85 Achsantriebs-I/O-Programm  86 Programm zur Übertragung externer Daten  88 Benutzer-I/O-Programm  90 Modussteuerprogramm  92 Lehrbetrieb  94 Gruppe für Automatikbetrieb  96 Daten-Editor-Programm  98 Lehrbetrieb-Funktionsprogramm 102 Datenabrufprogramm 104 Bahnberechnungsprogramm 106 Transformationsprogramm 108 Achsantriebsprogramm 110 Funktionssteuerprogramm 111 peripheres Serviceprogramm 112 Geschwindigkeitsmodifikationsprogramm 120 Werkzeugmotor 122 Schleifwerkzeug 124 Meßwertwandler 130 Liniensegment 132 Liniensegment 134 Liniensegment 136 Liniensegment 140 Liniensegment 142 Kurve 144 Kurve 146 Kurve

Claims (3)

1. Einrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Manipulators mit folgenden Merkmalen:
  • - Der Manipulator besitzt mehrere bewegliche Arme,
  • - mindestens zwei Arme sind durch eine Drehachse miteinander verbunden,
  • - die Arme und Drehachse(n) definieren ein maschinen­ orientiertes Koordinatensystem,
  • - der Einrichtung werden Eingangssignale zugeführt,
  • - die Punkte längs eines programmierten Weges be­ zeichnen, den ein Mittelpunkt des Arbeitselementes durchlaufen soll,
  • - die Punkte sind in einem maschinenunabhängigen Koordinatensystem definiert,
  • - die Einrichtung erzeugt iterativ Koordinatensignale von Zwischenpunkten, die auf dem programmierten Weg liegen und zwar in dem maschinenunabhängigen Koordi­ natensystem,
  • - diese Koordinatensignale werden zu Koordinaten­ signalen in dem maschinenorientierten Koordinaten­ system transformiert,
  • - in Abhängigkeit der Koordinatensignale im maschinen­ orientierten Koordinatensystem wird der Mittelpunkt des Manipulators längs aufeinanderfolgender Weg­ inkremente entlang dem programmierten Weg bewegt,
gekennzeichnet durch folgende Merkmale:
  • a) Ein Wandler mißt einen Arbeitsprozeß-Parameter, welcher sich bei Bewegung des Mittelpunktes des Arbeitselementes längs der vorgegebenen Bahn in unvorhergesehener Weise ändern kann, wobei dieser Arbeitsprozeß-Parameter für jedes Weginkrement zwischen zwei Zwischenpunkten gemessen wird und wobei der Meßwert als Arbeitsprozeß-Parameter­ signal ausgegeben wird;
  • b) aus diesem Arbeitsprozeß-Parametersignal wird ein Geschwindigkeitssignal gebildet, das die Geschwindigkeit des Mittelpunktes des Arbeits­ elementes für jedes Weginkrement zwischen zwei Zwischenpunkten bezeichnet; und
  • c) dieses Geschwindigkeitssignal steuert die Be­ wegungsgeschwindigkeit des Mittelpunktes des Arbeitselementes zwischen zwei Zwischenpunkten.
2. Einrichtung nach Anspruch 1, dadurch gekenn­ zeichnet, daß der Arbeitsprozeß-Parameter das beim Kontakt eines Schneidwerkzeuges mit dem Werkstück auftretende Drehmoment ist.
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 DE3317263A1 (de) 1984-02-09
DE3317263C2 true DE3317263C2 (de) 1988-12-15

Family

ID=23491045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833317263 Granted DE3317263A1 (de) 1982-05-13 1983-05-11 Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung

Country Status (6)

Country Link
US (1) US4453221A (de)
JP (1) JPS59708A (de)
CA (1) CA1203311A (de)
DE (1) DE3317263A1 (de)
FR (1) FR2526703B1 (de)
GB (1) GB2119965B (de)

Families Citing this family (47)

* 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
DE3375107D1 (en) * 1982-10-29 1988-02-11 Toshiba Kk Control system of multi-joint arm robot apparatus
US5307447A (en) * 1982-10-29 1994-04-26 Kabushiki Kaisha Toshiba Control system of multi-joint arm robot apparatus
JPS59107884A (ja) * 1982-12-10 1984-06-22 株式会社日立製作所 ロボツトの制御方式
US4494060A (en) * 1983-03-02 1985-01-15 Anorad Corporation Axis controller for robotic actuator
US4484120A (en) * 1983-04-13 1984-11-20 Nordson Corporation Auxiliary function command presequencing for a robot controller
JPS59218513A (ja) * 1983-05-26 1984-12-08 Fanuc Ltd 工業用ロボツトの円弧制御法
JPS59231607A (ja) * 1983-06-14 1984-12-26 Mitsubishi Electric Corp ロボツトの制御装置
US4621332A (en) * 1983-06-20 1986-11-04 Hitachi, Ltd. Method and apparatus for controlling a robot utilizing force, position, velocity, spring constant, mass coefficient, and viscosity coefficient
US4578763A (en) * 1983-08-15 1986-03-25 International Cybernetics Corp. Sampled data servo control system with deadband compensation
US4689756A (en) * 1984-06-29 1987-08-25 Shin Meiwa Industry Co., Ltd. Robot interpolation control method
US4598380A (en) * 1984-08-13 1986-07-01 Cincinnati Milacron Inc. Method and apparatus for controlling manipulator and workpiece positioner
US4635206A (en) * 1984-10-15 1987-01-06 Cincinnati Milacron Inc. Method and apparatus for oscillating a tool carried by a manipulator
US4680519A (en) * 1985-09-23 1987-07-14 General Electric Co. Recursive methods for world-to-joint transformation for a robot manipulator
US4696707A (en) * 1987-08-18 1987-09-29 The Ingersoll Milling Machine Company Composite tape placement apparatus with natural path generation means
US4685067A (en) * 1986-02-20 1987-08-04 Cincinnati Milacron Inc. Control system for program controlled manipulator having multiple triggered functions between programmed points
US4750965A (en) * 1986-03-28 1988-06-14 The Ingersoll Milling Machine Company Adaptive control for tape laying head having natural path generation
US4714400A (en) * 1986-04-14 1987-12-22 Ibm Corporation Plural robotic drive
US4794540A (en) * 1986-06-18 1988-12-27 Mts Systems Corporation Iterative spline function controlled positioning mechanism
FI862656A0 (fi) * 1986-06-23 1986-06-23 Partek Ab Anordning foer defibrering av smaelt mineralmaterial.
US4774445A (en) * 1986-11-20 1988-09-27 Unimation, Inc. Multiaxis robot control having capability for executing timed moves
JPS63266172A (ja) * 1987-04-22 1988-11-02 Mitsubishi Electric Corp デイ−ゼルエンジンのグロ−プラグ制御装置
JP2707087B2 (ja) * 1987-09-09 1998-01-28 ファナック株式会社 ロボット制御装置
JP2719345B2 (ja) * 1988-03-30 1998-02-25 豊田工機株式会社 力センサを用いた加工制御装置
SE461383B (sv) * 1989-01-11 1990-02-12 Inst Mash Im A Ablagonravova A Foerfarande foer styrning av en s k mekanisk resonanshand
FR2644716B1 (fr) * 1989-03-23 1994-04-29 Commissariat Energie Atomique Procede d'ebavurage robotise du contour d'une piece
US5457370A (en) * 1990-08-08 1995-10-10 Digital Arts Film And Television Pty Ltd Motion control system for cinematography
DE4102840C1 (de) * 1991-01-31 1992-10-15 Philipp 5100 Aachen De Moll
US5396160A (en) * 1991-03-11 1995-03-07 General Motors Corporation Method of real-time machine path planning from a math model
US5726896A (en) * 1995-08-30 1998-03-10 University Of Utah Research Foundation Method and system for spline interpolation, and their use in CNC
JP2929996B2 (ja) * 1996-03-29 1999-08-03 トヨタ自動車株式会社 工具点列発生方法
JP2812920B2 (ja) * 1996-05-30 1998-10-22 川崎重工業株式会社 ロボットの動作指令作成方法
AUPP569198A0 (en) 1998-09-03 1998-10-01 Anca Pty Ltd Grinding of cutting tools with wavy cutting edges
US6560513B2 (en) * 1999-11-19 2003-05-06 Fanuc Robotics North America Robotic system with teach pendant
DE10245188B3 (de) * 2002-09-26 2004-09-09 Elan Schaltelemente Gmbh & Co. Kg Verfahren zur Überwachung einer eine Energiequelle führenden Vorrichtung insbesondere eines Handhabungsgerätes
FR2853983A1 (fr) * 2003-04-17 2004-10-22 Philippe Bellanger Procede et dispositif d'interaction pour l'assistance au geste "metier-matiere"
US20070142966A1 (en) * 2005-12-20 2007-06-21 Khalid Mirza Process for moving a robot
EP2142133B1 (de) 2007-04-16 2012-10-10 NeuroArm Surgical, Ltd. Verfahren, vorrichtungen und systeme für automatische bewegungen unter verwendung medizinischer roboter
DE102009007026A1 (de) * 2009-02-02 2010-08-05 Kuka Roboter Gmbh Steuerung und Steuerungsverfahren für einen Manipulator
EP2845696B1 (de) * 2013-09-10 2017-05-17 Siemens Aktiengesellschaft Bearbeitungsmaschine mit redundanten Achsen und Auflösung der Redundanz in Echtzeit
CN110662633B (zh) * 2015-05-16 2023-02-17 Abb瑞士股份有限公司 机器人的旋转补充轴线
US11451567B2 (en) * 2018-08-31 2022-09-20 GE Precision Healthcare LLC Systems and methods for providing secure remote data transfer for medical devices
CN117021113B (zh) * 2023-09-20 2024-03-19 苏州诺克智能装备股份有限公司 一种机械臂协作定位装配方法、系统及介质

Family Cites Families (11)

* 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
US3909600A (en) * 1972-06-26 1975-09-30 Cincinnati Milacron Inc Method and apparatus for controlling an automation along a predetermined path
JPS5055783A (de) * 1973-09-19 1975-05-16
US3920972A (en) * 1974-07-16 1975-11-18 Cincinnati Milacron Inc Method and apparatus for programming a computer operated robot arm
FR2311630A1 (fr) * 1975-05-23 1976-12-17 Kobe Steel Ltd Procede et appareil d'apprentissage pour robot industriel
US4078195A (en) * 1976-01-13 1978-03-07 Macotech Corporation Adaptive control system for numerically controlled machine tools
US4140953A (en) * 1976-03-03 1979-02-20 Unimation, Inc. Real time program modification apparatus
US4086522A (en) * 1976-09-08 1978-04-25 Unimation, Inc. Computer assisted teaching arrangement for conveyor line operation
JPS5824221B2 (ja) * 1976-12-07 1983-05-19 株式会社新潟鐵工所 学習方式適応制御装置
US4237408A (en) * 1979-08-10 1980-12-02 Cincinnati Milacron Inc. Method and apparatus for modifying the operation of a machine tool as a function of torque

Also Published As

Publication number Publication date
GB2119965A (en) 1983-11-23
US4453221A (en) 1984-06-05
GB2119965B (en) 1986-01-08
CA1203311A (en) 1986-04-15
JPS59708A (ja) 1984-01-05
FR2526703B1 (fr) 1986-12-26
GB8313296D0 (en) 1983-06-22
DE3317263A1 (de) 1984-02-09
FR2526703A1 (fr) 1983-11-18

Similar Documents

Publication Publication Date Title
DE3317263C2 (de)
EP0384925B1 (de) Steuerungsverfahren bei einer numerischen Werkzeugmaschine oder einem Roboter
DE60035651T2 (de) Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern
DE3727462C2 (de)
DE3210675A1 (de) Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn
DE2712169C2 (de) Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE3208435C2 (de) Steuerungsvorrichtung zum Führen eines Lichtbogenschweißautomaten
EP0120204B1 (de) Verfahren zum Wiederanfahren eines Werkzeuges an eine Werkstückkontur
DE3439096C2 (de)
DE2735632A1 (de) Verfahren und anordnung zum steuern eines industrie-roboters
DE3236320A1 (de) Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms
AT395299B (de) Steuereinrichtung fuer eine werkzeugmaschine
DE3635265A1 (de) Industrieroboter
EP0120198A1 (de) Verfahren zum Betreiben eines Industrieroboters in roboterkinematikfremden Koordinaten
EP0477412A1 (de) Verfahren zur Filterung digitaler Signale
EP0672976B1 (de) Elektronische Steuereinrichtung für Einzelantriebe von Bearbeitungsmaschinen und Verfahren zum Steuern der Einzelantriebe
DE4213927A1 (de) Verfahren zur steuerung einer werkzeugmaschine, insbesondere eine fraesmaschine
EP0439655A1 (de) Robotersteuerungsverfahren zur Kollissionsvermeidung zwischen einem aufgabenorientiert programmierten Roboter und Objekten mit unterschiedlichem Mobilitätsgrad
DE2165862C2 (de) Adaptive Steuerungsvorrichtung für numerisch gesteuerte Werkzeugmaschinen
DE3928547A1 (de) Numerisches steuerungsverfahren
DE4126434A1 (de) Numerische steuereinrichtung
DE102005032336B4 (de) Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung
DE4036297B4 (de) Fortschalteinrichtung für den Werkzeughalter einer numerisch gesteuerten Drehbank
DE102017100240B4 (de) Bewegungssteuerungsvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INC. (EINE GES. N.D. GESETZEN

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING. RESCH, M., DIPL.-PHYS., PAT.

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING.DIPL.-WIRTSCH.-ING., PAT.-ANW

D2 Grant after examination
8363 Opposition against the patent
8331 Complete revocation