DE2712169A1 - Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboter - Google Patents
Verfahren und durchfuehrungsanordnung zur ausfuehrung einer komplexen bewegung durch einen industrieroboterInfo
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
Patentanwalt und Rechtsanwalt
Dr.-Ing. Dipl.-Ing. Joachim Boecker
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
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.
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)
- 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. 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-
- 7 Ρ 9 8 A 1 / 0 P 7 3 ORlGUNAL INSPECTED
- /Ιο
- 2 3.2. VJ'ίΊ 20 32 3 P
- 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 ί) 9841/0673
ORIGINAL INSPECTED
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)
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)
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 |
JP2006515233A (ja) * | 2003-01-31 | 2006-05-25 | サーモ シーアールエス リミテッド | ロボットシステムのための構文推論式の運動計画方法 |
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 | セイコーエプソン株式会社 | インクジェットプリンタのリニアエンコーダ記録方法 |
KR101833743B1 (ko) | 2010-07-28 | 2018-03-02 | 메드로보틱스 코포레이션 | 서지컬 포지셔닝과 서포트 시스템 |
US8992421B2 (en) | 2010-10-22 | 2015-03-31 | Medrobotics Corporation | Highly articulated robotic probes and methods of production and use of such probes |
AU2011338931B2 (en) | 2010-11-11 | 2017-02-09 | Medrobotics Corporation | Introduction devices for highly articulated robotic probes and methods of production and use of such probes |
CN104010773B (zh) | 2011-09-13 | 2017-01-18 | 美的洛博迪克斯公司 | 具有抗扭曲链节配置的高度铰接的探针,形成该探针的方法和进行执行医学手术的方法 |
US20130119032A1 (en) * | 2011-11-11 | 2013-05-16 | Lincoln Global, Inc. | System and method for welding materials of different conductivity |
EP2793729B1 (de) | 2011-12-21 | 2019-04-17 | Medrobotics Corporation | Stabilisierungsvorrichtung für stark gelenkige sonden mit einer verbindungsanordnung |
CA2880621A1 (en) | 2012-08-09 | 2014-02-13 | Medrobotics Corporation | Surgical tool positioning systems |
US9913695B2 (en) | 2013-05-02 | 2018-03-13 | Medrobotics Corporation | Robotic system including a cable interface assembly |
EP3089696A4 (de) | 2013-12-30 | 2017-08-30 | Medrobotics Corporation | Gelenkige robotische sonden |
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)
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)
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 | ||
US3864613A (en) * | 1972-12-29 | 1975-02-04 | Hymie Cutler | Path generating system for numerical control apparatus |
US3890552A (en) * | 1972-12-29 | 1975-06-17 | George C Devol | Dual-armed multi-axes program controlled manipulators |
-
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
Patent Citations (1)
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)
Title |
---|
Z: "Die elektrische Ausrüstung", v. 01.02.63 * |
Cited By (3)
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 |
SE7603738L (sv) | 1977-09-30 |
DE2712169C2 (de) | 1981-10-15 |
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 | |
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 | |
DE2422102A1 (de) | Numerische steuerung zur erzeugung einer parabolischen auskehlung | |
DE2138815A1 (de) | Numerische Werkzeugmaschinensteue rung | |
DE2244170B2 (de) | Programmsteuerung zum numerischen Rechnerdirektsteuern mehrerer Werkzeugmaschinen einer Fertigungsanlage | |
DE2313497A1 (de) | Digitale steuervorrichtung | |
DE3889981T2 (de) | Roboterregelanordnung. | |
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 | |
DE1966794B2 (de) | Einrichtung zur numerischen Steuerung von Werkzeugmaschinen mittels einer zentralen Datenverarbeitungsanlage | |
DE2052123A1 (de) | Digitale Schaltungsanordnung für eine Erosionsmaschine | |
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 | |
DE3884714T2 (de) | Numerische steuerung mit einer die verspätung der rückmeldung ausgleichenden funktion. | |
DE3722084A1 (de) | Numerisch gesteuerte einrichtung | |
DE2246375C3 (de) | Numerisch gesteuerte Gewindeschneideanlage | |
DE2034373A1 (de) | Steuereinrichtung zum Steuern der Geschwindigkeit des Vorschubs eines Werk zeugs | |
DE2111889A1 (de) | Numerische Regeleinrichtung | |
DE68926442T2 (de) | Robotersteuerungssystem zur Steuerung einer Mehrzahl von industriellen Robotern | |
DE3724428C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination |