DE102014015278B4 - Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren - Google Patents

Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren Download PDF

Info

Publication number
DE102014015278B4
DE102014015278B4 DE102014015278.2A DE102014015278A DE102014015278B4 DE 102014015278 B4 DE102014015278 B4 DE 102014015278B4 DE 102014015278 A DE102014015278 A DE 102014015278A DE 102014015278 B4 DE102014015278 B4 DE 102014015278B4
Authority
DE
Germany
Prior art keywords
curve
partial
segmented
path
machining
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
DE102014015278.2A
Other languages
English (en)
Other versions
DE102014015278A1 (de
Inventor
c/o FANUC Corporation Mizuno Tohru
c/o FANUC Corporation Chiba Takuji
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102014015278A1 publication Critical patent/DE102014015278A1/de
Application granted granted Critical
Publication of DE102014015278B4 publication Critical patent/DE102014015278B4/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/182Numerical 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 the machine tool function, e.g. thread cutting, cam making, tool direction control
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50164Select a structure to make programming of free curved surface easier

Abstract

Bearbeitungskurven-Erzeugungsvorrichtung (1) zum Erzeugen einer Bearbeitungskurve eines Werkzeugs, das zum maschinellen Bearbeiten eines Werkstücks verwendet wird, indem das Aufnehmen eines Teils einer Punktsequenz, die einen Werkzeugweg ausdrückt, als eine Teilpunktsequenz wiederholt und eine Teilkurve erzeugt wird, wobei die Bearbeitungskurven-Erzeugungsvorrichtung Folgendes umfasst:eine Speichereinheit (50) für Informationen segmentierter Kurven, die dazu konfiguriert ist, für jede segmentierte Kurve einer Vielzahl segmentierter Kurven, bei denen es sich um einzelne, den Werkzeugweg bereitstellende Kurventeile handelt, Informationen segmentierter Kurven zu speichern, umfassend eine Anzahl erzeugter Teilkurven, die in der segmentierten Kurve enthalten sind, eine Tangentialrichtung an einem Endpunkt der segmentierten Kurve und Teilkurveninformationen, wobei die Teilkurveninformationen mindestens eines umfassen aus (i) einer Teilkurvenlänge jeder der erzeugten Teilkurven und (ii) einer Anzahl von Punkten der Teilpunktsequenz und Informationen, die die Teilkurve mathematisch definieren;eine Kurveninformations-Nutzungsbestimmungseinheit (30), die konfiguriert ist, um:- zu bestimmen, ob ein aktueller Weg ein Rückwärtsweg eines sich hin- und herbewegenden Bearbeitungswegs ist, basierend auf den folgenden Bedingungen: (1) eine beliebige der gespeicherten segmentierten Kurven an dem Endpunkt davon eine Tangentialrichtung hat, die zu der Tangentialrichtung des Startpunkts der Teilpunktsequenz entgegengesetzt ist, (2) der Endpunkt der segmentierten Kurve ist nahe dem Startpunkt der Punktsequenz und (3) die Länge der segmentierten Kurve ist ungefähr identisch mit der Faltlinienlänge der Punktsequenz, und- wenn bestimmt wird, dass der aktuelle Weg der Rückwärtsweg des sich hin- und herbewegenden Bearbeitungswegs ist, zu bestimmen, dass die gespeicherten Informationen segmentierter Kurven verwendet werden sollen, wenn die Teilkurve erzeugt wird, anstelle einer Unterteilung durch die Anzahl von Punkten; undeine Einheit (40) zur Kurvenerzeugung unter Nutzung gespeicherter Informationen, die dazu konfiguriert ist, eine Teilkurve zu erzeugen, wobei die Informationen segmentierter Kurven genutzt werden, und eine Teilkurve zu erzeugen, wenn die Kurveninformations-Nutzungsbestimmungseinheit bestimmt, die gespeicherten Informationen segmentierter Kurven zu nutzen.

Description

  • Allgemeiner Stand der Technik
  • Die vorliegende Erfindung betrifft eine Bearbeitungskurven-Erzeugungsvorrichtung und ein Bearbeitungskurven-Erzeugungsverfahren, mit dem ein Werkzeugweg, der das Bereitstellen einer glatten maschinell bearbeiteten Oberfläche während einer maschinellen Bearbeitung mit einer numerisch gesteuerten Werkzeugmaschine ermöglicht, unter Verwendung einer numerischen Steuervorrichtung, die die Werkzeugmaschine steuert, oder einer Informationsverarbeitungsvorrichtung bestimmt wird, wie einem Personalcomputer.
  • Ein Verfahren zum Bestimmen einer Kurve, die eine gegebene Punktsequenz interpoliert, oder einer Kurve, die durch jeden der Punkte verläuft, ist weithin bekannt (Les Piegl, Wayne Tiller, The NURBS Book, Springer-Verlag, und I.J. Schoenberg, Spline functions and the problem of graduation, Proceedings of the National Academy of Science of the U.S.A., 52(1964)). Zur maschinellen Bearbeitung mit einem numerisch gesteuerten Werkzeug wird das Verfahren dazu genutzt, einen Werkzeugweg, der als eine Punktsequenz angegeben ist, in eine Kurve umzuwandeln, um eine glatte, maschinell bearbeitete Oberfläche bereitzustellen und eine Zeit zur maschinellen Bearbeitung zu verkürzen ( JP 2013 - 171 376 A , JP 2007 - 293 478 A , JP 2006 - 309 645 A , JP 2005 - 182 437 A und JP 2004 - 078 516 A ).
  • Im Allgemeinen variiert die Länge eines Programms zur maschinellen Bearbeitung je nach einem Werkstück, und eine zeitaufwändige maschinelle Bearbeitung bringt eine sehr große Anzahl von Punkten mit sich, die einen Werkzeugweg bereitstellen. Folglich ist das Abschließen einer Kurvenbildung während eines Vorgangs schwierig und ein Verfahren wird angewendet, in dem die Punktsequenz in Abschnitte unterteilt wird, was das Schritt-für-Schritt-Erzeugen der Kurve ermöglicht. Darüber hinaus wird dieses Verfahren zwangsläufig angewendet, wenn eine Kurvenerzeugung und eine maschinelle Bearbeitung parallel durchgeführt werden.
  • Die Unterteilung der Punktsequenz wird normalerweise unter Verwendung eines Verfahrens des Aufnehmens einer vorher bestimmten Anzahl von Punkten durchgeführt, die mit dem vorderen Punkt startet. Wenn die Punktsequenz einen gebogenen Abschnitt beinhaltet, wird der gebogene Abschnitt als ein Unterteilungspunkt der Punktsequenz eingestellt, selbst wenn die Anzahl von Punkten bis zu dem gebogenen Abschnitt kleiner als die vorher bestimmte Anzahl ist. Kurven, die aus Gruppen von Punkten erzeugt werden, die aus der Unterteilung resultieren, werden in der Form von parametrischen Kurven ausgedrückt. Es wird eine Ausdrucksform angewendet, wie eine B-Spline-Kurve oder NURBS-Kurve, die für die Anwendung geeignet ist.
  • Die herkömmliche Bearbeitungskurvenerzeugung konzentriert sich auf ein Verfahren zum Erzeugen von Kurven aus einer Punktsequenz, die aus einer Unterteilung resultiert, die die Form des gesamten Werkzeugwegs, der aus dem Zusammenfügen erzeugter Kurven resultiert, nicht besonders berücksichtigt. Infolgedessen misslingt es auf nachteilige Weise, zufrieden stellende Kurven zu erzeugen, wenn von benachbarten Kurven gewünscht wird, dass sie eine ähnliche Form haben, wie in dem Fall eines Vorwärtswegs und einer Rückwärtswegs bei einem sich hin- und herbewegenden Weg der maschinellen Bearbeitung.
  • Im Allgemeinen können in einem Programm zur maschinellen Bearbeitung, das von einer CAM ausgegeben wird, die Positionen von Punkten, die einen Maschinenweg ausdrücken, in Verbindung mit einem Berechnungsverfahren oder dergleichen geringfügig von einem Sollweg abweichen. Darüber hinaus variiert das Intervall zwischen den Punkten gewöhnlich. In dem sich hin- und herbewegenden Weg entsprechen Punkte, die den Vorwärtsweg bereitstellen, nicht immer Punkten, die den Rückwärtsweg bereitstellen. In dem Punktsequenzunterteilungsverfahren des Aufnehmens einer vorher bestimmten Anzahl von Punkten variiert die räumliche Verteilung der Unterteilungen der Punktsequenz zwischen dem Vorwärtsweg und dem Rückwärtsweg. Die unterschiedlichen räumlichen Verteilungen der Punktsequenz wiederum variieren die Form der erzeugten Kurve, was zu stufenartigen Unterschieden zwischen der Kurve des Vorwärtswegs und der Kurve des Rückwärtswegs führt. Ein ähnliches Problem tritt in dem Fall eines spiralförmigen Werkzeugwegs auf, der um den Umfang eines Werkstücks herum angeordnet ist. Die Ursache des Problems liegt darin, dass das Verfahren des Aufnehmens einer vorher bestimmten Anzahl von Punkten dabei fehlschlägt, die räumliche Verteilung von Punktsequenzen zu steuern. Dies deutet auf Bedarf an einem Unterteilungsverfahren hin, das das Ausrichten der räumlichen Verteilungen aufeinander ermöglicht.
  • Die Druckschrift DE 10 2006 036 601 A1 offenbart eine Bestimmungseinheit, die die Tangentenvektoren an dem einen und an dem anderen Ende eines Spline-Kurvensegmentes jedes Abschnittes so bestimmt, dass eine Länge jedes Tangentenvektors proportional zu der einer das eine und das andere Ende des einen Spline-Kurvensegmentes verbindenden ersten geraden Linie ist und dass die Tangentenvektoren an dem einen Ende und an dem anderen Ende des einen Spline-Kurvensegmentes derart ausgerichtet sind, dass sie einen ersten Winkel und einen zweiten Winkel jeweils in einem vorbestimmten Verhältnis teilen. Der erste Winkel ist durch die erste gerade Linie und eine Verlängerung einer das eine und das andere Ende eines vorhergehenden Spline-Kurvensegmentes verbindenden zweiten geraden Linie gebildet. Der zweite Winkel ist durch die erste gerade Linie und eine Verlängerung einer das eine und das andere Ende eines nächsten Spline-Kurvensegmentes verbindenden dritten geraden Linie gebildet.
  • Die Druckschrift DE 601 23 379 T2 offenbart eine numerisch gesteuerte Bearbeitungseinheit für gekrümmte Flächen, die mit drei linearen Achsen und mindestens einer Drehachse ausgerüstet ist und eine Mehrachs-Simultansteuerungs-NC-Maschinebeinhaltet, die von einer NC-Steuerung mit Numeriksteuerungs-NURBS-Interpolationsfunktion numerisch gesteuert wird. Die Einheit weist eine Einrichtung zum Lesen von Daten eines Werkzeugkontrollpunktvektors und Daten eines Werkzeugachsenvektors auf, die in einem Werkstückkoordinatensystem entlang des Werkzeugwegs mit festgelegter Kurvenform von einem Hostcomputer berechnet sind, als Daten eines Schneidorts und zum Umwandeln der CL-Daten in einen Positionsvektor der drei linearen Achsen und einen Drehwinkel für die Drehachse im Maschinenkoordinatensystem, um die Mehrachs-Simultansteuerungs-NC-Maschine entsprechend ihrer Maschinenkonfiguration zu betreiben. Die Einheit weist ferner eine Einrichtung zum Berechnen von Knotenvektoren einer NURBS-Kurve der am besten geeigneten Sehnenlänge aufgrund eines Positionsvektors der drei linearen Achsen und eines Drehwinkels für die Drehachse auf, die im Maschinenkoordinatensystem berechnet sind, eine Einrichtung zum Berechnen einer jeweiligen NURBS-Kurve der drei linearen Achsen und eines Drehwinkels unter Verwendung der Knotenvektoren, eine Einrichtung zum Umwandeln der NURBS-Kurve in NURBS-Interpolations-NC-Daten, eine Einrichtung zum Umwandeln der Vorschubgeschwindigkeit im Werkstückkoordinatensystem in Vorschub pro Minute oder zeitinversen Vorschub im Maschinenkoordinatensystem und eine Einrichtung zum Übertragen der erhaltenen NC-Daten an die NC-Steuerung.
  • Die Druckschrift DE 600 27 124 T2 offenbart ein Verfahren zur Steuerung der Bewegung eines beweglichen Maschinenelements. Das Verfahren umfasst: Empfangen einer Mehrzahl von Punkten, die einen gewünschten Verfahrweg für das bewegliche Element definieren, wobei die Mehrzahl von Punkten eine Mehrzahl von Wegstücken auf dem gewünschten Verfahrweg definiert; Berechnen der Länge eines ersten Wegstücks in der Mehrzahl von Wegstücken; Ermitteln der relativen Länge des ersten Wegstücks in Bezug auf mindestens ein weiteres Wegstück in der Mehrzahl von Wegstücken; auf der Grundlage der relativen Länge Entscheiden, ob das betreffende Wegstück mithilfe einer Spline-Funktion interpoliert werden soll; wenn das erste Wegstück mithilfe einer Spline-Funktion interpoliert werden soll, Ableiten einer Spline-Interpolation-Gleichung für das erste Wegstück und Verfahren eines beweglichen Elements entsprechend der Spline-Interpolation-Funktion.
  • Kurzdarstellung der Erfindung
  • Folglich besteht ein Gegenstand der vorliegenden Erfindung darin, eine Bearbeitungskurven-Erzeugungsvorrichtung bereitzustellen, um das oben beschriebene Problem des Stands der Technik zu lösen, die Informationen zu einer Kurve, die auf der Basis einer Punktsequenz, die einen Werkzeugweg ausdrückt, erzeugt wurde, speichert und die die Informationen in einem Bereich nutzt, in dem das Bereitstellen einer Kurve, die einer anderen Kurve ähnlich ist, gewünscht wird, um die gewünschte Kurve zu erzeugen.
  • Gemäß der Offenbarung werden eine Bearbeitungskurven-Erzeugungsvorrichtung und ein Bearbeitungskurven-Erzeugungsverfahren gemäß den unabhängigen Ansprüchen bereitgestellt. Entwicklungen sind in den abhängigen Ansprüchen dargestellt.
  • Die Ausführungsformen der vorliegenden Erfindung sind wie oben beschrieben konfiguriert und können folglich eine Bearbeitungskurven-Erzeugungsvorrichtung bereitstellen, die Informationen zu einer Kurve, die auf der Basis einer Punktsequenz, die einen Werkzeugweg ausdrückt, erzeugt wurde, speichert und die die Informationen in einem Bereich nutzt, in dem das Bereitstellen einer Kurve, die einer anderen Kurve ähnlich ist, gewünscht wird, um die gewünschte Kurve zu erzeugen.
  • Figurenliste
  • Die oben beschriebenen und andere Gegenstände und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von Ausführungsformen unter Bezugnahme auf die angefügten Zeichnungen offensichtlich werden, in denen:
    • 1 ein Blockdiagramm ist, das eine Konfiguration einer Bearbeitungskurven-Erzeugungsvorrichtung darstellt;
    • 2 ein Diagramm ist, das Punktsequenzdaten darstellt;
    • 3 ein Diagramm ist, das ein Verfahren zum Bestimmen von Faltpunkten auf einem Werkzeugweg darstellt;
    • 4 ein Diagramm ist, das eine Beziehung zwischen Daten segmentierter Kurven und Teilkurvendaten darstellt;
    • 5 ein Ablaufdiagramm ist, das einen Vorgang zur Kurvenerzeugung darstellt;
    • 6 ein Ablaufdiagramm ist, das einen Vorgang zum Bestimmen darstellt, ob ein Werkzeugweg ein Rückwärtsweg ist oder nicht;
    • 7 ein Ablaufdiagramm ist, das einen Vorgang zum Erzeugen normaler segmentierter Kurven darstellt; und
    • 8 ein Ablaufdiagramm ist, das einen Vorgang zum Erzeugen segmentierter Kurven des Rückwärtswegs darstellt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • Mehrere Ausführungsformen der vorliegenden Erfindung stellen ein Kurvenbildungsverfahren des Erzeugens einer parametrischen Kurve bereit, indem Teilpunktsequenzen Schritt für Schritt von einem Werkzeugweg, der von einer Werkzeugsequenz bereitgestellt wird, genommen werden, wobei das Verfahren das Speichern von Informationen, die eine erzeugte Kurve charakterisieren, und wenn das Bereitstellen einer Kurve, die der erzeugten Kurve ähnlich ist, gewünscht wird, das Erzeugen einer Kurve unter Verwendung der gespeicherten Informationen beinhaltet.
  • Mehrere Ausdrücke werden definiert. Teilpunktsequenzen werden als Punktsequenzen definiert, die aus einer Unterteilung einer Punktsequenz zur Kurvenerzeugung resultieren, und eine Teilkurve wird als eine Kurve definiert, die aus einer Teilpunktsequenz erzeugt wurde. Ein Abschlusspunkt einer Kurve wird als ein Punkt definiert, an dem der Werkzeugweg gefaltet wird, so dass die Kurve an dem Abschlusspunkt der Kurve vorübergehend endet und eine andere Kurve beginnt. Eine segmentierte Kurve wird als sich von einem Abschlusspunkt zu dem nächsten Abschlusspunkt erstreckend definiert. Ein kurvenförmiger Werkzeugweg ist ein Satz segmentierter Kurven. Die segmentierte Kurve beinhaltet eine oder mehrere Teilkurven. Ein Vorwärtsweg und ein Rückwärtsweg eines sich hin- und herbewegenden Wegs sind jeweils eine segmentierte Kurve.
  • In einem Verfahren gemäß mehreren Ausführungsformen der vorliegenden Erfindung werden Informationen zu einer Kurve, die unter Verwendung segmentierter Kurven als Einheiten erzeugt wurde, als Informationen segmentierter Kurven gespeichert. Die Informationen segmentierter Kurven beinhalten die Anzahl von Teilkurven, die in einer segmentierten Kurve enthalten sind, und Teilkurveninformationen zu jeder Teilkurve. Die Teilkurveninformationen beinhalten die Position eines Abschlusspunkts, die Länge der Teilkurve und die Anzahl von Punkten in einer Teilpunktsequenz, von der die Teilkurve stammt. Eine Unterteilung in Teilpunktsequenzen basiert auf einer Unterteilung durch die Anzahl von Punkten, die leicht abzuwickeln ist. Eine Einheit wird bereitgestellt, die dazu konfiguriert ist, einen Bereich zu bestimmen, in dem die räumliche Verteilung von Teilpunktsequenzen auf einem Weg mit der räumlichen Verteilung von Teilpunktsequenzen auf einem anderen Weg ausgerichtet werden soll. Wenn das Verfahren den Bereich bestimmt, in dem die Verteilung von Teilpunktsequenzen auf einem Weg mit der Verteilung von Teilpunktsequenzen auf einem anderen Weg ausgerichtet werden soll, werden die Teilpunktsequenzen auf der Basis der gespeicherten Informationen anstelle der Unterteilung durch die Anzahl von Punkten abgerufen. Bei einem sich hin- und herbewegenden Bearbeitungsweg ist ein Rückwärtsweg ein Bereich, in dem die Verteilung von Teilpunktsequenzen mit der Verteilung von Teilpunktsequenzen auf einem Vorwärtsweg ausgerichtet werden soll. Wenn der Werkzeugweg als ein Rückwärtsweg bestimmt wird, werden Informationen segmentierter Informationen zu dem Vorwärtsweg dazu verwendet, den Rückwärtsweg mit dem Vorwärtsweg im Hinblick auf die Anzahl von Teilkurven, die in dem Rückwärtsweg enthalten sind, die Länge jeder Teilpunktsequenz und dergleichen auszurichten. So werden die räumlichen Verteilungen von Teilpunktsequenzen, die den Vorwärtsweg und den Rückwärtsweg bereitstellen, aufeinander auf der Basis der gespeicherten Informationen ausgerichtet. Dies führt zu Kurven ohne stufenartige Unterschiede zwischen dem Vorwärtsweg und dem Rückwärtsweg.
  • Der Punkt des Verfahrens zum Erzeugen einer Bearbeitungskurve oder der Werkzeugwegkurve ist, dass ein Bereich, in dem die Form einer Kurve der Form einer anderen Kurve angeglichen werden soll, wie im Fall des Rückwärtswegs in Bezug auf den Vorwärtsweg, und dass für den bestimmten Bereich ein dedizierter Erzeugungsvorgang, der sich von einem normalen Kurvenerzeugungsvorgang unterscheidet, dazu verwendet wird, eine Kurve zu erzeugen, die gespeicherte Kurveninformationen nutzt.
  • Nun wird ein spezifischer Vorgang für eine Technik gemäß mehreren Ausführungsformen der vorliegenden Erfindung beschrieben, wobei ein Fall, in dem der Werkzeugweg einen sich hin- und herbewegenden Bearbeitungsweg beinhaltet, als ein Beispiel genommen wird. 1 ist ein Blockdiagramm. Eine Bearbeitungskurven-Erzeugungsvorrichtung 1 beinhaltet einen NC-Befehlsdekodierungsteil 10, einen Punktsequenzbezugsteil 20, einen Rückwärtswegbestimmungsteil 30, einen Teil des Erzeugens segmentierter Kurven 40, einen Teil des Speicherns von Informationen segmentierter Kurven 50, einen Rückwärtswegerzeugungsteil 60 und einen Kurvenausgabe-teil 70. Die Bearbeitungskurven-Erzeugungsvorrichtung 1 kann unter Verwendung einer numerischen Steuervorrichtung, die eine Werkzeugmaschine steuert, oder einer Informationsverarbeitungsvorrichtung, wie einem Personalcomputer, konfiguriert werden.
  • Der NC-Befehlsdekodierungsteil 10 ist mit einem NC-Befehlsdekodierungsteil identisch, der in einer numerischen Steuervorrichtung montiert ist, die eine Werkzeugmaschine steuert. Der NC-Befehlsdekodierungsteil 10 dekodiert einen NC-Befehl 2 (Programm zur maschinellen Bearbeitung), um Punktsequenzdaten zu einer Punktsequenz abzurufen, die den Werkzeugweg bereitstellt. Die Punktsequenzdaten sind Daten, die die Positionen von Punkten auf dem Werkzeugweg anzeigen, und bei einer fünfachsigen maschinellen Bearbeitung Daten beinhalten, die die Richtung eines Werkzeugs zusätzlich zu den Positionen anzeigen. 2 zeigt die Struktur von Punktsequenzdaten für eine dreiachsige maschinelle Bearbeitung. Daten zu jedem Punkt der Punktsequenzdaten beinhalten die Koordinaten X, Y und Z eines vorderen Endes des Werkzeugs. Die Anzahl von Daten entspricht der Anzahl der Punkte.
  • Der Punktsequenzbezugsteil 20 fordert benötigte Punktsequenzdaten von dem NC-Befehlsdekodierungsteil 10 an und bezieht diese von dem letzteren. Grundsätzlich werden Daten zu einer vorher bestimmten Anzahl N von Punkten bezogen und für einen Rückwärtsweg werden Punktsequenzdaten innerhalb eines Bereichs, der von dem Rückwärtswegkurvenerzeugungsteil 60 angefordert wird, bezogen. Wenn ein beliebiger Punkt in der angeforderten Punktsequenz als ein Faltpunkt auf einem Werkzeugweg bestimmt wird, wird der Bereich von Punktsequenzdaten bis zu dem Faltpunkt bezogen.
  • In einem Programm zur maschinellen Bearbeitung, das von einer CAM ausgegeben wird, können Punkte, die auf lokal gestörte Weise positioniert sind, aufgrund eines Berechnungsproblems ausgegeben werden. Um das Unterscheiden derartiger anomaler Punkte von echten Faltpunkten zu ermöglichen, werden q (Balken) und p (Balken), die aus dem Mitteln von Richtungen von Segmenten resultieren, die Punktsequenzen miteinander verbinden, bestimmt, so dass der Punkt als ein Faltpunkt bestimmt wird, wenn eine Differenz zwischen den gemittelten Richtungen größer gleich einem Grenzwert ist. Die q (Balken) und p (Balken) sind in 3 beschrieben, wobei q (Balken) und p (Balken) die folgenden sind. q , p
    Figure DE102014015278B4_0001
  • Der Rückwärtswegbestimmungsteil 30 empfängt Punktsequenzdaten von dem Punktsequenzbezugsteil 20, um zu bestimmen, ob die Punktsequenz ein Rückwärtsweg ist oder nicht. Die Bestimmung verwendet Informationen, die in dem Teil des Speicherns von Informationen segmentierter Kurven 50 gespeichert sind, und wird im Folgenden ausführlich beschrieben.
  • Wenn von der Punktsequenz bestimmt wird, dass sie kein Rückwärtsweg ist, wiederholt der Teil des Erzeugens segmentierter Kurven 40 einen Vorgang des Beziehens einer Teilpunktsequenz von dem Punktsequenzbezugsteil 20, um eine Teilkurve zu erzeugen, wodurch eine segmentierte Kurve mit dem Faltpunkt auf dem Werkzeugweg, der dem Endpunkt der segmentierten Kurve entspricht, erzeugt wird. Die Teilkurve ist eine parametrische Kurve, die durch den Startpunkt und den Endpunkt einer Teilpunktsequenz und durch andere Punkte verläuft. Eine B-Spline-Kurve wird als die parametrische Kurve verwendet; es kann jedoch eine beliebige andere Form einer Kurve, wie eine NURBS-Kurve oder eine Polynomkurve, verwendet werden. Die Teilkurve wird durch Folgendes ausgedrückt: C ( u ) = i = 0 n N i ,3 ( u ) P i
    Figure DE102014015278B4_0002
    wobei
    • u einen Parameter für eine Kurve bezeichnet und in den Wertebereich von 0 ≤ u ≤ 1 fällt,
    • Figure DE102014015278B4_0003
      eine Position bezeichnet, die von einem Punkt auf der Kurve belegt wird, wenn der Parameterwert u ist,
    • N1,3(u) eine B-Spline-Basisfunktion dritter Ordnung bezeichnet und
    • Figure DE102014015278B4_0004
      einen Kontrollpunkt für eine B-Spline-Kurve bezeichnet.
  • Eine Kurve, die durch eine Punkteinheit verläuft, dass der Abstand zwischen einer Kurve, die von der Formel (1) ausgedrückt wird, und jedem der Punkte einer Teilpunktsequenz kleiner gleich einer voreingestellten Toleranz ist, d. h. eine Einheit: | C ( u ¯ k ) Q ¯ k | ε   ( k = 0,1, , N 1 )
    Figure DE102014015278B4_0005
    wobei
    • ε eine Toleranz bezeichnet,
    • Figure DE102014015278B4_0006
      einen Punkt der Teilpunktsequenz bezeichnet,
    • k den Wert eines Parameters für einen Punkt auf der Kurve bezeichnet, der Q k
      Figure DE102014015278B4_0007
      am inächsten ist, und
    • Figure DE102014015278B4_0008
      einen Punkt bezeichnet, der erhalten wird, wenn der Wert des Parameters u̅k ist.
  • Die Domäne des Parameters u wird durch einen Satz von Zahlen unterteilt, die Knoten U = (u0, ..., un+4) genannt werden. Folglich drückt die Formel (1) eine Kurve unter Verwendung der Knoten und der Kontrollpunkte als Variablen aus. Das Bestimmen von Werten für die Variablen bestimmt eine Kurve. Mehrere Verfahren zum Bestimmen einer derartigen Kurve, wie durch die Formel (1) ausgedrückt, wurden vorgeschlagen und sind wohl bekannt, wie in Les Piegl, Wayne Tiller, The NURBS Book, Springer-Verlag, und I.J. Schoenberg, Spline functions and the problem of graduation, Proceedings of the National Academy of Science of the U.S.A., 52(1964)), beschrieben. Die Beschreibung der Verfahren wird weggelassen.
  • Der Teil des Speicherns von Informationen segmentierter Kurven 50 speichert Informationen zu einer Kurve, die unter Verwendung segmentierter Kurven als Einheiten erzeugt wurde. 4 zeigt die Struktur von Daten segmentierter Kurven. Die Anzahl von Teilkurven zeigt die Anzahl von Teilkurven an, die in einer segmentierten Kurve enthalten sind, und nimmt einen Wert von 1 oder höher an. Ein Differenzial an einem Endpunkt ist das Differenzial einer parametrischen Kurve an dem Endpunkt. Teilkurvendaten sind eine Speicherung von Informationen zu jeder der Teilkurven, die in der segmentierten Kurve enthalten sind, und haben eine in 4 gezeigte Struktur. Die Positionen von Abschlusspunkten stellen den Startpunkt und den Endpunkt von Teilkurven dar. Die Anzahl von Punkten stellt die Anzahl von Punkten dar, die in einer Teilpunktsequenz enthalten sind, von der die Teilkurven stammen. Der Knoten ist der Wert jedes von Knoten der Teilkurve, die durch eine B-Spline-Kurve ausgedrückt wird, und ist ein Satz numerischer Werte zwischen 0 und 1. Die Länge stellt die Länge einer Faltlinie dar, die aus dem Verbinden der Punkte der Teilpunktsequenz unter Verwendung von Segmenten resultiert. Informationen zu segmentierten Kurven werden gespeichert, um als Informationen zu einem Vorwärtsweg genutzt zu werden, wenn ein Rückwärtsweg später auftritt. Im Allgemeinen ist der Rückwärtsweg mittels eines kurzen Wegs mit dem Vorwärtsweg verbunden, und folglich liegen nicht viele segmentierte Kurven zwischen dem Vorwärtsweg und dem Rückwärtsweg vor. Folglich wird eine Obergrenze für die Anzahl gespeicherter Daten segmentierter Kurven eingestellt, so dass, wenn die Anzahl gespeicherter Daten den Obergrenzenwert erreicht, die Daten nacheinander verworfen werden, wobei mit den ältesten Daten begonnen wird.
  • Ob der Werkzeugweg ein Rückwärtsweg ist oder nicht, wird bestimmt, indem die Punktsequenz, aus der eine segmentierte Kurve erzeugt werden soll, und gespeicherte Daten zu einer segmentierten Kurve verglichen werden. Wenn die im Folgenden beschriebenen Bedingungen (1) bis (3) alle erfüllt werden, wird die zu erzeugende segmentierte Kurve als der Rückwärtsweg bestimmt, für den der Vorwärtsweg eine der gespeicherten segmentierten Kurven ist.
  • Bedingung (1): Eine beliebige der gespeicherten segmentierten Kurven hat an dem Endpunkt davon eine Tangentialrichtung, die zu der Tangentialrichtung des Startpunkts der Punktsequenz entgegengesetzt ist.
  • Das bedeutet, dass der Vorwärtsweg und der Rückwärtsweg in ungefähr entgegengesetzten Richtungen sein müssen.
  • Bedingung (2): Der Endpunkt der segmentierten Kurve ist nahe dem Startpunkt der Punktsequenz.
  • Das bedeutet, dass der Vorwärtsweg und der Rückwärtsweg räumlich nah beieinander sein müssen.
  • Bedingung (3): Die Länge der segmentierten Kurve ist ungefähr identisch mit der Faltlinienlänge der Punktsequenz.
  • Das bedeutet, dass der Vorwärtsweg und der Rückwärtsweg eine ungefähr gleiche Länge haben und dass, wenn die Länge zu einen bestimmten Grad zwischen dem Vorwärtsweg und dem Rückwärtsweg variiert, bessere Ergebnisse erzielt werden können, indem dasselbe Kurvenerzeugungsverfahren wie das für den Vorwärtsweg verwendet wird.
  • Der Rückwärtswegerzeugungsteil 60 erzeugt eine Kurve auf der Basis der Punktsequenz, von der bestimmt wurde, dass sie ein Rückwärtsweg ist. Der Rückwärtsweg beinhaltet die gleiche Anzahl von Teilkurven wie die von Teilkurven in dem Vorwärtsweg. Für den Rückwärtsweg werden Teilpunktsequenzen auf der Basis der Punktsequenzlänge entnommen. Die Teilkurven des Vorwärtswegs werden mit C1, ...., Cm (Cm ist die hintere Teilkurve) in Reihenfolge bezeichnet. Die Teilkurven des Rückwärtswegs werden mit C'1, ...., C'm (C'm ist die hintere Teilkurve) in Reihenfolge bezeichnet. C'm-i+1 liegt an einer Position, die Ci gegenüberliegt (i = 1, ..., m). Das Ausmaß des Rückwärtswegs in Bezug auf den Vorwärtsweg kann durch die Formel (3) unter Verwendung der Länge L einer segmentierten Kurve, die ein Kandidat für den Vorwärtsweg ist, und der Punktsequenzlänge L' ausgedrückt werden. r = L ' L
    Figure DE102014015278B4_0009
  • Die Teilpunktsequenz, von der C'm-i+1 stammt, wird genommen, so dass die Punktsequenzlänge Im-i+1' der Teilpunktsequenz durch die Formel (4) unter Verwendung der Länge li von Ci und r ausgedrückt wird. l m i + 1 ' = l i × r
    Figure DE102014015278B4_0010
  • Im Allgemeinen liegt keiner der Punkte, der in der Punktsequenz enthalten ist, an einer Position vor, die Im-i+1' entspricht, und folglich wird ein neuer Punkt an dieser Position als ein Endpunkt der Teilpunktsequenz hinzugefügt. Sobald die Teilpunktsequenz folglich bestimmt wurde, kann derselbe Vorgang zum Erzeugen einer Teilkurve wie der für normale segmentierte Kurven verwendet werden.
  • Ein Vorgang zum Erzeugen einer Kurve wird gemäß einem Ablaufdiagramm in 5 beschrieben.
  • [Schritt SA100] Eine vorher bestimmte Anzahl von Punkten wird einer spezifizierten Punktsequenz entnommen.
  • [Schritt SA101] Es wird bestimmt, ob die genommene Punktsequenz ein Teil eines Rückwärtswegs ist oder nicht. Ein Verfahren zur Bestimmung wird im Folgenden beschrieben.
  • [Schritt SA102] Wenn von der Punktsequenz bestimmt wird, dass sie kein Rückwärtsweg ist, wird eine segmentierte Kurve unter Anwendung eines normalen Verfahrens erzeugt. Das Verfahren wird im Folgenden beschrieben.
  • [Schritt SA103] Wenn von der Punktsequenz bestimmt wird, dass sie ein Rückwärtsweg ist, wird eine segmentierte Kurve unter Anwendung eines Verfahrens für den Rückwärtsweg erzeugt. Das Verfahren wird im Folgenden beschrieben.
  • [Schritt SA104] Informationen zu der erzeugten segmentierten Kurve werden in den Daten segmentierter Kurven gespeichert.
  • [Schritt SA105] Es wird bestimmt, ob ein beliebiger Punkt der spezifizierten Punktsequenz verbleibt, der nicht zum Erzeugen einer Kurve verwendet wurde, oder nicht. Wenn ein beliebiger Punkt der spezifizierten Punktsequenz verbleibt, kehrt der Vorgang zu Schritt SA100 zurück, um mit dem Erzeugen einer Kurve fortzufahren. Wenn alle Punkte zur Kurvenbildung verwendet wurden, fährt der Vorgang mit Schritt SA106 fort.
  • [Schritt SA106] Daten zu der erzeugten Kurve werden ausgegeben, um die Kurvenerzeugung zu beenden. In diesem Fall werden die Kurvendaten ausgegeben, nachdem alle Punkte zur Kurvenbildung verwendet wurden. Ausgaben mit mehr Details können jedoch bereitgestellt werden; beispielsweise können die Daten jedes Mal ausgegeben werden, wenn eine segmentierte Kurve erzeugt wird.
  • Nun wird ein Vorgang für den Schritt SA101 des Bestimmens, ob der Werkzeugweg ein Rückwärtsweg ist oder nicht, gemäß einem Ablaufdiagramm in 6 beschrieben.
  • [Schritt SB100] Gemäß Bedingung (1) wird die Tangentialrichtung des Startpunkts der Teilpunktsequenz bestimmt, und wenn eine beliebige der gespeicherten segmentierten Kurven an dem Endpunkt davon eine Tangentialrichtung hat, die zu der Tangentialrichtung des Startpunkts der Teilpunktsequenz entgegengesetzt ist, wird diese segmentierte Kurve als ein Kandidat bestimmt und der Vorgang fährt mit Schritt SB101 fort. Wenn keine der gespeicherten segmentierten Kurven an dem Endpunkt davon eine Tangentialrichtung hat, die zu der Tangentialrichtung des Startpunkts der Punktsequenz entgegengesetzt ist, fährt der Vorgang mit Schritt SB104 fort. Ein beliebiges verschiedener Verfahren zum Bestimmen der Tangentialrichtung kann verwendet werden. Mehrere Punkte nahe dem Punkt von Interesse können beispielsweise genommen werden, und die Richtungen von Segmenten, die die Punkte miteinander verbinden, können gemittelt werden. Es wird bestimmt, ob die Tangenten zueinander entgegengesetzt sind oder nicht, indem der Winkel θ zwischen den zwei Tangenten mit einem Grenzwert verglichen wird. Die Tangenten werden als zueinander entgegengesetzt bestimmt, wenn der Grenzwert ≤ θ ≤ 180°.
  • [Schritt SB101] Gemäß Bedingung (2) wird der Abstand zwischen dem Startpunkt der Punktsequenz und dem Endpunkt der segmentierten Kurve, von der in Schritt SB100 bestimmt wurde, dass sie ein Kandidat für den Vorwärtsweg ist, bestimmt, und wenn der Abstand kürzer gleich dem Grenzwert ist, wird der Endpunkt der segmentierten Kurve als nahe dem Startpunkt der Punktsequenz bestimmt.
  • [Schritt SB102] Gemäß Bedingung (3) wird die Länge der Punktsequenz, aus der eine segmentierte Kurve erzeugt werden soll, mit der Länge der segmentierten Kurve, die ein Kandidat für den Vorwärtsweg ist, verglichen. Von der Länge der Punktsequenz wird angenommen, dass sie die Länge einer Faltlinie ist, die die Punkte der Punktsequenz miteinander verbindet. Von dem Endpunkt der Punktsequenz wird angenommen, dass er der nächste Faltpunkt auf dem Werkzeugweg ist. Das oben beschriebene Verfahren zum Bestimmen eines Faltpunkts wird verwendet. Die Länge der segmentierten Kurve, die ein Kandidat für den Vorwärtsweg ist, wird mit L bezeichnet, die Punktsequenzlänge wird mit L' bezeichnet und der Grenzwert wird mit k bezeichnet. Wenn die Formel (5) etabliert wurde, wird dann von der Punktsequenz und der segmentierten Kurve bestimmt, dass sie eine ungefähr gleiche Länge haben. 1 k L L ' 1 + k
    Figure DE102014015278B4_0011
  • [Schritt SB103] Ein Flag wird gesetzt, das anzeigt, dass der Werkzeugweg ein Rückwärtsweg ist.
  • [Schritt SB104] Ein Flag wird gelöscht, das anzeigt, dass der Werkzeugweg ein Rückwärtsweg ist.
  • Nun wird ein Vorgang für den Schritt SA102 in 5 des Erzeugens einer normalen segmentierten Kurve gemäß einem Ablaufdiagramm in 7 beschrieben.
  • [Schritt SC100] Eine Anfangskurve ist eine Bezierkurve, die durch den Startpunkt und den Endpunkt der Punktsequenz verläuft und für die Differenziale an den Startpunkten und den Endpunkten spezifizierte Werte haben. Der Wert des Differenzials an dem Startpunkt wird unter Verwendung eines Verfahrens, das in Les Piegl, Wayne Tiller, The NURBS Book, Springer-Verlag, beschrieben wird, und unter Verwendung des Startpunkts und der Punkte nahe dem Startpunkt bestimmt. Dies gilt auch für den Endpunkt. Ein anderes Verfahren kann ein Differenzial an dem Startpunkt einer Bezierkurve verwenden, die durch den Endpunkt und drei Punkte nahe dem Startpunkt verläuft. Für den Endpunkt ein Differenzial an dem Endpunkt einer Bezierkurve, die durch den Startpunkt und drei Punkte nahe dem Endpunkt verläuft.
  • [Schritt SC101] Der Abstand zwischen der Kurve und jedem der Punkte der Teilkurve, die durch die Formel (2) angegeben wird, wird bestimmt und der Höchstwert des Abstands wird erhalten.
  • [Schritt SC102] Wenn der Höchstwert kleiner gleich der Toleranz ist, wird die aktuelle Kurve als eine Teilkurve bestimmt und der Vorgang wird beendet. Wenn der Höchstwert größer als die Toleranz ist, fährt der Vorgang mit Schritt SC103 fort.
  • [Schritt SC103] Ein interner Knoten und ein Kontrollpunkt werden der Kurve hinzugefügt, um die Kurve zu modifizieren, und der Vorgang kehrt zu Schritt SC101 zurück. Der Wert des hinzugefügten Knotens wird unter Verwendung eines beliebigen der Verfahren bestimmt, die in Les Piegl, Wayne Tiller, The NURBS Book, Springer-Verlag, beschrieben werden. Die modifizierte Kurve ist eine B-Spline-Kurve, die in der Form der Formel (1) ausgedrückt wird.
  • [Schritt SC104] Informationen zu der erzeugten Teilkurve werden in den Teilkurvendaten gespeichert.
  • [Schritt SC105] Wenn der Endpunkt der letzten erzeugten Teilkurve ein Faltpunkt auf dem Werkzeugweg ist, wird bestimmt, dass der Endpunkt der segmentierten Kurve erreicht wurde, und der Vorgang wird beendet. Wenn der Endpunkt der letzten erzeugten Teilkurve kein Faltpunkt auf dem Werkzeugweg ist, fährt der Vorgang mit Schritt SC106 fort.
  • [Schritt SC106] Eine Sequenz einer vorher bestimmten Anzahl von Punkten wird neu als eine Teilpunktsequenz entnommen und der Vorgang kehrt zum Schritt SC100 des Erzeugens einer Anfangskurve zurück.
  • Schließlich wird ein Vorgang für Schritt SA103 in 5, in dem die segmentierte Kurve des Rückwärtswegs erzeugt wird, gemäß einem Ablaufdiagramm in 8 beschrieben.
  • [Schritt SD100] Der Wert von r in der Formel (3) wird bestimmt. Wenn von dem Werkzeugweg bestimmt wird, dass er ein Rückwärtsweg ist, wurde die Sequenz bis zu dem Endpunkt des Rückwärtswegs gelesen. Folglich kann der Wert von L' bestimmt werden.
  • [Schritt SD101] Eine Teilpunktsequenz wird entnommen, so dass die resultierende Punktsequenzlänge der Länge entspricht, die von der Formel (4) angegeben wird.
  • [Schritt SD102] Knoten werden aus den Teilkurvendaten zu der entsprechenden Teilkurve des Vorwärtswegs bezogen und umgekehrt. Die umgekehrten Knoten werden dazu verwendet, eine B-Spline-Kurve zu erzeugen. Die Umkehrung eines Knotens bedeutet, dass, wenn der ursprüngliche Knoten mit ui bezeichnet wird, ein neuer Knoten, der mit 1 - ui bezeichnet wird, erzeugt wird. Für die Erzeugung normaler segmentierter Kurven ist die Anfangskurve eine Bezierkurve, wohingegen die Kurve des Rückwärtswegs eine B-Spline-Kurve ist, die unter Verwendung von Informationen zu dem Vorwärtsweg erhalten wird.
  • [Schritt SD103] bis [Schritt SD105] Die Verarbeitung in diesen Schritten des Erzeugens einer Teilkurve selbst ist identisch mit der Verarbeitung für die Erzeugung normaler segmentierter Kurven.
  • [Schritt SD106] Die Verarbeitung zum Speichern von Teilkurveninformationen ist ebenfalls mit der Verarbeitung bei der Erzeugung normaler segmentierter Kurven identisch.
  • [Schritt SD107] Die Verarbeitung zum Bestimmen des Endes der Erzeugung segmentierter Kurven ist ebenfalls mit der Verarbeitung bei der Erzeugung normaler segmentierter Kurven identisch.
  • Der Kurvenausgabeteil 70 gibt Daten zu der resultierenden Kurve in einem vorher bestimmten Format aus. Wenn eine Kurvenerzeugungsvorrichtung von der numerischen Steuervorrichtung getrennt ist, wandelt der Kurvenausgabeteil 70 die Kurve in ein Format um, das von der numerischen Steuervorrichtung dekodiert werden kann, beispielsweise ein NURBS-Befehlsformat. Wenn die Kurvenerzeugungsvorrichtung in die numerische Steuervorrichtung eingebaut ist, so dass die Werkzeugmaschine eine maschinelle Bearbeitung durchführen kann, während die Daten in die Kurve umgewandelt werden, wandelt der Kurvenausgabeteil 70 die Daten in ein internes Format um, das von der numerischen Steuervorrichtung leicht verarbeitet werden kann, d. h. ein Format, das von dem NC-Befehlsdekodierungsteil ausgegeben wird, wenn ein Programm zur maschinellen Bearbeitung einen Kurveninterpolationsbefehl beinhaltet.
  • In den Ausführungsformen wird die B-Spline-Kurve als eine parametrische Kurve verwendet. Um die parametrische Kurve in eine andere Kurvenform, wie eine NURBS-Kurve, auszuweiten, kann dasselbe Konzept auf die Kurve bei geänderter Ausdrucksform der Formel 1 angewendet werden.

Claims (6)

  1. Bearbeitungskurven-Erzeugungsvorrichtung (1) zum Erzeugen einer Bearbeitungskurve eines Werkzeugs, das zum maschinellen Bearbeiten eines Werkstücks verwendet wird, indem das Aufnehmen eines Teils einer Punktsequenz, die einen Werkzeugweg ausdrückt, als eine Teilpunktsequenz wiederholt und eine Teilkurve erzeugt wird, wobei die Bearbeitungskurven-Erzeugungsvorrichtung Folgendes umfasst: eine Speichereinheit (50) für Informationen segmentierter Kurven, die dazu konfiguriert ist, für jede segmentierte Kurve einer Vielzahl segmentierter Kurven, bei denen es sich um einzelne, den Werkzeugweg bereitstellende Kurventeile handelt, Informationen segmentierter Kurven zu speichern, umfassend eine Anzahl erzeugter Teilkurven, die in der segmentierten Kurve enthalten sind, eine Tangentialrichtung an einem Endpunkt der segmentierten Kurve und Teilkurveninformationen, wobei die Teilkurveninformationen mindestens eines umfassen aus (i) einer Teilkurvenlänge jeder der erzeugten Teilkurven und (ii) einer Anzahl von Punkten der Teilpunktsequenz und Informationen, die die Teilkurve mathematisch definieren; eine Kurveninformations-Nutzungsbestimmungseinheit (30), die konfiguriert ist, um: - zu bestimmen, ob ein aktueller Weg ein Rückwärtsweg eines sich hin- und herbewegenden Bearbeitungswegs ist, basierend auf den folgenden Bedingungen: (1) eine beliebige der gespeicherten segmentierten Kurven an dem Endpunkt davon eine Tangentialrichtung hat, die zu der Tangentialrichtung des Startpunkts der Teilpunktsequenz entgegengesetzt ist, (2) der Endpunkt der segmentierten Kurve ist nahe dem Startpunkt der Punktsequenz und (3) die Länge der segmentierten Kurve ist ungefähr identisch mit der Faltlinienlänge der Punktsequenz, und - wenn bestimmt wird, dass der aktuelle Weg der Rückwärtsweg des sich hin- und herbewegenden Bearbeitungswegs ist, zu bestimmen, dass die gespeicherten Informationen segmentierter Kurven verwendet werden sollen, wenn die Teilkurve erzeugt wird, anstelle einer Unterteilung durch die Anzahl von Punkten; und eine Einheit (40) zur Kurvenerzeugung unter Nutzung gespeicherter Informationen, die dazu konfiguriert ist, eine Teilkurve zu erzeugen, wobei die Informationen segmentierter Kurven genutzt werden, und eine Teilkurve zu erzeugen, wenn die Kurveninformations-Nutzungsbestimmungseinheit bestimmt, die gespeicherten Informationen segmentierter Kurven zu nutzen.
  2. Bearbeitungskurven-Erzeugungsvorrichtung nach Anspruch 1, wobei die Bearbeitungskurven-Erzeugungsvorrichtung weiterhin dazu konfiguriert ist, die Teilpunktsequenz zu aufnehmen, indem entweder das Aufnehmen auf der Basis der Anzahl von Punkten oder das Aufnehmen auf der Basis einer Länge der Teilpunktsequenz ausgewählt wird.
  3. Bearbeitungskurven-Erzeugungsvorrichtung nach Anspruch 2, wobei die Auswahl des Verfahrens zum Aufnehmen der Teilpunktsequenz auf der Basis dessen durchgeführt wird, ob der Werkzeugweg ein Rückwärtsweg eines sich hin- und herbewegenden Wegs ist.
  4. Bearbeitungskurven-Erzeugungsverfahren zum Erzeugen einer Bearbeitungskurve eines Werkzeugs, das zum maschinellen Bearbeiten eines Werkstücks verwendet wird, indem ein Vorgang des Aufnehmens eines Teils einer Punktsequenz, die einen Werkzeugweg ausdrückt, als eine Teilpunktsequenz wiederholt und eine Teilkurve erzeugt wird, wobei das Bearbeitungskurven-Erzeugungsverfahren Folgendes umfasst: Speichern, für jede segmentierte Kurve einer Vielzahl segmentierter Kurven, bei denen es sich um einzelne, den Werkzeugweg bereitstellende Kurventeile handelt, von Informationen segmentierter Kurven, umfassend eine Anzahl erzeugter Teilkurven, die in der segmentierten Kurve enthalten sind, eine Tangentialrichtung an einem Endpunkt der segmentierten Kurve und Teilkurveninformationen, wobei die Teilkurveninformationen mindestens eines umfassen aus (i) einer Teilkurvenlänge jeder der Teilkurven und (ii) einer Anzahl von Punkten der Teilpunktsequenz und Informationen, die die Teilkurve mathematisch definieren; und Bestimmen, ob ein aktueller Weg ein Rückwärtsweg eines sich hin- und herbewegenden Bearbeitungswegs ist, basierend auf den folgenden Bedingungen: (1) eine beliebige der gespeicherten segmentierten Kurven an dem Endpunkt davon eine Tangentialrichtung hat, die zu der Tangentialrichtung des Startpunkts der Teilpunktsequenz entgegengesetzt ist, (2) der Endpunkt der segmentierten Kurve ist nahe dem Startpunkt der Punktsequenz und (3) die Länge der segmentierten Kurve ist ungefähr identisch mit der Faltlinienlänge der Punktsequenz; wenn bestimmt wird, dass der aktuelle Weg der Rückwärtsweg des sich hin- und herbewegenden Bearbeitungswegs ist, Bestimmen, dass die gespeicherten Informationen segmentierter Kurven verwendet werden sollen, wenn die Teilkurve erzeugt wird, anstelle einer Unterteilung durch die Anzahl von Punkten; und wenn bestimmt wird, dass die gespeicherten Informationen segmentierter Kurven verwendet werden sollen, Erzeugen einer Teilkurve, wobei die Informationen segmentierter Kurven verwendet werden.
  5. Bearbeitungskurven-Erzeugungsverfahren nach Anspruch 4, wobei das Aufnehmen der Teilpunktsequenz durchgeführt wird, indem entweder ein Verfahren, das auf der Anzahl von Punkten basiert, oder ein Verfahren, das auf einer Länge der Teilpunktsequenz basiert, ausgewählt wird.
  6. Bearbeitungskurven-Erzeugungsverfahren nach Anspruch 5, wobei die Auswahl des Verfahrens zum Aufnehmen der Teilpunktsequenz auf der Basis dessen durchgeführt wird, ob der Werkzeugweg ein Rückwärtsweg eines sich hin- und herbewegenden Wegs ist.
DE102014015278.2A 2013-10-23 2014-10-16 Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren Active DE102014015278B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-220539 2013-10-23
JP2013220539A JP5845228B2 (ja) 2013-10-23 2013-10-23 工具経路曲線化装置

Publications (2)

Publication Number Publication Date
DE102014015278A1 DE102014015278A1 (de) 2015-04-23
DE102014015278B4 true DE102014015278B4 (de) 2021-09-30

Family

ID=52775261

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014015278.2A Active DE102014015278B4 (de) 2013-10-23 2014-10-16 Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren

Country Status (4)

Country Link
US (1) US9696708B2 (de)
JP (1) JP5845228B2 (de)
CN (1) CN104570951B (de)
DE (1) DE102014015278B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5800888B2 (ja) 2013-12-24 2015-10-28 ファナック株式会社 テーブル形式データによる運転でのスムージング機能を備えた数値制御装置
CN104820744A (zh) * 2015-04-30 2015-08-05 柳州宏开汽车科技有限公司 一种曲面数控加工中面向nurbs刀具路径的生成方法
CN110291522A (zh) * 2017-11-30 2019-09-27 西门子工业软件有限公司 操作用于对待制造的制品进行建模的cad系统模型的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078516A (ja) 2002-08-16 2004-03-11 Fanuc Ltd 曲線補間方法
JP2005182437A (ja) 2003-12-19 2005-07-07 Fanuc Ltd 数値制御装置及び数値制御方法
DE60027124T2 (de) 1999-12-16 2006-09-07 Siemens Energy & Automation, Inc. Bewegungssteuerung mit Spline Interpolation
JP2006309645A (ja) 2005-05-02 2006-11-09 Fanuc Ltd 曲線補間方法
DE60123379T2 (de) 2001-02-26 2007-01-11 Hitachi, Ltd. Numerisch gesteuerte Bearbeitungseinheit für gekrümmte Flächen
DE102006036601A1 (de) 2005-08-05 2007-03-15 Denso Wave Inc. Robotersteuerung und Robotersteuerverfahren, welche eine Spline-Interpolation verwenden
JP2007293478A (ja) 2006-04-24 2007-11-08 Fanuc Ltd 曲線補間方法
JP2013171376A (ja) 2012-02-20 2013-09-02 Fanuc Ltd 加工曲線作成機能を有する数値制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2531148B2 (ja) * 1986-09-04 1996-09-04 ソニー株式会社 自由曲面の加工情報生成方法
JPH06214633A (ja) * 1991-05-31 1994-08-05 Riyouki Eng Kk 平面及び曲面の研削装置
JP2800861B2 (ja) 1991-11-19 1998-09-21 株式会社 エフ・エーラボ 三次元加工方法
JP3284865B2 (ja) * 1996-01-29 2002-05-20 トヨタ自動車株式会社 フィレット面形成方法
US6311098B1 (en) * 1996-03-26 2001-10-30 Toyota Jidosha Kabushiki Kaisha Method and apparatus for preparing data on tool moving path, and machining method and system
DE19846426A1 (de) * 1998-10-08 2000-04-13 Open Mind Software Technologie Verfahren zum Steuern der Arbeitsbewegung eines Werkzeugs zur materialabtragenden Bearbeitung eines Materialblocks
JP3201751B2 (ja) * 1999-06-11 2001-08-27 株式会社エフ・エーラボ 三次元加工方法及び三次元加工用制御プログラムを記録した媒体
JP3610485B2 (ja) 1999-09-20 2005-01-12 株式会社日立製作所 数値制御曲面加工装置
JP3536300B2 (ja) * 1999-11-15 2004-06-07 株式会社安川電機 数値制御装置の曲線補間方法
DE10224755A1 (de) * 2002-06-04 2003-12-24 Siemens Ag Steuerungsverfahren für eine industrielle Bearbeitungsmaschine
JP2004185397A (ja) * 2002-12-04 2004-07-02 Fanuc Ltd 数値制御装置
CA2747118C (en) * 2005-03-23 2015-02-10 Hurco Companies, Inc. Method of curvature controlled data smoothing
JP2010500180A (ja) * 2006-08-04 2010-01-07 ハーコ カンパニーズ,インコーポレイティド 工具利用管理システムおよび方法
JP4980458B2 (ja) * 2010-10-27 2012-07-18 ファナック株式会社 数値制御工作機械の加工時間予測装置
JP5192574B2 (ja) * 2011-08-25 2013-05-08 ファナック株式会社 工具先端点の加速度または加加速度の表示部を備えた工具軌跡表示装置
CN102393678B (zh) * 2011-08-25 2014-05-07 沈阳高精数控技术有限公司 适用于五轴数控装置的轨迹平滑处理方法
JP5255108B2 (ja) * 2011-11-04 2013-08-07 ファナック株式会社 指令経路速度条件による速度制御を行う数値制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60027124T2 (de) 1999-12-16 2006-09-07 Siemens Energy & Automation, Inc. Bewegungssteuerung mit Spline Interpolation
DE60123379T2 (de) 2001-02-26 2007-01-11 Hitachi, Ltd. Numerisch gesteuerte Bearbeitungseinheit für gekrümmte Flächen
JP2004078516A (ja) 2002-08-16 2004-03-11 Fanuc Ltd 曲線補間方法
JP2005182437A (ja) 2003-12-19 2005-07-07 Fanuc Ltd 数値制御装置及び数値制御方法
JP2006309645A (ja) 2005-05-02 2006-11-09 Fanuc Ltd 曲線補間方法
DE102006036601A1 (de) 2005-08-05 2007-03-15 Denso Wave Inc. Robotersteuerung und Robotersteuerverfahren, welche eine Spline-Interpolation verwenden
JP2007293478A (ja) 2006-04-24 2007-11-08 Fanuc Ltd 曲線補間方法
JP2013171376A (ja) 2012-02-20 2013-09-02 Fanuc Ltd 加工曲線作成機能を有する数値制御装置

Also Published As

Publication number Publication date
CN104570951B (zh) 2018-10-02
JP5845228B2 (ja) 2016-01-20
US20150112474A1 (en) 2015-04-23
US9696708B2 (en) 2017-07-04
CN104570951A (zh) 2015-04-29
JP2015082251A (ja) 2015-04-27
DE102014015278A1 (de) 2015-04-23

Similar Documents

Publication Publication Date Title
DE102013002516B4 (de) Numerische Steuerung mit Bearbeitungskurvenerzeugungsfunktion
DE102017124477B4 (de) Werkzeugpfaderzeugungsvorrichtung, werkzeugpfaderzeugungsverfahren und werkzeugpfaderzeugungsprogramm
DE19618332A1 (de) Numerische Steuervorrichtung mit Spline-Interpolationsfunktion
DE102012010408B4 (de) Numerische Steuervorrichtung mit einer Funktion zum Korrigieren des Bewegungswegs eines Maschinenprogramms
DE112016005969T5 (de) Werkzeugwegkorrekturvorrichtung und Werkzeugwegkorrekturverfahren
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE112010002245T5 (de) Numerische steuerungsvorrichtung und produktionssystem
DE112009004371T5 (de) Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
DE102018007773A1 (de) Numerisches Steuergerät
DE102012019503A1 (de) Numerische Steuervorrichtung mit einer Anzeigefunktion von physikalischen Daten einer Werkzeugmaschine
DE102014015278B4 (de) Bearbeitungskurven-Erzeugungsvorrichtung und dazu gehöriges Bearbeitungskurven-Erzeugungsverfahren
DE102015120118A1 (de) Werkzeugwegkurvenerzeugungsverfahren und Werkzeugwegkurvenerzeugungsvorrichtung
DE10357650B4 (de) Verfahren zur Glättung von Polygonzügen in NC-Programmen
DE112012006583T5 (de) Numerische Steuervorrichtung
DE112020000656T5 (de) Bearbeitungsprogrammumwandlungsvorrichtung, numerische Steuerung, Bearbeitungsprogrammumwandlungsverfahren und Vorrichtung für maschinelles Lernen
DE112017004424T5 (de) Befehlswerterzeugungsvorrichtung
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren
DE102015001526A1 (de) Numerische Steuerung mit Befehlspfad-Komprimierungsfunktion
EP1634245A2 (de) Verfahren zur ermittlung eines verschiebungsvektors in der bildverarbeitung
DE3634024C2 (de)
DE102018117244B3 (de) Verfahren zum Ermitteln einer Grobbahn aus einer vorgegebenen Kontur
DE102021121398A1 (de) Verfahren zum Bestimmen einer Bearbeitungsbahn und Verfahren zur Bearbeitung eines Werkstücks mittels einer mehrachsigen Bearbeitungsmaschine
EP3465608B1 (de) Verfahren und vorrichtung zum bestimmen eines übergangs zwischen zwei anzeigebildern, und fahrzeug
DE102019207432A1 (de) Numeriksteuerung, Numeriksteuerverfahren und Numeriksteuerprogramm
DE102019009083A1 (de) Numerische Steuervorrichtung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE

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