DE102018211682A1 - Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren - Google Patents

Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren Download PDF

Info

Publication number
DE102018211682A1
DE102018211682A1 DE102018211682.2A DE102018211682A DE102018211682A1 DE 102018211682 A1 DE102018211682 A1 DE 102018211682A1 DE 102018211682 A DE102018211682 A DE 102018211682A DE 102018211682 A1 DE102018211682 A1 DE 102018211682A1
Authority
DE
Germany
Prior art keywords
machine learning
machining
numerical control
reward
value
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.)
Granted
Application number
DE102018211682.2A
Other languages
English (en)
Other versions
DE102018211682B4 (de
Inventor
Hiroshi Matsumura
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 DE102018211682A1 publication Critical patent/DE102018211682A1/de
Application granted granted Critical
Publication of DE102018211682B4 publication Critical patent/DE102018211682B4/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/404Numerical 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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/33Director till display
    • G05B2219/33034Online learning, training
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35349Display part, programmed locus and tool path, traject, dynamic locus
    • 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/45Nc applications
    • G05B2219/45044Cutting
    • 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/49Nc machine tool, till multiple
    • G05B2219/49065Execute learning mode first for determining adaptive control parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)

Abstract

Um die Bearbeitungszeit zu reduzieren und gleichzeitig die Bearbeitungsgenauigkeit aufrechtzuerhalten, indem eine angemessene Bearbeitungsbedingung durch ein maschinelles Lernen bestimmt wird, umfasst eine maschinelle Lernvorrichtung 300, die konfiguriert ist zum Durchführen eines maschinellen Lernens in Bezug auf eine numerische Steuervorrichtung 200, die eine Werkzeugmaschine 100 basierend auf einem Bearbeitungsprogramm betreibt: eine Zustandsinformationen-Erhaltungseinheit 301 zum Erhalten von Zustandsinformationen einschließlich von in dem Bearbeitungsprogramm gesetzten Bedingungen, die die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße umfassen, und von einer Zykluszeit für das Schneiden eines Werkstücks und einer Bearbeitungsgenauigkeit des Werkstücks; eine Aktionsinformationen-Ausgabeeinheit 303 zum Ausgeben von Aktionsinformationen einschließlich von Modifikationsinformationen der in den Zustandsinformationen enthaltenen Bedingungen zu der numerischen Steuervorrichtung; eine Belohnungs-Ausgabeeinheit 3021 zum Ausgeben eines Belohnungswerts in einem Verstärkungslernen basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit, die in den Zustandsinformationen enthalten sind; und eine Wertfunktion-Aktualisierungseinheit 3022 zum Aktualisieren einer Aktionswertfunktion basierend auf einem durch die Belohnungsausgabeeinheit ausgegebenen Belohnungswert, den Zustandsinformationen und den Aktionsinformationen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Erfindungsfeld
  • Die Erfindung betrifft eine maschinelle Lernvorrichtung, eine numerische Steuervorrichtung, ein numerisches Steuersystem und ein maschinelles Lernverfahren.
  • Stand der Technik
  • Ein Beispiel für eine Gewindelochbearbeitung ist eine Gewindefräsbearbeitung. Die Gewindefräsbearbeitung umfasst, nachdem ein Loch in einem Werkstück durch Bohren ausgebildet wurde, das Durchführen einer Seitenflächenbearbeitung des Lochs durch eine spiralförmige Erweiterung unter Verwendung, anstatt eines Gewindebohrens, eines als Gewindefräse bezeichneten Werkzeugs für das Erzeugen eines Gewindes durch Schneiden. Die Bearbeitung unter Verwendung einer Gewindefräse weist die folgenden Eigenschaften im Vergleich zu einer Bearbeitung unter Verwendung eines Gewindebohrens auf.
    1. (1) Weil die Bearbeitung unter Verwendung der Gewindefräse eine Bearbeitung unter Verwendung eines Werkzeugs mit einem kleineren Durchmesser als der Innendurchmesser eines weiblichen Gewindes ist, ist eine Spanbildung unwahrscheinlich, sodass eine plötzliche Beschädigung des Werkzeugs während der Bearbeitung unwahrscheinlich ist.
    2. (2) Bei der Bearbeitung unter Verwendung der Gewindefräse müssen die Drehung und die Vorschubrate einer Klinge nicht wie beim Gewindebohren synchronisiert werden, sodass die Geschwindigkeit und die Vorschubrate einer Klinge frei angepasst werden können.
  • Techniken zum Verbessern der Bearbeitungsgenauigkeit der Bearbeitung werden in den Patentdokumenten 1 und 2 erläutert. Das Patentdokument 1 gibt eine Technik zum Bearbeiten, Messen und Bewerten des ersten Werkstücks sowie zum Modifizieren eines Pfads eines Bearbeitungsprogramms unter Verwendung des Bewertungsergebnisses an, um die Bearbeitungsgenauigkeit des zweiten Werkstücks und der Werkstücke danach zu verbessern. Das Patentdokument 2 gibt eine Technik zum Lernen, ob eine Anormalität in einer Maschine auftritt, aus der Last, der Temperatur und der Vibration eines Motors und zum Anpassen einer Bearbeitungsbedingung wie etwa der Vorschubrate und der Spindelgeschwindigkeit an, um die Bearbeitungsgenauigkeit zu verbessem, an.
    • Patentdokument 1: Ungeprüfte japanische Patentanmeldung mit der Veröffentlichungsnummer H08-185211
    • Patentdokument 2: Japanisches Patent Nr. 6063016
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Bei einer Bearbeitung durch eine Gewindefräse ist unter Berücksichtigung der Basismaterialien eines Werkzeugs und eines Werkstücks, um die kürzeste Bearbeitungszeit zu erzielen und gleichzeitig die Genauigkeit eines Gewindes aufrechtzuerhalten, eine Einstellung einer entsprechenden Bearbeitungsbedingung in Bezug auf die Drehung des Werkzeugs und die Bewegung des Werkzeugs oder des Werkstücks erforderlich. Deshalb weist eine Bearbeitung durch eine Gewindefräse das Problem auf, dass Zeit für die Einstellung aufgewendet werden muss. Und nicht nur bei einer Gewindefräsbearbeitung, sondern auch bei einer Innendurchmesserbearbeitung, einer Außenformbearbeitung und einer Oberflächenbearbeitung ist, um die kürzeste Bearbeitungszeit zu erzielen und gleichzeitig die Bearbeitungsgenauigkeit aufrechtzuerhalten, eine Einstellung einer entsprechenden Bearbeitungsbedingung in Bezug auf die Drehung des Werkzeugs und die Bewegung des Werkzeugs oder des Werkstücks erforderlich.
  • Es ist eine Aufgabe der Erfindung, eine maschinelle Lernvorrichtung, eine numerische Steuervorrichtung, ein numerisches Steuersystem und ein maschinelles Lernverfahren anzugeben, mit denen die Bearbeitungszeit reduziert werden kann und gleichzeitig die Bearbeitungsgenauigkeit aufrechterhalten werden kann, indem eine entsprechende Bearbeitungsbedingung durch ein maschinelles Lernen bestimmt wird.
    1. (1) Eine maschinelle Lernvorrichtung gemäß der Erfindung ist eine maschinelle Lernvorrichtung (zum Beispiel die weiter unten beschriebene maschinelle Lernvorrichtung 300), die konfiguriert ist zum Durchführen eines maschinellen Lernens in Bezug auf eine numerische Steuervorrichtung (zum Beispiel die weiter unten beschriebene numerische Steuervorrichtung 200), die eine Werkzeugmaschine (zum Beispiel die weiter unten beschriebene Werkzeugmaschine 100) basierend auf einem Bearbeitungsprogramm betreibt, wobei die maschinelle Lernvorrichtung umfasst: eine Zustandsinformationen-Erhaltungseinheit (zum Beispiel die weiter unten beschriebene Zustandsinformationen-Erhaltungseinheit 301) zum Erhalten von Zustandsinformationen einschließlich eines Setzwerts, einer Zykluszeit für das Schneiden eines Werkstücks und einer Bearbeitungsgenauigkeit des Werkstücks, wobei der Setzwert eine Spindelgeschwindigkeit, eine Vorschubrate, eine Anzahl von Schnitten und eine Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße umfasst; eine Aktionsinformationen-Ausgabeeinheit (zum Beispiel die weiter unten beschriebene Aktionsinformationen-Ausgabeeinheit 303) zum Ausgeben von Aktionsinformationen einschließlich von Modifikationsinformationen des in den Zustandsinformationen enthaltenen zu der numerischen Steuervorrichtung; eine Belohnungs-Ausgabeeinheit (zum Beispiel die weiter unten beschriebene Belohnungs-Ausgabeeinheit 3021) zum Ausgeben eines Belohnungswerts in einem Verstärkungslernen basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit, die in den Zustandsinformationen enthalten sind; und eine Wertfunktion-Aktualisierungseinheit (zum Beispiel die weiter unten beschriebene Wertfunktion-Aktualisierungseinheit 3022) zum Aktualisieren einer Aktionswertfunktion basierend auf einem durch die Belohnungs-Ausgabeeinheit ausgegebenen Belohnungswert, den Zustandsinformationen und den Aktionsinformationen; wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder die Werkzeugkompensationsgröße in einem vorbestimmten Bearbeitungsprogramm gesetzt sind, wobei die numerische Steuervorrichtung die Werkzeugmaschine zum Durchführen eines Schneidens veranlasst, indem sie das Bearbeitungsprogramm ausführt, und wobei die Zykluszeit und die Bearbeitungsgenauigkeit durch die das Bearbeitungsprogramm ausführende numerische Steuervorrichtung erhalten werden.
    2. (2) In der maschinellen Lernvorrichtung gemäß dem oben genannten Punkt (1) kann das maschinelle Lernen fortgesetzt werden, ohne dass eine maximale Anzahl von Versuchen für das maschinelle Lernens vorgesehen ist.
    3. (3) In der maschinellen Lernvorrichtung gemäß den oben genannten Punkten (1) oder (2) kann das maschinelle Lernen für eine Gewindefräsbearbeitung, eine Innendurchmesserbearbeitung, eine Außenformbearbeitung und eine Oberflächenbearbeitung der Werkzeugmaschine durchgeführt werden.
    4. (4) In der maschinellen Lernvorrichtung gemäß einem der oben genannten Punkte (1) bis (3) kann die maschinelle Lernvorrichtung eine Optimierungsaktionsinformationen-Ausgabeeinheit (zum Beispiel die weiter unten beschriebene Optimierungsaktionsinformationen-Ausgabeeinheit 305) zum Erzeugen und Ausgeben der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang oder der Werkzeugkompensationsgröße basierend auf einer durch die Wertfunktion-Aktualisierungseinheit aktualisierten Wertfunktion enthalten.
    5. (5) Ein numerisches Steuersystem gemäß der Erfindung ist ein numerisches Steuersystem, das die maschinelle Lernvorrichtung gemäß einem der oben genannten Punkte (1) bis (4) und eine numerische Steuervorrichtung umfasst, wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder die Werkzeugkompensationsgröße eines Bearbeitungsprogramms mechanisch durch die maschinelle Lernvorrichtung gelernt werden.
    6. (6) Eine numerische Steuervorrichtung gemäß der Erfindung ist eine numerische Steuervorrichtung, die die maschinelle Lernvorrichtung gemäß einem der oben genannten Punkte (1) bis (4) zum Durchführen eines maschinellen Lernens der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang oder der Werkzeugkompensationsgröße durch die maschinelle Lernvorrichtung enthält.
    7. (7) Ein maschinelles Lernverfahren gemäß der Erfindung ist ein maschinelles Lernverfahren einer maschinellen Lernvorrichtung (zum Beispiel der weiter unten beschriebenen maschinellen Lernvorrichtung 300) zum Durchführen eines maschinellen Lernens in Bezug auf eine numerische Steuervorrichtung (zum Beispiel die weiter unten beschriebene numerische Steuervorrichtung 200), die eine Werkzeugmaschine (zum Beispiel die weiter unten beschriebene Werkzeugmaschine 100) basierend auf einem Bearbeitungsprogramm beschreibt, wobei das maschinelle Lernverfahren umfasst:
      • Erhalten von Zustandsinformationen einschließlich eines Setzwerts, einer Zykluszeit für das Schneiden eines Werkzeugs und einer Bearbeitungsgenauigkeit des Werkstücks, wobei der Setzwert eine Spindelgeschwindigkeit, eine Vorschubrate, eine Anzahl von Schnitten und eine Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße enthält;
      • Ausgeben von Aktionsinformationen einschließlich von Modifikationsinformationen des in den Zustandsinformationen enthaltenen Setzwerts zu der numerischen Steuervorrichtung;
      • Berechnen eines Belohnungswerts in einem Verstärkungslernen basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit, die in den Zustandsinformationen enthalten sind, und
      • Aktualisieren einer Aktionswertfunktion basierend auf dem berechneten Belohnungswert, den Zustandsinformationen und den Aktionsinformationen;
      • wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder die Werkzeugkompensationsgröße in einem vorbestimmten Bearbeitungsprogramm gesetzt sind, wobei die numerische Steuervorrichtung die Werkzeugmaschine zum Durchführen des Schneidens veranlasst, indem sie das Bearbeitungsprogramm durchführt, und wobei die Zykluszeit und die Bearbeitungsgenauigkeit durch die das Bearbeitungsprogramm durchführende numerische Steuervorrichtung erhalten werden.
  • Gemäß der Erfindung kann die Bearbeitungszeit reduziert werden und kann gleichzeitig die Bearbeitungsgenauigkeit aufrechterhalten werden, indem eine entsprechende Bearbeitungsbedingung durch ein maschinelles Lernen bestimmt wird. Weil die Bearbeitungsgenauigkeit auch in einem Werkzeug aufrechterhalten werden kann, das für eine lange Zeitdauer verwendet wurde, indem eine entsprechende Bearbeitungsbedingung in Entsprechung zu einer Situation bestimmt wird, kann die Lebensdauer eines Werkzeugs verlängert werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein erläuterndes Diagramm einer Gewindefräsbearbeitung. 2 ist ein Blockdiagramm, das ein numerisches Steuersystem und eine Werkzeugmaschine gemäß einer ersten Ausführungsform der Erfindung zeigt. 3 ist ein Blockdiagramm, das Konfigurationen einer numerischen Steuervorrichtung des numerischen Steuersystems und der Werkzeugmaschine der ersten Ausführungsform der Erfindung zeigt. 4 ist ein Blockdiagramm, das eine Konfiguration einer maschinellen Lernvorrichtung zeigt. 5 ist ein Flussdiagramm, das den Betrieb der maschinellen Lernvorrichtung während eines Q-Lernens in der ersten Ausführungsform der Erfindung zeigt. 6 ist ein Flussdiagramm, das eine Berechnungsmethode für eine Belohnung basierend auf der Zykluszeit in dem Schritt S15 von 5 zeigt. 7 ist ein Flussdiagramm, das eine Berechnungsmethode für eine Belohnung basierend auf der Bearbeitungsgenauigkeit in Schritt S15 von 5 zeigt. 8 ist ein Flussdiagramm, das eine Operation während der Erzeugung von Optimierungsaktionsinformationen durch eine Optimierungsaktionsinformationen-Ausgabeeinheit zeigt. 9 ist ein erläuterndes Diagramm einer Außenformbearbeitung. 10 ist ein Flussdiagramm, das eine Berechnungsmethode für eine Belohnung basierend auf der Oberflächengenauigkeit in der Operation der maschinellen Lernvorrichtung während des Q-Lernens in der ersten Ausführungsform der Erfindung zeigt. 11 ist ein erläuterndes Diagramm einer Oberflächenbearbeitung.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden Ausführungsformen der Erfindung mit Bezug auf die Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • Ein numerisches Steuersystem der ersten Ausführungsform umfasst eine numerische Steuervorrichtung und eine maschinelle Lernvorrichtung und wird verwendet, wenn eine Gewindefräsbearbeitung durch eine Werkzeugmaschine durchgeführt wird. Die erste Ausführungsform wird anhand des Beispiels einer Gewindefräsbearbeitung beschrieben. Die Erfindung ist jedoch nicht auf eine Gewindefräsbearbeitung beschränkt. Wie in 1 gezeigt, ist eine Bearbeitung unter Verwendung einer Gewindefräse eine Bearbeitung zum Öffnen eines Lochs H in einem Werkstück W1 durch das Bohren und das anschließende Durchführen einer Seitenflächenbearbeitung des Lochs H durch eine spiralförmige Erweiterung unter Verwendung einer Gewindefräse T1, um ein Gewinde durch Schneiden zu erzeugen. Um bei einer Bearbeitung unter Verwendung einer Gewindefräse unter Berücksichtigung der Basismaterialien eines Werkzeugs und eines Werkstücks eine kürzere Bearbeitungszeit zu erzielen und gleichzeitig die Genauigkeit eines Gewindes aufrechtzuerhalten, ist wie in 1 gezeigt eine Einstellung der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten in der Werkzeugdurchmesserrichtung und der Schnittgröße pro Schneidvorgang in der Werkzeugdurchmesserrichtung einer Spindel, die die als Werkzeug verwendete Gewindefräse T1 dreht, erforderlich. Die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten in der Werkzeugdurchmesserrichtung und die Schnittgröße pro Schneidvorgang in der Werkzeugdurchmesserrichtung der Spindel ändern sich in Abhängigkeit von Bedingungen wie etwa der Geometrie des Werkstücks, dem Material des Werkstücks, der Außenform des Werkzeugs (dem Durchmesser, der Anzahl von Klingen usw.) und dem Material des Werkzeugs.
  • 2 ist ein Blockdiagramm, das ein numerisches Steuersystem und eine Werkzeugmaschine der ersten Ausführungsform der Erfindung zeigt. Wie in 2 gezeigt, umfasst das numerische Steuersystem 10 n numerische Steuervorrichtungen 200-1 bis 200-n, ein Netzwerk 400 und maschinelle Lernvorrichtungen 300-1 bis 300-n, die mit den numerischen Steuervorrichtungen 200-1 bis 200-n über das Netzwerk 400 verbunden sind. Die n Werkzeugmaschinen 100-1 bis 100-n sind mit den n numerischen Steuervorrichtungen 200-1 bis 200-n verbunden. Es ist zu beachten, dass n eine beliebige natürliche Zahl ist.
  • Die Werkzeugmaschine 100-1 und die numerische Steuervorrichtung 200-1 sind als ein eins-zu-eins-Satz zu betrachten und sind kommunikativ miteinander verbunden. Die Werkzeugmaschine 100-2 bis 100-n und die numerischen Steuervorrichtungen 200-2 bis 200-n sind in gleicher Weise verbunden wie die Werkzeugmaschine 100-1 und die numerische Steuervorrichtung 200-1.
  • Es können n Sätze der Werkzeugmaschinen 100-1 bis 100-n und der numerischen Steuervorrichtungen 200-1 bis 200-n direkt über eine Verbindungsschnittstelle oder über ein Netzwerk wie etwa ein LAN (Local Area Network) verbunden sein. Zum Beispiel können eine Vielzahl von n Sätzen der Werkzeugmaschinen 100-1 bis 100-n und der numerischen Steuervorrichtungen 200-1 bis 200-n im gleichen Werk oder in verschiedenen Werken installiert sein.
  • Die numerische Steuervorrichtung 200-1 und eine maschinelle Lernvorrichtung 300-1 sind als ein eins-zu-eins-Satz zu betrachten und sind kommunikativ miteinander verbunden. Die numerischen Steuervorrichtungen 200-2 bis 200-n und die maschinellen Lernvorrichtungen 300-2 bis 300-n sind in gleicher Weise verbunden wie die numerische Steuervorrichtung 200-1 und die maschinelle Lernvorrichtung 300-1. In 1 sind n Sätze der numerischen Steuervorrichtungen 200-1 bis 200-n und der maschinellen Lernvorrichtungen 300-1 bis 300-n über das Netzwerk 400 verbunden. Was jedoch die n Sätze der numerischen Steuervorrichtungen 200-1 bis 200-n und der maschinellen Lernvorrichtungen 300-1 bis 300-n angeht, können die numerischen Steuervorrichtungen und die maschinellen Lernvorrichtungen in jedem der Sätze direkt über eine Verbindungsschnittstelle miteinander verbunden sein. Das Netzwerk 400 ist zum Beispiel ein LAN (Local Area Network), das in einem Werk installiert ist, das Internet, ein öffentliches Telefonnetz oder eine Kombination aus diesen. Es werden hier keine besonderen Beschränkungen hinsichtlich des Kommunikationsverfahrens in dem Netzwerk 400 gemacht, und es kann eine drahtgebundene oder eine drahtlose Verbindung verwendet werden.
  • Im Folgenden werden Konfigurationen der Werkzeugmaschinen 100-1 bis 100-n, der numerischen Steuervorrichtungen 200-1 bis 200-n und der maschinellen Lernvorrichtungen 300-1 bis 300-n in dem numerischen Steuersystem 10 beschrieben. 3 ist ein Blockdiagramm, das Konfigurationen einer numerischen Steuervorrichtung 200 des numerischen Steuersystems 10 und eine Werkzeugmaschine 100 der ersten Ausführungsform der Erfindung zeigt. 4 ist ein Blockdiagram, das eine Konfiguration einer maschinellen Lernvorrichtung 300 zeigt. Die Werkzeugmaschine 100 von 3, die numerische Steuervorrichtung 200 von 3 und die maschinelle Lernvorrichtung 300 von 4 entsprechen zum Beispiel jeweils der Werkzeugmaschine 100-1, der numerischen Steuervorrichtung 200-1 und der maschinellen Lernvorrichtung 300-1 von 2. Die Werkzeugmaschinen 100-2 bis 100-n, die numerischen Steuervorrichtungen 200-2 bis 200-n und die maschinellen Lernvorrichtungen 300-2 bis 300-n weisen ebenfalls die gleichen Konfigurationen auf.
  • Im Folgenden wird zuerst die Werkzeugmaschine 100 beschrieben. Die Werkzeugmaschine 100 führt eine Gewindefräsbearbeitung in Entsprechung zu einem Befehl aus, der basierend auf einem in der numerischen Steuervorrichtung 200 gesetzten Bearbeitungsprogramm erzeugt wird. Die Werkzeugmaschine enthält einen Spindelmotor 101, einen Achsenservomotor 102 und einen Zykluszähler 103.
  • Der Spindelmotor 101 ist ein Spindelmotor zum Drehen einer Gewindefräse. Die Gewindefräse ist an einer Drehachse des Spindelmotors 101 angebracht.
  • Der Achsenservomotor 102 ist ein Servomotor, der die Gewindefräse spiralförmig in Bezug auf ein Loch des Werkstücks bewegt. Der Achsenservomotor 102 von 3 umfasst drei Achsenservomotoren, die in Bezug auf eine X-Achsenrichtung, eine Y-Achsenrichtung und eine Z-Achsenrichtung vorgesehen sind. Eine Drehachse des Achsenservomotors 102 in der X-Achsenrichtung, der Y-Achsenrichtung und der Z-Achsenrichtung wird gedreht. Daraus resultiert, dass die Gewindefräse spiralförmig durch einen Kugelgewindetrieb bewegt wird, der mit dem Achsenservomotor 102 oder ähnlichem verbunden ist. Der Achsenservomotor 102 treibt hier die Gewindefräse spiralförmig an. Während jedoch der Achsenservomotor in Bezug auf die X-Achsenrichtung und die Y-Achsenrichtung einen Tisch mit dem darauf montierten Werkstück in der X-Achsenrichtung und der Y-Achsenrichtung bewegt, kann der Achsenservomotor in Bezug auf die Z-Achsenrichtung die Gewindefräse in der Z-Achsenrichtung bewegen, sodass sich die Gewindefräse spiralförmig relativ zu dem Werkstück bewegt.
  • Der Zykluszähler 103 ist ein Zähler zum Messen der Zykluszeit, der die für die Gewindefräsbearbeitung erforderliche Zeit misst, wenn die Werkzeugmaschine 100 die Gewindefräsbearbeitung durchführt. Die durch den Zykluszähler 103 gemessene Zykluszeit wird zu der numerischen Steuervorrichtung 200 ausgegeben.
  • Die numerische Steuervorrichtung 200 ist eine Vorrichtung, die die Werkzeugmaschine 100 derart steuert, dass die Werkzeugmaschine 100 eine Gewindefräsbearbeitung durchführt. Die numerische Steuervorrichtung 200 überträgt Zustandsinformationen (auch als „Status“ bezeichnet) zu der maschinellen Lernvorrichtung 300. Die numerische Steuervorrichtung 200 empfängt Aktionsinformationen (auch als „Aktion“ bezeichnet) von der maschinellen Lernvorrichtung 300. Details der einzelnen Informationen werden in der Beschreibung der maschinellen Lernvorrichtung 300 erläutert.
  • Die numerische Steuervorrichtung 200 enthält eine Spindelmotor-Steuereinheit 201, eine Achsenservomotor-Steuereinheit 202, eine Numerische-Steuerinformationen-Verarbeitungseinheit 203, eine Speichereinheit 204 und eine Programmmodifikationseinheit 205.
  • Die Spindelmotor-Steuereinheit 201 erzeugt einen Drehmomentbefehl basierend auf einem Betriebsbefehl von der Numerische-Steuerinformationen-Verarbeitungseinheit 203 und überträgt den erzeugten Drehmomentbefehl zu der Werkzeugmaschine 100, um die Drehung des Spindelmotors 101 der Werkzeugmaschine 100 zu steuern. Die Achsenservomotor-Steuereinheit 202 erzeugt einen Drehmomentbefehl basierend auf einem Positionsbefehl von der Numerische-Steuerinformationen-Verarbeitungseinheit 203 und überträgt den erzeugten Drehmomentbefehl zu der Werkzeugmaschine 100, um eine Drehung des Achsenservomotors 102 in der X-Achsenrichtung, der Y-Achsenrichtung und der Z-Achsenrichtung der Werkzeugmaschine 100 zu steuern. Die Achsenservomotor-Steuereinheit 202 besteht aus drei Achsenservomotor-Steuereinheiten, die drei Achsenservomotoren steuern, die jeweils für die X-Achsenrichtung, die Y-Achsenrichtung und die Z-Achsenrichtung vorgesehen sind.
  • Die Numerische-Steuerinformationen-Verarbeitungseinheit 203 überträgt einen Betriebsbefehl zu der Spindelmotor-Steuereinheit 201 und einen Positionsbefehl zu der Achsenservomotor-Steuereinheit 202 basierend auf einem in der Speichereinheit 204 gespeicherten Bearbeitungsprogramm. Die Numerische-Steuerinformationen-Verarbeitungseinheit 203 erhält die von dem Zykluszähler 103 der Werkzeugmaschine 100 ausgegebene Zykluszeit und die Bearbeitungsgenauigkeit des Werkstücks, für das eine Gewindefräsbearbeitung durchgeführt wird, und überträgt die Zykluszeit und die Bearbeitungsgenauigkeit zu der maschinellen Lernvorrichtung 300 als Zustandsinformationen. Die Bearbeitungsgenauigkeit des Werkstücks wird durch ein dreidimensionales Messgerät oder ähnliches gemessen und in die Numerische-Steuerinformationen-Verarbeitungseinheit 203 eingegeben. Die Werkzeugmaschine 100 kann eine Messfunktion für die Bearbeitungsgenauigkeit des Werkstücks aufweisen.
  • Die Bearbeitungsgenauigkeit der Gewindebearbeitung in dem Werkstück umfasst ein Bestimmungsergebnis dazu, ob die Bearbeitungsgenauigkeit in einem angemessenen Bereich liegt. Ob die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt, kann durch ein dreidimensionales Messgerät oder ähnliches bestimmt werden. Ob zum Beispiel eine Einsteckseite einer Schraublehre durch ein mittels einer Gewindefräsbearbeitung ausgebildetes Gewindeloch hindurchgehen kann oder ob eine Stoppseite mehr als zwei Drehungen für das Eintreten in das Schraubloch vollzieht, kann prüfend durch einen Beobachter oder einen Roboter bestimmt werden. Wenn die Bearbeitungsgenauigkeit nicht in dem angemessenen Bereich liegt, weil das Gewindeloch klein ist, wird ein unzureichendes Schneiden bestimmt. Wenn die Bearbeitungsgenauigkeit nicht in dem angemessenen Bereich liegt, weil das Gewindeloch groß ist, wird ein übermäßiges Schneiden bestimmt. Wenn die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt, kann die Bearbeitungsgenauigkeit des in dem Werkstück ausgebildeten Gewindes derart sein, dass zum Beispiel eine Toleranzbereichsklasse eines weiblichen Gewindes ein Bewertungsergebnis enthält, das durch die Toleranzqualitäten „hoch“, „mittel“ und „niedrig“ wie in der Tabelle 8 von JIS B0209-1:2001 (entspricht „ISO 965-1:1998) beschrieben bewertet wird. Die Toleranzqualität wird durch ein dreidimensionales Messgerät oder ähnliches gemessen. Die Toleranzqualität weist eine höhere Bearbeitungsgenauigkeit in der Reihenfolge von „hoch“, „mittel“ und „niedrig“ auf.
  • Die Numerische-Steuerinformationen-Verarbeitungseinheit 203 überträgt die Spindelgeschwindigkeit die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang, die durch das Bearbeitungsprogramm gesetzt wurden, zu der maschinellen Lernvorrichtung 300 als Zustandsinformationen.
  • Die Programmmodifikationseinheit 205 modifiziert das Bearbeitungsprogramm direkt. Insbesondere modifiziert die Programmmodifikationseinheit 205 einen Programmcode der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang, die durch das Bearbeitungsprogramm beschrieben werden, basierend auf den von der maschinellen Lernvorrichtung 300 ausgegebenen Aktionsinformationen und den Optimierungsaktionsinformationen.
  • Die Konfigurationen der Werkzeugmaschine 100 und der numerischen Steuervorrichtung 200 wurden oben beschrieben, wobei die oben beschriebenen Konfigurationen insbesondere auf den Betrieb dieser Ausführungsform bezogen sind. Details der Konfiguration der Werkzeugmaschine 100 und der numerischen Steuervorrichtung 200 wie zum Beispiel ein Positions- und Geschwindigkeitsdetektor für das Durchführen einer Positions- und Geschwindigkeitsrückkopplung in Bezug auf die Achsenservomotor-Steuereinheit, ein Motorantriebsverstärker, der einen Betriebsbefehl verstärkt, ein Bedienfeld zum Empfangen von Betätigungen eines Benutzers und ähnliches sind dem Fachmann bekannt. Deshalb wird hier auf detaillierte Beschreibungen und Illustrationen derselben verzichtet.
  • <Maschinelle Lernvorrichtung 300>
  • Die maschinelle Lernvorrichtung 300 ist eine Vorrichtung, die ein maschinelles Lernen einer Spindelgeschwindigkeit, einer Zuführrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang durchführt, wenn die Werkzeugmaschine 100 betrieben wird, indem sie das maschinelle Programm durch die numerische Steuervorrichtung 200 ausführt.
  • Bevor jeder Funktionsblock in der maschinellen Lernvorrichtung 300 beschrieben wird, wird der grundlegende Mechanismus des Verstärkungslernens beschrieben. Ein Agent (entspricht der maschinellen Lernvorrichtung 300 in dieser Ausführungsform) beobachtet einen Umgebungszustand und wählt eine Aktion aus. Dann verändert sich die Umgebung basierend auf dieser Aktion. Es wird eine Belohnung in Entsprechung zu der Umgebungsänderung gegeben, und der Agent lernt die Auswahl (Entscheidung) einer besseren Aktion. Während ein überwachtes Lernen ein vollständig korrektes Ergebnis vorsieht, wird die Belohnung in dem Verstärkungslernen häufig als ein Fragmentwert basierend auf einer Änderung in einem Teil der Umgebung präsentiert. Auf diese Weise lernt der Agent, eine Aktion derart auszuwählen, dass die Gesamtbelohnung in der Zukunft maximiert ist.
  • Auf diese Weise lernt bei dem Verstärkungslernen die maschinelle Lernvorrichtung 300, um eine geeignete Aktion unter Berücksichtigung eines wechselseitigen Effekts der Aktion mit der Umgebung, d.h. eine Aktion zum Maximieren der in der Zukunft zu erhaltenden Belohnung, zu lernen. Damit kann in dieser Ausführungsform eine die Zukunft beeinflussende Aktion wie etwa das Auswählen von Aktionsinformationen für das Reduzieren der Zykluszeit erzielt werden und kann gleichzeitig die Bearbeitungsgenauigkeit aufrechterhalten werden.
  • In dem Verstärkungslernen kann eine beliebige Lernmethode verwendet werden. In der folgenden Beschreibung wird ein beispielhafter Fall beschrieben, in dem ein Q-Lernen, das eine Methode zum Lernen einer Wertfunktion Q (S, A) und zum Auswählen einer Aktion A in einem Umgebungszustand S ist, verwendet wird. Ein Ziel des Q-Lernens besteht darin, die Aktion A mit der höchsten Wertfunktion Q (S, A) als eine optimale Aktion aus den Aktionen A, die in einem Zustand S genommen werden können, auszuwählen.
  • Wenn jedoch das Q-Lernen zu Beginn durchgeführt wird, wird in Bezug auf eine Kombination des Zustands S und der Aktion A, überhaupt kein korrekter Wert der Wertfunktion Q (S, A) identifiziert. Der Agent wählt also verschiedene Aktionen A unter einer Bedingung S aus und wählt eine bessere Aktion basierend auf der gegebenen Belohnung in Bezug auf die Aktion A zu dieser Zeit aus, um die korrekte Wertfunktion Q (S, A) zu lernen.
  • Der Agent versucht, schließlich Q (S, A) = E [Σ(γt)rt] zu erhalten, um die Gesamtbelohnung, die in der Zukunft erhalten werden kann, zu maximieren. E[] gibt einen erwarteten Wert wieder, t gibt die Zeit wieder, y gibt einen Parameter wieder, der als Diskontwert bezeichnet und weiter unten beschrieben wird, rt ist eine Belohnung zur Zeit t, und Σ gibt die Summe zur Zeit t wieder. Der erwartete Wert in dieser Formel ist ein erwarteter Wert in einem Fall, in dem der Zustand in Entsprechung zu der optimalen Aktion geändert wird. Die optimale Aktion ist jedoch in dem Prozess des Q-Lernens nicht deutlich. Deshalb nimmt der Agent verschiedene Aktionen, um das Verstärkungslernen während des Suchens durchzuführen. Eine Aktualisierungsformel einer derartigen Wertfunktion Q (S, A) kann zum Beispiel durch die folgende Formel 1 wiedergegeben werden Q ( S t + 1 , A t + 1 ) Q ( S t , A t ) + α ( r t + 1 + γ m a x A Q ( S t + 1 , A ) Q ( S t , A t ) )
    Figure DE102018211682A1_0001
  • In der oben beschriebenen Formel 1 gibt St einen Umgebungszustand zum Zeitpunkt t wieder und gibt At eine Aktion zum Zeitpunkt t wieder. Der Zustand wird zu St+1 durch die Aktion At geändert. rt+1 gibt eine durch diese Zustandsänderung erhaltene Belohnung an. Ein mit max addiertes Element wird durch das Multiplizieren von y mit dem Wert Q erhalten, wenn die Aktion A mit dem höchsten Q-Wert, die zu diesem Zeitpunkt identifiziert wurde, in dem Zustand St+1 ausgewählt wird. γ ist ein Parameter von 0<γ≤1 und wird als Diskontrate bezeichnet. α ist ein Lernkoeffizient und liegt im Bereich von 0<α≤1.
  • Die oben beschriebene Formel 1 gibt ein Verfahren zum Aktualisieren der Wertfunktion Q (St, At) der Aktion At in dem Zustand St basierend auf der Belohnung rt+1, die als Ergebnis der Aktion At zurück übertragen wird, an. Diese Aktualisierungsformel gibt wieder, dass Q (St, At) groß gesetzt wird, wenn ein Wert maxa Q(St+1, A) der besten Aktion in dem nächsten Zustand St+1 durch die Aktion At größer als die Wertfunktion Q (St, At) der Aktion At in de Zustand St ist, während Q (St, At) klein gesetzt wird, wenn der Wert maxa Q (St+1, A) der besten Aktion in dem nächsten Zustand St+1 durch die Aktion At kleiner ist. Das heißt, dass die Aktualisierungsformel angibt, dass ein Wert einer Aktion in einem Zustand zu einem Wert der besten Aktion in dem nächsten Zustand durch die Aktion angenähert wird. Die Differenz zwischen den Werten der Aktionen ändert sich in Abhängigkeit von der Diskontrate y und der Belohnung rt+1. Jedoch wird ein Wert der besten Aktion in einem Zustand im Grunde zu einem Wert einer Aktion in einem Zustand vor diesem Zustand fortgepflanzt.
  • In dem Q-Lernen gibt es eine Methode zum Lernen durch das Erstellen einer Tabelle von Q (S, A) für jedes Zustandsaktionspaar (S, A). Wenn jedoch die Werte des Q (S, A) aller Zustandsaktionspaare bestimmt werden, ist die Anzahl von Zuständen zu groß, wobei es der Fall sein kann, dass eine wesentliche Zeitdauer für das Bewerkstelligen des Q-Lernens mit dieser Methode erforderlich ist.
  • Eine bekannte und als Deep-Q-Network (DQN) bezeichnete Technik kann während des Q-Lernens verwendet werden. Insbesondere wird in dem DQN die Wertfunktion Q unter Verwendung eines entsprechenden neuronalen Netzes konfiguriert und werden die Parameter des neuronalen Netzes angepasst. Daraus resultierend wird die Wertfunktion Q durch das entsprechende neuronale Netz angenähert und wird der Wert der Wertfunktion Q (S, A) berechnet. Die für das Bewerkstelligen des Q-Lernens erforderliche Zeit kann durch die Nutzung des DQN reduziert werden. Das DQN wird im Detail zum Beispiel in dem nachfolgend zitierten nicht-Patentdokument beschrieben.
  • <Nicht-Patentdokument>
  • „Human-level control through deep reinforcement learning“ Volodymyr Mnih1 [online], [gesucht am 17. Januar 2017], Internet <URL: http://files.davidqui.com/research/naturel4236.pdf>
  • Das oben beschriebene Q-Lernen wird durch die maschinelle Lernvorrichtung 300 durchgeführt. Insbesondere setzt die maschinelle Lernvorrichtung 300 die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms der numerischen Steuervorrichtung 200, die Zykluszeit und die Bearbeitungsgenauigkeit des Werkstücks zu dem Zustand S, setzt eine Anpassung der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang in Bezug auf den Zustand S als die Aktion A und lernt die auszuwählende Wertfunktion Q.
  • Die maschinelle Lernvorrichtung 300 beobachtet die Zustandsinformationen S einschließlich der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms sowie die Zykluszeit und die Bearbeitungsgenauigkeit des Werkstücks, die durch das Ausführen des Bearbeitungsprogramms erhalten werden, um die Aktion A zu bestimmen. Die maschinelle Lernvorrichtung 300 gibt eine Belohnung jedesmal, wenn eine Aktion A durchgeführt wird. Zum Beispiel sucht die maschinelle Lernvorrichtung 300 eine optimale Aktion A, sodass die Gesamtbelohnung in der Zukunft durch Ausprobieren maximiert wird. Daraus resultiert, dass die maschinelle Lernvorrichtung 300 die optimale Aktion A (das heißt, die optimale Spindelgeschwindigkeit, Vorschubrate, Anzahl von Schnitten und Schnittgröße pro Schneidvorgang) in Bezug auf den Zustand S einschließlich der Zykluszeit und der Bearbeitungsgenauigkeit des Werkstücks, die durch das Ausführen des Bearbeitungsprogramms erhalten werden, auswählen kann.
  • Die maschinelle Lernvorrichtung 300 kann also die Aktion A, mit welcher der Wert der Wertfunktion Q maximiert wird, aus den Aktionen A, die auf die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in Bezug auf einen Zustand S angewendet werden, basierend auf der Wertfunktion Q auswählen, die gelernt wurde, um die Aktion A (d.h. die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms) auszuwählen, mit welcher die Zykluszeit kürzer ist und die Bearbeitungsgenauigkeit des Werkstücks höher ist.
  • 4 ist ein Blockdiagramm, das die maschinelle Lernvorrichtung 300 der ersten Ausführungsform der Erfindung zeigt. Um das oben beschriebene Verstärkungslernen durchzuführen, enthält die maschinelle Lernvorrichtung 300 wie in 4 gezeigt eine Zustandsinformationen-Erhaltungseinheit 301, eine Lerneinheit 302, eine Aktionsinformationen-Ausgabeeinheit 303, eine Wertfunktion-Speichereinheit 304, eine Optimierungsaktionsinformationen-Ausgabeeinheit 305 und eine Steuereinheit 306. Die Lerneinheit 302 enthält eine Belohnungs-Ausgabeeinheit 3021, eine Wertfunktionswert-Aktualisierungseinheit 3022 und eine Aktionsinformationen-Erzeugungseinheit 3023. Die Steuereinheit 306 steuert den Betrieb der Zustandsinformationen-Erhaltungseinheit 301, der Lerneinheit 302, der Aktionsinformationen-Ausgabeeinheit 303 und der Optimierungsaktionsinformationen-Ausgabeeinheit 305.
  • Die Zustandsinformationen-Erhaltungseinheit 301 erhält den Zustand S einschließlich der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms sowie die Zykluszeit und die Bearbeitungsgenauigkeit des Werkstücks, die durch das Ausführen des Bearbeitungsprogramms erhalten werden, von der numerischen Steuervorrichtung 200. Diese Zustandsinformationen S entsprechen einem Umgebungszustand S im Q-Lernen. Die Zustandsinformationen-Erhaltungseinheit 301 gibt die erhaltenen Zustandsinformationen S zu der Lerneinheit 302 aus. Die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms, wenn das Q-Lernen zu Beginn gestartet wird, werden zuvor durch den Benutzer gesetzt. Die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten in der Werkzeugdurchmesserrichtung und die Schnittgröße pro Schneidvorgang in der Werkzeugdurchmesserrichtung der Spindel ändern sich in Abhängigkeit von Bedingungen wie etwa der Geometrie des Werkstücks, dem Material des Werkstücks, der Außenform des Werkzeugs (dem Durchmesser, der Anzahl von Klingen usw.), dem Material des Werkzeugs usw. und werden durch den Benutzer basierend auf diesen Bedingungen gesetzt. In dieser Ausführungsform passt die maschinelle Lernvorrichtung 300 die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang, die durch den Benutzer gesetzt wurden, unter Verwendung des Verstärkungslernens derart an, dass sie optimaler sind.
  • Die Lerneinheit 302 ist eine Einheit, die die Wertfunktion Q (S, A) lernt, wenn eine Aktion A unter Zustandsinformationen (einem Umgebungszustand) S ausgewählt wird. Insbesondere enthält die Lerneinheit 302 die Belohnungs-Ausgabeeinheit 3021, die Wertfunktion-Aktualisierungseinheit 3022 und die Aktionsinformationen-Erzeugungseinheit 3023.
  • Die Belohnungs-Ausgabeeinheit 3021 ist eine Einheit, die die Belohnung berechnet, wenn die Aktion A unter einem Zustand S ausgewählt wird. Die Belohnungs-Ausgabeeinheit 3021 kann die Belohnung basierend auf einer Vielzahl von Bewertungselementen berechnen. Die Belohnungs-Ausgabeeinheit 3021 kann die Gesamtbelohnung durch das Gewichten der basierend auf der Vielzahl von Bewertungselementen berechneten Belohnung berechnen. In dieser Ausführungsform berechnet die Belohnungs-Ausgabeeinheit 3021 die Belohnung basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit.
  • Im Folgenden wird zuerst die Berechnung der Belohnung basierend auf der Zykluszeit beschrieben. In einem Fall, in dem der Zustand S durch die Aktion A zu dem Zustand S' übergegangen ist, werden Werte der Zykluszeit der Werkzeugmaschine 100, die basierend auf der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in dem Zustand S und dem Zustand S' betrieben wird, zu einem Wert T(S) und einem Wert T(S') gesetzt. Die Belohnungs-Ausgabeeinheit 3021 berechnet die Belohnung basierend auf der Zykluszeit wie nachfolgend beschrieben. Wenn Wert T(S') > Wert T(S), wird die Belohnung auf einen negativen Wert gesetzt. Wenn Wert T(S') = Wert T(S), wird die Belohnung zu null gesetzt. Wenn Wert T(S') < Wert T(S), wird die Belohnung auf einen positiven Wert gesetzt. Zum Beispiel kann der Wert der Belohnung basierend auf der Zykluszeit zu -5 gesetzt werden, wenn der Zykluszeitwert länger wird, zu +5, wenn der Zykluszeitwert unverändert bleibt, und zu +10, wenn der Zykluszeitwert kürzer wird. Die Belohnungs-Ausgabeeinheit 3021 kann die Belohnung zu einem positiven Wert setzen, wenn Wert T(S') = Wert T(S), und kann die Belohnung für Wert T(S') < Wert T(S) zu einem positiven Wert setzen, der größer ist als die Belohnung für Wert T(S') = Wert T(S).
  • Was den negativen Wert für, wenn die Zykluszeit des Zustands S' nach dem Durchführen der Aktion A länger wird als die Zykluszeit in dem vorausgehenden Zustand S (Wert T(S') > Wert T(S)), kann der negative Wert größer in Entsprechung zu dem Verhältnis werden. Das heißt, dass der negative Wert größer in Entsprechung zu dem Vergrößerungsgrad der Länge der Zykluszeit werden kann. Was dagegen den positiven Wert für, wenn die Zykluszeit des Zustands S' nach der Durchführung der Aktion A kürzer als die Zykluszeit in dem vorausgehenden Zustand S (Wert T(S') < als Wert T(S)) ist, kann der positive Wert in Entsprechung zu dem Verhältnis größer werden. Das heißt, dass der positive Wert in Entsprechung zu dem Vergrößerungsgrad der Länge der Zykluszeit größer werden kann.
  • Im Folgenden wird eine Berechnung der Belohnung basierend auf der Bearbeitungsgenauigkeit beschrieben. Die Belohnungs-Ausgabeeinheit 3021 bestimmt die Belohnung basierend auf der Bearbeitungsgenauigkeit des Werkstücks, das durch die Werkzeugmaschine 100 hergestellt wird, die basierend auf der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in dem Zustand S' hergestellt wird, wenn der Zustand S zu dem Zustand S' durch die Aktion A übergegangen ist.
  • Die Belohnungs-Ausgabeeinheit 3021 setzt die Belohnung zu einem negativen Wert, wenn die Bearbeitungsgenauigkeit nicht in dem angemessenen Bereich liegt, basierend auf einem in der Bearbeitungsgenauigkeit des Werkstücks enthaltenen Bestimmungsergebnis dazu, ob die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt. Die Bearbeitungsgenauigkeit liegt nicht in dem angemessenen Bereich, wenn das Schneiden unzureichend oder übermäßig ist. Es ist wünschenswert, dass der absolute Wert des negativen Werts der Belohnung für, wenn die Bearbeitungsgenauigkeit des in dem Werkstück hergestellten Gewindes nicht in dem angemessenen Bereich liegt, auf einen Wert gesetzt wird, mit dem die Gesamtbelohnung ein großer negativer Wert wird, sodass kein Fall ausgewählt wird, in dem die Bearbeitungsgenauigkeit nicht in dem angemessenen Bereich liegt. Der Grund hierfür ist, dass eine nicht in dem angemessenen Bereich liegende Bearbeitungsgenauigkeit kein vorteilhafter Zustand für das Schneiden ist, weil im Fall eines übermäßigen Schneidens ein übermäßig geschnittener Teil nicht repariert werden kann und im Fall eines unzureichenden Schneidens ein zusätzliches Schneiden durchgeführt werden muss. Im Fall eines übermäßigen Schneidens kann der übermäßig geschnittene Teil nicht repariert werden. Deshalb kann die Belohnung im Fall eines übermäßigen Schneidens einen negativen Wert aufweisen, der größer ist als die Belohnung im Fall eines unzureichenden Schneidens. Zum Beispiel kann die Belohnung im Fall eines übermäßigen Schneidens -50 betragen und kann die Belohnung im Fall eines unzureichenden Schneidens -10 betragen.
  • Wenn die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt, kann die Belohnungs-Ausgabeeinheit 3021 die Belohnung zum Beispiel wie nachfolgend beschrieben basierend auf dem Bewertungsergebnis dazu berechnen, welcher der Toleranzklassifikationen „hoch“, „mittel“ und „niedrig“ der Toleranzqualität der weiblichen Schraube die Bearbeitungsgenauigkeit des Werkstücks entspricht. Wenn die Toleranzqualität „niedrig“ ist, wird die Belohnung zu einem ersten positiven Wert gesetzt. Wenn die Toleranzqualität „mittel“ ist, wird die Belohnung zu einem zweiten positiven Wert gesetzt, der größer als der erste positive Wert ist. Wenn die Toleranzqualität „hoch“ ist, wird die Belohnung zu einem dritten positiven Wert gesetzt, der größer als der zweite positive Wert ist. Die Vorgehensweise zum Geben des Belohnungswerts ist nicht darauf beschränkt, wobei die Belohnung auf den gleichen positiven Wert unabhängig von der „hohen“, „mittleren“ oder „niedrigen“ Klassifikation gesetzt werden kann. Zum Beispiel kann die Belohnung in den Fällen von „hoch“, „mittel“ oder „niedrig“ zu dem gleichen Wert +10 gesetzt werden. Weiterhin kann die Belohnung im Fall von „niedrig“ gleich null sein und können die Belohnungen in den Fällen von „mittel“ und „hoch“ den gleichen positiven Wert aufweisen.
  • Die Belohnungs-Ausgabeeinheit 3021 berechnet die Gesamtbelohnung basierend auf der Belohnung auf der Basis der Zykluszeit und der Belohnung auf der Basis der Bearbeitungsgenauigkeit, die beide wie weiter oben beschrieben berechnet werden. Wenn die Belohnungs-Ausgabeeinheit 3021 die Gesamtbelohnung berechnet, ist die Berechnung nicht auf eine Addition beschränkt. Zum Beispiel kann eine Gewichtsaddition durchgeführt werden oder kann ein durchschnittlicher Wert der Belohnung auf der Basis der Zykluszeit und der Belohnung auf der Basis der Bearbeitungsgenauigkeit berechnet werden. Die Methode zum Berechnen der Gesamtbelohnung kann in Entsprechung zu der Priorität der Zykluszeit und der Bearbeitungsgenauigkeit gewählt werden. Wenn zum Beispiel die Zykluszeit als wichtig betrachtet wird, kann die Belohnungs-Ausgabeeinheit 3021 eine Gewichtsaddition durch das Multiplizieren der Belohnung auf der Basis auf der Zykluszeit mit einem Gewichtskoeffizienten größer als 1 und das Addieren des erhaltenen Werts zu der Belohnung auf der Basis der Bearbeitungsgenauigkeit durchführen.
  • Die Wertfunktion-Aktualisierungseinheit 3022 führt ein Q-Lernen basierend auf dem Zustand S, der Aktion A, dem Zustand S', wenn die Aktion A auf den Zustand S angewendet wird, und dem wie oben beschrieben berechneten Gesamtbelohnungswert durch, um die durch die Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q zu aktualisieren. Das Aktualisieren der Wertfunktion Q kann durch ein Onlinelernen, ein Stapellernen oder ein Ministapellernen durchgeführt werden. Ein Onlinelernen ist eine Lernmethode zum Anwenden einer Aktion A auf den aktuellen Zustand S, um die Wertfunktion Q unmittelbar jedesmal zu aktualisieren, wenn der Zustand S zu einem neuen Zustand S' übergeht. Ein Stapellernen ist eine Lernmethode zum Anwenden einer Aktion A auf den aktuellen Zustand S, um den Übergang des Zustands S zu dem neuen Zustand S' zu wiederholen, um Lerndaten zu sammeln und eine Aktualisierung der Wertfunktion Q unter Verwendung aller gesammelten Lerndaten durchzuführen. Ein Ministapellernen ist eine zwischen dem Onlinelernen und dem Stapellernen angesiedelte Lernmethode zum Durchführen einer Aktualisierung der Wertfunktion Q jedesmal, wenn bestimmte Lerndaten akkumuliert werden.
  • Die Aktionsinformationen-Erzeugungseinheit 3023 wählt die Aktion A in einem Prozess eines Q-Lernens in Bezug auf den aktuellen Zustand S aus. Die Aktionsinformationen-Erzeugungseinheit 3023 erzeugt die Aktionsinformationen A, um die Durchführung einer Operation (in Entsprechung zu der Aktion A im Q-Lernen) für das Modifizieren der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms der numerischen Steuervorrichtung 200 in dem Prozess des Q-Lernens zu veranlassen, um die erzeugten Aktionsinformationen A zu der Aktionsinformationen-Ausgabeeinheit 303 auszugeben.
  • Insbesondere passt die Aktionsinformationen-Erzeugungseinheit 3023 zum Beispiel die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms durch die Aktion A an, um die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in dem Zustand S zu vergrößern oder zu verkleinern.
  • Wenn die Aktionsinformationen-Erzeugungseinheit 3023 die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms durch die Aktion A anpasst und der Zustand zu dem Zustand S' übergeht, kann die Aktionsinformationen-Erzeugungseinheit 3023 die Bearbeitungsbedingung (die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang) der nächsten Aktion A' in Entsprechung zu dem Zustand der Zykluszeit (vergrößert, verkleinert oder unverändert) und dem Zustand der Bearbeitungsgenauigkeit (ob die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt, und welchem der Toleranzklassifikationen „hoch“, „mittel“ oder „niedrig“ sie entspricht) auswählen. Wenn zum Beispiel eine positive Belohnung (eine Belohnung mit einem positiven Wert) durch das Verkürzen der Zykluszeit erhalten wird, liegt die Bearbeitungsgenauigkeit im angemessenen Bereich und wird die positive Belohnung (die Belohnung mit einem positiven Wert) gegeben, weil die Toleranzklasse „hoch“ ist, und kann die Aktionsinformationen-Erzeugungseinheit 3023 als die nächste Aktion A' zum Beispiel eine Maßnahme zum Auswählen der Aktion A', mit welcher die Zykluszeit kleiner wird, wie etwa ein inkrementelles Vergrößern der Vorschubrate oder ein inkrementelles Vergrößern der Schnittgröße bei einer gleichzeitigen Verkleinerung der Anzahl von Schnitten ergreifen.
  • Wenn der Zustand zu dem Zustand S' übergegangen ist, wird eine positive Belohnung (eine Belohnung mit einem positiven Wert) durch das Verkürzen der Zykluszeit erhalten, liegt die Bearbeitungsgenauigkeit in dem angemessenen Bereich und ist die Toleranzklasse „niedrig“, und kann die Aktionsinformationen-Erzeugungseinheit 3023 als die nächste Aktion A' eine Maßnahme zum Auswählen der Aktion A', mit welcher die Bearbeitungsgenauigkeit verbessert wird, wie etwa ein inkrementelles Verkleinern der Schnittgröße bei einer gleichzeitigen Vergrößerung der Anzahl von Schnitten ergreifen.
  • Die Aktionsinformationen-Erzeugungseinheit 3023 kann eine Maßnahme zum Auswählen der Aktion A' durch eine bekannte Methode wie etwa eine Greedy-Methode zum Auswählen der Aktion A' mit der höchsten Wertfunktion Q (S, A) aus den Werten der aktuell geschützten Aktion A oder eine ε-Greedy-Methode zum zufälligen Auswählen der Aktion A' mit einer kleinen Wahrscheinlichkeit ε und abgesehen davon zum Auswählen der Aktion A' mit der höchsten Wertfunktion Q (S, A) ergreifen.
  • Die Aktionsinformationen-Ausgabeeinheit 303 ist eine Einheit, die die aus der Lerneinheit 302 ausgegebenen Aktionsinformationen A zu der numerischen Steuervorrichtung 200 überträgt. Die Aktionsinformationen-Ausgabeeinheit 303 kann eine Makrovariablendatei als Aktionsinformationen, die zum Beispiel Werte der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang, die auf eine spezifische Makrovariable angewendet werden, enthält, erzeugen und die erzeugte Makrovariablendatei zu der Programmmodifikationseinheit 205 der numerischen Steuervorrichtung 200 über das Netzwerk 400 ausgeben. Die Programmmodifikationseinheit 205 berücksichtigt die Aktionsinformationen (die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang) in dem Wert der spezifischen Makrovariable des in der Speichereinheit 204 gespeicherten Bearbeitungsprogramms unter Verwendung der empfangenen Makrovariablendatei. Die Numerische-Steuerinformationen-Verarbeitungseinheit 203 führt das Bearbeitungsprogramm einschließlich der spezifischen Makrovariable aus. Die Methode zum Erzeugen der Makrovariablendatei und zum Berücksichtigen der Aktionsinformationen in dem Wert der spezifischen Makrovariable des Bearbeitungsprogramms unter Verwendung der Makrovariablendatei ist ein Beispiel für eine Methode zum Berücksichtigen der Aktionsinformationen in einem Bearbeitungsprogramm, wobei die Methode jedoch nicht darauf beschränkt ist.
  • Die Wertfunktion-Speichereinheit 304 ist eine Speichereinrichtung, die die Wertfunktion Q speichert. Die Wertfunktion Q kann als eine Tabelle (nachfolgend als eine Aktionswerttabelle bezeichnet) für zum Beispiel jeden Zustand S und jede Aktion A gespeichert werden. Die in der Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q wird durch die Wertfunktion-Aktualisierungseinheit 3022 aktualisiert. Die in der Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q kann gemeinsam mit anderen maschinellen Lernvorrichtungen 300 verwendet werden. Wenn die Wertfunktion Q gemeinsam durch eine Vielzahl von maschinellen Lernvorrichtungen 300 verwendet wird, kann das verteilte Verstärkungslernen durch die maschinellen Lernvorrichtungen 300 durchgeführt werden. Dadurch kann die Effizienz des Verstärkungslernens verbessert werden.
  • Die Optimierungsaktionsinformationen-Ausgabeeinheit 305 erzeugt die Aktionsinformationen A (nachfolgend als „Optimierungsaktionsinformationen“ bezeichnet), um zu veranlassen, dass die Werkzeugmaschine 100 eine Operation durchführt, mit der die Wertfunktion Q (S, A) maximiert wird, basierend auf der durch die Durchführung des Q-Lernens durch die Wertfunktion-Aktualisierungseinheit 3022 aktualisierten Wertfunktion Q. Insbesondere erhält die Optimierungsaktionsinformationen-Ausgabeeinheit 305 die in der Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q. Diese Wertfunktion Q wird durch das Durchführen des Q-Lernens wie oben beschrieben durch die Wertfunktion-Aktualisierungseinheit 3022 aktualisiert. Dann erzeugt die Optimierungsaktionsinformationen-Ausgabeeinheit 305 die Aktionsinformationen basierend auf der Wertfunktion Q, um die erzeugten Aktionsinformationen zu der Programmmodifikationseinheit 205 auszugeben. Diese Optimierungsaktionsinformationen enthalten Informationen zum Modifizieren der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms, die den in dem Prozess des Q-Lernens durch die Aktionsinformationen-Ausgabeeinheit 303 ausgegebenen Aktionsinformationen ähnlich sind.
  • Die Programmmodifikationseinheit 205 modifiziert das derzeit gesetzte Bearbeitungsprogramm basierend auf den Optimierungsaktionsinformationen, um einen Betriebsbefehl zu erzeugen. Als Ergebnis dieses Betriebsbefehls kann die Werkzeugmaschine 100 derart betrieben werden, dass die Bearbeitungsgenauigkeit verbessert wird und die Bearbeitungszeit kürzer wird.
  • Die in der numerischen Steuervorrichtung 200 und der maschinellen Lernvorrichtung 300 enthaltenen Funktionsblöcke wurden vorstehend beschrieben. Um diese Funktionsblöcke zu realisieren, enthalten die numerische Steuervorrichtung 200 und die maschinelle Lernvorrichtung 300 eine Operationsverarbeitungseinrichtung wie etwa eine zentrale Verarbeitungseinheit (CPU). Die numerische Steuervorrichtung 200 und die maschinelle Lernvorrichtung 300 enthalten beide weiterhin eine Hilfsspeichereinrichtung wie etwa ein Festplattenlaufwerk (HDD) zum Speichern von verschiedenen Steuerprogrammen wie etwa einer Anwendungssoftware und eines Betriebssystems (OS) und eine Hauptspeichereinrichtung wie etwa einen Speicher mit wahlfreiem Zugriff (RAM) zum vorübergehenden Speichern von Daten, die für eine Ausführung des Programms durch die Operationsverarbeitungseinrichtung erforderlich sind.
  • Während in der numerischen Steuervorrichtung 200 und der maschinellen Lernvorrichtung 300 die Anwendungssoftware und das Betriebssystem aus der Hilfsspeichereinrichtung gelesen werden und die gelesene Anwendungssoftware und das Betriebssystem in die Hauptspeichereinrichtung dekomprimiert werden, führt die Operationsverarbeitungseinrichtung eine Operationsverarbeitung basierend auf der Anwendungssoftware oder dem Betriebssystem durch. Die numerische Steuervorrichtung 200 und die maschinelle Lernvorrichtung 300 steuern verschiedene Hardwareeinrichtungen in jeder Vorrichtung basierend auf diesem Operationsergebnis. Auf diese Weise können die Funktionsblöcke dieser Ausführungsform durch die Zusammenwirkung von Hardware und Software realisiert werden.
  • Die maschinelle Lernvorrichtung 300 führt eine große Anzahl von Operationen durch, die mit dem maschinellen Lernen assoziiert sind. Es ist deshalb wünschenswert, dass zum Beispiel ein PC mit grafischen Verarbeitungseinheiten (GPUs) ausgestattet ist, wobei die GPUs für die mit dem maschinellen Lernen assoziierte Operationsverarbeitung in einer als Universalberechnung auf grafischen Verarbeitungseinheiten (General-Purpose Computing on Graphics Processing Units (GPGPU)) bezeichneten Technik verwendet werden. Die maschinelle Lernvorrichtung 300 kann eine Hochgeschwindigkeitsverarbeitung unter Verwendung der GPUs durchführen. Und um eine Verarbeitung mit einer höheren Geschwindigkeit durchzuführen, können eine Vielzahl von derartigen Computern mit darin vorgesehenen GPUs verwendet werden, um ein Computercluster zu bilden, sodass die maschinelle Lernvorrichtung 300 eine parallele Verarbeitung unter Verwendung der Vielzahl von Computern in dem Computercluster durchführt.
  • Im Folgenden wird der Betrieb der maschinellen Lernvorrichtung 300 während des Q-Lernens in dieser Ausführungsform mit Bezug auf die Flussdiagramme von 5, 6 und 7 beschrieben. 5 ist ein Flussdiagramm, das den Betrieb der maschinellen Lernvorrichtung 300 während des Q-Lernens in dieser Ausführungsform zeigt. 6 ist ein Flussdiagramm, das eine Berechnungsmethode für die Belohnung basierend auf der Zykluszeit in Schritt S15 von 5 zeigt. Und 7 ist ein Flussdiagramm, das einen Teil einer Berechnungsmethode für die Belohnung basierend auf der Bearbeitungsgenauigkeit in Schritt S15 von 5 zeigt.
  • Zuerst weist in Schritt S11 die Steuereinheit 306 die Zustandsinformationen-Erhaltungseinheit 301 an, die Zustandsinformationen zu erhalten, wobei die Anzahl von Versuchen auf eins gesetzt ist.
  • In Schritt S12 erhält die Zustandsinformationen-Erhaltungseinheit 301 anfängliche Zustandsinformationen von der numerischen Steuervorrichtung 200. Die erhaltenen Zustandsinformationen werden zu der Wertfunktion-Aktualisierungseinheit 3022 und der Aktionsinformationen-Erzeugungseinheit 3023 ausgegeben. Wie weiter oben beschrieben, entsprechen diese Zustandsinformationen dem Zustand S in dem Q-Lernen und enthalten die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms sowie die Zykluszeit, wenn die Bearbeitungsverarbeitung basierend auf dem Bearbeitungsprogramm mit diesen gesetzten Werten durchgeführt wird, und die Bearbeitungsgenauigkeit des Werkstücks zur Zeit des Schritts S12. Die Setzwerte der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprograms, wenn das Q-Lernen zu Beginn gestartet wird, werden durch den Benutzer zuvor erstellt. In dieser Ausführungsform passt die maschinelle Lernvorrichtung 300 die durch den Benutzer erstellten Werte der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms durch ein Verstärkungslernen derart an, dass sie optimalere Werte sind.
  • In Schritt S13 erzeugt die Aktionsinformationen-Erzeugungseinheit 3023 neue Aktionsinformationen A, um die erzeugten neuen Aktionsinformationen A zu der Programm-Modifikationseinheit 205 der numerischen Steuervorrichtung 200 über die Aktionsinformationen-Ausgabeeinheit 303 auszugeben. Die Programm-Modifikationseinheit 205, die die Aktionsinformationen empfangen hat, modifiziert die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in Bezug auf den aktuellen Zustand S basierend auf den empfangenen Aktionsinformationen und stellt damit den Zustand S' her. Die Numerische-Steuerinformationen-Verarbeitungseinheit 203 veranlasst ein Schneiden durch das Betreiben der Werkzeugmaschine 100 gemäß dem modifizierten Zustand S'.
  • In Schritt S14 erhält die Zustandsinformationen-Erhaltungseinheit 301 Zustandsinformationen in Entsprechung zu dem neuen Zustand S', die von der numerischen Steuervorrichtung 200 erhalten werden. Die neuen Zustandsinformationen enthalten den Wert der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang des Bearbeitungsprogramms in Bezug auf den Zustand S' sowie die Zykluszeit, die für das Durchführen der Bearbeitungsverarbeitung in Bezug auf den Zustand S' erforderlich war, und die Bearbeitungsgenauigkeit des Werkstücks, das durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S' erzeugt wurde. Die Zykluszeit, die für das Durchführen der Bearbeitungsverarbeitung in Bezug auf den Zustand S' erforderlich war, und die Bearbeitungsgenauigkeit des Werkstücks, das durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S' erzeugt wurde, sind Bestimmungsinformationen. Die Zustandsinformationen-Erhaltungseinheit 301 gibt die erhaltenen Zustandsinformationen zu der Lerneinheit 302 aus.
  • In Schritt S15 berechnet die Belohnungs-Ausgabeeinheit 3021 die Belohnung basierend auf den eingegebenen Bestimmungsinformationen, d.h. auf der Zykluszeit und der Bearbeitungsgenauigkeit. Der Schritt S15 enthält Schritte zum Berechnen der Belohnung basierend auf der Zykluszeit, zum Berechnen der Belohnung basierend auf der Bearbeitungsgenauigkeit und zum Berechnen der Gesamtbelohnung basierend auf der Belohnung auf der Basis der Zykluszeit und der Belohnung auf der Basis der Bearbeitungsgenauigkeit.
  • Der Schritt zum Berechnen der Belohnung basierend auf der Zykluszeit ist in Schritt S15-1 von 6 gezeigt. Wie in Schritt S15-1 gezeigt, bestimmt die Belohnungs-Ausgabeeinheit 3021 in Schritt S151 zuerst, ob der Zykluszeitwert T(S'), der für das Durchführen der Bearbeitungsverarbeitung in Bezug auf den Zustand S' erforderlich war, länger als, kürzer als oder unverändert gegenüber dem Zykluszeitwert T(S) ist, der für das Durchführen der Bearbeitungsverarbeitung in Bezug auf den Zustand S erforderlich war. Wenn Zykluszeitwert T(S') > Zykluszeitwert T(S), setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S152 auf einen negativen Wert. Wenn Zykluszeitwert T(S') = Zykluszeitwert T(S), setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S153 zu null. Wenn Zykluszeitwert T(S') < Zykluszeitwert T(S), setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S154 auf einen positiven Wert.
  • Der Schritt zum Berechnen der Belohnung basierend auf der Bearbeitungsgenauigkeit ist in Schritt S15-2 von 7 gezeigt. Die Belohnungs-Ausgabeeinheit 3021 bestimmt zuerst in Schritt S155, ob die Bearbeitungsgenauigkeit der in dem Werkstück ausgebildeten Schraube in dem angemessenen Bereich liegt. Wenn die Bearbeitungsgenauigkeit nicht in dem angemessenen Bereich liegt, setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung auf einen negativen Wert. Ein übermäßiges Schneiden und ein unzureichendes Schneiden werden als außerhalb des angemessenen Bereichs betrachtet. Dabei setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S156 auf einen negativen ersten Wert, wenn es sich um einen Fall außerhalb des angemessenen Bereichs aufgrund eines übermäßigen Schneidens handelt, und in Schritt S157 auf einen negativen zweiten Wert, der kleiner als der negative erste Wert ist, wenn es sich um einen Fall eines unzureichenden Schneidens handelt. Die Belohnung wird in dem Fall eines übermäßigen Schneidens zu einem negativen Wert gesetzt, der größer als die Belohnung im Fall eines unzureichenden Schneidens ist, weil ein übermäßig geschnittener Teil nicht repariert werden kann und deshalb ein übermäßiges Schneiden gegenüber einem unzureichenden Schneiden zu bevorzugen ist.
  • Wenn die Bearbeitungsgenauigkeit in dem angemessenen Bereich liegt, bestimmt die Belohnungs-Ausgabeeinheit 3021 in Schritt S158, welcher der Toleranzklassifikationen „hoch“, „mittel“ oder „niedrig“ der Toleranzqualität des weiblichen Gewindes die Bearbeitungsgenauigkeit des Werkstücks entspricht. Wenn die Toleranzqualität „niedrig“ ist, setzt die Belohnungs-Ausgabeeinheit 3021 in Schritt S159 die Belohnung zu einem ersten positiven Wert. Wenn die Toleranzqualität „mittel“ ist, setzt die Belohnungs-Ausgabeeinheit 3021 in Schritt S160 die Belohnung zu einem zweiten positiven Wert, der größer als der erste positive Wert ist. Wenn die Toleranzqualität „hoch“ ist, setzt die Belohnungs-Ausgabeeinheit 3021 in Schritt S161 die Belohnung zu einem dritten positiven Wert, der größer als der zweite positive Wert ist. Wie bereits genannt, ist die Vorgehensweise zum Vorsehen des Belohnungswerts jedoch nicht darauf beschränkt.
  • Der Schritt zum Berechnen der Gesamtbelohnung basierend auf der Belohnung auf der Basis der Zykluszeit und der Belohnung auf der Basis der Bearbeitungsgenauigkeit ist in Schritt S15-3 von 7 gezeigt. Der Schritt S15-3 ist ein Schritt zum Berechnen der Gesamtbelohnung durch zum Beispiel das Summieren, das Gewichtssummieren oder das Bestimmen eines Durchschnittswerts in Bezug auf die Belohnung auf der Basis der Zykluszeit und die Belohnung auf der Basis der Bearbeitungsgenauigkeit.
  • Wenn der Schritt S15 beendet ist, aktualisiert die Wertfunktion-Aktualisierungseinheit 3022 in Schritt S16 die in der Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q basierend auf dem Gesamtbelohnungswert. Dann bestimmt die Steuereinheit 306 in Schritt S17, ob die maximale Anzahl von Versuchen erreicht wurde. Die maximale Anzahl von Versuchen wird zuvor gesetzt. Wenn die maximale Anzahl von Versuchen nicht erreicht wurde, zählt die Steuereinheit 306 die Anzahl von Versuchen in Schritt S18 hoch und kehrt die Verarbeitung zu Schritt S13 zurück. Die Verarbeitung von Schritt S13 bis Schritt S18 wird wiederholt, bis die maximale Anzahl von Versuchen erreicht wurde. Die Verarbeitung wird hier beendet, wenn die Anzahl von Versuchen die maximale Anzahl von Versuchen erreicht. Die Verarbeitung kann aber auch beendet werden, wenn die Verarbeitung von Schritt S13 bis Schritt S18 mit einer vorbestimmten Anzahl von Wiederholungen wiederholt wurde. In Schritt S16 wird beispielhaft eine Onlineaktualisierung beschrieben, wobei jedoch auch eine Stapelaktualisierung oder eine Ministapelaktualisierung anstelle der Onlineaktualisierung durchgeführt werden könnte.
  • Wie weiter oben beschrieben bietet die Erfindung durch den mit Bezug auf 5, 6 und 7 beschriebenen Betrieb den Effekt, dass die Wertfunktion Q für das Erzeugen der Aktionsinformationen erzeugt werden kann, wobei die Zykluszeit reduziert werden kann und gleichzeitig die Bearbeitungsgenauigkeit des Werkstücks verbessert werden kann.
  • Im Folgenden wird ein Betrieb während der Erzeugung von Optimierungsaktionsinformationen durch die Optimierungsaktionsinformationen-Ausgabeeinheit 305 mit Bezug auf das Flussdiagramm von 8 beschrieben. Zuerst erhält in Schritt S21 die Optimierungsaktionsinformationen-Ausgabeeinheit 305 die in der Wertfunktion-Speichereinheit 304 gespeicherte Wertfunktion Q. Die Wertfunktion Q ist eine Funktion, die durch das Durchführen des Q-Lernens durch die Wertfunktion-Aktualisierungseinheit 3022 wie oben beschrieben aktualisiert wurde.
  • In Schritt S22 erzeugt die Optimierungsaktionsinformationen-Ausgabeeinheit 305 die Optimierungsaktionsinformationen basierend auf der Wertfunktion Q, um die erzeugten Optimierungsaktionsinformationen zu der Programmmodifikationseinheit 205 der numerischen Steuereinheit 200 auszugeben.
  • Wie weiter oben beschrieben, modifiziert die numerische Steuervorrichtung 200 das derzeit gesetzte Bearbeitungsprogramm basierend auf den Optimierungsaktionsinformationen, um den Betriebsbefehl zu erzeugen. Als ein Ergebnis dieses Betriebsbefehls bietet die Werkzeugmaschine 100 den Effekt eines Betriebs mit einer kürzeren Bearbeitungszykluszeit und gleichzeitig einer verbesserten Bearbeitungsgenauigkeit des Werkstücks.
  • Im Folgenden werden die Effekte dieser Ausführungsform anhand von einigen Beispielen beschrieben.
  • (Beispiel 1)
  • Das Beispiel 1 ist ein Beispiel dafür, dass eine maximale Anzahl von Versuchen vorgesehen wird, nachdem die maschinelle Lernvorrichtung 300 zum Beispiel ein maschinelles Lernen durchgeführt hat für das Ergreifen einer Maßnahme hauptsächlich zum Auswählen der Aktion A, mit welcher die Spindelgeschwindigkeit und/oder die Vorschubrate schneller vorgesehen werden und dann die Spindelgeschwindigkeit S und die Vorschubrate F schnell werden und die Zykluszeit kurz wird. Das maschinelle Lernen wurde basierend auf der maschinellen Lernoperation von 5 unter Verwendung der Werkzeugmaschine 100, der numerischen Steuervorrichtung 200 und der maschinellen Lernvorrichtung 300 von 2 bis 4 durchgeführt. Der Belohnungswert in dem maschinellen Lernen wurde wie nachfolgend gesetzt. Der Belohnungswert auf der Basis der Zykluszeit wurde auf -5 gesetzt, wenn der Zykluszeitwert länger wurde, auf +5, wenn der Zykluszeitwert unverändert blieb, und auf +10, wenn der Zykluszeitwert kürzer wurde. Der Belohnungswert auf der Basis der Bearbeitungsgenauigkeit wurde auf +10 gesetzt, wenn die Bearbeitungsgenauigkeit in dem angemessenen Bereich lag. Das heißt, dass die Belohnungswerte auf der Basis der Bearbeitungsgenauigkeit zu +10 unabhängig davon gesetzt wurden, ob die Toleranzqualität „hoch“, „mittel“ oder „niedrig“ war.
  • In den Ausgabedaten vor dem maschinellen Lernen lag die Spindelgeschwindigkeit S bei 758 [U/min] und lag die Vorschubrate F bei 455 [U/min]. Als ein Ergebnis des maschinellen Lernens lag in den Ausgabedaten nach dem maschinellen Lernen die Spindelgeschwindigkeit S bei 909 [U/min] und lag die Vorschubrate F bei 682 [U/min].
  • (Beispiel 2)
  • Das Beispiel 2 ist ein Beispiel dafür, dass eine maximale Anzahl von Versuchen vorgesehen ist, wobei das maschinelle Lernen zum Beispiel für das Ergreifen einer Maßnahme hauptsächlich zum Auswählen einer Aktion A, mit welcher die Schnittgröße J vergrößert wurde und/oder die Anzahl von Schnitten vermindert wurde, durchgeführt wird und dann die Schneidgröße J vergrößert wird, die Anzahl von Schnitten L verkleinert wird und der Bearbeitungspfad kurz wird, wodurch die Zykluszeit reduziert wird. Auch in dem Beispiel 2 wurde ähnlich wie in dem Beispiel 1 ein maschinelles Lernen basierend auf der in 5 gezeigten maschinellen Lernoperation unter Verwendung der Werkzeugmaschine 100, der numerischen Steuervorrichtung 200 und der maschinelles Lernvorrichtung 300 von 2 bis 4 durchgeführt. Der Belohnungswert auf der Basis der Zykluszeit und der Belohnungswert auf der Basis der Bearbeitungsgenauigkeit waren ebenfalls gleich wie in dem Beispiel 1.
  • Wenn die Gesamtschnittgröße in der Durchmesserrichtung 1,2 [mm] betrug, lag in den Ausgabedaten vor dem maschinellen Lernen die Schnittgröße pro Schneidvorgang J bei 0,3 [mm] und lag die Anzahl von Schnitten L bei 4 [mal]. Als ein Ergebnis des maschinellen Lernens lag in den Ausgabedaten nach dem maschinellen Lernen die Schnittgröße pro Schneidvorgang J bei 0,4 [mm] und lag die Anzahl von Schnitten L bei 3 [mal].
  • <Variationen>
  • In der oben beschriebenen Ausführungsform führt die maschinelle Lernvorrichtung 300 ein maschinelles Lernen mit der bestimmten maximalen Anzahl von Versuchen durch. Das maschinelle Lernen kann jedoch auch ohne die bestimmte maximale Anzahl von Versuchen durchgeführt werden. Wenn die maximale Anzahl von Versuchen nicht bestimmt wird, wird die Bearbeitungsbedingung derart angepasst, dass die Bearbeitungsgenauigkeit in Abhängigkeit von der Situation verbessert wird. Also auch wenn das Werkzeug alt wird, und sich seine Schärfe verschlechtert hat, kann die Verarbeitung mit der optimalen Bearbeitungsbedingung zu dieser Zeit durchgeführt werden. Auf diese Weise kann die Lebensdauer eines Werkzeugs effektiv verlängert werden.
  • Ein Effekt des Fortsetzens des maschinellen Lernens der maschinellen Lernvorrichtung 300 ohne die bestimmte maximale Anzahl von Versuchen wird im Folgenden anhand eines Beispiels beschrieben. In diesem Beispiel führt die maschinelle Lernvorrichtung 300 ein maschinelles Lernen ohne die bestimmte maximale Anzahl von Versuchen durch, wobei auch dann, wenn die Schneidgröße J verkleinert wird, die Spindelgeschwindigkeit S und die Vorschubrate F angepasst werden. In diesem Beispiel wurde ähnlich wie in dem Beispiel 1 das maschinelle Lernen basierend auf der maschinellen Lernoperation von 5 unter Verwendung der Werkzeugmaschine 100, der numerischen Steuervorrichtung 200 und der maschinellen Lernvorrichtung 300 von 2 bis 4 durchgeführt. Der Belohnungswert auf der Basis der Zykluszeit und der Belohnungswert auf der Basis der Bearbeitungsgenauigkeit waren ebenfalls gleich denjenigen in dem Beispiel 1. Weil in dem Beispiel 3 die maximale Anzahl von Versuchen nicht vorgesehen war, waren die Schritte S17 und S18 von 5 nicht vorgesehen und wiederholte die maschinelle Lernvorrichtung 300 die Schritte S12 bis S16. Als ein Ergebnis des maschinellen Lernens lag in den Ausgabedaten zu einem Zeitpunkt die Spindelgeschwindigkeit S bei 758 [U/min], lag die Vorschubrate F bei 455 [U/min], lag die Schnittgröße J pro Schneidvorgang bei 0,4 [mm] und lag die Schnittanzahl L bei 3 [mal]. In den Ausgabedaten zu einem Zeitpunkt, nachdem das maschinelle Lernen fortgesetzt wurde, lag die Spindelgeschwindigkeit S bei 909 [U/min], lag die Vorschubrate F bei 682 [U/min], lag die Schnittgröße J pro Schneidvorgang bei 0,3 [mm] und lag die Anzahl von Schnitten L bei 4 [mal].
  • <Andere Variation>
  • Wenn in den oben beschriebenen Ausführungsformen das Bearbeitungsprogramm mit einer Koordinate einschließlich eines Werkzeugdurchmessers erstellt wird, weil ein anderes Werkzeug verwendet werden muss, müssen alle Koordinaten modifiziert werden. Unter Umständen muss auch der Pfad wegen einer Abrasion des Werkzeugs kompensiert werden. Es wird also eine als Werkzeugdurchmesserkompensation bezeichnete Funktion in dem Bearbeitungsprogramm vorgesehen. In den oben beschriebenen Ausführungsformen kann eine Werkzeugdurchmesserkompensationsgröße anstatt der Schneidgröße pro Schneidvorgang angepasst werden oder kann die Werkzeugdurchmesserkompensationsgröße zusätzlich zu der Schneidgröße pro Schneidvorgang angepasst werden. Die Werkzeugdurchmesserkompensationsgröße entspricht der Werkzeugkompensationsgröße.
  • In der oben beschriebenen Ausführungsform wird eine Werkzeugmaschine, die eine Gewindefräsbearbeitung durchführt, als ein Beispiel für die Werkzeugmaschine 100 beschrieben. Die Werkzeugmaschine 100 ist jedoch nicht darauf beschränkt und kann auch eine Werkzeugmaschine sein, die eine Bearbeitung wie etwa eine Innendurchmesserbearbeitung, eine Außenformbearbeitung, eine Oberflächenbearbeitung oder ähnliches durchführt. Beispiele für die Außenformbearbeitung und die Oberflächenbearbeitung werden als die zweiten und dritten Ausführungsformen beschrieben.
  • (Zweite Ausführungsform)
  • Eine zweite Ausführungsform der Erfindung betrifft ein numerisches Steuersystem, wenn die Außenformbearbeitung durch die Werkzeugmaschine durchgeführt wird. Weil die numerische Steuervorrichtung und die maschinelle Lernvorrichtung dieser Ausführungsform die gleichen Konfigurationen aufweisen wie die numerische Steuervorrichtung und die maschinelle Lernvorrichtung der ersten Ausführungsform, wird hier auf eine wiederholte Beschreibung derselben verzichtet. 9 ist eine erläuternde schematische Ansicht der Außenformbearbeitung. Wie in 9 gezeigt, bewegt die Werkzeugmaschine das Werkzeug T2 und dreht dabei das Werkzeug T2, um die Außenformbearbeitung eines Außenumfangs des Werkstücks W2 durchzuführen. Um bei der Außenformbearbeitung unter Berücksichtigung der Basismaterialien des Werkzeugs T2 und des Werkstücks W2 eine kurze Bearbeitungszeit zu erzielen und gleichzeitig die Oberflächengenauigkeit, die die Bearbeitungsgenauigkeit für den Außenumfang des Werkstücks W2 ist, aufrechtzuerhalten, sind wie in 9 gezeigt eine Anpassung der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten in der Werkzeugdurchmesserrichtung und der Schneidgröße in der Werkzeugdurchmesserrichtung der das Werkzeug T2 drehenden Spindel erforderlich. Die Zustandsinformationen in dem maschinellen Lernen in der zweiten Ausführungsform sind gleich den Zustandsinformationen in der ersten Ausführungsform, wobei jedoch die Bearbeitungsgenauigkeit des Werkstücks die Oberflächengenauigkeit ist. Die Oberflächengenauigkeit wird durch ein dreidimensionales Messgerät oder ähnliches gemessen. Die Oberflächengenauigkeit ist ein Wert, der die Größe der Abweichung der bearbeiteten Fläche von der Zielfläche angibt.
  • Der Betrieb der maschinellen Lernvorrichtung 300 während des Q-Lernens in der zweiten Ausführungsform unterscheidet sich von dem Betrieb der ersten Ausführungsform dadurch, dass der Schritt S15-4 von 10 anstelle des Schritts S15-2 für das Berechnen der Belohnung basierend auf der Bearbeitungsgenauigkeit von 7 verwendet wird.
  • Wie in Schritt S15-4 gezeigt, bestimmt die Belohnungs-Ausgabeeinheit 3021 von 4 zuerst in Schritt S162, ob die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung mit Bezug auf den Zustand S' hergestellten Werkstücks niedriger ist als, unverändert bleibt gegenüber oder höher ist als die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S hergestellten Werkstücks. Wenn die Oberflächengenauigkeit vermindert ist, setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S163 auf einen negativen Wert. Wenn die Oberflächengenauigkeit unverändert bleibt, setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S164 zu null. Wenn die Oberflächengenauigkeit verbessert ist, setzt die Belohnungs-Ausgabeeinheit 3021 die Belohnung in Schritt S165 auf einen positiven Wert.
  • Die Belohnungs-Ausgabeeinheit 3021 kann die Belohnung auf einen positiven Wert setzen, wenn die Oberflächengenauigkeit unverändert bleibt, und setzt die Belohnung, wenn sich die Oberflächengenauigkeit verbessert hat, auf einen positiven Wert, der größer ist als derjenige der Belohnung, wenn die Oberflächengenauigkeit unverändert geblieben ist.
  • Ein negativer Wert für den Fall, dass die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S' hergestellten Werkstücks nach dem Durchführen der Aktion A unter die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S hergestellten Werkstücks gesunken ist, kann mit einer größeren Größe in Entsprechung zu einem Verhältnis vorgesehen werden. Das heißt, dass der negative Wert mit einer größeren Größe in Entsprechung zu dem Verminderungsgrad der Oberflächengenauigkeit vorgesehen werden kann. Dagegen kann der positive Wert für den Fall, dass sich die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung in Bezug auf den Zustand S' hergestellten Werkstücks nach dem Durchführen der Aktion A über die Oberflächengenauigkeit des durch die Bearbeitungsverarbeitung in Bezug auf den vorausgehenden Zustand S hinaus verbessert hat, größer in Entsprechung zu dem Verhältnis werden. Das heißt, dass der positive Wert in Entsprechung zu dem Verbesserungsgrad der Oberflächengenauigkeit größer vorgesehen werden kann.
  • (Dritte Ausführungsform)
  • Eine dritte Ausführungsform der vorliegenden Erfindung betrifft ein numerisches Steuersystem für eine durch eine Werkzeugmaschine durchgeführte Oberflächenbearbeitung. Weil die numerische Steuervorrichtung und die maschinelle Lernvorrichtung in dieser Ausführungsform die gleichen Konfigurationen aufweisen wie die numerische Steuervorrichtung und die maschinelle Lernvorrichtung der ersten Ausführungsform, wird hier auf eine wiederholte Beschreibung derselben verzichtet. 11 ist eine erläuternde Ansicht der Oberflächenbearbeitung. Die Werkzeugmaschine führt eine Oberflächenbearbeitung auf der Bearbeitungsfläche eines Werkstücks W3 durch das lineare Bewegen des Werkzeugs T3 und das gleichzeitige Drehen des Werkzeugs T3 durch. Um bei der Oberflächenbearbeitung unter Berücksichtigung der Basismaterialien des Werkzeugs T3 und des Werkstücks W3 eine kurze Bearbeitungszeit zu erzielen und gleichzeitig die Oberflächengenauigkeit, die die Bearbeitungsgenauigkeit der Bearbeitungsfläche des Werkstücks W3 ist, aufrechtzuerhalten, ist wie in 11 gezeigt eine Anpassung der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten in der Achsenrichtung des Werkzeugs und der Schnittgröße in der Achsenrichtung des Werkzeugs der Spindel, die das Werkzeug T3 dreht, erforderlich.
  • Die dritte Ausführungsform entspricht der ersten Ausführungsform mit Ausnahme davon, dass die Bearbeitungsgenauigkeit des Werkstücks die Oberflächengenauigkeit ist, und davon, dass die Anzahl von Schnitten und die Schnittgröße nicht in der Werkzeugdurchmesserrichtung, sondern in der Achsenrichtung des Werkzeugs in den Zustandsinformationen während des maschinellen Lernens angegeben werden. Die Oberflächengenauigkeit wird durch ein dreidimensionales Messgerät oder ähnliches gemessen. Die Oberflächengenauigkeit ist ein Wert, der die Größe der Abweichung der bearbeiteten Oberfläche von der Zielfläche angibt. Die Werkzeugdurchmesserkompensationsgröße in der ersten Ausführungsform ist eine Werkzeuglängenkompensationsgröße in der dritten Ausführungsform. Die Werkzeuglängenkompensationsgröße entspricht der Werkzeugkompensationsgröße. Ein Schritt zum Berechnen der Belohnung auf der Basis der Bearbeitungsgenauigkeit ist gleich dem Schritt S15-4 der zweiten Ausführungsform.
  • Vorstehend wurden Ausführungsformen der Erfindung beschrieben. Die numerische Steuervorrichtung und die maschinelle Lernvorrichtung können durch Hardware, Software oder eine Kombination aus diesen realisiert werden. Das wie oben beschrieben durch das Zusammenwirken der numerischen Steuervorrichtung und der maschinellen Lernvorrichtung durchgeführte maschinelle Lernen kann auch durch Hardware, Software oder eine Kombination aus diesen realisiert werden. Unter einer Realisation durch Software ist zu verstehen, dass ein Computer ein Programm liest und ausführt.
  • Das Programm kann unter Verwendung von verschiedenen Typen von nicht-transitorischen, computerlesbaren Medien gespeichert und für den Computer bereitgestellt werden. Die nicht-transitorischen, computerlesbaren Medien umfassen verschiedene Typen von greifbaren Speichermedien. Beispiele für die nicht-transitorischen, computerlesbaren Medien sind ein magnetisches Aufzeichnungsmedium (zum Beispiel ein Disketten- oder Festplattenlaufwerk), ein magnetooptisches Aufzeichnungsmedium (zum Beispiel eine magnetooptische Platte), eine CD-ROM (Nur-Lese-Speicher), eine CD-R, eine CD-R/W, ein Halbleiterspeicher (zum Beispiel ein Masken-ROM, ein programmierbarer ROM (PROM), ein löschbarer PROM (EPROM), ein Flash-ROM oder ein Speicher mit wahlfreiem Zugriff (RAM)).
  • Die oben beschriebenen Ausführungsformen sind bevorzugte Ausführungsformen der Erfindung, wobei die Erfindung jedoch nicht auf die hier beschriebenen Ausführungsformen beschränkt ist. Die hier beschriebenen Ausführungsformen können auf verschiedene Weise modifiziert werden, ohne dass deshalb der Erfindungsumfang verlassen wird.
  • <Variationen>
  • In den oben beschriebenen ersten bis dritten Ausführungsformen wird die maschinelle Lernvorrichtung 300 durch eine andere Vorrichtung als die Werkzeugmaschine 100 und die numerische Steuervorrichtung 200 realisiert. Jedoch können ein Teil oder alle Funktionen der maschinellen Lernvorrichtung 300 auch durch die Werkzeugmaschine 100 oder die numerische Steuervorrichtung 200 realisiert werden. Die Optimierungsaktionsinformationen-Ausgabeeinheit 305 der maschinellen Lernvorrichtung 300 kann eine von der maschinellen Lernvorrichtung 300 verschiedene Optimierungsaktionsinformationen-Ausgabeeinrichtung sein. In diesem Fall können eine oder eine Vielzahl von Optimierungsaktionsinformationen-Ausgabeeinrichtungen in Bezug auf eine Vielzahl von maschinellen Lernvorrichtung 300 vorgesehen sein und gemeinsam verwendet werden.
  • <Freiheitsgrad für die Systemkonfiguration>
  • In den oben beschriebenen Ausführungsformen sind die maschinelle Lernvorrichtung 300 und die numerische Steuervorrichtung 200 kommunikativ als ein Satz eins-zu-eins verbunden. Die maschinelle Lernvorrichtung 300 kann jedoch auch kommunikativ mit einer Vielzahl von numerischen Steuervorrichtungen 200 über das Netzwerk 400 verbunden sein, um ein maschinelles Lernen jeder numerischen Steuervorrichtung 200 durchzuführen. Dabei können entsprechende Funktionen der maschinellen Lernvorrichtung 300 durch ein verteiltes Verarbeitungssystem, in dem die Funktionen in entsprechender Weise auf eine Vielzahl von Servern verteilt sind, realisiert werden. Die Funktionen der maschinellen Lernvorrichtung 300 können unter Verwendung einer virtuellen Serverfunktion oder von ähnlichem in einer Cloud realisiert werden.
  • Wenn eine Vielzahl von maschinellen Lernvorrichtungen 300-1 bis 300-n in Entsprechung zu einer Vielzahl von numerischen Steuervorrichtungen 200-1 bis 200-n vorgesehen sind, die jeweils die gleiche Typenbezeichnung, die gleiche Spezifikation oder die gleiche Serie aufweisen, kann das numerische Steuersystem 10 derart konfiguriert sein, dass Lernergebnisse in den maschinellen Lernvorrichtungen 300-1 bis 300-n miteinander geteilt werden. Auf diese Weise kann ein optimaleres Modell erstellt werden.
  • Bezugszeichenliste
  • 10
    numerisches Steuersystem
    100, 100-1 bis 100-n
    Werkzeugmaschine
    101
    Spindelmotor
    102
    Achsenservomotor
    103
    Zykluszähler
    200, 200-1 bis 200-n
    numerische Steuervorrichtung
    201
    Spindelmotor-Steuereinheit
    202
    Achsenservomotor-Steuereinheit
    203
    Numerische Steuerinformationen-Verarbeitungseinheit
    204
    Speichereinheit
    300, 300-1 bis 300-n
    maschinelle Lernvorrichtung
    301
    Zustandsinformationen-Erhaltungseinheit
    302
    Lerneinheit
    303
    Aktionsinformationen-Ausgabeeinheit
    304
    Wertfunktion-Speichereinheit
    305
    Optimierungsaktionsinformationen-Ausgabeeinheit
    400
    Netzwerk
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP H08185211 [0003]
    • JP 6063016 [0003]

Claims (7)

  1. Maschinelle Lernvorrichtung (300), die konfiguriert ist zum Durchführen eines maschinellen Lernens in Bezug auf eine numerische Steuervorrichtung (200), die eine Werkzeugmaschine (100) basierend auf einem Bearbeitungsprogramm betreibt, wobei die maschinelle Lernvorrichtung umfasst: eine Zustandsinformationen-Erhaltungseinheit (301) zum Erhalten von Zustandsinformationen einschließlich eines Setzwerts, einer Zykluszeit für das Schneiden eines Werkstücks und einer Bearbeitungsgenauigkeit des Werkstücks, wobei der Setzwert eine Spindelgeschwindigkeit, eine Vorschubrate, eine Anzahl von Schnitten und eine Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße enthält, eine Aktionsinformationen-Ausgabeeinheit (303) zum Ausgeben von Aktionsinformationen einschließlich von Modifikationsinformationen des in den Zustandsinformationen enthaltenen Setzwerts zu der numerischen Steuervorrichtung, eine Belohnungs-Ausgabeeinheit (3021) zum Ausgeben eines Belohnungswerts in einem Verstärkungslernen basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit, die in den Zustandsinformationen enthalten sind, und eine Wertfunktion-Aktualisierungseinheit (3022) zum Aktualisieren einer Aktionswertfunktion basierend auf einem durch die Belohnungs-Ausgabeeinheit ausgegebenen Belohnungswert, den Zustandsinformationen und den Aktionsinformationen, wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder die Werkzeugkompensationsgröße in einem vorbestimmten Bearbeitungsprogramm gesetzt sind, wobei die numerische Steuervorrichtung die Werkzeugmaschine zum Durchführen eines Schneidens veranlasst, indem sie das Bearbeitungsprogramm ausführt, und wobei die Zykluszeit und die Bearbeitungsgenauigkeit durch die das Bearbeitungsprogramm ausführende numerische Steuervorrichtung erhalten werden.
  2. Maschinelle Lernvorrichtung nach Anspruch 1, wobei das maschinelle Lernen fortgesetzt wird, ohne dass eine maximale Anzahl von Versuchen für das maschinelle Lernen vorgesehen ist.
  3. Maschinelle Lernvorrichtung nach Anspruch 1 oder 2, wobei das maschinelle Lernen für eine Gewindefräsbearbeitung, eine Innendurchmesserbearbeitung, eine Außenformbearbeitung oder eine Oberflächenbearbeitung der Werkzeugmaschine durchgeführt wird.
  4. Maschinelle Lernvorrichtung nach einem der Ansprüche 1 bis 3, wobei die maschinelle Lernvorrichtung eine Optimierungsaktionsinformationen-Ausgabeeinheit (305) zum Erzeugen und Ausgeben der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang oder der Werkzeugkompensationsgröße basierend auf einer durch die Wertfunktion-Aktualisierungseinheit aktualisierten Wertfunktion enthält.
  5. Numerisches Steuersystem, das umfasst: die maschinelle Lernvorrichtung nach einem der Ansprüche 1 bis 4, und eine numerische Steuervorrichtung, wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße eines Bearbeitungsprogramms mechanisch durch die maschinelle Lernvorrichtung gelernt werden.
  6. Numerische Steuervorrichtung, die die maschinelle Lernvorrichtung gemäß einem der Ansprüche1 bis 4 umfasst und konfiguriert ist zum Durchführen eines maschinellen Lernens der Spindelgeschwindigkeit, der Vorschubrate, der Anzahl von Schnitten und der Schnittgröße pro Schneidvorgang oder der Werkzeugkompensationsgröße eines Bearbeitungsprogramms durch die maschinelle Lernvorrichtung.
  7. Maschinelles Lernverfahren für eine maschinelle Lernvorrichtung (300) zum Durchführen eines maschinellen Lernens in Bezug auf eine numerische Steuervorrichtung (200), die eine Werkzeugmaschine (100) basierend auf einem Bearbeitungsprogramm betreibt, wobei das maschinelle Lernverfahren umfasst: Erhalten von Zustandsinformationen einschließlich eines Setzwerts, einer Zykluszeit für das Schneiden eines Werkstücks und der Bearbeitungsgenauigkeit des Werkstücks, wobei der Setzwert eine Spindelgeschwindigkeit, eine Vorschubrate, eine Anzahl von Schnitten und eine Schnittgröße pro Schneidvorgang oder eine Werkzeugkompensationsgröße enthält, Ausgeben von Aktionsinformationen einschließlich von Modifikationsinformationen des in den Zustandsinformationen enthaltenen Setzwerts zu der numerischen Steuervorrichtung, Berechnen eines Belohnungswerts in einem Verstärkungslernen basierend auf der Zykluszeit und der Bearbeitungsgenauigkeit, die in den Zustandsinformationen enthalten sind, und Aktualisieren einer Aktionswertfunktion basierend auf dem berechneten Belohnungswert, den Zustandsinformationen und den Aktionsinformationen, wobei die Spindelgeschwindigkeit, die Vorschubrate, die Anzahl von Schnitten und die Schnittgröße pro Schneidvorgang oder die Werkzeugkompensationsgröße in einem vorbestimmten Bearbeitungsprogramm gesetzt sind, wobei die numerische Steuervorrichtung die Werkzeugmaschine zum Durchführen eines Schneidens veranlasst, indem sie das Bearbeitungsprogramm ausführt, und wobei die Zykluszeit und die Bearbeitungsgenauigkeit durch die das Bearbeitungsprogramm durchführende numerische Steuervorrichtung erhalten werden.
DE102018211682.2A 2017-07-21 2018-07-13 Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren Active DE102018211682B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-141707 2017-07-21
JP2017141707A JP6608879B2 (ja) 2017-07-21 2017-07-21 機械学習装置、数値制御装置、数値制御システム、及び機械学習方法

Publications (2)

Publication Number Publication Date
DE102018211682A1 true DE102018211682A1 (de) 2019-01-24
DE102018211682B4 DE102018211682B4 (de) 2022-12-15

Family

ID=64951500

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018211682.2A Active DE102018211682B4 (de) 2017-07-21 2018-07-13 Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren

Country Status (4)

Country Link
US (1) US10921774B2 (de)
JP (1) JP6608879B2 (de)
CN (1) CN109283887B (de)
DE (1) DE102018211682B4 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10276925B2 (en) 2017-03-29 2019-04-30 Garmin Switzerland Gmbh Watch with slot antenna configuration
JP6940474B2 (ja) * 2018-12-05 2021-09-29 ファナック株式会社 工作機械
EP3931649A1 (de) * 2019-04-03 2022-01-05 Siemens Industry Software Inc. System und verfahren zum entwurf und zur herstellung mit mehrachsigen werkzeugmaschinen
JP7181554B2 (ja) * 2019-04-05 2022-12-01 i Smart Technologies株式会社 生産効率向上支援システム
JP7239106B2 (ja) * 2019-04-22 2023-03-14 株式会社ジェイテクト サイバーフィジカルプロダクションシステム型生産システム
JP7010877B2 (ja) * 2019-04-25 2022-01-26 ファナック株式会社 機械学習装置、数値制御システム及び機械学習方法
JP7074718B2 (ja) * 2019-04-26 2022-05-24 ファナック株式会社 加工支援装置、数値制御装置、及び加工支援システム
CN110370076A (zh) * 2019-08-08 2019-10-25 合肥学院 基于加工机床的自由曲面原位测量方法
US11413747B2 (en) * 2019-08-12 2022-08-16 Workshops for Warriors Machine learning driven computer numerical control of a robotic machine tool
EP4012520B1 (de) * 2019-09-02 2023-05-10 Yamazaki Mazak Corporation Steuervorrichtung, werkzeugmaschine, berechnungsverfahren und programm
WO2021092490A1 (en) * 2019-11-06 2021-05-14 D.P. Technology Corp. Systems and methods for virtual environment for reinforcement learning in manufacturing
JP7436632B2 (ja) 2020-03-17 2024-02-21 ファナック株式会社 機械学習装置、数値制御システム、設定装置、数値制御装置、及び機械学習方法
CN113741352B (zh) * 2021-09-22 2023-01-06 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质
JP7224541B1 (ja) * 2021-09-30 2023-02-17 三菱電機株式会社 数値制御装置、加工システム、数値制御方法および加工方法
WO2023053400A1 (ja) * 2021-09-30 2023-04-06 三菱電機株式会社 数値制御装置、加工システム、数値制御方法および加工方法
CN114002948B (zh) * 2021-10-12 2023-09-26 同济大学 一种第三方数控机床接入服务平台的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6063016A (ja) 1984-07-31 1985-04-11 松下電器産業株式会社 ミル付コ−ヒ−沸し器
JPH08185211A (ja) 1994-12-28 1996-07-16 Nippondenso Co Ltd 加工制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5942249B2 (ja) * 1976-09-29 1984-10-13 株式会社千野製作所 放射温度計の補償回路
JPS5942249A (ja) * 1982-08-30 1984-03-08 Mitsubishi Heavy Ind Ltd 加工径補正方法
JP2772450B2 (ja) * 1992-09-11 1998-07-02 オークマ株式会社 非円形ワークの加工方法
JP2000127040A (ja) * 1998-10-26 2000-05-09 Hitachi Via Mechanics Ltd 研削盤の研削条件設定装置
WO2004089569A1 (ja) * 2003-04-09 2004-10-21 Mitsubishi Denki Kabushiki Kaisha スクリューロータの加工装置と加工方法及び切削バイト
JP5431987B2 (ja) * 2010-01-29 2014-03-05 Dmg森精機株式会社 工作機械の制御装置
JP5942249B2 (ja) * 2012-04-11 2016-06-29 パナソニックIpマネジメント株式会社 電線引込支柱及びそれを用いた配電システム
JP2017030067A (ja) * 2015-07-30 2017-02-09 ファナック株式会社 加工時間測定機能とオンマシン測定機能を有する制御装置付き加工装置
JP6063013B1 (ja) 2015-08-27 2017-01-18 ファナック株式会社 びびり或いは工具摩耗/破損の発生を抑制する加工条件調整機能を有する数値制御装置
JP6063016B1 (ja) 2015-09-29 2017-01-18 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械
JP5969676B1 (ja) * 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械
JP6235543B2 (ja) * 2015-09-30 2017-11-22 ファナック株式会社 加工機のサイクル加工時間を最適化する機械学習装置、モータ制御装置、加工機、および機械学習方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6063016A (ja) 1984-07-31 1985-04-11 松下電器産業株式会社 ミル付コ−ヒ−沸し器
JPH08185211A (ja) 1994-12-28 1996-07-16 Nippondenso Co Ltd 加工制御方法

Also Published As

Publication number Publication date
CN109283887B (zh) 2021-05-04
US20190025794A1 (en) 2019-01-24
JP6608879B2 (ja) 2019-11-20
CN109283887A (zh) 2019-01-29
US10921774B2 (en) 2021-02-16
DE102018211682B4 (de) 2022-12-15
JP2019021235A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
DE102018211682B4 (de) Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren
DE102018209149B4 (de) Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm
DE102016008994B4 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE112015004939B4 (de) Verfahren zum Optimieren der Produktivität eines Bearbeitungsprozesses einer CNC-Maschine
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102018200794A1 (de) Aktionsinformationslernvorrichtung, aktionsinformationsoptimierungssystem und aktionsinformationslernprogramm
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102017010799A1 (de) Maschinenlernvorrichtung und Robotersystem zum Lernen einer Bearbeitungsreihenfolge eines Laserbearbeitungsroboters und Maschinenlernverfahren dafür
DE102018214276B4 (de) Vorrichtung für maschinelles Lernen, Steuersystem, Steuervorrichtung und Verfahren für maschinelles Lernen
DE102017130429A1 (de) Numerische Steuerung und maschinelle Lernvorrichtung
DE102016011402A1 (de) Maschinelles Lernverfahren und maschinelle Lernvorrichtung zum Einlernen von Betriebsbefehlen für einen Elektromotor und Werkzeugmaschine mit maschineller Lernvorrichtung
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102017009428A1 (de) Maschinenlernvorrichtung, die einen Einstellwert eines Bearbeitungsprogramms einer Werkzeugmaschine lernt, und Bearbeitungssystem
DE102018004048B4 (de) Steuerung und Maschinenlernvorrichtung
DE102018205015A1 (de) Einstellvorrichtung und Einstellverfahren
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102018001028B4 (de) Numerische Steuerung
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102017212531A1 (de) Bearbeitungszustand-anzeigevorrichtung, und nc-programm- erzeugungsvorrichtung und nc-programm-editiervorrichtung mit derselben
DE102017010759A1 (de) Numerische steuerung
DE112021000842T5 (de) Maschinelle Lernvorrichtung, Computervorrichtung, Steuersystem und maschinelles Lernverfahren
DE112013005198T5 (de) Verfahren, Systeme und Vorrichtungen zur Gestaltung und Herstellung von flankenfräsbaren Bauteilen
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final