-
Die vorliegende Erfindung bezieht sich auf ein
Roboter-Antriebssteuersystem zum Steuern des Weges der Bewegung eines
angetriebenen Elements, z. B. des bewegbaren Elements einer
Werkzeugmaschine oder des Greifteils eines Roboters, dessen Beschleunigung und
Verzögerung gesteuert wird.
-
In einem Steuersystem zum Steuern der axialen Bewegung einer
Werkzeugmaschine oder eines Roboters ist die herkömmliche Praxis
im allgemeinen so, daß die Beschleunigung und Verzögerung in
einer Weise bewirkt werden, daß das Steuersystem keiner
Erschütterung oder Schwingung am Beginn einer axialen Bewegung und bei
einer Verzögerung ausgesetzt wird. Ein Beispiel für ein
derartiges Beschleunigungs-/Verzögerungs-Steuerverfahren besteht darin,
die Zuführungsrate von Impulsen, die erzeugt werden, um sie der
axial zurückgelegten Distanz entsprechen zu las sen, exponential
zu erhöhen oder herabzusetzen.
-
Fig. 5(a), Fig. 5(b), Fig. 5(c) zeigen Darstellungen, die
Antriebszustände für einen Fall angeben, in dem zwei
unterschiedliche Geschwindigkeitsbefehle aufeinanderfolgend programmiert sind.
Die Zeit ist längs der horizontalen Achse aufgetragen, und die
Geschwindigkeit ist längs der vertikalen Achse aufgetragen. Fig.
5(a) zeigt eine befohlene Geschwindigkeit F1 von einem Zeitpunkt
t&sub1; bis zu einem Zeitpunkt t&sub2; für die Bewegung von einem
Koordinatenpunkt P1 zu einer befohlenen Position P2 und eine befohlene
Geschwindigkeit F2 von einem Zeitpunkt t&sub2; bis zu einem Zeitpunkt
t&sub3; für die Bewegung zu einem nächsten befohlenen Punkt P3.
Tatsächlich ist indes sen, wenn eine Bewegung zu der befohlenen
Position P3 über die befohlene Position P2 bewirkt wird, eine
Verzögerung 2T eingeschaltet, wie dies in Fig. 5(b) gezeigt ist,
wobei T die Zeit ist, die für die Beschleunigung und die
Verzögerung benötigt wird.
-
Der Grund dafür besteht darin, die Geschwindigkeitsteuerung in
einer Art und Weise auszuführen, daß das Steuersystem keiner
Erschütterung oder Schwingung beim Starten und Stoppen der
Bewegung in einem Fall ausgesetzt wird, in dem die axiale Bewegung
einer Werkzeugmaschine oder eines Roboters gesteuert wird.
-
Ein Verfahren, das benutzt wird, um diese Verzögerungszeit zu
verringern, besteht darin, das Positionieren bei der befohlenen
Zwischenposition P2 nicht zu beachten und eine Beschleunigung bis
zu der nächsten befohlenen Geschwindigkeit F2 ohne Durchführen
einer Verzögerung bei dem Zeitpunkt t&sub2; zu bewirken. Wie in Fig.
5(c) gezeigt, zieht dies das Durchführen einer
Impulsverteilungsberechnung längs jeder Achse, die der befohlenen Position P3
entspricht, auf der Grundlage eines Geschwindigkeitsbefehlsimpulses
zum Erhöhen einer Zuführungsrate bis zu der befohlenen
Geschwindigkeit F2 zu dem Zeitpunkt t&sub2;, welcher der Startpunkt der
Verzögerung ist, und ein graduelles Antreiben des bewegbaren Elements
in der angegebenen Richtung nach sich. Gemäß diesem Verfahren
beträgt die sich ergebende Verzögerungszeit T. Darüber hinaus
kann der Roboter-Bewegungsweg so durch Ändern der befohlenen
Geschwindigkeit gestaltet werden, daß er sich einem gewünschten
Weg annähert.
-
Codes, die diese Steuerfunktionen kennzeichnen,
sind als G11 u. G12 bezeichnet und werden sowohl in einer
automatischen Beschleunigungs-/Verzögerungsfunktion, einer
Interpolationsfunktion und dgl. als auch in dem Antrieb und der Steuerung
von Werkzeugmaschinen benutzt. Indessen benötigt ein System,
welches den Weg des bewegbaren Elements durch derartige
Steuercodes steuert, da sich die Größe eines Bogens, der durch den
Bewegungsweg des bewegbaren Elements beschrieben wird, ändert,
wann immer sich die befohlene Geschwindigkeit ändert, das
Erzeugen eines komplizierten Programms, um den Wegfehler des Roboters
zu verringern.
-
Beispiele aus dem Stand der Technik für Antriebssteuersysteme zum
Steuern des Weges der Bewegung eines angetriebenen Elements
zwischen einer Vielzahl von befohlenen Positionen sind durch die
Druckschriften GB-A-1 189 959 und US-A-4 348 731 gegeben. Jede
dieser Druckschriften offenbart, daß das angetriebene Element
präzise durch alle der befohlenen Positionen läuft, während das
Antriebssteuersystem gemäß der vorliegenden Erfindung ein solches
ist, bei dem eine befohlene Zwischenposition geringfügig umgangen
werden kann, um die Verzögerungszeit zu verringern.
-
Gemäß der vorliegenden Erfindung ist ein
Roboter-Antriebssteuersystem zum Steuern des Weges der Bewegung eines angetriebenen
Elements zwischen einer Vielzahl von befohlenen Positionen
vorgesehen, wobei das Antriebssteuersystem betreibbar ist, um eine
Antriebsimpulsverteilungs-Berechnung längs jeder Achse der
Bewegung des angetriebenen Elements in Abhängigkeit von
Geschwindigkeitsbefehlsimpulsen durchzuführen, die durch eine
Beschleunigungs/Verzögerungs-Schaltung zum Beschleunigen und Verzögern der
Antriebsimpulse verarbeitet worden sind, um dadurch eine
befohlene Geschwindigkeit für das angetriebene Element innerhalb einer
vorbestimmten Zeit zu erzielen,
gekennzeichnet durch
-
(a) ein Impulserfassungsmittel zum Erfassen der Anzahl von
Befehlsimpulsen, die verbleiben, um das angetriebene Element bis
zum Erreichen seiner nächsten befohlenen Position zu verzögern,
und zwar zu einem Zeitpunkt, zu dem das angetriebene Element
beginnt, sich in Richtung auf diese nächste befohlene Position zu
verzögern,
-
(b) ein Zeitbestimmungsmittel zum Angeben des Zeitpunkts des
Beginns einer Impulsverteilungs-Berechnung, um eine Bewegung des
angetriebenen Elements in Richtung auf die befohlene Position zu
erzeugen, die der nächsten befohlenen Position folgt, wobei
dieser Beginn-Zeitpunkt durch das Zeitbestimmungsmittel in
Abhängigkeit von der Anzahl von Befehlsimpulsen bestimmt wird, die zu
dem Verzögerungsbeginn-Zeitpunkt verbleibt, und
-
(c) ein Addiermittel zum Addieren von dem Beginn-Zeitpunkt aus
die Anzahl der Befehlsimpulse, die von dem Beginn-Zeitpunkt aus
verbleibt, zum Erreichen der nächsten befohlenen Position, und
die Anzahl der Befehlsimpulse, die zum Beschleunigen des
angetriebenen Elements in Richtung auf die befohlene Position dienen,
welche der nächsten befohlenen Position folgt,
-
wobei das Zeitbestimmungsmittel betreibbar ist, um den
Zeitpunkt als den Augenblick zu bestimmen, zu dem noch ein
vorherbestimmbares Verhältnis aus der Anzahl von befohlenen Impulsen
verbleibt, die bei dem Verzögerungsbeginn-Zeitpunkt verbleiben.
-
Eine Aufgabe der vorliegenden Erfindung besteht darin, ein
Antriebssteuersystem zum Steuern des Weges der Bewegung eines
angetriebenen Elements zwischen einer Vielzahl von befohlenen
Positionen zu schaffen, das die Verzögerungszeit bei der
Beschleunigung und der Verzögerung verringert, wenn die axiale Bewegung
einer Werkzeugmaschine oder eines Roboters gesteuert wird, und das
es gestattet, daß sich ein Roboter-Bewegungsweg einem gewünschten
Weg mit Leichtigkeit ohne Rücksicht auf die bestimmte
Geschwindigkeit annähert.
-
Das Antriebssteuersystem gemäß der vorliegenden Erfindung
bestimmt eine Zeitsteuerung für den Übergang auf eine
Beschleunigungssteuerung auf der Grundlage eines Geschwindigkeitsbefehls
bis zu der nächsten befohlenen Position in Abhängigkeit von der
Anzahl von Impulsen, die für die Verzögerung der Zuführungsrate
verbleiben, und gestaltet den Übergang zur
Beschleunigungssteuerung durch eine geeignete Beschneidung der Verzögerungszeit. Als
Ergebnis kann die Verzögerungszeit auf einen kleinen Wert gesetzt
werden, und der Roboter-Bewegungsweg kann so bestimmt werden, daß
er sich einem gewünschten Weg mit Leichtigkeit ohne Rücksicht auf
die befohlene Geschwindigkeit annähert.
-
Fig. 1 zeigt ein Blockschaltbild, das ein Ausführungsbeispiel des
Systems gemäß der vorliegenden Erfindung darstellt.
-
Fig. 2 zeigt ein Flußdiagramin, das die Arbeitsweise einer
Interpolations-Schaltung darstellt, die in dem System gemäß
-
Fig. 1 benutzt wird.
-
Fig. 3 zeigt eine erklärende Darstellung von Charakteristika, die
ein Ausführungsbeispiel eines
Geschwindigkeits-Steuersystems gemäß der vorliegenden Erfindung betreffen.
-
Fig. 4 zeigt eine Darstellung, die Bewegungswege in diesem
Ausführungsbeispiel angibt.
-
Fig. 5 zeigt eine erklärende Darstellung von Charakteristika
gemäß einem herkömmlichen Geschwindigkeits-Steuersystem.
-
Die vorliegende Erfindung wird im folgenden im einzelnen anhand
eines Ausführungsbeispiels beschrieben, das in den Figuren
gezeigt ist.
-
Fig. 1 zeigt ein Blockschaltbild, das ein Ausführungsbeispiel des
Systems gemäß der vorliegenden Erfindung darstellt, bei dem
eingegebene Treibimpulse F in Treibimpulse Xp, Yp umgesetzt
werden. In dieser Figur bezeichnet das Bezugszeichen 1 eine
Beschleunigungs/Verzögerungs-Schaltung zum Beschleunigen und
Verzögern der Zuführungsrate bis hin zu einer befohlenen
Geschwindigkeit innerhalb einer vorbestimmten Zeit, und diese Schaltung
besteht aus einem Register, einem Akkumulator, einem Addierer und
dgl . . Die Beschleunigungs/Verzögerungs-Schaltung 1 beginnt eine
Verzögerung, wenn eine Verzögerungs-Distanz abhängig von der
Zuführungsrate gleich einem Betrag der Bewegung wird, der aus
zuführen verbleibt, welcher Betrag von einer
Interpolationsschaltung rückgekoppelt wird, die im folgenden beschrieben wird. Die
Interpolationsschaltung erzeugt verteilte Impulse Xp, Yp durch
Ausführen einer Impulsverteilungsberechnung, die auf Daten
beruht, welche für den Betrag der Bewegung kennzeichnend sind, wann
immer die Beschleunigungs/Verzögerungs-Schaltung 1 einen
Ausgangsimpuls Fj erzeugt. Die verteilten Impulse Xp, Yp treiben
betreffende Servomotoren 4&sub1;, 4&sub2; über Servoschaltungen 3&sub1;, 3&sub2; Die
Interpolationsschaltung 2 erfaßt eine verbleibende Anzahl von
akkumulierten Befehlsimpulsen bei dem Beginn der Verzögerung,
bestimmt den Beginnzeitpunkt einer Impulsverteilungsberechnung
längs des nächsten Bewegungsweges aus der erfaßten Anzahl von
Befehlsimpulsen, die verbleibt, und einem Parameter a, der ein
Verhältnis der verbleibenden und akkumulierten Anzahl bestimmt,
und addiert Befehlsimpulse, welche die Zuführungsrate
beschleunigen, und Befehlsimpulse für die Verzögerung in Übereinstimmung
mit einer befohlenen Geschwindigkeit F und einer befohlenen
Position.
-
Fig. 2 zeigt ein Flußdiagramm, das die Prozedur der
Impulsverteilungsberechnung angibt, die in der Interpolationsschaltung 2
durchgeführt wird.
-
Als nächstes wird ein Ausführungsbeispiel der Beschleunigungs/
Verzögerungs-Steuerung in Übereinstimmung mit dem System gemäß
der vorliegenden Erfindung anhand von Fig. 3 u. Fig. 4
beschrieben.
-
Fig. 3(a), Fig. 3(b) zeigen Beispiele einer linearen
Beschleunigungs/Verzögerungs-Steuerung, wobei die Rate, bei der ein
Treibimpulssignal zugeführt wird, längs der vertikalen Achse und die
Zeit längs der horizontalen Achse aufgetragen ist.
-
In Fig. 3(a), gemäß welcher zwei unterschiedliche
Geschwindigkeitsbefehle aufeinanderfolgend programmiert sind, bezeichnet F1
eine befohlene Geschwindigkeit von einem Zeitpunkt t&sub1; zu-einem
Zeitpunkt t&sub2; für die Bewegung von einem Koordinatenpunkt P1 zu
einer befohlenen Position P2, und F2 bezeichnet eine befohlene
Geschwindigkeit von dem Zeitpunkt t&sub2; zu einem Zeitpunkt t&sub3; für
die Bewegung zu einem nächsten befohlenen Punkt P3. Die
Interpolationsschaltung 2 bestimmt den Impulsverteilungs-Beginnzeitpunkt
durch Festlegen z. B. von 40% als einen Parameter a zum
Multiplizieren einer akkumulierten Anzahl von Befehlsimpulsen bei dem
Beginn der Verzögerung aus einer Geschwindigkeit F1 heraus. Der
tatsächliche Bewegungsweg für die Bewegung hin zu der befohlenen
Position P3, wo die Beschleunigungs- und Verzögerungs-Zeitperiode
T ist, stellt sich graduell in der Richtung der befohlenen
Position P3 kurz vor der befohlenen Position P2 ohne Überqueren
dieses Punkts ein, wie dies z. B. in Fig. 4 gezeigt ist.
-
Fig. 3(b) zeigt den Zustand der Änderung der Geschwindigkeit in
einem Abschnitt, wo sich die Verzögerungszeit T und die
Beschleunigungszeit T überlappen. Insbesondere beginnt sich das bewegbare
Element zu dem Zeitpunkt t&sub2; zu verzögern. Zu einem Zeitpunkt t&sub4;,
welcher gegeben ist, wenn die Anzahl von verbleibenden
Befehlimpulsen 40% der Anzahl von akkumulierten Befehlsimpulsen bei
dem Verzögerungs-Startzeitpunkt t&sub2; wird, wird die nächste
Impulsverteilungsberechnung gestartet, es werden die befohlenen Impulse
für die Beschleunigung auf der Grundlage der befohlenen
Geschwindigkeit F2 addiert, und das bewegbare Element wird beschleunigt.
-
Obgleich der Impulsverteilungsberechnungs-Beginnzeitpunkt längs
des nächsten Bewegungsweges auf die Einstellung der Anzahl von
akkumulierten Impulsen S des schraffierten Teils in Fig. 3(b) hin
nach der Gleichung
-
S = (½)aVT (wobei V die axiale Geschwindigkeit ist)
-
bestimmt wird, kann dieser für jede Achse berechnet werden.
-
Fig. 4 zeigt Bewegungswege in Form von Positions-Vektoren für
jede Abtastzeit der Interpolationsschaltung 2 in einem Fall, in dem
zwei bestimmte Parameter a, nämlich ein großer und ein kleiner,
vorliegen.
-
Insbesondere dann, wenn der Parameter a groß ist, beginnt sich
das bewegbare Element auf einem Weg von dem Koordinatenpunkt P1
zu der befohlenen Position P2 zu dem Zeitpunkt t&sub2; zu verzögern,
und es wird ein Zeitpunkt, der durch den Parameter a von z. B.
80% bestimmt ist, welcher die Anzahl von Impulsen festlegt, die
zu einem Zeitpunkt t&sub4; verbleiben, erfaßt. Von diesem Zeitpunkt an
wird der Positionsvektor von dem Koordinatenpunkt P2 zu der
befohlenen Position P3 aufeinanderfolgend zu dem Positionsvektor
addiert, der in Richtung auf die befohlene Position P2 weist,
während die Verzögerung durchgeführt wird. Zu einem Zeitpunkt t&sub5;
erreicht dieser Weg eine Gerade, welche P2 u. P3 verbindet. In
einem Fall, in dem der bestimmte Parameter a kleiner als der
vorstehend genannte ist (ungefähr 30%), findet die Addition der
Positionsvektoren zwischen Zeitpunkten t&sub4;' u. t&sub5;' statt, und der
Bewegungsweg bildet eine Bogenform nahe der befohlenen Position
P2.
-
Falls der festgelegte Parameter a auf Null gesetzt ist, kann der
Bewegungsweg so bestimmt werden, daß er mit dem Bewegungsweg G11
zusammenfällt, wie dies in Fig. 5(b) gezeigt ist, welcher durch
die befohlene Position P2 verläuft. Falls der Parameter a auf 100
gesetzt ist, kann der Bewegungsweg so bestimmt werden, daß er mit
dem Bewegungsweg zusammenfällt, welcher durch G12 in Fig. 5(c)
beschrieben ist.
-
Demzufolge wird bei dem zuvor beschriebenen Ausführungsbeispiel
der Betrag der verbleibenden Verzögerungsbefehlsimpulse am Ende
der Verzögerung als ein Prozentsatz desjenigen am Beginn der
Verzögerung bestimmt, so daß die Größe des Kreisbogens des
Bewegungswegs nach Belieben bestimmt werden kann. Dies ermöglicht es,
einen Wegfehler auf einfache Art und Weise zu korrigieren.
-
Obwohl die vorliegende Erfindung auf der Grundlage eines
Ausführungsbeispiels beschrieben worden ist, ist die Erfindung nicht
auf dieses Ausführungsbeispiel beschränkt. Die Größe eines
Kreisbogens kann durch verschiedene Verfahren in Abhängigkeit von der
erfaßten Anzahl von verbleibenden Befehlsimpulsen bestimmt
werden, und es kann ein Übergang zu der Beschleunigungssteuerung
durch Beschneiden der Verzögerungszeit des bewegbaren Elements
gleitend gemacht werden.
-
Die vorliegende Erfindung ist wirksam, wenn sie auf einen
industriellen Roboter angewendet wird, und ist nützlich, wenn sie auf
einen Roboter angewendet wird, der zahlreiche Gelenke hat. Die
Erfindung ist nicht auf Roboter beschränkt, sondern ist ebenfalls
nützlich, wenn sie auf die Servoschaltungen von Werkzeugmaschinen
angewendet wird, die durch eine numerische Steuereinheit
gesteuert werden.