-
Die vorliegende Erfindung bezieht sich auf eine
Einrichtung zur Steuerung der Geschwindigkeit, wenn das
bewegliche Teil eines Roboterarms oder eines numerisch gesteuerten
Bearbeitungswerkzeugs bewegt wird.
-
Bei einem gewöhnlichen Roboter oder einer numerisch
gesteuerten Maschine wird ein Beschleunigungs-
/Verzögerungsfilter für jede Achse verschwendet, um die
Bewegung eines beweglichen Teils bis zu einer angestrebten
Position ruckfrei zu steuern, wobei die Geschwindigkeit des Teils
durch ein Programm gesteuert wird. Dadurch ist es möglich,
die Bewegung entlang einer eingestellten Trajektorie mit
einer vorgegebenen Geschwindigkeit zu steuern. Wenn daher
einmal die Programmierung fehlerfrei durchgeführt wurde, ist
die Bewegungstrajektorie des beweglichen Teils immer die
gleiche, und ein Fehler bei der Ausübung einer Aktivität
wirft kein Problem auf.
-
Es gibt jedoch bei einem herkömmlichen lernenden
Roboter beispielsweise Fälle, bei dem das zu steuernde Objekt
eine Vielzahl von Antriebsmechanismen hat und bei dem bei
einem Testlauf eine Trajektorienbewegung so eingestellt wird,
daß sie mit einer reduzierten Geschwindigkeit durch einen
Überschreitungsgeschwindigkeitsmechanismus läuft, um eine
Geschwindigkeit einzustellen, die von der Geschwindigkeit
verschieden ist, die gerade dann herrscht, wenn das Programm
ausgeführt wird, so wie es möglich ist, wenn man
beispielsweise ein System nach der EP-A 0 176 600 verwendet. In einem
solchen Fall wird die Menge der Befehlsimpulse, die sich im
Zeitpunkt der Beschleunigung und Verzögerung anhäufen werden,
in Abhängigkeit von der befohlenen Geschwindigkeit
verschieden sein. Wenn man eine Eckenbearbeitung durch ein
Bearbeitungswerkzeug durchführt, kann die Menge der Überschreitungen
sich ändern, und es können ähnliche Probleme auftreten.
-
Fig. 4(a) und 4(b) sind erklärende Darstellungen, die
Beispiele von Beschleunigungs-/Verzögerungskennlinien zeigen,
bei denen eine Zeit t auf der horizontalen Achse und eine
Geschwindigkeit V auf der vertikalen Achse aufgetragen ist.
Die Fig. 4(a) und 4(b) zeigen Beispiele, bei denen eine
Beschleunigungs-/Verzögerungszeitkonstante auf einen konstanten
Wert T eingestellt wird und die Relation zwischen V&sub1; und V&sub2;
gleich V&sub1; = 2V&sub2; ist. In diesem Fall stellen eine Fläche S&sub1;
die durch ein Dreieck q&sub1; - ta - tb definiert ist, und eine
Fläche S&sub2;, die durch ein Dreieck q&sub2; - tc - td definiert ist,
jeweils einen Betrag von angesammelten Befehlsimpulsen dar,
wobei gelten soll, daß S&sub1; > S&sub2; ist. Nachdem sogar daher ein
Programmbefehl zur Bewegung eines beweglichen Teils
eingestellt ist, veranlaßt eine Überschreitung, die unabhängig vom
Bewegungsbefehl eingestellt ist, die Trajektorie im
Eckenbereich in Abhängigkeit von der Höhe der
Überschreitungsgeschwindigkeit zu variieren. Ein Problem besteht bei einem
Bogenschweißroboter oder dgl. darin, daß es notwendig wird,
gemäß der Positionsinformation eines Lagesensors oder dgl.
eine Korrektur vorzunehmen.
-
Fig. 5 ist eine Ansicht, um ein Beispiel zu erklären,
bei dem eine Abweichung bei der Trajektorie im Bereich einer
Ecke auftritt, wie oben erwähnt. Die Figur zeigt, daß, wenn
eine Beschleunigungs-/Verzögerungssteuerung eines Servomotors
mit der gleichen Zeitkonstante T in einem Fall durchgeführt
wird, wo eine Trajektorie P&sub1; -Q - P&sub2;, die durch den
Eckenbereich Q verläuft, eingestellt wird, die Ausdehnung, bis zu
der ein bewegliches Teil von einer normalen Trajektorie
abweicht, bei einer hohen Geschwindigkeit größer ist als bei
einer niedrigen Geschwindigkeit.
-
Die vorliegende Erfindung ist dazu bestimmt, das
obige Problem zu lösen, und es ist ihre Aufgabe, eine
Einrichtung zur Geschwindigkeitssteuerung vorzusehen, bei der
eine Steuerung einer Geschwindigkeitsüberschreitung möglich
gemacht wird, ohne eine Änderung der Trajektorie zu
verursachen.
-
Gemäß der vorliegenden Erfindung ist eine Einrichtung zur
Geschwindigkeitssteuerung vorgesehen, die einen
Antriebsmechanismus für eine Vielzahl von Achsen zur Steuerung der
Bewegung eines beweglichen Teils entlang einer eingestellten
Trajektorie mit einer vorgegebenen Geschwindigkeit aufweist,
die Geschwindigkeitsüberschreitungsmittei zur Änderung und
Einstellung einer befohlenen Geschwindigkeit des beweglichen
Teils bis zu einer vorgegebenen Größe der vorgegebenen
Geschwindigkeit auf der Grundlage des Änderns und Einstellens
der befohlenen Geschwindigkeiten für jede Bewegungsrichtung
aufweist,
dadurch gekennzeichnet, daß sie weiter umfaßt:
-
Beschleunigungs-/Verzögerungsmittel, die eine
Zeitkonstante haben, die in ein umgekehrtes Verhältnis zu einer
Geschwindigkeit geändert wird, die durch die
Überschreitungsmittel eingestellt ist.
-
Durch die Einrichtung zur Geschwindigkeitssteuerung
ist es möglich, die Bewegung eines beweglichen Teils mit
einer vorgegebenen Geschwindigkeit zu steuern, ohne die
Trajektorie am Bereich einer Ecke zu ändern, wenn die
Geschwindigkeit des beweglichen Teils gesteuert wird.
-
Fig. 1(a) (b) sind Blockdiagramme, die den generellen
Aufbau der Erfindung zeigen,
-
Fig. 2(a), (b) sind erklärende Ansichten, um das
Grundprinzip der Erfindung zu beschreiben,
-
Fig. 3 ist eine Ansicht, um eine Ausführungsform zu
beschreiben, die angepaßt ist, eine Überschreitung zu ändern
und eine Zeitkonstante während der Arbeit entlang einer Achse
zu ändern,
-
Fig. 4(a),(b) sind erklärende Ansichten, um die
Beschleunigungs-/Verzögerungskennlinien zu beschreiben, und
-
Fig. 5 ist eine Ansicht, um einen Fehler zu
beschreiben, der auf einer Trajektorie im Bereich einer Ecke erzeugt
wird.
-
Es wird nun eine Ausführungsform der vorliegenden
Erfindung unter Bezugnahme auf die Zeichnungen ausführlich
beschrieben.
-
Fig. 2(a),(b) sind erklärende Ansichten zur
Beschreibung des Grundprinzips der Erfindung. Das Grundkonzept der
Erfindung besteht darin, eine Zeitkonstante in umgekehrtem
Verhältnis zu einem Wechsel bei einer Überschreitung
einzustellen und eine Steuerung in einer solchen Weise
auszuführen,
daß die angesammelte Menge der Befehlsimpulse konstant
ohne Rücksicht auf die Geschwindigkeit zurückgegeben wird.
-
Es sei insbesondere angenommen, daß, wenn eine
Geschwindigkeit V&sub1; in Fig. 2(a) einen Wert aufweisen soll, der
einer Überschreitung von 100% entspricht, eine
Geschwindigkeit V&sub2; in Fig. 2(b) einen Wert hat, der einer Überschreitung
von 50% entspricht. In einem solchen Fall wird eine
Zeitkonstante T in Fig. 2(a) auf die halbe Zeitkonstante von Fig.
2(b) eingestellt. Allgemein ausgedrückt wird in einem Fall,
wo eine Überschreitung von X% bis Y% variiert, eine
Zeitkonstante T', die vorherrscht, wenn die Übersteuerung Y% ist,
wie folgt eingestellt:
-
T' = T (X/Y)
-
wobei T die Konstante ist, die vorherrscht, wenn die
Überschreitung X% ist.
-
Wenn man die Zeitkonstanten auf diese Weise
einstellt, werden die Fläche S&sub1;, des Dreiecks, das durch die
schrägen Linien in Fig. 2(a) bestimmt ist, und die Fläche S&sub2;,
des Dreiecks, das durch die schrägen Linien in Fig. 2(b)
bestimmt ist, gleich, so daß die Trajektorie im Bereich einer
Ecke so gesteuert werden kann, daß sie unverändert bleibt,
sogar wenn sich die Geschwindigkeit ändert.
-
Fig. 1(a) ist ein Blockdiagramm, das den generellen
Aufbau der Erfindung zeigt. In dieser Figur wird eine
Steuereinheit 1 sowohl bei einem Programmablauf als auch bei der
Durchführung eines Überschreitungstestlaufs betrieben. In
einem Fall, wo beispielsweise zwei Achsen, nämliche die X-
und Y-Achse gesteuert werden, werden die Zuführrate und das
Maß der Bewegung entlang der X- und Y-Achse eingestellt,
wobei ein grober Interpolator a die Komponenten ΔX, ΔY der
Beträge der Bewegung entlang der entsprechenden X- und Y-
Achse berechnet und diese Komponenten an einen
Impulsverteiler b ausgibt. Der Impulsverteiler b führt eine
Impulsverteilungsberechnung gemäß der groben Interpolationsdaten durch
und erzeugt verteilte Impulse Xp, Yp, deren Anzahl ΔX, ΔY
einer Abtastperiode entsprechen. Diese Impulse werden an
lineare Beschleunigungs-/Verzögerungsschaltungen 2X, 2Y
ausgegeben. Jede dieser linearen Beschleunigungs-
/Verzögerungsschaltungen 2X, 2Y besteht aus einer
vorgegebenen Anzahl von Pufferregistern, einem Akkurnulator, einem
Teiler und dgl. Die letzten groben Interpolationsdaten ΔXn,
ΔYn werden in den Pufferregistern bei jedem Abtasten
gespeichert, und ein Signal zur Durchführung einer linearen
Beschleunigungs-/Verzögerungssteuerung der in Fig. 2(a), (b)
gezeigten Art wird durch Additions- und Teilungsverarbeitung
gebildet.
-
Die Ausgangssignale der linearen Beschleunigungs-
/Verzögerungsschaltungen 2X, 2Y werden an einen X-Achsen-
Servomotor 4X und an einen Y-Achsen-Servomotor 4Y jeweils
über Servoschaltungen 3X, 3Y angelegt, wodurch diese
Servomotore angetrieben werden.
-
Üblicherweise wird die Einstellung der verschiedenen
Zeitkonstanten der in Fig. 2(a),(b) gezeigten Art
durchgeführt, wenn die Achsen ruhen. Da es jedoch Möglichkeiten
gibt, wo eine Überschreitung sogar während des Betriebs
entlang einer Achse variiert wird, ist es manchmal notwendig,
die Zeitkonstanten zu ändern, wobei man zwei Beschleunigungs-
/Verzögerungseinrichtungen vorsieht, von denen jede auf den
gleichen Antriebsmechanismus einwirkt.
-
Fig. 3 ist eine Ansicht zur Erklärung, die ein
Beispiel einer Anordnung zeigt, um eine Zeitkonstante durch
Änderung der Überschreitung während der Arbeit entlang einer
Achse zu ändern. Im gezeigten Beispiel wird ein Servomotor
anfangs einer Beschleunigungs- und
Konstantgeschwindigkeitssteuerung bei einer Überschreitungskennlinie mit der
Überschreitungsgeschwindigkeit V&sub1; unterworfen, und der Servomotor
wird dann im Zeitintervall ta bis tb verzögert. Die
Verzögerung beginnt im Zeitpunkt ta, und die Beschleunigung wird im
Intervall ta bis to bei der Kennlinie mit der
Überschreitungsgeschwindigkeit V&sub2; durchgeführt. In anderen Worten wird
der Servomotor mit einer Kennlinie bis angetrieben, die
durch Kombination der Verzögerungskennlinie bis und der
Beschleunigungskennlinie bis erhalten wird. Als Folge
davon ist es möglich, das Umschalten der Zeitkonstante durch
Modifikation der Überscheitung während der Arbeit entlang der
Achse zu steuern.
-
Fig. 1(b) ist ein Blockdiagramm, das den allgemeinem
Aufbau einer Einrichtung zur Geschwindigkeitssteuerung zur
Steuerung von Servomotoren gemäß der in Fig. 3 gezeigten
Kennlinie zeigt. In dieser Figur ist nur die Schaltung
bezüglich der X-Achse aus Einfachheitsgründen gezeigt. Hier setzt
sich die Beschleunigungs-/Verzögerungsschaltung aus zwei
Schaltungen 2Xa, 2Xb zusammen, die unterschiedliche
Kennlinien haben.
-
Wenn die lineare Beschleunigungs-
/Verzögerungsschaltung 2Xa so ausgeführt wird, daß sie der
Kennlinie der Überscheitungsgeschwindigkeit V&sub1; entspricht,
und die lineare Beschleunigungs-/Verzögerungsschaltung 2Xb so
ausgeführt wird, daß sie der Kennlinie der
Überschreitungsgeschwindigkeit V&sub2; entspricht, ist die Beschleunigungs-
/Verzögerungssteuerung so, daß der Schalter S&sub1; geschlossen
wird, um die Schaltung 2Xa im Intervall 0 bis tb in der
Kennlinie von Fig. 3 zu betreiben, und daß der Schalter S&sub2;
geschlossen wird, um die Schaltung 2Xb im Intervall ta bis to
zu betreiben, und wobei beide Schaltungen 2Xa, 2Xb im
Intervall ta bis tb betrieben werden.
-
Gemäß der Einrichtung zur Steuerung der Geschwindig
keit nach der vorliegenden Erfindung wird, wenn der Betrag
der Geschwindigkeitsüberschreitung geändert wird, die
Zeitkonstante der Beschleunigungs-/Verzögerungseinrichtung in
Abhängigkeit von der befohlenen Geschwindigkeit geändert, die
Menge der Befehlsimpulse, die sich im Zeitpunkt der
Beschleunigung und im Zeitpunkt der Verzögerung ansammeln, können
gesteuert werden, so daß sie konstant gehalten werden können,
und die Bewegung eines beweglichen Teils kann mit einer
vorgegebenen Geschwindigkeit gesteuert werden, ohne die
Trajektorie zu ändern. Darüber hinaus kann eine
Überschreitungssteuerung durchgeführt werden, ohne eine Änderung in einer
Trajektorie zu verursachen, sogar in dem Zustand, wo der
Antriebsmechanismus einer Achse, auf die die obengenannte
Beschleunigungs-/Verzögerungseinrichtung einwirkt, nicht im
Ruhezustand ist.