DE3210675A1 - Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn - Google Patents
Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahnInfo
- Publication number
- DE3210675A1 DE3210675A1 DE19823210675 DE3210675A DE3210675A1 DE 3210675 A1 DE3210675 A1 DE 3210675A1 DE 19823210675 DE19823210675 DE 19823210675 DE 3210675 A DE3210675 A DE 3210675A DE 3210675 A1 DE3210675 A1 DE 3210675A1
- Authority
- DE
- Germany
- Prior art keywords
- deviation
- signals
- point
- tool center
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
-
- 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
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- 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/36417—Programmed coarse position, fine position by alignment, follow line, path adaptive
-
- 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/45—Nc applications
- G05B2219/45135—Welding
-
- 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/45—Nc applications
- G05B2219/45187—Printer
-
- 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/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50167—Adapting to copying
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
22. März 1982
Re/hö Case 8106F
Anmeldern: CINCINNATI MILACRON INC., 4701 Marburg Avenue,
Cincinnati, Ohio 45209/USA
Vorrichtung zum dynamischen Steuern des Werkzeugmittelpunkts eines Roboterarms abseits einer vorbestimmten Bahn.
BESCHREIBUNG
Bei bahngesteuerten computerbetriebenen Roboterarmen
wird die Bahn des mit dem Ende des Roboterarms zusammenhängenden
gesteuerten Punktes, beispielsweise des Werkzeugmittelpunktes typischerweise während der Eingabeoder
Programmier-Betriebsart bestimmt. Beim Eingabemodus wird eine Anzahl von vorbestimmten Punkten definiert
und gespeichert; und während des automatischen Betriebsmodus erzeugt die Robotersteuerung eine vorbestimmte
Bahn zwischen den programmierten Punkten. Sobald diese programmierte Bahn einmal definiert ist, ist sie
während des automatischen Betriebsmodus festgelegt und 30
unabänderbar. Es gibt jedoch viele Situationen, in denen es der jeweils vorliegende Prozeß erforderlich macht,
daß die Beziehung zwischen dem Roboterarm und dem Werkstück unterschiedlich ist von der Beziehung, die eingegeben
worden ist.
S
S
Beispielsweise beim Nahtschweißen wird die jeweils tatsächliche Nahtstelle von einem Werkstück zum anderen
unterschiedlich sein; und die programmierte Bahn wird unpassend sein, um den Werkzeugmittelpunkt entlang der
Naht zu steuern, wenn das gleiche Programm zum Schweißen einer Anzahl von Werkstücken verwendet wird. Daraus
folgt, daß ein Bedürfnis besteht, daß die programmierte
Bahn während der automatischen Betriebsweise modifizierbar ist, d.h. die Beziehung zwischen dem Werkzeugmittelpunkt
und dem Werkstück soll zwischen den vorbestimmten Punkten dynamisch eingestellt werden können.
Obwohl es zur Lösung dieses Problems viele Techniken gibt, werden im folgenden zwei Variationen offenbart.
Erstens kann die Bedienungsperson mit einem Steuerknüppel ausgerüstet sein, der Vorwärts-, Rückwärts-,
Links- und Rechtsbewegungen zuläßt, die entsprechende Abweichungen von der programmierten Bahn nach oben,
nach unten, nach links und nach rechts darstellen. Während der automatischen Betriebsweise beobachtet die
Bedienungsperson die Beziehung zwischen dem Werkzeugmittelpunkt und der Naht und bewegt den Steuerknüppel,
um die erforderlichen Abweichungen von der programmierten Bahn zur Aufrechterhaltung der korrekten Beziehung
zwischen dem Werkzeugmittelpunkt und der Naht einzugeben. Die Bewegung des Steuerknüppels erregt Kontakte, die
mit der Robotersteuerung verbunden sind. Die Robotersteuerung erfaßt die Kontakt-Eingangssignale und führt
eine angemessene Modfizierung der Bahn durch.
In einer anderen Ausführungsform kann eine der Naht folgende Einrichtung am Ende des Roboterarms befestigt
sein, der sich entlang der programmierten Bahn bewegt. Sobald diese Einrichtung Abweichungen der Naht von der
programmierten Bahn entdeckt, betätigt sie Kontakte,
welche gegenüber der Robotersteuerung die Richtung der Abweichung festlegen. Die Steuerung ändert dann die Bahn
so ab, daß sie den nachgewiesenen Abweichungen entspricht. Es bestehen andere Anwendungen, bei denen es wünschenswert
sein kann, die relative Lage des Werkzeugmittelpunktes gegenüber dem Werkstück in Abänderung von der
programmierten Beziehung zu ändern. Beispielsweise kann
es erforderlich sein, daß der Roboter der Kontur einer Kante des Werkstückes zwecks Entgratung oder Entfernung
eines Oberzugs folgt. In diesen Situationen kann die Kontur der Kante von einem Werkstück zum anderen variieren.
Es ist daher ein Ziel der vorliegenden Erfindung, eine Einrichtung zu schaffen, mit der die Betriebsperson
Änderungen in der Bewegung eines einem Funktionselement eines Roboterarms zugeordneten Werkzeugmittelpunktes
während einer automatischen Betriebsweise bewirken kann.
Es ist weiterhin ein Ziel der vorliegenden Erfindung, Änderungen der Bewegung von einer vorbestimmten Bahn
zwischen zwei vorprogrammierten Punkten während einer automatischen Betriebsweise zu bewirken.
Es ist ein weiteres Ziel der vorliegenden Erfindung, Bewegungsänderungen von einer vorbestimmten Bahn in
Abhängigkeit von Abweichungssignalen, die selbsttätig während einer automatischen Betriebsweise durch eine
auf die Werkstückbearbeitung bezogene Vorrichtung erzeugt werden.
Es ist ein weiteres Ziel der vorliegenden Erfindung, in Abhängigkeit von entweder manuell oder selbsttätig
erzeugten Abweichungssignalen Abweichungsbahnen zu erzeugen, die von den vorbestimmten Bahnen versetzt sind.
Ί ο
Gemäß einer Ausführungsform der Erfindung wird eine Vorrichtung zum Steuern eines Roboterarms und zum Modifizieren
der Bewegung eines Werkzeugmittelpunktes von einer vorbestimmten Bahn zwischen zwei programmierten
vorbestimmten Punkten beansprucht. Die vorbestimmten Punkte sind durch gespeicherte Eingangssignale.definiert,
die zwei Positionen und eine dazwischenliegende Bahngeschwindigkeit relativ zu einem rechtwinkligen
1^ Koordinatensystem definieren. Der Roboterarm umfaßt ein
Unterteil und einen oberen Arm, dessen eines Ende in . mechanischer Verbindung mit dem Unterteil steht und der
bezüglich des Unterteils um zwei rechtwinklige Rotationsachsen bewegbar ist. Ein unterer Arm steht mit einem
Ende mit dem Werkzeugmittelpunkt in Verbindung und ist mit seinem anderen Ende mit dem anderen Ende des oberen
Armes über eine dritte Rotationsachse schwenkbar verbunden. Mit jeder der Drehachsen ist eine Vielzahl von
Betätigungsorganen verbunden, und die Drehachsen und " die oberen und unteren Arme definieren ein verallgemeinertes
Koordinatensystem, welches von dem rechtwinkligen Koordinatensystem unabhängig ist. Weiterhin
ist eine Einrichtung vorgesehen zum Erzeugen eines Abweichungssignals in Abhängigkeit des Nachweises von
gewünschten Abweichungen in der Position des Werkzeugmittelpunktes.
Die Abweichungssignale befehligen eine Änderung in der Position des Werkzeugmittelpunktes abseits
der vorbestimmten Bahn. Eine Robotersteuerung mit einer Einrichtung zum Speichern der Eingangssignale
und mit einer servomechanischen Anlage, die mit den Betätigungsorganen zum Bewegen des Werkzeugmittelpunktes
entlang ,der. vorbestimmten Bahn zwischen den beiden vorverbunden
ist, .
bestimmten Punkten' führt einen Steuerungsprozeß durch. Zunächst erzeugt die Steuerung in Antwort auf die Eingangssignale
einen Satz von intermediären Signalen, die die intermediären Koordinatenwerte, die sich auf
das rechtwinklige Koordinatensystem beziehen, eines intermediären Punktes entlang der vorbestimmten Bahn
darstellen. Der Satz von intermediären Signalen wird in Abhängigkeit von dem Abweichungssignal modifiziert,
um einen modifizierten Satz von intermediären Signalen
zu erzeugen, die einen von der vorbestimmten Bahn entfernten Abweichungspunkt darstellen. Als nächstes erzeugt
die Steuerung in Abhängigkeit von den modifizierten intermediären Signalen einen Satz von individuellen
Steuersignalen, die verallgemeinerte Koordinatenwerte
darstellen, die sich auf das verallgemeinerte Koordinatensystem
des Abweichungspunktes beziehen. Die individuellen Steuersignale werden der servomechanisehen
Anlage zugeführt, um die Betätigungsorgane in einer koordinierten Art und Weise zu betätigen, so daß der
Werkzeugmittelpunkt zu dem Abweichungspunkt bewegt
wird. Der Steuerprozeß wiederholt sich, um zu veranlassen, daß sich der Werkzeugmittelpunkt durch eine
Serie von von der vorbestimmten Bahn entfernten Abweichungspunkten bewegt.
In der Zeichnung zeigen:
Fig. 1 eine Gesamtansicht des Roboterarms, welche
seine allgemeine Beziehung zu dem Roboter-Steuersystem illustriert,
Fig. 2 ein detailliertes Blöckdiagramm eines Roboter-
Steuersystems zum Steuern des Betriebes des Roboterarmsj diese Figur illustriert das allgemeine
Gebiet, auf dem die Erfindung gebraucht werden kann,
Fig. 3 die Beziehung der Abweichungspunkte zu der vorbestimmten Bahn zwischen zwei programmierten
vorbestimmten Punkten,
Fig. 4 ein FIußdiagramm, welches die allgemeine Verfahrensweise
zum Steuern des Roboterarms illustriert,
Fig. 5a, 5b, 5c und 5d ein detailliertes Flußdiagramm
eines Maschinenprogramms für die Verwendung der offenbarten Erfindung zum Erzeugen von von der
vorbestimmten Bahn entfernten Punkten,
Fig. 6a, 6b, 6c und 6d ein detailliertes Flußdiagramm
eines Maschinenprogramms, welches die spezifischen eßstufen zum Bestimmten von Abweichungs·
punkten entsprechend einer ersten alternativen Lösung illustriert,
Fig. 7a und 7b die Drehung eines Werkstückes von der
erwarteten Position und die entsprechenden Bahn-2^
änderungen,
Fig. 8 die geometrischen Beziehungen von Punkten entlang der programmierten vorbestimmten Bahn und
der modifizierten vorbestimmten Bahn der zweiten
alternativen Lösung und
Fig. 9a, 9b, 9c, 9d und 9e ein detailliertes Flußdiagramm
eines Maschinenprogramms zur Durchführung
der zweiten alternativen Lösung.
30
30
Fig. 1 zeigt die allgemeine Konfiguration eines kommerziell
erhältlichen Roboterarms,und Fig. 1 umfaßt ferner ein allgemeines Blockdiagramm einer Robotersteuerung
mit einem Roboterarm. Im hier gemeinten Sinne umfaßt
35
35
der Ausdruck Roboterarm jede beliebige Maschine, die
Gegenstand des beanspruchten Erfindung sein kann.
321U676
Der dargestellte Roboterarm 10 umfaßt ausschließlich
Achsen für eine Drehbewegung. Ein Unterteil 12 umfaßt ein Betätigungsorgan 14, welches über eine Kupplung
16 mit einer drehbar gelagerten Platte 18 verbunden ist. Auf der Platte 18 ist ein Betätigungsorgan 20 unbeweglich
befestigt, welches eine zweite Drehachse bildet. Ein oberer Arm 22 ist an einem Arbeitsglied des Betätigungsorgans 20 befestigt. Ein Betätigungsorgan 24 ist am
oberen Arm 22 befestigt und sorgt für eine Rotation des unteren Armelementes 26 um das obere Armelement
Die Betätigungsorgane 14, 20 und 24 sind ausreichend, um den Werkzeugmittelpunkt zu jedem beliebigen Punkt
im Raum seiner Reichweite zu bewegen. Ein Gelenk 27 umfaßt drehbare Betätigungsorgane 28, 30 und 32 und ist
mit dem Funktionselement 34 verbunden. Es wird angemerkt, daß die exakte Bauweise der Betätigungsorgane
im vorliegenden Zusammenhang nicht bedeutsam ist. Steuerungen für die Betätigungsorgane gemäß dem Stand der
Technik sind anwendbar, und zwar unabhängig davon, ob das Betätigungsorgan elektrisch, hydraulisch oder pneumatisch
ist.
Die vorbestimmte Bahn ist durch den den Werkzeugmittelpunkt
des Funktionselementes in Abhängigkeit von einem Programm durch den Raum bewegenden Roboterarm bestimmt.
Der exakte Ort des Werkzeugmittelpunkts wird eine Funktion der Werkzeugausrüstung sein, welche das Funktionselement definiert. Beispielsweise kann der Werkzeug-
* mittelpunkt derjenige .Punkt sei, bei dem die Greiferzungen
zusammenkommen, beispielsweise Punkt 76, ein Punkt am Ende eines Schneidwerkzeugs, der Punkt, bei dem
Punktschweißköpfe zusammenkommen, ein Punkt im Zentrum eines Spritzgebläses aus einer Spritzpistole,
der Brennpunkt eines optischen Zeichenkopfes usw. Es wird angemerkt, daß das Funktionselement 34 ein kleines
(nicht dargestelltes) Betätigungsorgan zum Erzeugen der
gewünschten Funktion, z.B. des Greifens, aufweist.
Zum Zwecke der Illustration zeigt Fig. 1 als Funktionselement 34 die Kombination einer Lichtbogenschweißdüse
47 mit einem Zuführmechanismus 43 für Lichtbogenschweißdraht
und eines Naht-Folge-Sensors 49 zusammen mit einer Sensor-Sendeinheit 51. Wie im folgenden noch näher erklärt
werden wird, wird die aus dem Sensor 49 abgeleitete und über die Sendeeinheit 51 der Robotersteuerung
35 übermittelte Information gebraucht (bzw. sie kann dafür gebraucht werden), um die Bewegung des Werkzeugmittelpunktes
Abweichunoen der erwarteten Bahn anzupassen.
Innerhalb der Robotersteuerung 35 ist eine Bedieneinheit
36 als Verbindungsglied zu dem Roboterarm vorgesehen. Die
Bedieneinheit umfaßt allgemeine Steuerfunktionen und Eingangsgeräte zum Erzeugen von Eingangssignalen, um
einen vorbestimmten Arbeitszyklus zu ermöglichen.
Die Bedieneinheit umfaßt Bedienelemente, einen Arbeitszyklus für den Roboterarm zu programmieren oder einzugeben.
Die Steuereinheit 38 benutzt Programme und Eingangssignale, um hieraus eine vorbestimmte Bahn zu erzeugen
und erzeugt Steuersignale für eine servomechanische Antriebseinheit 42. Die Antriebseinheit 42 befiehlt den
Betätigungsorganen auf dem Roboterarm, den Werkzeugmittelpunkt auf dem Funktionselement entlang der vorbestimmten
3Q Bahn zu bewegen.
Ein Roboterarm und eine Steuerung, wie hier beschrieben,
entspricht dem T industrial robot and control, der von
Cincinnati Milacron Inc. im Handel erhältlich ist.
Weiterhin ist die detaillierte Betriebsweise des Roboterarms in seiner automatisch gesteuerten Betriebsweise
im US-Patent Nr. 3 909 600 beschrieben, und ein
JZ I Ub /Ö
Verfahren und eine Vorrichtung, die zur Eingabe eines Programmes für den Roboterarm benutzt werden, sind im
US-Patent Nr. 3 920 972 beschrieben.
Fig. 2 ist ein detailliertes Blockdiagramm, welches die
grundlegenden Komponenten der im Handel erhältlichen Robotersteuerung, auf die oben Bezug genommen wurde,
zeigt. Ein programmierter Computer 40 umfaßt eine Speichereinheit 41, eine Eingabe/Ausgabe-Interface-Einheit
44 und eine zentrale Prozeßeinheit (Zentraleinheit) 46. Diese drei Hauptelemente sind untereinander
über eine interne Vielfachleitung 48 verbunden. Steuer-
1(- signale werden über eine externe Vielfachleitung 50,
die mit einer Anzahl von peripheren Geräten verbunden ist, zu dem Computer 40 hin und von diesem weggeführt. Zunächst
ist ein Lehr-Pendant 52 ein entferntes Programmierwerkzeug, welches von dem Operator benutzt wird, um
2Q das Ende des Roboterarms zu einer Anzahl von gewünschten
Positionen während des Lehrprozeßes zu bewegen. Als nächstes bezeichnet die Steuerung I/O 54 eine Anzahl verschiedenartiger
Maschinenwerkzeugsignale, die für den
Betrieb des Roboterarms notwendig sind. Der ON-LINE-Block
58 für externe Datenübertragung stellt eine Einrichtung dar, die es erlaubt, daß Daten in den Computer 40 von
einem externen Datenspeicher auf einer Realzeit-Basis eingegeben werden können, d.h. während der Roboterarm
einen Arbeitszyklus durchführt. Eine OFF-LINE-Daten-Speichereinheit
60 ist vorgesehen, um zu ermögliche, daß Programme in den Computer mittels solcher Einrichtungen
wie Lochkartenleser, Kassettenleser und dgl. eingegeben werden können. Die CRT 62 und das Tastenfeld
64 bilden Einrichtungen, durch die der Roboterarm und seine Steuerung in die Lage versetzt werden,
mit dem Operator Botschaften auszutauschen.
Die Achsen-Antriebsei.nheit 66 nimmt Datenblöcke vom Computer auf einer periodischen Basis an. Jeder Datenblock
repräsentiert inkremental Bewegung?größen der
5
Roboterarm-Betätigungsorgane während jedes periodischen Intervalls. Weiterhin stellt die Größe der Bewegung
während einer jeden festgelegten Zeitdauer von Natur aus eine Definition der gewünschten Geschwindigkeit
des Roboterarms dar. Die Achsenantriebseinheit 66 nimmt die Daten in digitaler Form
an und führt eine Digital-Analog-Umwandlung durch,
wobei sie der Einheit 68 (Achsenkompensation und Servoverstärker) ein analoges Signal zuführt. Die kompensierten
analogen Signale werden dann als Eingangssignal
für ein Betätigungsorgan 70 verwendet, welches das hieran mechanisch befestigte Roboterelement 7t antreibt. Eine
Rückkopplungseinrichtung 72 ist mit dem Betätigungsorgan mechanisch verbunden und erzeugt ein Rückkopplungssignal,
welches die momentane Bewegung des angetriebenen Elements des Roboterarms darstellt. Es sollte
angemerkt werden, daß, obwohl es mehrere Konfigurationen
zur Steuerung der servomechanischen Schleife für jedes Element des Roboterarms gibt, in der bevorzugten Ausführungsform
der Achsenantrieb 66, Servoverstärker 68, Betätigungsorgan 70 und Rückkopplungselement 72 in einer
Anzahl verwendet werden, die gleich ist der Anzahl der gesteuerten Achsen des Roboterarms.
Der Speicher 4t innerhalb des Computers 40 umfaßt im wesentlichen zwei grundlegende Komponenten. Die erste
hiervon ist der Datenspeicher 74, welcher alle numerischen Dateninformationen speichert, und der Rest des
Speichers ist als das Betriebssystem des Roboterarms definiert. Das Betriebssystem kann als·Steuerprogramm
charakterisiert werden, welches festlegt, wie die Daten erzeugt und während des Betriebs des Roboterarms
verwendet werden müssen.
ό Z I U b / b
Die erste Sektion des Betriebssystems ist eine I/O-Sektion
76. Die ϊ/0-Programme schließen ein Daten-I/0-Programm
78, Lehr-Pendant-I/O-Programm 80, ein CRT und
Tastenfeld-I/O-Programm 82, ein Steuer-I/O-Programm 84,
ein Achsenantrieb-I/O-Programm 85, ein Programm 86 für
externe Datenübertragung, und das Benutzer-I/O-Programm
88 ein. Es wird festgestellt, daß ein I/O-Programm entsprechend jedes unterschiedlichen Typs von mit dem
Steuersystem zusammenwirkendem Peripheriegerät vorgesehen
ist. Jedes I/O-Programm ist einzig ansprechbar auf diejenigen Daten, die durch das jeweilige periphere
Gerät erzeugt werden, und ist zum Steuern des Signalflusses
von den peripheren Geräten in den und aus dem Computer wirksam.
Das Betriebssystem enthält auch ein Betriebsart-Steuer-Programm
90, welches die Gesamtkontrolle über das Be-
2Q triebssystem ausübt. Das Betriebsart-Steuer-Programm 90
schaltet die Steuerung des Computers zwischen den unterschiedlichen Betriebsweisen, beispielsweise manueller
Betrieb, Lehrbetrieb, automatischer Betrieb usw. Da jedoch für die hier offenbarte Erfindung nur die automatische
Betriebsweise erforderlich ist, wird nur diese Betriebsweise in ihren Einzelheiten diskutiert. Innerhalb
des Lehr-Betrieb-Systems 92 befindet sich ein Daten-Editor-Programm 96 und ein Lehrbetriebsfunktions-Programm
98. Diese beiden Programme steuern den Betrieb des Roboterarms während des Lehr-Betriebes, und die
Einzelheiten dieser Programme sind entweder im US-Patent Nr. 3 920 972 beschrieben oder von Cincinnati Milacron
Inc. erhältlich. Das System 94 für automatischen Betrieb umfaßt ein Datenabrufprogramm 102, ein Bahnberechnungsprogramm
104, ein Transformationsprogramm 106, ein Achsenantriebsprogramm 108, ein Funktionssteuerprogramm 110
und ein peripheres Serviceprogramm 111. Die Einzelheiten
dieser Programme sind entweder speziell in der US-Patentschrift Nr. 3 909 600 beschrieben oder von
Cincinnati Milacron Inc. erhältlich.
Das System 94 für automatischen Betrieb umfaßt auch ein Bahn-Abänderungsprogramm 112, welches der Gegenstand
der vorliegenden Erfindung ist. Wie früher beschrieben, werden Abweichungssignale entweder durch
eine am Ende des Roboterarms befestigte Vorrichtung oder durch ein entferntes Gerät unter der Kontrolle
des Operators erzeugt, um eine gewünschte Abweichung
Bahn,
von einer vorbestimmten/zu befehligen. Die Kontakte 116 bis 122 repräsentieren Abweichungen von der programmierten Bahn nach oben, nach unten, nach links bzw. nach rechts. Die Kontakte 115 und 123 repräsentieren Rückstel!befehle, welche bewirken, daß der Werkzeugmittelpunkt auf die vorbestimmte Bahn zurückkehrt. Diese Kontakte sind repräsentativ für die Ausgänge von einem Gerät zum Befehligen einer Änderung der vorbestimmten Bahn. Das Schließen dieser Kontakte erzeugt Abweichungssignale, welche Eingangssignale
von einer vorbestimmten/zu befehligen. Die Kontakte 116 bis 122 repräsentieren Abweichungen von der programmierten Bahn nach oben, nach unten, nach links bzw. nach rechts. Die Kontakte 115 und 123 repräsentieren Rückstel!befehle, welche bewirken, daß der Werkzeugmittelpunkt auf die vorbestimmte Bahn zurückkehrt. Diese Kontakte sind repräsentativ für die Ausgänge von einem Gerät zum Befehligen einer Änderung der vorbestimmten Bahn. Das Schließen dieser Kontakte erzeugt Abweichungssignale, welche Eingangssignale
für den Benutzer I/O 56 sind.
25
25
Fig. 3 ist eine Darstellung der Beziehung der Abweichungspunkte zu der vorbestimmten Bahn und den programmierten
Punkten. Die Achsen X, Y und Z definieren ein rechtwinkliaes Koordinatensystem 124, in dem die
X-Y-Ebene horizontal liegt und Z vertikal ist. PQ und
P1 sind vorprogrammierte Punkte, die in der X-Y-Ebene
liegen, und die während des Lehr-Prozesses definiert werden. Eingangssignale, die die rechtwinkligen Koordinatenwerte
relativ zu einem rechtwinkligen Koordinaten· 35
system 124 der programmierten Punkte PQ und P. repräsentieren,
werden für den Gebrauch durch die Robotersteuerung gespeichert. Während der automatischen Be-
IUb /D
triebswei.se erzeugt die Robotersteuerung einen Satz von
intermediären Signalen, die rechtwinklige Koordinatenwerte von intermediären Punkten, P. typischerweise bei
K
126 gezeigt, darstellen, die durch die Iterationsgeschwindigkeit
der Antriebs-Steuersignale und die programmierte Geschwindigkeit definiert sind. Die intermediären
Punkte haben Koordinaten der allgemeinen Form (X., Y. , Z.). Wie im folgenden näher beschrieben, er-
KKK
laubt die bevorzugte Ausführungsform gemäß der Erfindung
nicht die Abweichungsveränderung von allen intermediären
Punkten, vielmehr können Inkremente der Verlagerung bei intermediären Punkten bewirkt werden, die bei integralen
Intervallen von einem ersten modifizierbaren intermediä-
ren Punkt auftreten. Die innerhalb dieser Intervalle liegenden intermediären Punkte werden durch die sich
netto angesammelten Verlagerungen modifiziert. Die modifizierbaren intermediären Punkte sind in Fig. 3 mit
P, bezeichnet und die Abweichungspunkte, die sich aus der Modifikation solcher Punktkoordinaten ergeben,
sind mit OP bezeichnet. Dadurch, daß der Werkzeugmittelpunkt veranlaßt wird, sich zu jedem der intermediären
Punkte zu bewegen, bewirkt die Steuerung 35 eine Bewegung oc durch eine vorbestimmte Bahn von Pn zu P-, welche als
AO
U 1
gerade Linie 128 in der X-Y-Ebene unter einem Winkel θ mit der X-Achse liegt. Die durch die Abweichungspunkte
gefolgte Bahn ist als gestrichelte Linie gezeigt.
Da sich der Werkzeugmittelpunkt entlang der Bahn 128
bewegt und es wünschenswert ist, daß der Werkzeugmittelpunkt in der X-Y-Ebene entlang einer Normalen nach links
vom Pfad bewegt wird, wird der Kontakt 120 geschlossen, wobei ein Abweichungssignal erzeugt wird. Die Robotersteuerung
wird ein Signal zur horizontalen inkrementalen Versetzung entsprechend 131 erzeugen, welches dazu verwendet
wird, Koordinaten-Komponenten-Signale zu erzeugen, die Koordinaten-Komponenten 130 und 132 der inkrementalen
Versetzung parallel zu den X- bzw. Y-Achsen repräsentieren. Die Koordinaten-Komponenten werden ver/endet, um die
Koordinatenwerte des Punktes 134, mit P. bezeichnet, zu modifizieren, wobei sie hierbei einen modifizierten
Satz von intermediären Signalen erzeugen, welche den WerkzeugmitteTpunkt veranlassen, sich zu dem Abweichungspunkt OP zu bewegen. Weitere Versetzungen nach links
oder nach rechts werden auf gleiche Weise bewirkt, durch Addieren oder Subtrahieren von inkrementalen Versetzungen
131. entlang den Normalen von modifizierbaren intermediären Punkten. Unter Verwendung der zum Bewegen des Werkzeugmittelpunktes
nach OP1 errechneten Abweichung wird der
Ib I
durch die gestrichelte Linie nach Fig. 3 angezeigte Weg wirksam sein, um sofort den intermediären Punkten 126 zu
folgen, für die die Steuerung keine weitere Modifikation durch inkrementale Versetzungen 131 zuläßt. Sollte die
Bewegung des Werkzeuges nach rechts von den Abweichungspunkten gewünscht werden, so wird sich der rechte Kontakt
|22 schließen oder der Operator kann den Rückstellkonta-kt
115 schließen. In beiden Fällen wird die nächste
inkrementale Abweichung wirksam sein, um die mit dem intermediären Punkt Pk+1a zusammenhängenden Koordinatendaten
zu ändern. Nachdem, wenn keine weitere Versetzung gewünscht wird, die Koordinaten des Punktes Pl + -I0 modifiziert
werden würden durch die vorhergehenden, für eine Modifizierung der intermediären Punkte, beginnend mit
P^,.wirksamen Abweichinkremente, ist es zum Wiederherstellen
der Koordinaten des intermediären Punktes in seine ursprünglichen Koordinaten entlang der Bahn 128 erforderlich,
daß entweder eine Rücksetzung der Abweichung oder eine Abweichung nach rechts vollzogen
wird. In ähnlicher Weise werden/die Kontakte 116 oder 118 schließen, wenn eine Abweichung des Werkzeugmittelpunktes
in vertikaler Richtung gewünscht wird. Unter der Annahme, daß der Kontakt 116 schließt, wird der nächste
modifizierbare intermediäre Punkt P. » durch das vertikale
Abweichungsinkrement 136 modifiziert, wodurch der Werkzeugmittelpunkt wiederum veranlaßt wird, entlang
deren gestrichelten Bahnlinie zum Abweichungspunkt OP4 zu wandern. Der nächste modifizierbare intermediäre Punkt
ist Ρυ+3α· Wenn eine Zurückkehr zu der programmierten
Bahn gewünscht wird, konnte dies durch Schließen des Kontaktes 118 oder des Rücksetzkontaktes 115 bewirkt
werden. In beiden Fällen würde der Werkzeugmittelpunkt der durch die gestrichelte Linie angedeuteten Bahn von
OP6 naci) Pk+3q folgen.
Fig. 4 zeigt ein Flußdiagramm, welches die zur Durchführung
des automatischen Betriebsmodus erforderlichen Prozeßschritte definiert. Der Prozeßblock 140 ruft die
Werte der rechtwinkligen Koordinaten von zwei programmierten
Punkten sowie die vorbestimmte Bahngeschwindigkeit vom Speicher ab. Der Prozeßschritt 142 berechnet die
Riclitungswerte. Jeder Richtungswert hat die Bedeutung,
daß er die Richtung der Bewegung und eine Größe proportional einer rechtwinkligen Koordinatenkomponente
der Bahn zwischen den programmierten Punkten darstellt. Der Prozeßschritt 144 berechnet die Abstandsparameter
entlang der Bahn zwischen den programmierten Punkten. Der Prozeßschritt 146 berechnet die Änderung im Abstand
entlang der Bahn während jeder Iteration der Antriebskreis-Steuersignale.
Als nächstes wird durch den Prozeß-
schritt 148 ein Satz intermediärer Signale erzeugt, die
die rechtwinkligen Koordinatenwerte darstellen, welche einen intermediären Punkt für jede Änderung im Abstand
definieren. Dies wird durch Verwendung der Richtungswerte erreicht. Daher erfordert die Berechnung der
35
Koordinatenwerte eines intermediären Punktes entlang der Bahn während jeder Iteration die durch die Prozeßschritte
142, T44, 146 und 148 ausgeführten Operationen.
Der Prozeßschritt 152 modifiziert die Koordinatenwerte
für den intermediären Punkt durch vorbestimmte Inkremente in Einklang mit dem Schließen von Kontakten, das aufgrund
von gewünschten Abweichungen von der vorbestimmten Bahn vorliegen könnte. Als nächstes erzeugt aar Operationsschritt 150 die individuellen Steuersignale, die verallgemeinerte
Koordinatenwerte darstellen, die mit modi-
IQ fizierten, im Prozeßschritt 152 berechneten Koordinatenwerden
korrespondieren. Die Einzelheiten der Prozeßschritte Ϊ50 können im US-Patent Nr. 3 909 600 gefunden werden,
welches in dem hier erforderlichen Ausmaße bezüglich der Offenbarung jener Details zum Gegenstand der vorliegenden
Anmeldung gemacht wird. Aus diesem Grunde werden die Details bezüglich Schritt 150 hier nicht diskutiert.
Schließlich berechnet der Prozeßschritt 154 die Änderungen in den generalisierten Koordinatenwerten vom
vorliegenden Punkt zu dem intermediären Punkt und speichert diesen Satz von veränderlichen generalisierten
Koordinatenwerten in einem Pufferspeicher, auf eine Unterbrechung von der servomechanischen Antriebseinheit
42 wartend. Eine Anzahl von Sätzen von unterschiedlichen generalisierten Koordinatenwerten können sich
im Pufferspeicher zur selben Zeit in Warteschlange befinden.
Wie es dem Fachmann ohne weiteres deutlich ist, arbeitet der hier beschriebene Prozeß asynchron mit der servomechanischen
Antriebseinrichtung 42. Die Einrichtung 42 arbeitet aufgrund eines Sampling-Systems mit fester
Zeitbasis; in anderen Worten fordert der Servomechanismus vom Computer neue Informationen unter festen vorbestimmten
Zeitintervallen. Durch Betreiben des Servomechanismus
mit einer festgelegten Geschwindigkeit der
Abtastung von Signalwerten ergibt sich ein Computer mit
mehreren Vorteilen. Beispielsweise ist der Computer bei Kenntnis der Lange der programmierten Bahn, der
vorbestimmten Bahngeschwindigkeit und der festgesetzten
Länge der Abtastzeit (sample time) in der Lage, im Prozeßschritt 144 die Anzahl der zur Durchführung
der programmierten Bahn erforderlichen Iterationen zu
berechnen. Folglich kann der Computer mit dieser Information
dann die Änderung im Abstand entlang der programmierten Bahn während jeder Iteration, berechnen. Der
Fachmann wird des weiteren schätzen, daß die Verwendung einer festgelegten Abtastzeit-Geschwindigkeit es dem
Computer erlaubt, viele andere Funktionen zusätzlich zur Erzeugung der vorbestimmten Bahn durchzuführen. Nachdem
der Computer wesentlich schneller als die hieran angeschlossenen peripheren Geräte ist, wird ein Vorrat von
hieraus auszugebender Information erzeugt. Folglich wird ein System von Unterbrechungen mit jeweils einer speziellen
Priorität benutzt.
Der Zweck der Servounterbrechungs-Routine, gekennzeichnet in Block 156, besteht darin, Daten aus dem Pufferspeicher
in Abhängigkeit von einer Unterbrechung von der servomechanischen
Antriebseinheit 42 zu übertragen. Die Unterbrechung kann zu jeder beliebigen Zeit während des Betriebes
auftreten. Wenn die Unterbrechung auftritt, wird die Steuerung des Prozesses von dem Hauptprogramm zu der
Servounterbrechungs-Routine 156 übertragen. Innerhalb
der Servounterbrechungs-Routine 156 überträgt der Prozeß-Block 158 einen der in der Warteschlange befindlichen
Sätze von di.f ferentiel len generalisierten Koordinatenwerten aus dem Pufferspeicher in die servomechanische
Antriebseinheit 42. Als nächstes testet der Entscheidungs-35
schritt 160, ob die Bahn zwischen den beiden programmierten Punkten abgeschlossen ist. Wenn die Bahn nicht abqe-
schlossen ist, so führt die Servounterbrechungs-Routine
die Prozeßsteuerung zurück zu dem Hauptprcramm, und zwar zu demjenigen Punkt, wo die Unterbrechung auftrat;
und der Prozeß wird weitergeführt. Wenn die Spanne abgeschlossen
ist, vollführt der Prozeßschritt 164 eine vorbestimmte Funktion, nach welcher der Prozeß zum
Prozeßschritt 140 zurückkehrt, um die nächste programmierte Bahn zu beginnen.
Die Zeit, während der die generalisierten Koordinatensignale im Puffer gespeichert werden, kann sich über die
Zeitdauer von mehreren Iterationen der Erzeugung von intermediären Punkten erstrecken. Wenn eine Änderung der
generalisierten Koordinaten für vier Iterationen gespeichert wird, so wird es folglich diese Zeitspanne
dauern, bevor der Werkzeugmittelpunkt tatsächlich auf
die für einen intermediären Punkt erzeugten rechtwinklig
!igen Koordinatenwerte reagiert. Diese Zeitverzögerung
im Pufferspeicher ist für den Betrieb der zum Nachweis einer gewünschten Abweichung gebrauchten Vorrichtung
nachteilig. Wenn beispielsweise diese Vorrichtung eine gewünschte Abweichung nachweist und befehligt, daß der
intermediäre Punkt von der vorbestimmten Bahn wegbewegt werden soll, so wird der Befehl erkannt, und ein
neuer modifizierter intermediärer Punkt wird bestimmt. Während der Dauer, in der die Änderung.der generalisierten
Koordinatenwerte, die diesen intermediären Punkt repräsentieren, im Pufferspeicher gespeichert ist,fährt die
Nachweiseinrichtung jedoch fort, die Tatsache nachzuweisen, daß der Werkzeugmittelpunkt von der vorbestimmten
Bahn versetzt werden muß, und sie fährt fort, Befehle zu erzeugen, einen modifizierten intermediären Punkt zu
schaffen. Nachdem die Pufferspeicherzeit vergangen ist,
O C I UU /
beginnt der Werkzeugmittelpunkt augenblicklich seine Versetzung von der vorbestimmten Bahn. Dieser Prozeß
geht weiter, bis der Werkzeugmittelpunkt sich an dem
gewünschten versetzten Platz befindet. Zu diesem Zeitpunkt hört die Nachweiseinrichtung auf, Befehle zu erzeugen,
die Position des intermediären Punktes zu modifizieren. Wenn der Prozeß der intermediären Punktmodifikation
solange, wie die Nachweiseinrichtung eine gewünschte
Abweichung nachweist, für die Berechnung eines jeden intermediären Punktes Verschiebungsinkremente
anhäufen würde, dann würden die modifizierten intermediären Punkte eine anwachsende Versetzung wiederspiegeln.
Wenn diese Versetzung augenblicklich durchgeführt wird, dann könnte die Nachweiseinrichtung eine
gewünschte entgegengesetzte Abweichung nachweisen. Folglich wird der Effekt darin bestehen, daß der Werkzeugmittelpunkt
kontinuierlich um die jeweilige gewünschte
20
Position, wie sie von der Nachweiseinrichtung bestimmt
ist, oszilliert oder pendelt.
Um das vorgenannte Problem zu lösen, ist es erforderlich,
daß der Prozeß zum Modifizieren der angehäuften Versetzungen nur einmal während derjenigen Zeitdauer auftritt,
während der der Satz von differentiellen generalisierten
Koordinatenwerten im Pufferspeicher gespeichert wird. Auf diese Weise wird, wenn die Nachweiseinrichtung
eine Änderung in der Position des Werkz.eugmittelpunktes
30
befehligt, durch die Vorrichtung eine Modifikation gemacht und ausgeführt werden, bevor eine weitere Modifikation
gemacht wird. Dies folgt aus der schrittweisen Abweichungsbahn in Zusammenhang mit den unter Bezugnahme
QC- auf Fig. 3 beschriebenen modifizierbaren intermediären
Punkten.
Die Fig. 5a, 5b, 5c und 5d umfassen ein detailliertes
Flußdiagramm des anhand von Fig. 4 diskutierten Prozeßes. Die Umwandlung des Flußdiagramms gemäß Fig. 5
in ein kodiertes Computerprogramm kann auf einfache Weise durch eine Person vollzogen werden, die in der
Programmierung in Computersprachen, die mit einem allgemeinen Steuercomputer compatibel sind, durchschnittliche
IQ Kenntnisse aufweist. Beim Studium der Fig. 5a und beim
Vergleich dieser Figur mit dem Flußdiagramm gemäß Fig. wird man entdecken, daß die Mehrheit der dargestellten
Operationen unter den Prozeßschritt des Berechnens der Abstandsparameter, wie in Prozeßschritt 146 der Fig. 4
dargestellt, klassifiziert werden kann. Der Grund hierfür
ist das Problem der Bestimmung der Große der Spannen der Geschwindigkeitsänderungen.
Im allgemeinen kann die Bahn zwischen zwei vorbestimmten Punkten in drei getrennte Spannen eingeteilt werden. Eine
erste Spanne kann eine Beschleunigung oder Verzögerung in Abhängigkeit von der Geschwindigkeit beim Eintritt in
die Spanne und der programmierten Bahngeschwindigkeit erfordern. Eine zweite Spanne kann eine Phase der konstanten
Geschwindigkeit umfassen, und eine dritte Spanne kann auftreten, wenn eine Verzögerung erforderlich ist.
Durch Prüfung der Geschwindigkeiten an den Endpunkten der programmierten Bahn ist daher der Computer in der
Lage, zu bestimmten, ob zwei oder drei geschwindigkeitsabhängige Spannen erforderlich sind. Wenn diese Bestimmung
einmal gemacht worden ist, existiert ein weiteres Problem. Wenn sowohl die erforderlichen Geschwindigkeiten
als auch die erlaubbaren Geschwindigkeitsänderungen bekannt sind, so kann die Länge einer jeden
geschwindigkeitsabhängigen Spanne berechnet werden. Es
kann jedoch die Situation auftreten, in der die Summe der uneigentlichen geschwindigkeitsabhängigen Spannen die
Länge der Bahn zwischen den programmierten Punkten übersteigt. Diese speziellen Fälle müssen auf einer indivi-
_. duellen Basis nachgewiesen und gehandhabt werden. FoIg-5
licherweise stellt die Berechnung der Abstandsparameter
für alle möglichen Situationen ein Hauptproblem dar. In der zur Durchführung der notwendigen Lösungen erforderlichen
Prozeßzeit ist ein weiteres Problem zu sehen.
In Fig. 5a ruft der Prozeßschritt 166 die Koordinatenwerte (Xq, Yq, Zq) ab, welche die Position des vorliegenden
oder des ersten programmierten Punktes PQ definieren,
sowie die Koordinatenwerte (X,., Y., Z-) des nächsten oder
zweiten programmierten Punktes P. sowie die programmierte
Bahngeschwindigkeit (V) zwischen diesen Punkten. Der Prozeßschritt
168 rechnet die Länge (S) der vorbestimmten Bahn aus. Nachdem durch den Prozeßschritt 170 die
Richtungswerte (U1, Up, U3) bestimmt worden sind, rechnet
der Prozeßschritt 172 die Länge der anfänglichen Spanne
(S.) der Geschwindigkeitsänderung unter Verwendung der Anfangsgeschwindigkeit (V-),der programmierten Geschwindigkeit
(V) und einer vorbestimmten Beschleunigungsrate (a) aus. Der Prozeßblock 174 ist dazu da, zu bestimmen,
ob die Geschwindigkeit bei P, gleich Null ist oder nicht.
In anderen Worten wird die Frage gestellt, ob es zwischen der Ausführung von aufeinanderfolgenden programmierten
Bahnen einen Stop gibt oder/die aufeinanderfolgenden programmierten
Bahnen in einer kontinuierlichen Art und Weise ausgeführt werden. Wenn die Endgeschwindigkeit Null ist,
prüft der Prozeß über den Entscheidungsblock 176, ob die Anfangsgeschwindigkeit Null ist. Wenn die Anfangsgeschwindigkeit
und die Endgeschwindigkeit beide Null sind, dann setzt der Operationsblock 178 die Länge der Endspanne
(S3) der Geschwindigkeitsänderung gleich der Länge Anfangsspanne (S.) der Geschwindigkeitsänderung, die im
Prozeßblock 172 berechnet wurde. Wenn die Endgeschwindig-
keit Null ist, jedoch die Anfangsgeschwindigkeit nicht
Null ist, so wird der Prozeßblock 180 zum Berechnen der Länge der Endspanne der Geschwindigkeitsänderung unter
Verwendung der programmierten Geschwindigkeit (V) und
der Beschleunigungsrate (a) wirksam. An diesem Punkt macht der Entscheidungsblock 182 eine überprüfung, um
zu bestimmen, ob die bisher berechnete Summe der Spannen der Geschwindigkeitsänderung kleiner ist als die Länge
der programmierten Bahn. Wenn die Summe der Längen der
Spannen der Geschwindigkeitsänderung kleiner ist als die Länge der programmierten Bahn, so fährt der Prozeß
mit dem Flußdiagramm gemäß Fig. 5b über die Übergangsstelle
B2 fort. Es sollte an dieser Stelle angemerkt
werden, daß die Länge der Spanne der konstanten Geschwindigkeit
gleich ist der Differenz zwischen der Länge der gesamten Bahn und der Länge der Summe der
Anfangs- und Endspannen der Geschwindigkeitsänderungen.
Nachdem die Länge einer jeden der die programmierte Bahn
20
umfassenden Spannen und die feste Zeitbasis des Sampling-Systems bekannt sind, ist es nun möglich, die Anzahl der
zur Ausführung jeder der Spannen erforderlichen Iterationen
zu berechnen. Diese Berechnungen werden durch die
Prozeßblöcke 184, 186 und 188 durchgeführt. Die nächsten
25
Blocke 192 und 194 werden dazu eingesetzt, um Konstanten zu berechnen, die im folgenden im Prozeß benutzt werden.
Zurückkommend auf den Entscheidungsblock 174 in Fig. 5a wird darauf hingewiesen, daß die Bestimmung, daß die
Endgeschwindigkeit nicht Null ist, bedeutet, daß sich
die Bahn kontinuierlich zwischen aufeinanderfolgenden
Programmspannen bewegt. Wenn man die Dynamik des Roboters selbst in Betracht zieht, so kann dies physikalisch möglieh
sein oder auch nicht, was von der Richtungsänderung oder dem zwischen aufeinanderfolgenden Bahnen eingeschlossenen
Winkel abhängt. Die Antnelderin hat willkürlich
einen Einsclilußwi nkel (y) von 120 Grad gewählt, welcher
im Entscheidungsblock 196 überwacht wird. Wenn der Einschlußwinkei
(JT] zwischen aufeinanderfolgenden Bahnen
größer als f20 Grad ist, so werden aufeinanderfolgende
Bahnen auf einer kontinuierlichen Basis ausgeführt. Wenn jedoch der Einschlußwinkel (3D geringer als 120
Grad ist, so führt der Prozeß automatisch einen Stop-Punkt ein, und die aufeinanderfolgenden Bahnen werden
in einer diskontinuierlichen Art und Weise ausgeführt.
Das Kosinus-Gesetz wird verwendet, um zu bestimmen, ob der eingeschlossene Winkel großer oder kleiner als 120
Grad ist. Dies macht es erforderlich, daß die Länge der gegenwärtigen vorbestimmten Bahn (S) und die Länge
der nächsten vorbestimmten Bahn (S ) verwendet werden. Das Quadrat des Abstandes (Sj) von dem ersten programmierten
Punkt (P0) zu dem Endpunkt (P2) der nächsten
vorbestimmten Bahn läßt sich aus dem Kosinus-Gesetz auf folgende Weise bestimmen, wenn der eingeschlossene
Winkel zwischen den beiden Bahnen 120 Grad beträgt:
4(120) " s2+ Sn + S(V
Das Quadrat des Abstandes von dem ersten programmierten Punkt zu dem Endpunkt P2 kann auch ohne den eingeschlossenen
Winkel berechnet werden, bei. Kenntnis der Koordinate (X , Y , ZQ) des ersten programmierten Punktes
Pn und den Koordinaten (X9, Y9, Z9) des Endpunktes P9,
υ c c c c
und zwar aufgrund der folgenden Gleichung:
ST = (χ2~Χ0)2 + (VY0)2 + (Z2"Z0)2
Daher kann auf einen größeren eingeschlossenen Winkel
35
(O als 120 Grad geschlossen werden, wenn
T(120)
Der nächste Entscheidungsblock 198 bestimmt, ob die Länge der Anfangsspanne der Geschwindigkeitsänderung
kleiner ist als die Länge der programmierten Bahn. Wenn (S1) nicht kleiner ist als die programmierte Bahn,
so setzt der Prozeßblock 200 die Länge der Anfangsspanne der Geschwindigkeitsänderung willkürlich auf
den halben Wert der Länge der programmierten Bahn.
Weiterhin wird im Prozeßblock 300 ein neuer Wert für die Geschwindigkeit V berechnet. Es sollte an diesem
Punkt angemerkt werden, daß es definitionsgemäß keine
Endspannen der Geschwindigkeitsänderung (S3) gibt, wenn
aufeinanderfolgende Programmbahnen kontinuierlich ausgeführt
werden sollen. Weiterhin ist definitionsgemäß die Anzahl der zur Durchführung der Endspanne der Geschwindigkeitsänderung
erforderlichen Iterationen gleich Null. Wenn die Länge der Anfangsspanne der Geschwindigkeitsänderung
geringer als die programmierte Bahn ist, so wird die Anzahl der zur Durchführung der Anfangsspanne der Geschwindigkeitsänderung erforderlichen
Iterationen im Operationsblock 302 berechnet. Die Übergangsstelle C1 wird in Fig. 5c weitergeführt. In
den Prozeßblocken 304, 306 und 308 werden Konstanten berechnet, die später im Prozeß verwendet werden und
die daher an dieser Stelle nicht diskutiert werden.
Unter Bezugnahme auf die Fig. 5a wird angemerkt, daß die Bedeutung der Berechnung der Abstandsparameter dem
Fachmann auf dem hier in Rede stehenden Gebiet ohne weiteres deutlich ist. Ein spezieller Fall wurde bisher
noch nicht im einzelnen diskutiert. Dieser Fall tritt bezüglich Entscheidungsblock 182 auf, wenn die Summe
der Längen der Anfangsspannen und der Endspannen der Geschwindigkeitsänderung nicht kleiner ist als die
Länge der gesamten Bahn. In diesem Fall führt uns die
Übergangsstelle Bi zu Fig. 5b. Die Blocke 3t0 bis 330
definieren einen anderen Spezialfall, welcher bezüglich seiner Losung ähnlich den anderen Spezialfällen, die im
Vorstehenden im einzelnen beschrieben wurden, ist. Daher wird der Prozeß an dieser Stelle nicht in allen Einzelheiten
beschrieben und der in den Blocken 310 bis 330 IO
beinhaltete Offenbarungsgehalt wird als ausreichend angesehen. Nach seiner Durchführung geht dieser Abschnitt
des Prozesses weiter über Übergangsstelle B zu dem Block 190. Der Prozeß folgt dann der Übergangsstelle C2 zur
,_ Fig. 5c. Wiederum definieren die Prozeßblöcke 332 bis
15
338 Konstanten, die später im Prozeß Verwendung finden.
Der Prozeß geht weiter in Fig. 5d. Die Entscheidungsstufe 195 testet, ob die Anfangsspanne der Geschwindigkeitsänderung
abgeschlossen ist. Falls nicht, initiiert der Prozeßschritt 197 die erste Iteration. Im allgemeinen ist
die Änderung des Abstandes entlang der Bahn für eine laufende Iteration gleich der Änderung des Abstandes entlang
der Bahn während der vorherigen Iteration zusätzlieh einiger vorher berechneter Konstanten. Es taucht
das Problem auf, die Änderung des Abstandes während der ersten Iteration zu berechnen. Dies stellt eine Spezialsituation
dar, die entsprechend dem Prozeßschritt 199 behandelt wird. Die Länge der Abstandsänderung entlang
der Bahn während der ersten Iteration ist gleich einer speziellen Konstante, welche früher berechnet wurde.
Nachdem die erste Iteration durchgeführt wurde, werden alle nachfolgenden Iterationen während der ersten Spanne
durch den Prozeßschritt 201 bestimmt, bis die Anzahl der Iterationen (K) gleich ist der Iterationszahl (m,), die
für die Anfangsspanne der Geschwindigkeitsänderung (S1)
berechnet wurde. Entsprechend dem Prozeßschritt 102 werden
die rechtwinkligen Koordinatenwerte (Χι.» Y^. Z. ), die
intermediäre Punkte definieren, für jede Abstandsänderung entlang der Bahn, d.h. für jede Iteration berechnet. Der
Prozeßschritt 203 führt einen Prozeß durch, der die rechtwinkligen Koordinatenwerte modifiziert. Es wurden
zwei Modifikationsschemata der vorbestimmten Bahn von
der Anmelderin ersonnen, welche sich in der am -Ende einer vorbestimmten Bahn zu ergreifenden Maßnahme unterscheiden.
Fig. 6, die als nächstes diskutiert werden soll, beschreibt ein erstes alternatives Schema, in dem der
Werkzeugmi.ttelpunkt vor dem Erreichen des nächsten
programmierten Punktes P1 zu der vorbestimmten Bahn
zurückgebracht wird. Fig. 9, die im Anschluß daran diskutiert werden soll, beschreibt ein zweites alternatives
Schema, in dem der Werkzeugmittelpunkt zu einem modifizierten nächsten Punkt P1. . abseits der
Id
vorbestimmten Bahn gefahren wird. Sobald die Koordinaten
des intermediären Punktes durch eine dieser alternativen Schemen modifiziert worden sind, geht die Durchführung
des Prozesses mit Block 204 gemäß Fig. 5d weiter.
Der Prozeßschritt 204 transformiert diese rechtwinkligen 25
Koordinatenwerte in entsprechende generalisierte Koordinatenwerte,
die durch individuelle Steuersignale dargestellt werden, welche die absolute Position des intermediären
Punktes relativ zu dem generalisierten Koordi-
natensystem definieren. Der Prozeßschritt 206 berechnet
30
die Änderungen in den generalisierten Koordinatenwerten,
die erforderlich sind, um den Werkzeugmittelpunkt von seiner jeweiligen, laufenden Position zu dem intermediären
Punkt zu bewegen, und dieser Satz an Änderungen in Form von generalisierten Koordinatenwerten wird im
Pufferspeicher in Warteschlange gespeichert, und ist
bestimmt für eine Unterbrechung von der servomechani-
sehen Antriebseinheit 42. Die Servo-Unterbrechungs-Routine
wurde unter Bezugnahme auf Fig. 4 diskutiert, und weitere Diskussion ist zu diesem Zeitpunkt nicht
erforderlich.
Wenn die Anzahl der Iterationen (K) gleich ist der Anzahl der Iterationen, m,, berechnet für die Anfangsspanne
der Geschwindigkeitsänderung, (S*), so geht der Prozeß weiter zum Entscheidungsblock 208, der bestimmt,
ob die Spanne der konstanten Geschwindigkeit abgeschlossen
ist. Wenn die Spanne der konstanten Geschwindigkeit nicht abgeschlossen ist, so führt der
Prozeß die Schritte 210, 212 und 214 aus, um die rechtwinkligen
Koordinatenwerte des nächsten intermediären Punktes zu berechnen. Hiernach kann der Prozeßschritt
216 diese Koordinatenwerte modifizieren, um den Werkzeugmittelpunkt
abseits der vorbestimmten Bahn zu bewegen.
Der Koordinaten-Modifikation folgend werden die Koordinaten
des intermediären Punktes, so wie sie modifiziert wurden, durch den Schritt 218 in die generalisierte
Koordinatenform transformiert. Dann berechnet der Schritt
220 die Änderungen in den generalisierten Koordinaten und speichert diese Inkremen'te im Puffer ab.
Wenn die Anzahl der Iterationen (K) gleich ist dem Wert
K~, der die Gesamtzahl der Iterationen der ersten beiden
Spannen repräsentiert, so geht der Prozeß weiter zum Entscheidungsschritt 222. Dieser Schritt ist der erste
Schritt der Programmverzweigung dieses Flußdiagramms, der sich mit der Ausführung der Verzögerungsspanne (S-)
J
befaßt. Wie es für die zwei vorhergehenden Spannen der
Fall war, berechnen die Schritte 221 bis 230 die rechtwinkligen
Koordinaten der intermediären Punkte entlang der vorbestimmten Bahn, modifizieren diese Koordinaten
wie erforderlich, transformieren sie in eine generalisierte Koordinatenform und berechnen und speichern Inkremente
der generalisierten Koordinaten.
Ein erster Modificationsprozeß ist im einzelnen in
den Figuren 6a bis 6d offenbart. Der Entscheidungsschritt 240 bestimmt, ob eine Rücksetz-Funktion erforderlich
geworden ist (siehe Fig. 6a). Die Rücksetz-Funktion kann durch den Operator oder durch einen
anderen Schritt im Prozeß initiiert worden sein und bewirkt die Bewegung des Werkzeugmittelpunktes zurück
auf die vorbestimmte Bahn. Wenn die Rücksetz-Funktion nicht aktiv ist, so testet der Prozeßschritt 244, ob
die Rücksetz-Fehleranzeige (reset flag) gesetzt ist.
Wenn die Rücksetz-Fehleranzeige nicht gesetzt ist, so testet der Prozeßschritt 246, ob die Anfangsspanne der
Geschwindigkeitsänderung abgeschlossen ist. Wenn diese Spanne nicht abgeschlossen ist, so kehrt der Prozeß
unverzüglich zu Schritt 204 in Fig. 5d zurück. So ist eine Modifikation der vorbestimmten Bahn während der
Anfangsspanne der Geschwindigkeitsänderung nicht erlaubt. Tatsächlich ist die Länge dieser Spanne relativ
kurz, beispielsweise annäherungsweise 0,1 inch, und daher wurden jedwede Änderungen dieser Spanne relativ
uneffektiv sein. Folglich hat der Prozeßschritt 203 keinen Einfluß auf die durch den Prozeßschritt 202 bestimmten
rechtwinkligen Koordinatenwerte des intermediären Punktes. Da dieser erste Modifikationsprozeß es erforderlich
macht, daß der Werkzeugmittelpunkt immer auf 35
die vorbestimmte Bahn zurückgebracht werden muß, bevor er den zweiten programmierten Punkt erreicht, wird ver-
standen werden, daß die Bewegung entlang jeder beliebigen vorbestimmten Bahn an enem ersten programmierten
Punkt initiiert wird. Deshalb ist es in der Regel nicht erforderlich, ein Reset am Beginn einer vorbestimmten
Bahn zu verlangen. Wenn jedoch ein Reset verlangt werden würde, so würde der Prozeß, wie es im folgenden noch
im einzelnen erklärt werden wird, darauf "hinauslaufen,
daß Werte von Null für die erste Iteration der Beschleunigungsspanne
(S,.) modifiziert werden wurden, und es würde den Werkzeugmittelpunkt effektiv dazu veranlassen,
einer nicht-modifizierten Baftn zu folgen,
bis eine Bahnmodifizierung ungleich Null bewirkt wird.
Daher wird selbst dann, wenn es während der Ausführung des Schrittes 244 bestimmt wurde, daß die Rücksetz-Anzeige
gesetzt wurde, nichts desto weniger dieser erste alternative Prozeß nicht eine Modifizierung der intermediären
Punkte während der ersten Unterspanne (S,..) zur Folge
haben.
Die Prozeßschritte 248 bis 254 bestimmten die Beziehung
der laufenden Iteration zu der Gesamtanzahl der Iterationen in der Spanne der konstanten Geschwindigkeit. Wenn
die gegenwärtige Iteration innerhalb von fünf Iterationen des Endes der Spanne der konstanten Geschwindigkeit
liegt, so erzwingt der Entscheidungsschritt 249 die Rückkehr des Werkzeugmittelpunktes zu der programmierten
Bahn durch Rückführung des Prozesses zum Schritt 242.
Nehmen wir einmal an, daß dies nicht der Fall ist, dann
werden die Schritte 250 bis 254 dazu verwendet, zu überwachen, ob oder ob nicht die vorliegende Iteration eine
solche ist, für die eine inkrementale Änderung der Abweichungsverschiebung
erlaubt ist, wie dies im Zusammenhang mit Figuren 3 und 4 diskutiert wurde.
Während der ersten Iteration durch den,Prozeß gemäß
Fig. 6 a wird ein vorbestimmter Zähler (Iterations-Warteschlangen-Zähler, "iteration queue counter") oder
Speicherplatz den Wert Null haben, und der Prozeßschritt 250 wird den Wert auf unter Null abnehmen lassen,
Der Prozeßschritt 252 weist einen Wert unterhalb Null auf und führt den Prozeß zu dem Schritt 254, der eine
vorbestimmte Zahl zurück in den Zähler setzt. Wie weiter oben diskutiert, repräsentiert die vorbestimmte Zahl
die Anzahl der Iterationen, die der Zeitdauer, während der die Änderung der generalisierten Koordinatenwerte
im Pufferspeicher warteschlangenmäßig gespeichert wer-
!5 den, entspricht. Beispielsweise wird angenommen, daß
die differential!en generalisierten Koordinatenwerte
warteschlangenmäßig während drei Iterationen gespeichert werden,und daß daher die in den Iterations-Warteschlangen-Zähler
durch den Prozeßschritt 254 gesetzte Zahl drei ist. Während der ersten Iteration durch diesen Prozeß
werden die Kontakte 116 bis 122 überwacht, und, falls ein entsprechender Befehl vorliegt, wird eine
Modifizierung des intermediären Punktes durchgeführt. Der Prozeßschritt 218 gemäß Fig. 5d wird die rechtwinkligen
Koordinatenwerte des modifizierten intermediären Punktes in generalisierte Koordinatenwerte
transformieren, und der Prozeßschritt 220 wird die Änderung der generalisierten Koordinaten berechnen
und diese Änderungen im Pufferspeicher warteschlangenmäßig
abspeichern. Während der nächsten Iteration wird sich der Prozeß durch die in 6a definierten Stufen
hindurchbewegen und der Prozeßschritt 250 wird den Iterations-Warteschlangen-Zähler herabsetzen und ihn
hierbei auf einen Wert von zwei herabsetzen. Die Prozeßstufe 152 wird feststellen, daß der Iterations-Warteschlangen-Zähier
keinen Wert kleiner als Null hat, und den Prozeß zu Block 280 der Fig. 6d leiten. Dieser
9 β V
ProzeJ3schri.tt wird dahingehend wirksam sein, daß er die
rechtwinkligen Koordinatenwerte des intermediären Punktes
durch die während der letzten Iteration bestimmten Abweichungswerte
modifiziert, und diese modifizierten Werte werden transformiert und gespeichert werden. Dieser
Prozeß wiederholt sich selbst während der nächsten beiden Iterationen, wobei an diesem Punkt die warteschlangenmäßig
gespeicherte Änderung der generalisierten Koordinaten
dem Roboterarm ausgegeben werden, und der Werkzeugmittelpunkt wird jetzt zu dem modifizierten intermediären
Punkt bewegt. Weiterhin weisen die differentiellen generalisierten Koordinatenwerte, die laufend warteschlangen-
!5 mäßig gespeichert werden, die gleichen, mit ihnen verbundenen
Modifikationen auf. Die Nachweiseinrichtung hat die Möglichkeit des Oberwachens der Wirkung ihres ursprünglichen
Befehls und wird die Zustände der Kontakte 116 bis 122 entsprechend ändern. Während der fünften
Iteration durch den Prozeß wird die Stufe 250 (Verminderung der Iterati.ons-Warteschlange) den Warteschlangen-Zähler
dazu veranlassen, einen Zustand unterhalb von Null einzunehmen, und nachdem der Prozeßschritt 252 den
Prozeßschritt 254 dazu veranlaßt hat, den Iterations-
2^ Warteschlangen-Zähler zurückzusetzen, kann eine weitere
Modifikation durchgeführt werden. Genau die gleiche Verfahrensweise zum Steuern der zu modifizierenden intermediären
Punkte wird gemäß dem zweiten alternativen Schema verwendet.
Der Prozeß bewegt sich dann zu Fig. 6b, wo der Prozeßschritt 256 den Zustand des linken Kontaktes 120 gemäß
Fig. 2 testet. Wenn der Kontakt 120 geschlossen ist, setzt der Prozeßschritt 258 einen neuen Wert für das
akkumulierte horizontale Abweichungssignal (AXY).
Die Größe AXY repräsentiert die Größe der akkumulierten
horizontalen Abweichung entlang einer Normalen zu der g vorbestimmten Bahn. Der Prozeß der Anmelderin definiert
die Richtung der Abweichung in Bezugnahme auf die Richtung <Ser Bewegung entlang der vorbestimmten Bahn. Wenn
die Bahnabänderung auf der linken Seite auftritt, so ist die Abweichung durch ein negatives Vorzeichen definiert,
und wenn die Abänderung auf der rechten Seite der vorbestimmten Bahn auftritt, so ist die Abweichung
durch ein positives Vorzeichen definiert. Nachdem der linke Kontakt geschlossen ist, wird der Prozeßschritt
258 einen mehr negativen Abweichungswert definieren.
Folglich wird der neu akkumulierte Abweichungswert bestimmt durch Subtraktion einer vorbestimmten horizontalen
inkrementaien Größe (INC) von der Größe des laufend
akkumulierten Abweichungswertes. Dieses Inkrement ist
in Fig. 3 als Linie 131 gezeigt. Der Prozeßschritt 260
stellt fest, ob der Wert des akkumulierten horizontalen Abweichungssignales geringer ist als der Wert der linken
Grenze. Der Wert der linken Grenze ist eine negative Zahl, die in Abhängigkeit von der jeweiligen Anwendung beliebig
gesetzt werden kann. Wenn der Wert des akkumulierten horizontalen Abweichungssignals geringer ist als die linke
Grenze, dann setzt der Prozeßschritt 261 den Abweichungssignalwert gleich der linken Grenze, und der Prozeß geht
mit der begrenzten Bahnmodifikation weiter. Wenn der Wert des akkumulierten horizontalen Abweichungssignals nicht
geringer ist als die linke Grenze, so wird es der Prozeß erlauben j daß der intermediäre Punkt zu einem vollen
horizontalen Versetzungsinkrement entlang der Normalen nach links von der vorbestimmten Bahn bewegt wird.
Es wird zu dem Prozeßschritt 256 zurückgekehrt. Wenn der
linke Kontakt nicht geschlossen ist, so testet der Prozeßschritt 262 den Zustand des rechten/Kontaktes 122.
Wenn der rechte Kontakt geschlossen ist, stellt der Prozeßschritt 264 eine neue Gr15ße des akkumulierten
horizontalen Abweichungssignals auf durch Vermehrung des laufenden Wertes des akkumulierten Abweichungssignals
durch das vorbestimmte horizontale Inkrement (INC). Der neue Wert des akkumulierten horizontalen
Verschiebungssignals repräsentiert eine inkrementale
Versetzung in Richtung nach rechts von der vorbestimmten Bahn entlang einer Normalen in einer horizontalen
Ebene. Als nächstes testet der Prozeßschritt 266, ob
*5 der neu akkumulierte horizontale Abweichungssignalwert
größer als der Wert der rechten Grenze ist. Die rechte Grenze ist eine positive Zahl, die auf ähnliche Weise
wie die linke Grenze gebildet ist. Wenn das akkumulierte horizontale Abweichungssignal einen größeren Wert als
der Wert der rechten Grenze aufweist, so setzt der Prozeßschritt 267 den Wert des Abweichungssignals gleich
der rechten Grenze, und es kann keine größere Bahnmodifikation
auftreten. Wenn der akkumulierte horizontale Abweichungssignalwert geringer als die rechte Grenze ist,
so wird das neue akkumulierte horizontale Abweichungssignal wirksam sein, die Position des intermediären
Punktes durch ein volles horizontales Inkrement zu modifizieren.
Der Prozeßschritt 268 testet, ob der untere Kontakt
(also der Kontakt für die Unten-Bewegung) geschlossen ist, Wenn der Kontakt geschlossen ist, so stellt der Prozeßschritt
270 einen neuen Wert für das akkumulierte vertikale Abweichungssignal (AZ) entlang der vertikalen Achse
3B
durch Substrakti.on eines vorbestimmten vertikalen Inkrements
(INCZ) von dem laufenden Wert des akkumulierten
vertikalen Abweichungssignals auf.. Das vertikale Inkrement
ist In Fig. 3 als Linie 136 als ein* nach oben gerichtete
Versetzung dargestellt. Bahnmodifikationen entlang der vertikalen Achse unterhalb der vorbestimmten
Bahn "haben ein negatives Vorzeichen, und Bahnmodifikationen
entlang der vertikalen Achse oberhalb der vorbestimmten Bahn haben ein positives Vorzeichen. Der Prozeßschritt
272 testet, ob die akkumulierte vertikale Abweic"hungssignalgröße
geringer ist als der Wert der unteren Grenze. Die untere Grenze ist eine vorbestimmte
negative Zahl, und wenn die Große des Abweichungssignals geringer ist als die untere Grenze, so setzt der Prozeßschritt
237 den akkumulierten vertikalen Abweichungssignaiwert
gleich der unteren Grenze, wobei das Ausmaß der Modifikation der Ba?in begrenzt wird. Wenn der Wert
des akkumulierten vertikalen Abweichungssignals nicht
geringer ist als die untere Grenze, so ist das vertikale AbweicTiungssignal dahingehend wirksam, daß die Position
des intermediären Punktes um die volle vertikale inkremental e Große modifiziert wird.
Die Prozeßstufe 274 überprüft den Zustand des oberen
25
Kontaktes 116. Wenn der obere Kontakt geschlossen ist,
so erstellt der Prozeßschritt 276 einen neuen Wert für das akkumulierte vertikale Abweichungssignal, welcher
gleich ist dem gegenwärtigen Wert zuzüglich einer vorbestimmten vertikalen inkrementalen Größe (INCZ). Der
30
Prozeßschritt 278 testet den Wert des akkumulierten
vertikalen Abweichungssignals gegen eine obere Grenze. Wenn der Wert des akkumulierten vertikalen Abweichungssignals größer ist als die obere Grenze, so setzt der
Prozeßschritt 279 den Abweichungssignalwert gleich der ,
oberen Grenze, wodurch das Ausmaß der Bahnmodifikation
in die nach oben gerichtete Richtung begrenzt wird.
Wenn der Wert des akkumulierten vertikalen Abweichungssignals nicht größer ist als die obere Grenze, so ist
das Abweichungssignal dahingehend wirksam, daß die Position
des intermediären Punktes über die volle vertikale inkrementale Große modifiziert wird.
Der Prozeß geht dann zum Schritt 280 weiter, welcher dazu da ist, die rechtwinkligen Koordinatenwerte der
intermediären Punkte, definiert im Schritt 214 von Fig. 5d, zu modifizieren. Die Modifizierung kann entlang
einer Normalen in einer horizontalen Ebene nach links oder nach rechts von der vorbestimmten Bahn auftreten.
Gemäß der bevorzugten Ausflihrungsförm ist die 15
horizontale Ebene definiert durch die X-und Y-Koordinatenachsen des rechtwinkligen Koordinatensystems des Roboters.
Daher ist es erforderlich, die Position des Abweichungspunktes entlang der Normalen in F6rm von X-und Y-Koordinatenwerten
zu definieren. Wenn wiederum auf Fig. 3 Bezug genommen wird und der Abweichungspunkt OPj betrachtet
wird, so müssen die Koordinatenkomponente 130 entlang der X-Achse und die Koordinatenkomponente 132 entlang
der Y-Achse bestimmt werden durch das gegebene Inkrement
der Versetzung 131 im rechten Winkel zu der Bahn. Erste 25
und zweite axiale Abweichungssignale, die die rechtwinkligen Koordinatenkomponenten repräsentieren, können
durch Multiplizierung der Größe entlang der Normalen
(J AXYI) mit dem jeweiligen/Kosinus in den X- bzw. Y-Achsen
g0 erzeugt werden. Dies resultiert aus der Beziehung des
Winkels θ der vorbestimmten Bahn 128, gemessen bezüglich der X-Achse, und dem Winkel cc der Normalen 131, gemessen
in Bezug auf die X-Achse; d.h., OC^ = 90 Grad - Θ.
Daraus folgt:
cos to = sinG =
sin «o = cos θ =
worin Sxy = /(X1-X0)2 + (Y1-Y0)2
10
Daher ist die X-Achsen-Komponente der Normalen gleich dem Produkt aus dem Richtungswert U8 und der Größe der akkumulierten
horizontalen Abweichung (AXY), und die Y-Achsen-Komponente ist gleich dem Produkt aus dem Richtungswert U7
if- '
und der Größe der akkumulierten horizontalen Abweichung (AXY). Aus der Vereinbarung bezüglich der Vorzeichen für
die akkumulierte Abweichung folgt,daß die Y-Achsen-Komponente unter Verwendung des negativen Richtwertes U7 verwendet
wird. Unter Bezugnahme auf die Gleichungen, die mit
den Prozeßschritten 280 bis 283 gemäß Fig. 6d verknüpft sind, kann daher ein modifizierter Satz von intermediären
Signalen (X_, A., Z_) durch Modifizierung der Komponenten-
u α α.
werte der rechtwinkligen Koordinaten des intermediären Punktes durch die Abweichungssignale erzeugt werden. Die
Koordinatenkomponenten der akkumulierten horizontalen Abweichungen
werden durch die Schritte 280 und 281 berechnet und die Koordinaten des modifizierten intermediären
Punktes werden durch den Schritt 283 berechnet. Ein erstes Koordinaten-Komponentensignal (Z.), welches den Z-Koordi-κ
natenwert darstellt, wird allgebraisch summiert mit dem
vertikalen Abweichungssignal (AZ). Ein zweites Koordinaten-Komponentensi.gnal
(Xj.) > welches den X-Koordi.natenwert darstellt,
wird allgebraisch summiert mit dem ersten axialen
__ Abweichungssignal (XR) und das dritte Koordi.naten-Kompo-D
nentensignal (Yk)» welches den Y-Koordinatenwert darstellt,
wird allgebraisch summiert mit dem zweiten axialen Abweichungssignal
(Yß).
JZ I UO /D
Es wird wieder auf Fig. 5d Bezug genommen. Nachdem die
rechtwinkiigen Koordinatenwerte des intermediären Punktes
durch den Prozeßschritt 216 modifiziert worden sind, transformiert der Prozeßschritt 218 diese Koordinaten-
werte in entsprechende generalisierte Koordinatenwerte,
die durch die geometrische Konfiguration des Roboterarms definiert sind. Der Prozeßschritt 220 berechnet die inkrementale
Änderung der generalisierten Koordinatenwerte,
die erforderlich ist, um den Werkzeugmittelpunkt von seiner laufenden Position zu dem modifizierten intermediären
Punkt zu bewegen, und ein Satz von differentiellen generalisierten Koordinatenwerten wird, wie weiter ob-en
beschrieben, in einem Pufferspeicher warteschlangenmäßig
abgespeichert.
Der Prozeß kehrt zurück zu Schritt 208, der testet, ob die Spanne für konstante Geschwindigkeit abgeschlossen
ist; wenn nicht, so wird der in den Schritten 208 bis beschriebene Prozeß auf einer iterativen Basis weitergeführt.
Obwohl der Werkzeugmittelpunkt von der vorbestimmten Bahn während der Spanne der konstanten Geschwindigkeit
versetzt werden kann, ist es in diesem ersten alternativen Prozeß erforderlich, daß der Werkzeugmittelpunkt
zu der vorbestimmten Bahn zurückkehrt, um den vorbestimmten Endpunkt P1 gemäß Fig. 3 zu erreichen. Daher
ignoriert der Prozeß am Ende der Spanne der konstanten Geschwindigkeit und während der Endspanne deren Geschwindigkeitsänderung
den Zustand der Kontakte 1.16 bis 122 und ändert die Werte der X-, Y- und Z-Koordinaten
automatisch um einen inkrementalen Betrag bei jeder Iteration, um den Werkzeugmittelpunkt auf den vorbestimmten
Pfad zurückzuführen. Wie weiter oben beschrieben, initiiert der Prozeß diese Rückführung eigenmächtig, beginnend
fünf Iterationen vor dem Ende der Spanne der konstanten Geschwindigkeit. Dieser Punkt des Prozesses wird durch
Prozeßschritt 248 nachgewiesen. Solang, wi'· die Anzahl
der laufenden Iteration plus fünf kleiner ist als K2.
was gleich ist der Summe tn,. plus m2» d.h. die Anzahl
der Iterationen in der Anfangsspanne der Geschwindigkeitsänderung und der Spanne der konstanten Geschwindigke.it,
solange ist der Bahnmodifikationsprozeß aktiv.
Sobald jedoch die Anzahl der laufenden Iteration plus fünf die Gesamtzahl der Iterationen, K^, übersteigt,
geht der Prozeß zum Schritt 242 über, der die Rücksetz-Anzeige (reset flag) setzt und eine Rückkehr des Werkzeugmittelpunktes
zu der vorbestimmten Bahn initiiert. Der Prozeßschritt 244 bestimmt, ob die Rücksetz-Anzeige
gesetzt 1st. Angenommen, sie ist gesetzt, so geht der Prozeß über zum Prozeßschritt 282, gemäß Fig. 6c, welcher
ermittelt, ob der akkumulierte horizontale Abweichungswert entlang der Normalen gleich Null ist. Wenn der
Normalen-Wert gleich Null ist, so wird der Werkezugmittelpunkt in der horizontalen Ebene nicht versetzt,
und es ist keine horizontale Rückkehr erforderlich. Wenn der Wert entlang der Normalen nicht Null ist, so bestimmt
der Prozeßschritt 284, ob der Wert kleiner als Null ist oder nicht. Wenn der Wert nicht kleiner als Null ist, so
besteht eine Abweichung nach rechts von der vorbestimmten Bahn, und der Prozeßschritt 286 ist dahingehend wirksam,
daß er einen neuen Abweichungswert erstellt, welcher gleich ist dem laufenden Abweichungswert minus dem vorbestimmten
horizontalen Inkrement (INC). Der Prozeßschritt 288 bestimmt, ob die neue Abweichungsgröße größer
als Null ist. Wenn ja, setzt der Prozeßschritt 290 die Abweichungsgroße gleich Null.
Wenn der Prozeßschritt 284 festgestellt hat, daß die Abweidiungsgröße kleiner als Null war, dann besteht
eine Versetzung entlang der Normalen nach links von der vorbestimmten Bahn. In diesem Fall erstellt der
Prozeßschritt 292 einen neuen Abweichungswert, der gleich ist dem laufenden Abweichungsert plus einem horizontalen
Inkrement. Im Falle des Ausführungsbeispiels werden die
gleichen Inkremente verwendet, die zur Erzeugung der Abweichungsversetzungen verwendet werden. Prozeßschritt
294 bestimmt, ob die neue Abweichungsgröße größer als Null ist; wenn ja, setzt der Prozeßschritt 292 die Abweichungsgröße
auf Null. In einer ähnlichen Art und
Weise testen die Prozeßschritte 296 bis 307 die Größe 15
der Abweichung entlang der vertikalen Achse; und wenn ·
eine Abweichung in die negative Z-Richtung besteht, werden vertikale Inkremente zu der Abweichung hinzuaddiert.
Wenn eine Abweichung in die positive Z-Richtung besteht, so werden vertikale Rückkehrinkremente von dem
Abweichungssignal subtrahiert. Der Prozeßschritt 309 stellt fest, ob die horizontalen und vertikalen Abweichungssignalgrößen
Null sind; wenn ja, so löscht der Prozeßschritt 311 die Rücksetz-Anzeige. Wenn noch eine
Abweichungsgröße besteht, so geht der Prozeß weiter zu
Schritt 280 gemäß Fig. 6d und dann zu den Schritten und 283, die dahingehend wirksam sind, die X-, Y- und
Z-Koordinaten in einer solchen Weise zu modifizieren,
daß der Werkzeugmittelpunkt sich zurück in Richtung vor-O0
bestimmte Bahn bewegt.
Es wird wiederum auf Fig. 5d Bezug genommen. Während
der letzten fünf Iterationen der Spanne mit konstanter Geschwindigkeit ist der Prozeß gemäß den Schritten
bis 220 dahingehend wirksam, daß er eine Rückkehr des Werkzeugmittelpunktes zu der programmierten Bahn initiiert.
Am Ende der Spanne der konstanten Geschwindigkeit
bewegt sich der Prozeß zum Schritt 222, der feststellt, ob die zweite Spanne der Geschwindigkeitsänderung abgeschlossen
ist. Wenn nicht, produzieren die Prozeßschritte 221 bis 225 rechtwinklige Koordinatenwerte eines intermediären
Punktes. Wenn der Werkzeugmittelpunkt abseits der vorbestimmten Bahn ist, verursacht der Prozeßschritt
226 eine inkrementaie Modifizierung der Koordinatenwerte,
um darin fortzufahren, den Werkzeugmittelpunkt zurück auf die Bahn zu bringen. Die Prozeßschritte 228 und 230
bestimmen die Änderungen in den generalisierten Koordinatenwerten, die den intermediären Punkt repräsentieren,
und diese differentiellen Koordinatenwerte werden zwischengespeichert.
Der Prozeß gemäß den Schritten 222 bis 230 geht weiter, bis die Anzahl der Iterationen gleich ist
Kg> das die Summe m. + nu + m- darstellt. An diesem Punkt
wird der Werkzeugmittelpunkt an dem zweiten programmierten
Punkt P. plaziert sein, und die Steuerung des Prozesses
wird zum Schritt 166 gemäß Fig. 5a verschoben.
Während der im Vorstehenden beschriebene Prozeß der Bahnmodifikation,
der den Werkzeugmittelpunkt zu der vorbestimmten Bahn zurückführt, bei einer Anzahl von Anwendüngen
annehmbar ist, gibt es andere Situationen, die es erforderlich machen, daß der Werkzeugmittelpunkt in
einer von dem programmierten Endpunkt versetzten Position gelassen wird. Unter Bezugnahme auf Fig. 7 wird nun
eine solche Situation beschrieben. 30
Fig. 7a ist eine schematische Darstellung einer Platte 400, welche innerhalb einer Vertiefung, welche durch die
Außen!inie 401 dargestellt ist, geschweißt werden soll.
Die tatsächliche Orientierung der Platte, die durch die gestrichelten Linien angedeutet ist, ist, wie man sieht,
um einen Winkel β von deren gewünschten Orientierung gedreht, während die Position einer der Ecken sich am er-
warteten Platz befindet. Wie im folgenden ausführlicher
beschrieben werden wird, ist auch eine Anpassung an eine Translation des Ortes des Teiles möglich. Zum Zwecke der
Illustration ist die Größe der Rotation um den Winkel ß übertrieben.
Die Größe von ß ist als eine Funktion des akzeptierbaren Unterschiedes zwischen der tatsächlichen Bahngeschwindigkeit
und der programmierten Bahngeschwindigkeit begrenzt, was aus dem Folgen einer Bahnabweichung von der vorbestimmten
Bahn durch eine stetig anwachsende Versetzung folgt.
Fig. 7b zeigt die vorbestimmten Bahnen, denen vom Werkzeugmittelpunkt
zum Schweißen von zwei Seiten des Umfanges der Platte 400 in der Ausnehmung 401 gefolgt werden muß.
Die Bahnen sind durch programmierte Punkte PQ, P. und P2
definiert und umfassen die ausgezogenen Linien 406 und
408. Die gestrichelte Linie in Fig. 7b zeigt die tatsächliche
Position der Platte 400. Wie man ohne weiteres feststellen kann, würde im Falle der Verwendung des im
Vorstehenden beschriebenen ersten alternativen Prozesses zur Bahnmodifizierung in der vorliegenden Situation der
Werkz.eugmittelpunkt über die Platte 400 gehen, wenn er
zu dem programmierten Punkt P zurückgeführt werden würde. Deshalb ist es notwendig, den Werkzeugmittelpunkt zu
einer Abweichungsposition P, . zu bewegen, welche der programmierten Position P1 entspricht. Hiernach müssen
weitere Modifikationen bewirkt werden, sonst würde der
Werkzeugmittelpunkt vom Punkt Pld zu Punkt P2 geführt
werden. Wenn der Werkzeugmittelpunkt einer Bahn parallel
der Bahn 408 folgen müßte und den programmierten Abstand von Punkt P1 zu Punkt P0 wandern müßte, so würde hieraus
12
eine Bahn folgen, die im Punkt P2d endet. Wie man sieht,
ist der gewünschte Endpunkt für diese zweite vorbestimmte Bahn der Punkt
Wenn bezüglich der Bahn 406 die Abweichmodifikation entlang
einer Normalen, wie beim ersten alternativen Prozeß beschrieben, benutzt werden würde, um einen Abweichungspunkt relativ zum Punkt P. zu erhalten, so würde der
Werkzeugmittelpunkt am Punkt P1Jn anhalten und sich bei
1^ einer Abweichungsposition entlang einer Normalen vom
Punkt P, befinden. Hieraus folgt jedoch, daß die Bahnlänge ^n^idn ^än9er lst a1s die vorbestimmte Bahn PqP..
Es ist daher notwendig, die Koordinaten des Punktes P1d
zu finden, bevor die Iteration für den programmierten Endpunkt P,. erreicht wird.
Es wird nun auf Fig. 8 Bezug genommen, um auf geometrische Weise den Prozeß zum Festlegen des Punktes zu erklären,
bei dem der Ort des Abweichungspunktes dem Punkt P. . gemaß
Fig. 7b entspricht. In Fig. 8 sind die programmierten Punkte PQ und P1 als in der X-Y-Ebene liegend dargestellt.
Der Punkt P. . ist der Schnittpunkt der Normalen von P,. mit der Abweichungsbahn 410. Der Punkt P. .
ist der gewünschte Anhaltepunkt entlang der Bahn ΡηΡι^η·
Der Abstand von PunktPQ zu Punkt P.. ist der gleiche wie
der Abstand von PQ zu P-. Wie man erkennt, ist die vorbestimmte
Bahn 406, vonPQ zu P., um einen Winkel ß gedreht,
um die Abweichbahn oder modifizierte Bahn 410 von PQ zu
P,d zu erzeugen. Der Punkt P , ist der intermediäre Punkt
entlang der vorbestimmten Bahn 406, von dem aus die Normale die Abweichungsbahn 410 bei dem gewünschten Anhaltpunkt P,jd schneidet. Der Punkt Pk stellt einen intermediären
Punkt entlang der vorbestimmten Bahn 410 und der Punkt P^ den Schnittpunkt zwischen der Normalen zur
Bahn 406 im Punkt P^ und der Abweichungsbahn 410 dar.
Nachdem das erfindungsgemäße Verfahren zum Ausführen einer
Bewegung zwischen dem derzeitigen Punkt und dem nächsten Punkt es erforderlich macht, daß die Spannenlänge in eine
berechnete Zahl von Iterationen von inkrementaler Bewegung
entlang der vorbestimmten Bahn geteilt wird, ist es wünschenswert, die Anzahl der Iterationen, die durch
den Abstand von P- zu P. dargestellt wird, zu bestimmen,
d.h. den Betrag, um den die vorbestimmte Bahn reduziert werden muß. Bei Kenntnis dieses Wertes wird es dann möglich
sein, den dem Punkt P- entsprechenden Iterationswert (K) zu bestimmen. Unter Bezugnahme wiederum auf
Fig. 8 kann gesehen werden, daß es zur Bestimmung der Anzahl der zur Durchführung der Spanne von Pn. zu P1
P'l
erforderlichen Anzahl von Iterationen notwendig ist,
die Länge von P- zu P- zu bestimmen. Die mathematischen
Gleichungen für die Berechnung dieses Abstandes (S.) sind die folgenden:
P0P1 * P1P1d = S
Pρ 1 P1. = P0P1 " P0Ppl
= P0P1 * P0P1d (COS ß)
= S - S (cos ß)
= S (1- cos ß)
(cos ß) =
P0P1 P0Pk
VTdn rOrkd
S1 = Pp1P1 = S (1-R)
wobei PqP^(J eine gerade Linie ist.
Wenn man sich in Erinnerung ruft, daß eine inkremental
Modifikation der intermediären Punktkoordinaten nicht c für alle intermediären Punkte erlaubt ist, so wird man
feststellen, daß die tatsächlichen Abweichungspunkte nicht genau eine gerade Linie beschreiben,und die berechnete
Länge entlang der Abweichungsbahn 410 wird beeinflußt sowohl durch diese erlaubten schrittweisen Modi-
2Q fikationen als auch durch die inkrementalen Änderungen
des Wertes der akkumulierten horizontalen Abweichung. Um die Fehler in dem berechneten Wert von R auf einem Minimum
zu halten, die anderenfalls durch diese Variationen eingeführt werden wurden, wird ein Durchschnittswert
Qr verwendet, der eher das Verhältnis der Abstände entlang
der vorbestimmten Bahn und der Abweichungsbahn als einen einzelnen Wert von R wiederspiegelt. Dieser Durchschnittswert
wird berechnet, indem die Werte der Bahnlängenverhältnisse
R von intermediären Punkten und ihren zugeordneten Abweichungspunkten akkumuliert werden und
durch die Anzahl der akkumulierten Werte dividiert werden. Die Verhältniszahl R wird bei jeder Iteration berechnet,
der Durchschnittswert wird nur einmal berechnet. Die Gleichungen für diese Berechnung sind wie folgt:
Akkumulierte Verhältniszahl AR = AR + R
AR
durchschnittliche Verhältniszahl (T = K
!r KT + 1
wobei KT = ein beliebiger Iterationswert zwischen K.. und Kgj für den der Durchschnittswert berechnet wird,
mit der Substitution
SL = S (t-Qr), wo Po pkd sich einer geraden Linie annähert.
35
35
Wenn man den Abstand SL einmal kennt, so kann die entsprechende
Anzahl der Iterationen M^, die notwendig sind,
um den Werkzeugmittelpunkt über diesen Abstand hinweg
mit der programmierten Geschwindigkeit vorwärts zu bringen, aus der folgenden Gleichung berechnet werden:
MT =
wobei V = programmierte Geschwindigkeit
At = Iterationszeit
Pp1Pt - 5L
Mj = Anzahl der Iterationen.
1^ Wie im folgenden beschrieben wird, wird der Wert von
M-j. verwendet, um die Iterationswerte der Unterspannen
Sp und S3 der vorbestimmten Bahn zu modifizieren.
Es wird Bezug auf Fig. 7b genommen. Beim Erreichen des
Punktes Ρ, . durch den Werkzeugmittelpunkt könnte, wenn
keine zusätzliche Bahnmodifikation zum Bewegen des Werkzeugmittelpunktes
während der Ausführung der nächsten Spanne entsprechend der vorbestimmten Bahn 408 gewünscht
werden wurde, die Bahnmodifikationseinrichtung unwirksam
gemacht werden und der Werkzeugmittelpunkt würde der Bahn zwischen Punkt P,d und Punkt P^. folgen, vorausgesetzt,
daß die Koordinatenkomponenten der intermediären Punkte der Bahn 408 alle durch die Abweichungswerte modifiziert
worden sind, die die Modifikation des interme-
diären Punktes P- der Bahn 406 bewirken. D.h., es würde
einer Bahn parallel zu der vorbestimmten Bahn 408 zwischen den programmierten Punkten P1 und P2 gefolgt werden, mit
der Bahnlänge P,. - Pp und beginnend bei Punkt P^j. Um das
erste alternative Verfahren zur Bahnmodifikation während
35
der Durchführung der Spanne von Punkt P|d zu Punkt P2d
zu verwenden, so daß der Werkezugmittelpunkt zu Punkt Ppnfj
geführt werden kann, ist es notwendig, zunächst alle intermediären Punkte unter Verwendung der akkumulierten,
bei Punkt P ,.^ wirksamen Abweichungen als Kudi fi kationswerte
zu modifizieren und dann weiterhin die intermediären
Punkte unter Verwendung der akkumulierten, in Abhängigkeit
von Abweichungssignalen erzeugten Abweichungswerten zu modifizieren.
Es wird bemerkt werden, daß hierdurch ein zweireihiger
Prozeß der kontinuierlichen Bahnmodifikation vorgeschlagen
wird, in dem Abweichungsreferenzwerte auf
alle Punkte einer vorbestimmten Bahn als eine erste Modifikation angewendet werden und in dem akkumulierte
Abweichungswerte auf ausgewählte Punkte als weitere Modifikation angewendet werden, was er- i°n fl'bliangVgkeit von wahrgenommenen
Abweichungen von der Bahn, bewirkt durch die erste Modifikation. ,Durch einen solchen zweireihigen
Prozeß, d.h. durch das zweite alternative Verfahren der Anmelderin, müssen die Bahnen zwischen den Punkten P«,
P,d und P2ncj gemäß Fig. 7b erzeugt werden.
Dieses zweireihige Verfahren zum Weiterführen der Bahnmodifikation
wird unter Bezugnahme auf die Flußdiagramme gemäß Fig. 9 beschrieben. Eine kursorische Oberprüfung
der Flußdiagramme der Figuren 9b und 9c enthüllt, daß diese mit den Flußdiagrammen der Fig. 6b und 6c identisch
sind; aus diesem Grunde wird hier eine detaillierte Be-3^
Schreibung der hierin enthaltenen Prozeßschritte, d.h. der Schritte 442 bis einschließlich 504, nicht gegeben.
Das Flußdiagramm gemäß Fig. 9d zeigt den Prozeß,durch den die Abweichungsreferenzwerte auf Null zurückgeführt
werden. Das FTußdiagramm gemäß Fig. 9e gibt die Prozeßschritte
zur Berechnung der Koordinatenkomponentenwerte der Abweictiungspunkte an.
Wenn der Koordinaten-Berechnungs-Prozeß zum Block 203 gemäß Fig. 5b fortgeschritten ist, so geht der Prozeß
weiter mit dem Gebrauch der Prozeßschritte der Fig. 9a,
5
beginnend mit dem Entscheidungsschritt 420. Der Schritt 420 ermittelt, ob die gegenwärtige Iteration die erste
Iteration der gegenwärtigen vorbestimmten Bahn ist oder nicht. Wenn ja, so werden die Bahnmodifikationsvariablen
auf ihre Anfangswerte gesetzt, und zwar im Schritt 422. IO
Wenn nicht, geht der Prozeß weiter zum Entscheidungsschritt 424. Wie weiter oben diskutiert, müssen die Abweichungsreferenzwerte
verwendet werden, um alle Punkte der gegenwärtigen vorbestimmten Bahn zu modifizieren.
Daher sind die Anfangswerte der Abweichungsreferenz-15
signale gleich den Koordinatenkomponenten der Versetzung zwischen der jeweils tatsächlich vorliegenden Position
des Werkzeugmittelpunktes und dem ersten programmierten
Punkt. Die Koordinaten der tatsächlichen Position haben
die (X , Y , Z,). Die Anfangswerte der akkumulierten a a a
horizontalen und vertikalen Abweichungen sind für die gegenwärtige vorbestimmte Bahn gleich Null. Das akkumulierte
Verhältnis (AR), welches bei der Berechnung des durchschnittlichen Längenverhältnisses(Qr), wie weiter
oben beschrieben, verwendet wird, wird mit einem Anfangswert von 1 versehen. Der Anfangswert (KT), welcher verwendet
wird, um das durchschnittliche Längenverhältnis (Qr) zu berechnen, wird 80 % der Iterationen der Unterspanne
der konstanten Geschwindigkeit gleichgesetzt.
Entscheidungsschritt 424 bestimmt, ob die übersteuerungs-
Referenz-Abweichung zurückgesetzt werden muß oder nicht. Dieses Reset wird durch Schließen des Kontaktes 123 in
Fig. 2 bewirkt. Wenn ja, so fährt der Prozeß fort, mit g5 dem Flußdiagramm der Fig. 9d, welches anschließend beschrieben
wird. Wenn nicht, dann geht der Prozeß weiter zum Entscheidungsschritt 425, um zu bestimmen, ob der
Bahnmodifikationsprozeß für die vorliegende vorbestimmte
Bahn freigegeben ist oder nicht. Der Bahnmodifikationsprozeß
wird freigegeben durch eine programmierte Funktion. Wenn ja, dann fährt der Prozeß mit dem Entscheidungsschritt
426 fort. Wenn nein, dann fährt der Prozeß mit dem Flußdiagramm gemäß Fig. 9e fort, welches weiter
unten beschrieben wird. Beim Entscheidungsschritt 426 wird der Zustand des Rücksetz-Kontaktes 115 (reset) getestet.
Wenn der Rücksetz-Kontakt 115 geschlossen ist, dann wird die Rücksetz-Anzeige (reset flag) durch den
Prozeßschritt 428 gesetzt. Wenn nicht, dann springt der Prozeß über auf den Prozeßschritt 430, wo der Zustand
der Rücksetz-Anzeige getestet wird. Wenn die Rücksetz-Anzeige gesetzt ist, geht der Prozeß weiter mit dem
Flußdiagramm gemäß Fig. 9c, bei dem bereits festgestellt worden ist, daß es mit demjenigen der Fig. 6c identisch
ist und daher nicht näher beschrieben wird. Wenn die Rücksetz-Anzeige nicht gesetzt worden ist, dann fährt
der Prozeß weiter mit der Verarbeitung der Iterations-Warteschlangen der Schritte 432 bis 436. Diese Schritte
arbeiten in der gleichen Art und Weise wie die Schritte 250 bis 254 gemäß Fig. 6a, um nachzuprüfen, weiche intermediären
Punkte mit inkrementalen Änderungen der akkumulierten
Abweichungswerte versehen werden müssen. Wenn
der Iterations-Warteschlangen-Prozeß eine Änderung der akkumulierten Abweichungswerte erlaubt, geht der Prozeß
im Flußdiagramm der Fig. 9b weiter, bezüglich dem bereits
festgestellt worden ist, daß es sich um ein Duplikat des
Flußdiagramms der Fig. 6b handelt. Wenn der Iterations-30
Warteschlangen-Prozeß keine Änderung der akkumulierten Abweichungswerte erlaubt, geht der Prozeß weiter mit
dem Flußdiagramm gemäß Fig. 9e.
Bevor der Vorgang der Modifizierung der intermediären
35
Punktkoordinaten beschrieben wird, wird der Prozeß und die Wirkungsweise des Flußdiagramms gemäß Fig. 9d beschrieben.
Es wird auch Bezug genommen auf Fig. 7b und
insbesondere auf den Abweichungspunkt P. ., die Abweichungsbahn
p^dP2d un(* die vorbestimmte
Wenn alle Punkte der vorbestimmten Bahn P.P2 durch
die auf den Punkt P1 zum Erzeugen der Koordinaten des
Punktes Ρ,.^ anwendbaren Abweichungswerte modifiziert
werden würden, dann würde die Bahn Pi^Pd von dem Werkzeugmittelpunkt
gefolgt werden. Unter der Annahme jedoch, daß beim Beginn der Bahn P-iH^pd ^e Abweichungsreferenzwerte
zurückgesetzt werden müssen, würde der Werkzeugmittelpunkt von seiner augenblicklichen Position
P. . zum Punkt P2 bewegt werden. Das Flußdiagramm gern'äß
Fig. 9d ist dahingehend wirksam, daß es die zur Erzeugung dieser Bewegung notwendigen Änderungen in den
Abweichungsreferenzwerten erzeugt. Ein kurzer Vergleich des Flußdiagramms gemäß Fig. 9d mit demjenigen gemäß
Fig. 9c zeigt, daß die hierin enthaltenen Verfahren gleich sind. Da es wünschenswert ist, den Werkzeugmittelpunkt
zu der vorbestimmten Bahn zwischen dem ersten und dem zweiten programmierten Punkt zurückzuführen, müssen
die Abweichungsreferenzwerte auf Null reduziert werden. Dies wird auf die gleiche inkrementale Weise getan, in
der die akkumulierten Abweichungswerte auf Null reduziert wurden. D.h., die Größen der Abweichungsreferenzwerte
werden während jeder Iteration durch die Größe der anwendbaren inkrementalen Versetzung reduziert.
Es wird nun auf Fig. 9d Bezug genommen. Man sieht, daß der Entscheidungsschritt 510 feststellt, ob der Abweichungs
referenzwert Xref» der auf die X-Achsen-Koordinaten-Komponente
anwendbar ist, ungleich Null ist. Wenn ja, so stellt der Schritt 512 fest, ob er einen negativen
Wert hat. Wenn ja, wird seine· Größe um diejenige der 3^ inkrementalen Versetzung vermindert durch Addition beim
Schritt 514 und wenn er positiv ist, dann wird diese
Verminderung der Größe begleitet durch eine Substraktion
beim Schritt 518. Das Resultat jeder der beiden Schritte wird getestet, um herauszufinden, ob die Verminderung
das Vorzeichen des Abweichungsreferenzwertes geändert hat, und wenn ja, setzt der Schirtt 522 den Wert gleich
Null. In einer ähnlichen Art und Weise sind die Schritte 524 bis 536 wirksam, um eine Größe des Abweichungsreferenzwertes
der Y-Achsen-Koordinatenkomponente ungleich Null zu vermindern. Ebenso sind die Schritte
538 bis 550 dahingehend wirksam, daß sie einen Abwei.ctiungsreferenzwert
einer Z-Achsen-Koordinatenkomponente ungleich Null vermindern. Der Entscheidungsschritt
552 stellt fest, ob alle Abweichungsreferenzwerte gleich Null sind oder nicht, und, wenn ja, setzt die Abweichungs-Referenz-Rlicksetz-Anzeige
(offset reference reset flag), die im Entscheidungsschritt 424 der Fig. 9a getestet
wurde.zurück.
Ob der Prozeß nun über die Flußdiagramme der Fig. 9b, 9c oder 9d weitergegangen iste,s/wird letztlich das Flußdiagramm
gemäß Fig.9e erreichen, worin die Berechnungen durchgeführt werden, die die vorbestimmten Bahnpunkte ver-25
setzen und die ermitteln, welcher intermediäre Punkt der Schlußpunkt sein soll.
Bei der Beschreibung der Berechnungsschritte des Flußg0
diagramms der Fig. 9e wird auch Bezug genommen auf die
geometrischen Darstellungen der Fig. 7b und 8. Der Prozeßschritt 556 berechnet den Abstand zwischen dem vorliegenden
Punkt P0 zu dem intermediären Punkt P. der
Iteration K entlang der vorbestimmten Bahn von dem programmierten Punkt P0 zu dem programmierten Punkt P..
Der Prozeßschritt 558 berechnet die Richtungskosinusse \}y und Ug. Der Prozeßschritt 560 berechnet die Koordi-
„ * α β 4
natenwerte der Koordinatenachsenkomponenten der akkumulierten
horizontalen Abweichung, erzeugt in Abhängigkeit von Abweichungssignalen während der Durchführung
der laufenden Bahn. Diese Werte wurden willkürlich mit Xß und Y„ bezeichnet. Die Berechnung folgt der gleichen
mathematischen Analyse, die zur Berechnung der Koordinatenachsenkomponenten für die akkumulierten Abweichungswerte
des ersten alternativen Systems der Übersteuerung der vorbestimmten Bahn gebraucht wurde. Der Prozeßschritt
562 vollführt eine Translation der intermediären Punktkoordinaten in Koordinaten des Abwei.chungspunktes
entlang der Bahn von PQ zu P1dn· Die umgerechneten
Koordinaten stellen die augenblickliche Position des Werkezugmittelpunktes dar und weisen die Form X„, Y,, Z,
α α a
auf. Die Werte von Xref>
Vef ur)(* Zref sind diejenigen,
die während der Durchführung des Prozeßschrittes 424 gemäß FIg. 9a oder des Prozesses von Fig. 9d bestimmt
wurden und sie stellen die Werte der Koordinatenkomponente der Abweichungen dar, die wirksam sind, alle intermediären
Punkte der laufenden Bahn zu modifizieren. Modifizierte Koordinatenkomponenten des ersten programmierten
Punktes PQ werden durch den Schritt 562 ebenfalls berechnet
unter der Verwendung der Referenz-Abweichungs-Koordinatenkomponenten zur Erzeugung der Koordinaten
des Anfangspunktes PQ. der Abweichungsbahn, der in Fig.
als mit PQ zusammenfallend dargestellt ist. Der Punkt P. . von Fig. 7b ist ein Beispiel eines Anfangspunktes
einer Abweichungsbahn, welcher von einem programmierten. Punkt versetzt ist. Weiterhin wird man jetzt erkennen,
daß, falls in Fig. 7a die Platte 400 so verschoben worden wäre, daß keine ihrer Ecken an dem erwarteten Platz gewesen
wäre, durch Zuweisung geeigneter Werte zu den für den ersten programmierten Punkt P« wirksamen Abweichungsreferenzwerten
der Translation der Platte für alle nachfolgenden programmierten Punkte Rechnung getragen worden
wäre.
Per Prozeß geht dann weiter zum Schritt 564, wo der Abstand entlang der Abwei.chungsbahn 410 von Pn. zu dem
intermediären Abweichungspunkt P. . berechnet wird. Der Prozeßschritt 566 berechnet die akkumulierte Verhältniszahl
AR des Abstandes entlang der programmierten vorbestimmten Bahn zu dem Abstand entlang der versetzten vorbestimmten
Bahn. Der Entscheidungsschritt 568 testet
den Wert der Iterationszahl (K), um zu bestimmen, ob
IO
er gleich ist dem Wert der Iterationszahl KT der Endpunkt-Vorhersage.
Wenn nicht, dann geht der Prozeß weiter, indem er zu der angemessenen Stelle in dem
Transformationsprozeß der Fig. 5d zurückkehrt. Wenn jedoch der Iterationswert gleich ist dem berechneten
Wert, dann geht der Prozeß weiter mit dem Berechnungsschritt 570. Der Schritt 570 führt die weiter oben in
Hinblick auf Fig. 8 diskutierten Rechnungen durch, nämlich erstens, Bestimmung der Länge der Spanne vom
Punkt Pp1 zum Punkt P1 (d.h. das Spannlängendifferential
Si), zweitens Bestimmung der Anzahl der Iterationen
(Mt), die erforderlich sind zur Durchführung dieser Spanne, und drittens Reduzieren der Iterationswerte
(K«, K3) der Spannenenden für die Unterspannen der
konstanten Geschwindigkeit und der Verzögerung durch
die berechnete Anzahl der Iterationen (Mt). Hiernach geht der Prozeß weiter, indem er zu der angemessenen
Stelle des Flußdiagramms gemäß Fig. 5d zurückkehrt.
Es wird bemerkt werden, daß während jeder Iteration durch die Schritte 556 bis 566 Abwei.chungspunktkoordinaten
und Längenverhältnisse, die für die Berechnungen bezüglich der Voraussage für den Endpunkt notwendig
sind, erzeugt werden. Sowie der Werkzeugmittelpunkt entlang der Abweichungsbahn zum Punkt P.. gelangt, wird
der Wert von K auf den neuesten Stand gebracht, um zu reflektieren, welche Iteration gerade verarbeitet wird.
321Ü675
w t» β · ·
Wenn K gleich ist dem Wert von KT, dann ist der Werkzeugmitte'lpunkt
ungefähr 80 % durch die Unterspanne S2
der konstanten Geschwindigkeit hindurch. An diesem Punkt 5
stellt der Durchschnittswert der Längenverhältnisse eine
gute Annäherung des Kosinus des Drehwinkels dar, so daß der benötigte Endpunkt mit ausreichender Genauigkeit
vorhergesagt werden kann. Um vom Punkt P, . zu Punkt POnrI
fortzufahren, ., .. . . Λ , Jd n . 2n?
/werden die Abweichungsreferenzwerte gegebene Anfangswerte sein, die den Koordinatenkomponenten der Versetzung
zwischen P* und P,. entsprechen. Wie weiter oben festgestellt,
werden diese Werte die Bahn von P.d zu P_.
erzeugen. Um den Werkzeugmittelpunkt nach PonH zu bewegen,
müssen die akkumulierten Abweichungswerte, die mit der
ersten Iteration dieser Bahn auf Null initialisiert werden wurden, noch einmal durch Abweichung der Signale
inkremental geändert werden, um die Rotation um den Winkel ß der Bahn PinP2d zu bewirken·
Während die Erfindung entsprechend den bevorzugten Ausführungsformen
gemäß den beigefügten Zeichnungen im Detail dargelegt wurde und während die bevorzugten Ausführungsbeispiele
im Detail beschrieben wurden, ist es nicht die Absicht, hierdurch die Erfindung auf diese
Details/zu beschränken. Im Gegenteil ist es beabsichtigt, alle Modifikationen, Abänderungen und Äquivalente, die
unter den Geist und den Umfang der beigefügten Ansprüche
fallen, zu umfassen.
Sämtliche aus der Beschreibung, den Ansprüchen und Zeichnungen hervorgehende Merkmale und Vorteile der Erfindung,
einschließlich konstruktiver Einzelheiten und räumlicher
Anordnungen, können sowohl für sich als auch in beliebi.ger Kombination erfindungswesentlich sein.
Claims (10)
1. Abrufen erster Eingangssignale, die erste und zweite
programmierte Punkte und eine zwischen diesen liegende Bahηgeschwind!gkeit darstellen,
2. in Abhängigkeit der ersten Eingangssignale einen Satz von intermediären Signalen Erzeugen, die intermediäre
Koordinatenwerte darstellen, die abhängen von den rechtwinkl igen/Koordinatenachsen eines intermediären
Punktes, der um einen inkrementalen Abstand entfernt von dem ersten programmierten Punkt entlang
der vorbestimmten Bahn angeordnet ist,
3.Modifizieren des Satzes der intermediären Signale
in Abhängigkeit von den Abweichungssignalen, um modifizierte intermediäre Signale zu erzeugen, die
einen gegenüber dem intermediären Punkt versetzten Abweichungspunkt darstellen,
4. in Abhängigkeit von dem modifizierten Satz von
intermediären Signalen Erzeugen eines Satzes von individuellen Steuersignalen, die generalisierte
Koordinatenwerte darstellen, die abhängen von dem generalisierten Koordinatensystem des Abweichungspunktes,
5. Zuführen der individuellen Steuersignale zu der
servomechanischen Schaltung zum Betreiben der Betätigungsorgane
in einer koordinierten Art und Weise, um den Werkzeugmittelpunkt zu dem Abweichungspunkt zu bewegen,
6. Wiederholen der Schritte 2 bis 5, um den Werkzeugmittelpunkt
zu veranlassen, sich durch eine
Serie von Abweichungspunkten zu bewegen, die
gegenüber einer Serie von gleichmäßig beabstandeten intermediären Punkten entlang der
vorbestimmten Bahn versetzt sind,
7. Wiederholen der Schritte 1 bis 6, um den Werkzeugmittelpunkt dazu zu veranlassen, sich entlang
Abweichungsbahnen zu bewegen, die gegenüber den vorbestimmten Bahnen versetzt sind.
2. Vorrichtung nach Anspruch 1, wobei die Einrichtung zum Erzeugen eines Abweichungssignals weiterhin folgendes
umfaßt:
2Q a) Eine Einrichtung zum Erzeugen von horizontalen Abweichungssignalen,
die Änderungen der horizontalen Lage in entgegengesetzten Richtungen senkrecht zu der
vorbestimmten Bahn darstellen,
b) eine Einrichtung zum Erzeugen vertikaler Abweichungssignale, die Änderungen der vertikalen Lage in entgegengesetzten
Richtungen parallel zu einer vertikalen Achse darstellen, und
c) eine Einrichtung zum Erzeugen eines Abweichungs-Rücksetz-Signals,
welches Änderungen der horizontalen und der vertikalen Lagen zum Zurückführen des Werkzeugmittelpunktes
zu der vorbestimmten Bahn darstellt.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt des Modifizierens eines Satzes von intermediären
Signalen weiterhin folgende Schritte umfaßt: 5
a) Erzeugen eines Satzes von Abweichungsreferenzsignalen, die Versetzungen relativ zu den rechtwinkligen Koordinatenachsen
darstellen und die dahingehend wirksam sind, alle Sätze von intermediären Signalen einer
vorbestimmten Bahn zu modifizieren,
b) Erzeugen eines Satzes von akkumulierten Abweichungssignalen, die Versetzungen relativ zu den rechtwinkligen
Koordinatenachsen darstellen, zum Modifizieren
ausgewählter Sätze von intermediären Signalen der vorbestimmten Bahn in Abhängigkeit vom Auftreten eines
Abweichungssignals, und
c) Modifizieren des Satzes von intermediären Signalen in
20
Abhängigkeit des Satzes der Abweichungsreferenzsignale
und des Satzes der akkumulierten Abweichungssignale zum Erzeugen modifizierter intermediärer Signale, die
einen von dem intermediären Punkt um die Netto-Veroc
Setzungen relativ zu den rechtwinkligen Koordinatenachsen versetzten Punkt darstellen, die durch den
Satz der Abweichungsreferenzsignale und den Satz der
akkumulierten Abweichungssignale bewirkt sind.
QQ 4. Vorrichtung zum Modifizieren der Bewegung eines auf
ein Funktionselement bezogenen Werkzeugmittelpunktes, wobei die Bewegung entlang vorbestimmter Bahnen zwischen
programmierten Punkten stattfindet und durch Eingangssignale definiert ist, die Positionen und Bahngeschwin-
digkeiten relativ zu einem rechtwinkligen Koordinatensystem darstellen, wobei die Vorrichtung folgendes umfaßt:
* et ο
a) Einen Roboterarm mit
1. einem Unterteil,
2. einem oberen Arm, dessen eines Ende in mechanischer Verbindung mit dem Unterteil steht und der bezüglich
des Unterteils um zwei aufeinander senkrecht stehende Rotationsachsen bewegbar ist,
3. einen unteren Arm, dessen eines Ende dem Funktionselement zugeordnet ist und dessen anderes Ende mit
dem anderen Ende des oberen Armes über eine dritte Drehachse schwenkbar verbunden ist, und
4. eine Mehrzahl von Betätigungsorganen, von denen ein jedes unabhängig eine der Rotationsachsen steuert,
wobei diese Rotationsachsen und der obere und der untere Arm ein generalisiertes Koordinatensystem
definieren, welches unabhängig vom rechtwinkligen Koordinatensystem ist, und
b) Mittel zum Erzeugen eines Abweichungssignals zum Befehligen
einer Lageänderung des Werkzeugmittelpunktes abseits der vorbestimmten Bahn,und
c) eine Steuerung mit einer Einrichtung zum Speichern der Eingangssignale und einer servomechanischen Schaltung,
die mit den Betätigungsorganen zur Bewegung des Werkzeugmittelpunktes entlang den vorbestimmten Bahnen
verbunden ist, wobei die Steuerung folgende Schritte
durchführt:
30
30
1. Abrufen erster Eingangssignale, die erste und zweite programmierte Punkte und eine zwischen diesen liegende
Bahngeschwindigkeit darstellen,
2. in Abhängigkeit der ersten Eingangssignale einen
Satz von intermediären Signalen Erzeugen, die intermediäre
Koordinatenwerte darstellen relativ zu den rechtwinkligen Koordinatenachsen eines intermediären
Punktes, der um einen i nkremental.en Abstand entfernt
von dem ersten programmierten Punkt entlang
der vorbestimmten Bahn angeordnet ist, 5
3. Modifizieren des Satzesder intermediären Signale
in Abhängigkeit von den Abweichungssignalen, um
modifizierte intermediäre Signale zu erzeugen, die einen gegenüber dem intermediären Punkt versetzten
Abweichungspunkt darstellen,
4. in Abhängigkeit von dem modifizierten Satz von
intermediären Signalen Erzeugen eines Satzes von individuellen Steuersignalen, die general i.sierte
Koordinatenwerte darstellen, die abhängen von dem generalisierten Koordinatensystem des Abweichungspunktes ,
5. Zuführen der individuellen Steuersignale zu der servomechanischen Schaltung zum Betreiben der Betätigungsorgane
in einer koordinierten Art und Weise,
2Q um den Werkzeugmittelpunkt zu dem Abweichungspunkt
zu bewegen,
6. Wiederholen der Schritte 2 bis 5, um den Werkzeugmittelpunkt zu veranlassen, sich durch eine Serie
von Abweichungspunkten zu bewegen, die gegenüber einer Serie von gleichmäßig beabstandeten intermediären
Punkten entlang der vorbestimmten Bahn versetzt sind,
7. Wiederholen der Schritte 1 bis 6, um den Werkzeugmittelpunkt dazu zu veranlassen, sich entlang Abweichungsbahnen
zu bewegen, die gegenüber den vorbestimmten Bahnen versetzt sind.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Einrichtung zum Erzeugen eines Abweichungssignales
weiterhin folgendes umfaßt:
a) Eine Einrichtung zum Erzeugen von horizontalen Abweichungssignalen,
die Änderungen der horizontalen Lage in entgegengesetzten Richtungen senkrecht zu der
vorbestimmten Baiin darstellen,
b) eine Einrichtung zum Erzeugen vertikaler Abweichungssignale, die Änderungen der vertikalen Lage in entgegengesetzten
Richtungen parallel zu einer vertikalen Achse darstellen, und
c) eine Einrichtung zum Erzeugen eines Abweichungs-Rücksetz-Signals,
welches Änderungen der horizontalen und der vertikalen Lagen zum Zurückführen des Werkzeugmittelpunktes
zu der vorbestimmten Bahn darstellt.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt des Modifizierens eines Satzes von intermediären
Signalen weiterhin folgende Schritte umfaßt:
a) Erzeugen eines Satzes von Abweichungs-Referenzsignalen,
die Versetzungen relativ zu den rechtwinkligen Koordinatenachsen
darstellen und dahingehend wirksam sind, alle Sätze von intermediären Signalen einer vorbestimmten
Bahn zu modifizieren,
b) Erzeugen eines Satzes von akkumulierten Abweichungssignalen, die Versetzungen relativ zu den rechtwinkligen
Koordinatenachsen darstellen, zum Modifizieren ausgewählter Sätze von intermediären Signalen der
vorbestimmten Bahn in Abhängigkeit vom Auftreten eines Abweichungssignals und
c) Modifizieren des Satzes von intermediären Signalen in Abhängigkeit des Satzes der Abweichungs-Referenz-Signale
und des Satzes der akkumulierten Abweichungssignale zum Erzeugen modifizierter intermediärer
Signale, die einen von dem intermediären Punkt um die
Netto-Versetzungen relativ zu den rechtwinkligen Koordinatenachsen
versetzten Punkt darstellen, die durch den Satz der Abweichungs-Referenzsignale und den Satz der
akkumulierten Abweichungssignale bewirkt sind.
7. Vorrichtung zum Modifizieren der Bewegung eines auf ein Funktionselement bezogenen Werkzeugmittelpunktes,
wobei die Bewegung entlang einer vorbestimmten Bahn zwischen zwei programmierten Punkten stattfindet und
durch Eingangssignale definiert ist, die Positionen und eine dazwischenliegende Bahngeschwindigkeit relativ zu
einem rechtwinkligen Koordinatensystem darstellen, wobei
die Vorrichtung folgendes umfaßt:
a) Einen Roboterarm mit
1. einem Untertei1
2. einem oberen Arm, dessen eines Ende in mechanischer ori Verbindung mit dem Unterteil steht und der bezüglich
des Unterteils um zwei aufeinander senkrecht stehende Rotationsachsen bewegbar ist,
3. einen unteren Arm, dessen eines Ende dem Funktionselement zugeordnet ist und dessen anderes Ende mit
dem anderen Ende des oberen Armes über eine dritte Drehachse schwenkbar verbunden ist, und
4. eine Mehrzahl von Betätigungsorganen, von denen ein jedes unabhängig eine der Rotationsachsen
steuert, wobei diese Rotationsachsen und der obere und der untere Arm ein generalisiertes Koordinatensystem
definieren, welches unabhängig von dem rechtwinkligen Koordinatensystem ist, und
b) eine Einrichtung zum Erzeugen eines Abweichungssignals zum Befehligen einer Lageänderung des Werkzeugmittelpunktes abseits der vorbestimmten Bahn,
c) eine Steuerung mit einer Einrichtung zum Speichern der Eingangssignale und einer servomechanischen
Schaltung, die mit den Betätigungsorganen zum Bewegen des Werkzeugmittelpunktes entlang einer vor
bestimmten Bahn verbunden ist, wobei die Steuerung folgende Schritte durchführt:
1. Abrufen erster Eingangssignale, die erste und zweite programmierte Punkte und eine zwischen
diesen liegende Bahngeschwindigkeit darstellen,
2. in Abhängigkeit von den ersten Eingangssignalen einen Satz von intermediären Signalen erzeugen,
die Koordinatenwerte darstellen, relativ zu den
rechtwinkligen Koordinatenachsen eines intermediären Punktes, der um einen inkrementalen
Abstand entfernt von dem ersten programmierten Punkt entlang der vorbestimmten Bahn angeordnet
ist,
3. Modifizieren des Satzes der intermediären Signale in Abhängigkeit von den Abweichungssignalen, um
modifizierte intermediäre Signale zu erzeugen, die einen gegenüber dem intermediären Punkt versetzten Abweichungspunkt darstellen,
4. in Abhängigkeit von dem modifizierten Satz von
intermediären Signalen Erzeugen eines Satzes von
individuellen Steuersignalen, die generalisierte Koordinatenwerte darstellen, die abhängen von dem
generalisierten Koordinatensystem des Abweichungs
punktes,
5. Zuführen der individuellen Steuersignale zu der servomechanischen Schaltung zum Betreiben der
Betätigungsorgane in einer koordinierten Art und
Weise, um den Werkzeugmittelpunkt zu dem Ab
weichungspunkt zu bewegen, und
6. Wiederholen der Schritte 2 bis 5, um den Werkzeugmittelpunkt zu veranlassen, sich durch eine
Serie von Abweichungspunkten zu bewegen, die gegenüber der vorbestimmten Bahn zwischen den ersten und
zweiten programmierten Punkten versetzt sind. 5
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Einrichtung zum Erzeugen eines Abweichungssignals
weiterhin folgendes umfaßt:
a) Eine Einrichtung zum Erzeugen von horizontalen Abweichungssignalen,
die Änderungen der horizontalen Lage in entgegengesetzten Richtungen senkrecht zu
der vorbestimmten Bahn darstellen,
b) eine Einrichtung zum Erzeugen vertikaler Abweichungssignale, die Änderungen der vertikalen Lage in entgegengesetzten
Richtungen parallel zu einer vertikalen Achse darstellen, und
c) eine Einrichtung zum Erzeugen eines Abweichungs-Rück-
setz-Signals, welches Änderungen der horizontalen
und der vertikalen Lagen zum Zurückführen des Werkzeugmittelpunktes
zu der vorbestimmten Bahn darstellt.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß das Abweichungssignal eine Änderung der Lage des
Werkzeugmittelpunktes parallel zu einer vertikalen Achse befehligt, und daß der Schritt des Modifizierens eines
Satzes von intermediären Signalen weiterhin folgende Schritte umfaßt:
a) Erzeugen eines akkumulierten vertikalen Abweichungssignals,
welches eine vertikale Versetzung von dem intermediären Punkt parallel zu der vertikalen Achse
darstellt,
b) Modifizieren des ersten intermediären Signals in Abhängigkeit von dem vertikalen Abweichungssignal zum
Erzeugen modifizierter intermediärer Signale, welche
die Koordinatenwerte relativ zu dem rechtwinkligen
5
Koordinatensystem eines vom intermediären Punkt um
die vertikale Versetzung versetzten Punktes.
10.Vorrichtung nach Anspruch 8, dadurch gekennzeichnet,
daß das Abweichungssignal eine Positionsänderung zu einem Punkt entlang einer Normalen zu der vorbestimmten
Bahn befehligt, wobei die Normale in einer horizontalen Ebene 1iegt, /wobei der Schritt des Modifizierens der
intermediären Signale weiterhin folgende Schritte umfaßt:
Ib
Ib
a) Erzeugen eines akkumulierten horizontalen Abweichungssignals, welches eine horizontale Versetzung entlang
der Normalen in der horizontalen Ebene darstellt,
b) Modifizieren der ersten intermediären Signale zur
Darstellung der Koordinatenwerte bezüglich des rechtwinkligen Koordinatensystems eines von dem intermediären Punkt um die horizontale Versetzung versetzten Punktes.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/250,908 US4403281A (en) | 1981-04-03 | 1981-04-03 | Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3210675A1 true DE3210675A1 (de) | 1982-10-28 |
DE3210675C2 DE3210675C2 (de) | 1989-04-27 |
Family
ID=22949659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823210675 Granted DE3210675A1 (de) | 1981-04-03 | 1982-03-23 | Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn |
Country Status (7)
Country | Link |
---|---|
US (1) | US4403281A (de) |
JP (1) | JPS57178689A (de) |
CA (1) | CA1167143A (de) |
DE (1) | DE3210675A1 (de) |
FR (1) | FR2503010B1 (de) |
GB (1) | GB2096362B (de) |
SE (1) | SE455846C (de) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0114362A1 (de) * | 1982-12-22 | 1984-08-01 | Hitachi, Ltd. | Verfahren und System zur Steuerung industrieller Roboter |
DE3406255A1 (de) * | 1983-02-21 | 1984-09-27 | Mitsubishi Denki K.K., Tokio/Tokyo | Robotersteuerapparat |
DE3422107A1 (de) * | 1983-06-14 | 1984-12-20 | Mitsubishi Denki K.K., Tokio/Tokyo | Roboter-steuereinrichtung |
EP0268495A2 (de) * | 1986-11-20 | 1988-05-25 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP0268491A2 (de) * | 1986-11-20 | 1988-05-25 | Unimation Inc. | Vielachsenroboter mit Bewegungskontrolle |
EP0269372A2 (de) * | 1986-11-20 | 1988-06-01 | Unimation Inc. | Roboter mit mikroprozessorgestützter Digitalkontrolle |
EP0269374A2 (de) * | 1986-11-20 | 1988-06-01 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP2075098A3 (de) * | 2007-12-21 | 2017-12-13 | KUKA Roboter GmbH | Industrieroboter und Verfahren zum Steuern eines Industrieroboters |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380696A (en) * | 1980-11-12 | 1983-04-19 | Unimation, Inc. | Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing |
JPS57113115A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
JPS57113116A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
JPS5858607A (ja) * | 1981-10-05 | 1983-04-07 | Sankyo Seiki Mfg Co Ltd | プリセツト式ロボツトにおけるポイント測定方式 |
JPS5877775A (ja) * | 1981-10-07 | 1983-05-11 | Yaskawa Electric Mfg Co Ltd | 溶接ロボツトの制御方式 |
FR2519690A1 (fr) * | 1982-01-11 | 1983-07-18 | Montabert Ets | Dispositif d'asservissement electro-hydraulique de bras-support articule pour glissiere d'appareil de foration |
US4486843A (en) * | 1982-03-03 | 1984-12-04 | Nordson Corporation | Transitional command position modification for a controller |
US4481591A (en) * | 1982-03-03 | 1984-11-06 | Nordson Corporation | Method and apparatus for modifying a prerecorded sequence of ON/OFF commands for controlling a bistable device operating in conjunction with a moving robot under program control |
US4484294A (en) * | 1982-03-03 | 1984-11-20 | Nordson Corporation | Method and apparatus for modification of a prerecorded programmed sequence of motions during execution thereof by a robot |
DE3244307A1 (de) * | 1982-11-30 | 1984-05-30 | Siemens AG, 1000 Berlin und 8000 München | Robotersteuerung |
US4484120A (en) * | 1983-04-13 | 1984-11-20 | Nordson Corporation | Auxiliary function command presequencing for a robot controller |
US4562391A (en) * | 1983-06-08 | 1985-12-31 | Inoue-Japax Research Incorporated | Robotic positioning system |
SE8304100L (sv) * | 1983-07-22 | 1985-01-23 | Ibm Svenska Ab | System for automatisk kalibrering av rymdkoordinaterna hos en robotgripper i sex frihetsgrader |
DE3332749A1 (de) * | 1983-09-10 | 1985-03-28 | Ibau Hamburg Ingenieurgesellschaft Industriebau Mbh, 2000 Hamburg | Verfahren zum befuellen von kesselfahrzeugen, insbesondere mit schuettgut wie zement |
EP0142072A3 (de) * | 1983-11-15 | 1986-12-30 | Aida Engineering Ltd. | Schleifroboter |
JPS6115209A (ja) * | 1984-06-29 | 1986-01-23 | Sumitomo Metal Ind Ltd | 溶接線倣い方法 |
JP2628297B2 (ja) * | 1984-07-03 | 1997-07-09 | 新明和工業株式会社 | ロボット制御方法およびその装置 |
JPS6115207A (ja) * | 1984-06-29 | 1986-01-23 | Shin Meiwa Ind Co Ltd | ロボツト制御方法およびその装置 |
JPS61157903A (ja) * | 1984-12-28 | 1986-07-17 | Yaskawa Electric Mfg Co Ltd | ロボツトの制御方法 |
JPS61163404A (ja) * | 1985-01-12 | 1986-07-24 | Fanuc Ltd | サ−ボコントロ−ラのインタフエイス方式 |
JPH0789286B2 (ja) * | 1986-02-28 | 1995-09-27 | 株式会社日立製作所 | 多関節マニピユレ−タの作業原点決定方法 |
JPS63288658A (ja) * | 1987-05-21 | 1988-11-25 | Mitsubishi Electric Corp | バリ取り用ロボット装置 |
JP2511072B2 (ja) * | 1987-10-23 | 1996-06-26 | 三菱重工業株式会社 | ロボットにおける教示デ―タの記録・再生方法 |
EP0328887A1 (de) * | 1988-02-18 | 1989-08-23 | Siemens Aktiengesellschaft | Anordnung zum Beeinflussen von automatisierten Prozessen mit Industrierobotern, zum Beispiel beim Abdecken von elektronischen Bauteilen auf Hybridschaltungen |
US4969108A (en) * | 1988-04-08 | 1990-11-06 | Cincinnati Milacron Inc. | Vision seam tracking method and apparatus for a manipulator |
US5014183A (en) * | 1988-10-31 | 1991-05-07 | Cincinnati Milacron, Inc. | Method and means for path offsets memorization and recall in a manipulator |
US5102280A (en) * | 1989-03-07 | 1992-04-07 | Ade Corporation | Robot prealigner |
US5197846A (en) * | 1989-12-22 | 1993-03-30 | Hitachi, Ltd. | Six-degree-of-freedom articulated robot mechanism and assembling and working apparatus using same |
WO1992002871A1 (en) * | 1990-08-08 | 1992-02-20 | Digital Arts Film & Television Pty. Ltd. | Motion control system for cinematography |
CA2082790A1 (en) * | 1991-12-02 | 1993-06-03 | R. David Hemmerle | Automated maintenance system for computer numerically controlled machines |
JP2812920B2 (ja) * | 1996-05-30 | 1998-10-22 | 川崎重工業株式会社 | ロボットの動作指令作成方法 |
US6560513B2 (en) * | 1999-11-19 | 2003-05-06 | Fanuc Robotics North America | Robotic system with teach pendant |
US6313595B2 (en) | 1999-12-10 | 2001-11-06 | Fanuc Robotics North America, Inc. | Method of controlling an intelligent assist device in a plurality of distinct workspaces |
US6204620B1 (en) | 1999-12-10 | 2001-03-20 | Fanuc Robotics North America | Method of controlling an intelligent assist device |
SE0001312D0 (sv) * | 2000-04-10 | 2000-04-10 | Abb Ab | Industrirobot |
US6455800B1 (en) * | 2001-01-04 | 2002-09-24 | Festo Corporation | Servo-pneumatic modular weld gun |
US8219246B2 (en) * | 2001-06-13 | 2012-07-10 | Oliver Crispin Robotics Limited | System and method for controlling a robotic arm |
US20050220582A1 (en) * | 2002-09-13 | 2005-10-06 | Tokyo Electron Limited | Teaching method and processing system |
JP2006099260A (ja) * | 2004-09-28 | 2006-04-13 | Fanuc Ltd | ロボットプログラム作成装置 |
US20070142966A1 (en) * | 2005-12-20 | 2007-06-21 | Khalid Mirza | Process for moving a robot |
JP4443614B2 (ja) * | 2008-02-27 | 2010-03-31 | トヨタ自動車株式会社 | パワーアシスト装置及びその制御方法 |
JP2011108044A (ja) * | 2009-11-18 | 2011-06-02 | Fanuc Ltd | N個のロボットを同時に制御するロボット制御装置 |
JP6008121B2 (ja) * | 2013-01-28 | 2016-10-19 | セイコーエプソン株式会社 | ロボットおよびロボット制御装置 |
DE102014226933B3 (de) * | 2014-12-23 | 2016-03-24 | Kuka Roboter Gmbh | Vorrichtung und Verfahren zum Aufnehmen von Positionen |
CN106003083B (zh) * | 2016-06-28 | 2018-02-13 | 宁波优学智能科技有限公司 | 一种视频监控机器人 |
DE102016217118A1 (de) | 2016-09-08 | 2018-03-08 | Siemens Aktiengesellschaft | Manipulator und Verfahren zur Regelung einer Bewegung eines Manipulators |
CN108081255B (zh) * | 2016-11-23 | 2019-10-15 | 广汽乘用车有限公司 | 一种机器人零点校准方法及装置 |
DE102018117244B3 (de) * | 2018-07-17 | 2019-10-31 | Lti Motion Gmbh | Verfahren zum Ermitteln einer Grobbahn aus einer vorgegebenen Kontur |
US11707843B2 (en) * | 2020-04-03 | 2023-07-25 | Fanuc Corporation | Initial reference generation for robot optimization motion planning |
JP7276359B2 (ja) * | 2021-01-07 | 2023-05-18 | 株式会社安川電機 | 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2625933A1 (de) * | 1975-06-16 | 1976-12-30 | Asea Ab | Industrie-roboter |
DE2709335A1 (de) * | 1976-03-03 | 1977-09-15 | Unimation Inc | Programmierbarer manipulator |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3770947A (en) * | 1971-08-20 | 1973-11-06 | City Nat Bank Of Detroit | Tool control |
US3909600A (en) * | 1972-06-26 | 1975-09-30 | Cincinnati Milacron Inc | Method and apparatus for controlling an automation along a predetermined path |
US3866179A (en) * | 1972-09-22 | 1975-02-11 | Giddings & Lewis | Numerical control with envelope offset and automatic path segment transitions |
US4035706A (en) * | 1973-07-26 | 1977-07-12 | Hymie Cutler | Offset path generating system particularly useful for numerical control machines |
JPS5132587B2 (de) * | 1973-09-17 | 1976-09-13 | ||
US3888361A (en) * | 1974-05-15 | 1975-06-10 | Unimation Inc | Programmed manipulator arrangement for continuously moving conveyor |
JPS50159445A (de) * | 1974-06-14 | 1975-12-24 | ||
US3920972A (en) * | 1974-07-16 | 1975-11-18 | Cincinnati Milacron Inc | Method and apparatus for programming a computer operated robot arm |
US4025838A (en) * | 1974-12-26 | 1977-05-24 | Kawasaki Heavy Industries, Ltd. | Signal modification device for memory controlled manipulator apparatus |
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 |
SE402540B (sv) * | 1976-08-13 | 1978-07-10 | Asea Ab | Forfarande och anordning for att vid en givarstyrd industrirobot astadkomma en approximativ transformation mellan givarens och robotarmens olika koordinatsystem for styrning av roboten inom ett forutbestemt ... |
US4086522A (en) * | 1976-09-08 | 1978-04-25 | Unimation, Inc. | Computer assisted teaching arrangement for conveyor line operation |
US4162527A (en) * | 1977-07-29 | 1979-07-24 | Hamill Company, Inc. | Numerically controlled machine tool system with programmable tool offset |
US4178632A (en) * | 1978-03-06 | 1979-12-11 | Cincinnati Milacron Inc. | Method for controlling the operation of a computer operated robot arm |
JPS5858682B2 (ja) * | 1978-04-26 | 1983-12-27 | ファナック株式会社 | 産業用ロボツトの制御方式 |
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-04-03 US US06/250,908 patent/US4403281A/en not_active Expired - Lifetime
-
1982
- 1982-03-23 DE DE19823210675 patent/DE3210675A1/de active Granted
- 1982-03-26 CA CA000399521A patent/CA1167143A/en not_active Expired
- 1982-04-01 SE SE8202088A patent/SE455846C/sv not_active IP Right Cessation
- 1982-04-02 FR FR8205756A patent/FR2503010B1/fr not_active Expired
- 1982-04-03 JP JP57055927A patent/JPS57178689A/ja active Granted
- 1982-04-05 GB GB8210060A patent/GB2096362B/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2625933A1 (de) * | 1975-06-16 | 1976-12-30 | Asea Ab | Industrie-roboter |
DE2709335A1 (de) * | 1976-03-03 | 1977-09-15 | Unimation Inc | Programmierbarer manipulator |
Non-Patent Citations (2)
Title |
---|
AUER, B.H.: "Industrieroboter und ihr prakti- scher Einsatz" Lexika-Verlag, Grafenau 1979, S.100 u. 101 * |
BLUME, C., DILLMANN, R.: "Struktur und Pro- grammierung von Industrierobotern" in VDI-Z 122 (1980) Nr.5, S.159-165 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0114362A1 (de) * | 1982-12-22 | 1984-08-01 | Hitachi, Ltd. | Verfahren und System zur Steuerung industrieller Roboter |
DE3406255A1 (de) * | 1983-02-21 | 1984-09-27 | Mitsubishi Denki K.K., Tokio/Tokyo | Robotersteuerapparat |
US4594670A (en) * | 1983-02-21 | 1986-06-10 | Mitsubishi Denki Kabushiki Kaisha | Robot control apparatus |
DE3422107A1 (de) * | 1983-06-14 | 1984-12-20 | Mitsubishi Denki K.K., Tokio/Tokyo | Roboter-steuereinrichtung |
EP0269372A2 (de) * | 1986-11-20 | 1988-06-01 | Unimation Inc. | Roboter mit mikroprozessorgestützter Digitalkontrolle |
EP0268491A2 (de) * | 1986-11-20 | 1988-05-25 | Unimation Inc. | Vielachsenroboter mit Bewegungskontrolle |
EP0268495A2 (de) * | 1986-11-20 | 1988-05-25 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP0269374A2 (de) * | 1986-11-20 | 1988-06-01 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP0268491A3 (de) * | 1986-11-20 | 1988-08-03 | Unimation Inc. | Vielachsenroboter mit Bewegungskontrolle |
EP0269372A3 (de) * | 1986-11-20 | 1988-08-17 | Unimation Inc. | Roboter mit mikroprozessorgestützter Digitalkontrolle |
EP0268495A3 (de) * | 1986-11-20 | 1988-08-24 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP0269374A3 (de) * | 1986-11-20 | 1988-08-24 | Unimation Inc. | Modules Kontrollsystem für einen Roboter |
EP2075098A3 (de) * | 2007-12-21 | 2017-12-13 | KUKA Roboter GmbH | Industrieroboter und Verfahren zum Steuern eines Industrieroboters |
Also Published As
Publication number | Publication date |
---|---|
FR2503010A1 (fr) | 1982-10-08 |
SE8202088L (sv) | 1982-10-04 |
SE455846C (sv) | 1989-11-27 |
SE455846B (sv) | 1988-08-15 |
GB2096362A (en) | 1982-10-13 |
DE3210675C2 (de) | 1989-04-27 |
FR2503010B1 (fr) | 1986-03-07 |
GB2096362B (en) | 1985-02-06 |
JPH0439086B2 (de) | 1992-06-26 |
CA1167143A (en) | 1984-05-08 |
US4403281A (en) | 1983-09-06 |
JPS57178689A (en) | 1982-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3210675A1 (de) | Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn | |
DE3317263C2 (de) | ||
DE2639774C2 (de) | ||
DE2330054C2 (de) | Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes | |
DE112016004725B4 (de) | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung | |
DE2526504C3 (de) | Verfahren zur Erstellung eines Programms für die rechnergeführte Steuerung der Arbeitsfunktionen und der Bewegung eines Roboterarmes und Vorrichtung zur Durchführung des Verfahrens | |
DE102019001948B4 (de) | Steuerung und maschinelle Lernvorrichtung | |
DE4314731C2 (de) | Verfahren zur Steuerung eines Kraftfahrzeug-Fahrroboters | |
DE3236320A1 (de) | Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms | |
DE68926739T2 (de) | Lernverfahren und steuergerät für ein roboter | |
WO1993012475A1 (de) | Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist | |
DE3406255A1 (de) | Robotersteuerapparat | |
DE3208435C2 (de) | Steuerungsvorrichtung zum Führen eines Lichtbogenschweißautomaten | |
DE102014103370B4 (de) | Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators | |
DE112016005365T5 (de) | Direktes Lehrverfahren eines Roboters | |
DE2735632A1 (de) | Verfahren und anordnung zum steuern eines industrie-roboters | |
DE102004026813A1 (de) | Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten | |
DE102014224193B9 (de) | Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters | |
DE4200870A1 (de) | Verfahren zum steuern eines fahrroboters fuer ein automobil | |
DE102011108282A1 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE102020121561B3 (de) | Steuerungsverfahren für ein bilaterales Teleoperationssystem, Controller, Teleoperationssystem und Verwendung des Controllers und/oder des Teleoperationssystems | |
DE3806966A1 (de) | Steuersystem | |
EP0167080A1 (de) | Rechnersteuerung für einen Mehrachsen-Industrieroboter | |
DE69610284T2 (de) | Verfahren zur robotersteuerung | |
DE102020126209A1 (de) | Roboter |
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 |
|
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
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 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |