DE2712169A1 - Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter - Google Patents

Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter

Info

Publication number
DE2712169A1
DE2712169A1 DE19772712169 DE2712169A DE2712169A1 DE 2712169 A1 DE2712169 A1 DE 2712169A1 DE 19772712169 DE19772712169 DE 19772712169 DE 2712169 A DE2712169 A DE 2712169A DE 2712169 A1 DE2712169 A1 DE 2712169A1
Authority
DE
Germany
Prior art keywords
movement
partial
movements
main
superimposed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19772712169
Other languages
English (en)
Other versions
DE2712169C2 (de
Inventor
Lars Dipl Ing Dahlstroem
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.)
ABB Norden Holding AB
Original Assignee
ASEA AB
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 ASEA AB filed Critical ASEA AB
Publication of DE2712169A1 publication Critical patent/DE2712169A1/de
Application granted granted Critical
Publication of DE2712169C2 publication Critical patent/DE2712169C2/de
Expired legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/21Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device
    • G05B19/25Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for continuous-path control
    • G05B19/251Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for continuous-path control the positional error is used to control continuously the servomotor according to its magnitude
    • G05B19/253Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an incremental digital measuring device for continuous-path control the positional error is used to control continuously the servomotor according to its magnitude with speed feedback 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/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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • 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/34Director, elements to supervisory
    • G05B2219/34034Multiplier, prm, brm
    • 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/36497Select program, main and secondary program

Description

Patentanwalt und Rechtsanwalt
Dr.-Ing. Dipl.-Ing. Joachim Boecker
6 Frankfurt/Main 1
Ralhenauplatz 2 - 8 ii/d 20 ^23 P
Telefon: (0611) '28 23 55 Telex: 4189 066 ilai d
ASEA
AB
Västeras / Schweden
Verfahren und Durchführungsanordnung zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
Die Erfindung betrifft ein Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter gemäß dem Oberbegriff des Anspruches 1 sowie eine Anordnung zur Durchführung des Verfahrens.
Auf gewissen Anwendungsgebieten für Industrieroboter (Manipulatoren) mit mehreren Freiheitsgraden, wie z.b. beim Schweißen, Schleifen und Polieren, besteht ein Bedürfnis, den Manipulator komplexe Bewegungen ausführen zu lassen.
Gewisse komplexe Bewegungsformen, wie Pendeln, kann man dadurch erhalten, daß man den Steuersignalen für eine oder zwei der Koordinatenachsen des Roboters Signale überlagert.
Mit diesem Verfahren erhält man jedoch nur eine begrenzte Anzahl Arten von Pendelbewegungen. Eine Verallgemeinerung dieser Technik
709841/0673
/2
23.2.1977 20 323 P
erfordert die Erzeugung komplexer Steuersignale, wodurch nicht nur die Komplexität des Steuersystems erhöht wird, sondern auch höhere Ansprüche an das Bedienungspersonal gestellt werden. Eine Umstellung zwischen verschiedenen Arten von Pendelbewegungen ist außerdem kompliziert, so daß dieses Verfahren nur geringe Flexibilität hat.
Eine andere Möglichkeit, die bei solchen Robotern angewandt werden kann, die so programmiert werden können, daß sie sich zwischen im voraus einprogrammierten Punkten bewegen, besteht darin, einfach die gesamte komplexe Bewegung einzuprogrammieren, indem man die Endpunkte für sämtliche Teilstrecken einprogrammiert, die der Roboter bei der komplexen Bewegung durchlaufen soll. Bei beispielsweise der in Fig. 3 gezeigten verhältnismäßig einfachen komplexen Bewegung besteht die Hauptbewegung aus einer Bewegung zwischen den Punkten A und B (Fig.1) und die überlagerte Bewegung aus drei Teilstrecken CD, DE und EC (Fig.2). Die komplexe Bewegung gemäß Fig. 3 kann also dadurch definiert werden, daß sämtliche 13 Endpunkte für die 12 Teilstrecken einprogrammiert werden, aus denen die komplexe Bewegung zwischen A und B besteht. Diese Methode erfordert eine sehr hohe Speicherkapazität. V/egen der großen Anzahl einzuspeichernder Punkte wird die Programmierung oder eine Umprogrammierung, wie beispielsweise bei Änderung der Hauptbewegung A-B, außerordentlich zeitraubend.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art nebst Durchführungsanordnung zu entwickeln,
70 9 8 41/0 67T
/3
23.2.1977 20 325 P
bei dem für die Ausführung einer komplexen Bewegung durch den Industrieroboter nur relativ wenige Punkte eingespeichert zu werden brauchen.
Zur Lösung dieser Aufgabe wird ein Verfahren nach dem Oberbegriff des Anspruches 1 vorgeschlagen, welches erfindungsgemäß die im kennzeichnenden Teil des Anspruches 1 genannten Merkmale aufweist.
Eine Anordnung zur Durchführung des Verfahrens ist erfindungsgemäß durch die im Anspruch 2 genannten Merkmale gekennzeichnet.
Mit der Erfindung können bei einem Industrieroboter auf einfache V/eise generelle komplexe Bewegungen, wie z.B. Pendel-oder Spiralbewegungen, mittels eines Manipulators erzeugt werden. Es werden geringe Anforderungen an die Speicherkapazität gestellt. Die Programmierung und Umprogrammierung der Bewegung ist äußerst einfach. Ein Standard-Roboter kann nach dem Verfahren ohne Zusatzausrüstung betrieben werden. Das Verfahren und die Durchführungsanordnung nach der Erfindung sind sehr flexibel, da eine Umprograminierung sowohl der Hauptbewegung wie der überlagerten Bewegung in einfacher V/eise durchführbar ist.
Anhand der in den Figuren gezeigten Ausführungsbeispiele soll die Erfindung näher erläutert werden. Es zeigen
709841/0673
23.2.1977 20 323 P
Fig.1-3 ein Beispiel für den Aufbau einer Pendelbewegung,
Fig.4-9 Beispiele für den Aufbau anderer komplexer Bewegungen aus Teilbewegungen,
Fig.10 ein Ausführungsbeispiel einer Anordnung zur Durchführung des Verfahrens nach der Erfindung,
Fig.11 ein Ausführungsbeispiel einer an eine Anordnung nach Fig. 10 anschließbaren Lageverstellanordnung.
Durch die Kombination einer Hauptbewegung zwischen zwei Punkten mit einer überlagerten Bewegung, die aus einer geschlossenen Schleife mit mindestens zwei Teilbewegungen besteht, erhält man eine generelle Möglichkeit, den Manipulator eine gewünschte komplexe Bewegungsform ausführen zu lassen.
Bei der Ausführung der Bewegungsform werden dabei die Teilbev/egungen der geschlossenen Schleife der Reihe nach zur Hauptbewegung addiert.
Durch geeignete Wahl der Zeiten für das Durchlaufen der verschiedenen Strecken v/ird die Schleife mehrere Male durchlaufen, während der Manipulator entsprechend der Hauptbewegung bewegt wird. Der Start- und Endpunkt des Manipulators trifft dabei mit dem Start- und Endpunkt der Hauptbewegung oder mit im Raum im Verhältnis zu den einurograrnrnierten Koordinaten parallelverschobenen Punkten zu-
709841/0673
sammen.
Jb
23.2.1977 20 323 P
Durch dieses Verfahren erhält die Bedienungsperson die Möglichkeit, auf einfache und leicht überschaubare Weise eine komplexe Bewegungsform durch Wahl der Richtung, Länge und Geschwindigkeit für die zur Bewegungsform gehörenden Teilbewegungen zu erzeugen. Ferner können sehr einfache Teilbewegungen ausgenutzt werden, was die Programmierarbeit und den Bedarf an Speicherkapazität verringert.
Figur 1 zeigt ein Beispiel für eine Hauptbewegung zwischen Punkten A und B, die aus einer geraden Bewegung längs de£ Z-Achse besteht.
Figur 2 zeigt ein Beispiel für eine der Hauptbewegung A-E untergeordnete Bewegung C-D-E, die aus den Teilbewegungen C-D, D-E und E-C besteht, welche im gezeigten Fall alle in der xy-Ebene verlaufen.
Wenn die Hauptbewegung A-B mit konstanter Geschwindigkeit erfolgt, so erfolgt die Addition der geschlossenen Schleife C-D-E zur Bewegung A-B, und wenn der Startpunkt des Manipulators im Punkt A liegt, so erhält die Bewegung den in Figur 3 gezeigten Verlauf, d.h. man erhält eine Pendelbewegung während der Verschiebung von A nach B.
Weder die Hauptbewegung noch die untergeordnete Bewegung braucht die in Figur 1 bzw. Figur 2 gezeigte Form zu haben; sie können beliebig variiert v/erden.
709841/0673
/6
23.2.1977 20 323 P
Figur 4 zeigt ein Beispiel für eine alternative Hauptbewegung A'-B1 gegenüber der in Fig. 1 gezeigten. Die Figuren 5 und 6 zeigen zwei Beispiele für untergeordnete Bewegungen F-G-F bzw. H-I-K-L-M-H, die zweidimensional sind und in der xy-Ebene verlaufen. Die Figuren 7 und 8 zeigen zwei Beispiele für untergeordnete Bewegungen N-O-P-Q-N bzw. R-S-T-U-W-R, die im xyz-Raum verlaufen.
Figur 9 zeigt ein Beispiel dafür, wie Pausen, im Beispiel, in die untergeordnete Bewegung gemäß Figur 2 einprogrammiert werden können, was bedeutet, daß während dieser Pausen die Bewegung nur aus der Hauptbewegung besteht längs den in der Figur gezeigten Strecken A1-Ap und A,-B.
Anhand der Figuren 10 und 11 wird nachstehend ein Ausführungsbeispiel einer Programmsteueranordnung und eines Lageverstellers gezeigt, die für einen Manipulator vorgesehen sind, der eine der oben beschriebenen komplexen Bewegungsformen ausführen soll.
Ein Programm für die Bewegungen eines Manipulators besteht aus einer Anzahl Befehle, die in einem Speicher 11 gespeichert werden. Verschiedene Arten von Befehlen können vorkommen, wie z.B. Befehl für die Weiterbewegung, Befehl zum Ablesen der Eingangssignale, Befehl zum Sprung zu einem ' bestimmten Befehl an anderer Stelle im Speicher, Befehl zur Wiederholung einer Folge von Befehlen usw.
709841/0673 /?
23.2.1977 20 323 P
Gemeinsam für sämtliche Befehle ist, daß sie Informationen über die Befehlsart und die Befehlsnummer, d.h. die Adresse irn Speicher, enthalten. Beim Programmieren wird die vorgesehene Funktion bestimmt mittels eines Umschalters 12, der an ein Register FKU an-
/1.3 geschlossen ist und mittels eines Umschalters'für die Adressen-
ADR
wahl, der an ein Register/angeschlossen ist.
Nachstehend werden nur die Befehle behandelt, die die Weiterbewegung eines Roboterarms bestimmen.
Bei der Punkt-Punkt-Steuerung wird die Bewegungsform des Roboters durch eine Anzahl diskrete Positionen definiert. Jeder dieser Positionen entspricht ein Positionierungsbefehl. Der Befehl enthält u.a. Angaben über die Koordinaten des Roboterarms in der Position und über die Zeit für die Weiterbewegung aus der vorhergehenden Position.
Die Koordinaten des Roboterarms, d.h. die digitalen Istwerte für sämtliche Koordinatenachsen, v/erden normalerweise durch die sog. Lernmethode einprogrammiert. Zu diesem Zweck wird der Roboter mittels eines Gliedes 14 manuell in die gewünschte Position gefahren. Die Zeit für die Weiterbewegung aus der vorhergehenden programmierten Position wird mit einem Umschalter 15 bestimmt, der an ein mit TID bezeichnetes Register angeschlossen ist.
hit einem manuellen Steuerglied 16 können Schreibglieder 17 über ein Steuerglied 18 für Schreiben und Lesen Jianue] 1 gesteuert werden,
709841/0673
20 323 ρ
-ίο
so daß die mit den Umschaltern 12, 13 und 15 eingestellten Vierte sowie die in einem v/eiteren Register KOORD enthaltene Information übertragen und im Speicher 11 gespeichert werden. Bevor mit der Programmierung einer Bewegungsform begonnen wird, wird der Roboterarm manuell in seine Synchronisierungs lage geführt, v/orauf ein in der Anordnung vorhandenes Istwertregister ISREG mittels eines Gliedes MANSYNC auf Null gestellt wird.
Die Wahl der Eefehle zum manuellen Fahren erfolgt mittels eines manuellen Adressenwählgliedes IiANADR. Die Durchführung der Befehle geschieht mit dem Glied 16. Bei automatischem Betrieb werden die Befehle normalerweise hintereinander folgend ausgeführt, sofern aus dem betreffenden Befehl nichts anderes hervorgeht. Venn der gewünschte Eefehl adressiert v/ird, werden am Ausgang des Speichers 11 Leseglieder 19 aktiviert (manuell oder automatisch), v/orauf die Information über die vorgesehene Funktion an ein Steuerglied 20 über ein Register FKN übertragen v/ird.
Die manuelle Programmierung bedeutet also, daß der Istv/ert eingestellt wird und daß neue Sollwerte an das Regelsystem beordert werden, welches an die Anordnung nach Figur 10 im Punkte Q angeschlossen ist.
Es kommen drei verschiedene Arten von Positionierungsbefehlen vor, nämlich normale Positionierung, übergeordnete Positionierung und
709841/0673
23.?-. 1977 20 523 P
untergeordnete Positionierung. Die beiden letztgenannten werden bei der Erzeugung einer komplexen Bewegungsform verwendet.
Bei der normalen Positionierung kann eine der folgenden drei Funktionen gewählt werden:
an
1. Einstellung auf^das Steuerglied 20 und an die Register KOORD,
IKH und ADR, welche letztgenannten an das Leseglied 19 angeschlossen sind, angeschlossene Koordinatenregister 22. Dies geschieht dadurch, daß das Steuerglied 20 über ein UND-Glied 21 die im Speicher 11 gespeicherten Koordinatenwerte an das Koordinatenregister 22 überträgt. In diesem Fall wird der Roboterarm nicht weiterbewegt. Die Übertragung des Koordinatenwertes bedeutet die Definition eines Bezugspunktes, der bei der Berechnung einer Strecke benutzt wird, die sich nicht auf eine Position bezieht, die der Roboter einnehmen soll, wodurch die Koordinatentransformierung ermöglicht Wird.
2. Absolute Positionierung, was bedeutet, daß sich der Roboterarm in die programmierte Position bewegt. In diesem Fall wird das Koordinatenregister 22 dadurch eingestellt, daß das Steuerglied über das UND-Glied 21 die im Speicher gespeicherten Koordinatenwerte überträgt. Das Koordinatenregister 25 wird dadurch eingestellt, daß das Steuerglied 20 das UND-Glied 23 durchschaltet, so daß der Inhalt des Istwertregisters ISREG übertragen wird, wodurch die Weiterbewegung für jede Koordinatenachse gleich dem programmierten Koordinatenwert abzüglich des augenblicklichen Koordinatenwertes (Istwert)
709841/0673
/10
23.2.1977 20 323 P
3. Relative Positionierung, was bedeutet, daß der Roboterarm im allgemeinen nicht die programmierte Position einnimmt. In diesem Fall wird die Weiterbewegung für jede Koordinatenachse gleich dem programmierten Koordinatenwert abzüglich des Inhalts des Koordinatenregisters 22. Der Inhalt dieses Koordinatenregisters wird hierbei in das Koordinatenregister 25 für den vorherigen Koordinatenwert übertragen, bevor der neue Koordinatenwert im, ,Speicher in das Koordinatenregister 22 gegeben wird.
Die inkrernentale Weiterbewegung erhält man, indem die Weiterbewegung in einem Dividierer 26 durch die Anzahl der Schritte dividiert wird, d.h. durch die Weiterbewegungszeit, ausgedrückt durch die Anzahl der Zerhackerintervalle (samplingsintervall). Die Anzahl der Schritte erhält man vom Zeitregister TIDREG, das an ein an das Leseglied 19 angeschlossenes Register TID angeschlossen ist, dessen Inhalt durch das Steuerglied 20 an das Zeitregister TIDREG übertragen wird. Der Inhalt des Zeitregisters TIDREG wird in einem Multiplikator MULT mit einer Konstanten KONST multipliziert, wodurch man die Anzahl Schritte erhält, die gleich der Anzahl der Zerhackerintervalle ist.
Hierbei gilt für die oben beschriebene übergeordnete Bewegung, daß die ganze Zahl in dem Quotienten und der Rest für jede Koordinate nach der Division in den Registern 27 bzw. 28 gespeichert werden.
709841/0673 Z11
23.2.1977 20 323 P
Der Rest wird mit einem binären Frequenzmultiplikator 29 gleichmäßig über die Weiterbewegungszeit verteilt.
Die vom Zeitregister TIDREG gelieferte Anzahl Schritte, die in ein Register 29 gegeben wird, wird mit dem Inhalt eines Zählers in einem Vergleichsglied 31 verglichen. Der Zähler 30 wird auf Null gestellt, während gleichzeitig neue Werte in die Register 27 und 28 gegeben werden. Der Zähler 30 wird mit jedem Samlingsintervall um eine Einheit weitergestellt. Wenn der Inhalt des Zählers 30 mit dem Inhalt (Schrittzahl) des Registers 29 übereinstimmt, werden die Register 27 und 28 durch ein Signal R auf Null gestellt und an das Steuerglied 20 wird ein Signal gegeben. Bei normaler Absolut- oder Relativpositionierung wird der Befehl beendet entweder, nachdem die gewünschte Anzahl Schritte ausgeführt ist oder wenn der Roboterarm seine gewünschte Lage eingenommen hat. Im Falle der Einstellung des Koordinatenregisters 22 wird der Eefehl beendet, nachdem die Koordinatenwerte aus dem an die Leseglieder 19 angeschlossenen Register KOORD in das Koordinatenregister 22 übertragen sind.
Bei übergeordneter Positionierung können nur die Funktionen absolute und relative Positionierung gewählt werden und bei untergeordneter Positionierung nur die Einstellung der Koordinatenregister und die relative Positionierung. Eine übergeordnete Positionierung unterscheidet sich von einer normalen Positionierung dadurch, daß ein Befehlsblock, der untergeordnete Positionierungen enthält, ein oder mehrere Kaie ausgeführt werden kann, v/ährend parallel dazu die Ausführung einer übergeordneten Positionierung vor sich geht. Der
709841/0673
23.2.197Y 20 323 P
Eofehl für die übergeordnete Positionierung enthält dabei die Adresse an den Befehlsblock für die untergeordneten Positionierungen und Informationen über die Anzahl von Befehlen im Block.
Der erste Befehl im Befehlsblock für die untergeordneten Bewegungen betrifft immer eine Einstellung des Koordinatenregisters Der letzte Befehl im Block enthält dabei die Adresse an den ersten. Ein Sprung zum Befehlsblock für die untergeordnete Bewegung erfolgt direkt nachdem die Daten für die übergeordnete Bewegung ,in die Register 27, 28 bzw. 29 eingespeist sind. Dabei ist zu beachten, daß zur Anordnung ein Impulsgenerator CP gehört, der eine Impulsfolge an die verschiedenen Glieder der Anordnung liefert. Die Ausführung des ersten Befehls im Block ist beendet, wenn das Koordinatenregister 22 eingestellt ist. Danach werden die übrigen untergeordneten Positionierungen als normale relative Positionierungen ausgeführt.
Für die übergeordnete Bewegung ( Hauptbewegung ) wird der Inhalt des Koordinatenregisters 22 in das Koordinatenregister 25 übertragen, bevor der neue Koordinatenwert vom Speicher 11 in das Koordinatenregister 22 übertragen wird. Auf gleiche Weise wird für die überlagerte (untergeordnete) Bewegung der vorherige Koordinatenwert vom Koordinatenregister 22 in das Koordinatenregister 24 übertragen, bevor der neue Koordinatenv/ert vom Speicher 11 ins Koordinatenregister 22 gegeben wird.
Die Berechnung der Schritte für die untergeordneten Positionierungen geschieht dadurch, daß der Unterschied zwischen dem Inhalt in den
7 0 9 8 4 1 /0673
23.2.1977 20 523 P
Koordinatenregistern 22 und 24 durch die Schrittanzahl dividiert wird. Die im Quotienten enthaltene ganze Zahl, der Rest und die Schrittzahl werden in den Registern 32, 33 bzw. 34 gespeichert. Der Rest wird mit einem binären Frequenzmultiplikator 46 gleichmäßig über die Weiterbewegungszeit verteilt. Die Register werden durch ein Signal R von einem Vergleichsglied 35 auf Hull gestellt, wenn der Inhalt des Zählers 36 mit dem Inhalt des Registers 34 übereinstimmt, wonach die Verarbeitung des nächsten Befehls begonnen werden kann. Nachdem die letzte Positionierung in, dem untergeordneten Befehlsblock beendet ist, d.h. nachdem alle Schritte ausgeführt wurden, erfolgt ein Sprung zum
a) ersten Befehl des Blockes, wenn und nur wenn eine übergeordnete Positionierung im Gange ist und wenn nicht alle Schritte bereits ausgeführt wurden. Dies erfolgt also über das Register RtXJ+1 an das Adressenregister ADRRSG, das über Adressenglieder 45 die Adresse an den Speicher 11 überträgt,
b)Befehl mit Adresse gemäß dem Rücksprungregister, d.h. zu dem Befehl, der nach dem Befehl für die übergeordnete Bewegung folgt, wenn und nur wenn eine übergeordnete Positionierung im Gange ist und alle Schritte ausgeführt wurden. Dies geschieht dann über das Rückschaltregister BACKREG. Die kombinierte Bewegung wird somit beendet, wenn sämtliche Schritte für die übergeordnete Bewegung ausgeführt wurden und wenn der Befehlsblock für die untergeordneten Bewegungen eine bestimmte Anzahl von Haien ausgeführt wurde.
709841/0673 lAl
/14
25. 2.11JV7 20 323 ι-
Für die übrigen Befehle erfolgt ein Sprung zu dem Befehl, der dein letzten Befehl im block folgt.
Bei einer übergeordneten Fev:egung werden danach die Ausgangssignale von den Addierern 37 und 38 mittels eines weiteren .Addierers 39 summiert. Dies geschieht, indem die Signale von den Addierern 37 und 38 über UND-Glieder 40 und 41, die von dem Steuerglied 20 gesteuert werden, auf den Addierer 39 geschaltet sind.
Das Ausgangssignal vom Addierer 39 wird über den Punkt Q einerseits an den in Figur 11 gezeigten Lageversteller und andererseits an das Istwertregister ISREG über einen Addierer 42 übertragen, der den inkrementalen Wert zu dem früheren Gesamtwert im Register TOTREG nach einer zeitlichen Verzögerung durch das Verzögerungsglied 43 unter Berücksichtigung der Impulsfolge vom Impulsgenerator CP addiert.
Das Steuerglied 20 besteht aus einer programmierbaren Folgelogik, die nach bestimmten logischen Bedingungen arbeitet und beispielsweise eine Anordnung der in der ASEA-Zeitschrift 1975, Seite 83 ff. beschriebenen Art sein kann.
Figur 11 zeigt einen Lageversteller, der Ausgangssignale vom Punkt Q in Figur 10 erhält. Der Lageversteller hat die Aufgabe, die von der Anordnung gemäß Figur 10 vorgegebene Lage für eine Roboterachse in eine tatsächliche './eiterbewegung der Roboterachse umzuwandeln. Das
709841/0673
2:5.2.1977 20 ?23 P
Signal vom Punkt Q wird einem Register REG im Takt einer über ein Verzögerungsglied 44 zeitlich verzögerten Impulsfolge vom Impulsgenerator CP zugeführt. Der Inhalt des Registers REG wird mit Hilfe eines binären Frequenzmultiplikators BRM gleichmäßig über ein Samplingsintervall verteilt. Der Frequenzmultiplikator BRM wird gemäß einer Impulsfolge gespeist, die eine höhere Frequenz hat als die Impulsfolge des Impulsgenerators CP und die man durch Multiplikation der Impulsfolge des Impulsgenerators CP in einem Ilultiplikator MULT erhält. Als Multiplikationsfaktor ist die ,größte Zahl gewählt, die REG zugeführt wird. Die Impulse des Frequenzmultiplikators BRM werden im vorwärtszählenden Sinne auf einen reversiblen Zähler REV gegeben. Bei konstanter Geschwindigkeit zählt der an das Verstellsystera angeschlossene Impulsgeber PG den Zähler in demselben Takt zurück. Das Ausgangssignal des Zählers REV wird einem Digital/Analog-Umwandler D/A zugeführt.
Das Ausgangssignal des Digital/Analogumwandlers D/A, das der Geschwindigkeitssollwert des Verstellsystems ist, wird auf einen Geschwindigkeitsregler SERVO konventioneller Bauart gegeben, z.b. Typ SPA 1115 der Firma Inland Motor Div. Der Geschwindigkeitsregler ist an einen Gleichstrommotor M mit Tachometer TG und Impulsgeber PG angeschlossen. Das Tachometersignal dient als Geschwindigkeitsrückführung für den Geschwindigkeitsregler SERVO.
Wie aus dem Vorstehenden hervorgeht, bieten das Verfahren und die Anordnung nach der Erfindung bei einem Industrieroboter bedeutende
709841/0673
/16
ZO -J2) P
Vorteile. Bei der verhältnismäßig einfachen komplexen Bewegung nach Fig. 3 müssen bei konventioneller Programmierung 13 Punkte einprogrammiert v/erden. Mit Hilfe der Erfindung wird diese Anzahl auf 5 herabgesetzt. Normalerweise v/ird jedoch die überlagerte : cwcgung viele Haie durchlaufen. Bei konventioneller Programmier;mg werden daher an die Speicherkapazität sehr große Anforderungen gestellt und die Programmierung selbst wird außerordentlich zeitraubend. Mit Hilfe der Erfindung sind beispielsweise für die Bewegung in Fig. 3 niemals mehr als drei einprogrammierte,Punkte erforderlich, zuzüglich der beiden Endpunkte der Hauptbewegung. Die Ersparnis an Speicherkapazität und Programmierarbeit ist daher normalerweise sehr groß. Ferner können Änderungen der Hauptbewegung leicht vorgenommen werden, ohne daß die überlagerte Bewegung
zu
umprogrammiert/werden braucht, v/as in der Praxis von größter Bedeutung ist.
Vorstehend wurde beschrieben, wie eine Steueranordnung nach der Erfindung mit Hilfe elektronischer Standardglieder aufgebaut werden kann. Sollte es erwünscht sein, so kann als Alternative selbstverständlich eine Mikroprogrammsteuerung verv/endet werden, die dann in an sich bekannter V/eise so programmiert werden kann, daß man die oben beschriebenen Funktionen erhält.
709841/0673
/17
■ *
Leerseite

