DE2712169C2 - Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter - Google Patents

Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter

Info

Publication number
DE2712169C2
DE2712169C2 DE2712169A DE2712169A DE2712169C2 DE 2712169 C2 DE2712169 C2 DE 2712169C2 DE 2712169 A DE2712169 A DE 2712169A DE 2712169 A DE2712169 A DE 2712169A DE 2712169 C2 DE2712169 C2 DE 2712169C2
Authority
DE
Germany
Prior art keywords
movement
points
superimposed
partial
main
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.)
Expired
Application number
DE2712169A
Other languages
English (en)
Other versions
DE2712169A1 (de
Inventor
Lars Dipl.-Ing. Västerås Dahlström
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

Die Erfindung betrifft ein Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter gemäß dem Oberbegriff des Anspruches 1. Ein solches Verfahren ist bekannt aus der schwedischen Auslegeschrift 70 17 612.
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 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.
Aus der schwedischen Auslegeschrift 70 17 612 ist ein Verfahren zur Steuerung der Bewegung eines Industrieroboters bekannt, der zum Schweißen vertikaler Nähte dient Die Hauptbewegung dieses Roboters besteht darin, daß der den elektrischen Schweißdraht haltende Halter in vertikaler Richtung längs der zu schweißenden Naht geführt wird. Die der Hauptbewegung überlagerte (untergeordnete) Bewegung wird durch eine mechanische Steuereinrichtung gewonnen. Zu diesem Zweck ist der Schweißdrahthalter in seinem vorderen Bereich drehbar um einen Punkt gelagert. Das hintere Ende des Halters wird mit Hilfe eines Kurbelantriebes periodisch hin- und hergeschwenkt, so daß sich zu der vertikalen Hauptbewegung eine horizontale periodische Pendelbewegung addiert. Der Nachteil dieses bekannten Verfahrens besteht in der Notwendigkeit eines aufwendigen mechanischen Hilfsgerätes. Mit ein und demselben Hilfsgerät ist auch nur eine begrenzte Anzahl von Pendelbewegungen realisierbar.
Eine Möglichkeit, das eingangs genannte Verfahren ohne eine zusätzliche mechanische Einrichtung auszuführen, bestünde in der Verwendung eines Roboters, der sukzessive die Strecken zwischen im voraus einprogrammierten Punkten durchläuft und bei dem man die gesamte komplexe Bewegungsbahn einprogrammiert. Es müssen in diesem Falle also die Endpunkte für sämtliche Teilstrecken einprogrammiert werden, die der Roboter bei der komplexen Bewegung durchlaufen soll. Bei beispielsweise der in F i g. 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
so und B besteht. Diese Methode erfordert eine sehr hohe Speicherkapazität. Wegen 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 zu entwickeln, bei dem für die Ausführung einer komplexen Bewegung durch den Industrieroboter keine zusätzliche mechanisehe Einrichtung erforderlich ist und nur 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 hat.
Eine vorteilhafte Weiterentwicklung des Verfahrens ist in dem Unteranspruch genannt.
Mit der Erfindung können bei einem Industrieroboter
auf einfache Weise generelle komplexe Bewegungen, wie z. B. Pendel- oder Spiralbewegungen, mittels eines Manipulators erzeugt werden. Eine komplizierte mechanische Anordnung zur Erzeugung der überlagerten Bewegung ist nicht erforderlich. An die Speicherkapazitat werden nur geringe Anforderungen 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 nach der Erfindung ist sehr flexibel, da eine Umprogrammierung sowohl der Hauptbewegung wie der überlagerten Bewegung in einfacher Weise und unabhängig voneinander durchführbar ist.
Anhand der in den Figuren gezeigten Ausführungsbeispiele soll die Erfindung näher erläutert werden. Es zeigen
Fig. 1—3 ein Beispiel für den Aufbau einer Pendelbewegung,
Fig.4—9 Beispiele für den Aufbau andere' komplexer Bewegungen aus Teilbewegungen,
F i g. 10 ein Ausführungsbeispiel einer Anordnung zur Durchführung des Verfahrens nach der Erfindung,
F i g. 11 ein Ausführungsbeispieä 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 Teilbewegungen der geschlossenen Schleife der Reihe nach zur Hauptbewegung addiert.
Durch geeignete Wahl der Zeiten für das Durchlaufen der verschiedenen Strecken wird 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 einprogrammierten Koordinaten parallelverschobenen Punkten zusammen.
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.
F i g. 1 zeigt ein Beispiel für eine Hauptbewegung zwischen zwei Punkten A und B, die aus einer geraden Bewegung längs der Z-Achse besteht.
F i g. 2 zeigt ein Beispiel für eine der Hauptbewegung A-B untergeordnete Bewegung CD-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 F i g. 3 gezeigten Verlauf, d. h. man erhält eine Pendelbewegung während der Verschiebung von A ;ia:h B.
Weder die Hauptbrv/ogung noch die untergeordnete Bewegung braucht die in Fig. 1 bzw. Fig.2 gezeigte Form zu haben; sie können beliebig variiert werden.
Fig.4 zeigt ein Beispiel für eine alternative Hauptbewegung A'-B' gegenüber der in Fig. 1 gezeigten. Die F i g. 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 F i g. 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
F i g. 9 zeigt ein Beispiel dafür, wie Pausen, im Beispiel 2, in die untergeordnete Bewegung gemäß Fig.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 Α1-Λ2 und AyB.
Anhand der Fig. 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 diese 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 Steile im Speicher, Befehl zur Wiederholung einer Folge von Befehlen usw. Gemeinsam für sämtliche Befehle ist daß sie Informationen über die Befehlsart und die Befehlsnummer, d. h. die Adresse im Speicher, enthalten. Beim Programmieren wird die vorgesehene Funktion bestimmt mittels eines Umschalters 12, der an ein Register FKN angeschlossen ist und mittels eines Umschalters 13 für die Adressenwahl, der an ein Register ADR angeschlossen ist
Nachstehend v/erden nur die Befehle behandelt die die Weiterbewegung eines Roboterarms bestimmen.
Bei der Punkt-Punkt-Steuerung wird die Bewegungs form 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, werden 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
Mit einem manuellen Steuerglied 16 können Schreibglieder 17 über ein Steuerglied 18 für Schreiben und Lesen manuell gesteuert werden, so daß die mit den Umschaltern 12, 13 und 15 eingestellten Werte sowie die in einem weiteren 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 Synchronisierungslage geführt, worauf ein in der Anordnung vorhandenes Istwertregister ISREG mittels eines Gliedes MANSYNC auf Null gestellt wird.
Die Wahl der Befehle zum manuellen Fahren erfolgt mittels eines manuellen Adressenwählgliedes
MANADR. Die Durchführung der Befehle geschieht mit dem Glied 16. Bei automatischem Betrieb werden die Befehle normalerweise hintereinanderfolgend ausgeführt, sofern aus dem betreffenden Befehl nichtsanderes hervorgeht Wenn der gewünschte Befehl adressiert wird, werden am Ausgang des Speichers 11 Leseglieder aktiviert (manuell oder automatisch), worauf die Information über die vorgesehene Funktion an ein Steuerglied 20 über ein Register FKN übertragen wird.
Die manuelle Programmierung bedeutet also, daß der Istwert eingestellt wird und daß neue Sollwerte an das Regelsystem beordert werden, welches an die Anordnung nach Fig. 10 im Punkte Qangeschlossen ist.
Es kommen drei verschiedene Arten von Positionierungsbefehlen vor, nämlich normale Positionierung, übergeordnete Positionierung und 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:
1. Einstellung auf an das Steuerglied 20 und an die Register KOORD, FKN 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 20 ü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 ISREC übertragen wird, wodurch die Weiterbewegung für jede Koordinatenachse gleich dem programmierten Koordinatenwert abzüglich des augenblicklichen Koordinatenwertes (Istwert) wird.
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 2Z Der Inhalt dieses Koordinatenregisters wird hierbei in das Koordinatenregisters 25 für den vorherigen Koordinatenwert übertragen, bevor der neue Koordinatenwert im Speicher 11 in das Koordinatenregister 22 gegeben wird.
Die inkrementale 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 ΉDREG, das an ein an das Leseglied 19 angeschlossenes Register TlD angeschlossen ist, dessen Inhalt durch das Steuerglied 20 an das Zeitregister TlDREG übertragen wird. Der Inhalt des Zeitregisters TIDREG wird in einem Multiplikator MULT mit einer Konstanten /CCWSTmultipliziert, 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. 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 30 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 Befehl 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 Male ausgeführt werden kann, während parallel dazu die Ausführung einer übergeordneten Positionierung vor sich geht. Der Befehl 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 22. 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, dali 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 Koordinatenwert vom Speicher 11 ins Koordinatenre-
gister 22 gegeben wird.
Die Berechnung der Schritte für die untergeordneten Positionierungen geschieht dadurch, daß der Unterschied zwischen dem Inhalt in den 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 Null 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 REG+1 an das Adressenregister ADRREG, 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 Malen ausgeführt wurde.
Für die übrigen Befehle erfolgt ein Sprung 711 dem Befehl, der dem letzten Befehl im Block folgt
Bei einer übergeordneten Bewegung 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 F i g. 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.
F i g. 11 zeigt einen Lageversteller, der Ausgangssignale vom Punkt Q in F i g. 10 erhält. Der Lageversteller hat die Aufgabe, die von der Anordnung gemäß Fi g. 10 vorgegebene Lage für eine Roboterachse in eine tatsächliche Weiterbewegung der Roboterachse umzuwandeln. Das Signal vom Punkt ζ) wird einem Register REG im Takt einer über ein Verzögerungsglied 44 zeitlich verzögerten Impulsfolge von Impulsgenerator CP zugeführt. Der Inhalt des Registers REG wird mit Hilfe eines binären FYequenzmultiplikators 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 Multiplikator 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 reversieblen Zähler /?£Vgegeben. Bei konstanter Geschwindigkeit zählt der an das Verstellsystem 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 Vorteile. Bei der verhältnismäßig einfachen komplexen Bewegung nach Fig. 3 müssen bei konventioneller Programmierung 13 Punkte einprogrammiert werden. Mit Hilfe der Erfindung wird diese Anzahl auf 5 herabgesetzt.
Normalerweise wird jedoch die überlagerte Bewegung viele Male durchlaufen. Bei konventioneller Programmierung 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 F i g. 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
so groß. Ferner können Änderung der Hauptbewegung leicht vorgenommen werden, ohne daß die überlagerte Bewegung umprogrammiert zu werden braucht, was 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 verwendet werden, die dann in an sich bekannter Weise so programmiert werden kann, daß man die oben beschriebenen Funktionen erhält.
Hierzu 2 Blatt Zeichnungen

Claims (2)

Patentansprüche:
1. Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter, weiche Bewegung aus einer Hauptbewegung zwischen 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 Hauptbewegung durchlaufen wird, dadurch gekennzeichnet, daß Informationen über die Lage der von der Hauptbewegung zwischen den beiden Punkten (A, B) zu durchfahrenden Punkte gespeichert werden, daß die Hauptbewegung zwischen den beiden Punkten (A, B) in an sich bekannter Weise in mehrere aufeinanderfolgende Teilbewegungen aufgeteilt wird, daß die Endpunkte (C, D, E) einer Anzahl Teilstrecken (CD, DE, EC) der überlagerten Bewegung gespeichert werden, welche Teilstrecken zusammen die genannte geschlossene Schleife (CDEC) der überlagerten Bewegung bilden, daß jede Teilstrecke in einer 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. Anordnung für einen Industrieroboter zur Durchführung des Verfahrens nach Anspruch 1, wobei Speicher zum Speichern von Informationen über die Lage der die Hauptbewegung bestimmenden Punkte sowie dividierende Glieder vorhanden sind, welche die Daten der Hauptbewegung auf mehrere Teilbewegungen aufteilen, und wobei Steuerglieder vorhanden sind, die den Verstellgliedern des Roboters sukzessiv Informationen über die genannten Teilbewegungen zuführen, dadurch gekennzeichnet, daß Speicher (11) zum Speichern von Informationen über die Lage der Endpunkte (C, D, E) der Teilstrecken, welche die geschlossene Schleife (CDEC) bilden, vorhanden sind, daß dividierende Glieder (26) vorhanden sind, welche die Daten jeder der genannten Teilstrecken der überlagerten Bewegung auf eine Anzahl Teilbewegungen 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.
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 DE2712169A1 (de) 1977-10-13
DE2712169C2 true 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)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE402540B (sv) 1976-08-13 1978-07-10 Asea Ab Forfarande och anordning for att vid en givarstyrd industrirobot astadkomma en approximativ transformation mellan givarens och robotarmens olika koordinatsystem for styrning av roboten inom ett forutbestemt ...
US4224501A (en) * 1978-02-27 1980-09-23 Unimation, Inc. Teaching arrangement for programmable manipulator
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 曲面生成方法
GB2146796B (en) * 1983-08-31 1986-12-17 Mitsubishi Electric Corp Method for controlling an industrial robot to perform weaving-like motion and apparatus for practising the same
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 株式会社日立製作所 工業用ロボットの制御方法及び装置
DE8903454U1 (de) * 1989-03-20 1990-07-26 Hermann Wangner Gmbh & Co Kg, 7410 Reutlingen, De
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
CA2514204C (en) * 2003-01-31 2015-12-15 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 セイコーエプソン株式会社 インクジェットプリンタのリニアエンコーダ記録方法
EP2598075A4 (de) 2010-07-28 2016-11-30 Medrobotics Corp Chirurgisches positionierungs- und stützsystem
WO2012054829A2 (en) 2010-10-22 2012-04-26 Medrobotics Corporation Highly articulated robotic probes and methods of production and use of such probes
CA2817350A1 (en) 2010-11-11 2012-06-14 Medrobotics Corporation Introduction devices for highly articulated robotic probes and methods of production and use of such probes
US9757856B2 (en) 2011-09-13 2017-09-12 Medrobotics Corporation Highly articulated probes with anti-twist link arrangement, methods of formation thereof, and methods of performing medical procedures
US20130119032A1 (en) * 2011-11-11 2013-05-16 Lincoln Global, Inc. System and method for welding materials of different conductivity
KR20140104502A (ko) 2011-12-21 2014-08-28 메드로보틱스 코포레이션 링크를 구비한 고도의 관절 프로브용 안정화 장치, 그 제조 방법 및 그 사용 방법
AU2013299440A1 (en) 2012-08-09 2015-03-05 Medrobotics Corporation Surgical tool positioning systems
CA2911151A1 (en) 2013-05-02 2014-11-06 Tom CALEF A robotic system including a cable interface assembly
US10004568B2 (en) 2013-12-30 2018-06-26 Medrobotics Corporation Articulating 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

