DE2712169C2 - Verfahren zur Ausführung einer komplexen Bewegung durch einen Industrieroboter - Google Patents
Verfahren zur Ausführung einer komplexen Bewegung durch einen IndustrieroboterInfo
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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/21—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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/25—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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/251—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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/253—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34034—Multiplier, prm, brm
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36497—Select 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)
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.
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)
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)
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 |
-
1976
- 1976-03-29 SE SE7603738A patent/SE401637B/xx not_active IP Right Cessation
-
1977
- 1977-03-19 DE DE2712169A patent/DE2712169C2/de not_active Expired
- 1977-03-24 US US05/780,726 patent/US4150329A/en not_active Expired - Lifetime
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 |