-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung.
-
Stand der Technik
-
Unter Werkzeugmaschinen wird eine Werkzeugmaschine, die drei lineare Achsen und zwei Rotationsachsen aufweist, eine Fünf-Achsen-Maschine genannt. Eine Fünf-Achsen-Maschine kann ein Werkstück in eine komplizierte Form bearbeiten durch Bezeichnen der Distalendposition des Werkstücks gemäß der Positionen der linearen Achsen und Bezeichnen einer Stellung des Werkzeugs entsprechend der Rotationsachsen.
-
Wenn ein Werkstück in einer ornamental Oberfläche bearbeitet wird, wird im Allgemeinen eine Folge von Punkten einer Werkzeug-Distalendposition und der Werkzeugstellung typischerweise in winzige Blöcke entlang der gekrümmten Oberfläche eingeteilt, die durch ein CAD/CAM-System oder dergleichen erzeugt werden. Eine Bearbeitung durch Interpolieren in geraden Linien zwischen den Punkten in der Folge wird durchgeführt durch eine numerische Steuervorrichtung. Um die bearbeitete Oberfläche des Werkstücks, das als Ergebnis einer Bearbeitung erhalten wird, zu glätten, müssen die Blöcke feiner eingeteilt werden. Falls die Blöcke jedoch fein eingeteilt werden, wenn es nicht nötig ist, wird das Programmdatenvolumen in einigen Fällen exzessiv groß und der Arithmetikbetrieb eines Programms, das in der numerischen Steuervorrichtung liest und analysiert, nimmt eine lange Zeit in Anspruch, was es schwierig macht, mit einer vorbestimmte Bearbeitungsgeschwindigkeit zu arbeiten.
-
Um dieses Problem anzugehen, wurde eine Technik vorgeschlagen, in der die Folge von Bearbeitungspunkten ohne exzessiv feines Einteilen der Blöcke erzeugt wird; und die Folge von Punkten wird mit Kurven anstelle von geraden Linien durch die numerische Steuervorrichtung interpoliert.
-
Patentliteratur 1 beschreibt eine numerische Steuervorrichtung, die eine Kurven-Interpolation zwischen Bearbeitungspunkten durchführt, um eine gekrümmte Oberfläche zu bearbeiten, und den Neigungswinkel des Werkzeugs hinsichtlich des Werkstücks ändert. Insbesondere werden eine bezeichnete Folge von Punkten und eine Folge von Vektoren darin von einem Bearbeitungsprogramm gelesen. Die numerische Steuervorrichtung berechnet zwei Interpolationspunkte als tatsächliche benannte Punkte zwischen Punkten hinsichtlich der gelesenen benannten Folge von Punkten; erzeugt eine Näherungskurve für die Bearbeitungspunkte hinsichtlich einer tatsächlichen benannten Folge von Punkten unter Verwendung des Verfahrens kleinster Quadrat; bewegt die tatsächlichen benannten Punkte zu der Näherungskurve für Bearbeitungspunkte, um eine Kurve für Bearbeitungspunkte zu berechnen; führt eine Interpolation auf der Kurve für Bearbeitungspunkte durch; und berechnet Bearbeitungspunkte. Alternativ berechnet die numerische Steuervorrichtung zwei Interpolationsvektoren als tatsächliche benannte Vektoren für die Folge von gelesenen Vektoren; erzeugt eine Näherungskurve für einen Vektor, der den weitesten Distalendpunkt hinsichtlich einer Distalendfolge von Punkten des tatsächlichen benannten Vektors anzeigt, unter Verwendung des Verfahrens kleinster Quadrate; bewegt die tatsächlichen benannten Vektoren zu der Näherungskurve für den Vektor, der den am weitesten Distalendpunkt anzeigt, um eine Kurve für die Vektor-Distalendpunkte zu berechnen; führt eine Interpolation für die Kurve für Vektor-Distalendpunkte durch; und berechnet einen Interpolationsvektor. Die numerische Steuervorrichtung berechnet einen Vektor, der die Bewegungsrichtung anzeigt, unter Verwendung von Differenzen zwischen den Bearbeitungspunkten und Bearbeitungspunkten des unmittelbar vorausgehenden Zyklus; berechnet einen Werkzeug-Distalendmittelpunktsvektor aus dem Interpolationsvektor; und berechnet einen Werkzeugrichtungsvektor aus dem Interpolationsvektor und dem Fahrrichtungsvektor. Weiterhin addiert die numerische Steuervorrichtung den Werkzeug-Distalendmittelpunktsvektor und den Werkzeug-Richtungsvektor zu den Bearbeitungspunkten, um Positionen von linearen Bewegungsachsen X, Y und Z zu berechnen; und berechnet die Positionen von Rotationsachsen A und C aus dem Werkzeug-Richtungsvektor. Folglich werden die Bearbeitungspunkte gemäß Patentliteratur 1 stetig interpoliert und die relative Beziehung zwischen dem Werkzeug und dem Werkstück ändert sich stetig. Deshalb wird eine glatte gekrümmte Oberfläche erhalten.
-
Patentliteratur 2 beschreibt eine numerische Steuervorrichtung, die eine Steuerung so ausführt, dass Bearbeitungspunkte sich entlang einer glatten Kurve bewegen und sich eine Referenzwerkzeuglängen-Position glatt ändert. Insbesondere analysiert die numerische Steuervorrichtung ein Bearbeitungsprogramm und erzeugt eine Folge benannter Bearbeitungspunkte und eine Folge benannter Werkzeugstellungen. Die numerische Steuervorrichtung erzeugt eine Bearbeitungspunkt-Näherungskurve hinsichtlich der Folge benannter Bearbeitungspunkte, die unter Verwendung des Verfahrens kleinster Quadrate erzeugt wurde; bewegt die Folge benannter Bearbeitungspunkte in Richtung der Bearbeitungspunkt-Näherungskurve, um die Bearbeitungspunktkurve zu erhalten; führt eine Interpolation entlang der Bearbeitungspunktkurve durch; und berechnet eine interpolierte Bearbeitungsposition. Weiterhin berechnet die numerische Steuervorrichtung eine Werkzeugstellungs-Einheitsfolge von Vektoren aus der Folge genannter erzeugter Werkzeugstellungen; integriert die Referenz-Werkzeuglänge, um einen Referenzwerkzeug-Längenvektor zu erhalten; addiert den Referenzwerkzeug-Längenvektor zu der Folge benannter Bearbeitungspunkte, um eine Referenzwerkzeug-Längenpositionsfolge zu erzeugen; erzeugt eine Referenzwerkzeug-Längenpositions-Näherungskurve hinsichtlich der Referenzwerkzeug-Längenpositionsfolge unter Verwendung des Verfahrens kleinster Quadrate; bewegt die Referenzwerkzeug-Längenpositionsfolge zu der Referenzwerkzeug-Längenpositions-Näherungskurve, um eine Referenzwerkzeug-Längenpositionskurve zu berechnen; führt eine Interpolation entlang der Referenzwerkzeug-Längenpositionskurve durch; und berechnet eine interpolierte Referenzwerkzeug-Längenposition. Die numerische Steuervorrichtung berechnet eine interpolierte Werkzeugstellung aus der interpolierten Bearbeitungsposition und der interpolierten Referenzwerkzeug-Längenposition. Weiterhin berechnet die numerische Steuervorrichtung Positionen linearer Bewegungsachsen X, Y und Z aus der interpolierten Bearbeitungsposition, der interpolierten Werkzeugstellung und der tatsächlichen Werkzeuglänge und berechnet Positionen von Rotationsachsen B und C aus der interpolierten Werkzeugstellung. Folglich ist es gemäß Patentliteratur 2 möglich, eine Bearbeitung durchzuführen, während eine Werkzeugstellung glatt durch Steuern der linearen Achsen der Rotationsachsen geändert wird, um eine berechnete Werkzeugstellung zu erreichen.
-
Patentliteratur
-
- Patentliteratur 1: Japanische Patentanmeldungs-Veröffentlichung JP 2005 - 182 437 A
- Patentliteratur 2: Japanische Patentanmeldungs-Veröffentlichung JP 2010 - 146 176 A
-
DE 60 2004 002 997 T2 betrifft eine numerische Steuervorrichtung, die eine Werkzeugmaschine mit zwei senkrecht zueinander stehenden linearen Bewegungsachsen und einer Drehachse steuert. Ein Tisch bewegt sich in einer X-Achsenrichtung und einer Z-Achsenrichtung. Eine Welle, die in einer Richtung parallel zur Z-Achse verläuft, ist auf einem Träger angeordnet, und ein Schwenkbauteil befindet sich an der Welle, so dass es sich um die Achse der Welle dreht. Ein Werkzeug ist am distalen Ende des Schwenkbauteils befestigt. Eine Achse, um die das Schwenkbauteil um die Welle gedreht wird, so dass man das Werkzeug bewegt, wird als Drehachse bezeichnet.
-
DE 103 60 227 A1 betrifft ein Verfahren zur Steuerung der Orientierung eines Werkzeugs an einer Werkzeugmaschine.
-
DE 10 2009 003 003 A1 beschreibt eine Sechs-Achsen-Bearbeitungsmaschine, die zur Bearbeitung ein Werkzeug in drei linearen Achsen und drei Rotationsachsen zum Werkstück bewegt. Die zugehörige numerische Steuerung nimmt vor eine Koordinatentransformation des Werkzeugmittelpunkt-Steuerungsbefehls einschliesslich der Werkzeugphase um eine dritte Rotationsachse. Sie umfasst eine Werkzeugphasen-Steuerungsvorrichtung, welche eine Rotationsposition der dritten Rotationsachse festlegt. Die Werkzeugphasen-Steuerungsvorrichtung umfasst eine Post-Transformations-Werkzeugphasen-Berechnungseinrichtung, die einen Post-Transformations-Werkzeugphasenvektor, der dem Werkzeugphasenvektor entspricht, und eine Post-Transformations-Rotationsposition der dritten Rotationsachse bestimmt als einen Phasenwinkel, der zwischen dem Post-Transformations-Werkzeugphasenvektor und einem Post-Transformations-Werkzeugphasen-Nullvektor gebildet wird und der auf Basis der transformierten Werkzeugausrichtung bestimmt wird.
-
Manfred Weck, Christian Brecher, „Werkzeugmaschinen 4“, Springer 2006, ISBN 978-3-540-22507-2 beschreibt die Verwendung einer Spline-Interpolation für Werkzeugmaschinen. Dabei muss jeder Stützstelle ein Parameterwert zugeordnet werden. Es ist sinnvoll, die Parameter in Abhängigkeit von der geometrischen Länge zwischen den Stützstellen zu wählen. Eine Randbedingung kann die Stetigkeit der zweiten Ableitungen sein.
-
Zusammenfassung
-
Technisches Problem
-
Die in Patentliteratur 1 beschriebene Technologie basiert auf einer Situation, wo eine Kurve (eine Kurve für Bearbeitungspunkte) zum glatten Interpolieren eines Werkzeugdistalendes aus einer Folge von Punkten einer Werkzeugdistal-Endposition erzeugt wird; und eine Kurve (eine Kurve für Vektor-Distalendpunkte) zum glatten Interpolieren einer Werkzeugstellung aus einer Folge von Punkten der Werkzeugstellung erzeugt wird, das heißt die Kurve der Werkzeugdistalenden und der Kurve der Werkzeugstellungen werden vollständig getrennt erzeugt. Wenn eine Bewegungs-Trajektorie eines Werkzeugstellungsvektors betrachtet wird, ändert sich Folglich der Werkzeugstellungsvektor in der in Patentliteratur 1 beschriebenen Technologie manchmal nicht glatt (gleichmäßig) in Synchronisation mit der glatten Bewegung des Werkzeugdistalendes entlang der Kurve von Bearbeitungspunkten und es ist wahrscheinlich, dass eine bearbeitete Oberfläche, die als Ergebnis einer solchen Bearbeitung erhalten wird, nicht glatt ist.
-
In der in Patentliteratur 2 beschriebenen Technologie wird eine Kurve (eine Kurve für Bearbeitungspunkte) zum glatten Interpolieren eines Werkzeugdistalendes aus einer Folge von Punkten einer Werkzeugdistalendposition erzeugt; eine Kurve (eine Referenzwerkzeug-Längenpositionskurve) zum glatten Interpolieren einer Referenzwerkzeug-Längenposition, die ein Offset von dem Werkzeugdistalende um eine Referenzwerkzeuglänge ist, wird aus der Folge von Punkten der Werkzeugdistalentpunkt-Position und Werkzeugstellungs-Positionsfolgen erzeugt; und aus einer interpolierten Werkzeugstellung, die einen Punkt zum Interpolieren der Bearbeitungspunktkurve und einen Punkt zum Interpolieren der Referenzwerkzeug-Längenposition verbindet, werden Positionen von Rotationsachsen B und C an den Interpolierenspunkten berechnet. Wenn eine Bewegungs-Trajektorie eines Werkzeugstellungsvektors in Betracht gezogen wird, sogar in dem Fall eines Programms, in dem sich eine Werkzeugstellung mit der Bewegung nur einer Rotationsachse (z.B. der B-Achse) ändert und die andere Rotationsachse (z.B. die C-Achse) sich nicht bewegt, in Werten der Rotationsachsen, die aus der interpolierten Werkzeugstellung berechnet wird, die den Punkt zum Interpolieren der Bearbeitungspunktkurve und den Punkten zum Interpolieren der Referenzwerkzeug-Längenposition verbindet, erscheint deshalb eine Bewegungskomponente in der in Patentliteratur 2 beschriebenen Technologie in der C-Achse, die sich ursprünglich nicht bewegen soll. Wenn insbesondere die Bewegungskomponente in der Nähe eines singulären Punkts vorliegt, bewegt sich die C-Achse start. Es ist wahrscheinlich, dass eine bearbeitete Oberfläche, die als Ergebnis einer solchen Bearbeitung erhalten wird, nicht glatt ist.
-
Die vorliegende Erfindung wurde im Hinblick auf das Obige gemacht und es ist eine Aufgabe der vorliegenden Erfindung, eine numerische Steuervorrichtung zu erhalten, die eine Bewegungs-Trajektorie eines Werkzeugstellungsvektors glätten kann.
-
Lösung des Problems
-
Um das Problem zu lösen und die oben beschriebene Aufgabe zu erreichen, betrifft die vorliegende Erfindung eine numerische Steuervorrichtung gemäß Patentanspruch 1. Die abhängigen Patentansprüche definieren bevorzugte Ausführungsformen.
-
Vorteilhafte Effekte der Erfindung
-
Gemäß der vorliegenden Erfindung wird die Werkzeugstellungskurve abgeleitet in Übereinstimmung mit der linearen Achsenbewegung des Werkzeugdistalendpunkts. Folglich ist es zum Beispiel möglich, die lineare Achse und die Rotationsachse jeweils zu interpolieren durch Kombinieren der Werkzeug-Distalendpositionskurve, die auf Basis der linearen Achse erzeugt wird, und der Werkzeugstellungskurve, die auf Basis sowohl der linearen Achse als auch der Rotationsachse erzeugt wird. Als Resultat ist es möglich, einen Werkzeugstellungsvektor glatt zusammen mit der Bewegung des Werkzeugdistalendes zu bewegen. Das heißt, es ist möglich, die Bewegungs-Trajektorie des Werkzeugstellungsvektors zu glätten.
-
Figurenliste
-
- 1 ist eine Abbildung, die die Konfiguration einer numerischen Steuervorrichtung gemäß einer ersten Ausführungsform zeigt;
- 2 ist eine Abbildung, die die Konfiguration einer Werkzeugmaschine gemäß der ersten Ausführungsform zeigt.
- 3 ist eine Abbildung, die einen Werkzeug-Distalendpunkt und eine Werkzeugstellung in der ersten Ausführungsform zeigt.
- 4 ist eine Abbildung, die eine Spline-Kurve in einem Abschnitt in der ersten Ausführungsform zeigt.
- 5 ist eine Abbildung, die eine Kurve zeigt, die durch Kombinieren einer linearen Achse und zweier Rotationsachsen in der ersten Ausführungsform erhalten wird.
- 6 ist eine Abbildung, die den Inhalt eines Bearbeitungsprogramms in der ersten Ausführungsform darstellt.
- 7 ist eine Abbildung, die die Konfiguration einer Datentabelle in der ersten Ausführungsform darstellt.
- 8 ist eine Abbildung, die Interpolationspunkte in einer Kurve in der ersten Ausführungsform darstellt.
- 9 ist eine Abbildung, die eine Kurve darstellt, die durch Kombinieren einer linearen Achse und einer Rotationsachse in der ersten Ausführungsform erhalten wird.
- 10 ist eine Abbildung, die die Konfiguration einer Datentabelle in einer zweiten Ausführungsform darstellt.
-
Beschreibung von Ausführungsformen
-
Ausführungsformen einer numerischen Steuervorrichtung gemäß der vorliegenden Erfindung werden nachstehend detailliert mit Bezug auf die Abbildungen beschrieben. Man beachte, dass die vorliegende Erfindung nicht auf die Ausführungsformen beschränkt ist.
-
Erste Ausführungsform
-
Eine numerische Steuervorrichtung 10 gemäß einer ersten Ausführungsform wird mit Bezug auf 1 beschrieben. 1 ist eine Abbildung, die die Konfiguration der numerischen Steuervorrichtung 10 zeigt.
-
Die numerische Steuervorrichtung 10, die in 1 gezeigt ist, ist eine Vorrichtung, die numerisch zum Beispiel eine in 2 gezeigte Werkzeugmaschine 100 über eine Servo-Antriebseinheit 9 steuert und ist eine Vorrichtung, die zum Beispiel die Distalendposition eines Werkzeugs 102 und die Stellung des Werkzeugs 102 steuert. 2 ist eine Abbildung, die die Konfiguration der Werkzeugmaschine 100 darstellt.
-
Die mit der numerischen Steuervorrichtung 10 ausgestattete Werkzeugmaschine 100 führt eine Bearbeitung durch während eine bewegbare Einheit durch Durchführen einer Steuerung von Achsen bewegt wird, um sich zu Positionen zu bewegen, die durch ein Bearbeitungsprogramm (ein NC-Programm oder ein Bewegungsprogramm) 1 benannt (bezeichnet) werden. Die Werkzeugmaschine 100 enthält eine Vielzahl von linearen Achsen und eine oder mehrere Rotationsachsen.
-
Insbesondere ist die Werkzeugmaschine 100 zum Beispiel, wie in 2 gezeigt, enthaltend eine Fünf-Achsen-Maschine, die eine X-Achse, eine Y-Achse und eine Z-Achse, die drei lineare Achsen (Translationsachsen) sind; und eine B-Achse und eine C-Achse, die zwei Rotationsachsen sind. Die X-Achse ist eine Achse für einen X-Achsen-Servomotor 109X, um das Werkzeug 102 linear zu bewegen. Die Y-Achse ist eine Achse für einen Y-Achsen-Servomotor 109Y, um das Werkzeug 102 linear zu bewegen. Die Z-Achse ist eine Achse für einen Z-Achsen-Servomotor 109Z, um das Werkzeug 102 linear zu bewegen. Die X-Achse, die Y-Achse und die Z-Achse sind zum Beispiel orthogonal zueinander. Die B-Achse ist eine Achse für einen B-Achsen-Servomotor 109B, um das Werkzeug 102 zu rotieren. Der B-Achsen-Servomotor 109B rotiert das Werkzeug 102 zum Beispiel um die Y-Achse. Die C-Achse ist eine Achse für einen C-Achsen-Servomotor 109C, um das Werkzeug 102 zu rotieren. Der C-Achsen-Servomotor 109C bewegt das Werkzeug 102 zum Beispiel um die Z-Achse. Ein Werkstück WK wird auf einer Hauptebene 101a einer Plattform 101 platziert. Ein Schnittpunkt einer Mittelachse der B-Achse und einer Mittelachse der C-Achse kann als Bearbeitungsposition MP betrachtet werden, die den Mittelpunkt der Werkzeugmaschine 100 anzeigt.
-
Man beachte, dass 2 eine beispielhafte Abbildung ist, die die Konfiguration der Fünf-Achsen-Maschine darstellt, in der die zwei Rotationsachsen (die B-Achse und die C-Achse) auf der Werkzeugseite bereitgestellt werden. Die Werkzeugmaschine 100 kann jedoch eine Fünf-Achsen-Maschine sein, in der eine Rotationsachse auf der Werkzeugseite bereitgestellt wird und eine Rotationsachse auf dem Werkstück bereitgestellt wird, oder sie kann eine Fünf-Achsen-Maschine sein, in der zwei Rotationsachsen auf dem Werkstück bereitgestellt werden.
-
Ein Bearbeitungsprogramm 1 (siehe 6) ist ein Programm, das unter Verwendung eines Kommandocodes, genannt G-Code, beschrieben wird, und ist ein Programm, das zum Beispiel beschrieben wird unter Verwendung eines Distalendpunktsteuer-(G43.4/G43.5) Befehls als eine simultane Fünf-Achsen-Steuerfunktion.
-
Die numerische Steuervorrichtung 10 analysiert das Bearbeitungsprogramm 1, steuert die Werkzeugmaschine 100 (z.B. die Fünf-Achsen-Maschine) mittels der Servo-Antriebseinheit 9 auf Basis des Analyseergebnisses (siehe 2) und führt eine Bearbeitung auf dem Werkstück WK durch, während die relative Werkzeugstellung gesteuert wird, die relativ zu dem auf der Plattform 101 platzierten Werkstück WK ist. Die numerische Steuervorrichtung 10 realisiert zum Beispiel eine komplizierte Bearbeitung für das Werkstück WK durch geeignetes Steuern jeder der X-, Y-, Z-, B- und C-Achsen, um die Position und die Stellung des Werkzeugs 102 in eine gewünschte Werkzeugposition und eine gewünscht Werkzeugstellung einzustellen. Die numerische Steuervorrichtung 10 gibt zum Beispiel vorbestimmte Bewegungsbefehle jeweils an die X-Achsen-Antriebseinheit 9X, eine Y-Achsen-Antriebseinheit 9Y, eine Z-Achsen-Antriebseinheit 9Z, eine B-Achsen-Antriebseinheit 9B und eine C-Achsen-Antriebseinheit 9C in der Servo-Antriebseinheit 9 aus (siehe 1). Die X-Achsen-Antriebseinheit 9X, die Y-Achsen-Antriebseinheit 9Y, die Z-Achsen-Antriebseinheit 9Z, die B-Achsen-Antriebseinheit 9B und die C-Achsen-Antriebseinheit 9C geben jeweils Spannungsbefehle an den X-Achsen-Servomotor 109X, den Y-Achsen-Servomotor 109Y, den Z-Achsen-Servomotor 109Z, den B-Achsen-Servomotor 109B und den C-Achsen-Servomotor 109C aus und treiben die Servomotoren an.
-
Auf diese Weise kann die numerische Steuervorrichtung 10 das Werkstück WK in eine kompliziertere Form bearbeiten durch Geben eines Befehls an die Werkzeugmaschine 100 über eine Distalendposition eines Werkzeugs 102 für Positionen auf den Linearachsen und Geben eines Befehls an die Werkzeugmaschine 100 über Stellungen des Werkzeugs 102 für die Rotationsachsen.
-
Wenn ein Werkstück WK bearbeitet wird, um eine ornamental gekrümmte Oberfläche aufzuweisen, wird im Allgemeinen ein Bearbeitungsprogramm hergestellt durch ein CAD/CAM-System oder dergleichen, um das Werkstück WK in winzige Blöcke entlang der gekrümmten Oberfläche einzuteilen und eine Sequenz von Punkten der distalen Endposition 102a des Werkzeugs 102 und die Stellung des Werkzeugs 102 in diesen Blöcken zu benennen. Im Allgemeinen wird eine Bearbeitung für eine Interpolation der Folge von Punkten, die von dem Bearbeitungsprogramm mit geraden Linien benannt werden, durch die numerische Steuervorrichtung 10 durchgeführt. Um eine bearbeitete Fläche des Werkstücks WK, das als Bearbeitungsergebnis erhalten wird, zu glätten, werden in diesem Fall die Blöcke feiner eingeteilt. Falls jedoch die Blöcke unnötigerweise fein eingeteilt werden, ist es wahrscheinlich, dass ein Datenvolumen des Bearbeitungsprogramms exzessiv groß wird und eine Berechnungsoperation für eine Programmlese-Analyse der numerischen Steuervorrichtung Zeit in Anspruch nimmt, was darin resultiert, dass es schwierig ist, eine vorbestimmte Bearbeitungsgeschwindigkeit zu realisieren.
-
Im Hinblick darauf wird eine Technik vorgeschlagen, um Folgen von Bearbeitungspunkten zu erzeugen, ohne exzessiv feines Einteilen von Blöcken und Interpolieren der Folgen von Punkten mit Kurven und nicht unter Verwendung gerader Linien durch die numerische Steuervorrichtung 10. In dem Fall des Bearbeitungsprogramms zum Benennen der Folge von Punkten der Distalendposition 102a des Werkzeugs 102 und der Stellung des Werkzeugs 102, ist es notwendig, während einer glatten Interpolationsbewegung der Distalendposition 102a des Werkzeugs 102, Bewegungen (Rotation) der Rotationsachse entsprechend der Stellung des Werkzeugs 102 in Synchronisation mit der Bewegung der linearen Achse glatt zu interpolieren. Eine Technik zum Realisieren dieser Interpolation wird benötigt.
-
Deshalb wird in der ersten Ausführungsform eine Werkzeug-Distalendpositionskurve assoziiert mit der Distalendposition 102a des Werkzeugs 102 erzeugt auf Basis einer Folge von Punkten benannter Positionen der linearen Achsen und gleichzeitig wird eine Werkzeug-Stellungskurve assoziiert mit der Stellung des Werkzeugs 102 erzeugt auf Basis nicht nur einer Folgen von Punkten benannter Positionen der Rotationsachse sondern auch der Folge von Punkten der benannten Positionen der linearen Achse, um darauf abzuzielen, während eine Bewegungs-Trajektorie des Werkzeug-Distalendes 102a geglättet wird, eine Bewegungs-Trajektorie eines Werkzeugstellungsvektors zu glätten, der die Stellung des Werkzeugs 102 in Synchronisation mit der Bewegung des Werkzeugdistalendes 102a anzeigt.
-
Das heißt, die numerische Steuervorrichtung gemäß der ersten Ausführungsform enthält zum Beispiel eine Programm-Eingabeeinheit, eine Distalendpositionskurven-Erzeugungseinheit, eine Werkzeugstellungskurven-Erzeugungseinheit, eine Interpolations-Berechnungseinheit und eine Interpolations-Ausgabeeinheit.
-
Die Programm-Eingabeeinheit liest eine Distalendposition und eine Stellung eines Werkzeugs, die durch kontinuierliche Blöcke in einem Bearbeitungsprogramm benannt werden, und erzeugt benannte Positionsfolgen der linearen Achsen und benannte Positionsfolgen von Rotationsachsen. Die Werkzeug-Distalendpositionskurven-Erzeugungseinheit erzeugt eine Werkzeug-Distalendpositionskurve auf Basis der benannten Positionsfolgen der linearen Achsen, die von der Programm-Eingabeeinheit erzeugt werden. Die Werkzeug-Distalenpositionskurve ist eine Kurve betreffend die Distalendposition 102a des Werkzeugs 102 und ist zum Beispiel eine glatte Kurve. Die Werkzeugstellungskurven-Erzeugungseinheit erzeugt eine Werkzeugstellungskurve auf Basis der benannten Positionsfolgen der linearen Achsen, die von der Programm-Eingabeeinheit erzeugt werden, und der benannten Positionsfolgen der Rotationsachsen, die von der Programm-Eingabeeinheit erzeugt werden. Die Werkzeugstellungskurve ist eine Kurve assoziiert mit der Bewegung der Distalendposition 102a des Werkzeugs 102, ist eine Kurve betreffend die Stellung des Werkzeugs 102 und ist zum Beispiel eine glatte Kurve. Die Interpolations-Berechnungseinheit berechnet, bei jedem Interpolationszyklus, Interpolationspunkte der Distalendposition einer 102a des Werkzeugs 102 aus der Werkzeug-Distalendpositionskurve. Die Interpolations-Berechnungseinheit berechnet, an jedem Interpolationszyklus, Interpolationspunkte der Stellung des Werkzeugs 102 aus der Werkzeugstellungskurve. Die Interpolations-Berechnungseinheit berechnet, an jedem Interpolations-Zyklus, Interpolationspunkte der Bearbeitungsposition MP der linearen Achsen auf Basis der Interpolationspunkte der Distalendposition 102a des Werkzeugs 102 und der Interpolationspunkte der Stellung des Werkzeugs 102. Die Interpolations-Ausgabeeinheit bewegt die linearen Achsen zu den Interpolationspunkten der Bearbeitungsposition MP, die von der Interpolations-Bearbeitungseinheit berechnet wurden. Die Interpolations-Ausgabeeinheit bewegt (rotiert) die Rotationsachsen zu den Interpolationspunkten der Stellung des Werkzeugs 102, die von der Interpolations-Berechnungseinheit berechnet wurden.
-
Die erste Ausführungsform ist, unter anderen Komponenten, zum Beispiel ausgestattet mit der Werkzeug-Distalendpositionskurven-Erzeugungseinheit und der Werkzeugstellungskurven-Erzeugungseinheit, deren Konzepte somit als Erstes in der ersten Ausführungsform beschrieben werden.
-
Gemäß einer öffentliche bekannten Kurventheorie (z.B. „Shape Processing Engineering (I)“, Fujio Yamaguchi, veröffentlicht durch Nikkan Kogy Shinbun, Ltd.) werden Punkten auf einer kubischen Spline-Kurve, die glatt n+1 Punkte P0, P1, P2, ..., und Pn, die in 3 dargestellt sind, durchlaufen, durch die folgende Formel (1) dargestellt in zum Beispiel einem Abschnitt, der in 4 mit den benannten Punkten Pj-1 bis Pj:
-
-
In Formel (1) stellt qj einen Einheitstangentenvektor einer kubischen Spline-Kurve an einem benannten Punkt Pj(xj, yj, zj) dar; und dj stellt eine Distanz von Pj-1 bis Pj dar und wird zum Beispiel durch die folgende Formel (2) dargestellt:
-
-
In der obigen Formel (1) stellt t einen Parameter einer Kurve dar und ist ein Wert in einem Bereich von 0 ≤ t ≤ 1. Die unter Verwendung von Formel (1) angezeigte Spline-Kurve läuft durch den benannten Punkt Pj. Solange der Einheitstangentenvektor qj geeignet eingestellt wird, ist die zweite Ableitung jedoch nicht stetig an den benannten Punkten. Eine Bedingung, unter der die zweite Ableitung an den benannten Punkten kontinuierlich ist, wird durch die folgende Formel (3) dargestellt:
-
-
Man beachte, dass, dass für die Punkte P0 und Pn eine Krümmung an den Endpunkten auf 0 eingestellt ist; und an eine Endpunktbedingung, die durch die folgenden Formeln (4a) und (4b) angezeigt wird, hinzugefügt wird:
-
-
-
Falls n+1 Tangentenvektoren qj berechnet werden können durch Lösen von n+1 simultanen Gleichungen der Formeln (3), (4a) und (4b), kann eine Spline-Kurve in dem gesamten Abschnitt unter Verwendung von Formel (1) berechnet werden.
-
Wenn die Spline-Kurve von Formel (1) in Komponenten der linearen Achsen (der X-Achse, der Y-Achse und der Z-Achse) zerlegt wird, wird die Spline-Kurve durch die folgende Formel (5) dargestellt:
-
-
Die Formeln (3), (4a) und (4b) sind Formeln unabhängig voneinander für jede Achsenkomponente der linearen Achsen mit dj der Formel (2) als gemeinsamem Term, die die Distanz zwischen den benannten Punkten anzeigt. Spline-Kurven werden unabhängig berechnet, assoziiert mit den linearen Achsen.
-
Eine Kombination einer linearen Achse und einer Rotationsachse wird dann überprüft. Wie in 3 gezeigt, ist es so eingestellt, dass ein Werkzeugstellungsvektor Vj, der eine Stellung des Werkzeugs 102 an einem Punkt Pj anzeigt, gegeben ist durch einen Winkel der B-Achse und der C-Achse, die die zwei Rotationsachsen sind. Eine Distanz zwischen Punkten in einem fünf-dimensionalen Raum wird definiert durch die folgende Gleichung (6) hinsichtlich einer benannten Folge von Punkten Pj(xj, yj, zj) einer linearen Achse und einer benannten Folge von Punkten Vj(bj, cj) eines Winkels, der die Stellung des Werkzeugs 102 darstellt.
-
-
In Formel (6) wird eine Differenz in einer Dimension zwischen der Länge der linearen Achse und dem Winkel der Rotationsachse angepasst durch Umwandeln der Länge und des Winkels als 1°=1mm.
-
In diesem Fall werden Formeln (1), (3), (4a) und (4b) definiert hinsichtlich von Achsenkomponenten der X-Achse, der Y-Achse, der Z-Achse, der B-Achse und der C-Achse durch Einstellen der Distanz dj zwischen der Sequenz von Punkten als dj' der Formel (6). Die Spline-Kurve einer Formel (1) kann in Komponenten jeder der Achsen zerlegt werden und berechnet werden, wie durch die folgende Formel (7) angezeigt:
-
-
Die Komponenten Pxj(t), Pyj(t) und Pzj(t) von x, y und z der Formel (7) unterscheiden sich jedoch von den Komponenten Pxj(t), Pyj(t), und Pzj(t) von x, y, z der Formel (5).
-
Ein integrierter Wert L der Bewegungsdistanz des Werkzeugdistalendes
102a wird hier betrachtet und als eine Achse angenommen, und 1 wird wie in Formel (8) gezeigt als Komponente des integrierten Werts L eingestellt:
-
In diesem Fall wird ein dreidimensionaler Raum von L-B-C betrachtet wie in 5 dargestellt und eine durch die folgende Formel (9) dargestellte Kurve wird als Spline-Kurve betrachtet, die glatt in dem L-B-C-Raum läuft:
-
-
In diesem Fall wird eine Distanz dj'' zwischen der Folge von Punkten dargestellt wie durch die folgende Formel (10) dargestellt:
-
-
In Formel (10) hält klarerweise die folgende Formel (11) :
-
-
Aus den Formeln (6), (10) und (11) kann erkannt werden, dass dj'=dj'' hält. Folglich stimmen die Komponenten Pb(t) und Pc(t) der B-Achse und der C-Achse der unter Verwendung von Formel (7) berechneten Spline-Kurve überein mit Komponenten der B-Achsen und C-Achsen der durch Verwendung von Formel (9) berechneten Spline-Kurve. Das heißt Pb(t) und Pc(t) der unter Verwendung von Formel (7) berechneten Spline-Kurve können als eine Gleichung betrachtet werden für eine Kurve, die sich glatt in Synchronisation mit der Bewegung der linearen Achse zwischen den benannten Folgen von Punkten ändert.
-
Falls die Komponenten Px(t), Py(t) und Pz(t) der linearen Achse der aus Formel (5) berechneten Spline-Kurve und die Komponenten Pb(t) und Pc(t) der aus Formel (7) berechneten Spline-Kurve kombiniert werden als Pj(t)=[Pxj(t), Pyj(t), Pzj(t), Pbi(t), Pcj(t)], während die linearen Achsen X, Y und Z glatt mit dieser Kurve bewegt werden, kann diese Kurve eine Kurve beschreiben, auf der die Rotationsachsen B und C sich glatt in Synchronisation mit der Bewegung bewegen.
-
Somit berechnet die Werkzeug-Distalendpositionskurven-Erzeugungseinheit in der ersten Ausführungsform zum Beispiel die Spline-Kurve durch Verwenden der Formel (5) aus der Folge von Punkten der Position der linearen Achsen; die Werkzeugstellungskurven-Erzeugungseinheit erzeugt die Werkzeugstellungskurve durch Verwenden der Formel (7) auf Basis der kombinierten Achsen der linearen Achse und der Rotationsachsen aus der Folge von Punkten der benannten Positionen der linearen Achsen und der Rotationsachsen.
-
Insbesondere enthält die numerische Steuervorrichtung 10 wie in 1 gezeigt eine Programm-Eingabeeinheit 2, eine Kurvenerzeugungseinheit 3, eine Interpolations-Berechnungseinheit 6 und eine Interpolations-Ausgabeeinheit 7. Das Bezugszeichen 9 bezeichnet eine Servo-Antriebseinheit, die einen nicht gezeigten Motor antreibt auf Basis einer Position, die zu jeder Abtastungszeit benannt wird; Bezugszeichen 8 Bezugszeichen eine Datentabelle, in der Daten für eine Kurven-Erzeugungsverarbeitung gespeichert sind. Die Kurvenerzeugungseinheit 3 enthält eine Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 und eine Werkzeugstellungskurven-Erzeugungseinheit 5.
-
Die Programm-Eingabeeinheit 2 liest das Bearbeitungsprogramm 1. Die Kurvenerzeugungseinheit 3 erzeugt aus dem von der Programm-Eingabeeinheit 2 gelesenen Bearbeitungsprogramm 1 eine Kurve, die eine benannte Folge von Punkten des Bearbeitungsprogramms glatt verbindet. Die Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 der Kurvenerzeugungseinheit 3 erzeugt zum Beispiel eine Kurve, die benannte Positionen des Werkzeugdistalendes glatt verbindet. Die Werkzeugstellungskurven-Erzeugungseinheit 5 der Kurvenerzeugungseinheit 3 erzeugt eine Kurve, die benannte Winkel der Stellung des Werkzeugs glatt verbindet. Die Interpolations-Berechnungseinheit 6 berechnet eine interpolierte Position zu jeder Abtastzeit entlang der von der Kurvenerzeugungseinheit 3 erzeugten Kurve. Die Interpolations-Ausgabeeinheit 7 gibt die zu jeder Abtastzeit berechnete interpolierte Position an die Servo-Antriebseinheit 9 als eine benannte Position aus.
-
Das Bearbeitungsprogramm 1 enthält zum Beispiel Inhalte, die wie in 6 gezeigt spezifiziert sind. „G43.4“ stellt eine Werkzeugdistalendpunkt-Steuerung dar und zeigt an, dass Koordinatenwerte von X, Y und Z, die in Zeilen unter „G43.4“ beschrieben sind, Koordinaten der Distalendposition 102a des in 3 gezeigten Werkzeugs 102 sind. „G01“ stellt eine lineare Interpolation dar und zeigt an, dass die Distalendposition 102a sich linear zu den Koordinatenwerten von Achsen bewegt, die in jedem der Blöcke benannt sind. Ein G-Code zum Benennen einer Bewegung entlang einer glatten Kurve ist als „G06.1“ bezeichnet. In einem Platz, wo eine Kurven-Interpolation gewünscht ist, wird „G06.1“ von dem Bearbeitungsprogramm 1 benannt. Punkte, die die Kurve danach durchläuft, werden von dem Programm als Koordinatenwerte der Achsen benannt. Wenn die Kurven-Interpolation endet und wenn ein anderer Interpolationsmodus, wie zum Beispiel eine lineare Interpolation von „G01“, von dem Programm benannt wird, wird die Kurven-Interpolation an diesem Punkt abgebrochen. In dem in 6 gezeigten Bearbeitungsprogramm 1 wird der Endpunkt P0 der letzten linearen Interpolation vor „G06.1“ als ein Startpunkt einer Kurve eingestellt. P1, P2, P3, ..., und Pn werden als Durchlaufpunkte der Kurven-Interpolation programmiert, die Kurven-Interpolation ändert sich zu einem anderen Interpolationsmodus „G01“ und die Kurven-Interpolation endet.
-
Man beachte, dass die Kurven-Interpolation durch „G01“ neben Pn abgebrochen wird. Die Kurven-Interpolation kann jedoch durch ein anderes „G0“ (schnell vorwärts), „G2/G3“ (zirkuläre Interpolation) und dergleichen abgebrochen werden. Durch Benennen von „G06.1“ kann eine neue Kurve, die von Pn startet, als ein benanntes Programm eingestellt werden. Es ist auch möglich, einen speziellen G-Code zum expliziten Abbrechen der Kurven-Interpolation zuzuweisen.
-
Die Programm-Eingabeeinheit 2 liest das Bearbeitungsprogramm 1 Zeile für Zeile. Wenn ein G-Code identifiziert wird (in dieser Ausführungsform, „G06.1“), der die Kurven-Interpolation anzeigt, liest die Programm-Eingabeeinheit 2 das Bearbeitungsprogramm 1 bis eine Folge einer Kurven-Interpolation abgebrochen wird und stellt Daten in die Datentabelle 8 ein. Inhalte der Datentabelle 8 werden in 7 dargestellt.
-
Der Datensatz in der Datentabelle 8 sind Koordinatenwerte von Achsen X, Y, Z, B und C an (n+1)-Punkten von P0 bis Pn und Distanzen dj und dj' zwischen den zwei Punkten, dj stellt eine Distanz von Pj-1 bis Pj dar und wird durch die obige Formel (2) dargestellt. dj stellt eine Zwischenpunktdistanz eines fünfdimensionalen Raumes dar, in dem fünf Achsen (d.h. drei Linearachsen und zwei Rotationsachsen) kombiniert werden hinsichtlich einer Folge von Punkten Pj (xj, yj, zj) einer linearen Achse und einer benannten Folge von Punkten Vj (bj, cj) eines eine Werkzeugstellung darstellenden Winkels. Die Zwischenpunktdistanz dj' wird durch die obige Formel (6) dargestellt. Eine Differenz in einer Dimension der Länge der linearen Achse und der Winkel der Rotationsachse wird angepasst durch zum Beispiel Umwandeln der Länge und des Winkels als 1°=1mm.
-
Wenn die in 7 dargestellte Datentabelle 8 erzeugt wird, startet die in 1 dargestellte Programm-Eingabeeinheit 2 zum Beispiel die Kurvenerzeugungseinheit 3.
-
In der Kurvenerzeugungseinheit 3 erzeugt zunächst die Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 aus der Datentabelle 8 eine Kurvengleichung, die glatt durch die Werkzeugdistalendpunkte läuft. Als ein Verfahren der Erzeugung, aus einem Koordinatenwert Pj (xj, yj, zj) des Werkzeugdistalendes und der Distanz dj, die zischen der benannten Folge von Punkten des Werkzeugdistalendpunkts ist, wenn ein Tangentenvektor qj an genannten Punkten Pi dargestellt wird als qj = (qxj, qyj, qzj), löst die Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 die (n+1) gleichzeitigen Gleichungen betreffend jeden von X, Y und Z gemäß der obigen Formel (3), in der die zweite Ableitung einer Kurvenlinie stetig ist, und Formeln (4a) und (4b), die die Endpunktbedingungen herstellen, unter denen Krümmungen 0 sind an dem Startpunkt Pn und dem Endpunkt Pn der Kurve. Folglich werden (n+1)-Tangentenvektoren qj = (qxj, qyj, qzj) (n=0, 1, ..., und n) berechnet. Das berechnete Ergebnis wird in der Datentabelle zum Beispiel als Tangentenvektoren (siehe 7) der linearen Achsen gespeichert.
-
Danach erzeugt die Werkzeugstellungskurven-Erzeugungseinheit 5 aus der Datentabelle 8 eine Kurvengleichung, in der sich Werkzeugstellungen glatt ändern, während sie durch benannte Punkte laufen. Als ein Verfahren des Erzeugens, wenn benannte Punkte Pj, die aus Koordinatenwerten des Werkzeugdistalendes und Koordinatenwerten der Werkzeugstellung bestehen, dargestellt geänderte Unterlagen werden als Pj=(xj, yj, zj, Bj, Cj), wird eine Distanz dj', zwischen einer benannten Folge von Punkten, die durch Kombinieren von drei Linearachsen und zwei Rotationsachsen erhalten wird, auf dj eingestellt (siehe Formel 6 und 5), und Tangentenvektoren an den benannten Punkten Pj werden dargestellt als qj = (qxj, qyj, qzj, qbj, qcj) aus der obigen Formel (3) in der eine zweite Ableitung einer Kurvenlinie stetig ist und Formel (4a) und (4b) die Endpunktbedingungen herstellen, unter denen Krümmungen 0 sind an dem Startpunkt P0 und dem Endpunkt Pn der Kurve, berechnet die Werkzeugstellungskurven-Erzeugungseinheit 5 (n+1) Tangentenvektoren qj' = (qbj, qcj) (n=0, 1, ..., und n) aus den (n+1) gleichzeitigen Gleichungen betreffend jede von nur Komponenten der zwei Rotationsachsen, das heißt der B-Achse und der C-Achse. Die berechneten Ergebnisse werden in der Datentabelle zum Beispiel als Tangentenvektoren (siehe 7) der Rotationsachsen gespeichert.
-
Auf diese Weise werden Komponenten von Achsen eines Tangentenvektors einer glatten Kurve abgeleitet.
-
Danach wird eine Formel einer kubischen Spline-Funktion eingestellt, wie durch die folgende Formel (16) angezeigt:
-
Wenn Formel (16) einmal abgeleitet wird, wird Formel (17) erhalten.
-
Durch Verwenden von Formel (16) ist ein Koordinatenwert eines Startpunkts der Kurve wie durch die folgende Gleichung (18a) angezeigt:
-
Aus Formel (16) ist ein Koordinatenwert eines Endpunkts der Kurve durch die folgende Formel (18b) angezeigt:
-
Aus Formel (17) ist eine Komponente eines Tangentenvektors am Startpunkt der Kurve wie durch die folgende Gleichung (18c) angezeigt:
-
Aus Gleichung (17) ist eine Komponente eines Tangentenvektors an dem Endpunkt der Kurve wie durch die folgende Formel (18d) angezeigt:
-
In der Datentabelle
8 werden Koordinatenwerte der Punkte und Winkelachsen-Komponenten des Tangentenvektors berechnet. Deshalb werden kubische Spline-Funktionen der Achsen in n Abschnitten durch Verwenden der Koordinatenwerte und Winkelachsen-Komponenten abgeleitet.
-
Wenn die Kurvenerzeugungseinheit 3 Kurvengleichungen der Achsen in allen Richtungen ableitet, führt die Interpolations-Berechnungseinheit 6 eine InterpolationsVerarbeitung gemäß einem festen Abtastzyklus durch.
-
Die Interpolationsverarbeitung wird durchgeführt gemäß einer nachstehend beschriebenen Prozedur. Wenn eine Distanz ΔL (mm) in Bewegung in einer festen Abtastungszeit ΔT (Sekunden) berechnet wird hinsichtlich einer benannten Bewegungsgeschwindigkeit F (mm/min) des in Programm
1 beschriebenen Werkzeugdistalendes, wird Formel (20) erhalten.
-
In Formel (20) wird F als feste benannte Programmgeschwindigkeit eingestellt. Wenn eine vorbestimmte Beschleunigung und Abbremsen hinzugefügt werden, kann die Geschwindigkeit, die der Beschleunigung und dem Abbremsen unterworfen ist, jedoch als F eingestellt werden.
-
Danach wird die Position berechnet, die um ΔL auf der Kurve von der gegenwärtigen Position fortgeschritten ist. Unter der Annahme, dass die gegenwärtige Position eine Position bei A=P
j(ta) ist, die gegeben ist durch t=ta auf der Kurvenlinie P
j(t), ist eine Position B zu berechnen, die Δ von der gegenwärtigen Position fortgeschritten ist. Um die Position B zu berechnen, ist es nur notwendig, einen Parameter tb der Kurve zum Geben einer Position B=P
j(tb) auf der Kurve zu erhalten. Ein Startpunkt der Kurve P
j(t) ist P
j-1=P
j(0), ein Endpunkt der Kurve P
j(t) ist P
j=P
j(1), und eine Distanz von P
j-1 bis P
j ist d
j. Wenn der Parameter t auf der Kurve sich von 0 bis 1 ändert, bewegt sich deshalb das Werkzeugdistalende auf der Kurve P
j(t) um die Distanz d
j. Um das Werkzeugdistalende um ΔL auf der Kurve zu bewegen, wird deshalb zunächst der Parameter t geändert durch Δt=ΔL/d
j. Folglich wird P
j(tb) durch die folgende Formel (21) berechnet:
-
Durch die folgende Formel 822) wird eine Distanz Leng berechnet, die das Werkzeugdistalende tatsächlich von Pj(ta) bewegt.
-
-
Wenn eine Differenz zwischen der Distanz Leng der tatsächlichen Bewegung, die in Formel (22) angezeigt wird, und ΔL gleich oder größer als ein erlaubter Wert ist, wird Δt korrigiert als Δt=Δt×ΔL/Leng, tb der Formel (21) wird korrigiert durch Verwenden des korrigierten Δt und Pj(tb) wird erneut berechnet. Diese Berechnung wird wiederholt, bis die Differenz zwischen der Länge Leng der tatsächlichen Bewegung von Pj(ta) bis Pj(tb) und ΔL sich verringert, um gleich oder kleiner als der erlaubte Wert zu sein.
-
Nach einer Berechnung eines Punktes B=Pj(tb)=(fjx(tb), fjy(tb), fjz(tb)), zu dem sich das Werkzeugdistalende von dem Punkt A um ΔL auf der Kurve bewegt, wird der Kurven-Parameter tb in der Kurvengleichung (siehe Formel 19d) und (19e)) der Werkzeugstellung ersetzt und eine Werkzeugstellungskurve Vj(tb)=(fjb(tb), fjc(tb)) entsprechen dem Punkt Pj(tb) wird berechnet. Die Werkzeugstellungskurve Vj(t) wird berechnet, um mit der Bewegung des Werkzeugdistalendes auf der Kurve Pj(t) assoziiert zu sein. Durch Geben eines Parameters t, der der gleiche ist wie der Kurven-Parameter t zum Geben der Position des Werkzeugdistalendes, zu der Werkzeugstellungskurve, um eine Stellung des Werkzeugdistalendes zu berechnen, ist es deshalb möglich, eine Position zu berechnen, an der sich die Werkzeugstellung glatt in Übereinstimmung mit einer glatten Bewegung des Werkzeugdistalendes bewegt.
-
Wenn die Positionen der Achsen X, Y, Z, B und C, die sich auf der Kurve zu jedem Abtastungszyklus bewegen, wie oben beschrieben berechnet werden, berechnet die Interpolations-Berechnungseinheit 6 die in 3 dargestellten Bearbeitungsposition MP durch die Werte der Positionen X, Y und Z des Werkzeugdistalendes und der Werkzeugstellung B, C und gibt einen Befehl der Werte der Achsen, das heißt die Bearbeitungspositionen X, Y, und Z und die Winkel B und C der Werkzeugstellung, an die Servo-Antriebseinheit 9. Die Servo-Antriebseinheit 9 treibt die Servomotoren der Achsen an, um eine benannte Positionen zu erhalten.
-
Man beachte, dass während der Beschreibung der Verarbeitung die gegenwärtige Position beschrieben wird als A=Pj(ta). Wenn die Verarbeitung zur Interpolation der Kurve zum ersten Mal startet, ist jedoch j=0 und ta=0. Das heißt, A=P0(0), der ein Startpunkt einer Folge von Kurven ist.
-
Wenn die verbleibende Distanz von dem Punkt A zu dem Kurvenendpunkt Pj(1) des Abschnitts kleiner als ΔL ist, ist es ausreichend, einen Wert einzustellen, der erhalten wird durch Subtrahieren der verbleibenden Distanz von ΔL, auf ΔL'; ΔL' au der folgenden Formel (23) zu berechnen; den Startpunkt A als einen Startpunkt Pj+1(0) der nächsten Kurve Pj+1(t) einzustellen; und eine Position Pj+1(tb) zu berechnen, zu der sich das Werkzeugdistalende um ΔL', auf Pj+1(t) bewegt.
-
geänderte Unterlagen
-
-
Durch den oben beschriebenen Prozess ist es möglich, die Werkzeug-Distalendposition entlang der glatten Kurve zu interpolieren, die das durch das Programm benannte Distalendposition läuft, und es ist möglich, ein Interpolationsergebnis zu erhalten zum glatten Ändern der zwei Rotationsachsen, die die Werkzeugstellung geben, in Synchronisation mit der Bewegung des Werkzeugdistalendes, während eine von dem Bearbeitungsprogramm benannte Stellung durchlaufen wird. Das heißt, es ist möglich, eine Bewegungs-Trajektorie des Werkzeugstellungsvektor V zu glätten.
-
Wie oben beschrieben, erzeugt die Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 in der numerischen Steuervorrichtung 10, auf Basis der benannten Positionsfolge der linearen Achsen, die von der Programm-Eingabeeinheit 2 erzeugt werden, eine Werkzeug-Distalendpositionskurve (z.B. Formeln (19a), (19b) und 19(c)) betreffend die Werkzeug-Distalendposition. Die Werkzeugstellungskurven-Erzeugungseinheit 5 erzeugt, auf Basis der benannten Positionsfolge der linearen Achsen, die von der Programm-Eingabeeinheit 2 erzeugt werden, mit der benannten Positionsfolge der Rotationsachsen, die von der Programm-Eingabeeinheit 2 erzeugt werden, eine Werkzeugstellungskurve (z.B. Formel (19d) und (19e)) betreffend die Werkzeugstellung, die mit der Bewegung der Werkzeug-Distalendposition assoziiert ist. Die Interpolations-Berechnungseinheit 6 berechnet einen Interpolationspunkt der Distalendposition 102a des Werkzeugs 102 aus der von der Werkzeug-Distalendpositionskurven-Erzeugungseinheit 4 erzeugten Distalendpositionskurve; berechnet einen Interpolationspunkt der Stellung des Werkzeugs 102 aus der von der Werkzeugstellungskurven-Erzeugungseinheit 5 erzeugten Werkzeugstellungskurve; und berechnet einen Interpolationspunkt der Bearbeitungsposition MP der linearen Achse auf Basis des Interpolationspunkts der Distalendposition 102a des Werkzeugs 102 und des Interpolationspunkts der Stellung des Werkzeugs 102. Die Interpolations-Ausgabeeinheit 7 bewegt die lineare Achse zu dem Interpolationspunkt der von der Interpolations-Berechnungseinheit 6 berechneten Maschinenposition und bewegt die Rotationsachse zu dem Interpolationspunkt der von der Interpolations-Berechnungseinheit 6 berechneten Werkzeugstellung. Folglich wird die Werkzeugstellungskurve abgeleitet in Übereinstimmung mit der linearen Achsenbewegung des Werkzeugdistalendpunkts. Deshalb ist es zum Beispiel möglich die Werkzeug-Distalenpositionskurve, die auf Basis der linearen Achse erzeugt wird, und die Werkzeugstellungskurve, die auf Basis sowohl der linearen Achse als auch der Rotationsachse erzeugt wird, zu kombinieren, und ist es möglich, die Linearachse und die Rotationsachse jeweils zu interpolieren. Als Resultat ist es möglich, einen Werkzeugstellungsvektor in Übereinstimmung mit der Bewegung des Werkzeugdistalendes glatt zu bewegen. Das heißt, es ist möglich, eine Bewegungs-Trajektorie des Werkzeugstellungsvektors zu glätten.
-
In der ersten Ausführungsform erzeugt die Werkzeugstellungskurven-Erzeugungseinheit 5 eine Werkzeugstellungskurve unter Verwendung der kombinierten Achsen der linearen Achse und der Rotationsachse. In dem fünfdimensionalem Raum, in dem die drei linearen Achsen und die zwei Rotationsachsen kombiniert werden, berechnet die Werkzeugstellungskurven-Erzeugungseinheit 5 zum Beispiel Tangentenvektoren der zwei Rotationsachsen, so dass die zweiten Ableitungswerte der Kurve stetig sind an den genannten Punkten, die aus Koordinatenwerten des Werkzeugdistalendes und Koordinatenwerten der Werkzeugstellung bestehen, um die Kurvenformel zu erhalten, die die Werkzeugstellung anzeigt, durch Verwenden der zweiten Ableitungen der Tangentenvektoren der zwei Rotationsachsen. Folglich ist es möglich, die Werkzeugstellungskurve zu erzeugen auf Basis sowohl der benannten Positionsfolge der linearen Linien als auch der benannten Positionsfolge der Rotationsachsen. Es ist möglich, die Werkzeugstellungskurve mit der Bewegung der Werkzeug-Distalendposition zu assoziieren. Als Resultat ist es möglich, die Werkzeug-Distalendposition entlang einer glatten Kurve zu interpolieren, die die Distalendposition, die von dem Bearbeitungsprogramm benannt wird, durchläuft, und es ist möglich, ein Interpolationsergebnis zu erhalten zum glatten Ändern der zwei Rotationsachsen zum Geben der Werkzeugstellung in Synchronisation mit der Bewegung des Werkzeugdistalendes, während die von dem Bearbeitungsprogramm benannten Stellungen durchlaufen werden.
-
Zweite Ausführungsform
-
Eine numerische Steuervorrichtung lOi gemäß einer zweiten Ausführungsform wird beschrieben. Im Folgenden werden hauptsächlich Unterschiede von der ersten Ausführungsform beschrieben.
-
In der ersten Ausführungsform werden Werkzeugstellungskurven erzeugt unter Verwendung zum Beispiel der fünf kombinierten Achsen, die durch Kombinieren der drei linearen Achsen und der zwei Rotationsachsen erhalten werden. In der zweiten Ausführungsform werden die Rotationsachsen jedoch mit einer linearen Achse einzeln kombiniert.
-
Zunächst wird ein Konzept in der zweiten Ausführungsform beschrieben.
-
In der folgenden Beschreibung werden zum Beispiel zwei Rotationsachsen mit drei linearen Achsen einzeln kombiniert.
-
Distanzen zwischen Punkten in einem vier-dimensionalen Raum werden durch die folgenden Formeln (12a) und (12b) definiert hinsichtlich einer benannten Folge von Punkten Pj(xj, yj, zj) einer linearen Achse und einer benannten Folge von Punkten Vj(bj, cj) eines Winkels, der eine Werkzeugstellung darstellt.
-
-
In Formel (12a) stellt dbj eine Zwischenpunktdistanz in einem vier-dimensionalen Raum dar, in dem die B-Achse der Rotationsachse mit den linearen Achsen x, y und z kombiniert wird. In Formel (12) stellt dcj eine Zwischenpunktdistanz in einem vier-dimensionalen Raum dar, indem die C-Achse der Rotationsachsen mit den linearen Achsen x, y und z kombiniert wird. Eine Differenz in einer Dimension zwischen der Länge der linearen Achsen und dem Winkel der Rotationsachsen wird zum Beispiel angepasst durch Umwandeln der Länge und des Winkels als 1°=1mm.
-
In diesem Fall werden die obigen Formeln (1), (3), (4a) und (4b) definiert für jede der Achsenkomponenten x, y, z und b durch Einstellen der Distanz dj zwischen der Folge von Punkten auf dbj der Formel (12a). Die Spline-Kurve der Formel (1) kann zerlegt werden in Komponenten der Achsen und berechnet werden, wie durch die folgende Formel (13a) angezeigt:
-
-
Die Komponenten Pxj(t), Pyj(t) und Pzj(t) von X, Y und Z der Formel (13a) unterscheiden sich von Pxj(t), Pyj(t) und Pzj(t) der Formeln (5) und (7). Die Komponente Pbj(t) von B der Formel (13a) unterscheidet sich von Pbj(t) der Formel (7).
-
Die Komponente 1, die in einer Situation erhalten wird, wo der integrierte Wert L der Bewegungsdistanz des Werkzeugdistalendes betrachtet wird, um als eine Achse angenommen zu werden, wird in der obigen Formel (8) dargestellt.
-
In diesem Fall wird eine durch die folgende Formel (14) dargestellte Kurve betrachtet als eine Spline-Kurve, die eine zweidimensionale Ebene von L-B wie in 9 dargestellt glatt durchläuft:
-
-
In diesem Fall wird eine Distanz dj', zwischen der Folge von Punkten dargestellt, wie durch die folgende Gleichung (15a) dargestellt:
-
-
In Formel (15a) hält klar die Formel (11).
-
Gemäß Formel (6), (15a) und (11) wird nun verstanden, dass dbj=dgj' hält. Folglich stimmt die B-Achsenkomponente Pbj(t) der unter Verwendung von Formel (14a) berechneten Spline-Kurve mit der B-Achsenkomponente der unter Verwendung von Formel (13a) berechneten Spline-Kurve überein. Das heißt, Pbj(t) der unter Verwendung von Formel (13a) berechneten Spline-Kurve kann betrachtet werden als eine Kurvengleichung, in der die B-Achse der Rotationsachse sich glatt ändert in Synchronisation mit der Bewegungsrichtung der designierten Folge von Punkten der linearen Achsen.
-
Betreffend die C-Achse, werden ähnlich Formel (1), (3), (4a) und (4b) definiert auf deren Achsenkomponenten x, y, z, und c durch Einstellen der Distanz dj zwischen der Folge von Punkten auf dcj der Formel (12b). Die Spline-Kurve der Gleichung (1) kann zerlegt werden in Komponenten der Achsen und berechnet werden, wie durch die folgende Formel (13b) angezeigt:
-
-
Wie in dem Fall der B-Achse, kann die C-AchsenKomponente Pcj(t) der Formel (13b) betrachtet werden als Kurven-Gleichung, in der die C-Achse der Rotationsachsen sich glatt bewegt in Synchronisation mit der Bewegung zwischen der benannten Folge von Punkten der linearen Achsen.
-
Folglich leitet die Distalendpositionskurven-Erzeugungseinheit in der zweiten Ausführungsform die Spline-Kurve ab durch Gleichung (5) aus der Folge von Punkten der benannten Position der linearen Achsen. Die Werkzeugstellungskurven-Erzeugungseinheit erzeugt, aus der Folge von Punkten der benannten Positionen der linearen Achsen und der Rotationsachsen, die Werkzeugstellungskurve durch Formeln (13a) und (13b) auf Basis der kombinierten Achsen, die erhalten werden durch einzelnes Kombinieren der Rotationsachsen mit den linearen Achsen.
-
Insbesondere unterscheidet sich der Betrieb der Werkzeugstellungskurven-Erzeugungseinheit 5i von dem Betrieb in der ersten Ausführungsform wie in 9 gezeigt. Inhalte der Datentabelle 8i unterscheiden sich von den Inhalten in der ersten Ausführungsform wie in 10 gezeigt.
-
Das heißt, unter Datensätzen der Datentabelle 8i durch die Programm-Eingabeeinheit 2, stellt dbj eine Zwischenpunktdistanz in einem vier-dimensionalen Raum dar, indem die vier Achsen, das heißt die drei linearen Achsen und die B-Achsen der Rotationsachsen kombiniert werden für die benannte Folge von Punkten Pj(xj, yj, zj) der linearen Achsen und der benannten Folge von Punkten Vj(bj, cj) des die Werkzeugstellung darstellenden Winkels und wird dargestellt durch die obige Formel (12a). dcj stellt einen Zwischenpunktdistanz in einem vier-dimensionalen Raum dar, indem die vier Achsen, das heißt die drei linearen Achsen und die B-Achse der Rotationsachsen, kombiniert werden für die benannte Folge von Punktn Pj(xj, yj, zj) der linearen Achse und der benannten folge von Punkten Vj(bj, cj) des die Werkzeugstellung darstellenden Winkels und wird durch die obige Formel (12b) dargestellt.
-
In der Kurvenerzeugungseinheit 3 erzeugt die Werkzeugstellungskurven-Erzeugungseinheit 5i aus der Datentabelle 8 eine Kurven-Gleichung, in der sich die Werkzeugstellung glatt ändert, während sie durch benannte Punkte läuft. Als ein Verfahren der Erzeugung werden hier benannte Punkte Pj', bestehend aus Koordinatenwerten des Werkzeugdistalendes und Koordinatenwerten eines Teils der Werkzeugstellung dargestellt als Pj'=(xj, yj, zj, Bj); eine Distanz dbj zwischen benannter Folge von Punkten, die erhalten wird durch Kombinieren der drei linearen Achsen und der B-Achse der Rotationsachsen, wird auf dj eingestellt (siehe Formel (12a) und 5); und Tangentenvektoren an benannten Punkten Pj', werden dargestellt als qj' = (qxj, qyj, qzj, qbj). Dann werden aus Formel (3), in der die zweite Ableitung einer Kurvenlinie stetig ist und Formeln (4a) und (4b), die Endpunktbedingungen sind, unter denen Krümmungen 0 sind an einem Startpunkt P0' und einem Endpunkt Pn', der Kurve, Komponenten qbj' (n=0, 1, ..., und n) der (n+1) Tangentenvektoren aus den (n+1) gleichzeitigen Gleichungen betreffend nur Komponenten der B-Achse berechnet. Dann wird ein berechnetes Ergebnis in der Datentabelle 8i als eine B-Achsenkomponente qb (siehe 10) der Tangentenvektoren der Rotationsachsen gespeichert.
-
Danach wird angenommen, dass benannte Punkten Pj'' bestehend aus Koordinatenwerten des Werkzeugdistalendes und Koordinatenwerten eines Teils der Werkzeugstellung dargestellt werden als Pj''(Xj, Yj, Zj, Cj); eine Distanz dcj zwischen einer benannten Folge von Punkten, die durch Kombinieren der drei linearen Achsen und der C-Achse der Rotationsachsen erhalten werden, wird auf dj eingestellt (siehe Formeln (12b) und 9); und Tangentenvektoren an den benannten Punkten Pj'', werden dargestellt als qj=(qxj, qyj, qzj, qcj,). Durch Verwenden von Formel (3), in der eine zweite Ableitung einer Kurvenlinie stetig ist und Formeln (4a) und (4b), die Endpunktbedingungen sind, unter denen Krümmungen 0 sind an einem Startpunkt P0'' und einem Endpunkt Pn'' der Kurve, berechnet die Werkzeugstellungskurven-Erzeugungseinheit 5i qcj' (n=0, 1, ..., und n) von (n+1) Tangentenvektoren der (n+1) gleichzeitigen Gleichungen betreffend nur Komponenten der C-Achse. Das berechnete Ergebnis wird in der Datentabelle 8i als C-AchsenKomponente qc (siehe 10) eines Tangentenvektors der Rotationsachsen gespeichert.
-
Wie oben beschrieben, führt die Werkzeugstellungskurven-Erzeugungseinheit 5i in der zweiten Ausführungsform die Verarbeitung durch zum Erzeugen, für jede einer Vielzahl von Rotationsachsen, einer Werkzeugstellungskurve unter Verwendung von kombinierten Achsen einer Rotationsachse und linearen Achsen, um eine Rotationsachsenkomponente der Werkzeugstellungskurve zu extrahieren. Folglich ist es möglich, die Bewegung der Rotationsachse, die die ..? bildet, zu einer glatten Bewegung zu machen, die mit der Bewegung der Werkzeug-Distalendposition assoziiert ist. Als Ergebnis ist es möglich, die Werkzeug-Distalendposition entlang einer glatten Kurve zu interpolieren, die durch eine von einem Bearbeitungsprogramm benannter Distalendposition läuft, und es ist weiterhin möglich, ein Interpolationsergebnis zu erhalten zum glatten Ändern einer Rotation der zwei Achsen, die eine Werkzeugstellung geben, in Synchronisation mit der Bewegung des Werkzeugdistalendes, während dieses durch eine von dem Bearbeitungsprogramm benannte Stellung läuft.
-
Gewerbliche Anwendbarkeit
-
Wie oben beschrieben, ist die numerische Steuervorrichtung gemäß der vorliegenden Erfindung nützlich für eine numerische Steuerung einer Werkzeugmaschine.
-
Bezugszeichenliste
-
- 1
- Bearbeitungsprogramm
- 2
- Programm-Eingabeeinheit
- 3
- Kurvenerzeugungseinheit
- 4
- Werkzeug-Distalendpositionskurven-Erzeugungseinheit
- 5, 5i
- Werkzeugstellungskurven-Erzeugungseinheit
- 6
- Interpolations-Berechnungseinheit
- 7
- Interpolations-Ausgabeeinheit
- 8, 8i
- Datentabelle
- 9
- Servo-Antriebseinheit
- 10, 10i
- Numerische Steuervorrichtung
- 100
- Werkzeugmaschine
- 101
- Plattform
- 102
- Werkzeug
- 102a
- Distalendposition