Claims (7)

  1. Patentansprüche:
    τ 1 J Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter, welche Bewegung aus einer Hauptbewegung zv/isehen zwei Punkten und einer der Hauptbewegung überlagerten (untergeordneten) Bewegung besteht, die aus einer geschlossenen Schleife besteht, die mindestens einmal, vorzugsweise mehrere Male während der Hauptbev/egung durchlaufen wird, dadurch gekennzeichnet, daß Informationen über die Lage der beiden Punkte A, B der Hauptbewegung gespeichert werden, daß die Hauptbewegung zwischen den beiden Punkten in mehrere aufeinander folgende Teilbewegungen aufgeteilt wird, daß die Endpunkte C, D, E einer Anzahl Teilstrecken (CD, DS, EC) der überlagerten Bewegung gespeichert werden, welche Teilstrecken zusammen die genannte geschlossene Schleife (CDEC) der überlagerten Bewegung bilden, daß jede Teilstrecke in eine Anzahl aufeinanderfolgender Teilbewegungen aufgeteilt wird, daß zu den Daten jeder Teilbewegung der Hauptbewegung die Daten einer Teilbewegung der überlagerten Bewegung addiert wird, wobei das Resultat den Antriebsgliedern (REV, D/A, SERVO, M) des Roboters zur Steuerung zugeführt wird.
  2. 2. Anordnung für einen Industrieroboter zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß Speicher (11) zum Speichern von Informationen über die Lage der beiden die Hauptbewe-
  3. 7 Ρ 9 8 A 1 / 0 P 7 3 ORlGUNAL INSPECTED
  4. /Ιο
  5. 2 3.2. VJ'ίΊ 20 32 3 P
  6. gung bestiinnendon Punkte (Λ, B)und über die Lage der Endpunkte ((.',L),E) der Teilstrecken, welche die geschlossene Schleife ((JDiXJ) bilden, vorhanden sind, daß dividierende Glieder (26) vorhanden sind, welche die Daten der Hauptbewegung (A-E) auf mehrere Teilbcwagungen aufteilen, daß S Leuerglieder (40) vorhanden sind, die den Verstellgliedern (REG, D/A, SERVO, M) des Roboters sukzessiv Informationen über die genannten Teilbewegungen zuführen, daß dividierende Glieder (26) vorhanden sind, welche die Daten jeder der genannten Teilstrecken der überlagerten Bewegung auf eine Anzahl Teilbewsgungen aufteilen, und daß Steuerglieder (41) und addierende Glieder (39) vorhanden sind, die zu den Daten jeder Teilbewegung der Hauptbewegung die Daten einer Teilbewegung der überlagerten Bewegung addieren.
  7. 7 ί) 9841/0673
    ORIGINAL INSPECTED
DE2712169A 1976-03-29 1977-03-19 Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter Expired DE2712169C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE7603738A SE401637B (sv) 1976-03-29 1976-03-29 Forfarande och anordning for att bringa en industrirobot att utfora en komplex rorelse

Publications (2)

Publication Number Publication Date
DE2712169A1 true DE2712169A1 (de) 1977-10-13
DE2712169C2 DE2712169C2 (de) 1981-10-15

Family

ID=20327420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2712169A Expired DE2712169C2 (de) 1976-03-29 1977-03-19 Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter

Country Status (3)

Country Link
US (1) US4150329A (de)
DE (1) DE2712169C2 (de)
SE (1) SE401637B (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2735632A1 (de) 1976-08-13 1978-02-16 Asea Ab Verfahren und anordnung zum steuern eines industrie-roboters
US4224501A (en) * 1978-02-27 1980-09-23 Unimation, Inc. Teaching arrangement for programmable manipulator
EP0388880B1 (de) * 1989-03-20 1994-08-31 NOVATECH GmbH Siebe und Technologie für Papier Separator für Nahtmaschinen

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4221997A (en) * 1978-12-18 1980-09-09 Western Electric Company, Incorporated Articulated robot arm and method of moving same
US4538233A (en) * 1982-10-19 1985-08-27 Cincinnati Milacron Inc. Apparatus and method for oscillatory motion control
US4677276A (en) * 1982-11-23 1987-06-30 Yaskawa Electric Mfg. Co., Ltd. Method of welding robot control which controls the three basic axes of a robot to provide a repetition of a weaving pattern along a robot locus
JPH0664486B2 (ja) * 1983-07-07 1994-08-22 ファナック株式会社 3次元曲線作成方法
JPS6015711A (ja) * 1983-07-07 1985-01-26 Fanuc Ltd 曲面生成方法
US4621333A (en) * 1983-08-31 1986-11-04 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for controlling a robot to perform weaving-like motion
FR2564359B1 (fr) * 1984-05-15 1988-06-10 Commissariat Energie Atomique Dispositif de balayage d'un organe dans un plan perpendiculaire a sa direction d'avance
JPS6178564A (ja) * 1984-09-27 1986-04-22 Fanuc Ltd 自動溶接機における溶接制御方式
JPH0692029B2 (ja) * 1987-03-20 1994-11-16 ファナック株式会社 ア−ク溶接ロボットの制御方法
JP2786225B2 (ja) * 1989-02-01 1998-08-13 株式会社日立製作所 工業用ロボットの制御方法及び装置
US5600759A (en) * 1989-03-20 1997-02-04 Fanuc Ltd. Robot capable of generating patterns of movement path
FR2682905B1 (fr) * 1991-10-28 1995-12-01 Commissariat Energie Atomique Procede de generation de trajectoire pour un systeme robotise.
JPH06320462A (ja) * 1993-05-10 1994-11-22 Fanuc Ltd センサ付きロボットの制御方法
JPH11282517A (ja) * 1998-03-12 1999-10-15 Internatl Business Mach Corp <Ibm> マルチプライアを利用したパルス制御の方法およびシステム
US6064168A (en) * 1998-03-13 2000-05-16 Fanuc Robotics North America, Inc. Method of controlling robot movement
WO2004067232A2 (en) * 2003-01-31 2004-08-12 Thermo Crs Ltd. Syntactic inferential motion planning method for robotic systems
US20060269652A1 (en) * 2005-05-24 2006-11-30 Husky Injection Molding Systems Ltd. Article moving apparatus configured for molding machine
JP5163092B2 (ja) * 2007-02-14 2013-03-13 セイコーエプソン株式会社 インクジェットプリンタのリニアエンコーダ記録方法
CA3024427A1 (en) 2010-07-28 2012-02-02 Medrobotics Corporation Surgical positioning and support system
AU2011316849B2 (en) 2010-10-22 2016-05-26 Medrobotics Corporation Highly articulated robotic probes and methods of production and use of such probes
KR101786832B1 (ko) 2010-11-11 2017-10-18 메드로보틱스 코포레이션 고도 다관절 로봇 프로브용 도입 장치 및 그 생산 방법
EP2755805B1 (de) 2011-09-13 2018-05-09 Medrobotics Corporation Hochgelenkige sonden mit einer nicht verdrehbaren verknüpfungsanordnung
US20130119032A1 (en) * 2011-11-11 2013-05-16 Lincoln Global, Inc. System and method for welding materials of different conductivity
AU2012358829B2 (en) 2011-12-21 2017-08-03 Medrobotics Corporation Stabilizing apparatus for highly articulated probes with link arrangement, methods of formation thereof, and methods of use thereof
CA2880621A1 (en) 2012-08-09 2014-02-13 Medrobotics Corporation Surgical tool positioning systems
WO2014179683A2 (en) 2013-05-02 2014-11-06 Gabriel Johnston A robotic system including a cable interface assembly
AU2014374201A1 (en) 2013-12-30 2016-07-07 Medrobotics Corporation Articulated robotic probes
DE102017211982B4 (de) * 2017-07-13 2019-04-18 Trumpf Laser- Und Systemtechnik Gmbh Verfahren und Vorrichtung zum Fügen von mindestens zwei Werkstücken
USD874655S1 (en) 2018-01-05 2020-02-04 Medrobotics Corporation Positioning arm for articulating robotic surgical system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2330054A1 (de) * 1972-06-26 1974-01-17 Cincinnati Milacron Inc Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3026040A (en) * 1955-10-25 1962-03-20 Emi Ltd Automatic machine tools
US3497780A (en) * 1967-06-01 1970-02-24 Superior Electric Co Numerical control system with plural axes
US3701888A (en) * 1970-08-05 1972-10-31 Bendix Corp Time shared position feedback system for numerical control
JPS5424156B1 (de) * 1971-02-03 1979-08-18
US3890552A (en) * 1972-12-29 1975-06-17 George C Devol Dual-armed multi-axes program controlled manipulators
US3864613A (en) * 1972-12-29 1975-02-04 Hymie Cutler Path generating system for numerical control apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2330054A1 (de) * 1972-06-26 1974-01-17 Cincinnati Milacron Inc Verfahren und geraet zur steuerung der bewegung eines elementes einer maschine, insbesondere eines automaten oder bedienungsgeraetes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Z: "Die elektrische Ausrüstung", v. 01.02.63 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2735632A1 (de) 1976-08-13 1978-02-16 Asea Ab Verfahren und anordnung zum steuern eines industrie-roboters
US4224501A (en) * 1978-02-27 1980-09-23 Unimation, Inc. Teaching arrangement for programmable manipulator
EP0388880B1 (de) * 1989-03-20 1994-08-31 NOVATECH GmbH Siebe und Technologie für Papier Separator für Nahtmaschinen

Also Published As

Publication number Publication date
SE401637B (sv) 1978-05-22
DE2712169C2 (de) 1981-10-15
SE7603738L (sv) 1977-09-30
US4150329A (en) 1979-04-17

Similar Documents

Publication Publication Date Title
DE2712169C2 (de) Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
DE60035651T2 (de) Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern
DE60302920T2 (de) Numerische Steuerung
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
DE3208435C2 (de) Steuerungsvorrichtung zum Führen eines Lichtbogenschweißautomaten
DE3317263A1 (de) Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung
DE2936913C2 (de) Anordnung zur Steuerung von Eingabe und Ausgabe bei einer programmierbaren Logiksteuerung
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
DE2422102A1 (de) Numerische steuerung zur erzeugung einer parabolischen auskehlung
DE2138815A1 (de) Numerische Werkzeugmaschinensteue rung
DE2313497A1 (de) Digitale steuervorrichtung
DE112012004592B4 (de) Vorrichtung und Verfahren zur Echtzeit-Steuerung von Wedelbewegungen
EP0543034B1 (de) Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens
DE2052123A1 (de) Digitale Schaltungsanordnung für eine Erosionsmaschine
DE1966794B2 (de) Einrichtung zur numerischen Steuerung von Werkzeugmaschinen mittels einer zentralen Datenverarbeitungsanlage
DE4005042A1 (de) Architektur eines digitalen bewegungssteuerungselements hoher geschwindigkeit
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE1948490B2 (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
DE2052178A1 (de) Elektroerosionsmaschine mit einer Schaltungsanordnung zum Steuern mindestens einer Vorschubeinrichtung fur eine Draht elektrode und/oder fur ein Werkstuck
DE2246375C3 (de) Numerisch gesteuerte Gewindeschneideanlage
DE2034373A1 (de) Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs
DE2111889A1 (de) Numerische Regeleinrichtung
DE3724428C2 (de)
DE4130015A1 (de) Numerische steuerung zum vereinfachen des werkzeugwechsels
DE3743438A1 (de) Verfahren und einrichtung zum steuern des uebergangs eines endlichen automaten von einem momentanzustand in einen folgezustand

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination