DE2740507A1 - Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator - Google Patents

Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator

Info

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
Application number
DE19772740507
Other languages
English (en)
Inventor
Maurice J Dunne
Joseph F Engelberger
William Perzley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unimation Inc
Original Assignee
Unimation Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unimation Inc filed Critical Unimation Inc
Publication of DE2740507A1 publication Critical patent/DE2740507A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical 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/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/41815Total 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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/41815Total 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/4182Total 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35534Conversion input data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36458Teach only some points, for playback interpolation between points
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41481Divide command, block in subcommands, subblocks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45213Integrated manufacturing system ims, transfer line, machining center
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49826Assembling or joining
    • Y10T29/49828Progressively advancing of work assembly station or assembled portion of work
    • Y10T29/49829Advancing work to successive stations [i.e., assembly line]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/53Means to assemble or disassemble
    • Y10T29/53004Means 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
Unimation, Inc., Danbury, Connecticut (V.St.A.)
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,
Fig. 7 ein Blockschaltbild eines Multiplizierers aus Fig. S, Fig. 8 ein Blockschaltbild eines elektronischen Regel- bzw.
Steuerkreises für die Positions- und Geschwindigkeitssteuerung der Bewegungen des Manipulatorarmes zur Verwendung in der Steuerung nach Fig. 5,
Fig. 9 ein Blockschaltbild der Manipulatorsteuerung ähnlich
Fig. 2 jedoch mit einer Interpolationseinheit in einer anderen AusfUhrungsform,
Fig.10 ein detailliertes Blockschaltbild eines Teils aus Fig. 8,
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.
Der Codierer ist so ausgelegt, daß er für die gesamte erfasste
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.
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:
Der Ausdruck ΔΖ. Λ o kann auch durch T- o · Z. ersetzt
IjX- ο X-* L
werden. Dies ergibt nach Vereinfachung
AS1-2 - 5 j + 15k · T1-2 für ZL - 15 cm/s
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:
Anzahl der Bewegungsinkremente *
λ ο ft 10.2
Di 2 " f—" " " 82·22 Intervalle.
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
Progrannspeicher aufgezeichnete Positionssignal MDn bzw. C11
η μ
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
C erfolgt nach der Formel
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 CC8' 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
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.
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-
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:
Geschw'Koordinate " V AMKoordinate*Geschw·Förderband
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:
K m Zahl d.effekt.Interpolationsinter!
ν 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
Geschwindigkeitsabweichune (Bits/s) -(Bits) Verstärkungsfaktor (l/s) d. Positionsregelkreises
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)

  1. 2572
    27A0507
    Patentansprü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, und
    daß die abgeleiteten Positionssignale im Programmspeicher aufgezeichnet werden.
  2. 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. 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. 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. 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. 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. 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 Position
    Z 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. 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ür
    809811/0891
    die 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. 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. 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. 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. 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. 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. 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. 15. Manipulator mit Fördermittel nach Anspruch 14, dadurch gekennzeichnet, daß die Interpolationseinheit (z.B. 252, 254, 260, 262, 264) einen über einen Steuereingang
    809811/0891
    steuerbaren 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. 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. 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/0891
    eintretenden 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
DE19772740507 1976-09-08 1977-09-08 Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator Withdrawn DE2740507A1 (de)

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)

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

* Cited by examiner, † Cited by third party
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
US4539932A (en) * 1983-04-01 1985-09-10 General Motors Corporation Robot painting system for automobiles
US4532148A (en) * 1983-04-01 1985-07-30 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)

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

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

Patent Citations (4)

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

* Cited by examiner, † Cited by third party
Title
In Betracht gezogene ältere Anmeldung: DE-OS 26 39 774 *

Cited By (12)

* Cited by examiner, † Cited by third party
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
IT1089835B (it) 1985-06-18
US4086522A (en) 1978-04-25
SE7710013L (sv) 1978-03-09
GB1561257A (en) 1980-02-13
JPS626246B2 (de) 1987-02-09
SE447355B (sv) 1986-11-10
JPS5334269A (en) 1978-03-30
CA1091330A (en) 1980-12-09
BR7705774A (pt) 1978-07-04
FR2364503B1 (de) 1984-03-23
FR2364503A1 (fr) 1978-04-07

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
DE1763946A1 (de) Verbesserungen in numerischen Steuerungseinrichtungen
DE2034374A1 (de) Steuereinrichtung fur eine Werkzeug maschine
DE69023982T2 (de) Synchronisationsregelsystem für Servomotoren.
DE3001012C2 (de) Elektrisches Servopositioniersystem
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
DE2155128B2 (de) Digitale phasenregelanordnung
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