DE112012006583B4 - Numerische Steuervorrichtung - Google Patents

Numerische Steuervorrichtung Download PDF

Info

Publication number
DE112012006583B4
DE112012006583B4 DE112012006583.2T DE112012006583T DE112012006583B4 DE 112012006583 B4 DE112012006583 B4 DE 112012006583B4 DE 112012006583 T DE112012006583 T DE 112012006583T DE 112012006583 B4 DE112012006583 B4 DE 112012006583B4
Authority
DE
Germany
Prior art keywords
tool
curve
axis
distal end
named
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112012006583.2T
Other languages
English (en)
Other versions
DE112012006583T5 (de
Inventor
c/o Mitsubishi Electric Corpora Fujino Daisuke
c/o Mitsubishi Electric Corpor Iuchi Yukihiro
c/o Mitsubishi Electric Corporati Okuma Kenji
c/o Mitsubishi Electric Corpor Sato Tomonori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112012006583T5 publication Critical patent/DE112012006583T5/de
Application granted granted Critical
Publication of DE112012006583B4 publication Critical patent/DE112012006583B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation

Abstract

Numerische Steuervorrichtung (10, 10i), die eine Maschine, die ein Werkzeug, eine lineare Achse und eine Rotationsachse aufweist, auf Basis eines Bearbeitungsprogramms numerisch steuert, das einen Befehl für eine Werkzeug-Distalendposition, die durch eine Position der linearen Achse bestimmt wird, und einen Befehl für eine Werkzeugstellung, die durch einen Rotationswinkel der Rotationsachse bestimmt wird, enthält, wobei die numerische Steuervorrichtung (10, 10i) umfasst:eine Programm-Eingabeeinheit (2), die eine Werkzeug-Distalendposition und eine Werkzeugstellung liest, die in kontinuierlichen Blöcken in dem Bearbeitungsprogramm benannt sind, und benannte Positionsfolgen der linearen Achse und benannte Positionsfolgen der Rotationsachse erzeugt;eine Distalendpositionskurven-Erzeugungseinheit (4), die auf Basis der erzeugten benannten Positionsfolgen der linearen Achse eine Werkzeug-Distalendpositionskurve betreffend die Werkzeug-Distalendposition erzeugt;eine Werkzeugstellungskurven-Erzeugungseinheit (5, 5i), die auf Basis der erzeugten benannten Positionsfolgen der linearen Achse und der erzeugten benannten Positionsfolgen der Rotationsachsen eine Werkzeugstellungskurve betreffend die Werkzeugstellung assoziiert mit Bewegungen der Werkzeug-Distalendposition erzeugt;eine Interpolations-Berechnungseinheit (6), die bei jedem Interpolationszyklus,einen Interpolationspunkt der Werkzeug-Distalendposition aus der Werkzeug-Distalendpositionskurve berechnet,einen Interpolationspunkt der Werkzeugstellung aus der Werkzeugstellungskurve berechnet, undeinen Interpolationspunkt einer Maschinenposition der linearen Achse in Übereinstimmung mit dem Interpolationspunkt der Werkzeug-Distalendposition und dem Interpolationspunkt der Werkzeugstellung berechnet; undeine Interpolations-Ausgabeeinheit (7), diedie lineare Achse zu dem berechneten Interpolationspunkt der Maschinenposition bewegt unddie Rotationsachse zu dem berechneten Interpolationspunkt der Werkzeugstellung bewegt,wobei die Distalendpositionskurven-Erzeugungseinheit (4) die Werkzeug-Distalendpositionskurve auf Basis der erzeugten benannten Positionsfolgen der linearen Achse erzeugt, so dass die zweite Ableitung der Kurve stetig ist,die Werkzeugstellungskurven-Erzeugungseinheit (5, 5i) die Werkzeugstellungskurve auf Basis der Distanz zwischen der benannten Positionsfolge in einem Raum erzeugt, in dem die linearen Achse und die Rotationsachse kombiniert werden, so dass die zweite Ableitung der Kurve stetig ist.

Description

  • 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:
  • P j ( t ) = [ t 3 t 2 t 1 ] [ 3 2 1 1 3 3 2 1 0 0 1 0 1 0 0 0 ] [ P j 1 P j d j q j 1 d j q j ]                                                  ( j = 1,2,3, , n )
    Figure DE112012006583B4_0001
  • 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:
  • d j = { ( x j x j 1 ) 2 + ( y j y j 1 ) 2 + ( z j z j 1 ) 2 }
    Figure DE112012006583B4_0002
  • 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:
  • d j q j 1 + 2 ( d j + 1 + d j ) q j + d j q j + 1 = ( 3 / d j d j + 1 ) ( d j 2 ( P j + 1 P j ) + d j + 1 2 ( P j P j 1 ) )                       ( j = 1,   2,   3,   ,  and n )
    Figure DE112012006583B4_0003
  • 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:
  • 2 d 2 q 1 + d 2 q 3 = 3 ( P 2 P 1 )
    Figure DE112012006583B4_0004
  • d n q n 1 + 2 d n q n = 3 ( P n P n 1 )
    Figure DE112012006583B4_0005
  • 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:
  • P j ( t ) = [ Px j ( t ) ,  Py j ( t ) ,  Pz j ( t ) ]
    Figure DE112012006583B4_0006
  • 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.
  • d j ' = { ( x j x j 1 ) 2 + ( y j y j 1 ) 2 + ( z j z j 1 ) 2             + ( b j b j 1 ) 2 + ( c j c j 1 ) 2 }             
    Figure DE112012006583B4_0007
  • 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:
  • P j ( t ) = [ Px j ( t ) ,  Py j ( t ) ,  Pz j ( t ) ,  Pb j ( t ) ,  Pc j ( t ) ]
    Figure DE112012006583B4_0008
  • 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: l j = l j 1 + d
    Figure DE112012006583B4_0009
  • 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:
  • P j ( t ) = [ Pl j ( t ) ,  Pb j ( t ) ,  Pc j ( t ) ]
    Figure DE112012006583B4_0010
  • In diesem Fall wird eine Distanz dj'' zwischen der Folge von Punkten dargestellt wie durch die folgende Formel (10) dargestellt:
  • d j ' ' = { ( l j l j 1 ) 2 + ( b j b j 1 ) 2 + ( c j c j 1 ) 2 }
    Figure DE112012006583B4_0011
  • In Formel (10) hält klarerweise die folgende Formel (11) :
  • ( l j l j 1 ) 2 = ( x j x j 1 ) 2 + ( y j y j 1 ) 2 + ( z j z j 1 ) 2
    Figure DE112012006583B4_0012
  • 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: f ( t ) = At 3 + Bt 2 + Ct + D    ( 0 t 1 )
    Figure DE112012006583B4_0013
  • Wenn Formel (16) einmal abgeleitet wird, wird Formel (17) erhalten. f ' ( t ) = 3 At 2 + 2 Bt + C
    Figure DE112012006583B4_0014
  • Durch Verwenden von Formel (16) ist ein Koordinatenwert eines Startpunkts der Kurve wie durch die folgende Gleichung (18a) angezeigt: f ( 0 ) = D
    Figure DE112012006583B4_0015
  • Aus Formel (16) ist ein Koordinatenwert eines Endpunkts der Kurve durch die folgende Formel (18b) angezeigt: f ( 1 ) = A + B + C + D
    Figure DE112012006583B4_0016
  • Aus Formel (17) ist eine Komponente eines Tangentenvektors am Startpunkt der Kurve wie durch die folgende Gleichung (18c) angezeigt: f' ( 0 ) = C
    Figure DE112012006583B4_0017
  • Aus Gleichung (17) ist eine Komponente eines Tangentenvektors an dem Endpunkt der Kurve wie durch die folgende Formel (18d) angezeigt: f' ( 1 ) = 3 A + 2 B + C
    Figure DE112012006583B4_0018
  • 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. f jx ( t ) = A x t 3 + B x t 2 + C x t + D x                        ( j = 0,   1,   ,  and n )
    Figure DE112012006583B4_0019
    f jy ( t ) = A y t 3 + B y t 2 + C y t + D y                        ( j = 0,   1,   ,  and n )
    Figure DE112012006583B4_0020
    f jz ( t ) = A z t 3 + B z t 2 + C z t + D z                        ( j = 0,   1,   ,  and n )
    Figure DE112012006583B4_0021
    f jb ( t ) = A b t 3 + B b t 2 + C b t + D b                        ( j = 0,   1,   ,  and n )
    Figure DE112012006583B4_0022
    f jc ( t ) = A c t 3 + B c t 2 + C c t + D c                        ( j = 0,   1,   ,  and n )
    Figure DE112012006583B4_0023
  • 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. Δ L = F / 60 × Δ T    ( mm )
    Figure DE112012006583B4_0024
  • 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=Pj(ta) ist, die gegeben ist durch t=ta auf der Kurvenlinie Pj(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=Pj(tb) auf der Kurve zu erhalten. Ein Startpunkt der Kurve Pj(t) ist Pj-1=Pj(0), ein Endpunkt der Kurve Pj(t) ist Pj=Pj(1), und eine Distanz von Pj-1 bis Pj ist dj. Wenn der Parameter t auf der Kurve sich von 0 bis 1 ändert, bewegt sich deshalb das Werkzeugdistalende auf der Kurve Pj(t) um die Distanz dj. Um das Werkzeugdistalende um ΔL auf der Kurve zu bewegen, wird deshalb zunächst der Parameter t geändert durch Δt=ΔL/dj. Folglich wird Pj(tb) durch die folgende Formel (21) berechnet: tb = ta + Δ L
    Figure DE112012006583B4_0025
  • Durch die folgende Formel 822) wird eine Distanz Leng berechnet, die das Werkzeugdistalende tatsächlich von Pj(ta) bewegt.
  • Leng = | P j ( ta ) P j ( tb ) |
    Figure DE112012006583B4_0026
  • 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
  • Δ L ' = Δ L | P j ( ta ) P j ( 1 ) |
    Figure DE112012006583B4_0027
  • 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.
  • db j = { ( x j x j 1 ) 2 + ( y j y j 1 ) 2             + ( z j z j 1 ) 2 + ( b j b j 1 ) 2 }
    Figure DE112012006583B4_0028
    dc j = { ( x j x j 1 ) 2 + ( y j y j 1 ) 2             + ( z j z j 1 ) 2 + ( c j c j 1 ) 2 }
    Figure DE112012006583B4_0029
  • 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:
  • P j ( t ) = [ Px j ( t ) ,  Py j ( t ) ,  Pz j ( t ) ,  Pb j ( t ) ]
    Figure DE112012006583B4_0030
  • 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:
  • P j ( t ) = [ Pl j ( t ) ,  Pb j ( t ) ]
    Figure DE112012006583B4_0031
  • In diesem Fall wird eine Distanz dj', zwischen der Folge von Punkten dargestellt, wie durch die folgende Gleichung (15a) dargestellt:
  • d j ' = { ( l j l j 1 ) 2 + ( b j b j 1 ) 2
    Figure DE112012006583B4_0032
  • 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:
  • P j ( t ) = [ Px j ( t ) ,  Py j ( t ) ,  Pz j ( t ) ,  Pc j ( t ) ]
    Figure DE112012006583B4_0033
  • 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

Claims (3)

  1. Numerische Steuervorrichtung (10, 10i), die eine Maschine, die ein Werkzeug, eine lineare Achse und eine Rotationsachse aufweist, auf Basis eines Bearbeitungsprogramms numerisch steuert, das einen Befehl für eine Werkzeug-Distalendposition, die durch eine Position der linearen Achse bestimmt wird, und einen Befehl für eine Werkzeugstellung, die durch einen Rotationswinkel der Rotationsachse bestimmt wird, enthält, wobei die numerische Steuervorrichtung (10, 10i) umfasst: eine Programm-Eingabeeinheit (2), die eine Werkzeug-Distalendposition und eine Werkzeugstellung liest, die in kontinuierlichen Blöcken in dem Bearbeitungsprogramm benannt sind, und benannte Positionsfolgen der linearen Achse und benannte Positionsfolgen der Rotationsachse erzeugt; eine Distalendpositionskurven-Erzeugungseinheit (4), die auf Basis der erzeugten benannten Positionsfolgen der linearen Achse eine Werkzeug-Distalendpositionskurve betreffend die Werkzeug-Distalendposition erzeugt; eine Werkzeugstellungskurven-Erzeugungseinheit (5, 5i), die auf Basis der erzeugten benannten Positionsfolgen der linearen Achse und der erzeugten benannten Positionsfolgen der Rotationsachsen eine Werkzeugstellungskurve betreffend die Werkzeugstellung assoziiert mit Bewegungen der Werkzeug-Distalendposition erzeugt; eine Interpolations-Berechnungseinheit (6), die bei jedem Interpolationszyklus, einen Interpolationspunkt der Werkzeug-Distalendposition aus der Werkzeug-Distalendpositionskurve berechnet, einen Interpolationspunkt der Werkzeugstellung aus der Werkzeugstellungskurve berechnet, und einen Interpolationspunkt einer Maschinenposition der linearen Achse in Übereinstimmung mit dem Interpolationspunkt der Werkzeug-Distalendposition und dem Interpolationspunkt der Werkzeugstellung berechnet; und eine Interpolations-Ausgabeeinheit (7), die die lineare Achse zu dem berechneten Interpolationspunkt der Maschinenposition bewegt und die Rotationsachse zu dem berechneten Interpolationspunkt der Werkzeugstellung bewegt, wobei die Distalendpositionskurven-Erzeugungseinheit (4) die Werkzeug-Distalendpositionskurve auf Basis der erzeugten benannten Positionsfolgen der linearen Achse erzeugt, so dass die zweite Ableitung der Kurve stetig ist, die Werkzeugstellungskurven-Erzeugungseinheit (5, 5i) die Werkzeugstellungskurve auf Basis der Distanz zwischen der benannten Positionsfolge in einem Raum erzeugt, in dem die linearen Achse und die Rotationsachse kombiniert werden, so dass die zweite Ableitung der Kurve stetig ist.
  2. Numerische Steuervorrichtung (10, 10i) nach Anspruch 1, wobei die Werkzeugstellungskurven-Erzeugungseinheit (5, 5i) die Werkzeugstellungskurve unter Verwendung der Distanz zwischen der benannten Positionsfolge in einem Raum erzeugt, in dem die linearen Achse und eine Vielzahl von Rotationsachsen kombiniert werden, so dass die zweite Ableitung der Kurve stetig ist.
  3. Numerische Steuervorrichtung (10, 10i) nach Anspruch 1, wobei die Werkzeugstellungskurven-Erzeugungseinheit (5, 5i), für jede einer Vielzahl der Rotationsachsen, eine Verarbeitung durchführt zum Erzeugen der Werkzeugstellungskurve unter Verwendung der Distanz zwischen der benannten Positionsfolge in einem Raum erzeugt, in dem eine Rotationsachse und die linearen Achse kombiniert werden, und zum Extrahieren einer Rotationsachsenkomponente der Werkzeugstellungskurve, so dass die zweite Ableitung der Kurve stetig ist.
DE112012006583.2T 2012-07-26 2012-07-26 Numerische Steuervorrichtung Active DE112012006583B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/069015 WO2014016943A1 (ja) 2012-07-26 2012-07-26 数値制御装置

Publications (2)

Publication Number Publication Date
DE112012006583T5 DE112012006583T5 (de) 2015-04-30
DE112012006583B4 true DE112012006583B4 (de) 2021-07-08

Family

ID=49595871

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006583.2T Active DE112012006583B4 (de) 2012-07-26 2012-07-26 Numerische Steuervorrichtung

Country Status (5)

Country Link
US (1) US9904270B2 (de)
JP (1) JP5323280B1 (de)
CN (1) CN104508579B (de)
DE (1) DE112012006583B4 (de)
WO (1) WO2014016943A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180046265A1 (en) * 2013-06-06 2018-02-15 Idhl Holdings, Inc. Latency Masking Systems and Methods
US9513623B2 (en) * 2014-01-21 2016-12-06 Mitsubishi Electric Research Laboratories, Inc. Method for generating trajectory for numerical control process
JP5855715B1 (ja) 2014-08-07 2016-02-09 ファナック株式会社 工作機械
EP3125055A1 (de) * 2015-07-31 2017-02-01 Siemens Aktiengesellschaft Werkzeugführungsverfahren für aneinandergrenzende flächen
JP6173628B1 (ja) * 2017-01-30 2017-08-02 株式会社ミツトヨ 形状測定装置の制御方法
CN109032077B (zh) * 2018-09-05 2022-03-18 沈阳建筑大学 一种基于刀具姿态控制的五轴数控加工指令点插补方法
JP7400737B2 (ja) * 2019-01-04 2023-12-19 ソニーグループ株式会社 制御装置、制御方法、及びプログラム
CN113687629B (zh) * 2020-05-19 2022-09-20 大族激光科技产业集团股份有限公司 激光cam加工的圆弧直线拟合方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182437A (ja) 2003-12-19 2005-07-07 Fanuc Ltd 数値制御装置及び数値制御方法
DE10360227A1 (de) 2003-12-20 2005-07-21 Bosch Rexroth Ag Verfahren zur Steuerung der Orientierung eines Werkzeugs an einer Werkzeugmaschine sowie eine Werkzeugmaschine zur Steuerung der Orientierung eines Werkzeugs
DE602004002997T2 (de) 2003-08-22 2007-05-24 Fanuc Ltd. Numerische Steuerungsvorrichtung
DE102009003003A1 (de) 2008-06-11 2009-12-17 Fanuc Ltd., Oshino Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
JP2010146176A (ja) 2008-12-17 2010-07-01 Fanuc Ltd 回転軸を有する工作機械用の数値制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3882304A (en) * 1973-05-04 1975-05-06 Allen Bradley Co Parametric interpolation of three-dimensional surfaces
JPS59106007A (ja) * 1982-12-10 1984-06-19 Toyota Central Res & Dev Lab Inc 多関節型ロボツトの軌跡制御装置
NL9002703A (nl) * 1990-12-10 1992-07-01 Philips Nv Bewerkingsmachine en besturingsinrichting geschikt voor toepassing in een dergelijke bewerkingsmachine.
JPH04259012A (ja) * 1991-02-13 1992-09-14 Fanuc Ltd 数値制御装置
JP3396342B2 (ja) 1995-07-17 2003-04-14 三菱電機株式会社 スプライン補間機能を有する数値制御装置
JPH10228306A (ja) 1997-02-17 1998-08-25 Fanuc Ltd 数値制御装置における自由曲線補間方法
DE10163503A1 (de) * 2001-12-21 2003-07-10 Siemens Ag Polynom- und Spline-Interpolation von Werkzeugorientierungen
DE10251600A1 (de) * 2002-11-06 2004-05-27 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Bewegungen bei Handhabungsgeräten
JP2005352876A (ja) 2004-06-11 2005-12-22 Toyoda Mach Works Ltd Ncデータ作成装置、5軸nc工作機械の制御装置及びclデータ作成装置
JP4431880B2 (ja) 2004-08-12 2010-03-17 株式会社日立製作所 多軸数値制御装置用のncポストプロセッサ装置
JP2006309645A (ja) 2005-05-02 2006-11-09 Fanuc Ltd 曲線補間方法
JP5934459B2 (ja) * 2006-04-17 2016-06-15 オムニビジョン テクノロジーズ, インコーポレイテッド アレイ化撮像システムおよび関連方法
JP4467625B2 (ja) 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
WO2010032284A1 (ja) * 2008-09-16 2010-03-25 新日本工機株式会社 数値制御装置
JP5350766B2 (ja) 2008-12-12 2013-11-27 ファナック株式会社 5軸加工機用数値制御装置
US9063533B2 (en) * 2009-03-27 2015-06-23 Mitsubishi Electric Corporation Multi-spindle translation control for multiple coordinate systems
JP5399881B2 (ja) 2009-05-19 2014-01-29 ファナック株式会社 5軸加工機用数値制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004002997T2 (de) 2003-08-22 2007-05-24 Fanuc Ltd. Numerische Steuerungsvorrichtung
JP2005182437A (ja) 2003-12-19 2005-07-07 Fanuc Ltd 数値制御装置及び数値制御方法
DE10360227A1 (de) 2003-12-20 2005-07-21 Bosch Rexroth Ag Verfahren zur Steuerung der Orientierung eines Werkzeugs an einer Werkzeugmaschine sowie eine Werkzeugmaschine zur Steuerung der Orientierung eines Werkzeugs
DE102009003003A1 (de) 2008-06-11 2009-12-17 Fanuc Ltd., Oshino Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
JP2010146176A (ja) 2008-12-17 2010-07-01 Fanuc Ltd 回転軸を有する工作機械用の数値制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WECK, M. ; BRECHER, Ch.: Werkzeugmaschinen. Bd. 4. Automatisierung von Maschinen und Anlagen. 6., neu bearb. Aufl.. Berlin [u. a.] : Springer, 2006. S. 307-312. - ISBN 978-3-540-22507-2 *

Also Published As

Publication number Publication date
JPWO2014016943A1 (ja) 2016-07-07
US20150205284A1 (en) 2015-07-23
JP5323280B1 (ja) 2013-10-23
CN104508579B (zh) 2016-08-24
CN104508579A (zh) 2015-04-08
US9904270B2 (en) 2018-02-27
WO2014016943A1 (ja) 2014-01-30
DE112012006583T5 (de) 2015-04-30

Similar Documents

Publication Publication Date Title
DE112012006583B4 (de) Numerische Steuervorrichtung
DE19781968T9 (de) Werkzeugschleifsimulationssystem
DE102011015296B4 (de) Numerische Steuerung für eine mehrachsige Werkzeugmaschine
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102012205423A1 (de) Verfahren und Programm zum Berechnen eines Korrekturwerts für eine Werkzeugmaschine
DE102014018973B4 (de) Numerische Steuerung zum Glätten des Werkzeugwegs im Betrieb basierend auf Daten in Tabellenform
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
DE102013010404A1 (de) Numerische Steuerung mit einer Werkzeugausrichtungssteuerfunktion für Mehrachsen-Bearbeitungsmaschinen
EP0754992A1 (de) Verfahren und Vorrichtung für die Herstellung von dreidimensionalen Bauteilen
DE102017102260A1 (de) Roboterprogrammiervorrichtung zum Lehren eines Roboterprogramms
DE102014018518B4 (de) Numerische Steuerung mit Korrekturfunktion für arbeitsbedingte Verschiebungen
DE4105314A1 (de) Dreidimensionaler plotter
DE102013106076A1 (de) Werkzeugweg-Anzeigeeinheit zur Darstellung des Werkzeugvektors einer Werkzeugmaschine
DE102014014524B4 (de) Werkzeugbahnanzeigevorrichtung, mit einer Anzeigeeinheit für Bahndaten
DE102016008043B4 (de) Zum Kompensieren von Fehlern unter Berücksichtigung einer Achsbewegungsrichtung fähiger numerischer Controller
DE102020124734A1 (de) Simulationsgerät
DE10330828B4 (de) Verfahren und Vorrichtung zum Fräsen von Freiformflächen
DE112016004105T5 (de) Numerische Steuervorrichtung
DE102014005844B4 (de) Numerische Steuerung mit Anzeige und Eingabe einer Werkzeugrichtung in Bezug auf ein Werkstück
DE10111476A1 (de) NC-Einrichtung
DE102016000409B4 (de) Numerische Steuerung, die ein Maschinenwerkzeug auf der Basis von Schälanweisungen steuert
DE4310126A1 (de) Verfahren und Vorrichtung zur numerischen Bahnsteuerung von Werkzeugmaschinen
DE112012006923B4 (de) Automatik-Programmiervorrichtung und Verfahren
DE102011052314B4 (de) Verfahren und Werkzeugmaschine zur Herstellung einer bogenförmigen Flanke an einem Werkstück

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final