DE2740507A1 - Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator - Google Patents
Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulatorInfo
- Publication number
- DE2740507A1 DE2740507A1 DE19772740507 DE2740507A DE2740507A1 DE 2740507 A1 DE2740507 A1 DE 2740507A1 DE 19772740507 DE19772740507 DE 19772740507 DE 2740507 A DE2740507 A DE 2740507A DE 2740507 A1 DE2740507 A1 DE 2740507A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- manipulator
- signals
- movement
- speed
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 21
- 238000006073 displacement reaction Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 2
- 230000003466 anti-cipated effect Effects 0.000 claims 1
- 238000003466 welding Methods 0.000 description 34
- 239000013256 coordination polymer Substances 0.000 description 23
- 239000004020 conductor Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 238000004804 winding Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 241001233037 catfish Species 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4086—Coordinate conversions; Other special calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41815—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41815—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
- G05B19/4182—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35534—Conversion input data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36458—Teach only some points, for playback interpolation between points
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41481—Divide command, block in subcommands, subblocks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45213—Integrated manufacturing system ims, transfer line, machining center
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/49—Method of mechanical manufacture
- Y10T29/49826—Assembling or joining
- Y10T29/49828—Progressively advancing of work assembly station or assembled portion of work
- Y10T29/49829—Advancing work to successive stations [i.e., assembly line]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T29/00—Metal working
- Y10T29/53—Means to assemble or disassemble
- Y10T29/53004—Means to assemble or disassemble with means to regulate operation by use of templet, tape, card or other replaceable information supply
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
2672
Verfahren zur Programmierung eines prograamsteuerbaren Manipulators
und dementsprechender Manipulator
Die Erfladung bezieht sich auf einen instruierbaren programmsteuerbaren
Manipulator, der an z.B. auf eines Förderband vorbeibeweglichen Werkstücken zu arbeiten vermag. Der
betreffende Manipulator ist ein solcher, der einen gegenüber eines Grundgestell in verschiedenen Koordinaten beweglichen
Am aufweist. Dabei erfolgt die Bewegung des Manipulatorarmes gemäft einer Serie von Programmschritten, die
aus durch Instruktion eingegebenen Daten gewonnen und sodann aufgezeichnet werden, wobei das Forderband jeweils
stillsteht. Der erfindungsgemäAe Manipulator ist besonders geeignet, jedoch keineswegs ausschlieftlich verwendbar für
die Verrichtung von SchweiSarbelten an Autokarosserien oder dergl. an entsprechenden Fertigungsstraßen.
Zur Verrichtung verschiedenartiger Arbeiten an von einem Förderband getragenen Werkstücken wurden bereits Manipulatoren
nach der US-PS 3 661 051 verwendet. Die US-PS 3 283 918
zeigt demgegenüber einen programmsteuerbaren Manipulator, der selbst, auf Schienen, parallel und synchron neben einem
kontinuierlich bewegten Förderband einherläuft, so daB zwischen Werkstück und Manipulator während des betreffenden Arbeitsspiels
keine Relativbewegung auftritt. Wenngleich eine
809811/0βί1
solche Anordnung für ihren Zweck geeignet ist, besitzt sie doch
den Nachteil, daft der ortsbewegliche Manipulator eine entsprechende sowohl von menschlichen Arbeitskräften als auch von Geräten
und dergl. freizuhaltende Bodenfläche benotigt.
Des weiteren hat man zur Verrichtung von SchwelAarbeiten an
Autokarosserien auch bereits Manipulatoranordnungen in Verbindung mit einem nur schrittweise, zwischen den einzelnen Schweiftoperationen,
bewegten Förderband verwendet. Eine solche Anordnung wiederum hat den Nachteil, daft das schrittweise bewegte
Förderband insgesamt gesehen erheblich langsamer läuft als eis kontinuierlich bewegtes, da das Band mit seinem Antrieb und vor
allem die darauf befindlichen Karosserien eine beträchtliche träge Masse besitzt.
Aus der US-PS 3 744 032 geht eine Anordnung hervor, bei der ein ortsfest angeordneter Manipulator mit einem kontinuierlich
bewegten Förderband zusammenarbeitet, wozu er bei stillstehendem Förderband in der Welse zu instruieren ist, daft das Förderband
für jeden einzelnen Programmschritt in die entsprechende Position vorgerückt wird, die es sodann im Arbeitsbetrieb bei
kontinuierlich bewegtem Förderband zu dem betreffenden Zeitpunkt einnehmen wird, und der Manipulatorarm sodann in die entsprechende
gewünschte Position gegenüber einem auf dem Förderband aufruhenden repräsentativen Werkstück gebracht wird. Die so
eingegebenen Positionen des Manipulatorarmes wie des Förderbandes werden gemeinsam aufgezeichnet. Diese Anordnung ist
insofern nachteilig, als das Förderband bei der Instruktion um eine Vielzahl kleiner Beträge von z.B. 12 bis 25 mm präzise
vorgerückt werden muß.
Die US-PS Be. 28 437 gibt einen feststehenden Manipulatoren,
der Schaltmittel enthält, um die Bewegung des Manipulatorarmes beim Arbeitsbetrieb in der Weise zu korrigieren, daft der
Arm positionsrichtig mit einem bewegten Förderband zusammenzuarbeiten vermag. Schließlich zeigt die US-PS 4 011 437 einen
809811/0891 ./.
Manipulator zur Zusammenarbeit mit einem bewegten Förderband, der bei stillstehendem Förderband instruierbar ist, während die
so eingegebenen Programmschritte im Arbeitsbetrieb durch einen Rechner derart korrigiert werden, daß die Bewegungen des Manipulatorarmes
der gleichzeitigen Bewegung des Förderbandes Rechnung tragen.
Der Erfindung liegt die Aufgabe zugrunde, einen zur Zusammenarbeit
mit einem kontinuierlich relativbeweglichen Werkstück bestimmten Manipulator bei über mehrere Programmpositionen hinweg
stillstehendem Förderband in der Weise instruierbar zu machen, daß sich im Arbeitsbetrieb eine beständige Korrektur der
aufgezeichneten Programmpositionen mitsamt den dazu erforderlichen Schaltmitteln erübrigt.
Diese Aufgabe ist durch das im Anspruch 1 angegebene Programmierungsverfahren
und den entsprechend ausgebildeten Manipulatoren gemäß Anspruch 9 gelöst. Die betreffende Erfindung
gestattet es, im sog. Instruktionsbetrieb im Programmspeicher im wesentlichen "fertige** Programmdaten aufzuzeichnen, die während
des Arbeitsbetriebes des Manipulators unter kontinuierlicher Bewegung der betreffenden Werkstücke keine Rechenoperationen
mehr erfordern.
Nachfolgend sind entsprechende Beispiele der Erfindung anhand der Figuren im einzelnen beschrieben. Von diesen zeigt
Fig. 1 eine perspektivische Ansicht eines Teiles eines erfindungsgemäßen
ortsfesten Manipulators in Verbindung mit einem kontinuierlich beweglichen Förderband zur Verrichtung
von Punktschweißoperationen an Autokarosserien,
Fig. 2 eine perspektivische Gesamtansicht des betreffenden Manipulators,
Fig. 3 ein perspektivisches Schema dieses Manipulators zur Veranschaulichung
der einzelnen Bewegungskoordinaten des Manipulatorarmes,
809811/0891
Fig. 4 ein perspektivisches Diagramm zur Veranschaulichung der erfindungsgemäfl während des Instruktionsbetriebes stattfindenden
Rechenoperationen,
Fig. 5 ein Blockschaltbild der Manipulatorsteuerung unter Einschluß
einer Interpolationseinheit zur Erzeugung von Interpolatioiksintervallen unterschiedlicher Dauer,
Fig. 6 ein Diagramm, welches verschiedene der in der Manipulatorsteuerung
nach Fig. 5 auftretenden Signale veranschaulicht,
Steuerkreises für die Positions- und Geschwindigkeitssteuerung der Bewegungen des Manipulatorarmes zur Verwendung
in der Steuerung nach Fig. 5,
Fig. 2 jedoch mit einer Interpolationseinheit in einer anderen AusfUhrungsform,
Fig.11 ein Diagramm, welches weitere der in der Schaltung nach
Fi g. 5 auftretenden Signale angibt, und
Fig.12 ein Blockschaltbild entsprechend demjenigen von Fig. 10,
welches jedoch anstelle eines offenen Geschwindigkeitssteuerkreises einen geschlossenen Geschwindigkeitsregelkreis
zeigt.
Der in Fig. 1 gezeigte Manipulator arbeitet, ggf. zusammen mit einer Serie weiterer solcher Manipulatoren, mit einem Förderband
1000 zusammen, welches eine Reihe von Autokarosserien, wie
809811/0891 #A
z.B. 1002, an den feststehenden Manipulatoren vorbeifuhrt. In der Figur ist das Ende des Manipulatorarmes 1004 zu erkennen.
Der Manipulator ist vorzugsweise von derjenigen Art, wie sie in der DT-OS 26 49 123 im einzelnen beschrieben ist. Viele der
Steuerschaltkreise des Manipulators entsprechen indessen denjenigen aus der US-PS 3 661 051. Der Inhalt dieser beiden Veröffentlichungen
wird hier als bekannt vorausgesetzt.
Die Karosserien 1002 können jeweils für sich auf Trägern 1006 aufliegen, die einen Teil des kontinuierlichen bewegten Förderbandes
1000 bilden und deren jeder mit eine« seitlich über das Förderband hervortretenden ersten Anschlag 1008 ausgerüstet ist.
Wenn sich der Träger 1006 an den Manipulatoren vorbeibewegt, trifft der Anschlag 1008 auf das Ende eines Mitnahmestiftes
1010 an einer endlosen Kette 1022, die seitlich neben den Förderband 1000 angeordnet ist. Die Kette läuft über Kettenräder
1012 und 1014, wobei das Bad 1012 sich an derjenigen Stelle befindet, an welcher der Anschlag 1008 zunächst mit dem Stift
1010 in Berührung kommt. Auf diese Weise erfährt das Kettenrad 1012 zwangsläufig eine genau mit derjenigen des Förderbandes
synchronisierte Bewegung.
Das Kettenrad 1012 steht über eine Welle 1016 mit einem
Codierer 1028 in Verbindung, der vom gleichen Typ sein kann wie die Codierer, die nach der DT-OS 26 49 123 für die Bewegungen
in den einzelnen Bewegungskoordinaten des Manipulatorarmes Verwendung finden. Diese Codierer erzeugen ein kontinuierlich
veränderliches digitales Ausgangssignal (Positionssignal), welches die jeweilige absolute Position in der betreffenden
Koordinate angibt. Genauer gesagt liefert der Codierer 1028 ein bestimmtes Ausgangssignal, wenn der Anschlag 1008 auf den
Stift 1010 auftrifft, und fortan ein kontinuierlich veränderliches
digitales Signal, welches präzise die jeweilige Position der Karosserie gegenüber dem Boden angibt, während das
Förderband weiterläuft.
80981 W0891
Dieses Positionssignal aus dem Codierer 1028 dient zur Steuerung des Manipulatorarmes 1004 in Verbindung mit vorausgehend
gespeicherten Programmdaten, so daß der Arm in einem bestimmten Bereich der Karosserie, an welchem der Manipulator
instruiert wurde, einer bestimmten Bahn folgt, um beispielsweise eine Serie von Punktschweißungen auszuführen. Zu diesem
Zweck trägt der Manipulatorarm 1004 eine Schweißzange 1029 mit zwei Schweißelektroden 1030 und 1032, die um die sogenannte
Handdrehachse rotieren kann.
Hat die Karosserie 1002 den betreffenden Manipulator passiert und ist die gewünschte Anzahl von Punktschweißungen dabei ausgeführt
worden, so muß die Kette 1022 in eine solche Stellung gebracht werden, daß der Codierer 1028 wieder ein Förderband-Synchronisiersignal
liefert, das geeignet ist, die Bewegung des Manipulatorarmes zu steuern, wenn die nächste Karosserie an
dem betreffenden Manipulator eintrifft und der zugehörige Anschlag 1008 auf den Stift 1010 stößt. Zu diesem Zweck ist an
der Kette 1022 ein erster Rückstellstift 1018 vorgesehen, der 1/4 des Kettenradumfanges hinter dem Stift 1010 auftritt. Eine
ebensolche Stiftanordnung befindet sich an dem gegenüberliegenden Kettenabschnitt in Gestalt eines zweiten Mitnahmestiftes
1020 und eines zweiten Rückstellstiftes 1024.
Mit den Rückstellstiften 1018 und 1024 wirkt ein zweiter Anschlag 1026 an dem Träger 1006 zusammen, der in Laufrichtung
des Förderbandes etwas hinter dem Anschlag 1008 auftritt. Trifft z.B. der Anschlag 1026a des gezeigten ersten Trägers 1006a auf
den Rttckstellstift 1024, nachdem der Mitnahmestift 1020 von de»
Anschlag 1008a freigegeben wurde, so wird hierdurch die Kette 1022 um 3/8 des Kettenradumfanges weitergerückt, so daß der
Mitnahmestift 1010 von dem Anschlag 1008b des nachfolgenden Trägers 1006b erfasst werden kann.
Hierdurch wird unter Verlust einer halben Umdrehung der Kettenräder
während des gesamten Synchronisiervorganges eine vollkommene Rückstellung erreicht. Bei einer Gesamtkettenlänge von
88981W0891 ./.
z.B. 960 cn und eines Kettenradumfang von 30 cm beträgt die für die Synchronisierung verfügbare Kettenlänge mithin 445 cm.
Weisen die Kettenräder 1012 und 1014 1,6 lähne/cm auf, so wird
die Anzahl der Kettenglieder entsprechend 1536 betragen. Damit werden das Kettenrad 1012 und der Codierer 1028 16 Umdrehungen
erfahren für eine jede Periode in dem Codiererausgangssignal.
13
Kettenbewegung etwa 2 numerische Bits liefert, von denen jedes Bit einem Bewegungsinkrement von etwa 0,0585 cm entspricht. Dies ist ausreichend, um eine genaue Positionsermittlung des Forderbandes zu ermöglichen. Für eine Bewegungsgeschwindigkeit am Manipulatorarmende von 40-50 cm/s kommt eine nominale Forderbandgeschwindigkeit von etwa 8-15 cm/s bzw. eine maximale Forderbandgeschwindigkeit von etwa 25 - 30 cm/s in Betracht. Das Positionssignal aus dem Codierer 1028 findet nun als Bezugssignal dafür Verwendung, den Manipulator im Arbeitsbetrieb mit der jeweiligen tatsächlichen Forderbandgeschwindigkeit zu synchro* nisieren.
Kettenbewegung etwa 2 numerische Bits liefert, von denen jedes Bit einem Bewegungsinkrement von etwa 0,0585 cm entspricht. Dies ist ausreichend, um eine genaue Positionsermittlung des Forderbandes zu ermöglichen. Für eine Bewegungsgeschwindigkeit am Manipulatorarmende von 40-50 cm/s kommt eine nominale Forderbandgeschwindigkeit von etwa 8-15 cm/s bzw. eine maximale Forderbandgeschwindigkeit von etwa 25 - 30 cm/s in Betracht. Das Positionssignal aus dem Codierer 1028 findet nun als Bezugssignal dafür Verwendung, den Manipulator im Arbeitsbetrieb mit der jeweiligen tatsächlichen Forderbandgeschwindigkeit zu synchro* nisieren.
Der Manipulator wird zunächst im Instruktionsbetrieb programmiert,
so daft der Manipulatorarm 1004 im Arbeitsbetrieb eine gewünschte Folge von Punktschweißoperationen an der Karosserie
1002 automatisch zu vollführen vermag, während sich das Forderband
1000 bewegt. Die Instruktion erfolgt durch einzelnes Anfahren gewünschter Punkte an einer der Karosserien 1002 und
Aufzeichnen entsprechender Positionssignale bei stillstehendem Forderband. Genauer gesagt erfolgt eine derartige Instruktion
in jeweils einem Bereich der Karosserie von beispielsweise etwa 30 cm Ausdehnung, um Kollisionsprobleme möglichst zu vermeiden.
Der Programmierer kann die gewünschten Kontakt- oder Schweißpunkte
auf der Karosserie in dem betreffenden Bereich anzeichnen oder durch Aufkleber markieren. Dabei können ein geeigneter
Farbcode oder sonstige unterscheidende Merkmale Verwendung finden, um unterschiedliche Funktionen des Manipulators in Verbindung
mit den einzelnen Punkten zum Ausdruck zu bringen. Ein
809811/0891 .
• I *
Rechner in Verbindung mit der elektronischen Steuerung des Manipulators errechnet dann, wie später noch im einzelnen beschrieben
wird, die entsprechenden Positionssignale für die beispielsweise β Bewegungskoordinaten des Manipulatorarmes
die den im Arbeitsbetrieb gleichzeitig zu erwartenden Förderbandpositionen Rechnung tragen· Die errechneten korrigierten
Positionssignale werden zusammen mit den betreffenden Positionssignalen aus dem Förderbandcodierer 1028 im Programmspeicher
des Manipulators aufgezeichnet, um im Arbeitsbetrieb als Steuerbzw. Bezugssignale zu dienen.
Ist die Aufzeichnung der korrigierten Positionssignale für den gewählten Bereich von beispielsweise 30 cm Ausdehnung erfolgt,
so kann der Programmierer den Manipulatorarm in einen neuen Instruktionsbereich auf der Karosserie führen, worauf
die Manipulatorsteuerung die zu erwartende Förderbandposition entsprechend der letzten "statisch", d.h. bei stillstehendem
Förderband eingegebenen Position nach Fernschreibmanier ausdruckt oder auf sonstige geeignete Weise angibt. Daraufhin
führt der Programmierer entweder manuell oder mit Hilfe automatischer Steuermittel das Förderband um etwa die betreffende
Strecke oder etwas weiter nach, etwa bis zur Mitte des nächsten Instruktionsbereiches auf der Karosserie.
Für dieses Vorrücken des Förderbandes können elektronische Hilfsmittel Verwendung finden, die es erlauben, das Förderband
bis zur Herstellung einer annähernden Übereinstimmung zwischen der errechneten aufgezeichneten und der tatsächlichen Förderbandposition
bzw. bis zu einem Punkt eine bestimmte Strecke jenseits der zuletzt aufgezeichneten Förderbandposition nachzuführen.
Die elektronischen Hilfsmittel können darüberhinaus auch eine Bewegung des Manipulatorarmes bis zu der zuletzt aufgezeichneten
errechneten Position aus der zuletzt statisch eingegebenen Position heraus bewirken. Die Instruktion des Manipulators
kann im übrigen an dem betreffenden Förderband selbst oder aber an einer Nachbildung desselben in Verbindung mit
809811/0891
einem Werkstück aus der normalen Fertigung oder einer Atrappe
eines solchen erfolgen. Auf diese Weise kann die Instruktion des normalen Fertigungsablaufes erfolgen, wobei auch die normalen
Förderbänder keiner Sonderausstattung zum gesteuerten Vorrücken für die ManipulatorInstruktion bedürfen.
Auf jeden Fall ist der Programmierer nun in der Lage, anhand
eines stillstehenden Werkstücks in einem neuen Instruktionsbereich
desselben die Programmierung fortzusetzen, wobei der Rechner der elektronischen Manipulatorsteuerung die entsprechenden Programmpositionen
errechnet und als korrigierte Positionssignale in den Speicher eingibt. Dieser Vorgang wiederholt sich bis sämtliche
in Verbindung mit den geforderten Verrichtungen des betreffenden Manipulators an dem Werkstück erforderlichen Positionen in dem
Programmspeicher festgehalten sind, wobei das Förderband jeweils beim übergang von einem Arbeitsbereich zum nächsten manuell oder
mittels elektronischer Hilfsmittel vorgerückt wird. Dabei haben sieh Bereiche von etwa 30 cm Ausdehnung als zweckmäßig erwiesen,
um drohende Kollisionen auf Grund der dreidimensionalen Gestalt der Werkstücke, von Türen, Fensterrahmen und dergl. noch voraussehen
zu können, sowie auch zur Erzielung einer befriedigenden Rechengenauigkeit. Lässt die Gestalt der Werkstücke jedoch keine
Kollisionsprobleme erwarten, wie z.B. im Falle flacher Werkstücke, und ist der Bewegungsbereich des Manipulatorarmes groß
genug, so können die betreffenden Instruktionsbereiche, bei denen das Förderband stillsteht, auch größer gewählt werden.
Die Errechnung der Programmdaten aus den statisch eingegebenen Positionen geht von einer Bewegungsgeschwindigkeit des ausgefahrenen
Manipulatorarmes aus, die größer ist als die maximale Förderbandgeschwindigkeit. Auf diese Weise kann der Arm dem
Vorrücken des Werkstücks stets Folge leisten oder eforderlichenfalls
auch vorauseilen. Indessen kann der Manipulator auch so programmiert werden, daß der Arm sich entgegengesetzt zu der Vorschubbewegung
des Förderbandes bewegt, wobei seine Maximalgeschwindigkeit über einen geeigneten Zeitraum etwa 30 cm/s betragen
und der Arm zum Stillstand kommen kann, während er auf das Eintreffen eines geeigneten Kontaktpunktes am Werkstück wartet,
809811/0891
-χΤ-
um sodann nach erfolgtes Kontakt mit den Werkstück sich mit
der Förderbandgeschwindigkeit mitzubewegen, wie dies z.B. für die Durchführung einer Punktschweißoperation erforderlich
ist.
Sind alle errechneten Programmpunkte entsprechend den statisch eingegebenen Positionen auf dem Werkstück aufgezeichnet,
so kann das Förderband 1000 mit gleichbleibender Geschwindigkeit von beispielsweise 15 cm/s angetrieben werden. Der seitens
des Förderbandes 1000 angetriebene Codierer 1028 liefert dabei wiederum digitale Positionssignale für alle zugrundeliegenden
Bewegungsinkremente des Förderbandes, zu denen die in dem Programmspeicher
aufgezeichneten Positionsdaten abgerufen werden, so daß der Manipulatorarm präzise die zuvor, im Instruktionsbetrieb, anhand des stillstehenden Werkstücks eingegebenen
Positionen gegenüber dem nun bewegten Werkstück anfährt.
Soll an der Karosserie 1002 eine Punktschweißoperation erfolgen, so fahren die beiden Elektroden 1030 und 1032 an der betreffenden
Stelle der Karosserie zusammen, womit das betreffende Ende des Manipulatorarmes 1004 gezwungen wird, sich fur den
betreffenden Zeitraum mit der kontinuierlich weiterlaufenden Karosserie mitzubewegen. Läuft das Förderband 1000 mit der angegebenen
Geschwindigkeit von 15 cm/s und sind die Schweißelektroden 1030 und 1032 für etwa 3/10 s zusammengefahren, so muß
das Ende des Manipulatorarmes 1004 der Karosserie über etwa 4,5 cm hinweg efolgen.
Während des Instruktionsbetriebes, von dem nachfolgend noch im einzelnen die Rede sein wird, wird der Manipulator zu diesem
Zweck so programmiert, daß sich der Arm 1004 in Richtung der Förderbandbewegung und mit der Geschwindigkeit des Förderbandes
bewegt während solcher Zeitabschnitte, in denen beispielsweise eine Punktschweißoperation durch die Elektroden 1030 und 1032
erfolgt. Dieser Betriebsart liegt also die Annahme zugrunde, dass der Manipulatorarm bzw. die daran befindlichen Schweißelektroden
während des Zeitraumes, den die Schweißoperation in
809811/0891
Anspruch nimmt, gegenüber der Karosserie keine oder so gut wie keine Relativbewegung erfahren dürfen.
Obgleich man annehmen kann, daft die vorausgehend erwähnte
Programmierungsart präzise genug ist, um einen herkömmlichen Manipulatorarmantrieb dazu zu bringen, während der Dauer einer
Schweißoperation die Schweißelektroden mit der Karosserie unverrückbar
in Eingriff zu halten, 1st es jedoch auch möglich, eine kleine "Manipulatorhand" oder dergl. an dem Arm 1004 vorzusehen,
die in der Lage ist, etwaige Abweichungen im Bewegungsablauf beider Teile auf Grund von üngenauigkeiten ihrer Steuerung
zu kompensieren.
Die im Instruktionsbetrieb anfallenden Rechnungen die erforderlich
sind, können von einem herkömmlichen Rechner ausgeführt werden, um die statisch eingegebenen Positionsdaten in die
im Programmspeicher aufzuzeichnenden korrigierten Positionsdaten umzurechnen. Dieser Rechner kann auch feststellen, dafi die statisch
eingegebenen Positionen für eine bestimmte Genauigkeit unzureichend sind. Dabei liefert der Rechner, wenn der Programmierer
versucht, mit dem Manipulatorarm die nächste Position anzufahren, eine entsprechende Anzeige und gibt gleichzeitig in gedruckter
oder sonstiger Form eine Position des Förderbandes entsprechend der zuletzt errechneten und aufgezeichneten Förderbandposition
zu erkennen, über die hinaus das Förderband vorgerückt werden sollte. Infolgedessen wird der Programmierer das
Förderband manuell oder automatisch in etwa diese angegebene Position bringen und von dort weg die Instruktion fortsetzen,
soweit dies die Arbeitsvorgänge in diesem Bereich erfordern oder bis der Rechner wiederum ein Torrücken des Förderbandes
auf Grund eines Genauigkeits- und/oder Kollisionsproblems verlangt.
Die elektronische Manipulatorsteuerung ist des weiteren mit
einer Interpolationseinheit zur Erzeugung von Interpolationsintervallen variabler Dauer ausgerüstet, die dazu dient, den Manipulator
in Synchronismus mit dem Förderband zu halten und innerhalb der Programmschritte eine im wesentlichen konstante
809811/0891
Geschwindigkeit aufrechtzuerhalten. Dazu unterteilt diese
Interpolationseinheit die als Bezugssignale aufgezeichneten Förderbandpositionssignale und die als Steuersignale aufgezeichneten
korrigierten Positionssignale für die sechs Bewegungskoordinaten des Manipulatorarmes auf Multiplexbasis in
jeweils eine bestimmte Anzahl von Inkrementen, um die Positionssignale dieser Inkremente während entsprechender Interpolationsintervalle
als künstliche Steuersignale für die Manipulatorsteuerung zu verwenden.
Die Anzahl der Interpolationsintervalle ist gleich der Anzahl der Inkremente, und die Interpolationsintervalle werden mit veränderlicher
Länge erzeugt. Diese Anzahl beträgt in einem bestimmten Beispiel 2n entsprechend einer Anzahl von zugrundeliegenden
Bewegungsinkrementen des Förderbandes zwischen aufeinanderfolgenden Programmschritten von 2n bis 2 χ 2n. Die
Dauer der 2n Interpolationsintervalle wird über eine Zeit gemittelt,
die einer Bewegung des Förderbandes zwischen 2n bis 2 χ 2n zugrundeliegenden Bewegungsinkrementen entspricht, wobei
bestimmte der künstlichen Steuersignale um die Dauer von zwei zugrundeliegenden Bewegungsinkrementen auseinanderliegen, während
die übrigen künstlichen Steuersignale mit der Dauer von einem zugrundeliegenden Bewegungsinkrement (bei nominaler Förderbandgeschwindigkeit
) aufeinanderfolgen.
Der mechanische Aufbau des Manipulators geht aus Fig. 2 hervor und ist im einzelnen in der DT-OS 26 49 123 beschrieben,
worauf hier ausdrücklich Bezug genommen wird.
Nachfolgend sei nun die elektronische Steuerung des Manipulators betrachtet, die es erlaubt, den Manipulator zu instruieren
so daß er im nachfolgenden Arbeitsbetrieb eine Serie aufeinanderfolgender Operationen und diese Serie stets aufs
Neue automatisch zu vollführen vermag. Dazu sei vermerkt, daß der betreffende Manipulator von der gleichen Art ist, wie in
der erwähnten DT-OS 26 49 123 beschrieben. Während des Arbeitsbetriebes werden die dann anfallenden Positionssignale aus den
809811/0891 /
Codierern des Manipulatorarmes für eine jede Koordinate mit
den digitalen Steuersignalen verglichen, die während des Instroktionsbetriebes
als korrigierte Positionssignale in dem Programmspeicher aufgezeichnet werden. Aus dem Vergleich resultiert
ein Abweichungssignal, welches dazu Verwendung findet, die Antriebsmittel für die einzelnen Koordinaten so zu steuern,
daß der Manipulatorarm die durch das jeweilige Steuersignal vorgegebene Position zu erreichen sucht.
Zur Erläuterung der Berechnung während des Instruktionsbetriebes sei auf die Figuren 3 und 4 sowie die erwähnte DT-OS
26 49 123 Bezug genommen. Die Bewegungen in den sechs Bewegungskoordinaten des Manipulatorarmes 1004, die sämtlich Winkelbewegungen
sind, werden symbolisiert durch Fig. 3 in Bezug auf ein eartesisches Koordinatensystem Z-T-Z. Die Beziehungen der
Winkelbewegungen untereinander die erforderlich sind zur Errechnung entsprechender Bewegungen in dem Koordinatensystem
X-T-Z, gehen wiederum aus der DT-OS 26 49 123 hervor.
Zur Berechnung der korrigierten Positionssignale für alle sechs Koordinaten werden die Winkelwerte aus den Codierern und
die betreffenden Beziehungen dieser Winkelwerte untereinander in Cartesische Koordinaten des Koordinatensystems X-T-Z umgeformt.
Die fOr die Umrechnung der statisch eingegebenen Werte
in diejenigen für das laufende Förderband erforderlichen Bewegungsinkremente
werden in den Carteslschen Koordinaten hinzuaddiert.
Sodann werden die so korrigierten Cartesischen Koordinatenwerte in Polarkoordinaten rückgerechnet, um Winkelwerte O zu erhalten, die als Steuersignale für den Arbeitsbetrieb
im Programmspeicher aufgezeichnet werden. Fig. 4 veranschaulicht die verschiedenen zusammenhängenden Bewegungskomponenten
des Manipulatorarmes, wie sie im einzelnen in der DT-OS 2ff 49 123 beschrieben sind.
809811/0801
Im Instruktionsbetrieb bringt der Programmierer den Manipulatorarm
manuell oder mit Hilfe von Instruktionssteuermitteln zunächst in eine erste Position des gewünschten Programms entsprechend
dem Punkt P1 auf dem Werkstück, worauf die entsprechenden Positionssignale
dem Rechner zugeführt werden, draufhin bringt der
Programmierer den Arm in die nächste Position entsprechend dem Punkt P2 ohne Weiterbewegung des Förderbandes. Diese Armbewegung
besteht im Beispiel der Fig. 4 alleine aus einer solchen in T-Richtung. Auch hier wieder werden die betreffenden Positionssignale dem Rechner zugeführt. Der Punkt P1M1 ist der Ort des
Punktes P1 auf dem Werkstück, den der Punkt P~s einnimmt, wenn
das Werkstück sich entsprechend dem zugehörigen Programmschritt weiterbewegt hat. Der Punkt P1U1 kann im Arbeitsbetrieb als
Punkt P1 zur Programmzeit 1 bei laufendem Förderband bezeichnet
werden. Der Punkt P2M1 ist der Ort des Punktes Pg8 auf dem
Werkstück bei der Förderbandposition entsprechend dem Programmschritt 1 oder der Punkt P33 zur Programmzeit 1 bei laufendem
Förderband. Ist P1 der erste der gesamten Programmpunkte, so
entsprechen P1M1 und P2Ml den *>αηΐΕ*βη pis bzw* P2s*
Der Rechner errechnet nun die erforderlichen Daten für die angenommene Maxima!geschwindigkeit des Förderbandes Z, von
15 cm/s, während sich der Manipulatorarm vom Punkt ?]»« zxm
Punkt P2Ho (***£· 4) begibt. Die Förderbandbewegung könnte natürlich
auch in Richtung der T- und Z-Koordinaten erfolgen, wie nachfolgend noch erläutert wird. Der Punkt P2H2 ist der Ort des
Punktes P33 zur Zeit des Programmschrittes 2 bei der voraussichtlichen
Förderbandgeschwindigkeit. In der Figur ist die gewünschte Bewegung des Manipulatorarmes, die dieser im Arbeitsbetrieb vollführt, um bei laufendem Förderband an dem Punkt
P2s auf dem Werkstück gegenüber dem Punkt P13 anzukommen, mit
AS1-2 bezeichnet. Die dazugehörige Bewegungsgeschwindigkeit
des Manipulatorarmes ist S.
Um während des Instruktionsbetriebes den Punktouo zu berechnen,
werden die für die Punkte P1M1 und P2H2 kritischen Armpunkte
3, 5 und 6, die durch die statischen Winkelwerte O1 bis O6 angegeben
werden, zunächst in Cartesische Koordinaten umgerechnet
•09811/0891
wie folgt (die Umrechnung von Polarkoordinaten in Cartesische Koordinaten erfolgt mit Hilfe der trigonometrischen Funktionen,
die in der erwähnten DT-OS 26 49 123 angegeben sind):
(6J | t ,· |
i | {5) | 5IMl | I |
xß 6IMl |
X5 5IMl |
Z5 5IMl |
|||
6IMl | Y | ||||
Zß 6IMl |
|||||
xß 62M1 |
X5 52M1 |
62M1 | 52M1 |
Z6 62M1 |
Z5 52M1 |
'IMl IMl
IMl
'2Ml 2Ml '2Ml
Zur Berechnung von P1M1* de« verlagerten Ort des Punktes
Pls' muß die Position des Förderbandes bei dem betreffenden
Programmschritt in Gestalt der Anzahl zurückgelegter zugrundeliegender Bewegungsinkremente S. D- vom Beginn des Programmes
ab bestimmt werden, der durch die vorbestimmte Ausgangsposition des Förderbandes festgelegt ist. Dazu sei daran erinnert,
daß die Programmsynchronisierung und -steuerung durch die jeweilige
Förderbandposition und nicht durch den Zeitablauf bestimmt wird, obgleich es für Programmierer und sonstiges Bedienungspersonal
üblicher und logischer ist, von der bis zu einem bestimmten Programmschritt verstrichenen Programmzeit zu sprechen.
Infolgedessen kann die Bewegung des Förderbandes von der Ausgangsposition bis zum Programmschritt entsprechend dem Punkt
P1 als die verstrichene Programmzeit ^LTβ mulipliziert mit der
nominalen Förderbandgeschwindigkeit Z^ definiert werden. Der
Wert $_D- kann vom Speicher der Steuerung erhalten werden, da
ja die von dem Codierer 1028 des Förderbandes angezeigten Bewegvngsinkremente
mit Jedem Programmschritt im Instruktionsbetrieb errechnet und aufgezeichnet werden, um den Programmablauf
809811/0891
Ä5
is Arbeitsbetrieb zu steuern. Der Punkt P1M1 kann nun in Matrixform
wie folgt ausgedrückt werden (wobei angenommen ist, daß die Bewegung des Förderbandes allein in Z-Richtung stattfindet):
'is
'is
'is
für (S)
für C5):
+ ZD1
für (3):
Is
Is
'Is
Is
Is
'Is
Wegen der in dem gewählten Beispiel allein in Z-Richtung stattfindenden Bewegung des Förderbandes haben nur die Z-Glieder
von P1M1 gegenüber P-_ eine Veränderung erfahren, nämlich
um einen Faktor, der in dem vorausgehend aufgezeichneten Programmschritt als erwartete oder "projizierte** Förderbandposition
enthalten ist. Stattdessen können auch die Polarkoordinaten des Punktes P1M1 aus dem Speicher gelesen und in entsprechende
Cartesische Koordinaten umgewandelt werden.
Die Komponenten der Verschiebung P1M1 nach P»M2 w#rden
nun berechnet unter Verwendung der Beziehungen aus Fig. 4:
809811/0891
wobei ΔΖΤ, o der Strecke entspricht, die das Förderband
JjX-«i
während derjenigen Zeit zurücklegt, die der Manipulatorarm für seine Bewegung von P-s nach P2g benötigt. Es ist ersichtlich,
daß die Geschwindigkeit S des Manipulatorarmes größer sein muß als die Geschwindigkeit Z. des Förderbandes, wenn
der Manipulatorarm bei laufendem Förderband dem Werkstück vorauseilen soll. Die (statische) Verschiebung ^S. wird zwisehen
den Punkten P1 und P„ berechnet entsprechend der
"Aufgabe II" in der DT-OS 26 49 123:
(χ« - χ= )2 + (Y1= - υ= )2 + (ζ- - z, y
52s 5Is 52s 5Is 52s 5Is
Dabei ändern sich wiederum nur die Z-Komponenten von P1
und P2s auf Grund der Bewegung des Förderbandes, da die einzige
Verlagerung, die das Förderband gegenüber der statisch ermittelten Werkstückposition beiträgt, in Z-Richtung auftritt. Die
X- und Y-Koordinaten bleiben also, ebenso wie die Vektoren b und c unverändert. Im Beispiel der Fig. 4 lässt sich bei
einer Bewegung von P4 nach P0 in Y-Richtung von beispielsweise
5 cm der Ausdruck ^S1_o wie folgt wiedergeben:
IjX- ο X-* L
werden. Dies ergibt nach Vereinfachung
Zur Auflösung dieser Gleichung wird die Zeit T1-2 für dle Zurücklegung
der Strecke "2"S^I2" bei 30 cm/^s MftnlPulatorarmgeschwindigkeit
errechnet als Anzahl der zugrundeliegenden Bewegungsinkremente aus dem Förderband-Codierer 1028 bei einer
809811/0891
-g"- 27A0507
nominalen Forderbandgeschwindigkeit ZT. Infolgedessen ergibt
die Gleichsetzung von AS, o -τ/5ζ + (T, o · 15)*'mit
• x—« ' i—«
Δδ1-2 - S ' Tl-2:
o - S · T1 „ - /δ2 + (T1 „ · 15)2 - 30 cm/s · T, „.
X—A Χ—β ' Χ—β Χ—β
Eine Vereinfachung dieser Gleichung führt zu einer **projizierten Zeit** Τχ_2 für den übergang vom Punkt P1M1 zum Punkt P
von etwa 0,19? Sekunden bei der nominalen Förderbandgeschwindigkeit. Die Anzahl der zugrundeliegenden Bewegungsinkremente, die
mit der maximalen Förderbandgeschwindigkeit zurückgelegt werden und die einem Zeitintervall von 0,192 s entsprechen, errechnet
sich wie folgt:
λ ο ft 10.2
1-2 TEinheit 0.00234
Der Programmschritt für den übergang vom Punkt 1 zum Punkt 2,
d.h. von P1 nach P2, ergibt sich hiernach als ein Schritt von
82 zugrundeliegenden Bewegungseinheiten. Durch Abrunden der Anzahl
der Intervalle nach unten ergibt sich eine etwas höhere Armgeschwindigkeit, um die Bewegung innerhalb der korrekten
Zeit zu beenden. Obgleich vorausgehend nur ein Beispiel für eine Armbewegung in T-Richtung zwischen den statisch eingegebenen
Punkten P18 und P2s beschrieben wurde, ist natürlich
jede Bewegung zwischen zwei aufeinanderfolgenden statisch eingegebenen Punkten auf gleiche Weise möglich, auch eine selche
mit Komponenten zugleich in X-, T- und Z-Richtung. Darüberhinaus braucht sich die Bewegung des Forderbandes, wie gesagt,
nicht auf die !-Richtung zu beschränken, sondern kann auch im X- oder T-Richtung oder in jeder dazwischenliegenden Richtung
erfolgen. Im letzteren Falle erfordert die Berechnung eine Vektoraddition der Bewegungskomponenten in der X- «nd der
T-Richtung zu derjenigen in der Z-Richtung.
809811/0891
- ir-
X*
Mit der errechneten Zeit T1-2 - 0,192s des gewählten Beispiels
lassen sich die tatsächlichen Koordinaten von P2H2 nun
wie folgt berechnen:
'2s
l6
2s
'2s
'2s
'2s
'2s
'2s
'2s
'2s
wobei ZD2 - ZD1 + D1-2 ist «it D1-2 als der errechneten
Anzahl von Bewegungsinkrementen der während des Überganges des Manipulatorarmes von P1M1 nach P2M2 zu erwartenden Förderbandbewegung
.
Nachdem die Cartesischen Koordinaten von P2M2 nun bestimmt
sind, werden die Polarkoordinaten O - bis Oß für den Punkt
berechnet durch die inverse Koordinatentransformation,
wie sie in der DT-OS 26 49 123 im einzelnen beschrieben ist.
Die für den vorausgehenden Programmschritt berechneten Polarkoordinaten O1 bis Og für den Punkt P1H1 und die Polarkoordinaten
809811/0891
O1 bis Og für den Punkt P2M2 bestimmen die Anfangs- und Endpunkte
der vorgesehenen Bahnbewegung bei laufendem Förderband und werden an einem geeigneten Adressenplatz für die einzelnen
Bewegungskoordinaten in dem Programmspeicher aufgezeichnet zusammen mit der Anzahl der für die jeweilige Koordinate erforderlichen
Bewegungsinkremente zur Zurücklegung der betreffenden Strecke.
Dieser Vorgang wiederholt sich für den nächsten Punkt auf dem Werkstück, wie z.B. den Punkt P33, wobei auf gleiche Weise
die Daten für die zu erwartende Förderbandbewegung aus den Daten für P2n2» P2s und P3s berechnet und sodann auch die Daten für
P3ll3 berechnet und aufgezeichnet werden.
Diese Art der Programmierung bei stillstehendem Förderband durch Berechnung zu erwartender Daten im Hinblick auf die Förderbandbewegung
im Arbeitsbetrieb setzt sich fort für eine Serie von Arbeitsoperationen an dem Werkstück innerhalb des jeweiligen
Instruktionsbereiches von beispielsweise 30 cm Ausdehnung. Danach liest der Programmierer die in Verbindung mit dem letzten
eingegebenen Programmschritt aufgezeichnete letzte Förderbandposition ab und bewegt das Förderband etwa 30 cm oder mehr weiter,
worauf eine weitere Programmierung bei stillstehendem Förderband durch Instruktion des Manipulatorarmes in einem entsprechendem
Bereich erfolgt. Auf Grund vorausgegangener Rechenungenauigkeiten kann der Rechner dem Programmierer während einer
Serie von solchen statischen Instruktionsvorgängen anzeigen, daB das Förderband weitergerückt werden sollte, bevor neue Programmschritte
errechnet und aufgezeichnet werden. Auch können voraussehbare Kollisionen zwischen dem Werkstück und dem Manipulatorarm
eine vorausgehende Weiterbewegung des Förderbandes erforderlich machen, bevor wieder eine bereichsweise Instruktion
Punkt für Punkt bei stillstehendem Förderband erfolgt. Solche Kollisionsprobleme entstehen, wie gesagt, durch die im allgemeinen
dreidimensionale ggf. Hohlräume aufweisende Form der Werkstücke, wobei sich der Manipulatorarm beispielsweise um Autotüren
herumbewegen oder innerhalb der Karosserie arbeiten muA.
809811/0891 *Λ
Betrachtet man nan die Programmierung einer Sehweißarbeit
in den vorausgehend geschilderten Instruktionsbetrieb, so ist ersichtlich, daß die Schweißelektroden 1030 und 1032 während
derjenigen Zeit, die für eine einwandfreie Schweißung erforderlich ist, exakt alt einem bestimmten Punkt des Werkstücks in
Berührung bleiben müssen. Dabei müssen sich die Schweißelektroden mit der zu erwartenden Forderbandgeschwindigkeit mit dem
Förderband mitbewegen, und zwar nicht nur wahrend der eigentlichen
Schweißzeit, sondern auch während derjenigen Zeit, die sie zum Schließen bzw. Öffnen benötigen. In dieser Zeit muß
also Z. - S sein. Nimmt man Z, zu 15 cm/s und eine minimale Schweißzykluszeit von 0,25 Sekunden an, so wird sich der betreffende
Punkt der Karosserie in dieser Zeit etwa 3,8 cm bewegen. Die Schweißzykluszeit soll 0,05 s für das Schließen und 0,05 Sekunden
für das öffnen der Elektroden enthalten. Beides soll, wie gesagt, unter Mitlauf der Schweißpistole mit Förderbandgeschwindigkeit
erfolgen, um eine präzise Positionierung des Schweißpunktes zu ermöglichen, da sich die öffnungs- und Schließzeiten
nicht genau angeben lassen. Die Schweißung selbst erfordert eine genaue Bestimmung des Schweißpunktes und Mitlauf der
Schweißpistole in Synchronismus mit dem Förderband während der eigentlichen Schweißzeit.
Die erforderliche Berechnung, um die für einen Schweißzyklus benötigen Daten durch Instruktion bei stillstehendem Förderband
zu gewinnen, verwendet die aufgezeichneten Positionsdaten des vorausgegangenen Programmschritts und schließt die Berechnung
einer Bewegung von einem Punkt zu einem anderen ein, wie z.B. vom Punkt P-_ zum Punkt P33, wie vorausgehend beschrieben. Sind
die Koordinaten des Punktes P2U2 berechn·* und aufgezeichnet,
als Anfangspunkt des Schweißzyklus, so wird der nächste Programmschritt
als **SchweißschrittM aufgezeichnet, worin die Be-
wegungsgeschwindigkeit des Manipulatorarmendes Z. beträgt und
die Schweißzykluszeit die Anzahl der zugrundeliegenden Bewegungsinkremente
des Förderbandes bestimmt. Die Positionsdaten
809811/0891
für den Endpunkt des Schweißzyklus werden durch eine vereinfachte
Rechnung gegenüber der vorausgehend geschilderten fur den übergang
von P. nach P„ erhalten. Dieser Punkt ergibt sich nämlich
einfach durch Addition der Verlagerung während des Schweißzyklus in X-, T- und Z-Richtung und Rückverwandlung der erhaltenen Daten
in Polarkoordinaten, die aufgezeichnet werden. Die für die Kombination gewünschter Schweißpunkte und die Bewegung zum übergang
von einem Schweiftpunkt zum nächsten aufgezeichneten Programaschritte
werden alle aus den aufgelaufenen Bewegungsinkrementen des Förderbandes und den Positionssignalen für die Bewegungskoordinaten
des Manipulatorarmes in Verbindung mit einem Interpolationscode gebildet, wovon noch die Rede sein wird.
Zuzüglich zu der Bewegung des Manipulatorarmes zwischen verschiedenen
Punkten des Werkstücks und den Schweißzyklen, bei denen das Ende des Manipulatorarmes mit dem Werkstück mitläuft,
kann eine Bewegung des Manipulatorarmes in einer Richtung erwünscht sein, die entweder gegenüber der Bewegung des Förderbandes
oder sogar gegenüber einer statischen Werkstückposition nach rückwärts weist. Diese steht im Gegensatz zu der vorausgehend
erwähnten Bewegung zwischen Punkten des Werkstücks, bei welcher der Manipulatorarm sich mit dem Förderband oder dem Förderband
vorauseilend bewegt. Ist eine solche rückwärtsgerichtete Traversionsbewegung gegenüber dem Werkstück nur klein, so verzeichnet
die Manipulatorsteuerung diese Bewegung als Warteschritt, während dessen sich das Werkstück gegenüber dem verharrenden Manipulatorarm
mit der Förderbandgeschwindigkeit von beispielsweise 15 cm/s vorwärtsbewegt.
In anderen Fällen jedoch, wo es sich um größere Strecken handelt, wird Zeit dadurch eingespart, daß der Manipulatorarm
sich mit z.B. 30 cm/s aktiv in Rückwärtsrichtung bewegt. Der betreffende Übergangspunkt wird bei der Programmierung festgelegt.
809811/0891
Die betreffenden mathematischen Berechnungen entsprechen den vorausgehend beschriebenen mit der Ausnahme, daß S nun ein umgekehrtes
Vorzeichen besitzt. Sie fuhren zu einer Traversierungszeit
entsprechend einer bestimmten Anzahl zugrundeliegender Bewegungsinkremente des Förderbandes. Da es jedoch nicht vorteilhaft
ist, ein Servosystem plötzlich umzusteuern, wird eine Technik von Stopp- und Warteschritten gewählt. Auf Grund seiner
Trägheitsverhältnisse erfordert der Manipulatorarm beispielsweise 0,05 Sekunden, um zum Stillstand und zur Ruhe zu kommen,
bevor er sich in umgekehrter Richtung in Bewegung setzen kann.
Daher werden die Berechnungen so durchgeführt, daß zunächst
ein End- oder Stoppunkt festgelegt wird, der 0,05 Sekunden bzw., bei nominaler Förderbandgeschwindigkeit, 0,75 cm vor demjenigen
Punkt liegt, an dem sich die Bewegungsrichtung des Manipulatorarmes umkehren soll. Auf diese Weise wird der Manipulatorarm
0,05 Sekunden angehalten, während das Förderband um 0,75 cm weiterläuft, bevor er den gewünschten Umkehrpunkt erreicht.
Zur Schilderung des Programmablaufes im Arbeitsbetrieb wird nun auf Fig. 5 Bezug genommen. Die im vorausgehend geschilderten
Instruktionshilfsbetrieb errechneten und aufgezeichneten Programmschritte finden sich in dem Programmspeicher 204. Sie werden
aus diesem Speicher durch eine Adressensteuerung 200 mit Hilfe eines zusammengesetzten digitalcodierten Adressensignals ACn und
drei niedrigwertigen Digits MOC (0-2) herausgelesen, wie im einzelnen
in der DT-OS 26 49 123 geschildert. Die Signale MGC (0-2) werden ebenso der Austastdecodierstufe 202 zugeführt, welche die
MuItiplex-Austastsignale Gl, G2, G3, G4, G5, G6, G7 und G8 liefert
(Fig. 6).
Die MuItiplez-Austastsignale G3, G4, G5, G6, G7 und G8 fallen
zusammen mit dem Erscheinen von Positionsdaten eines bestimmten Adressenschritts aus dem Speicher 204 für die Oberarmbeuge-, die
Armschwenk-, die Unterarmbeuge-, die Unterarmdreh-, die Handbeugebzw,
die Handdrehachse. Während der Dauer des Austastsignals Gl
809811/0891
stehen zusätzliche Steuerdaten zur Verfügung einschließlich solcher für die Art des gewünschten Programmschrittes (z.B.
Schweißschritt) und die Anzahl effektiver Interpolationsintervalle für den betreffenden Schritt, die während des Instruktionshilfsbetriebes
errechnet wurde. Während der Dauer des Austastsignals G2 erscheinen die aufgezeichneten Förderbandpositionsdaten
auf den Leitern IfD , welche die in Arbeitsbetrieb zu erwartende Position des Förderbandes für die aufgezeichneten Positionsdaten
der sechs Bewegungskoordinaten des Manipulatorarnes und damit diejenige Position bezeichnen, die das Förderband an
Ende des gegenwärtigen Progrannschritts einnimmt.
Nachfolgend sei nun die Arbeitsweise in Punktsteuerbetrieb (PTP-Betrieb) (C) und im Bahnsteuerbetrieb (CP-Betrieb) betrachtet.
Die Daten Cn in CP-Betrieb gelangen über den Multiplexschalter
206 an einen Eingang des digitalen Vergleichers 208 nit Hilfe eines Betriebsartsignals S. Der zweite Eingang
des Vergleichers 208 enpfängt die in Digital- und Multiplexforn auftretenden Positionssignale E der Codierer. Der Vergleicher
208 vergleicht diese beiden Signale und liefert daraus ein digitales Abweichungssignal DB8, welches bezeichnend ist für die
Gröfie der Abweichung zwischen der jeweiligen tatsächlichen Position nach den betreffenden Codierer und der durch das in
η μ
vorgegebenen Position. Des weiteren liefert der Vergleicher 208 Hichtungssignale P und M an einen Digital-Analog-Umsetzer 210.
Der Digital-Analog-Unsetzer 210 erzeugt aus den digitalen Abweichungssignal DEg ein analoges Abweichungssignal ESp für die
Servosteuemittel des Manipulators, die hier generell nit 212
bezeichnet sind und die Servoventile 214 für die hydraulischen Antriebsnittel der einzelnen Bewegungskoordinaten des Manipulators
steuern. Der Vergleicher 208 und der Digital-Analog-Unsetzer 210 sind allen Bewegungskoordinaten des Manipulators gerne
insan, und die Servosteuemittel 212 enthalten geeignete Austast- und Haltestronkreise, un das analoge Abweichungssignal
ESg zwischen den aufeinanderfolgenden entsprechenden Multiplez-AustastIntervallen
eines bestimmten Progrannschritts festzuhalten.
809811/0891 ./.
Die Codierer für die sechs Bewegungskoordinaten des Manipulators und derjenige des Förderbandes (1028 in Fig. 1) sind zusammen
mit 216 bezeichnet. Sie liefern digitale Positionssignale an eine Austaststufe 218, welche diese Positionssignale in MuI-tiplexform
unter Steuerung dursh die Multiplexsignale G2 bis G8 an ein Register 220 liefert. Das Register 220 empfängt die
in Hultiplexform eintreffenden Positionsdaten während eines ersten Abschnitts eines jeden Austastsignals Gi über eine Mehrzahl
von Datenleitern für z.B. 15 Bits, um während des zweiten Abschnitts ein eindeutiges Ausgangssignal zu liefern. Das Ausgangssignal
E des Registers 220 tritt im Grey-Code auf und wird durch einen Codeumsetzer 222 in einen Binärcode umgewandelt.
Im Instruktionsbetrieb wird das Ausgangssignal des Codeumsetzers 222 einem herkömmlichen Rechner 224 zugeführt, der, wie gesagt,
nur im Instruktionsbetrieb tätig ist, um die vorausgehend erörterten Berechnungen durchzuführen, worauf die berechneten Daten
MEn in den Programmspeicher 204 eingegeben werden. Während
des Arbeitsbetriebes kann der Rechner 224 von der Manipulatorsteuerung getrennt sein, um an anderer Stelle im Instruktionsbetrieb Verwendung zu finden. Er kann Steuersignalausgänge CON
aufweisen und Speicherauslöse- sowie Betriebsartsignale an den Programmspeicher 204 liefern. Die betreffende Schaltung kann
im wesentlichen gleich derjenigen sein, welche in der DT-OS 26 49 123 im einzelnen beschrieben ist.
Im PTP-Betrieb (C) wird der Manipulatorarm 1004 punktweise gesteuert, wozu im Programmspeicher 204 gespeicherte Positionssignale als Steuersignale an den Vergleicher 208 geliefert werden.
Diese werden dort mit den gegenwärtig anfallenden Positionssignalen aus den Codierern 216 verglichen, um den Manipulator
derart zu steuern, dafi die resultierenden Abweichungssignale für alle Bewegungskoordinaten des Manipulators reduziert werden.
Zusätzlich zu den digitalen Abweichungssignalen DER liefert der
Vergleicher, wie gesagt, Richtungssignale P bzw. M, die bezeichnend sind für die Richtung der Abweichung, um die Servosteuermittel
212 zu veranlassen, die Servoventile 214 in solchem Sinn zu betätigen, daß die Abweichung in der betreffenden Koordinate
abnimmt.
809811/0891
Das Programs schreitet schrittweise fort, indem festgestellt wird, wann beide Richtungssignale, P und M, ein hohes Signalniveau
erreichen, was während des AustastintervalIs G2 Koinzidenz
für die Förderbandbewegung bedeutet. Tritt dieses Vergleichskriterium auf so wird der nächste Programeschritt abgerufen unabhängig
davon, ob die Abweichungssignale in den sechs Bewegungskoordinaten zu dieser Zeit verschwunden sind. Ebenso kann das
Programm bereits fortschreiten, wenn das Abweichungssignal für die Förderbandbewegung nur einen bestimmten Wert unterschritten
hat.
Die Berechnungen im Instruktionsbetrieb werden jedoch so durchgeführt, daß die Manipulatorarmgeschwindigkeit groß genug
ist, um das Erreichen einer gewünschten Armposition zu ermöglichen, bevor bezüglich der Förderbandbewegung Koinzidenz eintritt. Zum
Erhalt des Koinzidenzsignals für die Förderbandbewegung werden die Richtungssignale P und M an je einen Eingang eines NAND-Gatters
230 mit vier Eingängen gegeben, dessen Ausgang mit dem Setzeingang S eines Flip-Flops 232 in Verbindung steht. Die übrigen
beiden Eingänge des NAND-Gatters 230 empfangen schmale Impulse
G2·, die etwa in der Mitte des Austastsignals G2 erzeugt werden,
bzw. das Ausgangssignal eines ODER-Gatters 231, das an seinen beiden Eingängen ein CP- bzw. PTP (C)-Betriebsartsignal empfängt.
Der Rückstelleingang des Flip-Flops 232 empfängt das inverse Signal G2 des Förderband-Austastsignals G2, wodurch beim Auftreten
eines hohen Signalniveaus in den Richtungssignalen P und Ii sowohl im CP-Betrieb als auch im PTP-Betrieb (C) während des Austastsignals
G2 das Flip-Flop 232 gesetzt wird, um an seinem Q-Ausgang ein Signal mit hohem Signalniveau zu erzeugen, das einem
Eingang eines NAND-Gatters 234 mit drei Eingängen zugeführt wird. Die anderen beiden Eingänge des NAND-Gatters 234 erhalten
ein Signal LS, das für den letzten Interpolationsschritt im CP-Betrieb bezeichnend ist und dessen Erzeugung nachfolgend noch beschrieben
wird, bzw. ein Taktsignal GO, das während der zweiten Hälfte des Austastsignals G8 gewonnen wird. Das Ausgangssignal
des NAND-Gatters 234 liefert bei gleichzeitigem Auftreten eines
809811/0891
27A0507
Aasgangssignals aus dem Flip-Flop 232, des Taktsignals GO and
des Signals LS (letzter Interpolationsschritt eines Programmschritts im CP-Betrieb) über ein NAND-Gatter 236 mit zwei Eingängen
eines hohes Signalniveau in Fora eines Progranaschritt-Fortschaltsignals WSP an die Adressensteuerung 200.
Der Q-Ausgang des Flip-Flops 232 steht des weiteren mit einem
Eingang eines NAND-Gatters 238 mit drei Eingängen in Verbindung, dessen andere zwei Eingänge das PTP (C)-Betriebsartsignal
und das Taktsignal GO empfangen. Das Ausgangssignal des NAND-Gatters 238 bildet bei gleichzeitigem Auftreten des Ausgangssignals
aus dem Flip-Flop 232, des Taktsignals GO und des PTP (C)-Betriebsartsignals ein Signal mit hohem Signalniveau
über das NAND-Gatter 236, welches das Programmschritt-Fortschaltsignal
WSP für den PTP-Betrieb (C) darstellt.
Der übergang von einem Programmschritt zum nächsten bei
Koinzidenz zwischen dem Forderbandpositionssignal und dem Förderbandbezugssignal aus dem Programmspeicher 204 stellt sicher,
daß die Bewegungen des Manipulatorarmes 1004 im PTP-Betrieb (C) synchron mit der Bewegung des Förderbandes 1000 erfolgt.
Die vorausgehend bereits erwähnte Interpolationseinheit dient dazu, im CP-Betrieb und bei Herstellung kontinuierlicher
Schweißnähte (CPw-Betrieb) zwischen aufeinanderfolgenden Programmschritten
eine im wesentlichen gleichbleibende Geschwindigkeit aufrechtzuerhalten bei gleichzeitigem Synchronismus mit
der Förderbandbewegung. Diese Einheit liefert Steuer- bzw. Bezugssignale
innerhalb einer vorbestimmten Zahl effektiver Interpolationsintervalle, die künstlich aus den im Instruktionsbetrieb
errechneten und aufgezeichneten Positionsdaten erzeugt werden. Die betreffenden Interpolationsintervalle werden mit bestimmten
variablen Abständen und in Synchronismus mit den Förderbandpositionssignalen hervorgebracht.
Die Interpolationseinheit subtrahiert die mit aufeinanderfolgenden
Programmschritten aufgezeichneten Förderbandpositions-
809811/0891
signale und Steuersignale für die sechs Bewegungskoordinaten von einander, um daraus ein Differenzsignal auf Multiplex-Basis
zu gewinnen, welches die Differenzen zwischen dem gegenwärtigen und dem vorausgehenden Programmschritt angibt, unterteilt
diese Differenzen in eine vorbestimmte Anzahl von Inkrementen
entsprechend der für den gegenwärtigen Programmschritt während des Instruktionsbetriebes festgelegten Anzahl effektiver
Interpolationsintervalle, addiert diese Inkremente nacheinander zu den betreffenden Daten des vorausgehenden Programmschritts
und verwendet die so erhaltenen Signale während der betreffenden Interpolationsintervalle als Steuersignale für
die Bewegungen in den sechs Bewegungskoordinaten des Manipulators bzw. als Bezugssignal für die Synchronisation mit dem
Förderband.
Die Erzeugung der aufeinanderfolgenden künstlichen Steuersignale erfolgt unter Steuerung durch den Vergleich des vorausgehend
erhaltenen künstlichen Bezugssignals für die Förderbandbewegung und des gegenwärtigen Förderband-Positionssignals. Die
Anzahl der effektiven Interpolationsintervalle betrage in einem bestimmten Fall 2n, während die Anzahl der zugrundeliegenden
Bewegungsinkremente des Förderbandes zwischen aufeinanderfolgenden Programmschritten zwischen 2n und 2 χ 2n variieren kann.
Die Interpolationsintervalle treten in einem bestimmten Muster von Intervallen verschiedener Dauer auf, während welcher ein
entsprechendes künstliches Steuersignal für jede Bewegungskoordinate bzw. Bezugssignal für die Förderbandbewegung erzeugt
wird, und in einem bestimmten Beispiel entspricht die Dauer gewisser vorbestimmter Interpolationsintervalle der Periode von
zwei zugrundeliegenden Förderbandbewegungsinkrementen (d.h. der
tatsächlichen Zeit, die das Förderband im Arbeitsbetrieb zur Zurücklegung zweier Bewegungsinkremente benötigt). Die übrigen
Interpolationsintervalle haben eine Dauer entsprechend der Periode eines zugrundeliegenden Förderbandbewegungsinkrements.
Das Muster aus Interpolationsintervallen einfacher und doppelter
809811/0891
Periodendauer wird bestimmt durch das Verhältnis der Zahl zugrundeliegender Förderbandbewegungsinkremente zwischen den
Förderbandpositionsdaten des gegenwärtigen und denjenigen des vorausgehenden Programmschritts und der Zahl der effektiven
Interpolationsintervalle, die während des Instruktionsbetriebes für den gegenwärtigen Programmschritt aufgezeichnet wurden.
Mehr im einzelnen betrachtet, subtrahiert die Interpolationseinheit die gegenwärtigen Positionssteuersignale von denjenigen
des vorausgehenden Programmschritts auf Multiplexbasis, was zu einem Differenzsignal entsprechend den Positionsänderungen in
einer jeden der sechs Bewegungskoordinaten bzw. der Förderbandbewegung ("7. Koordinate**) zwischen den beiden Programmschritten
führt. Das Differenzsignal tür eine jede Koordinate wird dann
durch eine Zahl dividiert entsprechend einer vorbestimmten Anzahl effektiver Interpolationsintervalle, die im Instruktionsbetrieb errechnet wurde, um eine vorbestimmte Anzahl Differenzsignale
einzelner Inkremente zu erhalten, die dazu dienen, Steuer- bzw. Bezugssignale für die effektiven Interpolationsintervalle zu erzeugen.
Im ersten effektiven Interpolationsintervall wird das erhaltene Differenzsignal für das betreffende Inkrement zu dem
Ausgangspositionssignal des vorausgehenden Programmschritts hinzuaddiert, um das erste der vorbestimmten Anzahl Steuer- bzw.
Bezugssignale der effektiven Interpolationsintervalle zu bilden, die durch die Interpolationseinheit für einen einzigen aufgezeichneten
Programmschritt erzeugt werden. Dieses Steuer- bzw. Bezugssignal wird beibehalten bis der Vergleicher 208 Koinzidenz
feststellt zwischen dem künstlichen Bezugssignal des betreffenden Interpolationsintervalls und dem gegenwärtigen Positionssignal aus dem Förderbandcodierer 1028. Die inkrementell Änderung
des so unterteilten Differenzsignals für die Dauer des Multiplex-Austastsignals G2 des Förderbandes entspricht der
Positionsdifferenz zwischen aufeinanderfolgenden aufgezeichneten
80981 1 /0891
COPY
Positionssignalen, beispielsweise 807 - 500 - 307 Förderbandbewegungsinkrement
en, dividiert durch die betreffende Anzahl effektiver Interpolationsintervalle, z.B. 256, mithin einer
Zahl die größer als ein Förderbandbewegungsinkrement ist, im betrachteten Beispiel 1,199. Die Zahl der effektiven Interpolationsintervalle
besteht aus einem binären Vielfachen beispielsweise von 16, d.h. 16, 32, 64, 128 oder 256. Diese Zahl
wird stets so gewählt, daß sie kleiner oder gleich der Anzahl der zugrundeliegenden Förderbandbewegungsinkremente ist. Das
erste künstliche Bezugssignal für die Förderbandbewegung ist ein Inkrement oder unterteiltes Differenzsignal, welches grosser
ist als dasjenige der Ausgangsposition, wie z.B. 500 + 1,199 - 501,199. Dabei werden die Stellen nach dem Komma
durch die Interpolationseinheit vernachlässigt.
Erreicht in diesem Fall das gegenwärtige Positionssignal aus dem Förderbandcodierer 1028 den Wert 501, so findet die
damit entstehende Koinzidenzanzeige des Vergleichers dazu Verwendung, die Interpolationseinheit zum zweiten künstlichen
Bezugssignal überzuführen, welches den Wert 500 + 2*1,199-502,398
besitzt. Wieder werden die Kommastellen beim Vergleich mit dem entsprechenden gegenwärtigen Positionssignal vernachlässigt,
so daß das zweite künstliche Bezugssignal für die Förderbandbewegung 502 beträgt. Ist das Positionssignal des Förderbandcodierers
bei diesem Wert angelangt, so wird vom Vergleicher wiederum Koinzidenz festgestellt und das dritte künstliche Bezugssignal
erzeugt. Die Erzeugung der gesamten künstlichen Bezugssignale
j MD [Schritt (k)7 - M> [Schritt (k-l)7] m
Cm - —2 jj-S ti
+ imjschritt (k-1)]
wobei MDjSchritt (kjj das aufgezeichnete Positionssignal für den
gegenwärtigen Programmschritt k, MD fechritt (k-1)) das aufgezeichnete
Positionssignal für den vorausgehenden Programmschritt k-1, N die in dem Programmschritt k festgelegte Anzahl der
809811^0891
COPY
effektiven Interpolationsintervalle und m die Zahl der künstlichen
Bezugssignale in dem betreffenden Intervall ist, wobei die Beziehung gilt ImL. Für das zweite Interpolationsintervall
der Förderbandbewegung mit m - 2 ist das künstliche Bezugs signal in dem gewählten Beispiel dementsprechend:
- 500 + " 1.1" * 2 + 50° " 502.398 ä 502
Die obige Verfahrensweise setzt sich fort über das fünfte künstliche Bezugssignal C5 - 5,996 + 500 505. Das sechste
künstliche Bezugssignal ist C6 - 500 + 7,195 507. Die Bezugssignale für die ersten sechs aufeinanderfolgenden Interpolationsintervalle sind somit C1 - 501, C2 - 502, C3 - 503, C4 - 504,
C5 - 505 und C6 - 506. Das siebte künstliche Bezugssignal wird
also erzeugt wenn das Ausgangssignal des Codierers 1028 den Wert 507 erreicht. Die Dauer der Interpolationsintervalle entsprechend
den Bezugssignalen C-, C2, C3, C4 und C5 ist nominal
gleich der Dauer eines zugrundeliegenden Förderbandbewegungsinkrements,
d.h. der Zeit, die das Förderband benötigt, um bei nominaler Förderbandgeschwindigkeit die Strecke dieses Bewegungsinkrements
zu durchlaufen. Natürlich aber ändert sich die Dauer der Interpolationsintervalle bzw. -inkremente im Arbeitsbetrieb auf Grund der tatsächlichen Förderbandgeschwindigkeit.
Die Dauer des sechsten Interpolationsintervalls mit dem künstlichen Bezugssignal C6 entspricht nominal der Dauer zweier
zugrundeliegender Bewegungsinkremente. Allgemeiner gesagt wird in diesem Beispiel jedes fünfte Interpolationsintervall die
doppelte Dauer der vorausgehenden vier Intervalle besitzen, wie aus Gleichung (10) resultiert. Auf diese Weise werden 256
Interpolationsintervalle variabler Daue9nmit variablen Positionsäbständen
für die Strecke von 307 Förderbandbewegungsinkrementen
erzeugt, um eine Bewegung des Manipulatorarmes in Synchronismus mit dem Förderband mit nahezu konstanter Geschwindigkeit zu ermöglichen.
In einem anderen Beispiel, wo die Anzahl der aufgezeichneten Förderbandbewegungsinkremente 20 beträgt, wird die
in dem Programmschritt vermerkte Anzahl effektiver Interpolationsintervalle ein Code entsprechet 16 sein, d.h. das nächst
8U9811/O891 ./.
niedrigere binäre Vielfache von 16 entsprechend der Zahl der zugrundeliegenden Förderbandbewegungsinkremente. Die Bezugssignale aus der Förderbandbewegung für die Austastintervalle
während der 16 aufeinanderfolgenden Interpolationsintervalle sind demgemäß Gleichung (10): C1 - 1, Cg- 2, C3 - 3, C4 - 5,
C5 - 6, C6 - 7, C7 - 8, C8 - 10, C9 - 11, Cj0 - 12, Cn - 13,
C12 " 15>
C13 " 16> C14 " 17>
C15 " 18 Und C16 " 20* Die 1^110*
der Interpolationsintervalle entsprechend den Bezugssignalen C4» C8' C12 und C16 *Jedes vierten Bezugssignals) beträgt also
das Doppelte der Dauer der zugrundeliegenden Bewegungsinkremente während alle übrigen Interpolationsintervalle entsprechend den
Bezugssignalen C1, C3, C3, C5, Cß, C7, Cg, C10, Cn, C13, C14
und C1S eine Dauer von einer zugrundeliegenden Bewegungseinheit
besitzen.
Unter Steuerung seitens der Interpolationseinheit wird in dem Programmspeicher 204 ein aus drei Bits bestehender Interpolationsdatencode
für den CP-Betrieb aufgezeichnet, um im Arbeitsbetrieb während des Austastsignals Gl gelesen zu werden, wenn
eine entsprechende Kontrollinformation aus dem Speicher 204 CP- oder CPw-Betrieb anstelle von PTP (C)-Betrieb für den betreffenden
Programmschritt angibt. Die aufgezeichneten Datenbits, LN-I,
LN-2 und LN-3, geben die Anzahl der effektiven Interpolationsintervalle an, die während des Intruktionshilfsbetriebes für den
betreffenden Programmschritt errechnet und aufgezeichnet wurden. Der betreffende Code bezeichnet die effektiven Interpolationsintervalle, in dem betreffenden Beispiel als binäres Vielfaches
von 16, d.h. 16, 32, 64, 128 oder 256, wie dies durch die vorgesehene
Anzahl von Förderband-Bewegungsinkrementen für den betreffenden Programmschritt errechnet wurde. Wenn die Differenz
der aufgezeichneten Förderbandbezugssignale zwischen zwei aufeinanderfolgenden Programmschritten beispielsweise 307 beträgt,
so gibt der betreffende Code mit den Datenbits LN-I, LN-2 und LN-3 die Zahl 256 an. Allgemein gesagt ist die Anzahl der solchermaßen
als Code aufgezeichneten effektiven Interpolationsintervalle die nächstniedrigere Zahl gegenüber der Anzahl der Förderbandbewegungsinkremente
oder Differenzsignale zwischen den beiden
80S811/Ö891 -/.
Programmschritten in Gestalt eines Vielfachen von 16, also 16, 32, 64, 128 oder 256.
Der Interpolationscode mit den Bits LN-I, LN-2 und LN-3 wird
aus den Speicherdaten MDQ durch einen Decodierer 250 erhalten,
an dessen Ausgängen die decodierten Vielfachen von 16, nämlich 16, 32, 64, 128 und 256, erscheinen, um die Erzeugung der variablen
Interpolationsintervalle im CP-Betrieb zu steuern. Die in Multiplexform auftretenden Positionsdaten aus den Speicherdaten
HD für die sieben Koordinaten gelangen in die Interpolationseinheit, wobei der Multiplexschalter 206 daran gehindert ist,
Daten unmittelbar an den Vergleicher 208 zu liefern. Die Speicherdaten MD werden einer Subtraktionseinheit 252 und einem
η
-1-Schrittregister 254 zugeführt, das jeweils durch das CP-Signal
wirksam gemacht wird. Die Subtraktionseinheit 252 und das Register 254 dienen dazu, das gegenwärtige S.euer- bzw. Bezugssignal, beispielsweise
dasjenige des Programmschritts 11, von dem vorausgehenden, beispielsweise demjenigen des Programmschritts 10, für
sämtliche Koordinaten zu subtrahieren. An seinem Ausgang erscheint ein Sammelsignal ^M, welches die Positionsdifferenz zwischen
den Steuer- bzw. Bezugssignalen zweier aufeinanderfolgender Programmschritte auf einer Datensammelleitung für alle sieben
Koordinaten in Multiplexform angibt.
Das -1-Schrittregister 254 gibt die Daten des vorausgehenden Programmschritts, 10, mittels eines Austastimpuls-Signals STR
wieder, das der Adressensteuerung 200 entstammt. Das Signal STR (Fig. 11) wird von einem ersten Speicherbetätigungssignal MI-I
abgeleitet, das im Mittelabschnitt des -1-Schritt-Steuersignals
erzeugt wird. Das -1-Schritt-Steuersignal selbst wird erzeugt
zu Beginn eines jeden Austastsignals und dem Adressenzähler innerhalb
der Adressensteuerung 200 zugeführt, um den Speicher über den Eingang ACQ zu der -1-Schritt-Stelle beispielsweise des
Programmschritts 10 zu führen. Beim Auftreten des MI-1-Signals
werden die -1-Schritt-Daten in das -1-Schrittregister 254 gelesen und auf das STR-Signal hin gespeichert, welches geringfügig
809811/08Q1 *A
COPY
27Λ0507
gegenüber dem MI-1-Signal verzögert auftritt.
Nach Beendigung des -1-Schritt-Steuersignals wird ein zweites
Speicherbetätigungssignal MI-2 erzeugt, um im restlichen
Abschnitt des betreffenden Austastsignals Gi die Daten des gegenwärtigen Programmschritts zu lesen. Das Ausgangssignal Δ M
gibt somit in digitaler Form die zwischen dem Programmschritt un dem Programmschritt 11 zurückzulegende Entfernung für alle
sechs Bewegungskoordinaten des Manipulators und diejenige des Förderbandes in Multiplexform an. Die Subtraktionseinheit 252
liefert des weiteren Steuersignale über die PS- und MS-Leiter 257 bzw. 258, welche die Polarität oder Richtung der durch das
Signal Δ M der Subtraktionsstufe 252 angezeigten Positionsunterschiede angeben.
Die PS- und MS-Signale auf den Leitern 257 und 258 gelangen
an eine Kombinationseinheit 260, die auch das 15-Bit-Ausgangssignal
aus dem -1-Schrittregister 254 entsprechend dem soeben beendeten Steuersignal des Programmschritts 10 empfängt. Das
Signal Δ M, welches die während des Programmschritts 11 zu erfolgende
Bewegung angibt, wird nun durch die vorbestimmte Anzahl
effektiver Interpolationsintervalle dividiert, die durch die Bits LN-I, LN-2 und LN-3 bezeichnet wird, und das aus dieser
Division resultierende Inkrement wird dem Steuersignal des Programmschritts 10 hinzuaddiert, um ein erstes künstliches Steuersignal
zu liefern, das dazu dient, den Manipulatorarm einen entsprechenden kleineren Betrag weiterzuführen.
Genauer gesagt ist ein Multiplizierer 262 vorgesehen, der von einem binären Interpolationszähler 264 gesteuert wird, um
das Signal ΛM, das z.B. die Differenz von 307 Förderbandbewegungsinkremente
zwischen den Programmschritten 10 und 11 bezeichnet, mit einer variablen Zahl entsprechend dem Interpolations·
Zählerstand dividiert durch die Gesamtzahl der effektiven Interpolationsintervalle
während aufeinanderfolgender Zählungen des Zählers 264 zu multiplizieren. In Wirklichkeit multipliziert
609811/0891 ./.
COPY
der Multiplizierer 262 alt eine« vorbestimmten Bruch, um den
erfaderlichen Faktor in einem jeden Interpolationslntervall
zu erhalten. Dies wird erreicht durch die an den Bit-Ausgangsleitern 2° bis27, die in ihrer Gesamtheit mit 263 bezeichnet
sind, erscheinenden Ausgangssignale des Zählers 264, die den Multiplizierer 262 so steuern, daft er für die einzelnen Interpolationsintervalle
mit einer variablen Fraktion multipliziert, wie den Faktor § in Gleichung (10) bildet.
Der Zähler 264 wird auf den Zählwert 1 voreingestellt, um für das Steuersignal des ersten effektiven Interpolationsintervalls
den Faktor 1 zu liefern. Dieser Faktor jj wird multipliziert
mit dem Signal bzw. Faktor ΔM, der am Eingang des Multiplizierers
erscheint, um an dessen Ausgang 266 das erste Glied der Gleichung (10) zu erhalten, nämlich:
{MDn f Schritt (k)] - MDn f Schritt («-!)]] m
Die Anzahl der dem betreffenden Programmschritt zugeordneten Interpolationsintervalle wird dem Multiplizierer 262 über die
Datenleiter 251 des Decodierers 250 zugeführt. Der Ausgang 266 des Multiplizierers 262 steht mit der Kombinationseinheit 260
in Verbindung, die unter Steuerung durch das PS- bzw. MS-Signal
das erste Glied der Gleichung 10 (oben als Ausdruck 11 angegeben) zu den -l-Schritt-Positionsdaten MDn-I aus dem Register
254, auf der Sammelleitung, hinzuaddiert bzw. subtrahiert.
Die Kombination aus der Subtraktionseinheit 252, dem -1-Sehrittregister
254, dem Multiplizierer 262, dem Interpolationszähler 264 und der Kombinationseinheit 260 dient dazu, den
durch Gleichung (10) angegebenen Rechenprozeft durchzufahren,
während m «wischen 1 und N variiert.
Unter Steuerung durch den Interpolationszähler 264 wird ein Koinzidenzsignal dann erzeugt, wenn das Interpolationssteuersignal
Cn für das Forderband während des Austastsignals G2 dem
101811/0801 ./.
gegenwärtigen Positionssignal EQ aus de» Pörderbandcodierer
1028 gleich ist. Dann rückt der Interpolationszähler 264 um einen Zählwert vor, wobei er den Multiplizierer 262 entsprechend
steuert, um am Ausgang der Kombinationseinheit 260 den
nächsten Interpolationsfaktor und das nächste künstliche Steuerbzw. Bezugssignal zu liefern.
Ib CP-Betrieb wird das am Q-Ausgang des Flip-Flops 232 erscheinende
Förderband-Koinzidenzsignal über ein NAND-Gatter 273 mit drei Eingängen an einen monostabilen Multivibrator 274 gegeben.
Die verbleibenden zwei Eingänge des Gatters 273 erhalten das CP- und das GO-Signal. Der Multivibrator 274 wird durch den
Abfall des am Q-Ausgang des Flip-Flops 232 erscheinenden Signals und den Abfall des GO-Austastsignals getriggert, um über den
Leiter 278 zu Beginn des Austastintervalls einen Zählimpuls an den Interpolationszähler 264 zu liefern. Auf diese Weise
wird bei Koinzidenz das nächstfolgende effektive Interpolationssteuersignal erzeugt, und das Förderbandkoinzidenzsignal entsteht
wieder, um den Zähler 264 vorzurücken und das nächstfolgende der N effektiven Interpolationssteuersignale zu erzeugen.
Auf diese Weise bewegt sich der Manipulatorarm 1004 entsprechend den mit der Interpolation veränderlichen effektiven
Positionssignalen über eine Serie von aufgezeichneten Positionen an dem Werkstück 1002 auf dem förderband 1000 hin, indem
das jeweilige Abweichungssignal DER über den Digital-Analog-Umsetzer
210 und die Servosteuermittel 212 die Servoventile 214 steuert.
4 8
Die Ausgänge 2 bis 2 des Zählers 264 stehen zusammen mit
Die Ausgänge 2 bis 2 des Zählers 264 stehen zusammen mit
den 16-, 32-, 64-, 128- und 256-Ausgangssignalen auf den Leitern
251 mit einer Reihe von Vergleichsgattern in Verbindung, am den Abschluft des (N-I)ten Steuersignals zu bestimmen. Die decodierten
Signale von den Leitern 251 geben die Anzahl N der des betreffenden Programmschritt zugeschriebenen effektiven Intermolationsintervalle
an, die während des Austastintervalls Gl auf
809811/08Q1 "A
den Leitern der Bits LN-I, LN-2 und LN-3 gelesen werden. Zu
diesem Zweck ist ein jeder der Ausgänge 16, 32, 64, 128 und
256 des Deeodierers 250 mit einem Eingang einer Serie von ONO-Gattern 290, 292, 294, 296 und 298 mit jeweils zwei Eingängen
verbunden. Ebenso steht jeweils einer der Zählerausgänge 24 bis 2 mit dem zweiten Eingang der UND-Gatter 290, 292,
294, 296 und 298 in Verbindung. Die Ausgänge der Gatter 290 bis 298 liegen an den fünf Eingängen eines NOR-Gatters 300, dessen
Ausgang Ober einen Inverter 301 geführt ist, um das LS-Signal, den letzten Schritt in der Serie der Interpolationsintervalle,
zu liefern.
Wenn z.B. die programmierte Anzahl der effektiven Interpolationsintervalle
256 beträgt erzeugt das UND-Gatter 298 gesteuert durch den Zähler 264, der 255 Interpolationszählimpulse geliefert
hat und nun einen 256. hervorbringt, an seinem Ausgang ein hohes Signalniveau, um das Ausgangssignal des NOR-Gatters 300 auf ein
niedriges, dasjenige des Inverters 301 jedoch auf ein hohes Signalniveau zu bringen, so dafl das LS-Signal entsteht. Ist das
der Fall, d.h. wird ein letztes Interpolationssteuersignal erzeugt, und geht das WSP-Signal zu einem hohen Signalniveau
über, um den nächsten Programmschritt abzurufen, so triggert das WSP-Signal mit seinem Abfall auch einen monostabilen Multivibrator
302. Das Ausgangssignal des Multivibrators 302 dient zum Vorsetzen des Interpolationszählers 264 auf den Zählerstand
1 für den nächsten Programmschritt. Dieses Vorsetzen des Zählers auf 1 geschieht dazu, daß das erste Signal des Interpolationsintervalls einen MuItipl!kanten l/N zur Multiplizierung mit dem
Differenzsignal AM und Addierung des resultierenden Betrages zu
den aufgezeichneten Daten des vorausgehenden Programmschrittes liefert. Beim Vorsetzen des Interpolationszählers 264 auf den
Zählerstand 1 zu Beginn eines Programmschritts im CP-Betrieb ist die Dauer des Ausgangsimpulses des Multivibrators 302
größer als die Impulsdauer aus dem Multivibrator 274, um sicherzustellen,
daft das Vorsetzen des Zählers vorrangig vor dem Zählen auf Grund der Zählimpulse aus dem Multivibrator 274 erfolgt.
809811/0891
Das LS-Signal des letzten Interpolationsintervall gelangt auch an einen Eingang eines NOR-Gatters 304 mit zwei Eingängen,
dessen zweiter Eingang das PTP-Signal empfangt. Das Ausgangssignal
des NOR-Gatters 304 wird über einen Inverter 306 geführt,
um das Betriebsartsignal S zu ergeben, mit dem der MuI-tiplexschalter
206 gesteuert wird. Dementsprechend dient das Signal S dazu, dem Vergleicher 208 MDn-Daten jedesmal dann zuzuführen,
wenn das PTP-Signal oder das PTP (C)-Signal ein hohes Signalniveau besitzt oder wenn im CP-Betrieb ein LS-Signal
festgestellt wird, um die letzten Positionswerte des letzten Interpolationsintervalls im gegenwärtigen Programmschritt zu
bestimmen.
Betrachtet man die Zeitbeziehungen der künstlichen Steuersignale, so führt das effektive Interpolationssteuersignal
stets zu einem höhren oder zumindest gleich hohen Zählerstand wie das Positionssignal aus dem Förderbandcodierer, selbst wenn
das Förderband mit maximaler Geschwindigkeit läuft. Dies wird dadurch erreicht, daß der Interpolationszähler 264 um 1 vorrückt,
wenn immer das Positionssignal aus dem Förderbandcodierer dem aufgezeichneten Bezugssignal gleichkommt. Die einzige Zeitlücke,
die im ungünstigsten Fall zwischen dem Vorrücken des Interpolationszählers gegenüber der durch den Förderbandcodierer
angezeigten Position auftritt, ist der Zeitabstand zwischen dem Ende eines G2-Impulses eines Austastzyklusses und dem Abfall
des G8-Impulses im darauffolgenden Austastzyklus. Dieser beträgt maximal 2,8 ms bei Austastzyklon von 1,6 ms Dauer. Diese Zeitlücke
von 2,8 ms ist darauf zurückzuführen, daß das auf dem Leiter 278 auftretende Zählerausgangssignal beim Abfall des
G8-Impulses auftritt, während die Koinzidenz des Positionssignals aus dem Förderbandcodierer mit dem Förderbandbezugssignal
während des G2-Impulses des vorausgehenden Abtastzyklusses festgestellt wird. Die kritischen Verhältnisse werden also bestimmt
durch eine Zeltlücke von 2,8 ms bei der Synchronisierung
sowie die Anzahl von Bewegungsinkremente, um die das Förderband
809811/0891
während dieses Zeitraumes bei der maximalen Förderbandgeschwindigkeit
von beispielsweise 15 cm/s vorrückt.
Bei einer anderen Ausführungsform können anstelle eines einzigen Programmschritts mit einer Kombination von z.B.
16-, 32-, 64-, 128- und 256-Interpolationsintervallen im
Instruktionsbetrieb mehrere CP- oder CPw-Schritte aufgezeidi net
werden. Dabei haben alle Interpol tionsintervalle gleiche Abstände
und gleiche Dauer, nämlich diejenige eines zugrundeliegenden Förderbandbewegungsinkrements. Die Kombination von
mehreren CP-Schritten mit einem binären Vielfachen von 16 wird während des Instruktionsbetriebes als diejenige Kombination
errechnet, die nächstgröüer als die oder gleich der Anzahl der errechneten Förderbandbewegungsinkremente für diesen Schritt
ist. Im Arbeitsbetrieb rückt der Interpolationszähler 264 jeweils dann weiter, wenn die Strecke eines zugrundeliegenden
Förderbandbewegungsinkrements passiert wurde. Diese Ausführungsform ist jedoch weniger vorteilhaft als die vorausgehend beschriebene
mit Interpolationsintervallen variabler Dauer, da es sich hier um eine Annäherungstechnik handelt, mit der sich
keine optimale Geschwindigkeit erreichen lässt und die darüberhinaus
die Aufzeichnung von mehr Schritten erfordert als diejenige, welche mit variablen Interpolationsintervallen arbeitet.
Nach Fig. 7, die eine bestimmte Ausführungsform wiedergibt, besteht der Multiplizierer 262 aus einer Serie von digitalen
Dividiererstufen 350, 352, 354, 356, 358, 360, 362 und 364,
die so angeordnet sind, dafi sie durch verschiedene festliegende binäre Faktoren dividieren, wobei die Ausgangssignale der
Dividiererstufen wahlweise durch den Interpolationszähler 264
wirksam gemacht werden, um den gewünschten Digitalwert ^ zu ergeben,
mit dem das Positionsdifferenzsignal Δ M während der effektiven Interpolationsintervalle zu multiplizieren ist (wobei
N die Anzahl der dem Programmschritt zugeordneten effektiven Interpolationsintervalle - als binäres Vielfaches von
16 - und m eine Zahl ist, die zwischen 1 und N-I variiert, wie
nachfolgend noch genauer beschrieben wird.
009811/0891 ./.
Die Dividiererstufen 350 bis 364 sind herkömmlich aufgebaut aus integrierten Schaltkreisen, wie sie z.B. von der
Firma Texas Instruments unter den Serienbezeichnungen SN 7495,
SN 7483, SN 7493 und SN 7474 zu erhalten sind, entsprechend
dem 4-Bit-Binärmultiplizierer/-Dividierer, der in "Designing with TTL Integrated Cirquits" von Robert L. Morris, McGraw-Hill
Book Company beschrieben ist. Diese Dividiererstufen sind programmierbar und in einem bestimmten Beispiel in der
Lage eine aus 12 Bits bestehende Zahl, wie sie das Signal ΔΜ
darstellt, durch eine programmäßig eingebbare Zahl zu dividieren. Die Dividiererstufen werden nun so programmiert, daß Sie
durch verschiedene bestimmte Zahlen dividieren, wie dies durch die Bits LN-I bis LN-3 an den Eingängen 370 vorgeschrieben
wird. Diese Bits bilden, wie vorausgehend beschrieben, einen Code, der angibt, welches der binären Vielfachen von 16, d.h.
welche der Zahlen 16, 32, 64, 128 und 256, der aufgezeichneten
Zahl effektiver Interpolationsintervalle entspricht, die für den betreffenden Programmschritt im CP-Betrieb während des Inst
rukt ionshi If sbet ri ebes errechnet wurde. Die Dividiererstufe 350 wird entsprechend programmiert, um durch die Zahl N entsprechend
der Anzahl der effektiven Interpolationsintervalle zu dividieren. In einem bestimmten Beispiel, wonach die Bits LN-I
bis LN-3 Interpolationsintervalle angeben, wird also die Dividiererstufe 350 programmiert, um durch 256 zu dividieren. Entsprechend
werden die Dividiererstufen 352 bis 364 so programmiert, daß sie durch N/2, N/4, N/8, N/16, N/32, N/64 bzw. N/128 dividieren,
was zu den Ergebnissen 128, 64, 32, 16, 8, 4 bzw. 2 führt. Die Ausgangssignale der Dividiererstufen geben dann das
Positionsdifferenzsignal ^M1 dividiert durch den betreffenden
programmierten Divisor, also ΔM/256, AM/128, AM/64, &.M/32,
Zi M/16, 4 M/8, ÄM/4 bzw. Δ M/2 an.
Die Ausgänge der Dividiererstufen 350 bis 364 sind mit einer Serie von Gatteranordnungen 380 bis 394 verbunden. Jeder
von Ihnen besteht aus einer Datensammelleitung für mehrere Bits,
809811/0891
und die Gatteranordnungen 380 bis 394 enthalten je ein (nicht gezeigtes) logisches Gatter für jeden einzelnen Datenleiter,
das über einen Steuereingang aufsteuerbar ist. Die Steuereingänge der Gatteranordnungen 380 bis 394 stehen mit jeweils βίο
7
nea der Ausgänge 2 bis 2 des Interpolationszählers 264 in Verbindung. Die Ausgänge der Gatter liegen allesamt an einer Kombinationseinheit 396.
nea der Ausgänge 2 bis 2 des Interpolationszählers 264 in Verbindung. Die Ausgänge der Gatter liegen allesamt an einer Kombinationseinheit 396.
Im Betrieb wird die Gatteranordnung 380 durch das am 2 Ausgang
des Zählers 264 erscheinende Signal auf den ersten ZähV vorgang hin aufgesteuert, um den Faktor Δ M/256 zu der betreffen
den Stufe der Kombinationseinheit 396 passieren zu lassen. Da
1 7
die an den Ausgängen 2 bis 2 erscheinenden Werte 0 sind, bleiben die übrigen Gatteranordnungen, 382 bis 394, gesperrt, so daß das einzige Eingangssignal der Kombinationseinheit 396 in diesem Falle der Faktor ΔM/256 bleibt, der mithin am Ausgang 266 erscheint und an die Kombinationseinheit 260 der variablen Interpolationseinheit gelangt. Die Ausgänge der Gatteranordnungen 380 bis 394 bestehen, wie gesagt, ebenfalls aus Datensammelleitungen mit mehreren Bits, und die Kombinationseinheit 396 ist entsprechend ausgelegt, um die darüber eintreffenden acht Datensignale nach Art einer binären Addition zu kombinieren. Da der Interpolationszähler 264 über die gesamte Zahl N der Interpolationsintervalle hinweg betätigt wird, treten Da-
die an den Ausgängen 2 bis 2 erscheinenden Werte 0 sind, bleiben die übrigen Gatteranordnungen, 382 bis 394, gesperrt, so daß das einzige Eingangssignal der Kombinationseinheit 396 in diesem Falle der Faktor ΔM/256 bleibt, der mithin am Ausgang 266 erscheint und an die Kombinationseinheit 260 der variablen Interpolationseinheit gelangt. Die Ausgänge der Gatteranordnungen 380 bis 394 bestehen, wie gesagt, ebenfalls aus Datensammelleitungen mit mehreren Bits, und die Kombinationseinheit 396 ist entsprechend ausgelegt, um die darüber eintreffenden acht Datensignale nach Art einer binären Addition zu kombinieren. Da der Interpolationszähler 264 über die gesamte Zahl N der Interpolationsintervalle hinweg betätigt wird, treten Da-
O 7
tensignale an den verschiedenen Ausgängen 2 bis 2 in gewohnter
Binärform auf. Beispielsweise besitzen die Signale an den Ausgängen 2 , 2 , 2 , 2 , 2 und 2 ein hohes Signalniveau,
um die Gatteranordnungen 380, 384, 388, 390, 392 und 394 beim 245. Zählwert in der Serie von 256 Interpolationsintervallen
aufzusteuern. Das Ausgangssignal der Kombinationseinheit 396
für den 245. Zählwert bzw. das 245. Interpolationsintervall (- - 245) ist 4
Im Falle einer niedrigeren Zahl von Interpolationsintervallen, wie z.B. 32, werden die Dividiererstufen 360, 362 und 364 nicht
zur Durchführung einer Division programmiert, so daß die Gatter-
809811/0891 *A
anordnungen 390, 392 und 394 auf jeden Fall gesperrt bleiben,
da der Interpolationszähler nie einen Zählwert über 32 erreicht. Die Dividiererstufen 350, 352, 354, 356 und 358 far
einen Programmschritt mit 32 Interpolationsintervallen werden programmiert, um durch 32, 16, 8, 4 bzw. 2 zu dividieren. Die
Aufsteuerung der Gatteranordnungen bei N * 32 entspricht der vorausgehend beschriebenen mit N - 256. Beispielsweise werden
beim dritten Zählwert die Gatteranordnungen 382 und 380 aufgesteuert, um die Faktoren Δ M/32 bzw. Δ M/16 an die Kombinationseinheit
396 zu liefern, an deren Ausgang 266 dementsprechend der Faktor ^Μ·3/32 erscheint.
Für jeden Programmschritt im CP-Betrieb wird bei der Instruktion des weiteren eine Geschwindigkeitssteuerkonstante
Ky errechnet und aufgezeichnet. Diese findet dazu Verwendung,
im Arbeitsbetrieb ein bestimmtes Geschwindigkeitssteuersignal für alle gesteuerten Bewegungskoordinaten des Manipulators zu
erzeugen. Damit kann eine präzisere Nachführung durch Anwendung des Geschwindigkeitssteuersignals nach Art einer Vorwärtssteuerung
kombiniert mit einem rückgekoppelten Positionsregelkreis erfolgen als dies möglich wäre allein unter Verwendung
des Positionsregelkreises. Wenn das Geschwindigkeitssteuersignal dazu gebraucht werden kann, Jede der gesteuerten Koordinatenbewegungen
beispielsweise innerhalb + 10% der gewünschten Geschwindigkeit zu halten, wird eine 10-fache Verbesserung der
Positionsgenauigkeit erreicht gegenüber einer Arbeitsweise ohne Verwendung des Geschwindigkeitssteuersignals.
Die Geschwindigkeitssteuerkonstante K wird für jeden CP-Programmschritt
errechnet und im Programmspeicher 204 aufgezeichnet. Ihre Berechnung geschieht wiederum durch den Rechner
224 während des Instruktionsbetriebes, und die Aufzeichnung erfolgt in Form eines Signals von beispielsweise sechs Bits,
das umgekehrt proportional derjenigen Strecke ist, die vom Förderband während des betreffenden Programmschritts zurückzulegen
ist. Diese Strecke entspricht der Zeit des betreffenden
809811/0891 ·Λ
Programmschritts, die das Forderband alt Nominalgeschwindigkeit
läuft. Damit ist die Geschwindigkeitssteuerkonstante K ebenfalls proportional der Geschwindigkeit in sämtlichen gesteuerten
Bewegungskoordinaten des Manipulators in bezug auf die nominale Förderbandgeschwindigkeit multipliziert mit der Anzahl der Bits
aus dem betreffenden Codierer, die bei der Bewegung in der betreffenden Koordinate anfallen.
Im Arbeitsbetrieb wird die Geschwindigkeitssteuerkonstante mit der Positionsänderung in einer jeden Koordinate für den
betreffenden Programmschritt und der tatsächlichen Förderbandgeschwindigkeit auf Multiplexbasis multipliziert, wie hiernach
noch im einzelnen beschrieben wird. Das Geschwindigkeitssteuersignal für eine jede Koordinate kann wie folgt ausgedrückt
werden:
In einem bevorzugten Fall wird die Konstante K errechnet,
indem die Anzahl der effektiven Interpolationsintervalle des betreffenden Programmschritts (als Bezugsgrundlage) durch die
Anzahl der zugrundeliegenden Förderbandbewegungsinkremente dividiert
wird, die während des betreffenden Programmschritts zurückzulegen sind. Auf diese Weise kann de Konstante K in
diesem Beispiel wie folgt ausgedrückt werden:
ν Zahl d.zugrundeliegenden Bewegungsinkremente
Die Konstante Ky liegt stets zwischen 0,5 und 1, weil die
Zeit der effektiven Interpolationsintervalle zwischen dem Einfachen und dem Doppelten der Zeit variiert, die erforderlich
ist, um ein zugrundeliegendes Förderbandbewegungsinkrement zurückzulegen. Wenn die Dauer des effektiven Interpolationsintervalls
gröfier ist, ist die Geschwindigkeit kleiner.
809811/0891
In einen anderen Fall kann eine Konstante Ky' während des
Arbeitsbetriebs errechnet anstatt bei der Instruktion errechnet und gespeichert zu werden. Zu diesem Zweck wird der Kehrwert
der Differenz zwischen den Förderbanddaten für aufeinanderfolgende Progranunschritte gebildet und während des gegenwärtigen
Programmschritts gespeichert. Das betreffende Signal findet dann Verwendung anstelle der gespeicherten Konstante
K im vorausgehend beschriebenen Beispiel.
In diesem zunächst beschriebenen Beispiel wird die Konstante K für jeden CP-Programmschritt mit den Speicher daten IiDn aus
dem Speicher 204 gelesen und decodiert sowie gespeichert in einer Decodier- und Speicherstufe 400 (Fig. 8), um in Binärform
über den Ausgang 402 derselben zu einem multiplizierenden Digital-Analog-Umsetzer 404 zu gelangen. Die Decodier- und
Speicherstufe 400 wird gesteuert durch Austastsignale Gl',
G2* und G3*. Sie kann im übrigen einen Bestandteil des Decodierer
s 250 in Verbindung mit dem Programmspeicher bilden. Die Austastsignale Gl', G2' und G3' sind schmale Impulse, die in
der toitte der zweiten Hälfte des Austastimpulses Gl, G2 bzw.
G3 erzeugt werden.
Der multiplizierende Digital-Analog-Umsetzer 404 wird gesteuert durch ein über den Eingang 406 von einem Verstärker
407 her eintreffendes variables Bezugssignal. Der Verstärker 407 ist verbunden mit einem Tachogenerator 408, an dessen Ausgang
410 eine der augenblicklichen Förderbandgeschwindigkeit proportionale Spannung auftritt. Dementsprechend liefert der
Digital-Analog-Umsetzer 404 an seinem Ausgang 412 ein analoges Signal, welches der Geschwindigkeitssteuerkonstanten K ebenso
wie der augenblicklichen Förderbandgeschwindigkeit proportional ist. Mit anderen Worten ist dieses Signal gleich der Geschwindigkeitssteuerkonstanten
K in Analogform multipliziert mit der tatsächlichen Förderbandgeschwindigkeit. Es gelangt als
variables Bezugssignal an einen weiteren multiplizierenden Digital-Analog-Umsetzer 414. Dessen digitaler Eingang ist mit
8098 11 /089 1
den Ausgang 416 eines programmierbaren Dividierers oder binären Schieberegisters 418 verbunden, der als digitales Eingangssignal
das Signal Δ M empfängt.
Der Dividierer 413 ist so programmiert, daß er das Signal Δ M durch 1, 2, 4, 8 oder 16 dividiert, je nach dem Wert des
auf den Leitern LN-I bis LN-3 erscheinenden Codes, welcher der
Anzahl der dem betreffenden Programmschritt zugeordneten effektiven Interpolationsintervalle, 16, 32, 64, 128 oder 256,entspricht.
Das Signal ΔΜ ist in einem typischen Fall ein aus 12 parallelen Bits bestehendes Signal auf einer Sammelleitung von
dementsprechend 12 Leitern, so daß der Ausgang 416 des Dividierers
418 eine 8 Bits führende Sammelleitung mit dementsprechend 8 Leitern ist. Das am Ausgang 420 des Digital-Analog-Umsetzers
414 auftretende Analogsignal ist proportional der gewünschten gleichbleibenden Geschwindigkeit einer jeden Koordinate
auf Multiplexbasis. Das Ausgangssignal des Dividierers 418 entspricht auf Multiplexbasis der Anzahl der Positionsbits einer
jeden Koordinate, die in 16 effektiven Interpolationsintervallen auftreten, und die Division erfolgt zu Bezugszwecken. Auch die
Signale an den Ausgängen 402 und 412 sind der Geschwindigkeit lediglich proportional und können zu Bezugszwecken Konstanten
enthalten.
Das am Ausgang 420 des Digital-Analog-Umsetzers 414 auftretende Geschwindigkeitssteuersignal gelangt an einen Eingang eines
analogen SummierungsVerstärkers 422, dessen zweiter Eingang
das Abweichungssignal aus dem Digital-Analog-Umsetzer 210 empfängt, der vom Vergleicher 208 gesteuert wird. Der Summierungsverstärker
422 enthält einen Inverter, der durch die Signale PS bzw. MS aus der Subtraktionseinheit 252 gesteuert wird,
um die zutreffende Polarität des Geschwindigkeitssteuersignals festzulegen. Das Ausgangssignal des SummierungsVerstärkers 422
gelangt an die Servosteuermittel 212 der verschiedenen Bewegungskoordinaten
des Manipulators. Die betreffenden Signale und Bezugskonstanten werden so gewählt, daß das Geschwindigkeits-
809811/0891 ·'·
steuersignal eine Größe von beispielsweise maximal 5 Volt besitzt,
was einem maximalen Positionsdifferenzsignal Δ Μ von 4096 Positionsbits und einer maximalen Geschwindigkeit am Manipulatorarmende
von etwa 50 cm/s entspricht.
Das maximale Abweichungssignal bei stetiger Bewegung dürfte etwa +0,5 Volt betragen, und der Verstärkungsfaktor des Kreises
wird auf etwa 10 eingestellt. Die Größe des maximalen Abweichungssignals bei stetiger Bewegung soll etwa 1/10 derjenigen
des Geschwindigkeitssteuersignals sein, da der Kreis soweit wie möglich durch das Geschwindigkeitssteuersignal gesteuert
werden soll, ohne jedoch eine präzise Positionierung in Frage zu stellen. Ist das bestimmte Geschwindigkeitssteuersignal in
der Lage, die Geschwindigkeit in den einzelnen Koordinaten der Manipulatorarmbewegung mit etwa + 10 % Genauigkeit zu steuern,
dann kann ein analoges Steuersignal (- Abweichungssignal * Verstärkungsfaktor) , welches mindestens 1/10 der Größe des maximalen
Geschwindigkeitssteuersignals beträgt, die erwähnten + 10 % Geschwindigkeitsabweichung bis auf etwa 1 % Geschwindigkeit
(Bits/s) in Bits des Abweichungssignals korrigieren. Das Abweichungssignal bei stetiger Bewegung beträgt
Existiert eine 10%ige Geschwindigkeitsabweichung bei einem
Geschwindigkeitssteuersignal von 2000 Bits/s und ist der Verstärkungsfaktor des Positions rege !.kreises 10, dann beträgt da·
Positionsdifferenzsignal - 20 Bits.
Die in Multiplexform auftretenden bestimmten Geschwindigkeitssteuersignale
für die einsmlnen Koordinaten werden dem Summierungsverstärker 422 synchron mit den ebenfalls in Multiplexform
auftretenden Positionssignalen der Koordinaten zugeführt. Der Dividierer 418 kann in bekannter Weise unter Verwendung
dreier integrierter 8-Bit-Zählschaltkreise des Typs
809811/0891 ./.
Signetic Nr. 8243 aufgebaut sein. An die Stelle des Tachogenerators
408 kann auch eine digitale Schaltung zur Ableitung der Forderbandgeschwindigkeit aus dem Positionssignal des
FOrderbandcodierers 1028 treten.
Betrachtet man den Geschwindigkeitssteuerkreis und den Positionsregelkreis nach den Figuren 5 und 8, so kann für
den PTP- und PTP (C)-Betrieb der gleiche Positionsregelkreis verwendet werden wie für den CP-Betrieb mit einem geschwindigkeitsgesteuerten
offenen Steuerkreis. Im PTP- und PTP (C)-Betrieb wird einfach das Eingangssignal vom Ausgang 420 des
Digital-Analog-Umsetzers 422 auf 0 festgelegt. Auf diese Weise arbeitet die Steuerung als Punktsteuerung mit geschlossenem
Positionsregelkreis. Dabei kann eine angemessene Einstellung des Verstärkungsfaktors vorgesehen werden, um unterschiedliche
Eingangssignale für die Servoventile zu schaffen.
Der Summierungsverstärker 422, die Servosteuermittel 212
und die Servoventile 214 sind fc einem bestimmten Beispiel (Fig.10) auf eine bipolare Analogsteuerung einer Servovent11-wlcklung
500 für jede Koordinate zugeschnitten, die zwischen Masse und dem Ausgang eines Verstärkers 502 für die betreffende
Koordinate liegt. Die Ausgangsspannung des Verstärkers 502 kann sowohl positive als auch negative Werte annehmen, um
eine geeignete Flußrichtung in der Wicklung 500 und dementsprechend eine gewünschte Bewegungsrichtung hervorzurufen.
Betrachtet man nun die Steuersignale des Positionsregelkreises, so liefert der Digital-Analog-Umsetzer 210 die in
Multiplexform auftretenden analogen Abweichungssignale EEn
an einen Decodierer 504, welcher die Signale in der richtigen zeitlichen Aufeinanderfolge an einen Ausgang 506 für jede
Koordinate unter Vermittlung von Impulsen G3f bis G8* weitergibt,
die in der Mitte der zweiten Hälfte der Austastsignale G3 bis G8 erzeugt werden. Mit einem jeden der Ausgänge 506
809811/0891
27A0507
ist ein Abtast- und Halteverstärker 508 verbunden. Ebenso gelangt das in Multiplexform auftretende analoge Geschwindigkeitssteuersignal
aus dem Digital-Analog-Umsetzer 414 zu einem Decodierer 510 über einen gesteuerten Inverter 512, der
das Analogsignal immer dann invertiert, wenn das Vorzeichensignal MS ein negatives Vorzeichen angibt.
Der Decodierer 510 verteilt die Analogsignale an Ausgänge 514 für alle gesteuerten Koordinaten mit Hilfe der Impulse
G3* bis G8*. Mit einem jeden der Ausgänge 514 steht ein Abtast-
und Halteverstärker 516 in Verbindung, der ein Bezugssignalniveau von der Größe 0 liefert, wenn immer ein Steuereingang
518 des Verstärkers ein Signal empfängt, das einen PTP- oder PTP (C)-Betrieb anzeigt. Die Ausgänge der einzelnen
Abtast- und Halteverstärker 516 stehen über einen Summierungswiderstand 520 mit dem Eingang des Verstärkers 502 in Verbindung
ebenso wie die Ausgänge der Verstärker 508 über einen Summierungswiderstand 522 mit dem Verstärker 502 verbunden
sind. Die Summierungswiderstände 520 und 522 bilden zusammen ein analoges Eingangssignal an dem Verstärker 502, welches
die Summe des Geschwindigkeitssteuer- und des Positionsdifferenzsignals darstellt.
Anhand von Fig. 9 wird nachfolgend eine bevorzugte Form der Steuerschaltung mit einem geschwindigkeitsgesteuerten offenen
Steuerkreis beschrieben, wobei mit denen aus Fig. 5 übereinstimmende
Elemente die gleichen Bezugszeichen tragen. Nach Fig. 9 unterstützt die Steuerung seitens der Interpolationseinheit die Arbeitsweise eines geschwindigkeitsgesteuerten
Kreises wie in Verbindung mit Fig. 8 beschrieben, indem sie Positionsabweichungssignale in einem geschlossenen Regelkreis
liefert, mit denen die Arbeitsweise des geschwindigkeitsgesteuerten
Kreises überwacht und im Falle festgestellter Positionsabweichungen korrigiert wird anstatt Positionssteuersignale
für die Steuerung der Bewegung zu liefern.
609811/0891
Zu diesem Zweck werden die bei der Interpolation anfallenden Positionssteuersignale Cx für die sechs gesteuerten Koordinaten
entsprechend dem zugehörigen Positionsbezugssignal C für das Förderband dann erzeugt, wenn das Förderband die betreffende
Position erreicht hat anstatt Steuersignale Cx+. für
die sechs gesteuerten Koordinaten entsprechend einem Förderbandbezugssignal C. zu erzeugen, wenn das Förderband die dem
Bezugssignal C entsprechende Position erreicht hat, wie in Verbindung mit Fig. 5 beschrieben. Die Steuersignale Cx für
die sechs gesteuerten Koordinaten stellen die erwartete Position des Manipulatorarmes in den sechs gesteuerten Koordinaten
dar, wenn das Förderband die dem Bezugssignal C für das Förderband entsprechende Position erreicht hat.
Die Geschwindigkeitssteuersignale steuern prinzipiell die Bewegung in den einzelnen Bewegungskoordinaten, während die
Positionssteuersignale von der Interpolationseinheit zum Vergleich mit der gegenwärtigen Position des Manipulatorarmes und
zur überwachung der Genauigkeit dienen, mit welcher die Geschwindigkeitssteuerung
arbeitet, um sicherzustellen, daß die jeweilige gegenwärtige Position derjenigen entspricht, die
für die gegenwärtige Fürderbandposition durch das Programm vorgesehen
ist. Weicht die gegenwärtige Position des Manipulatorarmes von der vorgegebenen ab, so ergeben die Positionssignale
ein Abweichungssignal, mit welchem die Position korrigiert wird.
Da die Positionsregelung zur überwachung der Positionsgenauigkeit
verwendet wird, wenn das Förderband eine bestimmte Position erreicht, kann das Abweichungssignal aus dem Vergleicher
208 in dem Abtast- und Halteverstärker 508 während der gesamten Dauer des Interpolationsintervalls festgehalten werden,
so daß ein Abweichungssignal nur einmal für ein jedes Interpolationsintervall
existiert. Wäre dies nicht der Fall, würde das Abweichungssignal der Genauigkeit Abbruch tun, die durch
die Geschwindigkeitssteuerung erreichbar ist, da die Positionsdaten einen akuraten Vergleich nur dann zulassen, wenn das
809811/0891
COPY
27A05Q7
Förderband die für den betreffenden Programmschritt vorgegebene Position erreicht hat. Die Austastung des Abweichungssignals
nur einmal pro Interpolationsintervall, d.h. während des ersten Austastzyklusses, bringt auch bei Verwendung mit dem Positionsregelkreis nach Fig. 5 Vorteile, wenn in Verbindung mit dem
Geschwindigkeitssteuerkreis nach den Figuren 8 und 10 angewandt.
Die Erzeugung der Steuersignale erfolgt dann nach folgender Gleichung (anstelle von Gleichung (10):
**>* [ Schritt (k)] - MDn [schritt (k-l)]| m*
—B-± i ^
+MDn [Schritt (k-lj
wobei m* Werte von 1 bis N für das Förderband während des
Austastsignals G2 und solche von 0 bis N-I für die sechs gesteuerten Bewegungskoordinaten des Manipulators annimmt. So
ist für das erste Interpolationsintervall mit m* - 1 für das Förderband das Bezugssignal C- - 501 gemäß dem vorausgehend
beschriebenen Beispiel, und die entsprechenden Steuersignale für die gesteuerten Koordinaten betragen MD- [ Schritt (k-l)J ,
wobei m* - 0 ist. Dieser Unterschied im Wert von m* von einer ganzen Zahl während der Austastsignale G3 bis G8 gegenüber
demjenigen während des Austastsignals G2 wird durchjeinen digitalen Addierer 550 erreicht, der an einem digitalen Summierungseingang
das logische Signal 0 und an einem zweiten digitalen Summierungseingang die Ausgangssignale des Interpolationszählers 264 empfängt. Der Cin-Eingang des Addierers 550 empfängt
das Austastsignal G2, womit er jedesmal beim Eintreffen dieses Signals eine digitale 1 addiert. Der Ausgang 265 des Addierers
550 ist mit dem Eingang des Multiplizierers 262 verbunden.
Um während des Austastsignals G2 das 256. Bezugssignal C25ß
eines CP-Programmschritts mit 256 Interpolationsintervallen zu erzeugen, dient ein Sperrsignal IMH, mit dem das Adressensignal
AC aus dem Adressen- und Taktschaltkreis 200 gesteuert wird, um den Speicher 204 so zu adressieren, daß er die
809611/0891
COPY
27405G7
Steuerdaten MD [(Schritt (k)J des gegenwärtigen Programmschritts
in das -l-Schrittregister 254 gibt. Dies ist erforderlich, sofern
der Multiplizierer 262 nicht genügend Bitkapazität besitzt, um ■it 256 zu Multiplizieren, wenn m* - 256 ist. Zur Erzeugung des
Signals IMH ist der Austragsausgang C des Addierers 550 Ober einen Inverter 252 geführt. Das Signal INH bewirkt den Wiederabruf
der Daten MD [Schritt (k-l)J aus den vorausgehenden Programmschritt
und stattdessen die Eingabe der gegenwärtigen Bezugsdaten MDQ [ Schritt (k)] des Förderbandes in das -1-Schrittregister
254, so daß das Ausgangssignal ΔΜ des Subtrahierers
252 0 wird. Auf diese Weise gelangen die Daten MDn [Schritt (k)j
zu der Kombinationseinheit 260 und zum Vergleicher 208.
Die Arbeitsweise der Interpolationseinheit und der übrigen Steuerschaltung ist die gleiche wie in Zusammenhang mit Fig. 5
beschrieben. Jedoch wird das am Q-Ausgang des Flip-Flops 232
erscheinende Förderbandkoinzidenzsignal nach Hindurchführung durch das Gatter 238 über einen Inverter 554 einem Eingang
eines NOR-Gatters 556 mit zwei Eingängen zugeführt. Am Ausgang
des Gatters 556 erscheint das Programmschritt-Fortschaltsignal WSP. Der zweite Eingang des Gatters 556 steht mit dem Ausgang
eines monostabilen Multivibrators 558 in Verbindung, der durch den Anstieg des Ausgangssignals eines NAND-Gatters 560 mit fünf
Eingängen getriggert wird. Die Eingänge des Gatters 560 stehen mit einer Serie von fünf NAND-Gatterr. 562, 564, 566, 568 und
570 mit je zwei Eingängen in Verbindung. Je einer der 16-, 32-,
64-, 128- und 256-Ausgänge des Decodierers 250 Itt einem Eingang
eines der Gatter 562 bis 570 verbunden. Der zweite Ein-
4 5 6 7
gang dieser Gatter steht mit einem der Ausgänge 2 , 2 , 2 , 2
und 2 des Interpolationszählers 264 in Verbindung. Liefert der Ausgang 2 des Zählers ein Signal an das Gatter 570, beispielsweise
wenn die durch das Programm angegebene Anzahl der Interpolationsintervalle 256 beträgt, so bewirkt das Gatter 570 an
dem betreffenden Eingang des Gatters 560 ein niedriges Signalniveau, das am Ausgang dieses Gatters zu einem Anstieg führt,
«08811/0891
mit dem der monostabile Multivibrator 558 getriggert wird. Das Ausgangssignalcbs Multivibrators 558 ist ebenfalls mit dem
Rücksetzeingang des Zählers 264 verbunden, um an diesen Zähler
Rücksetzimpulse zu liefern, womit der Zählerstand auf O zurückgesetzt
wird, während am Ausgang des Gatters 556 ein WSP-Signal entsteht.
Der Q-Ausgang des Flip-Flops 232 ist mit einem von drei Eingängen eines UND-Gatters 572 verbunden, an dessen anderen
Eingängen die Signale GO und CP erscheinen. Der Ausgang des Gatters 572 liefert im Falle von Förderband-Koinzidenz im CP-Betrieb
und beim Auftreten des Signals GO einen Zählimpuls an den Zähler 264, mit dessen abfallender Flanke der Zähler weiterrückt
.
Fig. 12 zeigt einen geschlossenen Geschwindigkeitsregelkreis, mit dem die Schaltungsanordnung nach den Figuren 5, 8,
9 und 10 ausgestattet werden kann, um Positionsabweichungen noch weiter zu reduzieren. Wenn das Geschwindigkeitssteuersignal
beispielsweise in der Lage ist, den Manipulatorarm mit einer Genauigkeit von etwa ± 10 % der gewünschten Geschwindigkeit
zu steuern, und der Verstärkungsfaktor des Kreises 10 beträgt, tritt in diesem Kreis bei stetiger Bewegung ein Fehler
von + 1 % auf. Mit dem Verstärkungsfaktor 10 verringert sich des weiteren der Positionsfehler bei stetiger Bewegung
auf + 1 %. Dieser Positionsfehler lässt sich wie folgt ausdrucken
Geschwindigkeitsabweichung (Bits)
Verstärkungsf.po3ltion.Verstärkungsf.Ge8chwindigki
Tritt eine Geschwindigkeitsabweichung von 10 % bei einem vorgegebenen
Geschwindigkeitssteuersignal von 2000 Bits/s auf
und betragen die Verstärkungsfaktoren für den Positions- wie für den Geschwindigkeitsregelkreis jeweils 10, so ergibt sich
daraus ein Positionsfehler von " 2 Blts*
609811/0831
geschlossene Geschwindigkeitsregelkreis führt also zu einer Verbesserung um den Faktor 10 gegenüber dem offenen Geschwindigkeitssteuerkreis
in Verbindung mit einem geschlossenen Positionsregelkreis wie in Verbindung mit den Figuren 5, 8 und
9 beschrieben.
Nach Fig. 12 ist für jede Bewegungskoordinate des Manipulators ein Subtrahierer 530 vorgesehen, von dem ein Summierungseingang
mit dem Ausgang des Verstärkers 502 aus Fig. 10 verbunden ist, der die Geschwindigkeitssteuersignale und die Positionsabweichungssignale
miteinander kombiniert. Der Ausgang des Subtrahierers 530 liegt an der Wicklung 500 des betreffenden
Servoventils 214. Dieses Servoventil steuert einen hydraulischen Antrieb 532, der eine Bewegung entsprechend dem in der
Wicklung fließendem Strom hervorbringt. Diese Bewegung wird von dem betreffenden Codierer2l6 erfasst, der in der vorausgehend
beschriebenen Weise ein digitales Positionssignal liefert.
Des weiteren ist für jede Koordinate ein Tachogenerator vorgesehen, der ein der Bewegungsgeschwindigkeit proportionales
Ausgangssignal liefert. Dieses Signal gelangt über einen Verstärker 536 an den Subtraktionseingang des Subtrahierers
530, womit eine negative Bückkopplung im Sinne einer Geschwindigkeitsregelung besteht. Der Rest der Schaltung von Fig. 12
und seine Arbeitsweise entsprechen denen von Fig. 10.
809811/0891
Claims (26)
- 257227A0507Patentansprüche( 1.) Verfahren zur Programmierung eines programmsteuerbaren Manipulators durch Instruktion für Verrichtungen an einem entlang einer bestimmten Bahn relativbewegten Werkstück, wobei der Manipulator einen in mehreren Koordinaten steuerbaren Arm sowie Codierer aufweist, die den jeweiligen Armpositionen in den einzelnen Koordinaten entsprechende Positionssignale liefern, dadurch gekennzeichnet, daß der Arm bei der Instruktion an einem stillstehenden Werkstück in die für die gewünschten Verrichtungen erforderlichen Positionen geführt wird,daß aus den dabei erhaltenen Positionssignalen abgeleitete Positionssignale errechnet werden, die von den durch die Positionssignale angegebenen Positionen insoweit abweichende Positionen angeben, wie sie die Relativbewegung des Werkstücks im Arbeitsbetrieb gegenüber einer Anfangsposition erwarten läßt, unddaß die abgeleiteten Positionssignale im Programmspeicher aufgezeichnet werden.
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Werkstück bei der Instruktion in mehrere während des Arbeitsbetriebes aufeinanderfolgend von ihm durchlaufene Positionen gebracht wird, bei deren jeder der Manipulatorarm in eine Reihe von Positionen gegenüber dem Werkstück geführt wird.
- 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die bei der Instruktion bei einer jeden Werkstückposition angefahrenen Position des Manipulatorarmes dasselbe Muster bilden.8U9811/0891 Jm• - -ι %λΨ η
- 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß als Ausgangsposition des Werkstücks für die Instruktion etwa die Anfangsposition gewählt wird, von der die Berechnung der korrigierten Positionssignale ausgeht.
- 5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bewegungskoordinaten des Manipulatorarmes Polarkoordinaten sind, dadurch gekennzeichnet, daß die als Polarkoordinatenwerte anfallenden Positionssignale in cartesische Koordinatenwerte für das freie Armende umgerechnet werden,daß diese cartesischen Koordinatenwerte durch vektorielle Hinzuaddierung der für den Arbeitsbetrieb infolge der Relativbewegung zwischen den aufeinanderfolgend eingegebenen Positionen zu erwartenden Verlagerungen des Werkstücks in Gestalt von Bewegungsinkrementen transformiert werden und daß die so transformierten cartesischen Koordinatenwerte in entsprechende Polarkoordinatenwerte rückgerechnet werden, die ihrerseits in dem Programmspeicher gespeichert werden.
- 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß für die Transformierung der cartesischen Koordinatenwerte der voraussichtliche Zeitraum Tjo bestimmt wird, den das Manipulatorarmende benötigt, um die Strecke zwischen den betreffenden aufeinanderfolgend eingegebenen Positionen P- und Ρ», bei stillstehendem Werkstück mit der erwarteten Bewegungsgeschwindigkeit ZL zurückzulegen, und daß die cartesischen Koordinatenwerte für die Position P„ durch einen Betrag modifiziert werden, der sich aus einem ersten Faktor entsprechend der bis zum Programmschritt 1 aufgelaufenen Position £D^ entsprechend der Position P3 ausgedrückt durch die Anzahl der zugrundeliegenden Bewegungsinkremente für die Werkstückposition sowie aus der Strecke D1-2 zusammensetzt,809811/0831 ./.die das Werkstück während der Bewegung des Armes von der Position P1 zur Position P„ ausgedrückt durch die Anzahl der zugrundeliegenden Bewegungsinkremente für die Werkstückposition benötigt.
- 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Bestimmung des Zeitraumes T1 α erfol8t durch Bestimmung des Positionsvektors As.-, der die Strecke zwischen den eingegebenen Positionen P1M1 und P2U2 bezeicnnet> wobei P1W1 die von der Position P~s bei einer ersten PositionZ D1 im Programmschritt 1 abgeleitete Position und P2Hj die von der Position P- bei einer zweiten, darauffolgenden Position Σ D2 im Programmschritt 2 abgeleitete Position ist und der Vektor Δ S1Q durch Summierung der Positionsvektoren Λ Se und ΔΖ, o gebildet wird, mit AS_ als der Positions-S 1—* Sänderung zwischen den Positionen P-_ und P2 s sowie ΔΖ- 2 als der "trecke, die das Werkstück mit der zu erwartenden Geschwindigkeit Z, zurücklegt und die durch das Produkt ZL · T12 definiert ist,durch Bestimmung des Positionsvektors Δ si_2 auf eine zweite Weise als Produkt der zu erwartenden Bewegungsgeschwindigkeit S des Manipulatorarmes und des Zeitraumes T1-2 sowie durch Gleichsetzen der beiden Werte für AS,«.
- 8. Instruierbarer programmsteuerbarer Manipulator in Verbindung mit einem Fördermittel zur Anwendung des Programmierungsverfahrens nach Anspruch 1, mit einem in mehreren Koordinaten beweglichen Manipulatorarm, Positionssignale für die Bewegungskomponenten des Armes in diesen Koordinaten liefernden Codierern sowie einem Programmspeicher zur Speicherung während der Instruktion eingegebener Programmdaten als Steuersignale für die Bewegung des Manipulatorarmes im Arbeitsbetrieb des Manipulators, bei dem das Fördermittel kontinuierlich läuft, gekennzeichnet durch Rechenmittel (224) zur Errechnung und Einspeicherung von Programmdaten für809811/0891die durch Instruktion eingegebenen Positionen des Manipulatorarmes (1004), die gegenüber diesen Positionen um Strecken entsprechend der bei laufendem Fördermittel (1000) zu erwartenden Verlagerungen zwischen Manipulator und Werkstück (1002) versetzt sind.
- 9. Manipulator mit Fördermittel nach Anspruch 8, dadurch gekennzeichnet, daß der Manipulator ortsfest angeordnet ist und das Fördermittel, z.B. in Gestalt eines Förderbandes (1000), das Werkstück (1002) trägt.
- 10. Manipulator mit Fördermittel nach Anspruch 8 oder {^gekennzeichnet durch eine vom Programmspeicher (204) und den Rechenmitteln (224) abhängige Einrichtung zum schrittweisen Vorrücken des Fördermittels (1000) während der Instruktion in neue Positionen, wenn bei Instruktion anhand der bisherigen Position des Fördermittels Kapazitätsgrenzen der Manipulatorsteuerung überschritten werden.
- 11. Manipulator mit Fördermittel nach einem der Ansprüche 8-10, gekennzeichnet durch eine Interpolationseinheit (z.B. 252, 254, 260, 262, 264) zur Erzeugung einer vorbestimmten Anzahl künstlicher Steuersignale, mit einer Divisionseinrichtung (z.B. 350, 352) zur Unterteilung der Differenz zweier aufeinanderfolgender in dem Programmspeicher (204) gespeicherter Steuersignale in eine Anzahl von Inkrementen entsprechend der Anzahl der künstlichen Steuersignale, eine Einrichtung (z.B. 380, 396) zur Multiplikation eines jeden dieser Inkremente mit einer ganzen Zahl, die sich mit jedem. der aufeinanderfolgenden künstlichen Steuersignale um 1 vergrößert, sowie einer Kombinationseinheit (260) zur Kombination der so erhaltenen Produkte mit dem vorausgehenden Steuersignal zum Erhalt der aufeinanderfolgenden künstlichen Steuersignale.809811/0891
- 12. Manipulator mit Fördermittel nach einem der Ansprüche 8-11, gekennzeichnet durch einen zusätzlichen, Positionssignale für die Bewegung des Fördermittels (1000) liefernden Codierer (1028).
- 13. Manipulator mit Fördermittel nach Anspruch 11 und 12, gekennzeichnet durch einen allen Koordinaten gemeinsamen Vergleicher (208) zum Vergleich der gegenwärtigen Positionssignale aus den Codierern (216) mit den künstlichen Steuersignalen und durch einen in der Divisionseinrichtung (z.B. 350, 352) enthaltenen, von dem Vergleicher abhängigen Zähler (264), der jeweils bei Kabzidenz zwischen den künstlichen Steuersignalen und den Positionssignalen aus dem Codierer (1028) des Fördermittels (1000) weiterrückt, um die Erzeugung der künstlichen Steuersignale zu steuern.
- 14. Manipulator mit Fördermittel nach Anspruch 11 und 12 oder 13, dadurch gekennzeichnet, daß in den gespeicherten Steuersignalen ein Bezugssignal bezüglich der infolge der kontinuierlichen Bewegung des Fördermittels (1000) zu erwartenden Verlagerungen des Werkstücks (1002) gegenüber dem Manipulator sowie eine Information über die vorbestimmte Zahl künstlicher Steuersignale in dem jeweiligen Programmschritt enthalten sind, daß die künstlichen Steuersignale mit unterschiedlicher Dauer erzeugt werden, die durch die vorbestimmte Zahl und die resultierende Differenz zwischen aufeinanderfolgenden Bezugssignalen für das Fördermittel bestimmt wird, und daß die Interpolationseinheit (z.B. 252, 254, 260, 262,264) durch eine Einrichtung (z.B. 230, 232, 273, 274) zur Feststellung einer vorbestimmten Übereinstimmung zwischen den Positionssignalen für das Fördermittel und den betreffenden Bezugssignalen gesteuert ist.
- 15. Manipulator mit Fördermittel nach Anspruch 14, dadurch gekennzeichnet, daß die Interpolationseinheit (z.B. 252, 254, 260, 262, 264) einen über einen Steuereingang809811/0891steuerbaren Multiplizierer (262), der die Differenz zwischen aufeinanderfolgenden Steuersignalen aus dem Programmspeicher (204> von über den Steuereingang eingebbaren Brüchen zu multiplizieren vermag, wobei der Nenner der Brüche gleich der vorbestimmten Zahl der künstlichen Steuersignale und der Zähler eine variable ganze Zahl ist, die mit jedem der aufeinanderfolgenden künstlichen Steuersignale um 1 anwächst, sowie eine Kombinationseinheit (260) zur Vereinigung der aufeinanderfolgenden Produkte aus dem Multiplizierer mit dem vorausgehenden Steuersignal zum Erhalt der aufeinanderfolgenden künstlichen Steuersignale, enthält.
- 16. Manipulator mit Fördermittel nach Anspruch 15, dadurch gekennzeichnet, daß der Multiplizierer (262) eine Anzahl programmierbarer Dividierer (z.B. 350) enthält, deren jeder einen das resultierende Differenzsignal empfangenden Dividenteneingang und einen die vorbestimmte Zahl künstlicher Steuersignale dividiert durch eine andere Potenz von 2 beginnend mit 2 empfangenden Divisoreingang aufweist, wobei die Anzahl der Dividierer gleich der Zahl der binären Digits in der vorbestimmten Zahl künstlicher Steuersignale ist, ferner eine Kombinationseinheit (396) sowie auf das betreffende Steuer- bzw. Bezugssignal ansprechende Gatter (z.B. 380) in Verbindung mit einem jeden der Quotientenausgänge der Dividierer zur selektiven Verbindung dieser Ausgänge mit einem Eingang der Kombinationseinheit enthält, an deren Ausgang eine Serie von Produkten aus den Differenzsignalen und den Brüchen erscheint, die der Kombinationseinheit (260) zum Erhalt der künstlichen Steuersignale zugeführt werden.
- 17. Manipulator mit Fördermittel nach einem der Ansprüche 8-16, einschließlich Anspruch 12, dadurch gekennzeichnet, daft die Rechenmittel (224) eine in Abhängigkeit von den Positionssignalen aus dem Codierer (1028) des Fördermittels (1000) arbeitende Einrichtung zur Errechnung von Bezugssignalen entsprechend den mit der Bewegung des Fördermittels♦mit einer Serie 809811/0891eintretenden Verlagerungen für eine jede der bei der Instruktion eingegebenen Manipulatorarmpositionen sowie eine Einrichtung zur Errechnung eines Geschwindigkeitsvorgabesignals enthalten, wobei die errechneten Bezugssignale und das Geschwindigkeitsvorgabesignal gemeinsam mit den betreffenden Steuersignalen in dem Programmspeicher (204) gespeichert werden.
- 18. Manipulator mit Fördermittel nach Anspruch 17, dadurch gekennzeichnet, daß das Geschwindigkeitsvorgabesignal (K) eine digitale Zahl proportional dem Reziprokwert der Zeit enthält, die das Werkstück (1002) zur Zurücklegung einer bestimmten Strecke unter NominalgeschWbdigkeit des Fördermittels (1000) gegenüber dem Manipulator benötigt.
- 19. Manipulator mit Fördermittel nach Anspruch 17, dadurch g ekennzeichnet, daß das Geschwindigkeitsvorgabesignal (Ky') eine digitale Zahl proportional dem Reziprokwert der Strecke enthält, die das Werkstück (1002) zwischen aufeinanderfolgenden Bezugssignalen gegenüber dem Manipulator zurücklegt.
- 20. Manipulator mit Fördermittel nach Anspruch 19, gekennzeichnet durch eine in Abhängigkeit von den gespeicherten Geschwindigkeitsvorgabesignal und der resultierenden Differenz zwischen aufeinanderfolgenden Bezugssignalen arbeitende Einrichtung (z.B. 404, 414) zur Erzeugung eines Geschwindigkeitssteuersignals.
- 21. Manipulator mit Fördermittel nach Anspruch 20, dadurch gekennzeichnet, daß die Einrichtung (z.B. 404, 414) zur Erzeugung des Geschwindigkeitssteuersignals eine Einrichtung (z.B. 407, 408) zur Korrektur des Geschwindigkeitssteuersignals entsprechend Abweichungen von der Nominalgeschwindigkeit enthält, mit der sich das Werkstück (1002) gegenüber dem Manipulator bewegt.809811/0891 #A
- 22. Manipulator mit Fördermittel nach Anspruch 21, dadurch gekennzeichnet, daß die Einrichtung (z.B. 404, 414) zur Erzeugung des Geschwindigkeitssteuersignals Schaltmittel zur Umwandlung des Geschwindigkeitsvorgabesignals und des aus der Differenz zwischen aufeinander&lgenden Steuersignalen resultierenden Differenzsignals in ein das Geschwindigkeitssteuersignal bildendes Analogsignal aufweist, die einen ersten multiplizierenden Digital-Analog-Umsetzer (404) mit dem Geschwindigkeitsvorgabesignal als digitalem Eingangssignal und einem der tatsächlichen Geschwindigkeit des Fördermittels (1000) proportionalen Signal als Multiplikationsbezugssignal sowie einen zweiten mutliplizierenden Digital-Analog-Umsetzer (414) mit einem dem resultierenden Differenzsignal proportionalen Signal als digitalem Eingangssignal und dem analogen Ausgangssignal des ersten Digital-Analog-Umsetzers als Multiplikationsbezugssignal enthalten, wobei das Ausgangssignal des zweiten Digital-Analog-Umsetzers das analoge Geschwindgkeitssteuersignal bildet.
- 23. Manipulator mit Fördermittel nach Anspruch 22, dadurch g ekennze lehnet, daß der zweite multiplizierende Digital-Analog-Umsetzer (414) während aufeinanderfolgender Multiplexaustastintervalle Signale für die verschiedenen Bewegungskoordinaten erzeugt.
- 24. Manipulator mit Fördermittel nach Anspruch 20, dadurch gekennzeichnet, dafi die Manipulatorsteuerung einen Vergleicher (208) zum Vergleich der Positionssignale aus den Codierern (216) der einzelnen Koordinaten mit den dazugehörigen Steuersignalen sowie Schaltmittel (422) zur Vereinigung des Geschwindigkeitssteuersignals mit dem Ausgangssignal aus dem Vergleicher zum Erhalt eines Abweichungssignals enthalten.809811/0891
- 25. Manipulator mit Fördermittel nach Anspruch 24, gekennzeichnet durch eine die Schaltmittel (422) zur Vereinigung des Geschwindigkeitssteuersignals und des Ausgangssignals aus dem Vergleicher (208) steuernde Einrichtung (z.B. 534) zur Ermittlung der tatsächlichen Bewegungsgeschwindigkeit in einer jeden der Koordinaten sowie durch Schaltmittel (530) zur Vereinigung des aus der Vereinigung des Geschwindigkeitssteuersignals und des Ausgangssignals des Vergleichers resultierenden Signals mit einem Signal entsprechend der ermittelten Geschwindigkeit in einer jeden Koordinate.
- 26. Manipulator mit Fördermittel nach einem der Ansprüche 20 bis 23, gekennzeichnet durch eine Einrichtung zur Ermittlung der Bewegungsgeschwindigkeit in einer jeden der Koordinaten und durch einen Vergleicher (208) zum Vergleich des daraus resultierenden Signals mit dem Geschwindigkeitssteuersignal zum Erhalt eines Abweichungssignals.809811/0891
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/721,805 US4086522A (en) | 1976-09-08 | 1976-09-08 | Computer assisted teaching arrangement for conveyor line operation |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2740507A1 true DE2740507A1 (de) | 1978-03-16 |
Family
ID=24899372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772740507 Withdrawn DE2740507A1 (de) | 1976-09-08 | 1977-09-08 | Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator |
Country Status (9)
Country | Link |
---|---|
US (1) | US4086522A (de) |
JP (1) | JPS5334269A (de) |
BR (1) | BR7705774A (de) |
CA (1) | CA1091330A (de) |
DE (1) | DE2740507A1 (de) |
FR (1) | FR2364503A1 (de) |
GB (1) | GB1561257A (de) |
IT (1) | IT1089835B (de) |
SE (1) | SE447355B (de) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3034244A1 (de) * | 1979-09-14 | 1981-04-02 | Tokico Ltd., Kawasaki, Kanagawa | Lernfaehiger roboter |
DE3033202A1 (de) * | 1980-09-03 | 1982-04-08 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zur interpolation zwischen einer kartesischen koordinatenachse und einer rundachse, sowie zur steuerung der rundachse bei numerisch gesteuerten werkzeugmaschinen |
EP0075196A1 (de) * | 1981-09-14 | 1983-03-30 | Csepel Müvek Szerszámgépgyára | Positionssteuerung der Bohrspindel einer Radialbohrmaschine |
EP0108348A2 (de) * | 1982-10-30 | 1984-05-16 | DEUTSCHE FORSCHUNGSANSTALT FÜR LUFT- UND RAUMFAHRT e.V. | Fernsteuereinrichtung zum Eingeben und/oder zum Programmieren von Bewegungen, Kräften und Drehmomenten eines Roboters, eines Manipulators, und eines graphischen Displays mit Hilfe eines sechsdimensionalen Kraft-Momenten-Sensors |
DE3246828A1 (de) * | 1982-12-17 | 1984-06-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 8000 München | Mobile transport- und handhabungseinrichtung |
EP0184075A1 (de) * | 1984-12-04 | 1986-06-11 | Siemens Aktiengesellschaft | Einrichtung und Verfahren zum Regeln eines Industrieroboters |
FR2574691A1 (fr) * | 1984-12-19 | 1986-06-20 | Honda Motor Co Ltd | Procede et appareil pour monter des pieces des deux cotes d'un corps principal, notamment la carrosserie d'un vehicule automobile |
FR2636876A1 (fr) * | 1988-09-29 | 1990-03-30 | Peugeot | Ligne de fabrication industrielle automatisee |
WO1992001538A1 (en) * | 1990-07-24 | 1992-02-06 | The University Of British Columbia | Hydraulic control system |
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 |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1588315A (en) * | 1977-03-31 | 1981-04-23 | Davy Loewy Ltd | Manipulator |
CA1121888A (en) * | 1977-04-30 | 1982-04-13 | Junichi Ikeda | Industrial robot |
US4201937A (en) * | 1978-04-07 | 1980-05-06 | Unimation, Inc. | Control apparatus for programmable manipulator |
US4338672A (en) * | 1978-04-20 | 1982-07-06 | Unimation, Inc. | Off-line teach assist apparatus and on-line control apparatus |
CA1119279A (en) * | 1978-04-20 | 1982-03-02 | Yung-Ming Yen-Chen | Off-line teach assist apparatus and on-line control apparatus |
JPS5840761B2 (ja) * | 1978-12-20 | 1983-09-07 | 工業技術院長 | 人間腕形マニピュレ−タの制御装置 |
US4245298A (en) * | 1979-01-15 | 1981-01-13 | Magicam, Inc. | System for creating a servo control signal |
JPS55118107A (en) * | 1979-03-05 | 1980-09-10 | Hitachi Ltd | Method and device for control of automatic working device |
US4258425A (en) * | 1979-03-08 | 1981-03-24 | A. O. Smith Corporation | Self-programmed mechanical working apparatus |
JPS5659309A (en) * | 1979-10-19 | 1981-05-22 | Tokico Ltd | Robot |
US4385358A (en) * | 1979-10-19 | 1983-05-24 | Tokico Ltd. | Robot |
US4362978A (en) * | 1980-10-27 | 1982-12-07 | Unimation, Inc. | Control system for manipulator apparatus |
US4409650A (en) * | 1981-03-04 | 1983-10-11 | Shin Meiwa Industry Co., Ltd. | Automatic position controlling apparatus |
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 |
FR2510933A1 (fr) * | 1981-08-06 | 1983-02-11 | Renault | Dispositif et procede de pose automatique d'un element de vitrage, d'une garniture de pavillon ou analogue |
JPS58119474A (ja) * | 1982-01-09 | 1983-07-15 | Honda Motor Co Ltd | 自動車車体の増打溶接装置 |
US4641251A (en) * | 1982-02-16 | 1987-02-03 | Inoue-Japax Research Incorporated | Robot |
US4486843A (en) * | 1982-03-03 | 1984-12-04 | Nordson Corporation | Transitional command position modification for a controller |
US4481591A (en) * | 1982-03-03 | 1984-11-06 | Nordson Corporation | Method and apparatus for modifying a prerecorded sequence of ON/OFF commands for controlling a bistable device operating in conjunction with a moving robot under program control |
JPS58177287A (ja) * | 1982-04-05 | 1983-10-17 | 株式会社日立製作所 | ロボットの制御方法 |
US4581893A (en) * | 1982-04-19 | 1986-04-15 | Unimation, Inc. | Manipulator apparatus with energy efficient control |
US4453221A (en) * | 1982-05-13 | 1984-06-05 | Cincinnati Milacron Inc. | Manipulator with adaptive velocity controlled path motion |
JPS59114609A (ja) * | 1982-12-22 | 1984-07-02 | Hitachi Ltd | ロボットの制御装置 |
US4510428A (en) * | 1983-03-25 | 1985-04-09 | Unimation, Inc. | Control system for manipulator apparatus with initializing stabilization and inertia scaling |
US4532148A (en) * | 1983-04-01 | 1985-07-30 | General Motors Corporation | Robot painting system for automobiles |
US4539932A (en) * | 1983-04-01 | 1985-09-10 | General Motors Corporation | Robot painting system for automobiles |
JPS59189415A (ja) * | 1983-04-13 | 1984-10-27 | Hitachi Ltd | 工業用ロボツトの動作教示方法および装置 |
JPS59218513A (ja) * | 1983-05-26 | 1984-12-08 | Fanuc Ltd | 工業用ロボツトの円弧制御法 |
JPS60175108A (ja) * | 1984-02-20 | 1985-09-09 | Fanuc Ltd | 等速制御方法 |
JPS60204016A (ja) * | 1984-03-27 | 1985-10-15 | Toyoda Mach Works Ltd | 走行形作業用ロボツト |
GB2160827B (en) * | 1984-05-16 | 1988-07-20 | Honda Motor Co Ltd | Apparatus for assembling a vehicle door with a vehicle body |
US4689756A (en) * | 1984-06-29 | 1987-08-25 | Shin Meiwa Industry Co., Ltd. | Robot interpolation control method |
JPS6142004A (ja) * | 1984-08-06 | 1986-02-28 | Toyota Central Res & Dev Lab Inc | 追従ロボツト装置 |
US5201630A (en) * | 1984-09-07 | 1993-04-13 | Sony Corporation | Industrial robot with servo system |
US4629860A (en) * | 1984-10-30 | 1986-12-16 | Lindbom Torsten H | Robotic apparatus and method for automatically moving a tool through three dimensions and manually to an extended position |
JPS61202981A (ja) * | 1985-03-06 | 1986-09-08 | Mazda Motor Corp | 自動車の組立用搬送装置 |
JPS6212483A (ja) * | 1985-05-30 | 1987-01-21 | Nachi Fujikoshi Corp | 自動車窓ガラスの自動取付装置 |
US4670974A (en) * | 1985-11-06 | 1987-06-09 | Westinghouse Electric Corp. | Windshield insertion system for a vehicle on a moving conveyor apparatus |
US4685067A (en) * | 1986-02-20 | 1987-08-04 | Cincinnati Milacron Inc. | Control system for program controlled manipulator having multiple triggered functions between programmed points |
US4794540A (en) * | 1986-06-18 | 1988-12-27 | Mts Systems Corporation | Iterative spline function controlled positioning mechanism |
FI862656A0 (fi) * | 1986-06-23 | 1986-06-23 | Partek Ab | Anordning foer defibrering av smaelt mineralmaterial. |
NL8700525A (nl) * | 1987-03-04 | 1988-10-03 | Buhrs Zaandam Bv | Inrichting voor het bewerken van op een transportband gelegen voorwerpen. |
US4998050A (en) * | 1988-06-13 | 1991-03-05 | Nissan Motor Co., Ltd. | System and method for teaching robots |
JPH02277102A (ja) * | 1989-04-18 | 1990-11-13 | Toshiba Mach Co Ltd | 数値制御工作機械における加工プログラムティーチング方式 |
JP2899075B2 (ja) * | 1990-06-29 | 1999-06-02 | 三菱電機株式会社 | 同期駆動装置および同期駆動方法 |
JP3080732B2 (ja) * | 1991-11-15 | 2000-08-28 | マツダ株式会社 | 自動車のトランクリッド組付装置 |
US5207309A (en) * | 1992-08-18 | 1993-05-04 | Simpkin Steven W | Concomitant motion control device |
JPH08216082A (ja) * | 1995-02-15 | 1996-08-27 | Yaskawa Electric Corp | ロボット装置 |
US5726896A (en) * | 1995-08-30 | 1998-03-10 | University Of Utah Research Foundation | Method and system for spline interpolation, and their use in CNC |
US5724489A (en) * | 1995-09-25 | 1998-03-03 | Honda Giken Kogyo Kabushiki Kaisha | Apparatus for and method of generating robot teaching data on offline basis |
JP4203696B2 (ja) * | 1999-10-20 | 2009-01-07 | 株式会社安川電機 | 産業用機械の動作確認方法および装置 |
DE19955646A1 (de) * | 1999-11-19 | 2001-06-13 | Bayerische Motoren Werke Ag | Vorrichtung und Verfahren zur Zuordnung eines Werkzeugs zu einem Werkstück |
US6791592B2 (en) * | 2000-04-18 | 2004-09-14 | Laserink | Printing a code on a product |
US7143494B2 (en) * | 2001-05-16 | 2006-12-05 | Utica Enterprises, Inc. | Method and apparatus for assembling exterior automotive vehicle body components onto an automotive vehicle body |
US20050088510A1 (en) * | 2003-10-24 | 2005-04-28 | Shlomo Assa | Low angle optics and reversed optics |
US7046267B2 (en) * | 2003-12-19 | 2006-05-16 | Markem Corporation | Striping and clipping correction |
US20050255406A1 (en) * | 2004-05-11 | 2005-11-17 | Shlomo Assa | Marking on a thin film |
US7394479B2 (en) | 2005-03-02 | 2008-07-01 | Marken Corporation | Pulsed laser printing |
DE102005048278B4 (de) * | 2005-10-08 | 2013-11-21 | GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) | Automatische Schraubeinrichtung für ein Chassis eines Kraftfahrzeugs |
DE102005048277A1 (de) | 2005-10-08 | 2007-05-03 | GM Global Technology Operations, Inc., Detroit | Automatische Schraubeinrichtung zur Karosseriemontage bei Kraftfahrzeugen |
DE102006022637A1 (de) * | 2006-05-12 | 2007-11-15 | Mühlbauer Ag | Verfahren und Vorrichtung zum Anfahren einer vorbestimmten Position eines sich in einer Verfahrrichtung bewegenden Trägerbandes |
US7974737B2 (en) * | 2006-10-31 | 2011-07-05 | GM Global Technology Operations LLC | Apparatus and method of automated manufacturing |
JP4737160B2 (ja) * | 2007-07-31 | 2011-07-27 | トヨタ自動車株式会社 | パワーアシスト装置およびその制御方法 |
JP4443615B2 (ja) * | 2008-02-27 | 2010-03-31 | トヨタ自動車株式会社 | パワーアシスト装置及びその制御方法 |
EP2144127B1 (de) * | 2008-07-08 | 2014-04-30 | Siemens Aktiengesellschaft | Verfahren und Steuergerät zum Aufsynchronisieren eines Aufnehmers eines Handlingsgerätes |
US8950065B2 (en) * | 2011-09-19 | 2015-02-10 | Comau, Inc. | Weld gun part clamp device and method |
US9227322B2 (en) * | 2012-11-30 | 2016-01-05 | Fanuc Robotics America Corporation | Multi-arm robotic painting process synchronization |
JP5768826B2 (ja) * | 2013-03-14 | 2015-08-26 | 株式会社安川電機 | ロボットシステムおよびロボットの作業方法 |
JP6361213B2 (ja) * | 2014-03-26 | 2018-07-25 | セイコーエプソン株式会社 | ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム |
JP6923167B2 (ja) * | 2014-09-03 | 2021-08-18 | 国立研究開発法人産業技術総合研究所 | 電動ピペットシステム、電動ピペット及び作業手順表示装置 |
FR3068458B1 (fr) * | 2017-06-28 | 2019-08-09 | Micro-Controle - Spectra Physics | Procede et dispositif de generation d'un signal impulsionnel a des positions particulieres d'un element mobile. |
JP6919622B2 (ja) * | 2018-04-26 | 2021-08-18 | オムロン株式会社 | 制御システム、制御方法、および制御プログラム |
US10583668B2 (en) | 2018-08-07 | 2020-03-10 | Markem-Imaje Corporation | Symbol grouping and striping for wide field matrix laser marking |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3283918A (en) * | 1963-12-02 | 1966-11-08 | George C Devol | Coordinated conveyor and programmed apparatus |
US3543910A (en) * | 1968-07-30 | 1970-12-01 | George C Devol | Work-head automatic motions controls |
US3744032A (en) * | 1971-07-15 | 1973-07-03 | Unimotion Inc | Stationary base programmed manipulator arrangement for continuously moving workpiece |
US4011437A (en) * | 1975-09-12 | 1977-03-08 | Cincinnati Milacron, Inc. | Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3259254A (en) * | 1964-04-16 | 1966-07-05 | James M Mitchell | Motion device |
US3818290A (en) * | 1971-04-07 | 1974-06-18 | Gen Motors Corp | Position compensator for a programmed work device |
US3686556A (en) * | 1971-05-24 | 1972-08-22 | Square D Co | Positioning control system for a machine that performs work on a moving part |
JPS5024974A (de) * | 1973-07-05 | 1975-03-17 | ||
JPS5024686A (de) * | 1973-07-09 | 1975-03-15 | ||
US3958682A (en) * | 1973-11-05 | 1976-05-25 | Martin Paul S | Coordination of robot and conveyor |
US4163183A (en) * | 1975-10-28 | 1979-07-31 | Unimation, Inc. | Programmable automatic assembly system |
-
1976
- 1976-09-08 US US05/721,805 patent/US4086522A/en not_active Expired - Lifetime
-
1977
- 1977-07-15 CA CA282,868A patent/CA1091330A/en not_active Expired
- 1977-07-25 GB GB31163/77A patent/GB1561257A/en not_active Expired
- 1977-08-01 FR FR7723664A patent/FR2364503A1/fr active Granted
- 1977-08-30 BR BR7705774A patent/BR7705774A/pt unknown
- 1977-09-07 JP JP10767477A patent/JPS5334269A/ja active Granted
- 1977-09-07 SE SE7710013A patent/SE447355B/xx not_active IP Right Cessation
- 1977-09-07 IT IT50903/77A patent/IT1089835B/it active
- 1977-09-08 DE DE19772740507 patent/DE2740507A1/de not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3283918A (en) * | 1963-12-02 | 1966-11-08 | George C Devol | Coordinated conveyor and programmed apparatus |
US3543910A (en) * | 1968-07-30 | 1970-12-01 | George C Devol | Work-head automatic motions controls |
US3744032A (en) * | 1971-07-15 | 1973-07-03 | Unimotion Inc | Stationary base programmed manipulator arrangement for continuously moving workpiece |
US4011437A (en) * | 1975-09-12 | 1977-03-08 | Cincinnati Milacron, Inc. | Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece |
Non-Patent Citations (1)
Title |
---|
In Betracht gezogene ältere Anmeldung: DE-OS 26 39 774 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3034244A1 (de) * | 1979-09-14 | 1981-04-02 | Tokico Ltd., Kawasaki, Kanagawa | Lernfaehiger roboter |
DE3033202A1 (de) * | 1980-09-03 | 1982-04-08 | Siemens AG, 1000 Berlin und 8000 München | Verfahren zur interpolation zwischen einer kartesischen koordinatenachse und einer rundachse, sowie zur steuerung der rundachse bei numerisch gesteuerten werkzeugmaschinen |
EP0075196A1 (de) * | 1981-09-14 | 1983-03-30 | Csepel Müvek Szerszámgépgyára | Positionssteuerung der Bohrspindel einer Radialbohrmaschine |
EP0108348A2 (de) * | 1982-10-30 | 1984-05-16 | DEUTSCHE FORSCHUNGSANSTALT FÜR LUFT- UND RAUMFAHRT e.V. | Fernsteuereinrichtung zum Eingeben und/oder zum Programmieren von Bewegungen, Kräften und Drehmomenten eines Roboters, eines Manipulators, und eines graphischen Displays mit Hilfe eines sechsdimensionalen Kraft-Momenten-Sensors |
EP0108348A3 (en) * | 1982-10-30 | 1984-11-07 | Deutsche Forschungs- Und Versuchsanstalt Fur Luft- Und Raumfahrt E.V. | Method of programming movements and, if necessary, processing forces or moments of a robot or manipulator, and device for carrying it out |
DE3246828A1 (de) * | 1982-12-17 | 1984-06-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 8000 München | Mobile transport- und handhabungseinrichtung |
EP0184075A1 (de) * | 1984-12-04 | 1986-06-11 | Siemens Aktiengesellschaft | Einrichtung und Verfahren zum Regeln eines Industrieroboters |
US4665352A (en) * | 1984-12-04 | 1987-05-12 | Siemens Aktiengesellschaft | Apparatus and method for controlling an industrial robot |
FR2574691A1 (fr) * | 1984-12-19 | 1986-06-20 | Honda Motor Co Ltd | Procede et appareil pour monter des pieces des deux cotes d'un corps principal, notamment la carrosserie d'un vehicule automobile |
FR2636876A1 (fr) * | 1988-09-29 | 1990-03-30 | Peugeot | Ligne de fabrication industrielle automatisee |
WO1992001538A1 (en) * | 1990-07-24 | 1992-02-06 | The University Of British Columbia | Hydraulic control system |
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 |
Also Published As
Publication number | Publication date |
---|---|
US4086522A (en) | 1978-04-25 |
GB1561257A (en) | 1980-02-13 |
SE447355B (sv) | 1986-11-10 |
JPS5334269A (en) | 1978-03-30 |
BR7705774A (pt) | 1978-07-04 |
FR2364503A1 (fr) | 1978-04-07 |
SE7710013L (sv) | 1978-03-09 |
CA1091330A (en) | 1980-12-09 |
IT1089835B (it) | 1985-06-18 |
FR2364503B1 (de) | 1984-03-23 |
JPS626246B2 (de) | 1987-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2740507A1 (de) | Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator | |
DE2712169C2 (de) | Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter | |
DE2905487C2 (de) | ||
DE2660912C2 (de) | Programmsteuerung für einen Manipulator | |
DE2234759C3 (de) | Programmsteuerung für einen in einer Fließbandfertigung anwendbaren ortsfesten Manipulator | |
DE2709335A1 (de) | Programmierbarer manipulator | |
DE4101422C2 (de) | ||
DE2727262A1 (de) | Instruierbarer programmsteuerbarer manipulator | |
DE3317263A1 (de) | Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung | |
DE1763946A1 (de) | Verbesserungen in numerischen Steuerungseinrichtungen | |
DE69023982T2 (de) | Synchronisationsregelsystem für Servomotoren. | |
DE3001012C2 (de) | Elektrisches Servopositioniersystem | |
CH629990A5 (de) | Verfahren zur gleichlaufregelung einer zahnradbearbeitungsmaschine und einrichtung zur ausfuehrung des verfahrens. | |
DE1948490C3 (de) | Schaltungsanordnung zur numerischen Steuerung der Bewegung eines verstellbaren Organs längs einer Bahnkurve, insbesondere zur numerischen Steuerung der Bewegung des Werkzeug- oder Werkstückträgers einer Werkzeugmaschine | |
DE3301170A1 (de) | Programmgesteuerte kantenschleifmaschine fuer glasscheiben mit einem programmgesteuerten drehbaren schleifkopf | |
DE2111889C2 (de) | Numerische Regeleinrichtung für eine Werkzeugmaschine | |
DE2854683B1 (de) | Vorrichtung zum Herstellen von zylindrischen Rotationskörpern | |
DE3625914C2 (de) | ||
DE3724428C2 (de) | ||
DE2052161C3 (de) | Schaltungsanordnung für eine Elektroerosionsmaschine zum Steuern der relativen Bewegung zwischen mindestens einer Elektrode und mindestens einem Werkstück | |
DE1149925B (de) | Verfahren und Anordnung zum UEbertragen von Daten | |
DE3340527A1 (de) | Servosystem | |
DE3219998A1 (de) | Steuervorrichtung zur synchronisation der pressen einer pressstrasse | |
DE69431137T2 (de) | Bildaufnahmevorrichtung mit rotierender Platform | |
DE1549634B1 (de) | Anordnung zur numerischen bahnsteuerung insbesondere bei einer werkzeugmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8125 | Change of the main classification |
Ipc: G05B 19/02 |
|
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
8178 | Suspension cancelled | ||
8139 | Disposal/non-payment of the annual fee |