Family Cites Families (7)

* 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
US3909600A (en) * 1972-06-26 1975-09-30 Cincinnati Milacron Inc Method and apparatus for controlling an automation along a predetermined path
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2712169C2 (de) Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter
DE2905487C2 (de)
DE60302920T2 (de) Numerische Steuerung
DE2330054C2 (de) Vorrichtung zur Steuerung der Bewegung eines Arbeitselementes eines Roboterarmes
DE2607810C2 (de) Nähmaschine
DE3208435C2 (de) Steuerungsvorrichtung zum Führen eines Lichtbogenschweißautomaten
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE3317263A1 (de) Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung
DE3806966C2 (de)
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
DE2740507A1 (de) Verfahren zur programmierung eines programmsteuerbaren manipulators und dementsprechender manipulator
DE3144843A1 (de) Verfahren zum betreiben eines als schweissroboter arbeitenden manipulators und dementsprechende steuerung
DE2735632A1 (de) Verfahren und anordnung zum steuern eines industrie-roboters
DE3218612C2 (de) Werkzeugmaschine mit Verschiebefehlerkompensation
DE2138815A1 (de) Numerische Werkzeugmaschinensteue rung
DE2052123C3 (de) Elektroerosionsanlage mit numerischer Bahnsteuerung für eine zwischen zwei Führungen gespannte Drahtelektrode
EP0543034B1 (de) Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine und Werkzeugmaschine zur Ausübung des Verfahrens
DE3635265A1 (de) Industrieroboter
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
DE1966794B2 (de) Einrichtung zur numerischen Steuerung von Werkzeugmaschinen mittels einer zentralen Datenverarbeitungsanlage
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
DE4106384A1 (de) Vorrichtung und verfahren zum steuern eines schweissroboters
DE2052178A1 (de) Elektroerosionsmaschine mit einer Schaltungsanordnung zum Steuern mindestens einer Vorschubeinrichtung fur eine Draht elektrode und/oder fur ein Werkstuck
DE2034373A1 (de) Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs
DE3625914C2 (de)

Legal Events

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