DE3236320A1 - Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms - Google Patents
Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarmsInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36514—Select 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'.
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
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
L· 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
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
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)
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
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0075792B1 (de) * | 1981-09-24 | 1987-08-26 | Hitachi, Ltd. | Steuerungssystem für Roboterhand |
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 |
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 |
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 |
CA2088071A1 (en) * | 1990-08-08 | 1992-02-09 | John Richard Edwards | 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)
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)
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 |
-
1981
- 1981-10-06 US US06/308,983 patent/US4432063A/en not_active Expired - Lifetime
-
1982
- 1982-09-30 DE DE19823236320 patent/DE3236320A1/de not_active Ceased
- 1982-10-04 CA CA000412787A patent/CA1185684A/en not_active Expired
- 1982-10-04 SE SE8205641A patent/SE500206C2/sv unknown
- 1982-10-04 GB GB08228260A patent/GB2108289B/en not_active Expired
- 1982-10-06 JP JP57176026A patent/JPS5871087A/ja active Pending
- 1982-10-06 FR FR8216748A patent/FR2513925B1/fr not_active Expired
Patent Citations (1)
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)
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 |
---|---|
JPS5871087A (ja) | 1983-04-27 |
FR2513925A1 (fr) | 1983-04-08 |
CA1185684A (en) | 1985-04-16 |
GB2108289B (en) | 1985-03-20 |
FR2513925B1 (fr) | 1986-06-13 |
US4432063A (en) | 1984-02-14 |
SE500206C2 (sv) | 1994-05-09 |
SE8205641D0 (sv) | 1982-10-04 |
GB2108289A (en) | 1983-05-11 |
SE8205641L (sv) | 1983-04-07 |
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 | |
DE19800552C2 (de) | Verfahren zur Kommandosteuerung eines Manipulators | |
DE112005002185B4 (de) | Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens | |
DE69207018T2 (de) | Verfahren zur Führung eines Roboterarmes durch definieren von Ersatzstrecken | |
DE102020200165A1 (de) | Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters | |
DE102017105078B4 (de) | Robotersteuerung, die einen Roboter Bearbeitungsbewegungen durchführen lässt, und Roboterprogramm-Generator |
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 |