DE2330054A1 - Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes - Google Patents
Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetesInfo
- Publication number
- DE2330054A1 DE2330054A1 DE2330054A DE2330054A DE2330054A1 DE 2330054 A1 DE2330054 A1 DE 2330054A1 DE 2330054 A DE2330054 A DE 2330054A DE 2330054 A DE2330054 A DE 2330054A DE 2330054 A1 DE2330054 A1 DE 2330054A1
- Authority
- DE
- Germany
- Prior art keywords
- coordinate
- signals
- coordinate system
- values
- coordinate values
- 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
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/416—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
-
- 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/33—Director till display
- G05B2219/33099—Computer numerical control [CNC]; Software control [SWC]
-
- 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/35—Nc in input of data, input till input file format
- G05B2219/35354—Polar coordinates, turntable
-
- 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/35—Nc in input of data, input till input file format
- G05B2219/35543—Cartesian to polar and vice versa
-
- 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/41—Servomotor, servo controller till figures
- G05B2219/41477—Servo loop with analog position sensor for continuous path control
-
- 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/43—Speed, acceleration, deceleration control ADC
- G05B2219/43006—Acceleration, deceleration control
-
- 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/45051—Transfer line
Description
D-802.3 Λ.-indien - Pullach
Wienerslt 2.Γ Μώο.7930570,7931782
Wienerslt 2.Γ Μώο.7930570,7931782
vI/Pz 'München-Pullach, 13. Juni 1973
Case 1231
Cincinnati Milacron Inc., 4701 Marburg Avenue, Ohio 45209, USA
Verfahren und Gerät zur Steuerung der Bewegung eines Elementes einer Maschine, insbesondere eines Automaten
oder Bedienungsgerätes.
Die Erfindung betrifft allgemein die Steuerung von Automaten, die auch als programmierbare Bedienungsgeräte oder Handgeber
bezeichnet werden, oder bei einem speziellen Fall und Ausführungsform Roboter für industrielle Zwecke. Speziell findet
der Gegenstand der vorliegenden Erfindung Anwendung bei einem Automaten, der eine Vielzahl von Bewegungsachsen aufweist, die
die Position und Orientierung eines Funktionselementes an dem Automaten bestimmen, z. B. eines Greifers oder Hand, eines
Werkzeughalters usw. Das Gerät nach der vorliegenden Erfindung führt einen Prozeß durch, durch welchen die Bewegungsachsen
koordiniert werden, um das Funktionselement des Automaten ent-*'
lang einer geraden Linie zwischen irgendwelchen zwei Punkten im Raum zu bewegen, wobei eine bestimmte Ausrichtung oder
Orientierung beibehalten werden kann. Gemäß dem Stand der Tech nik gibt es auf dem vorliegenden Gebiet der Bedienungsgeräte
bzw. Handgeber und auf dem Gebiet der Automaten bereits einige Vorschläge. Gemäß diesem Stand der Technik gibt es eine Vielzahl
von mechanischen Ausführungsformen. Typisch erfordert ein Automat drei Freiheitsgrade oder drei gesteuerte« Bewegungs
achsen, um die Position eines Elementes an einer Stelle oder
309883/1276
'«■
Punkt im Raum zu steuern. Zusätzlich zu dem Inlagebringen kann es natürlich wünschenswert sein, auch die Ausrichtung oder
Orientierung des Elements während der Positionierung oder nach der Positionierung zu steuern. Daher benötigt das Element eine
zusätzliche Bewegungsachse, zwei oder drei Freiheitsgrade, unabhängig von den Bewegungspositionierungsachsen. Um beispielsweise
die Orientierung eines Elementes längs eines Vektors durch eine Stelle oder Punkt im Raum zu steuern, benötigt man
ein Minimum von fünf Freiheitsgraden; und wenn das Element planare Eigenschaften aufweist, so sind sechs Freiheitsgrade
für die Steuerung des Elementes in einer Ebene durch einen Punkt im Raum erforderlich. Der Automat, der mit der Einrichtung
nach der Erfindung ausgestattet ist, weist drei gesteuerte Bewegungsachsen auf, um die Position eines Elementes im
Raum zu steuern. Es sind zwei weitere gesteuerte Bewegungsachsen vorgesehen und eine Schaltachse (Indexing Axis) der Bewegung
vorgesehen, um die Orientierung des Elementes zu steuern.
In der Praxis muß ein Automat in einer auf den Men-schen zugeschnittenen
Umwelt arbeiten. Diese Umwelt wird typisch durch vertikale und hori-zontale Ebenen beherrscht. Daher ist die
naheliegende Ausführung eine solche, bei welcher die Freiheitsgrade für die Steuerung der Position ein rechtwinkliges Koordinatensystem
definieren. Ein solches System ist weit als typische Maschinenausführung oder -konstruktion verbreitet und
führt zu einem Gerät, welches in Verbindung mit bestehenden Steuersystemen unmittelbar eine Bewegung in irgendeiner horizontalen
oder vertikalen Ebene erlaubt. Trotz dieser offensichtlichen Vorteile in Verbindung mit einer großen Anzahl von
allgemeinen Anwendungsfällen, weist das rechtwinklige Koordinatensystem verschiedene Nachteile auf. Zunächst können die
entsprechenden geradlinigen Treibersysteme relativ komplex und teuer sein. Zweitens ist eine Vorrichtung mit diesem Grundkonzept
notwendigerweise massig oder sperrig und beansprucht viel Platz. Schließlich ist auch der Betriebsbereich auf ein
309883/1276
rechtwinkeliges Volumen eingeschränkt, wodurch die Flexibilität hinsichtlich der Anwendungsmöglichkeit eingeschränkt wird.
Um diese zuvor erläuterten Nachteile zu vermeiden, können verschiedene
Änderungen durchgeführt werden. Indem man eine oder mehrere der Achsen für die lineare Bewegung durch Achsen für
eine Rotationsbewegung ersetzt, kann man den Bereich der Vorrichtung auf ein zylindrisches oder kugelförmiges Volumen erweitern.
Man erreicht auch einen inhärenten weiteren Vorteil dahingehend, daß die Antriebseinrichtungen für die Rotationsbewegungsachsen
allgemein einfacher sind und mit geringerem Kostenaufwand hergestellt werden können. Bei der Verwendung
von Drehverbindungen oder -gelenken wird auch die Gesamtgröße und der Platzbedarf für die Vorrichtung reduziert. Eine derartige
Vorrichtung ist jedoch mit einem wesentlichen Nachteil behaftet. Wenn die Rotationsbewegungsachsen entweder alleine
oder in Kombination mit Achsen der linearen Bewegung verwendet werden, so entstehen ziemliche Schwierigkeiten bei der
Koordinierung der Bewegungsachsen für die Definition einer Bahn, welcher der Automat folgen soll. Gerade dieses Problem
soll durch die vorliegende Erfindung gelöst werden. Gemäß einer Ausführungsform umfaßt der Automat nach der vorliegenden
Erfindung fünf gesteuerte Rotationsbewegungsachsen. Jedoch läßt sich das Gerät nach der vorliegenden Erfindung auch
bei irgendeinem System anwenden, welches eine oder mehrere Rotationsbewegungsachsen aufweist, die die Position des Funktionsei ement es beeinflussen.
Typisch muß der Automat in einer vom Menschen gestalteten Umwelt mit horizontalen und vertikalen Ebenen funktionieren. Es
wurde festgestellt, daß es äußerst vorteilhaft sein würde,
einen Punkt an dem Funktionseiement des Automaten in einer geradlinigen
Bahn zwischen irgendwelchen zwei bestimmten Punkten im Raum zu bewegen, jedoch eine bestimmte Orientierung beizu-
309883/1276
behalten. Wie der Fachmann erkennt, kann es in bestimmten Anwendungsfällen
wünschenswert sein, einen Punkt an dem Funktionselement entlang irgendwelcher weiterer bestimmter Bahnen im
Raum gesteuert zu bewegen, dabei jedoch die Ausrichtung oder Orientierung beizubehalten. Die Wahl einer geradlinigen Bewegungsbahn,
wie sie durch die Erfindung vorgeschlagen wird, hat verschiedene inhärente Vorteile. Da man lediglich die Definition
der zwei Endpunkte benötigt, so wird das Problem der Unterrichtung des Automaten wesentlich herabgesetzt, Darüberhinaus
können geeignete Änderungen in der Geschwindigkeit unmittelbar mit einkalkuliert bzw, berechnet werden, um einen weichen
Start und Anhalten entlang der bestimmten Bahn sicherzustellen. Da auch ein Punkt auf dem Funktion^element sich immer
entlang einer geraden Linie bewegt bzw. bewegt wird, so wird ein Gegenstand in dem Funktionselement keinen Trägheitskräften
ausgesetzt, die quer zu der Bahn wirken oder verlaufen, was
jedoch bei einem System zu erwerten ist, welches Rotationsbewegungsachsen
aufweist, Wenn ein schwerer Gegenstand bewegt wird, so erlangt das zuvor geschilderte Merkmal große Bedeutung.
Die vorliegende Erfindung "betrifft tomit* ein Verfahren und ein
Gerät zum Steuern eines Elementes eines Automaten entlang einer bestimmten Bahn. Der Automat weist eine Vielzahl von Betätigungsvorrichtungen
zum Erzeugen einer Vielzahl von Bewegungsachsen auf« Weiter besitzt der Automat eine geometrische Gestalt,
die durch einen Satz von verallgemeinerten Koordinaten definiert ist. DaF Gerät umfaßt Mittel für die Erzeugung von
Signalen, die eine bestimmte Bahngeschwindigkeit wiedergeben und zwar zwischen den Koordinatenwerten der Endpunkte einer bestimmten
Bahn. Es sind Einrichtungen vorgesehen, die auf die Signale ansprechen, um einen ersten Satz von Signalen zu erzeugen,
die eine Vielzahl von Koordinatenwerten kennzeichnen, welche eine Vielzahl von inkrementellen Verschiebungen längs
309883/1276
der bestimmten Bahn definieren. Auch sind Einrichtungen vorgesehen,
um den ersten Satz der Signale zu empfangen und diesen in einen zweiten Satz von Signalen zu transformieren, der dann
entsprechende verallgemeinerte Koordinatenwerte wiedergibt. Schließlich sind auch Mittel vorgesehen, die auf den zweiten
Satz der Signale ansprechen, um die Betätigungsvorrichtungen anzutreiben und um dadurch den Automat gesteuert entlang einer
bestimmten Bahn zu bewegen.
Weiter Vorteile und Einzelheiten der Erfindung ergeben sich aus der nun folgenden Beschreibung eines Ausführungsbeispiels unter
Hinweis auf die Zeichnung. Es zeigt:
Fig. 1 eine Gesamtansicht eines Automaten, wobei die Beziehung zu einem allgemeinen Blockschaltbild der
Steuereinrichtung veranschaulicht ist;
Fig. 2 eine graphische Darstellung des Automaten, wobei die Beziehung zwischen einem rechtwinkligen Koordinatensystem
und dem verallgemeinerten Koordinatensystem wiedergegeben ist;
Fig. 3 ein detailliertes Blockschaltbild einer Komputersteuereinheit
für den Automaten, die durch allgemeine Blöcke veranschaulicht ist;
Fig. 4 ein Flußdiagramm zur Veranschaulichung des Steuerverfahrens
nach der Erfindung;
Fig. 5a, 5b, 5c und 5d ein detailliertes Flußdiagramm des Steuerverfahrens nach der Erfindung;
Fig. 6 ein detailliertes Flußdiagramm eines Programms (Routine) für die Transformation der Werte des
309883/1278
Rechtwinkelkoordinatensystems in Wert des verallgemeinerten
Koordinatensystems; und
Fig. 7 ein detailliertes FTußdiagramm des Verfahrens nach
der Erfindung, im Signale zu erzeugen, die von einer Servomechanismus-Schaltung erzeugt werden.
Fig. 1 zeigt ein allgemeines Blockschaltbild" des Gere.tes nach
der vorliegenden Erfindung, wobei die allgemeine Gestalt eines Automaten 10 gezeigt ist. Der detaillierte Aufbau der allgemeinen
Form des Automaten ist für den Gegenstand der vorliegenden Erfindung nicht bedeutungsvoll. Die vorliegende Erfindung
läßt sich auf irgendeinen Automaten zur Anwendung bringen, der wenigsten eine Rotationsbewegungsachse aufweist, in der
die Position eines Funktions-elementes beeinflußt wird. Zum besseren Verständnis wurde ein Automat gewählt, der ausschließlich
Rotationsbewegungsachsen aufweist. Eine Basis 12 weist eine Betätigungsvorrichtung 14 auf, die mit Hilfe einer Kupplung
16 mit einer rotierbar angeordneten Platte 18 verbunden ist. Es sei an dieser Stelle hervorgehoben, daß die genaue
Ausführungsform der Betätigungsvorrichtung 14 nicht bedeutungsvoll ist. Es können also Verfahren für die Steuerung der Betätigungsvorrichtung
zur Anwendung gelangen, die bekannt sind, ob nun die Betätigungsvorrichtung elektrisch, hydraulisch,
pneumatisch oder irgendwie anders betätigt wird. Mit der Platte 18 ist eine Betätigungsvorrichtung 20 fest verbunden, wodurch
eine zweite Rotationsachse erhalten wird. An ein arbeitendes
Teil der Betätigungsvorrichtung 20 ist ein oberer Arm 22 befestigt. Die mechanische Verbindung zwischen dem oberen Arm
22 und der Betätigungsverrichtung 20 soll im folgenden allgemein als Schultergelenk 23 bezeichnet werden. An dem oberen
Arm 22 ist eine Betätigungsvorrichtung 24 befestigt, die für eine Drehung eines unteren Ärmelementes 26 um ο .»n ober·en Arm
22 sorgt. Die mechanische Gelenkverbindung, wilohe den oberen
Arm 22 mit dem unteren Arm 26 verbindet, soll im folgenden als
3 " 98 3 3 / 1 27ß
ElHoogengelenk 25 bezeichnet werden.
Die Betätigungsvorrichtungen 14, 20 und 24 sind ausreichend, um das Ende des Armes 26 zu irgendeinem Punkt im Raum zu bewegen
und zwar innerhalb des Bereiches des Automaten. Wenn daher die Position des Automaten in der Beschreibung angesprochen
wird, so sind damit diese drei Achsen der Drehbewegung gemeint. Ähnlich müssen diese drei Drehachsen gesteuert
werden, um eine bestimmte Bahn des Automaten zu definieren. Eine Hand oder Greifer 27 besteht aus Drehbetätigungsvorrichtungen
28, 30 und 32 und aus einem Funktionselement 34, ζ. Β.
einer Greifvorrichtung, Zusätzlich zur Position kann es erforderlich
sein, daß ein Gegenstand in dem Funktionselement eine bestimmte Beziehung zu einem festen Gegenstand beibehalten
soll, während die Position geändert wird. Diese Forderung soll verallgemeinernd als Orientierung bezeichnet werden. Im
Gegensatz hierzu kann es erforderlich sein, daß die Last in dem Funktionselement eine neue Orientierung in Verbindung mit
einer neuen Position einnimmt. Das Gerät nach der vorliegenden Erfindung besitzt die Fähigkeit, die Orientierung des Funktionselementes proportional zur Änderung der Position des Elementes
längs der bestimmten Bahn zu ändern.
Es sei hervorgehoben, daß die Unterschiede zwischen Position und Orientierung, wie sie zuvor ausgeführt wurden, nicht absolut
sind. Wie der Fachmann erkennt, so müssen, wenn es erforderlich wird, die Orientierung zu ändern, die Betätigungsvorrichtungen
bei 14, 20 und 24 viele Male die Position des Funktionselementes abändern, um die neue Orientierung zu erreichen.
Umgekehrt, wenn lediglich eine Positionsänderung erforderlich
ist, so müssen die Betätigungsvorrichtungen 28, 30 und 32 aktiviert werden, um die gleiche Orientierung aufrecht zu erhalten,
wenn die Position des Funktionselementes geändert wird. Bei dem System nach der vorliegenden Erfindung sind bei der
309883/1276
Hand 27 nur die Betätigungsvorrichtungen 28 und 30 hinsichtlich der Bewegungsachsen bzw. um die Bewegungsachsen steuerbar.
Die Betätigungsvorrichtung 32 sieht eine Bewegung für das Funktionselement vor, in dem sie entsprechend bestimmter
Inkremente dreht bzw. schalten kann. Der primäre Zweck ist dabei, einen Gegenstand in dem Punktionselement umdrehen zu können.
Schließlich besitzt das Funktionselement 34 auch eine
kleine Betätigungsvorrichtung (nicht gezeigt) für die Erzeugung einer Funktion,ζ. B. eines GreifVorganges. Soweit die geschilderte
Ausführungsform bzw. die Betätigungsvorrichtung und die Betätigungsvorrichtung für das Funktionselement 34
keine gesteuerten Bewegungsachsen kennzeichnen, soll deren Aufbau nicht weiter ins Detail gehend erläutert werden.
Eine Steuerpulteinheit 36 ist als Kommunikationsglied für den Automaten vorgesehen. Das Steuerpult kann allgemeine Steuerfunktionen
umfassen und ebenso Eingabevorrichtungen für die Erzeugung einer Eingangsgröße, um dadurch einen bestimmten Betriebszyklus
zu ermöglichen. Es können weitere Steuereinheiten vorgesehen sein, um dem Automaten einen Betriebszyklus durch
das Durchführungsverfahren oder eine andere Programmiertechnik zu lehren. Ein Komputer 38 verwendet ein Programm von
einem Programmspeicher 40 und ebenso Eingangssignale, die durch eine Einrichtung der Steuerpulteinheit 36 erzeugt wurden,
um eine bestimmte Bahn daraus abzuleiten und um dabei elektrische Signale für eine Servomechanismus-Treiberschaltung
42 zu erzeugen. Die Treiberschaltung 42 befehligt oder steuert die Betätigungsvorrichtungen an dem Automaten, um das Funktionselement mit einer bestimmten Geschwindigkeit entlang der bestimmten
Bahn zwischen den Endpunkten zu bewegen, die durch die Eingangssignale bestimmt sind.
Da die Servomechanismus-Treiberschaltung irgendeine Standardausführungsform
haben kann, die typisch bei numerisch gesteuer-
309883/ 1276
ten Werkzeugmaschinen verwendet wird, soll diese Schaltung nur allgemein erläutert werden, jedoch nicht bis ins Detail.
Irgendein typischer Servomechanismus kann verwendet werden, bei dem Gegenstand nach der Erfindung wird jedoch ein Phasenmodulationssystem
bevorzugt. Bei dem System nach der vorliegenden Erfindung' wird ein Ausgangssignal für jede Koordinatenachse
von dem Komputer zu einem Register oder einer anderen Speichervorrichtung übertragen. Ein Befehlssignal wird für
jede Koordinatenachse erzeugt, welches eine Phasenverschiebung aufweist, die proportional zur Größe des entsprechenden Ausgangssignals
ist. Die Phasenverschiebung für jede Koordinatenachse führt zu der Erzeugung eines Treibersignals für eine
entsprechende Betätigungsvorrichtung. Die Betätigungsvorrichtung veranlaßt den Automaten sich zu bewegen, wobei jedoch eine
proportionale Phasenverschiebung in einem Rückkopplungssignal erzeugt wird, welches durch eine an die Betätigungsvorrichtung
gekoppelte Rückkopplungsvorrichtung erzeugt wird. Wenn das Rückkopplungssignal sich in Phase mit dem Befehlssignal befindet,
so wird das Treibersignal auf Null vermindert und die Betätigungsvorrichtung hält an. Demzufolge hat sich der Automat
um eine inkrementelle Strecke oder Entfernung im Raum entsprechend
der Größe der Ausgangssignale bewegt. Demnach folgt der Automat der bestimmten Bahn im Raum zwischen den zwei bestimmten
Punkten mit einer vorherbestimmten Geschwindigkeit.
Fig. 2 ist eine graphische Darstellung, die ein verallgemeinertes Koordinatensystem für den Automaten innerhalb eines Rechtwinkelkoordinatensystems
wiedergibt. Der Ursprung 11 des Rechtwinkelkoordinatensystems
ist am Schnittpunkt der Drehachse der Basis mit der Drehachse im Schultergelenk gelegen. Das Liniensegment
13 entspricht dem oberen Arm 22, der Schnittpunkt 15 entspricht dem Ellbogengelenk 25 und das Liniensegment 17 entspricht
dem unteren Arm 26. Die Betätigungsvorrichtungen 28 und 30 sind durch die Schnittpunkte bei 19 und 21 jeweils wiedergegeben.
Das Liniensegment 23 stellt den Abstand zwischen
309883/1276
den Betätigungsvorrichtungen 28 und 30 dar und das Liniensegment 25 stellt den Abstand zwischen dem Punkt 76 in Fig. 1 und
der Betätigungsvorrichtung 30 dar. Der eigentliche Zweck des
Gegenstandes der vorliegenden Erfindung besteht darin, kontinuierlich die Position, Orientierung und Geschwindigkeit des
Funktionselementes 34 zu steuern. Wie bereits an früherer Stelle
erläutert wurde, wird erfindungsgemäß eine gerade Linie für die bestimmte Bahn gewählt; auch wurde dabei festgelegt, daß
die gerade Linie aus den Koordinatenwerten der Endpunkte erzeugt werden muß. Die Position des Punktes 76 kann unmittelbar
durch x, y und z-Koordinatenwerte definiert werden. Weiter kann die Orientierung des Funktionselementes, welches in Bezug auf
das Liniensegment 25 definiert ist, durch die Winkelkoordinaten m und η bestimmt werden. Der Winkel m ist zwischen dem Segment
25 und einem Segment 33 vorhanden, welches parallel zur z-Achse verläuft. Der Winkel η ist zwischen dem Segment 29, welches
eine Projektion des Segmentes 25 auf die XY Ebene ist, und einem Segment 31 vorhanden, welches eine Linie parallel zur
X-Achse ist. Demzufolge definiert der Rechtwinkelkoordinatenwert (x, y, z) die Position des Punktes 76 im Raum, und die
Werte der Winkelkoordinaten m und η definieren die Orientierung des Segments 25 im Raum.
Das ProUem besteht nun darin, auf welche Weise man die Bewegung
des Automaten mit den Rechtwinkelkoordinatensystem-Daten, welche die Position und Orientierung definieren, befehligt bzw.
steuert. Man kann unmittelbar erkennen, daß die Rotationsbewegungsachsen, die inhärent in dem Automaten vorhanden sind,
nicht direkt durch ein Rechtwinkelkoordinatensystem definiert werden können; man muß daher auf ein verallgemeinertes Koordinatensystem
zurückgreifen, dessen Parameter und Grenzwertbedingungen
eine Funktion der geometrischen Form sind. In dem vorliegenden Fall sind die Parameter des verallgemeinerten Koordinatensystems
die Winkel, die durch die Drehachsen a, b, c, d und e definiert sind, und die linearen Segmente, die sich
309883/1276
zwischen den Drehachsen oder Rotationsachsen befinden. Die Lösung des zuvor erläuterten Problems stellt eines der Schlüsselelemente
der vorliegenden Erfindung dar. Die Fähigkeit eines Gerätes eine Maschine, die durch ein Koordinatensystem bestimmt
ist, längs einer bestimmten Bahn zu steuern, die durch Eingangsdaten in einem anderen Koordinatensystem gekennzeichnet ist,
wird gemäß dem Stand der Technik als unerreicht betrachtet.
Fig. 3 zeigt ein detailliertes Blockschaltbild einer Steuereinrichtung
für den Automaten, wobei der Automat in Blockform veranschaulicht ist. Die Steuerpulteinheit von Fig. 1 besteht
aus einer System-Steuer-Eingabe-Ausgabevorrichtung 44 und aus
einer Lehr-Eingabe-Ausgabevorrichtung 46. Die Systemsteuer-Eingabe-Ausgabevorrichtung
44 versieht den Operator mit den erforderlichen Steuergrößen und Darstellgrößen, um den Automaten
allgemein zu betreiben. Die Lehr-Eingangs-Ausgangsvorrichtung 46 versieht den Operator mit den erforderlichen Steuergrößen
und Darstellgrößen, um den Automaten einen Betriebszyklus zu lehren. Der Automat kann durch eine Durchschalttechnik
(Lead Through) oder irgendeine andere Programmiertechnik, die gut bekannt ist, unterrichtet werden. Die Durchschalttechnik
stellt ein Verfahren dar, welches gemäß dem Stand der Technik verwendet wird, das auch hier Verwendung finden kann. Es
sei jedoch hervorgehoben, daß die Lehrmethode, wie sie der Erfindung zugrundeliegt, es nur erforderlich macht, daß der Operator
eine Geschwindigkeit und die Position und Orientierung an den Endpunkten Jeder Bahn in einem Betriebszyklus bestimmt.
Nach der Bestimmung der Geschwindigkeit und der Rechtwinkelkoordinatensystemwerte und Winkelkoordinatensystemwerte an den
Endpunkten, werden diese als Eingangssignale in einem Datenspeicher 7 und 40 gespeichert. Wie der Fachmann erkennt, kann
der Operator oder Betreibende beim Unterrichten des Automaten mit irgendeinem herkömmlichen Koordinatensystem versehen sein.
Bei dem gewählten Ausführungsbeispiel ist es jedoch erforderlich, daß die Rechtwinkelkoordinatensystemwerte und die Winkelkoordi-
3 09883/1276
natensystemwerte in dem Datenspeicher 47 zur Verfügung stehen. Eine Maschinen-Eingabe-Ausgabevorrichtung 48 arbeitet in Verbindung
mit dem CPU 52 bei der Steuerung des Automaten. Die Maschinen-Eingabe-Ausgabevorrichtung 48 ist primär hinsichtlich
der maschinenorientierten Funktionen ausgelegt, z. B. Grenzschalter, Solenoide, Druckschalter und weitere Vorrichtungen,
die an dem Automaten selbst gelegen sind. Schließlich wird auch eine Prozeß-Eingabe-Ausgabevorrichtung 49 verwendet,
um den Automaten in dem Prozeß zu integrieren, von welchem er einen Teil darstellt. Wenn der Automat beispielsweise mit bestehenden
Maschinen arbeiten soll, müssen Kommunikationsglieder zwischen dem Automaten und den Maschinen vorhanden sein.
Die Prozeß-Eingabe-Ausgabevorrichtung 49 sieht diese Kommunikationsglieder vor. Eine Eingabe-Ausgabekopplungselektronik (Interface)
50 spricht auf die Eingabe-Ausgabevorrichtungen an und stellt ein Kommunikationsglied zwischen den Eingabe-Ausgabevorrichtungen
und einer zentralen verarbeitenden Einheit (CPU) 52 vor. Typische Eingabe-Ausgabevorrichtungen und deren
entsprechenden Kopplungselektronik sind gut bekannt und brauchen hier nicht weiter erläutert zu werden.
Nach dem"Empfang der Eingangsinformationen, arbeitet der CPU
52 mit den in dem Programmspeicher 54 gespeicherten Programmen,
um den Betrieb des Betätigungsmechanismus 56 an dem Automaten 58 zu steuern. Der Programmspeicher 54 stellt eine Speichervorrichtung
dar, um alle für den Betrieb des Automaten erforderlichen Programme zu speichern. Wie in Fig. 3 angezeigt ist,
ist nur ein Teil des Programmspeichers 54 gezeigt; und es sind nur solche Programme dargestellt, die mit dem Gerät nach der
Erfindung zusammenhängen. Die tatsächliche Ausführung der Programme ist eine Funktion des Programmspeichers selbst. Der Programmspeicher
54 und auch der Datenspeicher 47 können die Form von Lochkarten, magnetische Kernspeicher oder magnetische Speicherbänder,
Scheiben oder Speichertrommeln oder irgendeines anderen Speichermediums haben, welches aus dem Stand der Tech-
3 09883/1276
nik zur Verfügung steht. Die programmierten Speicher sind einheitliche
physikalische Elemente, und umfassen Instruktionssätze, die durch die Flußdiagramme gemäß Fig. 4 bis 7 definiert
sind. Der CPU 52 arbeitet in Verbindung mit einem ersten Programm 60 und den Eingangssignalen, um da Mittel zum Erzeugen
einer ersten Vielzahl von Signalsätzen vorzusehen, die Koordinatenwerte einer Anzahl' von Punkten wiedergeben, deren geometrischer Ort eine bestimmte Bahn zwischen den Endpunkten, die vorausgehend
durch den Betreibenden festgelegt wurden, definiert. Der CPU 52 arbeitet mit einem zweiten Programm 62 und der
ersten Vielzahl der Signalsätze, um eine zweite Vielzahl von Signalsätzen vorzusehen, die verallgemeinerte Koordinatensystemwerte, der zuvor erläuterten Koordinatenwerte,wiedergeben.
Schließlich spricht eine Servomechanismustreiberschaltung und eine Kopplungsschaltung 64 auf/iie zweite Vielzahl der Signalsätze
und die Rückkopplungssignale an, die von den Rückkopplungsvorrichtungen 65 erzeugt wurden, die an dem Automaten gelegen
sind, um den Automaten längs der bestimmten Bahn zu bewegen.
Jeweils das erste und das zweite Programm 60 bzw. 62 kann in eine Anzahl von allgemeinen Unterprogrammen oder Datenprogrammen
aufgeteilt werden. Das erste Haupt-Unterprogramm des ersten Programms 60 ist ein Richtungszahl-Programm 66. Der CPU 52
spricht in Kombinatiori mit dem Richtungszahl-Programm 66 auf die Eingangssignale an, die die programmierten Endpunkte definieren,
um Richtungszahlsignale zu erzeugen, deren Vorzeichen die Richtung der gewünschten Bewegung des Automaten wiedergibt
und deren Grüße proportional zu einer Koordinatenkomponente der gesamten Bahn zwischen den programmierten Endpunkten ist.
Als nächstes arbeitet der CPU 52 mit einem inkrementellen Verschiebungsprogramm
68 und spricht auf die Signale an, welche die Endpunkte und die vorherbestimmte Geschwindigkeit definieren,
um eine Vielzahl von Signalen zu erzeugen, die die inkrementellen Verschiebungen entlang der bestimmten Bahn wiederge-
309883/1276
ben. Dies wird in zwei Teilen erreicht. Erstens wird eine Anzahl
von Abstandsparametern berechnet, beispielsweise für ein festen Zeitinkrement, die Anzahl der Iterationen, die für die
Definition der Bahn zwischen dem programmierten Endpunkten erforderlich sind. Als nächstes wird die Verschiebung entlang
der Bahn während jeder Iteration berechnet. Es werden dann die Signale, welche Änderungen im Abstand entlang der Bahn definieren,
mit einem Koordinatenprogramm 70, den Richtungszahl-Signalen und dem CPU 52 verwendet, um eine erste Anzahl von Signalsätzen
zu erzeugen, die Koordinatenwerte von zwischliegenden Punkten wiedergeben, welche die inkrementelle Verschiebung
während jeder Iteration definieren. Ein erstes Datenprogramm 72 (Routine) in dem zweiten Programm 62 wird von dem CPU
52 verwendet und zwar als Antwort auf die erste Vielzahl der Signalsätze oder Signalfolgen, um eine zweite Vielzahl von
Signalfolgen zu erzeugen, die die entsprechenden verallgemeinerten Koordinatenwerte der Koordinatenwerte wiedergeben. Als
nächstes spricht der Datenprogrammspeicher 74 (Routine) auf die zweite Vielzahl der Signalfolgen an und arbeitet mit dem
CPU 52 zusammen, um die Änderung der verallgemeinerten Koordinatenwerte während jeder Iteration zu berechnen. Diese Änderung
in den verallgemeinerten Koordinatenwerten wird dann in einem Pufferspeicher gespeichert. Eine Servounterbrechungs-Programmspeichereinrichtung
75 spricht auf ein Unterbrechungssignal aus dem Servomechanismus-Antrieb und der elektronischen
Kopp lungs schaltung 64 an und arbeitet mit dem CPU 52 zusammen, um Signale zu erzeugen, die die Änderung in den verallgemeinerten
Koordinatenwerten für den Servomechanismusantrieb und die elektronische Kopplungsschaltung 64 zu erzeugen. Die Schaltung
64 spricht auf die Signale aus dem CPU 52 an und erzeugt Ausgangssignale für die Betätigungsvorrichtungen, wodurch der
Automat veranlaßt wird, sich entlang der vorherbestimmten Bahn zwischen den zwei programmierten Endpunkten bewegen. Es sei
hervorgehoben, daß die verallgemeinerte Form der Elemente in Fig. 3» die aus der Eingabe-Ausgabekopplungselektronik und den
309883/1276
jeweiligen Treiberschaltungen 50 und 64, den Speichern 47 und
54 und dem CPU 52 bastenen, die typischen Elemente in einem allgemeinen Prozeßsteuerkomputer darstellen.
Fig. 4 veranschaulicht nun die Schritte, die zur Durchführung des Prozesses erforderlich sind. Der Prozeßblock 80 erfordert,
daß die Koordinatenwerte an den bestimmten Endpunkten und dass die vorherbestimmte Geschwindigkeit aus dem Speicher rückgerufen
wird. Als nächstes werden, wie Block 92 zeigt, Richtungszahlen berechnet. Jede Richtungszahl besitzt einen Richtungssinn, welcher die Bewegungsrichtung kennzeichnet und eine Größe,
die proportional zu einer Koordinatenkomponente der Bahn zwischen den programmierten Endpunkten ist. Das Vorzeichen der
Richtungszahl zeigt die Richtung der Änderung entlang dieser Achse an. Wenn in der Beschreibung speziell auf die Rechtwinkelkoordinatenachsen, die die Position definierten, hingewiesen
wird, so soll die Bezeichnung Positionsrichtungzahl dazu dienen, diese Dimensionsgrößen zu definieren. Wenn weiter in der Beschreibung
speziell auf die Orientierungswinkel m und η eingegangen wird, so soll die Bezeichnung verallgemeinerte Richtungszahl dazu dienen, diese Größen von den dimensionslosen Größen
zu unterscheiden. Allgemein betrifft jedoch die Bezeichnung Richtungszahl sowohl die Rechtwinkelkoordinatenachsen, die die
Position definieren, als auch die Winkelbewegungsachsen, welche die Orientierung definieren.
Im Block 94 werden die Abstandsparameter berechnet, die für die
Berechnung der Bahn zwischen den programmierten Endpunkten erforderlich sind. Der Prozeßblock 96 macht die Berechnung der
Änderung im Abstand entlang der Bahn während jeder Iteration erforderlich. Als nächsten werden die Koordinatenwerte, welche
die Position und die Orientierung an einem Zwischenpunkt definieren,
für jede Änderung im Abstand berechnet und zwar im Prozeßblock 98. Dies wird durch Verwendung der Richtungszahlen ;
erreicht. Demnach macht die Berechnung der Koordinatenwerte
309883/12 76
eines Zwischenpunktes längs der Bahn während jeder Iteration
die in den Prozeßblöcken 92, 94, 96 und 98 definierten Operationen
erforderlich. Als nächstes fordert der Block 100 die Berechnung der verallgemeinerten Koordinatenwerte, die den
Koordinatenwerten entsprechen, welche in dem Operationsblock 98 berechnet wurden. Schließlich berechnet der Operationsblock
102 die Änderung in den verallgemeinerten Koordinatenwerten vom vorhandenen Punkt zum nächsten Punkt und speichert diese
Änderungen in einem Pufferspeicher und wartet dann auf eine Unterbrechung von der Servomechanismustreiberstufe und der
Kopplungsschaltung 64.
Wie der Fachmann nunmehr erkennen kann, verläuft der zuvor geschilderte
Prozeß asynchron mit dem Servomechanismusantrieb und der Kopplungsschaltung 64. Die Schaltung 64 arbeitet als
Probeentnahmesystem mit fester zeitlicher Grundlage. Mit anderen Worten fragt der Servomechanismus in festgelegten bestimmten
Zeitintervallen beim Komputer um neue Informationen an. Indem man den Servomechanismus in einer festen Probeentnahme-Folge
betreibt, ergeben sich für den Komputer verschiedene Vorteile. Indem man beispielweise die Länge der programmierten
Bahn, die vorherbestimmte Geschwindigkeit und die feste Länge einer Probeentnahmezeit kennt, ist der Komputer dazu imstande
im Prozeßblock 94 die Zahl der Iterationen zu berechnen, die erforderlich sind, um die programmierte Bahn zu durchfahren.
Demzufolge kann der Komputer mit diesen Informationen die Abstandsänderung entlang der programmierten Bahn während Jeder
Iteration berechnen. Darüberhinaus ermöglicht die Verwendung einer festen Probeentnahme-Folge, wie der Fachmann nunmehr erkennen
kann, dem Komputer sehr viel ander Funktionen, zusätzlich zu dem Erzeugen der vorherbestimmten Bahn, auszuführen.
Da der Komputer wesentlich schneller arbeitet als die an ihn angeschlossenen Vorrichtungen, wird von diesem ein Informationsrückstand ausgegeben. Demzufolge wird ein System von Unterbrechungen
(Interrupts) verwendet, von denen Jedes eine bestimmte
309883/1276
Priorität besitzt.
Der Zweck des Servo-Unterbrechungsprogramms, welches durch den
Block 82 definiert ist, besteht darin, die Daten aus dem Pufferspeicher als Folge einer Unterbrechung von der Servomechanismus
treiberstufe und der Kopplungsschaltung 64 zu übertragen.
Die Unterbrechung kann zu irgendeinem Zeitpunkt während der Verarbeitung auftreten.
Wenn eine Unterbrechung auftritt, so wird die Steuerung des
Prozesses von der Hauptprogrammstufe zur Servo-Unterbrechungsprogramms tufe 82 übertragen. In der Servo-Unterbrechüngsprogrammstufe
82 erfordert der Prozeßblock 84, daß die Änderung in den verallgemeinerten Koordinatenwerten aus dem Pufferspeicher
zur Servomechanismus-Treiberstufe und zur Kopplungsschaltung 64 übertragen wird. Als nächstes wird in dem Entscheidungsblock
88 eine Prüfung vorgenommen, um festzustellen, ob die Bahn zwischen den zwei programmierten Endpunkten vollständig
ist. Wenn die Bahn nicht vollständig ist, so übergibt der Servo-Unterbrechungsprogrammabschnitt die Steuerung des
Prozesses zurück an den Hauptprogrammabschnitt an der S.telle, bei welcher die Unterbrechung aufgetreten ist; und es wird
dann der Prozeß fortgeführt. Wenn der Abstand vollständig ist, so erfordert der Prozeßblock 90, daß eine vorherbestimmte Funktion
ausgeführt wird, woraufhin der Prozeß zum Block 80 zurückkehrt, um mit der nächsten programmierten Bahn zu beginnen.
Die Fig. 5a, 5b, 5c und 5d stellen detaillierte Flußdiagramme des in Verbindung mit Fig. 4 erläuterten Prozesses dar. Eine
Umsetzung des Flußdiagramms in Fig. 5 in ein codiertes Komputerprogramm kann unmittelbar von einer Person, die mit der
Programmiersprache in Verbindung mit einem allgemeinen Prozeßsteuerkomputer vertraut ist, durchgeführt werden. Nach einer
Prüfung von Fig. 5 und einem Vergleich derselben mit dem allgemeinen
Flußdiagramm in Fig. 4* kann man feststellen, daß die
3V9 88 3/1276
Majorität der Operationen in den Fig. 5a bis 5c unter den allgemeinen
Prozeßschritt der Berechnung der Abstandsparameter, die in dem Operationsblock 9k der Fig. 4 gezeigt sind, eingestuft
werden kann. Der Grund hierfür liegt in dem Problem zu bestimmen und eine Änderung in der Geschwindigkeit erforderlich
ist oder nicht; und weiterhin in der Bestimmung der Größe der Änderung in der Geschwindigkeit.
Allgemein kann die Bahn zwischen zwei programmierten Punkten in drei getrennte Strecken aufgeteilt werden. Eine erste Spanne
kann eine Beschleunigung oder Verzögerung erforderlich machen, was von der Geschwindigkeit nach dem Eintreten in diese Spanne
und von der programmierten Geschwindigkeit abhängig ist. Eine zweite Spanne oder Strecke kann aus einer konstanten Geschwindigkeitsphase
bestehen, und eine dritte Strecke kann auftreten, wenn eine Verzögerung bis zu einem Anhalten erforderlich ist.
Durch Überprüfung der Geschwindigkeiten an den Endpunkten der programmierten Bahn ist der Komputer dazu in der Lage zu bestimmen,
ob zwei oder drei geschwindigkeitsabhängige Strecken erforderlich sind oder nicht. Wenn einmal diese Bestimmung gemacht
wurde, entsteht ein weiteres Problem. Wenn man die erforderlichen Geschwindigkeiten als auch die zulässigen Änderungen
in der Geschwindigkeit kennt, muß die Länge jeder geschwindigkeitsabhängigen Strecke berechnet werden. Es kann jedoch
eine Situation eintreten, gemäß welcher die Summe der idealen geschwindigkeitsabhängigen Strecken die Länge der Bahn zwischen
den programmierten Endpunkten überschreitet. Diese besonderen Fälle müssen herausgegriffen werden und müssen auf einer individuellen
Grundlage gehandhabt werden. Es läßt sich demzufolge erkennen, wie die Berechnung der Entfernungsparameter zu einem
Hauptproblem wird. Das Problem liegt nicht so sehr in der Lösung, jedoch in der erforderlichen Prozeßzeit, um die erforderlichen
Lösungen zu erreichen. Die hier vorgeschlagene Lösung der Berechnung der Ab Standsparameter ist etwas willkürlich. Diese
Lösung ist nicht einmalig, sie muß jedoch erläutert werden,
309883/ 1276
233005A
um eine vollständige Lehre zum technischen Handeln zu vermitteln.
In Fig. 5a besteht der erste Schritt in dem Prozeß darin, die Koordinatenwerte zurückzurufen unlverfügbar zu machen, welche
die Position und die Orientierung an dem gegenwärtigen Punkt definieren, ebenso die Koordinatenwerte für den nächsten programmierten
Punkt und für, die programmierte Geschwindigkeit. Als nächstes erfordert der Prozeßblock 104 die Berechnung der
Länge der gesamten Bahn. Nach der Berechnung der Richtungszahlen in dem Prozeßblock 106, wird die Länge der anfänglichen
Änderung der geschwindigkeitsabhängigen Spanne S1 berechnet.
Der Prozeßblock 109 muß bestimmen, ob die Geschwindigkeit bei
P. Null ist oder nicht. Mit anderen Worten muß festgestellt
werden, ob ein Anhalten zwischen der Verrichtung oder Ausführung der aufeinanderfolgend programmierten Bahnen stattgefunden
hat oder ob die aufeinanderfolgend programmierten Bahnen in einer durchgehenden gleichförmigen Weise errichtet oder ausgeführt
wurden. Wenn die Endgeschwindigkeit Null ist, wird gemäß dem Prozeß geprüft, ob die Anfangsgeschwindigkeit Null ist,
was mit Hilfe des Entscheidungsblocks 110 erfolgt. Wenn die
Anfangsgeschwindigkeit und die Endgeschwindigkeit beide Null sind, so macht der Operationsblock 112 die" Länge der endgültigen
Änderung in der geschwindigkeitsabhängigen Strecke s,
gleich der Länge der anfänglichen Änderung in der geschwindigkeitsabhängigen
Strecke S1, die in dem Prozeßblock 108 berechnet wurde. Wenn die Endgeschwindigkeit Null ist, jedoch die Anfangsgeschwindigkeit
nicht Null ist, so berechnet der Prozeßblock 114 die Länge der endgültigen Änderung in der geschwindigkeitsabhängigen
Strecke (Velocity Span). Zu diesem Zeitpunkt führt der Entscheidungsblock 116 eine Prüfung durch, üb festzustellen,
ob die Summe der Änderung in den geschwindigkeitsabhängigen Strecken, die soweit berechnet wurden, kleiner ist
als die Länge der programmierten Bahn, so wird der Prozeß über den Of fpage-Stecker A Jfortgeaetit. Ea sei an dieser Stelle her«
vorgehoben, daß die Länge der konstanten geschwindigkeitsabhängigen
Strecke gleich ist, der Differenz zwischen der Länge der gesamten Bahn und der Länge der Summe der anfänglichen und endlichen
Änderung in den geschwindigkeitsabhängigen Strecken (Velocity Spans). Der Offpage-Stecker A ist in Fig. 5b fortgesetzt.
Kennt man nun die Längen von jeder der Strecken, die die programmierte Bahn ausmachen und die feste Zeitbasis des
Probeentnahmesystems, wird es nun möglich, die Zahl der Iterationen
zu berechnen, die erforderlich sind, um jede der Strekken zu durchfahren. Diese Berechnungen werden in den Prozeßblöcken
118, 120 und 122 durchgeführt. Als nächstes berechnen
die Blöcke 124, 126 und 128 die Konstanten, welche anschließend in dem Prozeß verwendet werden.
Um wieder auf den Entscheidungsblock 109 in Fig. 5a zurückzukommen,
so bedeutet die Feststellung, daß die Endgeschwindigkeit nicht Null ist, daß sich die Bahn gleichmäßig zwischen aufeinanderfolgenden
Programmstrecken bewegt. Betrachtet man die dynamischen Eigenschaften des Automaten selbst, so kann dies
möglich sein oder physikalisch nicht möglich sein, was von der Änderung in der Richtung oder dem zwischen aufeinanderfolgenden
Bahnen eingeschlossenen Winkel abhängig ist. Bei dem Ausführungsbeispiel wurde willkürlich ein eingeschlossener Winkel
von 120° gewählt, der in dem Entscheidungsblock 130 zu steuern ist. Wenn der eingeschlossene Winkel zwischen aufeinanderfolgenden
Bahnen größer als 120° ist, so werden die aufeinanderfolgenden Bahnen auf einer gleichförmigen kontinuierlichen
Grundlage durchfahren. Wenn jedoch der eingeschlossene Winkel kleiner als 120° ist, so schiebt der Prozeß automatisch
einen Anhaltpunkt ein; und dann werden die aufeinanderfolgenden Bahnen in diskontinuierlicher Weise durchfahren. Es wird der
Kosinussatz dazu verwendet, zu bestimmen, ob der eingeschlossene Winkel größer oder kleiner als 120° ist. Als nächstes bestimmt
der Entscheidungsblock 132, ob die Länge der anfänglichen Änderung in der geschwindigkeitsabhängigen Strecke kleiner
309883/1276
ist als die Länge der programmierten Bahn. Wenn S1 nicht kleiner
ist als die programmierte Bahn, so stellt der Entscheidungsblock 134 willkürlich die Länge der anfänglichen Änderung
in der geschwindigkeitsabhängigen Strecke gleich auf ein halb der Länge der programmierten Bahn. Es wird dann weiterhin dem
Prozeßblock 136 eine neue Geschwindigkeit errechnet. Es sei an dieser Stelle hervorgehoben, daß, wenn aufeinanderfolgende Programmbahnen
gleichmäßig durchfahren werden sollen, so ist definitionsmäßig keine endgültige Änderung in der geschwindigkeit
sabhängigen Strecke s, vorhanden. Weiter ist gemäß der Definition
die Anzahl der Iterationen, die zum Durchfahren der endgültigen Änderung in der geschwindigkeitsabhangigen Strecke
erforderlich ist, gleich Null. Wenn die Länge der anfänglichen Änderung in der geschwindigkeitsabhängigen Strecke kleiner ist
als die programmierte Bahn, so wird die Anzahl der Iterationen in dem Operationsblock 138 berechnet, die für das Durchfahren
(execute) der anfänglichen Änderung in der geschwindigkeitsabhangigen
Strecke erforderlich sind. Der Offpage-Stecker B ist in Fig. 5c fortgesetzt. In den Prozeßblöcken 140, 142,und
144 werden Konstante berechnet, die an späterer Stelle in dem Prozeß verwendet werden; diese sollen daher an dieser Stelle
noch nicht erläutert werden.
Gemäß Fig. 5a geht nunmehr die Bedeutung der Berechnung der Abstandsparameter hervor. Ein spezieller Fall wurde Jedoch
noch nicht in den Einzelheiten erläutert. Dieser Fall entsteht in Verbindung mit dem Entscheidungsblock 116, wenn die Summe
der Längen der anfänglichen - und endgültigen Änderung der geschwindigkeitsabhangigen
Strecken nicht kleiner ist als die Länge der gesamten Bahn. In diesem Fall führt der Offpage-Stekker
C zur Fig. 5b. Die Blöcke 146 bis 166 definieren einen
weiteren speziellen Fall, dessen Lösung ähnlich wie bei den anderen an früherer Stelle im einzelnen beschriebenen speziellen
Fällen aussieht. Der Prozeß soll daher an dieser Stelle nicht im einzelnen beschrieben werden und die Hinweise in den
309883/1276
Blöcken 146 bis 166 sind somit ausreichend. Nach der Verrichtung oder Durchführung setzt sich dieser Abschnitt des Prozesses
über den Onpage-Stecker E zum Block 124 fort. Der Prozeß verläuft dann über den Offpage-Stecker F zu Fier. 5c. Auch hier
definieren die Prozeßb]iJbke 168 bis 174 Konstante, die in dem
Prozeß an späterer Stelle verwendet werden.
Vom Offpage-Stecker D wird der Prozeß nach Fig. 5d fortgesetzt. Der Entscheidungsblock 176 entscheidet, ob die anfängliche Änderung
in der geschwindigkeitsabhängigen Strecke vollständig ist oder nicht. Wenn sie es nicht ist, so wird der Prozeß zum
Block 178 fortgesetzt, welcher die erste Iteration initiiert. Die Abstandsänderung entlang der programmierten Bahn für jede
Iteration in der ersten Änderung der geschwindigkeitsabhängigen Strecke, wird durch die Formel bestimmt, welche dem Operationsblock 182 zugeordnet ist. Allgemein zeigt die Formel an, daß
eine Änderung in der Entfernung entlang der Bahn für eine vorhandene Iteration gleich ist der Änderung in dem Abstand entlang
der Bahn während der vorangegangenen Iteration plus einer Konstanten (die früher berechnet wurde). Es entsteht dabei ein
Problem, bei der Berechnung der Entfernungsänderung entlang der ersten Strecke bzw. der ersten Änderung in der geschwindigkeitsabhängigen
Strecke während der ersten Iteration. Dies ist eine spezielle Situation, die entsprechend der Formel gehandhabt
wird, welche dem Prozeßblock 180 zugeordnet ist. Wie die Formel anzeigt, ist die Länge der Abstandsänderung entlang der Bahn
während der ersten Iteration gleich einer der Konstanten, die an früherer Stelle berechnet wurde. Nach der Durchführung der
ersten Iteration werden alle darauffolgenden Iterationen durch den Prozeßblock 182 gehandhabt, bis die Zahl der Iterationen k
gleich ist der Zahl der Iterationen, die für die anfängliche Änderung in der geschwindigkeitsabhängigen Strecke m. berechnet
wurde. Gemäß dem Prozeßblock 184 werden die Rechtwinkelkoordinatensystemwerte und die w'inkelkoordinatensystemwerte für jede
Änderung im Atstand entlang der Bahn berechnet, oder mit anderen
309883/ 1276
Worten für jede Iteration berechnet. Weiterhin erfordert der Prozeßblock 186, daß diese Rechtwinkelkoordinatensystemwerte
und die Winkelkoordinatensystemwerte in entsprechende verallgemeinerte Koordinatenwerte transformiert werden. In dem Prozessblock
188 die Änderungen in den verallgemeinerten Koordinaten entlang der programmierten Bahn berechnet und gespeichert, um
für eine Unterbrechung von der Servomechanismustreiberstufe und der Kopplungsschaltung 64 bereit zu stehen. Die Servo-Unterbrechungsprogrammeinrichtung
wurde in Verbindung mit Fig. 4 erläutert, so daß eine weitere Erläuterung zu diesem Zeitpunkt
nicht erforderlich ist.
Wenn die Zahl der Iterationen gleih ist der Zahl der für die
anfängliche Änderung in der geschwindigkeitsabhängigen Stecke berechneten Iterationen, so schreitet der Prozeß zum Entscheidungsblock
190 weiter, welcher feststellt, ob die konstantgeschwindigkeits-abhängige Strecke vollständig ist. Wenn die
konstantgeschwindigkeits-abhängige Strecke nicht vollständig ist, so durchläuft der Prozeß die Blöcke 192 bis 200 in einer
iterativen Weise, bis die Zahl der Iterationen gleich ist der Summe der Iterationen, die für die Durchführung der Anfangsänderung
in der geschwindigkeitsabhängigen S-trecke m. und der
konstantgeschwindigkeits-abhängigen Strecke nip, erforderlich
sind. Wenn dies auftritt, schreitet der Prozeß weiter zum Entscheidungblock 202, wo der'Prozeß dann bestimmt, um die endgültige
Änderung der geschwindigkeitsabhängigen Strecke vollständig ist oder nicht. Bei einer Situation, bei welcher eine
gleichförmige Bewegung zwischen aufeinanderfolgend programmierten Bahnen stattfindet, ist keine endgültige Änderung in der
geschwindigkeitsabhängigen Strecke vorhanden; und daher ist kp
gleich k,. In diesem Fall, wenn die konstantsgeschwindigkeitsabhängige
Strecke vollständig ist, schreitet der Prozeß voran zum Offpage-Stecker G. Wenn jedoch die Bewegung zwischen aufeinanderfolgenden
Programmbahnen nicht kontinuierlich ist, so
muß die endgültige Änderung in der geschwindigkeitsabhSngigen
3 0 9 8 8 3/1176
Strecke in einer iterativen Weise ähnlich den anderen geschwindigkeitsabhängigen
Strecken berechnet werden. Demzufolge kann man nun ersehen, auf welche Weise der Prozeß von einem gegenwärtigen
Punkt zu einem darauffolgenden programmierten Punkt fortschreitet und zwar in einer iterativen Weise mit all den
geeigneten Geschwindigkeitsparametern und Geschwindigkeitsänderungsparametern.
Wenn die endgültige Änderung in der geschwindigkeitsabhängigen Strecke vollständig ist, so schreitet der
Prozeß über den Offpage-Stecker G zurück zu Fig. 5a und zum Prozeßblock 103.
Fig. 6 zeigt ein detailliertes Flußdiagramm eines Verfahrens zum Transformieren der Rechtwinkelkoordinatensystemwerte und
der Winkelkoordinatensystemwerte in die verallgemeinerten Koordinatensystemwerte.
Es gibt verschiedene Möglichkeiten, ein derartiges Problem zu lösen. Eine offensichtliche Möglichkeit
besteht darin, Gleichungen, welche die verallgemeinerten Koordinaten definieren, aufzuschreiben und zwar in Ausrücken von
Rechtwinkelkoordinaten und Winkelkoordinaten. Mit Hilfe eines geeigneten Gerätes lassen sich diese Gleichungen lösen; und es
läßt sich auch die Transformation durchführen. Unglücklicherweise bringen diese Ausdrücke jedoch inverse trigonometrische
Funktionen mit sich, die schwierig mit Hilfe des Systems nach der Erfindung zu lösen sind. Es würde daher ein anderer und
einmaliger Weg gewählt. Hierzu werden die inversen Transformationsgleichungen abgeleitet. Mit anderen Worten sind die Ausdrücke,
welche jede der Rechtwinkelkoordinaten und Winkelkoordinaten definieren, in Größen der verallgemeinerten Koordinaten
ausgedrückt. Diese Gleichungen werden dann mit Hilfe eines Verfahrens der successiven Annäherungen gelöst, wobei man das allgemeine
Newton-Raphson Verfahren zur Lösung von nicht linearen Gleichungen verwendet. Es sei hervorgehoben, daß die Verwendung
der indirekten Transformationsgleichungen willkürlich istuid
nicht als Einschränkung der vorliegenden Erfindung betrachtet werden soll. Ebenso ist die Wahl des Newton-Raphson Verfahrens
309883/1276
zur Lösung der Transformationsgleichungen willkürlich und irgendein
geeignetes Verfahren kann ebenso zur Lösung von nicht linearen Gleichungen verwendet werden.
In dem System nach der vorliegenden Erfindung sind das Rechtwinkelkoordinatensystem
und das verallgemeinerte Koordinaten-
system durch eine Reihe von Transformationsgleichungen (1), (2) und (3) miteinander in Beziehung gebracht und ebenso geben
eine Reihe von Einsehränkungsgleichungen (4), (5) und (6)
Orientierungseinschränkungen für das Funktionselement 34 wieder, wie dies im folgenden aufgeführt ist:
(ΐ) χ = cos(d) {l1sin(a)+l2sin(a+b)+l,sin(a+b+c)J
+Ii |cos(d)cos(e)sin(a+b+c)-sin(d)sin(e)j
(2) y = sin(d) ji1sin(a)+lpSin(a+b)+l,sin(a+b+c)]
+1. fsin(d)cos(e)sin(a+b+c)+cos(d)sin(e)J
(3) ζ = I^cos(a)+l2cos(a+b)+l,cos(a+b+c)+l^cos(e)cos(a+b+c)
und
(4) l^cos(n)sin(m) = I^ jcos(d)cos(e)sin(a+b+c)-sin(d)sin(e)J
(5) l^sin(n)sin(m) = I^ jsin(d)cos(e)sin(a+b+c)+cos(d)sin(e)]
(6) l.co-s(m) = 1. cos(e)cos(a+b+c)
Aus den zuvor aufgeführten Gleichungen läßt sich entnehmen, daß fünf Gleichungen vorhanden sind und fünf unbekannte. Das Verfahren,
diese Gleichungen zu lösen ist etwas willkürlich; aufgrund von Einschränkungen im Komputer, hat man sich jedoch für eine
spezielle Technik entschieden, wie dies im folgenden beschrieben werden soll.
309883/1276
Seit die Rechtwinkelkoordinaten und die Winkelkoordinaten ^xkykzkmkn) £e£elr>en, was der Fall ist, wenn die Rechtwinkelkoordinaten
des Punktes 19 gegenüber dem Ursprung bestimmt werden können, so lassen sich die ersten zwei Ausdrücke der Gleichungen
(1), (2) und (3)> welche die Koordinatentransformationen des Punktes 19 wiedergeben, gleichzeitig so lösen, um auch
die verallgemeinerten Koordinaten a,, b, und dk zu bestimmen.
Als nächstes lassen sich unter Verwendung der zuvor aufgeführten Lösung die Rechtwinkelkoordinaten des Punktes 21 hinsichtlich
des Punktes 19 und der dritte Ausdruck der Gleichungen (1), (2) und (3), die verallgemeinerte Koordinate c, bestimmen.
Schließlich läßt sich unter Verwendung der Lösungen für die verallgemeinerten Koordinaten a, , b, , ck und d, und der Gleichungen
(4), (5) und (6) die verallgemeinerte Koordinate ek bestimmen.
Daher läßt sich, wie dies in dem Block 204 angezeigt ist, durch Substitution der berechneten Winkelkoordinatenwerte m, und nk
für die Werte von m und n, die Koordinaten des Punktes 76 hinsichtlich des Punktes 21 bestimmen. Als nächstes werden, wie
dies in dem Block 206 gezeigt ist, die Koordinatenwerte des Punktes 21 bestimmt. Wie dies in dem Block 207 angezeigt ist,
werden dann die Koordinatenwerte des Punktes 19 bestimmt. Dies wird dadurch erreicht, indem man die Koordinatenwerte des Punktes
21 hinsichtlich des Punktes 19 von den Koordinatenwerten des Punktes 21 abzieht. Die Rechtwinkelkoordinatenwerte des
Punktes 21 hinsichtlich des Punktes 19 werden durch Multiplikation der Länge des Elementes 1-, zwischen diesen Punkten mit
Konstanten bestimmt, v/elche den Richtungskosinus des Elementes darstellen.
Das Problem besteht nun darin, auf welche Weise man eine Lösung für die verallgemeinerten Koordinaten-werte in den ersten zwei
Ausdrücken der errten drei Transformationsgleichungen findet.
Wie an früherer Stelle bereits angedeutet wurde, hat man sich
309883/1276
für das Newton-Raphson Verfahren der Lösung entschieden, obwohl
verschiedene Techniken zur Verfügung stehen. Wie durch den Block 208 angezeigt, hat man neue Funktionen KL, H2 und H, eingeführt,
welche den ersten zwei Ausdrücken der Gleichungen (1), (2) und (3) entsprechen und welche die Koordinatentransformationen
des Punktes 19 wiedergeben. Auch wurde eine Fehlerfunktion eingeführt, welche die Differenz zwischen den bekannten
Ausdrücken X1 q» y-.q und ζ,,ς und die unbekannten Ausdrücke H^,
Ho und H0, wiedergibt. Allgemein besteht der erste Schritt zur
Lösung darin, einen Wert für die verallgemeinerten Koordinatenwerte der unbekannten Ausdrücke anzunehmen und dann die Fehlerfunktion
zu lösen. Der Wert der Fehlerfunktion und die angenommenen
verallgemeinerten Koordinatenwerte werden mit der Newton-Raphson Lösung verwendet, um einen neuen Wert für die verallgemeinerten
Koordinaten zu finden. Als nächstes wird unter Verwendung der neuen verallgemeinerten Koordinatenwerte eine neue
Fehlerfunktion errechnet. Wenn eine Lösung der neuen Fehlerfunktion
gleich Null ist, oder weniger als eine bestimmte Toleranzgröße, so kann man annehmen,. daß die berechneten Werte der
verallgemeinerten Koordinaten richtig sind. Wenn sich der Wert der neuen Fehl er funk ti on nicht innerhalb der Toleranzgröße be^-
finfet, so wird die Newton-Raphson Lösung erneut dazu verwendet,
einen weiteren Satz von verallgemeinerten Koordinatenwerten zu bestimmen, die ihrerseits dann einen weiteren Wert für die Fehlerfunktion
definieren. Der Prozeß wird fortgesetzt, bis die Fehlerfunktion auf einen Wert kleiner als die vorherbestimmte
Toleranzgrenze getrieben ist.
Wie durch die Bezeichnung in dem Block 208 angezeigt ist, werden die verallgemeinerten Koordinatenwerte des vorausgegangenen
Punktes als erste angenommene Größe in der Lösung des Wertes der unbekannten Ausdrücke in den Funktionen H^, Hp und H,, verwendet.
Als nächstes wird nach dem Rückstellen eines Schaltregisters
(indexing register) auf Null, wie dies in dem Prozeßblock 210 gefordert wird, der Prozeßblock 212 eine neue Berech-
309113/1276
nung eines neuen Satzes verallgemeinerter Koordinatenwerte
durchführen und zwar unter Verwendung der in dem Prozeßblock 208 berechneten Fehlerfunktion.
Dieser Prozeß wird fortgesetzt, bis der Entscheidungsblock feststellt, daß die Fehlerfunktion innerhalb der Toleranzgröße
liegt. Wenn dies auftritt, so werden die zuletzt berechneten Werte des verallgemeinerten Koordinatensystems als Winkel ak,
b, und d, definiert, welche die Position des Punktes 19 definieren,
welcher den Rechtwinkelkoordinatenwerten entspricht, die in dem Prozeßblock 207 berechnet wurden. Die Größen der
Winkel ak, bfe und d, stellen einen ersten Satz verallgemeinerter
Koordinatenwerte dar, welche den Ort des Funktionselementes
im Raum beschreiben.
Der Prozeß schreitet dann zum Block 218 weiter, in welchem die verallgemeinerte Koordinate c, berechnet wird. Auch hier
wird das Newton-Raphson Verfahren der Lösung zur Anwendung gebracht. Es sei daher hervorgehoben, daß der Block 218 die
Schritte der Newton-Raphson Lösung umfaßt, wie dies an früherer Stelle unter Hinweis auf die Prozeßblöcke 208 bis 216 dargelegt
wurde. Eine Fehlerfunktion G ist definiert als die Differenz zwischen den Rechtwinkelkoordinatenwerten des Punktes
21 hinsichtlich des Punktes 19 und den entsprechenden Koordinatentransformationen,
die durch den dritten Ausdruck der Gleichungen (1), (2) und (3) wiedergegeben sind. Hinsichtlich
dieser Lösung muß ein weiterer Punkt beachtet werden. Obwohl nur eine Unbekannte bestimmt werden muß, sind drei Fehlergleichungen
erforderlich. Während des Iterationsprozesses der Newton-Raphson Lösung, können die Sinuswerte und Kosinuswerte
zu Null werden; es kann daher der Computer instruiert werden durch Null zu teilen. Dieses Problem wird dadurch beseitigt,
indem man die Fehlerfunktionen einem Test unterzieht, um eine Fehlerfunktlon auszuwählen, deren Ableitung sich nicht Null
nähert.
309883/1276
Wie in dem Block 219 gezeigt ist, wird die endgültige verallgemeinerte
Koordinate efe bestimmt. Auch hier wird das Newton-Raphson
Verfahren der Lösung angewendet; und daher enthält auch der Block 219 alle Schritte der Lösung, wie dies in Verbindung
mit den Prozeßblöcken 208 bis 216 ausgeführt wurde. Weiter stellt d.ie Fehlerfunktion J die Differenz zwischen den
Rechtwinkelkoordinatenwerten des Punktes 76 hinsichtlich des Punktes 21 und die entsprechenden Koordinatentransformationen
dar, welche durch den letzten Ausdruck der Gleichungen (1), (2) und (3) dargestellt sind. Wie bereits beschrieben wurde,
werden diese Fehlerfunktionen getestet; es wird eine ausgewählt, deren Ableitung nicht zu einem Wert von Null führt.
Nachdem die Werte der verallgemeinerten Koordinaten a^, bfc,
ck* dk ^010 ek t)es'timm"t wurden, werden sie gespeichert und werden
als die angenommenen Koordinatenwerte für die Transformation des nächsten Satzes der berechneten Rechtwinkelkoordinatenwerte
und Winkelkoordinatenwerte verwendet.
In Fig. 7 wird, nachdem die verallgemeinerten Koordinatenwerte berechnet wurden, wie dies unter Hinweis auf Fig. 6 beschrieben
wurde, jeder Koordinatenwert in dem Prozeßblock 220 geprüft, um festzustellen, ob dieser einen bestimmten maximalen
oder minimalen Koordinatenwert überschreitet. Wenn sich der Koordinatenwert nicht innerhalb der bestimmten Grenze befindet,
so fordert der Block 222, daß der verallgemeinerte Koordinatenwert gleich dem Grenzwert gemacht wird. Gemäß Block 224
wird als nächstes die Änderung in dem Winkel der verallgemeinerten Koordinate berechnet. Dies wird durch Abziehen des neuen
Koordinatenwertes von dem vorausgegangenen Koordinatenwert erreicht. Die Änderung in dem verallgemeinerten Koordinatenwert
wird dann gespeichert, wie dies für den Block 226 erforderlich ist. Der Block 228 bestimmt, ob alle die neuen verallgemeinerten
Koordinatenverschiebungen berechnet und gespeichert wurden. Wenn nicht, so kehrt der Prozeß zum Block 220 zurück; und beginnt
von neuem. Nachdem alle verallgemeinerten Koordinatenän-
309883/1276
derungen berechnet und gespeichert wurden, bestimmt der Block
230, ob diese neuen Werte in einen Pufferspeicher übertragen werden können. Wie unter Hinweis auf Fig. 4 beschrieben wurde,
werden beim Auftreten einer Unterbrechung die Daten aus dem Pufferspeicher zur Servomechanismus-Treiberstufe und Kopplungsschaltung 64 übetragen; nach einer Unterbrechung ist es somit
gemäß dem Prozeßblock 232 erforderlich, daß die Änderung in den verallgemeinerten Koordinatenwerten in den Pufferspeicher
übertragen wird.
Obwohl die vorliegende Erfindung mit Einzelheiten gemäß dem gewählten Ausführungsbeispiel beschrieben und veranschaulicht
ist, ist die Erfindung nicht auf diese Einzelheiten bzw. dieses Ausführungsbeispiel beschränkt. Es können somit eine Reihe
von Abwandlungen und Änderungen vorgenommen werden, ohne dabei den Rahmen der vorliegenden Erfindung zu verlassen.
Die vorliegende Erfindung schafft somit ein Verfahren und ein Gerät zur Steuerung eines Funktionselementes eines Automaten
mit einer bestimmten Geschwindigkeit und Beschleunigung entlang einer bestimmten Bahn zwischen zwei bestimmten Punkten im
Raum. Der Automat weist eine Vielzahl von Bewegungsachsen auf, von denen wenigstens eine eine Rotationsbewegungsachse ist, um
ein Funktionselement entlang einer bestimmten Bahn bewegen. Der Automat weist weitere Bewegungsachsen für die Steuerung
der Orientierung des Funktionselementes in einer bestimmten Weise auf, während sich das Element von einer Position in eine
andere Position bewegt. Es werden von einem Eingang Signale erzeugt, welche die bestimmte Geschwindigkeit und Rechtwinkelkoordinatensystemwerte der Endpunkte der bestimmten Bahn wiedergeben;
das Gerät nach der Erfindung arbeitet auf einer festen Zeitbasis, um iterativ eine Anzahl von inkrementellen
Verschiebungen zu berechnen. Es v/erden Koordinatenwerte, welche
jedes der Inkremente definieren, berechnet und die Koordinatenwerte
werden in entsprechende verallgemeinerte Koordina-
309883/1276
tensystemwerte transformiert, welche durch die geometrische
Gestalt des Automaten definiert sind. Eine Servomechani-ismus-Treiberstufe
spricht auf die Ausgangssignale an, welche Änderungen in den verallgemeinerten Koordinatenwerten entlang jeder
inkrementellen Verschiebung wiedergeben, um zu bewirken, daß die Betätigungsvorrichtungen an dem Automaten proportional
bewegt werden. Damit wird der Automat mit einer bestimmten Geschwindigkeit entlang der bestimmten Bahn in Bewegung gesetzt.
Sämtliche in der Beschreibung erkennbaren und in den Zeichnungen dargestellten technischen Einzelheiten sind für die Erfindung
von Bedeutung.
309883/1278
Claims (12)
- PATENTANSPRÜCHEGerät zur Bewegungssteuerung eines Elementes einer Maschine mit einer bestimmten Geschwindigkeit entlang einer bestimmten Bahn zwischen zwei bestimmten Punkten, welche Maschine eine Vielzahl von Betätigungsvorrichtungen enthält, die eine Vielzahl von Bewegungsachsen definieren und wenigstens eine Betätigungsvorrichtung eine Drehbewegungsachse definiert, welche die Position des Elementes beeinflußt, wobei das Gerät auf eine Vielzahl von Signalen anspricht, die hinsichtlich eines ersten Koordinatensystems für die Steuerung der Maschine in Relation zu einem verallgemeinerten Koordinatensystem erzeugt werden, welch letzteres die geometrische Gestalt der Maschine definiert, und wobei die Koordinatensysteme durch eine Reihe von Transformationsgleichungen miteinander in Beziehung gebracht sind, gekennzeichnet durch die folgenden Merkmale und Einrichtungen:a) eine Eingangsschaltung (46, 47, 50, 52) zum Erzeugen der Eingangssignale, welche eine Bahngeschwindigkeit zwischen Endkoordinatenwerten der zwei bestimmten Punkte wiedergeben;b) eine erste Computerschaltung (52, 60), die auf die Eingangssignale zum Erzeugen einer ersten Anzahl von Signalfolgen anspricht, welche Koordinatenwerte einer Vielzahl von Punkten wiedergeben, deren geometrischer Ort die bestimmte Bahn definiert;c) eine zweite Computerschaltung (52, 62), die auf die erste Vielzahl der Signalfolgen für die Transformation der ersten Vielzahl der Signalfolgen in eine zweite Vielzahl von Signalfolgen anspricht, die den Koordinatenwerten der Vielzahl der Punkte entsprechende verallgemeinerte Koordinatenwerte wiedergeben; und309883/ 1276d) eine Servomechanismus-Treiberstufe (64), die auf eine zweite Signalfolge anspricht und an die Betätigungsvorrichtungen angeschlossen ist, um das Element der Maschine entlang der bestimmten Bahn zu bewegen.
- 2) Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die erste Computerschaltung folgende Einrichtungen aufweist:a) einen Richtungszahl-Programmspeicher (66), der in Verbindung mit einer zentralen verarbeitenden Einheit (52) arbeitet, und auf die Eingangssignale zum Erzeugen einer Vielzahl von Richtungszahlsignalen anspricht, von denen jedes eine die Grösse der Bewegung entlang einer Koordinatenkomponente der Gesamtbahn wiedergebende Größe aufweist und ein Vorzeichen aufweist, welchesdie Bewegungsrichtung entlang der Koordinatenkomponente wiedergibt;b) einen Inkrementel-Verschiebungs-Programmspeicher (68), der in Verbindung mit der zentralen verarbeitenden Einheit (52) arbeitet und auf die Eingangssignale für die Berechnung der Verschiebungssignale anspricht, wobei jedes Verschiebungssignal eine inkrementelle Verschiebung entlang der bestimmten Bahn wiedergibt; undc) einen Koordinatenberechnungs-Programmspeicher (70), der in Verbindung mit der zentralen verarbeitenden Einheit (52) arbeitet und auf die Richtungszahlsignale und die Verschiebungssignale anspricht, um die erste Vielzahl der Signalfolgen zu berechnen, welche Signale die Koordinatenwerte der Endpunkte der inkrementellen Verschiebungen wiedergeben und wobei die Koordinatenwerte durch Addition eines bekannten Koordinatenwertes zu einem Produkt bestimmt sind, welches durch Multiplikation der Größe einer inkrementellen linearen Verschiebung mit der Größe eines geeigneten Richtungszahlsignals erzeugt wird.309883/1276
- 3) Gerät nach Anspruch 2, dadurch gekennzeichnet, daß die Vielzahl der Richtungszahlsignale, die durch den Richtungszahl-Programmspeicher (66) erzeugt werden, noch folgende Signale enthält:a) Positionsrichtungszahl-Signale, von denen jedes eine Größe aufweist, welche die Größe einer Positionsbewegung entlang einer Koordinatenkomponente der bestimmten Bahn wiedergibt und eine Richtung aufweist, welche die Bewegungsrichtung entlang der Koordinatenkomponente wiedergibt; undb) verallgemeinerte Richtungszahl-Signale, von denen jedes eine Größe aufweist, die die Größe einer Winkelkoordinantenkomponente der Orientierung entlang der bestimmten Bahn wiedergibt und von denen jedes eine Richtung aufweist, welche die Bewegungsrichtung der Winkelkomponente wiedergibt.
- 4) Gerät nach Anspruch 3, dadurch gekennzeichnet, daß der Koordinatenberechnungs-Programmspeicher (70) auf die Positionsrichtungszahl-Signale, die verallgemeinerten Richtungszahl-Signale und die Verschiebungssignale anspricht, um die erste Vielzahl der Signalfolgen zu berechnen, welche Signale die Rechtwinkelkoordinatensystem- und Winkelkoordinatensystemwerte der inkrementellen Verschiebungen wiedergeben, daß die Rechtwinkelkoordinatensystemwerte durch Addition eines bekannten Rechtwinkelkoordinatensystemwertes zu einem Produkt bestimmt sind,welches durch Multiplikation einer Größe einer inkrementellen Verschiebung mit einem Positionsrichtungszahl-Signal erzeugt wurde, und daß die Winkelkoordinatensystemwerte durch Addition eines bekannten Winkelkoordinatensystemwertes zu einem Produkt bestimmt sind, welches Produkt durch Multiplikation der Größe einer inkrementellen Verschiebung mit einem verallgemeinerten Richtungszahl-Signal erzeugt wurde.309883/1276
- 5) Gerät nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Computerschaltung (52, 62) noch folgende Einrichtungen aufweist:a) einen Transformations-Programmspeicher (72), der in Verbindung mit der zentralen verarbeitenden Einheit (52) arbeitet und auf die erste Vielzahl der Signalfolgen anspricht,, um eine Vielzahl von Fehlersignalfolgen zu erzeugen, wobei jede Fehlersignalfolge den Unterschied zwischen jedem Satz der Koordinatenwerte der Endpunkte und einem Satz der Anfangs-Koordinatenwerte in dem ersten Koordinatensystem wiedergibt, welche durch Lösen der Transformationsgleichungen in Verbindung mit einem angenommenen Satz von Koordinatenwerten relativ zu dem verallgemeinerten Koordinatensystem erzeugt werden; undb) einen verallgemeinerten Koordinatensystem-Programmspeicher (74), der in Verbindung mit der zentralen verarbeitenden Einheit (52) arbeitet und auf die erste Vielzahl der Signalfolgen und die Fehlersignale anspricht, um die Größe der Fehlersignale durch Erzeugen der zweiten Vielzahl der Signalfolgen unter eine bestimmte Größe zu bringen, wobei jede Folge der Signale einen Satz von verallgemeinerten Koordinatensystemwerten, die jedem Satz der Koordinatenwerte der Endpunkte entsprechen, wiedergibt.
- 6) Gerät nach Anspruch 5, dadurch gekennzeichnet, daß der Transformations-Programmspeicher folgende Informationen erhält:a) Instruktionen für die Erzeugung einer Vielzahl Anfangssignalfolgen durch Lösen der Transformationsgleichungen unter Verwendung einer Vielzahl von Sätzen von angenommenen Koordinatenwerten in dem verallgemeinerten Koordinatensystem, wobei jeder Satz oder Folge der Anfangssignale einen Satz der Anfangskoordinatenwerte in dem ersten Koordinatensystem wiedergibt; undΛ Π ■*·> —309883/1276b) Instruktionen, die von der Vielzahl der Folgen der Anfangssignale und der ersten Vielzahl der Signalfolgen abhängig sind, um eine Vielzahl von Fehlersignalfolgen zu erzeugen, wobei jede Folge der Fehlersignale den Unterschied zwischen jedem Satz der Koordinatenwerte der Endpunkte und jedem Satz der Anfangskoordinatenwerte in dem ersten Koordinatensystem wiedergibt.
- 7) Gerät nach Anspruch 6, dadurch gekennzeichnet, daß der verallgemeinerte Koordinaten-Programmspeicher folgende Informationen erhält:a) Instruktionen, die von der Vielzahl der Fehlersignalfolgen und einem Satz von an früherer Stelle bestimmten Koordinatenwerten in dem verallgemeinerten Koordinatensystem abhängig sind, um die zweite Vielzahl der Signalfolgen zu erzeugen, welche eine Vielzahl von Sätzen neuer verallgemeinerter Koordinatensystemwerte wiedergeben;b) Instruktionen, die von der zweiter Vielzahl der Signalfolgen abhängig sind, um eine Vielzahl von neuen Signalfolgen durch Lösen der Transformationengleichungen unter Verwendung der Vielzahl der Sätze der neuen verallgemeinerten Koordinatensystemwerte zu erzeugen, wobei jeder Satz oder Folge der neuen Signale einen Satz der neuen Koordinatenwerte in dem ersten Koordinatensystem wiedergibt;c) Instruktionen, die von der ersten Vielzahl der Signalfolgen und der Vielzahl der neuen Signalfolgen abhängig sind, um eine Vielzahl von neuen Fehlersignalfolgen zu erzeugen, wobei jeder Satz oder Folge der neuen Fehlersignale die Differenz zwischen jedem Satz der Koordinatenwerte der Endpunkte und jedem Satz der neuen Koordinatenwerte wiedergibt;309883/1276d) Instruktionen, welche von der Vielzahl der Folgen der neuen Fehlersignale abhängig sind, um die Größe Jedes neuen Fehlersignals mit einer vorherbestimmten Größe zu vergleichen; unde) Instruktionen für die Iteration der Merkmale a) bis d), um die Größe der nduen Fehlersignale unter die vorherbestimmte Größe zu reduzieren.
- 8) Verfahren zum Betreiben eines programmierten Computers mit einem Speichermedium und zum Erzeugen von Signalen für eine Servomechanismusschaltung einer Maschine, um ein Element der Maschine mit einer bestimmten Geschwindigkeit entlang einer bestimmten Bahn zwischen zwei bestimmten Punkten im Raum gesteuert zu bewegen, welche Maschine eine Vielzahl von Betätigungsvorrichtungen aufweist, die eine Vielzahl von Bewegungsachsen definieren, wobei wenigstens eine der Betätigungsvorrichtungen eine Rotationsbewegungsachse definiert, in welcher die Position des Elementes beeinflußt wird, und der Computer auf eine Vielzahl von Signalen anspricht, die hinsichtlich eines ersten Koordinatensystems erzeugt wurden, um die Maschine mit einem zweiten die geometrische Gestalt der Maschine' definierendem Koordinatensystem zu koordinieren, wobei das erste- und zweite Koordinatensystem durch einen Satz von Transformationsgleichungen in Beziehung gebracht sind, gekennzeichnet durch folgende Verfahrensschritte:a) daß aus dem Speichermedium Eingangssignale erzeugt werden, welche die zwei bestimmten Punkte und die vorherbestimmte Geschwindigkeit definieren;b) daß in Abhängigkeit von den Eingangssignalen die Koordinatenwerte eines Punktes entlang der bestimmten Bahn zwischen den zwei bestimmten Punkten berechnet werden;309883/ 1 276- 3ο -c) daß die Koordinatenwerte des Punktes in Ausgangssignale transformiert werden, welche verallgemeinerte Koordinatensystemwerte des Punktes wiedergeben;d) daß die Ausgangssignale der Servomechanismus schaltung zugeführt werden, um die Betätigungsvorrichtungen zu veranlassen, das Element der Maschine zu dem betreffenden Punkt zu bewegen; unde) daß die Verfahrensschritte b) bis d) iterativ ausgeführt werden, damit das Element der Maschine mit der bestimmten Geschwindigkeit entlang der bestimmten Bahn zwischen den zwei bestimmten Punkten bewegt wird.
- 9) Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß die Schritte der Berechnung der Koordinatenwerte noch folgende weitere Schritte umfaßt:a) daß Richtungszahlen in Abhängigkeit von den Eingangssignalen berechnet werden, die die Koordinatenwerte der zwei bestimmten Punkte wiedergeben, wobei jede Richtungszahl eine die Größe der Bewegung entlang einer Koordinatenkomponente der Bahn kennzeichnende Größe aufweist und eine Richtung bzw. Vorzeichen aufweist, welches die Bewegungsrichtung entlang der Koordinatenkomponente der Bahn wiedergibt;b) daß die Größe einer inkrementellen Verschiebung entlang der Bahn in Abhängigkeit von den Eingangssignalen berechnet wird, welche die bestimmte Geschwindigkeit und die Koordinatenwerte der zwei bestimmten Punkte wiedergeben; undc) daß die Koordinatenwerte eines Endpunktes der inkrementellen Verschiebung in Abhängigkeit von der Größe der inkrementellen Verschiebung und den Richtungszahlen berechnet werden.3098 8 3/1276
- 10) Verfahren nach Anspruch 9» dadurch gekennzeichnet, daß der Verfahrensschritt der Berechnung der Größe einer inkrementellen Verschiebung noch folgende Verfahrensschritte umfaßt:a) daß für einen festen Zeitintervall und in Abhängigkeit von dem die Bahngeschwindigkeit wiedergebenden Eingangssignal eine Anzahl von Iterationen durchgerechnet wird, die für die Bewegung entlang der bestimmten Bahn erforderlich sind; undb) daß während jedes festen Zeitintervalls eine inkrementelle Verschiebung, um welche bei jeder Iteration in Abhängigkeit von den Koordinatenwerten eines Punktes, der durch den vorhandenen geometrischen Ort des Elementes der Maschine definiert ist, bewegt werden muß, ausgerechnet wird.
- 11) Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Transformation der Koordinatenwerte noch die folgenden Verfahrensschritte umfaßt:a) daß in Abhängigkeit von den Koordinatenwerten der Endpunkte ein Satz von Fehlergrößen berechnet wird, welche den Unterschied zwischen den Koordinatenwerten des Endpunktes und den Koordinatenwerten in dem ersten Koordinatensystem wiedergeben, welche durch Lösen der Transformationsgleichungen mit angenommenen verallgemeinerten Koordinatensystemwerten relativ zu dem zweiten Koordinatensystem erzeugt wurden, undb) daß die Fehlergrößen durch Erzeugen verallgemeinerter Koordinaten-systemwerte in dem zweiten Koordinatensystem entsprechend den Koordinatenwerten des Endpunktes auf die vorherbestimmte Größe reduziert werden.
- 12) Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das Reduzieren der Fehlergrößen in folgender Weise durchgeführt wird:309883/1276a) daß ein erster Satz von durchgerechneten verallgemeinerten Koordinatensystemwerten in dem zweiten Koordinatensystem unter Verwendung einer successiven Iterationstechnik und der Fehler-.giffien berechnet wird jb) daß neue Koordinatenwerte in dem ersten Koordinatensystem durch Lösen der- Transformationsgleichungen unter Verwendung der durchgerechneten verallgemeinerten Koordinatensystemwerte relativ zu dem zweiten Koordinatensystem, "berechnet werden;c) daß ein Satz von neuen Fehlergrößen durch Berechnung der Differenz zwischen den Koordinatenwerten des Punktes und den neuen Koordinatenwerten in dem ersten Koordinatensystem ausgerechnet wird;d) daß die neuen Fehlergrößen mit einer bestimmten Größe verglichen werden; unde) daß die Verfahrensschritte gemäß a) bis d) solange iterativ ausgeführt werden, bis die neuen Fehlergrößen unter die bestimmte Größe abgenommen haben.309883/ 1 276
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26598472A | 1972-06-26 | 1972-06-26 | |
US364381A US3909600A (en) | 1972-06-26 | 1973-05-31 | Method and apparatus for controlling an automation along a predetermined path |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2330054A1 true DE2330054A1 (de) | 1974-01-17 |
DE2330054C2 DE2330054C2 (de) | 1982-05-13 |
Family
ID=26951534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2330054A Expired DE2330054C2 (de) | 1972-06-26 | 1973-06-13 | Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes |
Country Status (6)
Country | Link |
---|---|
US (1) | US3909600A (de) |
JP (1) | JPS612964B2 (de) |
CA (1) | CA992652A (de) |
DE (1) | DE2330054C2 (de) |
GB (1) | GB1408666A (de) |
NO (1) | NO149366C (de) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2526504A1 (de) * | 1974-07-16 | 1976-01-29 | Cincinnati Milacron Inc | Verfahren und geraet zur programmierung eines computergesteuerten roboterarmes |
FR2295472A1 (fr) * | 1974-12-20 | 1976-07-16 | Fiat Spa | Machine automatique |
DE2640257A1 (de) * | 1975-09-03 | 1977-03-17 | Olivetti & Co Spa | Selbstanpassendes bearbeitungszentrum fuer programmierbare automation |
DE2712169A1 (de) * | 1976-03-29 | 1977-10-13 | Asea Ab | Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter |
DE2656433A1 (de) * | 1976-12-14 | 1978-06-15 | Fraunhofer Ges Forschung | Verfahren und anordnung zur regelung von manipulatoren und industriellen robotern |
DE2745404A1 (de) * | 1977-10-08 | 1979-06-13 | Grisebach Hans Theodor | Handhabungsgeraet |
EP0003025A1 (de) * | 1977-12-08 | 1979-07-25 | Siemens Aktiengesellschaft | Regelung für Drehwerks- oder Hubwerksantriebe eines Krans |
DE3038436A1 (de) * | 1980-10-11 | 1982-05-06 | Jungheinrich Unternehmensverwaltung Kg, 2000 Hamburg | Verfahren zur regelung eines positionierkreises fuer manipulatoren und vorrichtung zur ausfuehrung von arbeiten unter kraftanwendung und positionierregelkreis zur durchfuehrung dieses verfahrens |
DE3151752A1 (de) * | 1980-12-30 | 1982-08-12 | Fujitsu Fanuc Ltd., Hino, Tokyo | Verfahren und anordnung zur steuerung eines roboters |
EP0075792A2 (de) * | 1981-09-24 | 1983-04-06 | Hitachi, Ltd. | Steuerungssystem für Roboterhand |
EP0086950A1 (de) * | 1982-02-19 | 1983-08-31 | Hitachi, Ltd. | Methode zur Steuerung eines Industrieroboters |
DE3317263A1 (de) * | 1982-05-13 | 1984-02-09 | Cincinnati Milacron Industries, Inc. (eine Gesellschaft n.d.Ges.d. Staates Ohio), Cincinnati, Ohio | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung |
DE3050664C2 (de) * | 1980-12-18 | 1988-04-14 | Kaunassk Polt Inst Antanasa | Verfahren zur Bewegung eines Punktes in eine Lage,deren Koordinaten in einem orthogonalen System vorgegeben sind und Vorrichtung zur Druchf}hrung dieses Verfahrens |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3986007A (en) * | 1975-08-20 | 1976-10-12 | The Bendix Corporation | Method and apparatus for calibrating mechanical-visual part manipulating system |
US4163183A (en) * | 1975-10-28 | 1979-07-31 | Unimation, Inc. | Programmable automatic assembly system |
US4115858A (en) * | 1976-01-12 | 1978-09-19 | Houdaille Industries, Inc. | Machine tool controller employing microprocessor system for controlling Z axis |
US4178632A (en) * | 1978-03-06 | 1979-12-11 | Cincinnati Milacron Inc. | Method for controlling the operation of a computer operated robot arm |
US4338672A (en) * | 1978-04-20 | 1982-07-06 | Unimation, Inc. | Off-line teach assist apparatus and on-line control apparatus |
JPS5840761B2 (ja) * | 1978-12-20 | 1983-09-07 | 工業技術院長 | 人間腕形マニピュレ−タの制御装置 |
US4258425A (en) * | 1979-03-08 | 1981-03-24 | A. O. Smith Corporation | Self-programmed mechanical working apparatus |
JPS5621794A (en) * | 1979-07-30 | 1981-02-28 | Fujitsu Fanuc Ltd | Controlling system for industrial robot |
US4420812A (en) * | 1979-09-14 | 1983-12-13 | Tokico, Ltd. | Teaching- playback robot |
US4509143A (en) * | 1980-01-14 | 1985-04-02 | Mitsubishi Denki Kabushiki Kaisha | Computer control system for selecting a desired control program from a plurality of control programs |
US4445184A (en) * | 1980-07-19 | 1984-04-24 | Shin Meiwa Industry Co., Ltd. | Articulated robot |
US4356554A (en) * | 1980-09-12 | 1982-10-26 | Thermwood Corporation | Method and apparatus for compensating for system error in an industrial robot control |
JPS5773402A (en) * | 1980-10-23 | 1982-05-08 | Fanuc Ltd | Numerical control system |
US4379335A (en) * | 1980-10-28 | 1983-04-05 | Auto-Place, Inc. | Electronic controller and portable programmer system for a pneumatically-powered point-to-point robot |
JPS57113114A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
JPS584377A (ja) * | 1981-03-18 | 1983-01-11 | 株式会社安川電機 | 関節形産業用ロボツトの制御装置 |
US4403281A (en) * | 1981-04-03 | 1983-09-06 | Cincinnati Milacron Industries, Inc. | Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path |
JPS57175692A (en) * | 1981-04-21 | 1982-10-28 | Takenaka Komuten Co | Crane having automatic positioning controlling function |
IT1144707B (it) * | 1981-05-15 | 1986-10-29 | Dea Spa | Unita a braccio operativo controllata da un sistema a calcolatore |
JPS5856003A (ja) * | 1981-09-30 | 1983-04-02 | Hitachi Ltd | 工業用ロボツトの制御方法 |
JPH0695294B2 (ja) * | 1981-10-05 | 1994-11-24 | 株式会社日立製作所 | 産業用ロボットの軌跡補間方法 |
US4486840A (en) * | 1981-10-14 | 1984-12-04 | Houdaille Industries, Inc. | Computer numeric control for metal forming |
US4488241A (en) * | 1981-12-08 | 1984-12-11 | Zymark Corporation | Robot system with interchangeable hands |
JPS58155148A (ja) * | 1982-03-05 | 1983-09-14 | Okuma Mach Works Ltd | 工作機械における刃物台刃先の軌跡監視方法 |
JPS58177289A (ja) * | 1982-04-12 | 1983-10-17 | 株式会社三協精機製作所 | 工業用ロボツトの動作制御装置 |
US4506335A (en) * | 1982-06-10 | 1985-03-19 | Cincinnati Milacron Inc. | Manipulator with controlled path motion |
SE452719B (sv) * | 1982-06-29 | 1987-12-14 | Asea Ab | Industrirobot |
EP0108511A3 (de) * | 1982-11-04 | 1985-12-18 | EMI Limited | Roboter-Steuerungssysteme |
JPS59107884A (ja) * | 1982-12-10 | 1984-06-22 | 株式会社日立製作所 | ロボツトの制御方式 |
JPS59114609A (ja) * | 1982-12-22 | 1984-07-02 | Hitachi Ltd | ロボットの制御装置 |
JPS59189415A (ja) * | 1983-04-13 | 1984-10-27 | Hitachi Ltd | 工業用ロボツトの動作教示方法および装置 |
JPS59218513A (ja) * | 1983-05-26 | 1984-12-08 | Fanuc Ltd | 工業用ロボツトの円弧制御法 |
US4547858A (en) * | 1983-06-13 | 1985-10-15 | Allied Corporation | Dynamic control for manipulator |
US4661039A (en) * | 1983-10-20 | 1987-04-28 | Donaldson Company | Flexible-frame robot |
JPS60175108A (ja) * | 1984-02-20 | 1985-09-09 | Fanuc Ltd | 等速制御方法 |
US4734866A (en) * | 1984-07-05 | 1988-03-29 | Siemens Aktiengesellschaft | Computer controller for an industrial multiaxis robot |
US4598380A (en) * | 1984-08-13 | 1986-07-01 | Cincinnati Milacron Inc. | Method and apparatus for controlling manipulator and workpiece positioner |
JPS61110204A (ja) * | 1984-11-02 | 1986-05-28 | Hitachi Ltd | 自動化装置の制御方法 |
US4718078A (en) * | 1985-08-19 | 1988-01-05 | Siemens Aktiengesellschaft | System for controlling motion of a robot |
US5022952A (en) * | 1985-12-13 | 1991-06-11 | Cincinnati Milacron Inc. | Fiber placement machine |
EP0261106B1 (de) * | 1986-02-25 | 1989-11-02 | Trallfa Robot A/S | Verfahren und roboteranlage zur programmierten steuerung eines werkzeugs |
JPH0789286B2 (ja) * | 1986-02-28 | 1995-09-27 | 株式会社日立製作所 | 多関節マニピユレ−タの作業原点決定方法 |
US4803640A (en) * | 1986-05-12 | 1989-02-07 | Matsushita Electric Industrial Co., Ltd. | Control arrangement for an industrial robot |
JPH0781455B2 (ja) * | 1987-07-07 | 1995-08-30 | 東京エレクトロン東北株式会社 | 熱処理炉のスカベンジャードア |
US4835710A (en) * | 1987-07-17 | 1989-05-30 | Cincinnati Milacron Inc. | Method of moving and orienting a tool along a curved path |
JP2511072B2 (ja) * | 1987-10-23 | 1996-06-26 | 三菱重工業株式会社 | ロボットにおける教示デ―タの記録・再生方法 |
US5062755A (en) * | 1988-02-23 | 1991-11-05 | Macmillan Bloedel Limited | Articulated arm control |
JP2664205B2 (ja) * | 1988-06-10 | 1997-10-15 | 株式会社日立製作所 | マニピュレータ制御システム |
JP2824588B2 (ja) * | 1989-08-24 | 1998-11-11 | 株式会社エスジー | サーボモータ同期制御方式 |
US5110395A (en) * | 1989-12-04 | 1992-05-05 | Cincinnati Milacron Inc. | Fiber placement head |
US5471395A (en) * | 1991-06-04 | 1995-11-28 | Anca Pty. Ltd. | Control of CNC machine tools |
US5410638A (en) * | 1993-05-03 | 1995-04-25 | Northwestern University | System for positioning a medical instrument within a biotic structure using a micromanipulator |
SE501867C2 (sv) * | 1993-11-15 | 1995-06-12 | Asea Brown Boveri | Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp |
US5584646A (en) * | 1994-08-31 | 1996-12-17 | Wiseda Ltd. | Handling apparatus |
JP2000066706A (ja) * | 1998-08-21 | 2000-03-03 | Matsushita Electric Ind Co Ltd | ロボット制御装置とその制御方法 |
US7097540B1 (en) | 2005-05-26 | 2006-08-29 | General Electric Company | Methods and apparatus for machining formed parts to obtain a desired profile |
US20080058990A1 (en) * | 2006-08-31 | 2008-03-06 | General Electric Company | Robotic programming control using multiple binary input |
DE102008061153A1 (de) * | 2008-12-09 | 2010-06-17 | Renate Grünfeld | Verfahren zur mehrdimensionalen automatischen, elektromotorischen Bewegung einer kartesisch geführten Sonde zu einem Objekt |
CN110815225B (zh) * | 2019-11-15 | 2020-12-25 | 江南大学 | 电机驱动单机械臂系统的点对点迭代学习优化控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1948490A1 (de) * | 1968-09-26 | 1970-04-02 | Giddings & Lewis | Nummerisches Steuerungsverfahren und Anordnung zur Verstellung eines Elementes entlang einer vorgegebenen Bahnkurve,insbesondere fuer die Bahnsteuerung von Werkzeugmaschinen |
US3543910A (en) * | 1968-07-30 | 1970-12-01 | George C Devol | Work-head automatic motions controls |
US3618742A (en) * | 1970-05-18 | 1971-11-09 | Stanley J Blanchard | Automatic object adjustment |
DE2124983A1 (de) * | 1970-05-22 | 1971-12-02 | Westinghouse Electric Corp | Numerische Werkzeugmaschinensteuerung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3123657A (en) * | 1964-03-03 | Automatic control apparatus | ||
US3128374A (en) * | 1960-12-08 | 1964-04-07 | Bendix Corp | Control system |
DE2155267C3 (de) * | 1971-11-06 | 1980-01-31 | Indramat Gesellschaft Fuer Industrie- Rationalisierung Und Automatisierung Mbh, 8770 Lohr | Funktionsgenerator, insbesondere für ein stetiges Nachformsystem mit Auswertung des Betrages der Fühlerauslenkung |
US3843875A (en) * | 1973-03-07 | 1974-10-22 | Remington Arms Co Inc | Numerical control checkering system |
-
1973
- 1973-05-31 US US364381A patent/US3909600A/en not_active Expired - Lifetime
- 1973-06-13 DE DE2330054A patent/DE2330054C2/de not_active Expired
- 1973-06-15 NO NO2493/73A patent/NO149366C/no unknown
- 1973-06-25 CA CA174,860A patent/CA992652A/en not_active Expired
- 1973-06-26 GB GB3028573A patent/GB1408666A/en not_active Expired
- 1973-06-26 JP JP48071377A patent/JPS612964B2/ja not_active Expired
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3543910A (en) * | 1968-07-30 | 1970-12-01 | George C Devol | Work-head automatic motions controls |
DE1948490A1 (de) * | 1968-09-26 | 1970-04-02 | Giddings & Lewis | Nummerisches Steuerungsverfahren und Anordnung zur Verstellung eines Elementes entlang einer vorgegebenen Bahnkurve,insbesondere fuer die Bahnsteuerung von Werkzeugmaschinen |
US3618742A (en) * | 1970-05-18 | 1971-11-09 | Stanley J Blanchard | Automatic object adjustment |
DE2124983A1 (de) * | 1970-05-22 | 1971-12-02 | Westinghouse Electric Corp | Numerische Werkzeugmaschinensteuerung |
Non-Patent Citations (3)
Title |
---|
"Die elektrische Ausrüstung", Feb. 1963, Nr. 1, S. 11-16: "Der digitale Interpolator" von H. Herger * |
"Siemenszeitschrift", 1970, H. 44, Beiheft "Numerische Steuerungen", S. 52-57 * |
"Siemenszeitschrift", Feb. 1966, H. 2, S. 61-66 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2526504A1 (de) * | 1974-07-16 | 1976-01-29 | Cincinnati Milacron Inc | Verfahren und geraet zur programmierung eines computergesteuerten roboterarmes |
FR2295472A1 (fr) * | 1974-12-20 | 1976-07-16 | Fiat Spa | Machine automatique |
DE2640257A1 (de) * | 1975-09-03 | 1977-03-17 | Olivetti & Co Spa | Selbstanpassendes bearbeitungszentrum fuer programmierbare automation |
DE2712169A1 (de) * | 1976-03-29 | 1977-10-13 | Asea Ab | Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter |
DE2656433C3 (de) * | 1976-12-14 | 1983-11-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V., 8000 Muenchen | Verfahren und Anordnung zur Regelung von Manipulatoen und industriellen Robotern |
DE2656433A1 (de) * | 1976-12-14 | 1978-06-15 | Fraunhofer Ges Forschung | Verfahren und anordnung zur regelung von manipulatoren und industriellen robotern |
DE2656433B2 (de) * | 1976-12-14 | 1979-09-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V., 8000 Muenchen | Verfahren zur Regelung der Bewegungsgrößen, z.B. der Rotations- und Translationsbewegungen, eines Manipulators oder industriellen Handhabungsgerätes |
DE2745404A1 (de) * | 1977-10-08 | 1979-06-13 | Grisebach Hans Theodor | Handhabungsgeraet |
EP0003025A1 (de) * | 1977-12-08 | 1979-07-25 | Siemens Aktiengesellschaft | Regelung für Drehwerks- oder Hubwerksantriebe eines Krans |
DE3038436A1 (de) * | 1980-10-11 | 1982-05-06 | Jungheinrich Unternehmensverwaltung Kg, 2000 Hamburg | Verfahren zur regelung eines positionierkreises fuer manipulatoren und vorrichtung zur ausfuehrung von arbeiten unter kraftanwendung und positionierregelkreis zur durchfuehrung dieses verfahrens |
DE3050664C2 (de) * | 1980-12-18 | 1988-04-14 | Kaunassk Polt Inst Antanasa | Verfahren zur Bewegung eines Punktes in eine Lage,deren Koordinaten in einem orthogonalen System vorgegeben sind und Vorrichtung zur Druchf}hrung dieses Verfahrens |
DE3151752A1 (de) * | 1980-12-30 | 1982-08-12 | Fujitsu Fanuc Ltd., Hino, Tokyo | Verfahren und anordnung zur steuerung eines roboters |
EP0075792A2 (de) * | 1981-09-24 | 1983-04-06 | Hitachi, Ltd. | Steuerungssystem für Roboterhand |
EP0075792A3 (en) * | 1981-09-24 | 1983-06-15 | Hitachi, Ltd. | Control system for robot hand |
EP0086950A1 (de) * | 1982-02-19 | 1983-08-31 | Hitachi, Ltd. | Methode zur Steuerung eines Industrieroboters |
DE3317263A1 (de) * | 1982-05-13 | 1984-02-09 | Cincinnati Milacron Industries, Inc. (eine Gesellschaft n.d.Ges.d. Staates Ohio), Cincinnati, Ohio | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung |
Also Published As
Publication number | Publication date |
---|---|
CA992652A (en) | 1976-07-06 |
NO149366B (no) | 1983-12-27 |
DE2330054C2 (de) | 1982-05-13 |
JPS612964B2 (de) | 1986-01-29 |
US3909600A (en) | 1975-09-30 |
NO149366C (no) | 1984-04-04 |
GB1408666A (en) | 1975-10-01 |
JPS4950376A (de) | 1974-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2330054A1 (de) | Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes | |
DE2639774C2 (de) | ||
DE2636148C2 (de) | Verfahren zur Bahnsteuerung eines Elementes mittels linearer oder zirkularer Interpolation | |
DE2526504B2 (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 | |
DE3406255C2 (de) | ||
DE2735632A1 (de) | Verfahren und anordnung zum steuern eines industrie-roboters | |
DE102011108282B4 (de) | Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene | |
DE3210675A1 (de) | Vorrichtung zum dynamischen steuern des werkzeugmittelpunkts eines roboterarms abseits einer vorbestimmten bahn | |
DE3317263A1 (de) | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung | |
DE112019006713B4 (de) | Ein Verfahren zur Steuerung einer Bewegung, eine Bewegungssteuereinrichtung und ein System sowie ein Speichermedium desselben | |
DE112016004725T5 (de) | Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung | |
DE102019001948A1 (de) | Steuerung und maschinelle Lernvorrichtung | |
DE3236320A1 (de) | Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms | |
EP1604789A2 (de) | Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts | |
DE112016005365T5 (de) | Direktes Lehrverfahren eines Roboters | |
DE102014224193B9 (de) | Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters | |
DE102015105687A1 (de) | Roboter | |
DE2422102A1 (de) | Numerische steuerung zur erzeugung einer parabolischen auskehlung | |
DE102019003286A1 (de) | Numerische Steuerung | |
DE10393527T5 (de) | Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung | |
DE102019215850A1 (de) | Roboter und erstes Armglied | |
DE10296995T5 (de) | Verfahren zum Abstimmen und Synchronisieren der Bewegung von Servounterstützten Achsen | |
EP0449039B1 (de) | Verfahren zur Steuerung von Positioniersystemen | |
DE2111889A1 (de) | Numerische Regeleinrichtung | |
DE102006036490A1 (de) | Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: CINCINNATI MILACRON INDUSTRIES, INC., CINCINNATI, |
|
8328 | Change in the person/name/address of the agent |
Free format text: BROSE, D., DIPL.-ING., PAT.-ANW., 8023 PULLACH |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: CINCINNATI MILACRON INC. (EINE GES. N.D. GESETZEN |
|
8328 | Change in the person/name/address of the agent |
Free format text: BROSE, D., DIPL.-ING. RESCH, M., DIPL.-PHYS., PAT.-ANW., 8023 PULLACH |
|
8331 | Complete revocation |