-
Positionssteuerung für Industrieroboter
-
Die vorliegendc Erfindung betrifft eine Positionssteuerung, mit der
sich die Genauigkeit der dynamischen Positionierung eines Industrieroboters erhöhen
läßt.
-
Bei herkömmlichen Positionssteuerungen für Industrieroboter mit mehreren
Achsen liest man die nach einem vorbestimmten Programm gespeicherten Positionsdaten
für die einzelnen Achsen in der programmierten Reihenfolge vom Aufzeichnungsträger
ab und wertet sie zur Positionierung in den jeweiligen Achsen aus. Da die mechanischen
Systeme, die in den einzelnen Achsen als Stellantrieb verwendet werden, jedoch untereinander
verschieden sind, und unterschiedlich schnell ansprechen, erhält man beim Auslesen
der gespeicherten Positionsdaten ohne Berücksichtigung der unterschiedlichen Ansprechgeschwindigkeiten
der mechanischen Systeme Geschwindigkeitsfehler, deren Größe der'Schleifenverstärkung
in den Positionsregelkreisen der einzelnen Achsen entsprechen. Die bekannten Positioniersysteme
sind daher dahingehend nachteilig, daß die Bewegungsführung in den einzelnen Achsen
des Roboters von den abgespeicherten Positionsdaten erheblich
abweichen
kann.
-
Es ist das Hauptziel der vorliegenden Erfindung, eine verbesserte
Positionssteuerung für Industrieroboter anzugeben, bei der unter Berücksichtigung
der Ansprechverzögerungen in den einzelnen Achsen die vom Aufzeichnungsträger abgelesenen
Positionsdaten nicht unter der gleichen, sondern einer unterschiedlichen Zeitsteuerung
angelegt werden. Mit anderen Worten: Liegt beispielsweise der Anfangs zeitpunkt
der Operation in einer Achse gegenüber den Operationen in den anderen Achsen verzögert,
wird das Befehlssignal für erstere Operation früher an die Steuerung gelegt als
die Befehlssignale für die anderen Operationen, um die Ansprechverzögerung für diese
Achse zu kompensieren bzw. die vorliegende Verzögerung zu eliminieren und so die
Genauigkeit der dynamischen Positionierung des Industrieroboters zu verbessern.
Die Positionssteuerung nach der vorliegenden Erfindung enthält hierzu eine Gruppe
von Schieberegistern, die mit Schiebeimpulsen aus einem Schiebeimpulsgenerator getaktet
werden und als Verzögerungseinrichtung dienen, die die Positionsinformationen in
den einzelnen Achsen unterschiedlich verzögert. Diese Gruppe von Schieberegistern
liegt zwischen den Ausgangsregistern und den Digital-Analog-Wandlern (D/A-Wandlern)
und beseitigt so die durch die Ansprechfehler in den den einzelnen Achsen des Industrieroboters
zugeordneten Regelschaltungen verursachten Lagefehler.
-
Fig. 1 ist ein Blockschaltbild einer Ausführungsform der Positionssteuerung
nach der vorliegenden Erfindung; Fig. 2 zeigt als Blockschaltbild den Aufbau der
Verzögerungselemente in der Verzögerungsschaltung nach Fig. 1; Fig. 3 ist ein Blockschaltbild
einer weiteren Ausführungsform der vorliegenden Erfindung.
-
Die Fig. 1 zeigt eine bevorzugte Ausführungsform der Positionssteuerung
nach der vorliegenden Erfindung. Hierbei sind die Positionsinformationen in den
einzelnen Achsen eines Industrieroboters, die durch Digitalisieren der analogen
Ausgangssignale einer Anzahl von Lage fühlern wie (nicht gezeigten) Potentiometern
entstehen, in eine Speichereinheit 1 eingeschrieben. Wie bekannt, erhält man derartige
Daten beispielsweise durch "direktes Lehren" ("direct teaching") mit dem Handgelenk
einer Bedienungsperson oder durch "Fernlehren" (romote teaching") mittels einer
Drucktastenanordnung. Diese Positionsinformationen werden aus dem Speicher 1 ausgelesen
und über eine Achsenwähleinrichtung 2 auf einen Ausgangsregisterblock 3 mit n Ausgangsregistern
3a, 3b, ..., 3n gegeben, die den einzelnen Achsen zugeordnet sind. Dabei sollen
die Indizes a, b, ..., n die Zuordnung der Ausgangsregister 3a, 3b, ..., 3n zur
Achse A, Achse B, ... bzw. der Achse N des Industrieroboters bezeichnen (das gleiche
gilt für die unten zu beschreibenden verschiedenen Elemente). Die in den Ausgangsregistern
3a, 3b, ..., 3n abgelegten Positionsdaten der Ausgangsregistergruppe 3 werden dann
auf eine Verzögerungsschaltung 4 gegeben, die n Schieberegister 4a, 4b, 4n sowie
einen Schiebeimpulsgenerator 41 enthält. Die Ausgänge der Ausgangsregister 3a, 3b,
..., 3n sind an die Eingänge der Schieberegister 4a, 4b, ..., 4n gelegt. Mittels
der vom Schiebeimpulsgenerator 41 erzeugten Schiebeimpulse werden die an die Schieberegister
4a, 4b, ..., 4n gelegten Positionsdaten schrittweise auf eine D/A-Wandlergruppe
5 mit den n D/A-Wandlern 5a, 5b, ..., 5n geschoben, die die digitalen Positionsinformationen
zu den entsprechenden analogen Positionsinformationen umwandelt. Ein Verstärkerblock
6 aus n Verstärkern 6a, 6b, ..., 6n verstärkt die Ausgangssignale der D/A-Wandler
5a, 5b, ... 5n auf zum Ansteuern des Servoblocks 7 mit n Servoelementen 7a, 7b,
..., 7n für die einzelnen Achsen des Roboters geeignete Pegel. Die Lagefühler 8a,
ob,.., 8n erfassen die Lagewerte in den einzelnen Achsen des Roboters und senden
ihre Ausgangssignale zu den Eingängen der zugehörigen
Verstärker
6a, 6b, ..., 6n zurück.
-
Die Fig. 2 zeigt die Einzelheiten des Aufbaus eines der Schieberegister
4a, 4b, ..., 4n (beispielsweise des Schieberegisters 4a), aus denen der Schieberegisterblock
4 sich zusammensetzt. Wie ersichtlich, enthält jedes Schieberegister -beispielsweise
4a - eine Matrix aus (m x 1) Flipflops 10 zusammen, wobei m die Bitzahl der digitalen
Positionsinformationen für jede Achse und 1 die Anzahl der Schiebestufen sind.
-
Es sei angenommen, daß das Positionsinformationssignal 12 Bit hat,
die Position in jeder Achse also mit einer Genauigkeit von 12 Bits angegeben wird;
das binäre Signal kann dann also die Binärwerte 0000 0000 0000 bis 1111 1111 1111
annehmen.
-
Ein derartiges Binärsignal wird an die Flipflops in jedem der Ausgangsregister
3a, 3b,..., 3n im Ausgangsregisterblock 3 gelegt. Jede Spalte in Fig. 2 enthält
also m = 12 (1, 2, m) Flipflops und jede Reihe 1 (1, 2, ..., l) Flipflops, so daß
sich insgesamt eine Matrix aus (12 x 1) Flipflopstufen ergibt. Die Takteingänge
dieser Flipflops 1o sind gemeinsam parallel an den Schiebeimpulsgenerator 41 gelegt.
Erscheint also ein einzelner Schiebeimpuls an den parallelgeschalteten Takteingängen
der Flipflops lo, geht der Zustand der 1. Stufe auf die 2. Stufe, der Zustand der
2. Stufe auf die 3. Stufe, der Zustand der 3. Stufe auf die 4. Stufe über, und so
weiter, und es sind insgesamt 1 Schiebeimpulse erforderlich, bis der Zustand der
1. Stufe die n-te Stufe erreicht hat. Es dauert also lT Zeiteinheiten, bis die 12-Bit-Positionsinformation
aus dem entsprechenden Ausgangsregister 3a vollständig auf den zugehörigen D/A-Wandler
5a gegeben worden ist, wobei t die Periode der Taktimpulse und 1 die Anzahl der
Stufen des Schieberegisters 4a zwischen dem Ausgangsregister 3a und dem D/A-Wandler
5a sind. Mit jedem Schiebeimpuls werden also im Schieberegister 4a die Bits der
Positionsinformation nacheinander von einer auf die nächste bzw. jeweils rechte
Stufe übergeben.
-
Die Anzahl der Stufen ist nun für jedes der Schieberegister 4a, 4b,
... 4n anders gewählt. Berücksichtigt man die Ansprechverzögerungen in den verschiedenen
Achsen, wird die Stufenzahl des oder der Schieberegister(s) für die Achse bzw.
-
Achsen, die mit Verzögerung arbeitet(n), geringer als die in dem oder
den Schieberegister(n) angesetzt, dessen (deren) Achse(n) schnell genug ansprechen,
so daß die zur vollständigen Übertragung der Positionsinformation von dem (den)
Ausgangsregister(n) zu den dieser bzw. diesen zugeordneten D/A-Wandler(n) in der
(den) zugehörigen Achse(n) erforderlichen Zeitspanne verlängert wird. Wählt man
also die Anzahl der Reihenflipflops 10 in den Schieberegistern 4a, 4b, ..., 4n im
umgekehrten Verhältnis zu den Unterschieden der Ansprechgeschwindigkeit, d.h. der
unterschiedlichen Ansprechverzögerung, kann man erreichen, daß der Roboter in den
einzelnen Achsen mit im wesentlichen gleicher Verzögerung arbeitet, d.h. die relative
Ansprechverzögerung zwischen den einzelnen Achsen läßt sich zu null kompensieren,
so daß in sämtlichen Achsen des Roboters die Positionseinstellung den Vorgabewerten
entspricht.
-
Die Fig. 3 zeigt eine weitere Ausführungsform bzw. Modifikation der
vorliegenden Erfindung. Diese Anordnung unterscheidet sich von der in Fig. 1 gezeigten
Ausführungsform dahingehend, daß sämtliche Schieberegister 4a', 4b', ..., 4n', die
den Schieberegisterblock 4' darstellen, keine unterschiedliche, sondern die gleiche
Anzahl von Schiebestufen in Form von Flipflops enthalten. In der Fig. 3 sind für
die Schieberegister 4a', 4b', ..., 4n' der einzelnen Achsen voneinander unabhängige
Schiebeimpulsgeneratoren 41a, 41b, ..., 41n vorgesehen und erzeugen Schiebeimpulse
mit von der Ansprechverzögerung der einzelnen Achsen abhängig unterschiedlicher
Frequenz. Insbesondere haben die Schiebeimpulse aus dem Schiebeimpulsgenerator für
ein Schieberegister, das einer Achse mit verhältnismäßig langer Ansprechverzögerung
zugeordnet ist,
eine höhere Frequenz als die aus dem Schiebe impuls
generator für das Schieberegister einer Achse, in der die Ansprechverzögerung kürzer
ist, so daß der Roboter in allen Achsen mit im wesentlichen der gleichen Ansprechverzögerung
arbeitet.
-
Es ist aus der vorgehenden Beschreibung einzusehen, daß die Schieberegister
4a bis 4n bzw. 4a' bis 4n' aus einer Matrix aus Flipflops bestehen, die als Verzögerungselement
arbeiten und zwischen den Ausgangsregistern 3a bis 3n und den D/A-Wandlern 5a bis
5n liegen, die den einzelnen Achsen des Roboters zugeordnet sind, und daß an diese
Schieberegister Schiebeimpulse aus einem einzigen Schiebeimpulsgenerator 41 bzw.
-
mehrere Schiebeimpulsgeneratoren 41a bis 41n gelegt sind, um die Positionsdaten
durch die Flipflops hindurch auf die D/A-Wandler zu schieben. Nach der vorliegenden
Erfindung wird im ersteren Fall, abhängig von der Ansprechverzögerung in der zugehörigen
Achse, die Anzahl der mit den Flipflops dargestellten Schiebestufen im letzteren
Fall die Frequenz der Schiebeimpulse aus dem bzw. den Schiebeimpulsgeneratoren abhängig
von den relativen Ansprechverzögerungen in der bzw. den zugehörigen Achse(n) angesetzt,
um die Zeitdauer einzustellen, die erforderlich ist, um die Positionsdaten vollständig
von den Ausgangsregistern auf die zugehörigen D/A-Wandler zu übertragen. Die Ansprechverzögerungszeiten
der verschiedenen Achsen lassen sich also im wesentlichen einander angleichen, so
daß die auftretenden Verzögerungen in den Achsen sich zu null reduzieren lassen.
Die auf einem Aufzeichnungsträger vorliegenden und von diesem abgelesenen Positionsdaten
für die einzelnen Achsen lassen sich also mit unterschiedlicher Zeitsteuerung anlegen,
um die Ansprechverzögerungen in den einzelnen Achsen auszugleichen, so daß die Bewegungsführung
in den einzelnen Achsen genau den abgespeicherten Positionsdaten entspricht und
der Industrieroboter erheblich genauer arbeiten kann.
-
Es ist für den Fachmann einzusehen, daß die vorliegende Erfindung
im Einsatz einen erheblichen Vorteil für die Ansteuerung von Industrierobotern im
allgemeinen erbringt -insbesondere auch für spezielle Operationen wie das Schneiden
mit Plasmabrennern, sowie für Anstrich- und Verschlußoperationen, bei denen eine
schnelle und genaue Bewegungsführung erforderlich ist.