-
Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Werkzeugmaschine.
-
Stand der Technik
-
Im Werkzeugmaschinenbereich und in der Robotik werden Achstransformationen verwendet, um ein Werkzeug hinsichtlich seiner Position und seiner Orientierung in einem kartesischen Koordinatensystem (Raum-, Maschinen-, Werkstück-Koordinatensystem) zu bewegen. Eine vorgegebene Position und Orientierung im Koordinatensystem wird dabei von der Achstransformation auf Achspositionen umgerechnet.
-
Durch die Achsanordnung ergibt sich in vielen Fällen ein beschränkter Verfahrbereich im Raumkoordinatensystem. Dies kann insofern zu Nachteilen führen, als die Verfahrbereichsgrenzen Singularitätsränder darstellen, die nicht ohne weiteres mittels einer Koordinatenbewegung angefahren werden können, da die Geschwindigkeiten der beteiligten Achsen gegen unendlich gehen.
-
Eine Bahnbewegung im Raumkoordinatensystem wird üblicherweise durch eine bahnparametrisierte Kurve
beschrieben. Der Kurvenparameter s ist in den meisten Fällen die aktuelle Weglänge, und läuft von 0 bis zur Bahnlänge S.
ist damit der Startpunkt, und
der Endpunkt der Kurve. Startet die Bahnbewegung auf einem Singularitätsrand, dann gilt häufig für die Geschwindigkeit einer derartigen kritischen Achse in der Nähe des Startpunkts:
wobei k ein Faktor ist; der von der spezifischen Bahnbewegung und der Achstransformation abhängt. Bei konstanter Bahngeschwindigkeit v
b geht daher die Achsgeschwindigkeit bei s->0 gegen unendlich.
-
Das gleiche Verhalten ergibt sich auch für den Bahnendpunkt, wenn die Bahnbewegung auf einem Singularitätsrand endet. Ein derartiges Polverhalten wird auch dadurch nicht beseitigt, dass die Bahngeschwindigkeit von v
b = 0 linear mit der Zeit t anwächst. Aus Gleichung (1) wird dann nämlich mit v
b =a
bt und
was mit t->0 ebenfalls gegen unendlich geht. Erst ein quadratischer Geschwindigkeitsanstieg
kann den Geschwindigkeitspol beheben. Allerdings ergibt sich in diesem Fall ein Pol für die Achsbeschleunigung in der Form
Gleiches Verhalten kann auch bei Orientierungsbewegungen
des Werkzeugs (Fräser, Laserstrahl) auftreten, wenn dem Orientierungsvektor
ρ nur ein Teilbereich der Einheitskugel zugänglich ist.
-
Ein weiteres Problem ergibt sich in der Bahnplanung bzw. Satzvorbereitung. Hierbei muss für eine vorgegebene Bahn
und/oder eine Orientierungsbewegung
eine maximale Bahngeschwindigkeit sowie eine maximale Bahnbeschleunigung bestimmt werden, so dass keine an der Bewegung beteiligten Achsen ihre jeweilige maximal zulässige Achsgeschwindigkeit bzw. -beschleunigung überschreitet. Die maximal mögliche Bahngeschwindigkeit wird nach heutigem Stand der Technik berechnet aus
wobei Ȧ
i max die maximal zulässige Geschwindigkeit einer Achse i ist.
-
Die Berechnung gemäß Gleichung (3) ist jedoch nicht möglich, da wegen des Pols in der Ableitung A'i (s) das Maximum max|A'i (s)| nicht existiert.
-
Für die Beschleunigung einer Achse i spielt auch die zweite Ableitung A", (s) eine Rolle. Aus Gleichung (1) folgt
-
EP 1 117 020 A2 offenbart, dass eine Werkzeugmaschine ein Werkzeug entlang von in einem Raumkoordinatensystem beschreibbaren Bahnkurven bewegt. Diese Bahnkurven können sehr komplexe Formen aufweisen und werden durch lineare und quadratische Funktionen approximiert. Eine Lösung für auftretende Singularitäten offenbart diese Druckschrift nicht.
-
Der Erfindung liegt daher das Problem zugrunde, eine Beschreibung einer Bahnkurve anzugeben, mit der Singularitätspunkte bzw. -ränder möglichst vermieden werden können.
-
Erfindungsgemäß wird ein Verfahren zum Betreiben einer Werkzeugmaschine mit den Merkmalen des Patentanspruchs 1 vorgestellt. Vorteilhafte Ausgestaltungen ergeben sich jeweils aus den Unteransprüchen und der nachfolgenden Beschreibung.
-
Vorteile der Erfindung
-
Mit der erfindungsgemäßen Reparametrisierung von Bahnkurven eines Werkzeugs werden die oben diskutierten Polstellen, die bei herkömmlichen Werkzeugmaschinen auftreten, behoben.
-
Die erfindungsgemäße Lösung ist durch entsprechende Software-Erweiterungen von Steuergeräten von Werkzeugmaschinen relativ einfach implementierbar. Insbesondere erlaubt die erfindungsgemäße Lösung den relativ einfachen modularen Einbau in bestehende NC- oder RC-Softwarearchitekturen. Sowohl in der Geometriekette eines Interpolators als auch in der Bahnplanung wird die erfindungsgemäße Reparametrisierung durch punktuelle Hinzufügung von Software-Funktionalität realisiert. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Es erweist sich als besonders vorteilhaft, die Kurvenparameterfunktion als quadratisches Polynom der Form s(p)=a·p2, p∈[0,P] darzustellen. Eine derartige Polynomfunktion ist rechnerisch in besonders günstiger Weise handhabbar.
-
Vorteilhafterweise werden die Größen a und P unter Zugrundelegung von Randbedingungen bestimmt.
-
Zweckmäßigerweise wird die Kurvenparameterfunktion unter Berücksichtigung der Randbedingungen s(0)=0, s(P)=S, und s'(P)=1 bestimmt, wobei 0 dem Bahnstartpunkt und S die Bahnlänge darstellt. Mit einer derart darstellbaren Kurvenparameterfunktion läßt sich der rechnerische Aufwand zur Durchführung des erfindungsgemäßen Verfahrens weiter vereinfachen.
-
Eine erfindungsgemäße Vorrichtung oder Recheneinheit weist Berechnungsmittel auf, um die Schritte des erfindungsgemäßen Verfahrens durchzuführen.
-
Ein erfindungsgemäßes Computer- bzw. Mikroprozessorprogramm enthält Programmcodemittel, um das erfindungsgemäße Verfahren durchzuführen, wenn das Programm auf einem Computer, einem Mikroprozessor oder eine entsprechenden Recheneinheit, insbesondere der erfindungsgemäßen Recheneinheit, ausgeführt wird.
-
Ein erfindungsgemäßes Computer- bzw. Mikroprozessorprogrammprodukt beinhaltet Programmcodemittel, die auf einem maschinen- bzw. computerlesbaren Datenträger gespeichert sind, um ein erfindungsgemäßes Verfahren durchzuführen, wenn das Programmprodukt auf einen Computer, einen Mikroprozessor oder auf einer entsprechenden Recheneinheit, insbesondere der erfindungsgemäßen Recheneinheit, ausgeführt wird. Geeignete Datenträger sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-Roms u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung wird nun anhand der nachfolgenden Zeichnung weiter beschrieben. Es zeigt
- 1 zeigt eine schematische Darstellung einer Zweiachskinematik zur Erläuterung der Probleme, die im Rahmen der vorliegenden Erfindung behoben werden,
- 2 eine schematische Darstellung von Singularitätsrändern, die bei einer Zweiachskinematik gemäß 1 auftreten,
- 3 eine schematische Darstellung einer Linearbewegung mit einem Startpunkt auf dem äußeren Singularitätsrand,
- 4 zur weiteren Darstellung der der vorliegenden Erfindung zugrunde liegenden Problematik eine schematische Darstellung eines kardanischen Fräskopfes,
- 5 eine schematische Darstellung zur Erläuterung der Bewegung eines Werkzeugorientierungsvektors für einen kardanischen Fräskopf gemäß 4,
- 6 eine schematische Darstellung der Bewegung des Orientierungsvektors, und
- 7 ein Ablaufdiagramm zur weiteren Erläuterung einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens.
-
Die in 1 dargestellte Zweiachskinematik weist zwei Rundachsen 1, 2 auf. Die Rundachse 1 ist fest mit einem Maschinenkoordinatensystem (MCS: machine coordinate system) verankert. Die zweite Rundachse ist mechanisch mit der Rundachse 1 über einen Gelenkarm 3 der Länge l1 verbunden. Die Rundachse 2 dreht ein Werkzeug 4, welches eine Länge l2 aufweist. Das Ende der Länge l2 (Pfeilspitze) stellt den Werkzeugmittelpunkt (TCP: tool center point) dar.
-
Die Rundachspositionen werden, wie dargestellt, typischerweise mit α und β in einem kartesischen Koodinatensystem X, Y bezeichnet.
-
Für eine gegebene TCP-Position
im Maschinenkoordinatensystem werden die Rundachspositionen durch die sogenannte Rückwärtstransformation berechnet:
-
Der zugängliche Maschinenkoordinatensystem-Bereich des TCP befindet sich zwischen zwei konzentrischen Kreisen mit Mittelpunkt
und den Radien R
m=|l
1-l
2| und R
M= l
1+l
2. Dieser Zusammenhang ist in
2 veranschaulicht, in der zwei mögliche Positionen
β für die Achsstellung für die Rundachse
2 dargestellt sind, nämlich β=0 sowie β=π.
-
Bewegt sich der TCP mit einer konstanten Geschwindigkeit v
b auf einer MCS-Bahn
wobei s die Bahnlänge darstellt, dann gilt für die Achsgeschwindigkeiten
-
Für die Rundachse
2 folgt beispielsweise durch Ableiten der Gleichung (5):
-
Diese Ableitung hat also einen Pol an den Stellen β=0 und β=π. Dies entspricht genau den Singularitätsrändern r=RM bzw. r=Rm.
-
Zur weiteren Erläuterung sei eine andere Darstellung von dβ/ds wie folgt angegeben:
in der die Pole bei r
(s)=R
M und r
s=R
m wiederum ersichtlich sind.
-
Es wird nun eine Linearbewegung gemäß
0≤s≤S mit dem Startpunkt
der auf dem äußeren Kreisrand liegen soll, und der Bahntangente
betrachtet. Der Kurvenparameter s läuft hierbei von 0 bis zur Gesamtbahnlänge S.
-
Für die Achse
2 ergibt sich in diesem Fall als Geschwindigkeit
-
In der Nähe des Startpunktes (s->0) wird daraus
-
D.h., mit S->0 geht die Achsgeschwindigkeit mit s-1/2 gegen unendlich.
-
Die Polstelle verschwindet auch dann nicht, wenn die Bahngeschwindigkeit von 0 aus mit konstanter Beschleunigung ansteigt. Mit v
b =at und
erhält man dann aus Gleichung (11)
-
Ein weiteres Problem ergibt sich bei einer Bestimmung der maximal zulässigen Bahngeschwindigkeit v
b max für einen vorgegebenen Bewegungssatz. Seien α̇
max und β̇
max die maximal zulässige Achsgeschwindigkeit der Achsen
1 bzw.
2. Dann gilt für die maximale Bahngeschwindigkeit (vergleiche auch Gleichung 3)
-
Die Maxima der Achsableitungen sind aber wegen des Pols nicht bestimmbar. Es kann daher keine maximal zulässige Bahngeschwindigkeit angegeben werden, wenn der Bewegungssatz auf einem der Kreisränder startet oder endet.
-
Anhand der 4 bis 6 wird nun die erfindungsgemäß zu behebende Problematik anhand eines kardanischen Fräskopfes weiter erläutert.
-
Bei einem kardanischen Fräskopf bewirken zwei rotatorische Achsen 10, 11 eine Orientierung eines Werkzeugs 12 (siehe 4) in einem kartesischen Koordinatensystem x, y, z. Die Achsen 10, 11 bilden einen Winkel α, der im allgemeinen 45° beträgt. Hierdurch bewegt sich das Werkzeug 12 bei einer Drehung der Achse 10 auf einen Kegelmantel mit Öffnungswinkel 2α, wie dies in 5 dargestellt ist.
-
Die Verfahrmöglichkeiten des Werkzeugs
12 sind mittels eines sogenannten Orientierungsvektors
darstellbar. Dieser Orientierungsvektor
ist in
5 dargestellt. Setzt man α=45° - das ist der allgemein übliche Winkel bei Werkzeugmaschinen - so kann die Spitze des Orientierungsvektors
nur Punkte auf einer Halbkugel erreichen, die durch eine z-Komponente des Orientierungsvektors, ρ
z≥0 darstellbar sind. Der Äquator dieser Kugel (ρ
z=0) stellt damit einen Singularitätsrand dar. Eine Orientierungsbewegung, die auf dem Äquator startet oder endet, und einen Bewegungsanteil senkrecht zu ihm hat, wird ähnlich wie bei der Zweiachskinematik zu einer unendlichen Geschwindigkeit der rotatorischen Achsen
10,
11 führen. Dies zeigt sich in den Rückwärtstransformationsgleichungen für die Achsen
10,
11:
-
Bewegt sich der Orientierungsvektor
in Abhängigkeit eines Bahnwegs s, dann gilt für die Ableitungen der Achsen
10,
11:
-
In
5 ist eine Bewegung des Werkzeugorientierungsvektors
bei einer Drehung der Achse
10 von 0 über π auf 0 dargestellt.
-
Der ersten Gleichung (15) ist zu entnehmen, dass an der Stelle ρ
z=0 ein Pol auftritt, wenn nicht gleichzeitig ρ'
z=0 ist. Es sei angemerkt, dass ein zweiter Pol bei ρ
z=1 nicht auftritt, da in diesem Fall ρ'
z=0 ist. Dieser Sachverhalt wird nun anhand einer Orientierungsbewegung von
(Einheitsvektor in y-Richtung) nach
(Einheitsvektor in z-Richtung) genauer betrachtet werden. Diese Bewegung ist in
6 dargestellt. Diese Bewegung beschreibt eine Bewegung des Orientierungsvektors vom Äquator zum Nordpol. Die Bewegung wird beschrieben durch
-
Hierbei ist β, wie in
6 dargestellt, der Winkel zwischen dem Orientierungsvektor
und dem Startorientierungsvektor
β
e ist der Gesamtdrehwinkel der Orientierungsbewegung und beträgt im dargestellten Beispiel π/2. S ist eine Bahnlänge, die beispielsweise von einer gleichzeitig stattfindenden Bahnbewegung herrühren kann, oder es ist S =kβ
e bei einer reinen Orientierungsbewegung mit einem Normierungsfaktor k (Wirkungsradius o.ä.).
-
Einsetzen der Orientierungsbewegung gemäß Gleichung (9) in Gleichung (15) ergibt
-
Im Grenzfall β->0 oder analog s->0 erhält man
-
Dies bedeutet, dass die Achsableitung mit s-1/2 gegen unendlich geht, wie dies auch in der oben diskutierten Zweiachskinematik der Fall war.
-
Zur Vermeidung von Singularitäten wird üblicherweise in den meisten Fällen drauf verzichtet, den Singularitätsrand oder Singularitätspunkte anzufahren. Dies bedeutet, dass ein Verfahrbereich künstlich derart eingeschränkt wird, dass er den Singularitätsrand nicht beinhaltet. Ein Bewegungsbefehl mit Endpunkt auf dem Singularitätsrand wird dann im allgemeinen mit einer Fehlermeldung quittiert.
-
Eine zweite Lösung aus dem Stand der Technik ist das Ausführen der Bewegung in Achskoordinaten. Hierbei werden Startpunkt und Endpunkt einer Bahn in Achspositionen umgerechnet und anschließend eine Linearbewegung von Achsstartpunkt zum Achsendpunkt durchgeführt. Dies ist insofern nachteilig, als eine programmierte Bahn deutlich verlassen wird. Lediglich Startpunkt und Endpunkt stimmen mit der vorgegebenen Bahn überein.
-
Die erfindungsgemäße Lösung wird nun, insbesondere unter Bezugnahme auf die 7, dargestellt.
-
Eine Polstelle wird erfindungsgemäß behoben durch Reparametrisieren des Kurvenparameters s, der gewöhnlich den aktuellen Weg auf einer Bahn
darstellt.
-
In die bereits oben erläuterte Funktionskette
wird gemäß der Erfindung ein weiteres Glied eingeschoben, so dass sich eine Funktionskette
ergibt. Die Funktion s(p) ist ein quadratisches Polynom der Form
mit einem konstanten Faktor a und Parameterwerten p, die zwischen einem Ausgangspunkt (Nullpunkt) und einem Parameterendwert P liegen. Für die Achsgeschwindigkeiten und Achsbeschleunigungen sind dann die Ableitungen A' (p) und A'' (p) zu betrachten. Es gilt für die Achsgeschwindigkeit
und für die Achsbeschleunigung
-
Mit der Reparametrisierungsfunktion (Gleichung 19) bleiben Achsgeschwindigkeit und Achsbeschleunigung endlich. Man erhält nämlich unter Verwendung der Gleichung (1) für p«P
sowie
-
Nach der dargestellten Reparametrisierung erhält man somit keinen Pol an der Stelle p = 0 für A'(p) und A " (p), und damit eine endliche Geschwindigkeit Ȧ(t) und Beschleunigung Ä(t) der kritischen Achsen.
-
Die Bestimmung der noch unbekannten Parameter a und P in Gleichung (19) erfolgt zweckmäßigerweise unter Annahme der folgenden Randbedingungen:
-
Für p = 0 soll sich der Bahnstartpunkt ergeben, d.h. s(0)=0. Ferner soll am Ende der Bewegung die Bahnlänge S erreicht werden, d.h. s(P)=S.
-
Im nächsten Bahnsegment, d.h. dem sich das an das Erreichen der Bahnlänge S anschließenden Bahnsegment, soll keine Reparamentrisierung erfolgen, d.h. s(p)=p. Damit der Übergang keinen Geschwindigkeitssprung erzeugt, muss am Ende des aktuellen Bahnsegments gelten s'(P)=1.
-
Aus diesen drei Gleichungen ergeben sich die folgenden Gleichungen für Faktor a und P:
-
Wendet man die dargestellte Reparametrisierung auf die oben beschriebene Zweiachskinematik an, so erkennt man, dass die dort auftretenden Pole vermieden werden können. Es ergibt sich ein nahezu konstanter Verlauf der Achsableitung dβ/dp.
-
Das erfindungsgemäße Konzept der Reparametrisierung wird anhand der 7, welche eine Gegenüberstellung des erfindungsgemäßen Verfahrens mit herkömmlichen Verfahren darstellt, gezeigt.
-
7, linke Spalte, zeigt eine vereinfachte Geometriekette, wie sie herkömmlicherweise in einer NC oder RC verwendet wird. Ein Interpolator erzeugt in einem Schritt
70 in einem festgelegten Zeitraster Werte für den Kurvenparameter s. Wie bereits erwähnt, stellt s die aktuelle Bahnlänge dar. Damit gibt der Interpolator ein bestimmtes zeitliches Profil s(t) vor. Der Interpolator hält die zuvor in der Bahnplanung berechneten Grenzwerte für die Bahngeschwindigkeit ṡ
max=ν
b max (vgl. Gleichung 3), und die Bahnbeschleunigung s̈
max =a
b max ein. Eine nachfolgende Geometriefunktion berechnet aus s die Koordinatenpositon
und ggf. eine Werkzeugorientierung
(Schritt
72) .
-
Anschließend erfolgt in Schritt 74 eine Achstransformation, in welcher aus den Koordinatenpositionen Achspositionen berechnet werden. Diese gehen an die jeweiligen Antriebe der Werkzeugmaschine und erzeugen damit die vorgegebene Bewegung. Hierbei kann es, wie bereits ausführlich dargelegt, zu beliebig großen Achsgeschwindigkeiten kommen.
-
Erfindungsgemäß wird der Weg s nicht direkt an die Geometriefunktion gegeben, sondern über die oben angegebene Reparametrisierungsfunktion geleitet. Es ergibt sich somit die modifizierte Geometriekette, die in 7, rechte Spalte, dargestellt ist. Die Kette unterscheidet sich von der soeben dargestellten Kette gemäß dem Stand der Technik durch den Reparametrisierungsschritt 71, der zwischen den Schritten 70 und 72 vorgesehen ist.
-
Hierbei erzeugt der Interpolator wiederum den Kurvenparameter, der jetzt allerdings nicht die aktuelle Bahnlänge darstellt, sondern als abstrakter Parameter von 0 bis P läuft (Schritt 70). Der Interpolator hält wiederum von der Bahnplanung vorgegebene Grenzwerte p̈max =νp max und p̈max = ap max ein. Die nachgeschaltete, in die Geometriekette eingeschobene Reparametrisierungsfunktion erzeugt in Schritt 71 aus p den Bahnweg s. Danach läuft die Geometriekette in gleicher Weise wie die bereits dargestellte herkömmliche Kette ab (Schritte 72, 74). Erfindungsgemäß werden an den singulären Rändern begrenzte Achsgeschwindigkeiten und Achsbeschleunigungen erzeugt.
-
Es sei angemerkt, dass sich folgende Zusatzaufgaben innerhalb der Bahnplanung bzw. Satzvorbereitung ergeben:
-
Die Parameter a und P sind entsprechend Gleichung (24) zu berechnen. Die fiktive „Bahnlänge“ P = 2S ist für die Interpolationseinheit bereitzustellen. Ferner sind die Grenzwerte νp max und ap max unter Verwendung der jetzt endlichen Größen max|A'(p)| und max|A''(p)| zu berechnen.
-
Endet eine Bahnbewegung auf einem singulären Rand, ergibt sich entsprechend der Gleichung (25)
-
Anstelle von Gleichung (19) ist dann folgendes Reparametrisierungspolynom zweckmäßigerweise zu verwenden:
-
Es ist möglich, die Reparametrisierungfunktion bei einem Start und/oder einem Ende der Bewegung in der Nähe eines Singularitätsrandes zu erweitern.
-
Startet oder endet eine Bahnbewegung in der Nähe eines Singularitätsrandes, ergeben sich zwar endliche, jedoch beliebig hohe Achsgeschwindigkeiten und Achsbeschleunigungen. Diese Ableitungsspitzen lassen sich ebenfalls durch eine quadratische Reparametrisierung eliminieren.
-
Im Falle einer Lösung für einen singulären Startpunkt ergibt sich die Ableitungsfunktion einer kritischen Achse gemäß
-
Die Bewegung startet dabei in einem Bahnabstand
s0 vom Singularitätsrand. Die Reparametrisierungsfunktion (Gleichung 19) wird wie folgt modifiziert:
-
Das Einsetzen dieser Gleichung in die Gleichung (27) ergibt
d.h., die Spitze A' (s) ~ (s
0/S)
1/2 wird weggeglättet. Ebenso kann für die zweite Ableitung A'' (p→0) = 0 gezeigt werden.
-
Die zunächst wiederum unbekannten Parameter a, p0 , P ergeben sich aus den Bedingungen S(0)=0, S(P) =S, s'(P)=σ.
-
Hierbei sei σ eine vorgegebene Steigung der Reparametrisierungfunktion am Ende des aktuellen Bahnsegments. Im Normalfall ist σ=1. Es soll hier jedoch ein möglichst allgemeiner Fall beschrieben werden. Die genannten Bedingungen führen zu folgenden Werten für die Parameter.
-
Im Falle einer Lösung für einen singulären Endpunkt ergibt sich die Ableitungsfunktion einer kritischen Achse gemäß
-
Die Bewegung endet hierbei in einem Bahnabstand S
0 von einem Singularitätsrand. Für die Reparametrisierungsfunktion wird nun entsprechend Gleichung (28) folgende Funktion angesetzt.
-
Aus den Bedingungen S(0) =0, s'(0)=σ, s(P)=S, s(P+p
0)=S+s
0 S'(P+p
0)=0 folgt hier für die unbekannten Werte:
-
Das Reparametrisierungspolynom lautet in diesem Fall also