DE3236320A1 - Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms - Google Patents

Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms

Info

Publication number
DE3236320A1
DE3236320A1 DE19823236320 DE3236320A DE3236320A1 DE 3236320 A1 DE3236320 A1 DE 3236320A1 DE 19823236320 DE19823236320 DE 19823236320 DE 3236320 A DE3236320 A DE 3236320A DE 3236320 A1 DE3236320 A1 DE 3236320A1
Authority
DE
Germany
Prior art keywords
programmed
input signals
center point
tool center
group
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.)
Ceased
Application number
DE19823236320
Other languages
English (en)
Inventor
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 Inc 45209 Cincinnati Ohio
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 Inc 45209 Cincinnati Ohio, Milacron Inc filed Critical Cincinnati Milacron Inc 45209 Cincinnati Ohio
Publication of DE3236320A1 publication Critical patent/DE3236320A1/de
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36514Select by force, height or other detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

-10 -
CINCINNATI MILACRON INC., 4701 Marburg Avenue, Cincinnati, Ohio 45 209, USA
Vorrichtung zum Bewegen eines Werkzeugmittel punk· tes eines Funktionselementes, insbesondere eines Robofterarms .
Die Erfindung betrifft eine Vorrichtung zum Bewegen eines Werkzeugmittelpunktes eines Funktionselementes, insbesondere eines Roboterarms.
Bei programmgesteuerten Roboterarmen wird typischerweise ein Programm aus Funktionen und Koordinatendaten, welche gewünschte Positionen und Orientierungen darstellen, während eines Lehrvorganges oder Programmiervorganges definiert und gespeichert. Während der automatischen Arbeitsweise wird das gespeicherte Programm ausgeführt und der Roboterarm bewegt sich zu den programmierten Positionen. Die Bewegung zwischen den programmierten Positionen kann eine Punkt-zu-Punkt-Bewegung sein oder längs eines gesteuerten Weges erfolgen. Bei Punkt-zu-Punkt-Bewegungen ist der Weg zwischen den programmierten Punkten allgemein unbekannt und unregelmäßig. Bei Bewegungen mit kontrollierten Wegen liegt der Bewegungsweg des Roboterarms zwischen programmierten Punkten längs eines bekannten voraussagbaren Pfades, welcher durch die Steuerung des Roboters definiert* wird, beispielsweise ein geradliniger Pfad. In beiden Fällen stellt der geometrische Ort der programmierten Punkte den gesamten programmierten Weg des Roboterarms dar.
In beiden Fällen ist der tatsächliche Bewegungsweg des
Roboterarms auf eine Bewegung zwischen den durch das Programm definierten Positionen begrenzt. Dies reicht in Situationen aus, wo der gewünschte Weg des Roboterarms voraussagbar ist und sich nicht von Zyklus zu Zyklus ändert. Dies reicht ferner ebenfalls bei Anwendungsfällen aus, bei denen der genaue Bewegungsweg nicht für die erfolgreiche Arbeitsweise des Roboterarms kritisch ist, beispielsweise beim Punktschweißen, Farbsprühen UBW. Es gibt jedoch Situationen, in denen der genaue Weg kritisch aber nicht konstant ist. Bei Verwendung eines üblichen Roboter-arms und Steuerung kann für die Garantie, daß der gewünschte Weg genau dem programmierten Weg entspricht, ein teures und kompliziertes Einrichten oder enge Herstellungstoleranzen erforderlieh sein, wozu Handhabungsvorgänge hinzukommen, die bei den heute vorliegenden Herstellbedingungen unannehmbar sind.
Folglich besteht der Bedarf«, einen Roboterarm und die dazugehörige Steuerung zu schaffen, welche in einer Umgebung arbeiten, in der der gewünschte Bewegungsweg weder vorhersagbar, noch von Zyklus zu Zyklus wiederholbar ist.
Ein derartiger Anwendungsfal 1 kann beispielsweise das Nahtschweißen sein, bei welchem zwei roh geschnittene Teile von Hand durch Schweißen aneinander geheftet werden. In diesen Situationen wird die Schweißnaht sich von einem Paar von Teilen zum nächsten ändern, so daß
der genaue Weg nicht vorher programmierbar ist. In anderen Situationen kann es erforderlich sein, daß der Roboterarm den Zunder von rohen Gußstücken entfernt, wobei aufeinanderfolgende Werkstücke erheblich voneinander abweichen.
Ein Gegenstand der Erfindung ist es folglich, einen Roboterarm und die dazugehörige Steuerung zu schaffen, wel
ehe selbsttätig auf extern erzeugte Gruppen·von Eingangssignalen ansprechen, die nicht programmierte Punkte repräsentieren, welche einen geometrischen Ort aufweisen, der einen gewünschten, jedoch unvorhersagbaren,unprogrammierten Bewegungsweg definiert.
Weiterer Gegenstand der Erfindung ist es, einen Roboterarm und die dazugehörige Steuerung zu schaffen, welche bei der automatischen Arbeitsweise eine höhere Flexibilität dadurch erhalten, daß die Möglichkeit vorgesehen ist, Bewegungen längs nicht programmierter Wege durchzuführen.
Weiterer Gegenstand der Erfindung ist es, einen Roboterarm mit der dazugehörigen Steuerung zu schaffen, welche dynamisch auf extern erzeugte Informationen ansprechen, um den Roboterarm zu einer Reihe von nicht programmierten Punkten zu bewegen, welche einen geometrischen Ort aufweisen, der einen nicht programmierten Weg definiert.
Weiterer Gegenstand der Erfindung ist es, einen Roboterarm mit Steuerung zu schaffen, welcher auf einen programmierten Funktionskode während der automatischen Arbeitsweise ansprechen können und Gruppen von Eingangssignalen von einem externen Weggenerator, annehmen, dje eine Anzahl nicht programmierter Punkte definieren.
Weiterer Gegenstand der Erfindung ist es, einen Roboterarm mit Steuerung zu schaffen, welcher in Abhängigkeit von einem programmierten Funktionskode seine automatische
Arbeitsweise unterbricht, nicht programmierte Positionsund Arbeitsfunktionsdaten von einem äußeren Weggenerator annimmt, sich zu nicht programmierten Punkten bewegt, die Prozessfunktionen ausführt und die automatische Arbeitsweise wieder aufnimmt.
Nach einer Ausführungsform der Erfindung wird eine Vorrichtung zum Bewegen eines Werkzeugmittelpunktes eties
Funktionselementes, insbesondere eines Roboterarms zu einer Reihe von programmierten Punkten vorgeschlagen, welche einen geometrischen Ort haben, der einen programmierten Weg definiert, wobei dies in Abhängigkeit von Eingangssignalen erfolgt, welche programmierte Werkzeugmittelpunktpositionen bezüglich eines rechtwinkligen Koordinatensystems definieren. Diese Vorrichtung ist an einen äußeren Weggenerator angeschlossen, welcher auf ein äußeres Wegsteuersignal anspricht, um den Werkzeugmittelpunkt zu einer Anzahl von nicht programmierten Punkten zu bewegen, die einen nicht programmierten Weg definieren. Die Vorrichtung enthält eine Maschine mit Maschinenteilen, welche mit einem Ende des Funktionselementes verbunden sind, und Betätigungsorgane, die den Maschinenteilen zugeordnet sind, um eine Vielzahl von Bewegungsachsen für die Bewegung des Werkzeugmittel punktesyzu schaffen. Die Vielzahl von Bewegungsachsen und die Maschinenteile definieren ein generalisiertes oder verallgemeinertes Koordinatensystem, welches bezüglich des rechtwinkligen Koordinatensystems verschieden ist. Die Maschine ist an eine Maschinensteuerung gekoppelt, welche einen Speicher zum Speichern programmierter Gruppen von Eingangssignalen aufweist. Eine Datenübertragungsinterface ist vorgesehen, um Gruppen von Eingangssignalen zwischen dem Weggenerator und der Maschinensteue- rung auszutauschen und ein Servomechanismuskreis ist mit den Betätigungsorganen verbunden, um die Position und Bewegung des Werkzeugmittelpunktes zu steuern. Die Maschinensteuerung ruft in einem ersten Schritt eine erste Gruppe von Eingangssignalen aus dem Speicher ab. Anschließend werden die Eingangssignale auf Anwesenheit eines äußeren Wegsteuersignals getestet. Falls ein äußeres Wegsteuersignal vorliegt, wird ein äußerer Wegerzeugerzyklus ausgeführt, indem zunächst die Datenübertragungsinterface konditioniert wird, um eine aktive Programmverbindung zwi-
3^ sehen dem äußeren Weggenerator und der Maschinensteuerung herzustellen. Zweitens empfängt die Maschinensteuerung von der äußeren Wegsteuerung eine neue Gruppe von Eingangssignalen, welche eine nicht programmierte Position des Werk-
-14-
Zeugmittelpunktes bezüglich eines rechtwinkligen Koordinatensystems definieren. Drittens wird die neue Gruppe von Eingangssignalen in Antriebssignale transformiert, die generalisierte Koordinatenwerte der nicht programmierten Position repräsentieren. Viertens werden die Betätigungs-. organe^ der Maschine erregt, um den Werkzeugmittelpunkt zu der nicht programmierten Position zu bewegen. Fünftens werden weitere Gruppen neuer Eingangssignale empfangen, welche weitere nicht programmierte Positionen definieren. Die Betätigungjorgane bewegen den Werkzeugmittelpunkt zu jeder aufeinanderfolgenden Position, so daß der Werkzeugmittelpunkt längs eines nicht programmierten Weges bewegt wi rd.
Im folgenden wird die Erfindung anhand einer in den Zeichnungen beispielhaft veranschaulichten Ausführungsform näher erläutert. Es zeigt:
Figur 1 eine Gesamtansicht eines Roboterarms mit einem Blockdiagramm der Robotersteuerung;
Figur 2 ein detailliertes Blockdiagramm einer Computersteuerung für den Roboterarm;
Figur 3 ein detailliertes Flußdiagramm, welches die Verfahrensschritte zur Ausführung eines Arbeitszyklus bei automatischer Arbeitsweise veranschaulicht;
Figur 4 eine Darstellung einer Bewegung des Werkzeugmittelpunktes unter Verwendung vorliegender Erfindung; und
Figuren 5a bis 5d ein detailliertes Flußdiagramm, welches die Verfahrensschritte zum Bewegen des Werkzeugmittelpunktes längs eines nicht programmierten
Pfades in Abhängigkeit von einem äußeren Wegsteuersignal veranschaulicht.
Figur 1 zeigt eine Darstellung eines auf dem Markt erhältlichen Roboterarms und Figur 1 enthält ferner ein allgemeines Blockdiagramm einer Roboterarmsteuerung. Im Rahmen der vorliegenden Beschreibung umfaßt der Ausdruck "Roboterarm" jede Form von Maschine, welche in Verbindung mit vorliegender Erfindung verwendbar ist.
Der veranschaulichte Roboterarm 10 besteht ausschließlich aus Drehachsen. Die Basis 12 enthält ein Betätigungsorgan 14, welches mittels einer Kupplung 16 mit einer drehbaren Platte 18 verbunden ist. Es soll darauf hingewiesen werden, daß die genaue Natur und Art des Betätigungsorgans nicht für die vorliegende Erfindung von Bedeutung ist. Dem Stand der Technik zugehörige Betätigungsorgane und Steuerverfahren können verwendet werden, d.h. das Betätigungsorgan kann elektrisch, hydraulisch, pneumatisch usw. sein. Mit der ,Platte 18 ist ein Betätigungsorgan 20 starr verbunden, welches eine zweite Drehachse schafft. Ein oberer Roboterarmteil 22 ist mit einem Arbeiisglied des Betätigungsorgans 20 verbunden. An dem oberen Arm 22 ist ein Betätigungsorgan 24 befestigt, welches eine Drehung des unteren Roboterarmteils 26 um den oberen Roboterarmteil 22 ermöglicht. Die erste Anzahl von Betätigungsorganen 14, 20 und 24 bilden eine erste Vielzahl von Bewegungsachsen zum Bewegen des Endes des Roboterarmes zu jedem Punkt im Raum innerhalb seiner Reichweite. Ein "Handgelenk" 27 besteht aus drehbaren Betätigungsorganen 28, 30 und 32 und ist mit einem Funktionselement 34 verbunden, um das Funktionselement zwischen aufeinanderfolgenden Winkel Stellungen zu bewegen.
Die zweite Vielzahl von Betätigungsorganen 28, 30 und 32 bilden eine zweite Vielzahl von Drehachsen, welche wirksam sind, um das Funktionselement durch Änderungen der winkligen Ausrichtung zu bewegen.
Die Position des Endes des Roboterarms wird bezüglich der Anordnung eines Arbeitspunktes oder Werkzeugmittelpunktes gemessen, der mit dem Werkzeug verbunden ist, welches das
BAD ORIGINAL
-16-
Funktionselement bildet. Beispielsweise kann der Werkzeugmittelpunkt der Punkt sein, an welchem die Greifzangen zusammenkommen, beispielsweise der Punkt 76 oder die Mittellinie am Ende eines Schneidwerkzeuges, der Punkt, an welehern die Köpfe eines Punktschweißgerätes zusammenkommen, der Mittelpunkt eines Sprühstrahls aus einer Spritzpistole, der Fokuspunkt eines optischen Kopfes für einen Sichtsensor usw. Es wird darauf hingewiesen, daß das Funktionselement 34 ein Betätigungsorgan (nicht dargestellt) ent- halten kann, um die gewünschte Arbeit durchzuführen, beispielsweise eine Greifwirkung. Die physikalische Konfiguration der oben beschriebenen Maschine bietet jedenfalls eine Vielzahl von Drehachsen, welche in Verbindung mit den Maschinenteilen gesehen ein generalisiertes Koordinaten system definieren.
Innerhalb einer Robotersteuerung 35 bildet eine Konsöleneinheit 36 das Verbindungsglied einer Bedienungsperson zu dem Roboterarm. Die Konsole enthält Steuerungen zum Pro grammieren oder Lehren eines Arbeitszyklus für den Robo terarm und Eingangseinrichtungen zum Erzeugen von Eingangssignalen, um einen vorher festgelegten Arbeitszyklus zu ermöglichen. Eine Steuerung 38 verwendet Programme und Eingangssignale, um Antriebssignale für einen Servome chanismusantrieuskreis 42 zu erzeugen» welcher die Detä- tigungsorgane des Roboterarms zum Bewegen des Werkzeug- . mittelpunktes zwischen den programmierten Punkten und zum Drehen des Funktionselementes durch die winkligen Änderungen der Orientierung zu drehen steuert'.
Ei,n Roboterarm mit Steuerung der beschriebenen Art ent-
3 spricht dem T Industrieroboter mit Steuerung, welcher auf dem Markt von der Firma Cincinnati Milacron Inc. erhältlich ist. Ferner ist die genaue Arbeitsweise des Roboterarms in seiner automatischen Steuerung in dem USA-Patent Nr. 3 909 600 beschrieben, wobei eine Beschreibung des Verfahrens und der Vorrichtung zum Lehren eines Pro-
grammes für den Roboterarm in dem US-Patent Nr. 3 920 972 zu finden ist.
Figur 2 ist ein detailliertes Blockdiagramm, welches die Grundbausteine der oben erwähnten, auf dem Markt erhältlichen Robotersteuerung veranschaulicht. Ein programmierter Computer 40 besteht aus einem Speicherkreis 41, einem Eingangs/Ausgangs-Interfacekreis 44 und einer zentralen Verarbeitungseinheit 46. Diese drei Hauptelemente sind durch einen inneren Datenhauptweg 48 miteinander verbunden. Steuersignale werden mittels eines äußeren Datenhauptweges 50 in den Computer 40 eingeleitet und aus diesem herausgeleitet, wobei der Datenhauptweg 50 an eine Anzahl peripherer Geräte angeschlossen ist. Erstens stellt ein Lehrgerät 52 ein Fernprogrammier-;werkzeug dar, welches durch die Bedienungsperson verwendet wird, um das Ende des Roboterarmes zu einer Anzahl gewünschter Positionen und Ausrichtungen während des Lehrprozesses zu bewegen. Als nächstes definiert die Steuerung I/O 54 eine Anzahl verschiedener Maschinensignale, welche notwendig für den Betrieb des Roboterarms sind. Der äußere Datenübertragungs-I/O-Block 58 repräsentiert eine Vorrichtung, welche es ermöglicht, daß Daten in den Computer 40 aus einem äußeren Datenspeicher auf Real-Time-Basis eingegeben wird, d.h. während der Roboterarm einen Arbeitszyklus durchführt. Ein Off-1ine-Datenspeicher 60 ist vorgesehen, um in den Computer Programme mittels Vorrichtungen, wie beispielsweise Lochkartenleser, Kassettenleser und dgl. einzugeben. Der Bildschirm 62 und das Tastenfeld 64 stel-Ten.eine Einrichtung dar, mittels derer der Roboterarm und seine Steuerung mit der Bedienungsperson Meldungen austauschen können.
Die Achsenantriebseinheit 66 empfängt Datenblöcke aus dem Computer auf periodischer Basis. Jeder Datenblock repräsentiert die schrittweisen Bewegungsgrößen der Betätigungsorgane des Roboterarms während jedem periodischen Inter-
vail. Ferner stellt die Größe der Bewegung über jede festgelegte Zeitspanne inhärent eine Definition der gewünschten Geschwindigkeit des Roboterarmsr./Der Achsenantrieb 66 empfängt die Daten in digitaler Form und führt eine Oigital-Analogumwandlung durch, so daß ein analoges Signal für die Achsenkompensation und den Servoverstärker 68 erzeugt wird. Die kompensierten Analogsignale werden anschließend als Eingangsgröße für ein Betätigungsorgan 70 verwendet, welches das mechanisch damit verbundene Roboterelement 71 antreibt. Eine Rückkopplungseinrichtung 72 ist mechanisch mit dem Betätigungsorgan verbunden und erzeugt ein Feedback-Signal, welches die tatsächliche Bewegung des angetriebenen Elementes des Roboterarmes repräsentiert. Es wird darauf hingewiesen, daß, obwohl es verschiedene Konfigurationen für die Steuerung der Servomechanismusschlei fe für jedes Element des Roboterarmes gibt, bei der bevorzugten Ausführungsform der Achsenantrieb 66, der Servoverstärker 68, das Betätigungsorgan.70 und das Rückkopplungselement 72 in einer Anzahl verwendet sind, die der Anzahl der gesteuerten Achsen des Roboterarmes entspricht.
Der Speicher 41 in dem Computer 40 besteht aus zwei Grundbausteinen. Der erste ist der Datenspeicher 74, welcher sämtliche numerischen Informationen speichert und der Rest des Speichers wird als das Betriebssystem des Roboterarms definiert. Das Betriebssystem kann als ein Steuerprogramm gekennzeichnet werden, welches festlegt, wie Daten während des Betriebes des Roboterarmes erzeugt und verwendet
werden sollen.
30
Der erste Abschnitt des Betriebssystems ist ein Ein-/Ausgabeabschnitt 77. Die Ein-/Ausgabeprogramme schließen ein Dateneingabe-/Ausgabeprogramm 78, ein Lehr-Ein-/Ausgabeprogramm 80, ein Bildschirm- und Tastenfeid-Eingabe-/Ausgabeprogramm 82, ein Steuereingabe-Ausgabeprogramm 84, ein Achsenantriebseingabe-/Ausgabeprogramm 85 und ein äußeres Datenübertiagungseingabe-/Ausgabeprogramm 86 ein.
ORIGINAL
• · ■ ·
-19-
β ο · ·
Es ist zu sehen, daß ein entsprechendes Eingabe-/Ausgabeprogramm vorgesehen ist, welches jeder der verschiedenen Typen peripherer Geräte entspricht, die mit dem Steuersystem verknüpft sind. Jedes Eingabe-Musgabeprogramm spricht gleichermaßen auf Daten an, welche durch jedes der peripheren Geräte erzeugt werden und ist wirksam, den Datenfluß von den peripheren Geräten in den Computer und aus dem Computer zu steuern.
Das Betriebssystem enthält ferner ein Modussteuerprogramm 90, welches die Gesamtsteuerung des Betriebssystems übernimmt. Das Modussteuerprogramm 90 schaltet die Steuerung des Computers zwischen den verschiedenen Betriebsarten um, beispielsweise manuell, Lehren, automatisch, etc. In dem Lehrmodussystem 92 steuern das Datenausgangsprogramm 96 und ein Lehrprogramm 98 den Betrieb des Roboterarms während der Lehrphase. Die Einzelheiten dieser Programme sind in dem USA-Patent Nr. 3 920 972 beschrieben. Während der Lehrphase werden Position und Orientierung des Funktionselementes, wie sie erforderlich sind, einen Betriebszyklus durchzuführen, festgelegt. Bei Verwendung der Lehrsteuerung wird das Funktionselement längs Bewegungsachsen bewegt, die ein rechtwinkliges zylindrisches oder anderes nicht generalisiertes Koordinatensystem definieren. Wenn eine gewünschte Position und Orientierung erreicht ist, wird eine Gruppe von Eingangssignalen, die rechtwinklige Koordinatenwerte der gewünschten Position und Orientierung repräsentieren, in dem Datenspeicher 74 des Speichers 41 abgespeichert. Die Gruppe von Eingangssignalen kann fer-
3^ ner einen Funktionskode enthalten, welcher eine spezielle Arbeit oder Funktion, die an dem gewünschten Ort durchgeführt werden soll, repräsentiert, beispielsweise eine Betätigung des Werkzeugs, Testen eines inneren oder äußeren Signalzustandes o. dgl. Durch Wiederholung des oben beschrieböien Verfahrens wird einer Reihe von Gruppen von Eingangssignalen, die einen kompletten Arbeitszyklus definieren, programmiert.
OZJOOZU
-20-
Das Automatikmodussystem 94 besteht aus einem Datenabrufprogramm 102, einem Wegberechnungsprogramm 104, einem Transformationsprogramm 106, einem Achsenantriebsprogramm 108, einem Funktionssteuerprogramm 110 und einem peripheren Service-Programm 111. Einzelheiten dieser Programme sind in dem USA-Patent Nr. 3 909 600 beschrieben. Der Automatikmodus bewirkt, daß das Funktionselement zwischen den programmierten Positionen bewegt wird. Diese Bewegung kann eine Punkt-zu-Punkt-Bewegung oder eine Bewegung längs festgelegter Wege, beispielsweise geradliniger Wege sein. Bei der bevorzugten AusfUhrungsform wird der programmierte Weg durch eine Reihe sich schneidender geradliniger Wege definiert, wobei die programmierten Positionen des Werkzeugmittelpunktes die Schnittpunkte der geradlinigen Wege darstellen und wobei der geometrische Ort
der programmierten Positionen den programmierten Weg bil- *■ det.
Bei Anwendung der vorliegenden Erfindung wird ein Programm in der oben beschriebenen Weise gelehrt, bis zu dem Punkt, an welchem der nicht programmierte Weg näher kommt. Unter Bezugnahme auf Figur 4 kann der Punkt P« als Ausgangsoder Startposition aufgefaßt werden. Unter Verwendung der Lehrsteuerung wird der Werkzeugmittelpunkt des Roboterarms zu den Punkten P,. und P? bewegt. An jedem Punkt werden die rechtwinkligen Koordinatenwerte, welche die Position und Orientierung der Punkte definieren, und falls erforderlich, der dazugehörige Funktionskode gespeichert. Der kurvenförmige Teil zwischen den: Punkten PE. und PE.
3^ stellt einen nicht programmierten Weg dar, welcher bei jedem Arbeitszyklus unterschiedlich sein kann. Zur Erleichterung des Verständnisses sind in Figur 4 lediglich die X-Y-Z-Achsen des rechtwinkligen Koordinatensystems und die dazugehörigen Koordinatenwerte, welche die Positionen des Roboterarms definieren, veranschaulicht. Obwohl dies nicht in Figur 4 gezeigt ist, sind bei der bevorzugten Ausführungsform Koordinatenwerte, welche die Orientierung des Roboterarms definieren, jeder Position zugeordnet.
BAD ORIGINAL
Während ein bis drei Orientierungsachsen verwendet werden können, werden im Rahmen der vorliegenden Beschreibung zwei Orientierungsachsen m und n, welche Steigung und Scherung definieren, als Teil der Definition eines jeden Punktes in Figur 4 aufgefaßt.
Um einen Wegerzeugerzyklus einzuleiten, wir-d als Eingangssignal in Verbindung mit den programmierten Eingangssignalen, welche die Position und Orientierung des Punktes P2 definieren, ein äußerer Wegsteuerfunktionskode programmiert und gespeichert. Wenn das gespeicherte Programm abläuft, wird das Automatik-Modus-Programm 94 gemäß Figur 2 das Funktionselement durch die programmierten Positio- . nen und Orientierungen bewegen und die Bewegung am Punkt P2 stoppen. An diesem Punkt löst das äußere Wegsteuersignal einen äußeren Wegerzeugerzyklus aus, welcher durch das äußere Wegsteuerfunktionsprogramm 112 in dem Funktionssteuerprogramm 110 definiert ist. Das Programm 112 löst eine Kommunikation mit einem äußeren Weggenerator 56 aus, .20 indem eine DatenUbertragungsinterface aktiviert wird, welche aus dem äußeren Datenübertragungsein-/Ausgabeprogramm 86, der äußeren Datenhauptleitung 50 und der on-line äusseren Datenübertragungsinterface 58 besteht. Die Datenübertragungsinterface übermittelt reihenweise Meldungen, welche aus sechzehn 8-Bit-Bytes bestehen zu und aus der Robotersteuerung. Der äußere Weggenerator enthält einen Sensor, welcher visuell, taktil oder irgendeine andere Einrichtung sein kann, um die Position und Orientierung von Punkten zu erfassen, welche einen geometrischen Ort aufweisen, der den nicht programmierten Weg definiert.
Die Definition und der Betrieb des Sensors hängt von dem speziellen Anwendungsfall des Roboterarmes ab. In sämtlichen Anwendungsfällen ist jedoch der Zweck, daß der nicht programmierte Weg überwacht wird und neue Gruppen von
3^ Eingangssignalen für die Robotersteuerung erzeugt werden, welche rechtwinklige Koordinatenwerte der Position und Orientierung von Punkten auf dem nicht programmierten Weg
O U O L. U
repräsentieren. Der äußere Weggenerator bei der bevorzugten AusfUhrungsform arbeitet bezüglich eines rechtwinkligen Koordinatenystems,jedoch können ebenfalls andere nicht generalisierte Koordinatensysteme verwendet werden. Die neuen Gruppen von Eingangssignalen werden von dem äußeren Wegsteuerfunktionsprogramm 112 empfangen, welches die rechtwinkligen Koordinatenwerte in entsprechende neue generalisierte Koordinatenwerte umwandelt. Die Unterschiede zwischen den neuen generalisierten Koordinatenwerten und den vorliegenden generalisierten Koordinatenwerten werden berechnet und als Antriebssignale in einem Pufferspeicher gespeichert, um eine Unterbrech-ung von dem Servomechanismuskreis abzuwarten. Der Servomechanismuskreis verwendet die Änderungen der generalisierten Koordinatenwerte, um die Betätigungsorgane an dem Roboterarm dazu zu bringen, das Funktionselement zu den nicht programmierten Positionen und Orientierungen zu bewegen, welche durch die neuen Gruppen von Eingangssignalen definiert werden, so daß der Roboterarm dem nicht programmierten Weg folgt, welcher durch den äußeren Weggenerator definiert wird.
Folglich gibt die vorliegende Erfindung dem Anwender des Roboterarms die Möglichkeit, daß der Roboterarm einem nicht programmierten Weg auf Real-Time-Basis während der automatischen Arbeitsweise folgt. Die tatsächliche Manifestation der Elemente des äußeren Weggenerators,mittels derer dieser den nicht programmierten Weg abläuft und neue Gruppen von Eingangssignalen erzeugt, welche rechtwinklige Koordinatenwerte von Punkten auf diesem Weg repräsentieren, ist für die vorliegende Erfindung nicht von besonderer Bedeutung. Die Definition, Konfiguration und die Kombinationen von Elementen, welche erforderlich sind, um diese Fähigkeit zu erzeugen, hängen von der Komplexheit, den aufwendbaren Kosten und der Erfahrung des Anwenders, wie auch von den Parametern und Variablen ab, welche den speziellen Anwendungsfall oder das Verfahren des Einsatzes umgeben.
BAD ORIGINAL
Die vorliegende Erfindung erfordert das Vorhandensein eines äußeren Weggenerators, welcher eine Gruppe von Eingangssignal en übertragen kann, die Koordinatenwerte bezüglich eines nicht generalisierten Koordinatensystems repräsentieren, welche durch die Robotersteuerung empfangen werden können. Dieses Erfordernis wird durch einen weiten Bereich zur Zeit erhälti icher Technologien erfüllt.
Figur 3 veranschaulicht ein Flußdiagramm der bevorzugten Ausführungsform, welches die Prozesschritte zum Durchführen einer automatischen Arbeitsweise definiert, die einen äußeren Wegerzeugerzyklus einschließt. Das Verfahren zum Bewegen des Funktionselementes von einem vorhandenen programmierten Punkt zum nächsten programmierten Punkt ist für die vorliegende Erfindung nicht von Bedeutung. Es gibt nach dem Stand der Technik viele derartige Verfahren, beispielsweise Bewegung auf Basis einer Punkt-zu-Punkt-Bewegung, zeitkoordinierte Bewegung oder Bewegung längs eines vorher festgelegten Weges. Das Flußdiagramm gemäß Figur 3 beschreibt die allgemeinen Verfahrensschritte der bevorzugten Ausführungsform, bei welchem eine Bewegung längs eines festgelegten Weges erfolgt. Die Einzelheiten dieses Verfahrens sind insbesondere in dem USA-Patent Nr. 3 909 600 beschrieben, wobei der vorher festgelegte Weg geradlinig gewählt wurde.
Beim Programmschritt 124 werden von dem Programmspeicher die rechtwinkligen Koordinatenwerte des vorliegenden Punk-
3^ tes, des nächsten Punktes und die Programmgeschwindigkeit abgerufen. Beim Programmschritt 128 werden die Entfernungsparameter berechnet, welche die Definition eines geradlinigen Weges zwischen dem vorliegenden Punkt und dem nächsten Punkt ermöglichen. Typische zu berechnende Pa-
3^ rameter stellen die lineare Entfernung zwischen dem vorliegenden Punkt und demi.inächsten Punkt, die Anzahl von Wiederholungen, welche erforderlich sind, um schrittwei-
O ΔΟΌ O Δ.Ό
-24-
se längs eines geradlinigen Weges die Bewegung durchzuführen und die Einzelheiten der rechtwinkligen Koordinatenachsen des Ge-samtweges dar. Nach Vorliegen dieser Inför1-mation erfordert der Programmschritt 130,daß eine Änderung der Entfernung längs des vorbestimmten Weges zwischen dem vorliegenden Punkt und dem nächsten Punkt während einer einzigen Wiederholung berechnet werden soll. Der Programmschritt 132 berechnet die rechtwinkligen Koordinatenwerte eines Endpunktes der ersten schrittweisen Verschiebung längs des geradlinigen Weges ausgehend von dem vorliegenden -Punkt. Der Programmschritt 134 wandelt die rechtwinkligen Koordinatenwerte dieses Endpunktes in entsprechende generalisierte Koordinatenwerte bezüglich des generalisierten Koordinatensystems um, das durch die Geometrie des Ro- boterarmes definiert ist. Der Programmschritt 136 berechnet die Änderung der generalisierten Koordinatenwerte und speichert diese Gruppe von Differentialen als Gruppe von Antriebssignalen in dem Pufferspeicher,um eine Unterbrechung des Servomechanismusantriebskreises 42 abzuwarten.
Eine Anzahl von Gruppen von Differentialen können zu einem Zeitpunkt in Warteschlange in dem Pufferspeicher abgespeichert werden.
Das oben stehende Verfahren arbeitet asynchron zu dem Servomechanismusantriebskreis 42. Der Antriebskreis 42 arbeitet auf einem Festzeitbasis-Samplesystem. Mit anderen Worten fragt der Servomechanismus aus dem Computer zu festgelegten Zeitintervallen neue Informationen ab. Indem der Servomechanismus mit einer festgelegten Samplegeschwindigkeit betrieben wird, wird der Computer mit verschiedenen Vorteilen versehen. Beispielsweise durch Kenntnis der Länge des programmierten Weges, der festgelegten Weggeschwindigkeit und der festen Länge der Samplezeit kann der Computer im Programmschritt 128 die Anzahl von Schritten berechnen, die erforderlich sind, um den festgelegten Weg auszuführen. Folglich kann mit dieser Information dann der Computer die Änderung der Entfernung längs des vorbe-
ORIGINAL
stimmten Weges für jeden Schritt berechnen. Ferner erlaubt es die Verwendung einer festgelegten Zeit für die Samplegeschwindigkeit, daß der Computer andere Funktionen zusätzlich zur Erzeugung des festgelegten Weges ausführen kann, wie dies dem Fachmann auf diesem Gebiet offen- ■ sichtlich ist. Da der Computer wesentlich schneller arbeitet als die peripheren mit ihm verbundenen Geräte, wird ein Informationsrückstau in dem Computer erzeugt. Folglich wird ein System von Unterbrechungen mit jeweils speziell zugeordneter Priorität verwendet.
Der Zweck der Servounterbrechungsroutine, wie sie im Programmblock 138 definiert ist, besteht darin, Daten
aus dem Pufferspeicher in Reaktion zu einer Unter-15
brechung von dem Servomechanismusantriebskreis 42 zu übertragen. Die Unterbrechung kann zu jedem Zeitpunkt während des Prozesses auftreten. Wenn eine Unterbrechung auftritt, wird die Steuerung des Prozesses von dem Hauptprogramm zur Servo-Unterbrechungsroutine 138 übertragen. In der Servo-Unterbrechungsroutine 138 überträgt der ProgrammsChritt 140 eine der in Warteschlange befindlichen Gruppen von Differentialen generalisierter Koordinatenwerte aus dem Pufferspeicher in den Servoo_ mectianismus-Antriebskreis 42. Dieser Kreis wandelt diese
Daten in analoge Signale um, welche die Betätigungsorgane an der Maschine dazu bringen, eine Bewegung durch eine Positionsänderung durchzuführen;, welche das korrespondierende Differential generalisierter Koordinatenwerte
QQ definiert. Am Ende dieser Positionsänderung der Betätigungsorgane sollte das -Funktionselement des Roboterarmes eine Position und Orientierung aufweisen, die dem Endpunkt der ersten schrittweisen Änderung auf der Verschiebung längs des durch die in dem Programmschritt 132 berechneten Koordinatenwerte definierten Weges entspricht. Anschließend wird die Entscheidungsstufe 142 wirksam, um zu bestimmen, ob der Weg zwischen dem vorliegenden Punkt und dem nächsten Punkt vollständig beendet ist. Da obenstehender Prozeß
ο ζ. ου ο /.u
lediglich eine Bewegung in einer ersten schrittweisen Änderung längs des Weges beschrieben hat, ist der vorbestimmte Weg nicht vervollständigt. Die Servo-Unter-,. brechungsroutine gibt die Steuerung des Prozesses zurück
an das Hauptprogramm, an den Punkt, wo die Unterbrechung auftrat. Aufeinanderfolgende schrittweise Verschiebungen längs des festgelegten Weges werden definiert und Änderungen in den generalisierten Koordinaten entsprechend den schrittweisen Änderungen werden festgelegt und gespeichert. Mit jeder aufeinanderfolgenden Servounterbrechung wird das Funktionselement längs des gradlinigen Weges bewegt, bis der nächste Punkt erreicht ist. An diesem Punkt erfaßt die Entscheidungsstufe 142 die Vollendung des vorher festgelegten Weges. Das Programm schreitet zur Stufe 144 fort, welche untersucht, ob der dem nächsten Punkt zugeordnete Funktionscode eine äußere Wegsteuerungsfunktion darstellt. Falls dies nicht der Fall ist, führt der Programmschritt 146 sonstige programmierte Funktionen
2Q aus. Anschließend, beginnend mit Schritt 124, wird der Wegerzeugungsprozeß wiederholt. Die bisherige Beschreibung von Fig. 3 ist näher in dem US-Patent 3 909 600 erläutert und stellt die Ausführung des üblichen automatischen Arbeitsmodus zum Bewegen des Funktionselementes zwischen den Punkten Pq und P^ in Fig. 4 dar.
Beim Bewegen des Funktionselementes von dem Punkt P.. zum Punkt P2 und in Kenntnis, daß nach Punkt P2 ein äußerer Wegerzeugerzyklus erforderlich ist, ist ein äußerer Wegsteuerungsfunktionscode in Verbindung mit den Daten des rechtwinkligen Koordinatensystems programmiert, welche die Position und Orientierung des Punktes P2 definieren. Pie Programmschritte 124 bis 142 gemäß Fig. 3 werden in der zuvor beschriebenen Weise durchlaufen und das Funktionselement zu dem programmierten Punkt P2 bewegt. Zu diesem Zeitpunkt erfaßt der Programmschritt 144 die Anwesenheit der äußeren Wegsteuerungsfunktion und ein äußerer Wegerzeugerzyklus wird ausgelöst. Der erste Schritt in diesem
BAD ORtGINAL
Zyklus besteht darin, die Datenübertragungsinterface zu konditionieren, so daß eine aktive Programmverbindung zum Austausch von Gruppen von Eingangssignalen zwischen
der Roboterstetferung und dem äußeren Weggenerator er-5
zeugt wird. Bei der bevorzugten Ausführungsform überträgt der Programmschritt 148 eine erste Gruppe von Eingangssignalen zu dem äußeren Weggenerator, wobei diese Signale die absoluten rechteckigen Koordinatenwerte repräsentieren, welche die Position und Orientierung des vorliegenden Punktes definieren. Bei dem beschriebenen Beispiel in Fig. 4 wäre der vorliegende Punkt P2-Anschließend definiert der äußere Weggenerator die rechtwinkligen Koordinatenwerte des ersten Punktes PE. auf dem
,,. nicht programmierten Weg und überträgt eine Meldung, welche Ib
die Koordinatenwerte dieses Punktes repräsentiert zu der Robotersteuerung als neue Gruppe von Eingangssignalen über die Datenübertragungsinterface. Der Programmschritt 150 empfängt die Meldung von dem äußeren Weggenerator 2Q und der Programmschritt 152 untersucht, ob die Meldung eine Datenmeldung ist, was hier der Fall ist.
In Fig. 5 werden zwei Ausführungsformen beschrieben, um das Funktionselement von Punkt Pp zum Punkt PE. zu bewegen. Welche Ausführungsform auch immer angewandt wird, transformiert der Programmschritt 154 die rechtwinkligen •Koordinatenwerte des nächsten nicht programmierten Punktes in entsprechende generalisierte Koordinatenwerte. Der Programmschritt 156 berechnet die Änderung der generalisierten Koordinatenwerte und speichert das Differential in einem Pufferspeicher, um in der .beschriebenen Weise eine Servo-Unterbrechung abzuwarten. Falls die Datenmeldung einen Funktionscode enthält, läßt der Programmschritt 158 die Funktion ausführen, nachdem das Funktionselement den Punkt PE. erreicht hat. Das Verfahren kehrt dann zum Prozeßschritt 150 zurück, um die nächste Meldung von dem äußeren Weggenerator zu empfangen, welche die absoluten rechtwinkligen Koordinatenwerte der Position
JZJDJZU
28
1
und Orientierung bezüglich des Punktes PE2 beschreibt. Die Programmschritte 150 bis 158 werden wiederholt, bis das Funktionselement zu dem Punkt PE* bewegt wurde. Die nächste von dem äußeren Generator empfangene Meldung ist dann keine Datenmeldung. Folglich interpretiert der Programmschritt 152 diese Meldung als Ende der äußeren Wegsteuerungsfunktion, so daß der äußere Wegerzeugerzyklus beendet wird. Der Prozeß kehr dann zurück zum Programmschritt 124, um den nächsten programmierten Punkt abzurufen, welcher entsprechend dem Beispiel gemäß Fig. der Punkt P^ wäre. Beim Ausführen des Prozesses der Blöcke 124 bis 142 bewegt sich das Funktionselement vom Punkt PE4 zum Punkt PE,., wodurch der Arbeitszyklus vervollständigt ist und der Roboterarm in eine Funktion gebracht wird, um den nächsten Zyklus zu beginnen.
In den Fig. 5a bis Fig. 5b ist ein detailliertes Flußdiagramm eines in Fig. 3 beschriebenen äußeren Wegerzeugerzyklus veranschaulicht. Nachdem die Anwesenheit eines äußeren Wegsteuersignals erfaßt ist, wird der äußere Wegerzeugerzyklus durch den Programmschritt ausgelöst, welcher die inneren Kennzeichen in dem Programm löscht und einen Empfangszeichenzeiger auf Null zurückstellt. Der Programmschritt 162 setzt dann ein Empfangskennzeichen, löscht die vorhandene Funktionsspeicherung auf "keine Funktion" und bewegt die Gruppe von Eingangssignalen, welche die rechtwinkligen Koordinatenwerte der vorliegenden Position und Orientierung des Funkti'onse'lementes darstellen in einen Speicher für die vorhandenen Koordinaten. Der Programmschritt 164 überträgt die Gruppe von Eingangssignalen, welche die vorliegende Position und Orientierung darstellen, zum äußeren Weggenerator. Der Programmschritt 166 untersucht diese Daten auf Anwesenheit eines Fehlers oder einer Unterbrechung,welche zu diesem Zeitpunkt nicht vorliegen sollte. Der Programmschritt 168 führt die
durch den vorliegenden Funktionsspeicher definierte Funktion aus, welcher zuvor auf keine Funktion eingestellt war, so daß keine Aktion erfolgt. Der Programmschritt 170 untersucht den Zustand des Kennzeichens für 5
gute Daten. Dieses Kennzeichen wurde jedoch vorher gelöscht, so daß der Prozeß zum Programmschritt 172 fortschreitet, welcher ein Startkennzeichen setzt, den vorliegenden Funktionsspeicher auf "keine Funktion" löscht und einen inneren Wiederholungszähler auf seinen Maximalwert einstellt. Ferner setzt dieser Programmschritt die Werte aller ^-Schritte auf Null. Von diesem Punkt bewegt sich der Prozeß zu Schritt 176 in Fig. 5c.
.c Wie zuvor beschrieben, besteht der nächste Schritt, nachdem die Robotersteuerung die rechtwinkligen Koordinatenwerte der vorliegenden Position und Orientierung an den äußeren Weggenerator übertragen hat darin, die übertragung einer Meldung abzuwarten, welche eine neue Gruppe von Eingangssignalen von dem äußeren Generator repräsentiert. Die neue Gruppe von Eingangssignalen definiert rechtwinklige Koordinatenwerte, welche den ersten nicht programmierten Punkt PE1 repräsentieren und einen Prozeßfunktionscode, rWelchen der äußere Weggenerator definieren kann. Die Meldung besteht aus 16 Bytes an Information, welche byteweise an die Robotersteuerung übertragen werden. Unter Bezugnahme auf Fig. 5c bewegt sich der Prozeß durch die Programmschritte 176 bis 184 ohne Aktion. Prozeßschritt 186 untersucht den Zustand des Empfangskennzeichens. Da das Empfangskennzeichen durch den Schritt 162 gesetzt wurde, untersucht der Prozeßschritt 188 ob ein Informationsbyte in dem Empfangspufferspeicher vorhanden ist. Falls dies nicht der Fall ist, wird der Prozeß durch die Schleife der Schritte 176 bis 188 wiederholt, bis der äußere Weggenerator das erste Informationsbyte sendet. Wenn die Information in dem Empfangspufferspeicher ist, bewegt sich der Prozeß zum Schritt 190 in Fig. 5d.
O Z. O OO Z. U
Der Prozeßschritt 190 überträgt das Byte in dem Empfangspufferspeicher zu einem Ort in einem nächsten Koordinatenspeicher, auf welchen durch den Empfangszeichenzeiger gezeigt wird. In dieser Situation würde das erste Byte in den ersten Ort in dem nächsten Koordinatenspeicher eingespeichert. Ferner schaltet der Prozeßschritt 190 den Empfangszeichenzeiger weiter und berechnet ferner den Prüfsummenwert. Der Prozeßschritt 192 untersucht, ob das Byte das erste Byte ist. Da dies der Fall ist, stellt (Jg1, prozeßschritt 194 fest, ob die Meldung eine Datenmeldung ist. Der äußere Weggenerator kann den äußeren Wegerzeugerzyklus dadurch aufheben, indem zu irgendeinem Zeitpunkt eine keine Daten enthaltende Meldung übertragen wird. Da im vorliegenden Fall jedoch eine Datenmeldung vorliegt, sendet der Prozeßschritt 196 ein Bestätigungsbyte zurück zu dem äußeren Weggenerator. Der Prozeß kehrt darauf zum Prozeßschritt 176 zurück.
Durch wiederholtes Durchlaufen der aus den Prozeßschritten
176 bis 198 und Schritt 196 bestehenden Schleife, werden die nächsten 14 Bytes der Datenmeldung von dem äußeren Weggenerator in die Robotersteuerung übertragen und in den nächsten Koordinatenspeicher der Robotersteuerung eingespeichert. Beim 16. Byte der Meldung erfaßt der Prozeßschritt 198 von Fig. 5d, daß das letzte Byte empfangen wurde und der Prozeßschritt 200 untersucht die Wertigkeit des Prüfsummenwertes. Der Prüfsummenwert ist ein Standardtest, welcher die allgemeine Gültigkeit des Formats der übertragenen Meldung untersucht. Falls die Prüfsumme nicht stimmt, stellt der Prozeßschritt 202 den Empfangszeichenzeiger auf Null zurück, löscht den Prüfsummenwert und sendet ein Nichtbestätigungsbyte zum äußeren Weggenerator. Diese Information zeigt dem äußeren
Weggenerator an, daß die Meldung nicht korrekt empfangen 35
wurde und daß die gesamte Meldung erneut zu übertragen ist.
BAD ORIGINAL
Folglich kehrt der Prozeß zurück zum Prozeßschritt 176 um eine erneute übertragung der gesamten Meldung abzuwarten. Falls die Prüfsumme gültig ist/ löscht der Prozeßschritt 204 das Empfangskennzeichen, setzt das Kennzeichen für gute Daten und sendet ein Bestätigungsbyte zum äußeren Weggenerator. Der Prozeßschritt 206 untersucht, ob das Startkennzeichen gesetzt ist. Da dieses Kennzeichen zuvor im Prozeßschritt 172 gesetzt wurde, löscht der Prozeßschritt 208 das Startkennzeichen und leitet den Prozeß zum Schritt 166 von Fig. 5a über. Zu diesem Zeitpunkt sollte kein Fehler oder Unterbrechung am Eingang vorliegen. Da ferner die vorliegende Meldung im nächstliegenden Koordinatenspeicher enthalten ist, unabhängig von der funktionalen Information in dieser Meldung, ist diese Information nicht im vorliegenden Funktionsspeicher enthalten. Folg!ich erfaßt die Robotersteuerung nicht das Erfordernis eine jeweilige Funktion auszuführen. Daher bewegt sich der Prozeß direkt zum Prozeßschritt 170, um den Zustand des Kennzeichens für gute Daten zu unter-
suchen. Das Kennzeichen für gute Daten wurde durch den Prozeßschritt 204 gesetzt und der Prozeßschritt 174 untersucht den Zustand des Löschkennzeichens. Da die Meldung eine Datenmeldung ist, ist das Löschkennzeichen nicht gesetzt und der Prozeß bewegt sich zum Schritt 210, gemäß Fig.. 5b.
Unter kurzer erneuter Bezugnahme auf Fig. 4 ist nach Ausführung des oben beschriebenen Programms das Funktionselement am Punkt P9 angeordnet, welcher ein programmierter ^-
Punkt ist. Die programmierte äußere Wegsteuerfunktion
hat einen äußeren Wegsteuerzyklus ausgelöst. An diesem Punkt in dem äußeren Wegsteuerzyklus hat die Robotersteuerung die rechtwinkligen Koordinatenwerte des vor-Jl liegenden Punktes P9 an den äußeren Weggenerator über-
Ou <-
tragen und der äußere Weggenerator hat an die Robotersteuerung zurück eine neue Gruppe von Eingangssignalen übertragen, welche den nicht programmierten Punkt PE-
O LO OJZU
definieren. Die rechtwinkligen Koordinatenwerte, dieses Punktes sind im nächsten Koordinatenspeicher aufgenommen. Es ist nun erforderlich das Funktionselement aus der Position und Orientierung des vorliegenden Punktes P0 in
ο c
die Position und Orientierung zu bewegen, welche durch die Koordinatenwerte des Punktes PE^ definiert werden. Wie es dem Fachmann offensichtlich ist, können verschiedene Techniken angewandt werden, um den Roboterarm zu dem neuen Punkt PE, zu bewegen. Zwei spezielle Ausführungsformen werden im Rahmen der vorliegenden Beschreibung erläutert und die vorliegende Erfindung ist nicht auf die zum Bewegen eines Maschinenelementes angewandte Technik von einem Punkt zum anderen beschränkt. Die spezielle
IQ gewählte Technik hängt primär vom Typ des verwendeten äußeren Weggenerators und der Robotersteuerung ab und von der Geschwindigkeit mit welcher die Robotersteuerung selbst Daten empfangen und verarbeiten kann. Ferner beeinflussen die normalen Designparameter von Kosten und Zuverlässigkeit die Wahl einer Wegsteuerungstechnik.
Wenn dem derzeitigen Stand der Technik entsprechende Computerverarbeitungs- und Datenübertragungstechniken verwendet werden, werden die durch den äußeren Weggenerator übertragenen Koordinatenwerte durch die Robotersteuerung verarbeitet und die Bewegung zum nächsten Punkt unmittelbar ausgelöst. In vielen Situationen aufgrund der Fähigkeiten der Prüfgeschwindigkeit des äußeren Weggenerators oder der Begrenzungen bei der Geschwindigkeit der Datenübertragung zwischen dem äußeren Weggenerator und der Robotsteuerung kann der nächste Punkt von dem vorliegenden Punkt in einem Ausmaß getrennt sein, daß eine Anzahl zwischenliegender Punkte wünschenswert sind, um genauer die Position und Orientierung des Funktionselementes bei seiner Bewegung zwischen dem vorliegenden Punkt und dem naschten Punkt zu steuern. Diese Ausführungsform wird zunächst beschrieben.
BAD ORIGINAL
Ein Verfahren zum Erzielen zwischenliegender Punkte zwischen dem vorliegenden Punkt und dem nächsten Punkt besteht darin, die vorhandenen Wegerzeugungsprogramme
zu verwenden, welche in der Robotersteuerung enthalten 5
sind und welche in den Prozeßschritten 124 bis 136 von Fig. 3 beschrieben sind. Wie jedoch zuvor beschrieben, bedient sich dieser Prozeß einer Technik zur Steuerung der Position und Orientierung des Funktionselementes genau längs eines festgelegten Weges bei einer wählbaren vorbestimmten Geschwindigkeit. Dies stellt ein sehr komplexes und zeitaufwendiges Verfahren bei der Durchführung dar.
Im Falle der äußeren Wegsteuerfunktion kann ein einfacheres Verfahren annehmbar sein. Beispielsweise kann bei der Bewegung vom vorliegenden Punkt zum nächsten Punkt die Geschwindigkeit als konstant angenommen werden. Ferner wird angenommen, daß die Ausführung der Bewegung auf dem Weg zwischen den Punkten P^ und PE. in einer bestimmten Anzahl von Wiederholungen erfolgt, welche der maximalen Zählstellung entspricht, die in einem Wiederholungszähler eingestellt wurde, wie dieser im Prozeßschritt 172 erforderlich ist. Wenn diese Information vorliegt, kann eine schrittweise Verschiebung längs jeder Koordinatenachse bei jeder Wiederholung leicht festgelegt werden. Folglich wird,nachdem erfaßt wurde, daß das Kennzeichen für gute Daten gesetzt ist und daß das Löschkennzeichen nicht gesetzt ist, ein Wiederholungsbewegungszyklus ausgelöst, indem zum Prozeßschritt 210 übergegangen wird.
In diesem Schritt wird das in Fig. 4 erwähnte A X definiert, in dem der Unterschied zwischen dem nächstfolgenden Wert der X-Koordinate und dem vorliegenden Wert der X-Koordinate bestimmt wird und diese Differenz durch die bestimmte Anzahl von Wiederholungen, d.h. die maximale Zähl stellung dividiert wird. Der Prozeßschritt 212 untersucht, ob das Δ X größer als eine bestimmte Obergrenze für X ist. Die Prozeßschritte 228 bis 240 berechnen die
O LO UOZU
Δ -Werte für alle anderen rechtwinkligen Koordinatenachsen die Position und Orientierung definieren.
Anschließend bewegt sich der Prozeß zum Prozeßschritt 234 gemäß Fig. 5c. In diesem Prozeßschritt werden zunächst die rechtwinkligen Koordinatenwerte des nächsten Punktes aus dem nächsten Koordinatenspeicher in den vorliegenden Koordinatenspeicher übertragen. Anschließend
wir die mit dem nächsten Punkt verbundene Funktion aus 10
dem nächsten Koordinatenspeicher in den vorliegenden
Funktionsspeicher übertragen und der Empfangskennzeichenzeiger wird auf Null gestellt, um für den Empfang der nächsten Meldung bereit zu sein. Ferner wird das Kennzeichen für gute Daten gelöscht und das Empfangskenn-15
zeichen gesetzt. Der Prozeßschritt 176 untersucht dann, ob der Wiederholungszähler auf Null steht. Da keine Wiederholungen angefangen haben, ist dieser immer noch in seiner maximalen Zählstellung. Der Prozeßschritt 178 definiert ein Zwischenpunktsignal, welches die rechtwinkligen Koordinatenwerte eines ersten Zwischenpunktes repräsentiert, auf welchen sich das Funktionselement während der ersten Wiederholung bewegen soll. Dies wird einfach dadurch erreicht, indem die zuvor bestimmten Δ-Werte für die rechtwinkligen Koordinatenachsen zu den entsprechenden rechtwinkligen Koordinatenwerten der vorliegenden Position des Funktionselementes hinzuaddiert werden. Unter Bezugnahme auf Fig. 4 stellen X-J + I » Y - und Z.j + 1 allgemein die rechtwinkligen Koordinatenwerte
Q0 des nächsten zwischenliegenden Punktes während einer der Wiederholungen dar. Die Werte X1-, Y. und Z. repräsentieren die rechtwinkligen Koordinatenwerte der vorliegenden Position des Funktionselementes am Beginn jeder speziellen Wiederholung. Nach Berechnung der rechtwinkligen Koordinatenwerte des zwischenliegenden Punktes für die erste Wiederholung längs des Weges transformiert der Prozeßschritt 180 diese rechtwinkligen Koordinatenwerte in entsprechende generalisierte Koordinatenwerte. Der Prozeß-
BAD ORIGINAL
• β · *
schritt 182 berechnet die Änderung der generalisierten Koordinatenwerte und speichert in dem Pufferspeicher eine Gruppe von Antriebssignalen, welche die Änderung
der Position eines jeden Betätigungsorgans des Roboter-5
armes repräsentieren, welches das Funktionselement zum zwischenliegenden Punkt bewegen muß. Anschließend arbeitet der Prozeß in der zuvor beschriebenen Weise. Beim Auftreten jeder Servo-Unterbrechung wird eine Gruppe von Antriebssignalen in den Servomechanismuskreis übertragen und die Betätigungsorgane des Roborterarmes bewegen das Funktionselement zu dem zwischenliegenden Punkt. Der Prozeßschritt 184 verringert den Wiederholungszähler und der Prozeßschritt 186 untersucht den Zustand des Empfangskennzeichens. Da dieses im Prozeßschritt 232 gesetzt wurde, untersucht der Prozeßschritt 188, ob ein Byte in dem Empfangspufferspeicher ist. Wenn kein Byte in dem Empfangspufferspeicher ist, bewegt sich der Prozeß zurück zum Schritt 176. Da der Wiederholungszähler nicht auf Null steht, berechnet der Prozeßschritt 178 eine neue Gruppe rechtwinkliger Koordinatenwerte, die einen zweiten Zwischenpunkt definieren, welcher in Verbindung mit der zweiten Wiederholung steht. Bei jeder aufeinanderfolgenden Wiederholung der Prozeßschritte 176 bis 188 wird das Funktionselement dazu gebracht, sich schrittweise in eine neue Position zu bewegen, welche von der vorhergehenden Position durch einen Vektorzuwachs getrennt ist, der durch die Δ-Koordinatenwerte definiert ist, welche in den Schritten gemäß Fig. 5b berechnet wurden. Dieser schrittweise Bewegungszyklus wird fortgesetzt, bis der Wiederholungszähler auf Null heruntergeschaltet wurde, was durch den Prozeßschritt 176 erfaßt wird. An diesem Punkt ist das Funktionselement in der Position und Orientierung der Koordinaten befindlich, welche den ersten nicht programmierten Punkt PE. definieren.
O ΔΟΌ Ο Z. U
Der Prozeß bewegt sich zum Prozeßschritt 166 von Fig. 5a und direkt zum Schritt 168. Da der Prozeßschritt 234 die nächste Funktion in den vorliegenden Funktionsspeicher übertragen hat, führt der Prozeßschritt 168 aus, welche Funktion auch immer in dem vorliegenden Funktionsspeicher enthalten ist. Zu diesem Zeitpunkt hat die Robotersteuerung sämtliche Operationen ausgeführt, welche von der ersten Datenmeldung gefordert wurden, die von den äußeren Weggenerator empfangen wurde. Es ist dem Fachmann offensichtlich, daß, obwohl die aufeinanderfolgenden Koordinatenwerte in den Prozeßschritten 178 bis 184 berechnet werden, der Prozeßschritt 188 bestimmen kann, daß ein anderes Byte in dem Empfangspufferspeicher vorhanden
ist, welches anzeigt, daß die äußere Wegsteuerung eine 15
andere Meldung an die Robotersteuerung überträgt. In diesem Zustand empfangen die Prozeßschritte 190 bis 208 gemäß Fig. 5 b die neue Meldung und speichern diese in dem nächsten Koordinatenspeicher, bis das Funktionselement sich zu dem Punkt bewegt hat, der durch den Inhalt des vorhandenen Koordinatenspeichers bestimmt ist. Während eine Meldung in dem nächsten Koordinatenspeicher vorliegt, erkennt der Prozeßschritt 188 keine weiteren Bytes in dem Empfangspufferspeicher.
Falls zu irgendeinem Zeitpunkt des Prozeßes ein Fehler aus den Prozeßschritten 212, 230, 232, 236 oder 240 von Fig. 5b oder einer Unterbrechungseingabe auftreten, wie dies in dem Prozeßschritt 166 von Fig. 5a untersucht
3q wird, zeigt der Prozeßschritt 214 eine Warnungsmeldung für die Bedienungsperson an. Der Prozeßschritt 21§rjwartet die Antwort einer Bedienungsperson. Falls der Prozeßschritt 218 entdeckt, daß die Bedienungsperson die Eingangstaste gedruckt hat, bewegt sich der Prozeßschritt 164 und beginnt von vorn. Falls die Bedienungsperson die Löschtaste drückt, was durch den Prozeßschritt 220 erfaßt wird, zeigt der Prozeßschritt 222 eine Fehlermeldung im Gegensatz zu einer Warnmeldung an, die in dem Prozeßschritt 214 ange-
BAD ORIGINAL
zeigt wird. Falls die Bedienungsperson wiederum die Löschtest drück um hierdurch zu versuchen, den Fehler zu löschen, bringt der Prozeßschritt 224 die Robotersteuerung dazu,
_ die automatische Arbeitsweise zu verlassen und sich in ο
die manuelle Arbeitsweise umzuschalten.
Falls die zweite Meldung, die durch den äußeren Weggenerator übertragen wurde, Koordinatendaten und Funktionsinformationen darstellt, welche die gewünschte Position und Orientierung des Funktionseiementes am Punkt PE2 gemäß Fig. 4 definieren, wird der zuvor beschriebene Prozeß wiederholt. Die Schritte in Fig. 5b berechnen neue Δ-Werte und der Prozeß gemäß Fig. 5c erzeugt eine Reihe von zwischenliegenden Koordinatenwerten, welche Positionen und Orientierungen einer Anzahl zwischenliegender Punkte definieren, welche auf einer graden Linie zwischen den Punkten PE. und PEp liegen. Folglich wird der Roboterarm zum Punkt PE2 bewegt. Welche Prozeßfunktion auch immer mit diesem Punkt verbunden ist und mit der zweiten Meldung übertragen wurde, wird ausgeführt.
Wie oben beschrieben, kann eine alternative Ausführungsform geschaffen werden, mittels derer die Koordinaten- werte, welche die nicht programmierten Punkte definieren, durch den äußeren Weggenerator zur Robotersteuerung übertragen und umgehend ausgeführt werden. Folglich werden keine Zwischenpunkte zwischen den nicht programmierten Punkten geschaffen. In dieser Situation wird eine Datenmeldung, welche eine neue Gruppe von Eingangssignalen darstellt, in identischer Weise wie oben beschrieben, empfangen. Es ist jedoch kein Wiederholungszähler vorgesehen und folglich setzt der Programmschritt 172 keinen Wiederholungszähler. Nachdem die Meldung empfangen ist und das Kennzeichen für gute Daten durch den Programmschritt erfaßt wurde und keine Löschmeldung durch den Programmschritt 174 erfaßt wurde, sind die in Fig. 5d veranschaulichten Programmschritte nicht erforderlich. Bei
dieser Ausführungsform bewegt sich der Prozeß direkt vom Schritt 174 von Fig. 5a zum Schritt 234 von Fig. 5c. Die neue Gruppe von Eingangssignalen in dem nächst!legenden .Koordinatenspeicher wird umgehend in den vorliegenden Koordinatenspeicher übertragen. Die Programmschritte 176 und 178 sind nicht erforderlich und folglich bewegt sich der Prozeß direkt zum Programmschritt 180, welcher die rechtwinkligen Koordinatenwerte, die durch die neue Gruppe von Eingangssignalen in dem vorliegenden Koordinatenspeicher definiert werden, in entpsrechende generalisierte Koordinatenwerte umwandeln. Bei Verwendung der alternativen gerade beschriebenen Ausführungsform und unter Bezugnahme auf Fig. 4, falls die dritte Meldung, die durch den äußeren
Weggenerator gesendet wurde, eine neue Gruppe von Eingangs-15
Signalen darstellt,welche die Position und Orientierung des Punktes PE3 definieren, überträgt die Robotersteuerung umgehend diese Koordinatenwerte in den vorliegenden Koordinatenspeicher und erzeugt eine Gruppe von Antriebssignalen, indem die rechtwinkligen Koordinatenwerte der neuen Gruppe von Eingangssignalen in entpsrechende generalisierte Koordinatenwerte umgewandelt werden. Die neue Gruppe von Antriebssignalen bewirkt, daß das Funktionselement längs eines Weges von PEp nach PE3 bewegt wird, ohne die Erfordernis, Zwischenpunkte zu definieren.
Nimmt man an, daß derselbe Prozeß verwendet wird, um das Funktionselement zum Punkt PE« zu bewegen, so ist der vollständige nicht programmierte Weg durchfahren. Folglich sendet der äußere Weggenerator eine nicht-Datenmeldung zur Robotersteuerung, welche durch den Programmschritt 246 von Fig. 5d als Löschmeldung erfaßt wird. Der Programmschritt 248 setzt das Löschkennzeichen und wie oben bereits beschrieben, bewegt sich der Prozeß durch die Schritte 204, 206 und 208 von Fig. 5d und 166, 168, 170 von Fig. 5a, bis der Programmschritt 174 den Zustand des Löschkennzeichens untersucht. Da das Löschkennzeichen ge-
BAD ORIGINAL
setzt ist, wird der Prozeß am Punkt 250 beendet und kehrt zum Programmschritt 124 von Fig. 3 zurück, welcher den nächsten programmierten Punkt und Geschwindigkeit abruft. _ Bei der anschließenden Betriebsweise im üblichen auto-
matischen Modus, wird das Funktionselement von dem Punkt PE» zu dem programmierten Punkt PE. zurückbewegt, wobei von dort ein weiterer Arbeitszyklus ausgelöst werden kann.
_ Obwohl die Erfindung in Einzelheiten der bevorzugten in den beiliegenden Zeichnungen veranschaulichten AusfUhrungsformen näher erläutert wurde und obwohl die bevorzugten veranschaulichten Ausführungsformen in ihren Einzelheiten beschrieben wurden, soll die Erfindung nicht -c auf diese Einzelheiten beschränkt sein. Dem Fachmann offensichtliche Abwandlungen, Modifikationen und Äquivalente liegen innerhalb des Grundgedankens der Erfindung.
Sämtliche aus der Beschreibung, den Ansprüchen und Zeichnungen hervorgehenden Merkmale und Vorteile der Erfindung, einschließlich konstruktiver Einzelheiten und räumlicher Anordnungen, kennen sowohl für sich als auch in beliebiger Kombination erfindungswesentlich sein.

Claims (6)

IHTENMN14^LJE ""BRQSE dk" BROSE D-8023 München-Pullach. Wiener Str. 2; TlI* fo*39}*7*98 30 51; Tplex 5812147'pfOsV; Cables: «Palentlbus- München Diplom Ingenieure CINCINNATI MILACRON INC., 4701 Marburg Avenue? 23 63 Cincinnati, Ohio 45 209, USA Ihr Zeichen: Your ref: Case 8120F Tag: 24. September 1982 Date: DBr-aU PATENTANSPRÜCHE
1. Vorrichtung zum Bewegen eines Werkzeugmittelpunktes eines Funktionselementes, insbesondere eines Roboterarms, zu einer Anzahl von Positionen, welche einen Arbeitszyklus in Abhängigkeit von programmierten Gruppen von Eingangssignal en darstellen, welche programmierte Positionen bezüglich eines ersten Koordinatensystems definieren, wobei die programmierten Positionen einen geometrischen Ort aufweisen, der einen programmierten Weg definiert, wobei die Vorrichtung an einen äußeren Weggenerator angeschlossen ist und auf ein Eingangssignal anspricht, welches ein äußeres Wegsteuersignal darstellt, um den Werkzeugmittelpunkt zu einer Anzahl nicht programmierter Positionen zu bewegen, welche einen geometrischen Ort haben, der einen nicht programmierten Weg definiert, gekennzeichnet durch folgende Bestandteile:
a) eine Maschine mit Maschinenteilen, die mit einem Ende des Funktionselementes verbunden sind und Betäti-
gungsorganen, die den Maschinenteilen zugeordnet sind, um eine Vielzahl von Bewegungsachsen zum Bewegen des Werkzeugmittelpunktes zu erzeugen, wobei die Vielzahl von Bewegungsachsen und die Maschinenteile ein generalisiertes Koordinatensystem bilden, welches sich von dem ersten Koordinatensystem unterscheidet und
b) eine Maschinensteuerung mit einem Speicher zum Speichern programmierter Gruppen von Eingangssignalen, einer Datenübertragungsinterface zum Austauschen von Gruppen von Eingangssignalen zwischen dem äußeren Weggenerator und der Maschinensteuerung und mit einem Servomechanismuskreis, welcher mit den Betätigungsorganen verbunden ist, um die Position und Bewegung des Werkzeugmittelpunktes zu steuern, wobei die Steuerung die folgenden Schritte durchführt:
1. Wiederabrufen einer ersten Gruppe von Eingangssignalen aus dem Speicher,
2. Testen der ersten Gruppe von Eingangssignalen auf Anwesenheit eines äußeren Wegsteuersignals,
3. bei Anwesenheit eines äußeren Wegsteuersignals Ausführen eines äußeren Wegerzeugerzyklus, welcher die folgenden Schritte enthält:
I. Konditionieren der Datenübertragungsinterface zur Erzeugung einer aktiven Programmverbindung zwischen dem äußeren Weggenerator und der Maschinensteuerung,
II. Empfangen einer neuen Gruppe von Eingangssignalen von der äußeren Wegsteuerung, welche eine nicht programmierte Position des Werkzeugmittelpunkts definieren,
III. Erzeugen einer Gruppe von Antriebssignalen, welche die nicht programmierte Position des Werkzeugmittelpunk·
BAD ORIGINAL
tes bezüglich des generalisierten Koordinatensystems definieren,
IV. Ingangsetzen der Betätigungsorgane zum Bewegen des Werkzeugmittelpunkts zu der nicht programmierten Position in Abhängigkeit von der Gruppe von Antriebssignalen und
V. Wiederholen der Schritte II und IV,um den Werkzeugmittelpunkt zu einer Reihe von nicht programmierten Positionen zu bewegen, deren geometrischer Ort den nicht programmierten Weg definiert.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Gruppe von Eingangssignalen ferner eine erste programmierte Position des Werkzeugmittelpunkts repräsentieren und daß die Steuerung ferner den Schritt ausführt, die Betätigungsorgane in Gang zu setzen, um den Werkzeugmittelpunkt zu der ersten programmierten Position des Werkzeugmittel punktesAu bewegen, ehe der Schritt des Testes auf Anwesenheit des äußeren Wegsteuersignals durchgeführt wird.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Wegerzeugerzyklus ferner die folgenden Schritte enthält:
a) Empfangen einer weiteren Gruppe von Eingangssignalen von dem äußeren Weggenerator, welche eine Prozessfunk-
3^ tion repräsentieren und
b) Ausführen der Prozessfunktion nach Bewegung des Werkzeugmittelpunktes zu der nicht programmierten Position.
4. Vorrichtung zum Bewegen eines Werkzeugmittelpunktes eines Funktionselementes längs überschneidender Wege in Abhängigkeit von Gruppen von Eingangssignalen, welche
programmierte Positionen des Werkzeugmittelpunktes bezüglich eines rechtwinkligen Koordinatensystems definieren und welche die Schnittpunkte der Wege repräsentieren, wobei die Schnittpunkte einen geometrischen Ort aufweisen, welcher einen programmierten Weg definiert, dadurch gekennzeichnet, daß die Vorrichtung an einen· äußeren Weggenerator angeschlossen ist und auf ein Eingangssignal anspricht, welches ein äußeres Wegsteuersignal repräsentiert, um den Werkzeugmittelpunkt zu einer Anzahl nicht programmierter Positionen zu bewegen, deren geometrischer Ort einen nicht programmierten Weg definiert, wobei die Vorrichtung folgende Bestandteile aufwei st:
a) einen Roboterarm mit Armgliedern, die mit einem Ende des Funktionselementes verbunden sind und bei welchem Betätigungsorgane den Armgliedern zugehörig sind, um eine Vielzahl von Bewegungsachsen zu erzeugen, die der Bewegung des Werkzeugmittelpunktes dienen, wobei die Vielzahl von Bewegungsachsen und die Maschinenteile ein generalisiertes Koordinatensystem definieren, welches sich von dem rechtwinkligen Koordinatensystem unterscheidet und
b) eine Roboterarmsteuerung mit einem Speicher zum Speichern programmierter Eingangssignale, einer Datenübertragungsinterface zum Austauschen von Eingangssignalen zwischen dem äußeren Weggenerator und der Steuerung des Roboterarmes und mit einem Servomechanismuskreis, welcher an die Betätigungsorgane angeschlossen ist, um die Position und Bewegung des Werkzeugmittelpunktes zu steuern, wobei die Roboterarmsteuerung die folgenden Schritte ausführt:
1. Abrufen einer ersten Gruppe von Eingangssignalen aus dem Speicher,
2. Testen der ersten Gruppe von Eingangssignalen auf Anwesenheit eines äußeren Wegsteuersignals,
3. Ausführen eines äußeren Wegerzeugerzyklus in Abhängigkeit von der Anwesenheit des äußeren Hegsteuersignals, welcher die folgenden Schritte enthält:
I. Konditionieren der Datenübertragungsinterface zum Erzeugen einer aktiven Programmverbindung zwischen dem äußeren Weggenerator und der Roboterarmsteuerung,
II. Empfangen einer neuen Gruppe von Eingangssignalen von dem äußeren Weggenerator, welche Werte eines rechtwinkligen Koordinatensystems einer nicht programmierten Position des Werkzeugmittelpunkts bezüglich des rechtwinkligen Koordinatensystems definierens
III. Erzeugen einer Gruppe von Antriebssignalen durch Transformation der Werte des rechtwinkligen Koordinatensystems, welches durch die neue Gruppe neuer Eingangssignale definiert ist in entsprechende Werte des generalisierten Koordinatensystems,
IV. übertragen der Gruppe von Antriebssignalen auf den Servomechaiiismuskreis , um die Betätigungsorgane in Gang zu setzen, so daß der Werkzeugmittelpunkt zu der nicht programmierten Position bewegt wird,
V. Wiederholen der Schritte II bis IV, um den Werkzeugmi.ttelpunkt zu einer Reihe nicht programmierter Positionen zu bewegen, deren geometrischer Ort dem nicht programmierten Weg definiert.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß der Speicher ferner die rechtwinkligen Koordinatenwerte der jeweils vorliegenden Position des Werkzeugmittelpunktes speichert und daß der Schritt zur Erzeugung
einer Gruppe von Antriebssignalen ferner die folgenden Schritte enthält:
a) Auslösen eines wiederholenden Bewegungszyklus mit einer vorbestimmten Anzahl von Wiederholungen, wobei
die vorbestimmte Anzahl von Wiederholungen die Anzahl schrittweiser Bewegungen definiert, die erforderlich sind, um das Funktionselement zu der nicht programmier ten Position zu bewegen,
IO
b) Berechnen in Abhängigkeit von den neuen Eingangssignalen und der vorbestimmten Anzahl von Wiederholungen der Größe jeder schrittweisen Verschiebung längs jeder Koordinatenachse des rechtwinkligen Systems während je der Wiederholung in dem Bewegungszyklus,
c) Addieren während einer Wiederholung der Größe der schrittweisen Verschiebungen zu korrespondierenden rechtwinkligen Koordinatenwerten der jeweils vorliegenden Position zur Erzeugung eines Zwischenpunktsignals, welches die rechtwinkligen Koordinatenwerte der Position an einem dazwischenliegenden Punkt definiert,
d) Erzeugen einer Gruppe von Antriebssignalen durch Transformation der rechtwinkligen Koordinatenwerte des Zwischenpunktes in entsprechende generalisierte Koordinatenwerte,
e) Aufbringen der Gruppe von Antriebssignalen auf die Betätigungsorgane, um den Werkzeugmittelpunkt zu dem Zwischenpunkt zu bewegen und
f) Wiederholen der Schritte c) bis e), um durch die Be tätigungsorgane den Werkzeugmittelpunkt zu der nicht programmierten Position zu bewegen.
6. Vorrichtung zum Bewegen eines Werkzeugmittelpunktes eines Funktionselementes längs sich überschneidender vorbestimmter Wege in Abhängigkeit von Gruppen von Eingangssignalen, welche Positionen des Werkzeugmittelpunktes und vorbestimmte Winklige Orientierungen des Funktionselementes bezüglich eines rechtwinkligen Koordinatensystems definieren, wobei die Positionen des Werkzeugmittelpunktes die Schnittpunkte der vorbestimmten Wege repräsentieren und einen geometrischen Ort aufweisen, welcher einen programmierten Weg definiert, dadurch gekennzeichnet, daß die Vorrichtung an einen äußeren Weggenerator angeschlossen ist und auf ein Eingangssignal anspricht, welches ein äußeres Wegsteuersignal repräsentiert, um den Werkzeugmittelpunkt zu einer Anzahl von nicht programmierten Positionen und Orientierungen zu bewegen, welche einen nicht programmierten Weg definieren, wobei die Vorrichtung folgende Bestandteile enthält:
a) einen Roboterarm mit Betätigungsorganen und Armteilen, welche die folgenden Bestandteile einschließen:
1. eine erste Anzahl von Betätigungsorganen, die den Armteilen zugehörig sind, um eine Vielzahl von Bewegungs-
2^ achsen zur Bewegung des Werkzeugmittelpunktes zu definieren und
2. eine zweite Vielzahl von Betätigungsorganen3 die den
Armteilen zugehörig sind und mit dem anderen Ende des
Funktionselementes verbunden sind, um eine zweite Vielzahl von Drehachsen zu erzeugen, um das Funktionselement durch Änderungen von Winkeldrehungen zu drehen, wobei die erste und die zweite Vielzahl von Bewegungsachsen und die Armteile ein generalisiertes Koordinatensystem
definieren, welches sich von dem rechtwinkligen Koordinatensystem unterscheidet, ferner
ι b) eine Roboterarmsteuerung, welche einen Speicher zum Speichern programmierter Gruppen von Eingangssignalen, eine Datenlibertragungsinterface zum Austauschen von Gruppen von Eingangssignalen zwischen dem äußeren Weggenerator und der Roboterarmsteuerung und einen Servomechanismus einschließt, der mit de.n Betätigungsorganen verbunden ist, um die Position und Bewegung des Werkzeugmittelpunktes zwischen aufeinanderfolgenden Positionen zu steuern und um gleichzeitig das Funktionselement um den Werkzeugmittelpunkt durch kontinuierliche Änderungen der Orientierung zwischen aufeinanderfolgenden Winkel Positionen zu drehen, wobei die Steuerung die folgenden Schritte ausführt:
1. Abrufen einer ersten Gruppe von Eingangssignalen aus dem Speicher,
2. Ingangsetzen der Betätigungsorgane zur Bewegung des Funktionselementes längs des vorbestimmten Weges zu der Position und Orientierung, welche durch die erste Gruppe von Eingangssignalen definiert ist, ·
3. Testen auf Anwesenheit eines äußeren Wegsteuersignals
in Verbindung mit der ersten Gruppe von Eingangssignalen,
4. Ausführen eines äußeren Wegerzeugerzyklus in Abhängigkeit von der Anwesenheit des äußeren Wegsteuersignals, welcher folgende Schritte enthält:
I. Konditionieren der Datenübertmgungsinterface zur Erzeugung einer aktiven Programmverbindung zwischen der äußeren Wegsteuerung und der Roboterarmsteuerung,
II. übertragen der ersten Gruppe von Eingangssignalen in den äußeren Weggenerator,
III. Empfangen einer Meldung von dem äußeren Weggenera-
ββ ··
-9 tors,
IV. Testen der Meldung auf Anwesenheit einer neuen Gruppe von Eingangssignalen, welche rechtwinklige Koordinatensysteme definieren, die eine nicht programmierte Position und Orientierung des Funktionselementes und eine Prozessfunktion repräsentieren,
V. Erzeugen in Abhängigkeit von der Anwesenheit der neuen Gruppe von Eingangssignalen eine Gruppe von Antriebssignalen, welche generalisierte Koordinatenwerte repräsentieren, die den rechtwinkligen Koordinatenwerten der nicht programmierten Position und Orientierung entsprecheni
VI. Aufbringen der Gruppe von Antriebssignalen auf den Servomechanismuskreis, um mittels der Betätigungsorgane das Funktionselement in die nicht programmierte Position und Orientierung zu bewegen,
VII. Ausführen der Prozessfunktion in Abhängigkeit von der Anwesenheit einer neuen Gruppe von Eingangssignalen,
VIII. Wiederholung der Schritte III bis VII, um das Funktionselement durch eine Reihe nicht programmierter Positionen und Orientierungen zu bewegen, welche den nicht programmierten Weg definierenj
IX. Beenden des äußeren Wegerzeugerzyklus in Abhängigkeit von der Abwesenheit einer neuen Gruppe von Eingangssignalen in der Meldung und
5. Wiederholung der Schritte 1. bis 4. für jede Gruppe von in dem Speicher abgespeicherten Eingangssignalen.
DE19823236320 1981-10-06 1982-09-30 Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms Ceased DE3236320A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/308,983 US4432063A (en) 1981-10-06 1981-10-06 Apparatus for automatically moving a robot arm along a nonprogrammed path

Publications (1)

Publication Number Publication Date
DE3236320A1 true DE3236320A1 (de) 1983-05-11

Family

ID=23196172

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19823236320 Ceased DE3236320A1 (de) 1981-10-06 1982-09-30 Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms

Country Status (7)

Country Link
US (1) US4432063A (de)
JP (1) JPS5871087A (de)
CA (1) CA1185684A (de)
DE (1) DE3236320A1 (de)
FR (1) FR2513925B1 (de)
GB (1) GB2108289B (de)
SE (1) SE500206C2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4550383A (en) * 1981-09-24 1985-10-29 Hitachi, Ltd. Parabolic position and attitude interpolation for a robot hand
SE452719B (sv) * 1982-06-29 1987-12-14 Asea Ab Industrirobot
US4536690A (en) * 1982-10-19 1985-08-20 Calspan Corporation Tool-supporting self-propelled robot platform
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
US4628499A (en) * 1984-06-01 1986-12-09 Scientific-Atlanta, Inc. Linear servoactuator with integrated transformer position sensor
US4617637A (en) * 1985-07-09 1986-10-14 Lifecare Services, Inc. Servo control system for a reciprocating piston respirator
JPH0778682B2 (ja) * 1985-08-07 1995-08-23 株式会社日立製作所 ロボツトの制御方式
US4945493A (en) * 1988-09-26 1990-07-31 Ford Motor Company Method and system for correcting a robot path
JPH02160487A (ja) * 1988-12-12 1990-06-20 Fanuc Ltd ロボット手動送り補正方式
US5019761A (en) * 1989-02-21 1991-05-28 Kraft Brett W Force feedback control for backhoe
US5425133A (en) * 1990-01-24 1995-06-13 Canon Kabushiki Kaisha Robot apparatus with an electrical driver for controlling a detachable rotor hand
US5086400A (en) * 1990-05-11 1992-02-04 The United States Of America As Represented The The Administrator Of The National Aeronautics And Space Administration Bilevel shared control for teleoperators
WO1992002871A1 (en) * 1990-08-08 1992-02-20 Digital Arts Film & Television Pty. Ltd. Motion control system for cinematography
US6316899B1 (en) * 1994-09-07 2001-11-13 Polytechnic University Apparatus for reducing vibration inputs to a device and/or for micropositioning
JP2000066706A (ja) * 1998-08-21 2000-03-03 Matsushita Electric Ind Co Ltd ロボット制御装置とその制御方法
US6560513B2 (en) * 1999-11-19 2003-05-06 Fanuc Robotics North America Robotic system with teach pendant
US20070142966A1 (en) * 2005-12-20 2007-06-21 Khalid Mirza Process for moving a robot
DE102007049162A1 (de) * 2007-08-30 2009-03-05 Robert Bosch Gmbh Vorrichtung zum Betrieb einer Maschine
JP2011108044A (ja) * 2009-11-18 2011-06-02 Fanuc Ltd N個のロボットを同時に制御するロボット制御装置
US8393362B1 (en) * 2010-01-30 2013-03-12 James A. Hollerback Automated vehicle fueling apparatus and method
DE202011103223U1 (de) * 2011-07-08 2012-10-11 Kuka Systems Gmbh Arbeitsvorrichtung
JP6575306B2 (ja) * 2015-11-04 2019-09-18 株式会社デンソー ロボット装置
JP6735149B2 (ja) * 2016-05-11 2020-08-05 オークマ株式会社 工作機械
JP6709111B2 (ja) * 2016-06-01 2020-06-10 オークマ株式会社 工作機械
JP7091777B2 (ja) * 2018-03-30 2022-06-28 株式会社安川電機 ロボットシステム及び制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2735632A1 (de) * 1976-08-13 1978-02-16 Asea Ab Verfahren und anordnung zum steuern eines industrie-roboters

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US30016A (en) * 1860-09-11 Book-latch
US3684874A (en) * 1970-12-23 1972-08-15 Gen Electric Automatic cutter compensation for contouring control systems
JPS5132587B2 (de) * 1973-09-17 1976-09-13
JPS50159445A (de) * 1974-06-14 1975-12-24
US4025838A (en) * 1974-12-26 1977-05-24 Kawasaki Heavy Industries, Ltd. Signal modification device for memory controlled manipulator apparatus
JPS5225273A (en) * 1975-08-21 1977-02-25 Sankei Kinzoku Kougiyou Kk Laminated printed substrate
US4011437A (en) * 1975-09-12 1977-03-08 Cincinnati Milacron, Inc. Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece
US4140953A (en) * 1976-03-03 1979-02-20 Unimation, Inc. Real time program modification apparatus
DE2656433C3 (de) * 1976-12-14 1983-11-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V., 8000 Muenchen Verfahren und Anordnung zur Regelung von Manipulatoen und industriellen Robotern
US4096770A (en) * 1977-06-06 1978-06-27 Cincinnati Milacron Inc. Method and apparatus for modifying the position of a machine slide to compensate for different following errors
US4178632A (en) * 1978-03-06 1979-12-11 Cincinnati Milacron Inc. Method for controlling the operation of a computer operated robot arm
SE443531B (sv) * 1978-11-27 1986-03-03 Asea Ab Industrirobotutrustning
US4370721A (en) * 1980-09-02 1983-01-25 Cincinnati Milacron Inc. Method for modifying programmed positions by using a programmably controlled surface sensing element
US4356554A (en) * 1980-09-12 1982-10-26 Thermwood Corporation Method and apparatus for compensating for system error in an industrial robot control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2735632A1 (de) * 1976-08-13 1978-02-16 Asea Ab Verfahren und anordnung zum steuern eines industrie-roboters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STUTE,G., ERNE,H.: "Neue Entwicklungen in der Steuerungstechnik für Handhabungssysteme" in wt-Z. ind.Fertig. 70 (1980) S.505-509 *

Also Published As

Publication number Publication date
US4432063A (en) 1984-02-14
SE8205641D0 (sv) 1982-10-04
GB2108289A (en) 1983-05-11
FR2513925A1 (fr) 1983-04-08
SE500206C2 (sv) 1994-05-09
GB2108289B (en) 1985-03-20
FR2513925B1 (fr) 1986-06-13
JPS5871087A (ja) 1983-04-27
SE8205641L (sv) 1983-04-07
CA1185684A (en) 1985-04-16

Similar Documents

Publication Publication Date Title
DE3236320A1 (de) Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE2639774C2 (de)
DE60127908T2 (de) Robotersteuerung
DE3317263C2 (de)
DE3210675A1 (de) Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn
DE4000348A1 (de) Vorrichtung und verfahren zum ueberwachen der bewegungen eines vielgelenkigen roboters
DE2526504A1 (de) Verfahren und geraet zur programmierung eines computergesteuerten roboterarmes
EP2303521B1 (de) Industrieroboter und bahnplanungsverfahren zum steuern der bewegung eines industrieroboters
DE4411426B4 (de) Multitask-Steuersystem
DE102014224193B9 (de) Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters
DE102010036499A1 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE2712169A1 (de) Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter
EP3771952B1 (de) Verfahren zur automatischen bewegung eines arbeitsgeräts sowie arbeitsgerät
DE3889981T2 (de) Roboterregelanordnung.
EP1152212B1 (de) Weitgehend selbsttätige Kalibrierung eines Betätigungsarmes eines Roboters
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE1908757B2 (de) Steuersystem fuer eine werkzeugmaschine mit einer werkzeugmaschinensteuerung zum auswerten von teilbefehlen zur steuerung der betriebsweise der werkzeugmaschine
EP0903654B1 (de) Steuerungssystem für eine Palettieranlage
DE112005002185B4 (de) Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE69207018T2 (de) Verfahren zur Führung eines Roboterarmes durch definieren von Ersatzstrecken
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G05B 19/02

8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INDUSTRIES, INC., CINCINNATI,

8128 New person/name/address of the agent

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

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

8131 Rejection