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 bedienungsgeraetes

Info

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
Application number
DE2330054A
Other languages
English (en)
Other versions
DE2330054C2 (de
Inventor
Richard E Hohn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Milacron Inc
Original Assignee
Milacron Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Milacron Inc filed Critical Milacron Inc
Publication of DE2330054A1 publication Critical patent/DE2330054A1/de
Application granted granted Critical
Publication of DE2330054C2 publication Critical patent/DE2330054C2/de
Expired legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33099Computer numerical control [CNC]; Software control [SWC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35354Polar coordinates, turntable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35543Cartesian to polar and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41477Servo loop with analog position sensor for continuous path control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43006Acceleration, deceleration control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45051Transfer line

Description

D-802.3 Λ.-indien - Pullach
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)

  1. PATENTANSPRÜCHE
    Gerä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; und
    309883/ 1276
    d) 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. 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; und
    c) 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. 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; und
    b) 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. 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. 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; und
    b) 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. 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/1276
    b) 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. 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/1276
    d) 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; und
    e) 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. 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; und
    e) 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. 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; und
    c) 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. 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; und
    b) 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. 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, und
    b) 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. 12) Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß das Reduzieren der Fehlergrößen in folgender Weise durchgeführt wird:
    309883/1276
    a) daß ein erster Satz von durchgerechneten verallgemeinerten Koordinatensystemwerten in dem zweiten Koordinatensystem unter Verwendung einer successiven Iterationstechnik und der Fehler-.giffien berechnet wird j
    b) 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; und
    e) 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
DE2330054A 1972-06-26 1973-06-13 Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes Expired DE2330054C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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