DE102020204854A1 - Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen - Google Patents

Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen Download PDF

Info

Publication number
DE102020204854A1
DE102020204854A1 DE102020204854.1A DE102020204854A DE102020204854A1 DE 102020204854 A1 DE102020204854 A1 DE 102020204854A1 DE 102020204854 A DE102020204854 A DE 102020204854A DE 102020204854 A1 DE102020204854 A1 DE 102020204854A1
Authority
DE
Germany
Prior art keywords
blocks
value
machine learning
reward
machining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020204854.1A
Other languages
English (en)
Other versions
DE102020204854A8 (de
Inventor
Chunyu Bao
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 DE102020204854A1 publication Critical patent/DE102020204854A1/de
Publication of DE102020204854A8 publication Critical patent/DE102020204854A8/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • 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/406Numerical 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 monitoring or safety
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • 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/35356Data handling
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36125Select out of library, beforehand only functions needed for part program
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43011Shorter time by adjusting corner speed, avoid zero speed when engage corner
    • 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/49164Corner, making corner
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Numerical Control (AREA)

Abstract

Die Bearbeitungsgenauigkeit wird verbessert, und die Bearbeitungszeit wird verkürzt. Eine Vorrichtung für maschinelles Lernen führt ein maschinelles Lernen an einer numerischen Steuervorrichtung durch, die, wenn ein erster Befehl einen Eckabschnitt beinhaltet, der aus zwei Blöcken in dem Bearbeitungsprogramm besteht, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m > 2) ersetzt werden. Die Vorrichtung für maschinelles Lernen weist auf: eine Zustandsinformations-Erfassungseinheit zum Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs und die Bearbeitungszeit beinhalten; eine Aktionsinformations-Ausgabeeinheit zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, an die numerische Steuervorrichtung; eine Belohnungsausgabeeinheit zum Ausgeben eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und eine Wertfunktions-Aktualisierungseinheit zum Aktualisieren einer Wertfunktion auf Grundlage des Werts der Belohnung, der von der Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung für maschinelles Lernen zum Durchführen eines maschinellen Lernens zum Optimieren eines Befehls für eine Eckposition, auf ein numerisches Steuersystem, das diese Vorrichtung für maschinelles Lernen beinhaltet, und auf ein Verfahren für maschinelles Lernen.
  • Verwandte Technik
  • Eine Werkzeugmaschine, die eine Vorrichtung für maschinelles Lernen einsetzt, wird zum Beispiel in Patentdokument 1 bis Patentdokument 5 beschrieben. Das Patentdokument 1 beschreibt eine Werkzeugmaschine zum Durchführen eines maschinellen Lernens des Werkzeugbetriebs, das als Werkzeugweg den Umriss eines vorgegebenen Werkstücks verwendet, das mit Geraden und Kurven ausgebildet ist. Genauer gesagt, das Patentdokument 1 beschreibt eine Werkzeugmaschine, die aufweist: eine Betriebsbewertungseinheit zum Bewerten eines Betriebs der Werkzeugmaschine zum Ausgeben von Bewertungsdaten; und eine Vorrichtung für maschinelles Lernen zum Durchführen eines maschinellen Lernens eines Bewegungsbetrags der Werkzeugmaschinenachse, wobei die Vorrichtung für maschinelles Lernen eine Zustandsbeobachtungseinheit zum Erfassen von physischen Betragsdaten und Bewertungsdaten der Werkzeugmaschine, eine Belohnungsberechnungseinheit zum Berechnen einer Belohnung auf Grundlage der physischen Betragsdaten und der Bewertungsdaten, eine Bewegungsbetragsanpassungs-Lerneinheit zum Durchführen einer Anpassung des Bewegungsbetrags der Achse auf Grundlage eines Ergebnisses maschinellen Lernens und der physischen Betragsdaten und eine Bewegungsbetrags-Ausgabeeinheit zum Ausgeben des Bewegungsbetrags der Achse aufweist, der durch die Bewegungsbetragsanpassungs-Lerneinheit angepasst worden ist, und die Bewegungsbetragsanpassungs-Lerneinheit ein maschinelles Lernen einer Anpassung des Bewegungsbetrags der Achse auf Grundlage des angepassten Bewegungsbetrags der Achse, der physischen Betragsdaten, die durch die Zustandsbeobachtungseinheit gewonnen worden sind, und der Belohnung durchführt, die durch die Belohnungsberechnungseinheit berechnet worden ist.
  • Das Patentdokument 2 beschreibt eine Werkzeugmaschine zum Erzeugen einer optimalen Beschleunigung/Verzögerung bei einem Steuern jeder Achse. Genauer gesagt, das Patentdokument 2 beschreibt eine Werkzeugmaschine, die aufweist: eine Betriebsbewertungseinheit zum Bewerten eines Betriebs der Werkzeugmaschine, und eine Vorrichtung für maschinelles Lernen zum Durchführen eines maschinellen Lernens eines Bewegungsbetrags einer Werkzeugmaschinenachse, wobei die Vorrichtung für maschinelles Lernen eine Zustandsbeobachtungseinheit zum Erfassen von Zustandsdaten der Werkzeugmaschine, eine Belohnungsberechnungseinheit zum Berechnen einer Belohnung auf Grundlage der Zustandsdaten, eine Bewegungsbetragsanpassungs-Lerneinheit zum Durchführen eines maschinellen Lernens einer Ermittlung eines Bewegungsbetrags der Achse und eine Bewegungsbetrags-Ausgabeeinheit zum Ermitteln und Ausgeben des Bewegungsbetrags der Achse auf Grundlage eines Ergebnisses maschinellen Lernens aufweist und die Bewegungsbetragsanpassungs-Lerneinheit ein maschinelles Lernen der Ermittlung des Bewegungsbetrags der Achse auf Grundlage des ermittelten Bewegungsbetrags der Achse, der Zustandsdaten, die durch die Zustandsbeobachtungseinheit erfasst worden sind, und der Belohnung durchführt, die durch die Belohnungsberechnungseinheit berechnet worden ist.
  • Das Patentdokument 3 beschreibt eine Aktionsinformations-Lernvorrichtung zum Durchführen von bestärkendem Lernen, die eine Auswahl von Aktionsinformationen zum Verkürzen einer Zykluszeit ermöglicht und gleichzeitig außerdem das Auftreten eines Überhitzens vermeidet. Genauer gesagt, das Patentdokument 3 beschreibt eine Aktionsinformations-Lernvorrichtung, die aufweist: ein Zustandsinformations-Erfassungsmittel zum Erfassen von Zustandsinformationen, die ein Betriebsmuster einer Spindel und eine Kombination von Parametern im Zusammenhang mit einem Bearbeiten einer Werkzeugmaschine beinhalten; ein Aktionsinformations-Ausgabemittel zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen für das Betriebsmuster und die Kombination von Parametern beinhalten, die in den Zustandsinformationen beinhaltet sind; ein Belohnungsberechnungsmittel zum Erfassen von Ermittlungsinformationen, bei denen es sich um Informationen für die Temperatur der Werkzeugmaschine und eine Bearbeitungszeit im Zusammenhang mit dem Bearbeiten der Werkzeugmaschine handelt, und zum Ausgeben eines Werts einer Belohnung für ein bestärkendes Lernen auf Grundlage der auf diese Weise erfassten Ermittlungsinformationen; und ein Wertfunktions-Aktualisierungsmittel zum Aktualisieren einer Wertfunktion durch Durchführen des bestärkenden Lernens auf Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.
  • Das Patentdokument 4 beschreibt, dass bei einem Erzeugen von numerischen Steuerdaten für ein Bearbeiten einer äußeren Form eine Vorrichtung zum Erzeugen von numerischen Steuerdaten die Daten zum Verkürzen einer Bearbeitungszeit durch Verringern eines ungeschorenen verbleibenden Abschnitts mit einem Werkzeug ausgleichen kann, statt den ungeschorenen verbleibenden Abschnitt mit einem weiteren, anderen Werkzeug auszugleichen. Genauer gesagt, das Patentdokument 4 beschreibt eine Vorrichtung zum Erzeugen von numerischen Steuerdaten ohne einen weiteren Bearbeitungsprozess neu hinzuzufügen, durch Auswählen eines geeigneten Werkzeugs aus zuvor aufgezeichneten Werkzeuginformationen, nachdem eine äußere Form mit einer Höhlung eingegeben worden ist, Erzeugen von numerischen Steuerdaten in einer Reihenfolge eines Bearbeitungsprozesses, anschließendes Extrahieren der Höhlung aus der eingegebenen äußeren Form und Ausgleichen von Daten an diesem Teil auf numerische Steuerdaten für eine Bearbeitung einer äußeren Form, die berechnet wird, indem auch ein Plus-Minus-Fehlerspielraum berücksichtigt wird, die eine äußere Form mit hoher Genauigkeit bearbeiten kann.
  • Das Patentdokument 5 beschreibt eine Drahtfunkenerosionsmaschine zum Korrigieren eines Bearbeitungswegs abhängig von einem Winkel, der durch zwei bewegliche Blöcke ausgebildet wird, die einen Eckabschnitt ausbilden. Genauer gesagt, das Patentdokument 5 beschreibt eine Drahtfunkenerosionsmaschine, wobei Blöcke eines Bearbeitungsprogramms aus einer Bearbeitungsprogramm-Speichereinheit gelesen werden und analysiert werden und, wenn durch eine Eckenwinkel-Erkennungseinheit ermittelt wird, dass eine Ecke vorhanden ist, eine Ausgleichsstrecke und eine Rückfahrstrecke auf Grundlage eines Eckenwinkels berechnet werden, der durch die Eckenwinkel-Erkennungseinheit erkannt wird, ein Endpunkt eines Blocks, der zuerst zu bearbeiten ist, entsprechend der Ausgleichsstrecke erweitert wird, ein nachfolgend zu bearbeitender Block von einem Startpunkt bis zu einem Zwischenpunkt dieses Blocks gemäß der Rückfahrstrecke entfernt wird, ein Bearbeitungsweg in einer Bearbeitungsweg-Ausgleichseinheit so berechnet wird, dass der Endpunkt des neuen Blocks, der durch die Erweiterung erzeugt wird, mit dem Startpunkt eines weiteren Blocks verbunden wird, der durch das Entfernen erzeugt wird, und die Drahtelektrode durch eine Bearbeitungsweg-Steuereinheit relativ zu einem Werkstück bewegt wird.
    • Patentdokument 1: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2017-033138
    • Patentdokument 2: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2017-068325
    • Patentdokument 3: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2018-120453
    • Patentdokument 4: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. H08-202424
    • Patentdokument 5: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2014-121755
  • Übersicht über die Erfindung
  • In einer numerischen Steuervorrichtung zum Steuern einer Werkzeugmaschine wird eine Steuerung von Beschleunigung/Verzögerung über eine interpolierte Bahn durchgeführt, um das Auftreten von Erschütterungen in den Eckabschnitten zu vermeiden. Infolgedessen überlappen zwei interpolierte Bahnen, wird jeweils eine Steuerung von Beschleunigung/Verzögerung durchgeführt und weicht daher der Bearbeitungsweg von dem ursprünglichen Bearbeitungsweg ab, wodurch ein Betrag einer Einwärtsdrehung auftritt. Bei der numerischen Steuervorrichtung zum Steuern der Werkzeugmaschine ist es erwünscht, dass, während dieser Betrag einer Einwärtsdrehung verringert wird und die Bearbeitungsgenauigkeit verbessert wird, die Bearbeitungszeit verkürzt wird.
  • (1) Ein Aspekt der vorliegenden Offenbarung ist eine Vorrichtung (200) für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung (100), die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl, der einen Eckabschnitt beinhaltet, der aus zwei Blöcken besteht, in dem Bearbeitungsprogramm beinhaltet ist, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als zwei handelt, die aufweist: eine Zustandsinformations-Erfassungseinheit (201) zum Erfassen von Zustandsinformationen, die einen ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs beinhalten, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung (100) gewonnen werden; eine Aktionsinformations-Ausgabeeinheit (203) zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung (100); eine Belohnungsausgabeeinheit (2021) zum Ausgeben eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und eine Wertfunktions-Aktualisierungseinheit (2022) zum Aktualisieren einer Wertfunktion auf Grundlage des Belohnungswerts, der von der Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen.
  • (2) Ein weiterer Aspekt der vorliegenden Offenbarung ist ein numerisches Steuersystem (10), das die Vorrichtung (200) für maschinelles Lernen gemäß dem oben beschriebenen (1) und die numerische Steuervorrichtung (100) aufweist, wobei ein maschinelles Lernen der Koordinatenwerte jedes Blocks in den m oder mehr Blöcken durch die Vorrichtung (200) für maschinelles Lernen durchgeführt wird.
  • (3) Des Weiteren ist ein weiterer Aspekt der vorliegenden Offenbarung ein Verfahren für maschinelles Lernen einer Vorrichtung (200) für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung (100), die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl, der einen Eckabschnitt beinhaltet, der aus zwei Blöcken besteht, in dem Bearbeitungsprogramm beinhaltet ist, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als zwei handelt, das aufweist: ein Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung (100) gewonnen werden; ein Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung (100); ein Ermitteln eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und ein Aktualisieren einer Wertfunktion auf Grundlage des Belohnungswerts, der Zustandsinformationen und der Aktionsinformationen.
  • Gemäß jeder Ausführungsform der vorliegenden Offenbarung kann die Bearbeitungszeit verkürzt werden, während der Betrag einer Einwärtsdrehung verringert wird, um die Bearbeitungsgenauigkeit zu verbessern.
  • Figurenliste
    • 1 ist ein Blockschaubild, das eine Gestaltung eines numerischen Steuersystems gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
    • 2 ist ein erläuterndes Schaubild, das ein Beispiel für einen Befehl mit zwei Blöcken und einen internen Befehl mit fünf Blöcken veranschaulicht.
    • 3 ist ein Schaubild, das einen Befehlsweg und einen ausgeglichenen Bearbeitungsweg auf Grundlage eines Befehls mit zwei Blöcken und einen internen Befehlsweg und einen ausgeglichenen Bearbeitungsweg auf Grundlage eines internen Befehls mit fünf Blöcken veranschaulicht.
    • 4 ist ein Schaubild, das einen zulässigen Fehlerbereich des in 3 dargestellten ausgeglichenen Bearbeitungswegs veranschaulicht.
    • 5 ist ein Blockschaubild, das eine Vorrichtung 200 für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
    • 6 ist ein Eigenschaftsdiagramm, das die Beziehung zwischen der Geschwindigkeit auf der x-Achse und der y-Achse und der Zeit auf dem Bearbeitungsweg auf Grundlage des Befehls mit zwei Blöcken veranschaulicht.
    • 7 ist ein Eigenschaftsdiagramm, das eine Beziehung zwischen der Geschwindigkeit auf der x-Achse und der y-Achse und der Zeit auf dem ausgeglichenen Bearbeitungsweg auf Grundlage des Befehls mit fünf Blöcken veranschaulicht.
    • 8 ist ein Ablaufplan, der den Betrieb der Vorrichtung 200 für maschinelles Lernen veranschaulicht, wenn Q-Learning in der vorliegenden Ausführungsform durchgeführt wird.
    • 9 ist ein Ablaufplan, der ein Belohnungsberechnungsverfahren auf Grundlage der Bearbeitungsgenauigkeit innerhalb eines Schritts S14 in 8 veranschaulicht.
    • 10 ist ein Ablaufplan, der einen Teil eines Belohnungsberechnungsverfahrens auf Grundlage der Bearbeitungszeit innerhalb des Schritts S14 in 8 veranschaulicht.
    • 11 ist ein Ablaufplan, der den Betrieb einer Optimierungsaktionsinformations-Ausgabeeinheit der Vorrichtung für maschinelles Lernen in einer Ausführungsform der vorliegenden Offenbarung erläutert.
    • 12 ist ein Blockschaubild, das ein weiteres Gestaltungsbeispiel für das numerische Steuersystem veranschaulicht.
  • Ausführliche Beschreibung der Erfindung
  • Im Folgenden werden die Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen ausführlich erläutert.
  • Zuerst wird ein numerisches Steuersystem beschrieben, das eine Vorrichtung für maschinelles Lernen der vorliegenden Offenbarung beinhaltet. 1 ist ein Blockschaubild, das eine Gestaltung eines numerischen Steuersystems gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht. Wie in 1 dargestellt, weist das numerische Steuersystem 10 eine numerische Steuervorrichtung 100 wie zum Beispiel eine CNC(Computerized Numerical Control, computergestützte numerische Steuerung)-Vorrichtung, eine Vorrichtung 200 für maschinelles Lernen und Motoren 301, 302 auf. Die Vorrichtung 200 für maschinelles Lernen kann in der numerischen Steuervorrichtung 100 beinhaltet sein.
  • Die Motoren 301, 302 werden als Teil einer Werkzeugmaschine, eines Roboters, einer Industriemaschine und dergleichen bereitgestellt. Darüber hinaus kann die numerische Steuervorrichtung 100 als Teil einer Werkzeugmaschine, eines Roboters, einer Industriemaschine und dergleichen bereitgestellt werden. Wenngleich die Motoren 301, 302 in der folgenden Beschreibung als Motoren erläutert werden, die eine Drehbewegung durchführen, kann es sich um Linearmotoren handeln, die lineare Bewegungen durchführen.
  • Bei der Werkzeugmaschine handelt es sich zum Beispiel um eine dreiachsige Bearbeitungsmaschine, und lediglich die Motoren 301, 302, bei denen es sich um Vorschubachsenmotoren für die x-Achse und die y-Achse handelt, werden in 1 dargestellt. Wenngleich ein Motor für die z-Achse als weiterer Vorschubachsenmotor bereitgestellt wird und die dreiachsige Bearbeitungsmaschine darüber hinaus einen Spindelmotor zum Drehen eines Werkzeugs wie zum Beispiel eines Kugelfräswerkzeugs aufweist, werden deren Erläuterungen hierin weggelassen.
  • Die Motoren 301, 302 bewegen einen Tisch mit einem Substrat darauf zur Herstellung eines Werkstücks zum Beispiel jeweils durch Kugelspindeln linear in der Richtung der x-Achse und in der Richtung der y-Achse. Der Motor für die z-Achse bewegt sich auf dem Werkzeug oder dem Tisch linear in der z-Richtung. Unterdessen ist eine Gestaltung der dreiachsigen Bearbeitungsmaschine nicht auf eine solche Gestaltung beschränkt; beispielsweise kann das Werkzeug so fixiert werden, dass der Tisch linear in der Richtung der x-Achse, in der Richtung der y-Achse und in der Richtung der z-Achse bewegt wird, oder der Tisch kann so fixiert werden, dass das Werkzeug linear in der Richtung der x-Achse, in der Richtung der y-Achse und in der Richtung der z-Achse bewegt wird.
  • Die numerische Steuervorrichtung 100 weist eine Befehlsanalyseeinheit 101, eine Einheit 102 zum Erzeugen von internen Befehlen, eine Interpolationseinheit 103, eine Beschleunigungs-/Verzögerungs-Steuereinheit 104, eine x-Achsen-Servosteuereinheit 105 und eine y-Achsen-Servosteuereinheit 106 auf. Wenngleich die numerische Steuervorrichtung 100 eine z-Achsen-Servosteuereinheit und eine Spindelsteuereinheit aufweist, werden deren Erläuterungen hier weggelassen, und eine Steuerung eines Eckabschnitts im Hinblick auf die x-Achse und die y-Achse wird im Folgenden erläutert.
  • Die Befehlsanalyseeinheit 101 liest der Reihe nach aus dem eingegebenen Bearbeitungsprogramm und analysiert einen Block, der einen Befehl für eine Bewegung auf der x-Achse und der y-Achse beinhaltet, erzeugt Bewegungsbefehlsdaten, die die Bewegung jeder Achse befehlen, auf Grundlage des Analyseergebnisses und gibt anschließend die erzeugten Bewegungsbefehlsdaten an die Interpolationseinheit 103 aus. Wenn die Befehlsanalyseeinheit 101 erkennt, dass ein Befehl (dieser Befehl wird zu einem ersten Befehl), der einen Eckabschnitt beinhaltet, der aus zwei Blöcken besteht, in dem Bearbeitungsprogramm beinhaltet ist, sendet sie den Befehl mit den beiden Blöcken an die Einheit 102 zum Erzeugen von internen Befehlen und an die Vorrichtung 200 für maschinelles Lernen. Wenngleich der Eckabschnitt hier als rechter Winkel definiert ist, kann es sich bei dem Eckabschnitt um einen spitzen Winkel oder um einen stumpfen Winkel handeln.
  • Die Einheit 102 zum Erzeugen von internen Befehlen erzeugt einen internen Befehl (dieser wird zu einem zweiten Befehl) mit fünf Blöcken für den Eckabschnitt auf Grundlage des Befehls mit zwei Blöcken und sendet den erzeugten internen Befehl mit fünf Blöcken an die Befehlsanalyseeinheit 101 und an die Vorrichtung 200 für maschinelles Lernen. Der interne Befehl beinhaltet die Koordinatenwerte jedes Blocks der fünf Blöcke. Die Befehlsanalyseeinheit 101 erzeugt Bewegungsbefehlsdaten, in denen der Befehl mit zwei Blöcken durch den Befehl mit fünf Blöcken ersetzt wird, und gibt die erzeugten Bewegungsbefehlsdaten an die Interpolationseinheit 103 aus. Die Anzahl von zu erzeugenden Blöcken kann m oder mehr (m ist eine natürliche Zahl) betragen, bei denen es sich um mehr als zwei handelt, ist nicht auf fünf beschränkt und kann eine andere Anzahl als fünf, zum Beispiel vier oder sieben, betragen.
  • Die Interpolationseinheit 103 berechnet Interpolationsdaten, wobei eine Interpolationsberechnung an einem Punkt auf dem Befehlsweg für Interpolationszeiträume auf Grundlage der Bewegungsbefehlsdaten, die von der Befehlsanalyseeinheit 101 ausgegeben werden, durchgeführt wird.
  • Die Beschleunigungs-/Verzögerungs-Steuereinheit 104 führt eine Beschleunigungs-/Verzögerungs-Verarbeitung auf Grundlage der von der Interpolationseinheit 103 ausgegebenen Interpolationsdaten durch, berechnet die Geschwindigkeit jeder Achse für jeden Interpolationszeitraum und gibt die Daten auf Grundlage des Berechnungsergebnisses an die x-Achsen-Servosteuereinheit 105 und die y-Achsen-Servosteuereinheit 106 aus. Des Weiteren gibt die Beschleunigungs-/Verzögerungs-Steuereinheit 104 die Beschleunigung an die Vorrichtung 200 für maschinelles Lernen aus.
  • 2 ist ein erläuterndes Schaubild, das ein Beispiel für einen Befehl mit zwei Blöcken und einen internen Befehl mit fünf Blöcken veranschaulicht. Bei den Befehlen „G01;“, „N01 X10.0;“, und „N02 Y1 0.0;“ handelt es sich um die Befehle, die durch die Befehlsanalyseeinheit 101 analysiert werden, und „G01“ stellt eine „lineare Interpolation (Schneidvorschub)“ dar, „N“ stellt „die Sequenznummer (die Blocknummer in einer Zeile)“ dar, „X“ stellt die x-Achsen-Koordinate dar, und „Y“ stellt die y-Achsen-Koordinate dar. Genauer gesagt, dieser Befehl stellt in der linearen Schneidvorschubinterpolation einen Bewegungsbefehl von den x-Achsen- und den y-Achsen-Koordinaten (0, 0) bis (10, 0) in dem ersten Block und einen Bewegungsbefehl von den x-Achsen- und den y-Achsen-Koordinaten (10, 0) bis (10, 10) in dem zweiten Block dar.
  • Die internen Befehle „G01;“, „N01 X5.0;“, „N02 X9.9 Y-0.1;“, „N03 X10.1 Y0.1;“, „N04 X10.0 Y5.0;“ und „N05 Y10.0;“ sind Befehle, die durch die Einheit 102 zum Erzeugen von internen Befehlen auf Grundlage der Befehle „G01;“, „N01 X10.0;“, „N02 Y10.0;“ erzeugt werden. Genauer gesagt, dieser interne Befehl stellt bei dem Schneidvorschub die folgenden Bewegungsbefehle dar: in einem ersten Block die Bewegung der x-Achsen- und der y-Achsen-Koordinaten von (0, 0) bis (5, 0); in dem zweiten Block die Bewegung der x-Achsen- und der y-Achsen-Koordinaten von (5, 0) bis (9, 10); in dem dritten Block die Bewegung der x-Achsen- und der y-Achsen-Koordinaten von (9,9, -0,1) bis (10,1, 0,1); in dem vierten Block die Bewegung der x-Achsen- und der y-Achsen-Koordinaten von (10,1, 0,1) bis (10,0, 5,0); und in dem fünften Block die Bewegung der x-Achsen- und der y-Achsen-Koordinaten von (10,0, 5,0) bis (10,0, 10,0).
  • 3 ist ein Schaubild, das einen Befehlsweg auf Grundlage der beiden Blöcke und einen Bearbeitungsweg auf Grundlage der Geschwindigkeit jeder Achse für jeden Interpolationszeitraum, der durch die Interpolationsdaten der beiden Blöcke berechnet wird, und einen internen Befehlsweg auf Grundlage der fünf Blöcke und einen ausgeglichenen Bearbeitungsweg auf Grundlage der Geschwindigkeit jeder Achse für jeden Interpolationszeitraum darstellt, der durch die Interpolationsdaten der fünf Blöcke berechnet wird. Genauer gesagt, ein Befehlsweg zwischen dem Punkt A und dem Punkt G und ein Befehlsweg zwischen dem Punkt G und dem Punkt F, die in 3 dargestellt werden, beruhen auf den beiden Blöcken, die die Befehle „G01;“, „N01 X10.0; und „N02 Y10.0“ beinhalten, und dieser Befehlsweg wird in 3 durch eine durchgezogene Linie dargestellt. Des Weiteren wird ein Bearbeitungsweg auf Grundlage der Interpolationsdaten der beiden Blöcke in 3 durch eine durchgezogene Linie dargestellt. Ein Befehlsweg zwischen dem Punkt A und dem Punkt B, ein Befehlsweg zwischen dem Punkt B und dem Punkt C, ein Befehlsweg zwischen dem Punkt C und dem Punkt D, ein Befehlsweg zwischen dem Punkt D und dem Punkt E und ein Befehlsweg zwischen dem Punkt E und dem Punkt F, die in 3 dargestellt werden, beruhen auf den fünf Blöcken, die Befehle „G01;“, „N01 X5.0;“, „N02 X9.9 Y-0.1;“, „N03 X10.1 Y0.1;“, „N04 X10.0 Y5.0;“ und „N05 Y10.0;“ beinhalten, und dieser Befehlsweg wird in 3 durch eine mit großem Abstand gestrichelte Linie dargestellt. Des Weiteren wird ein ausgeglichener Bearbeitungsweg auf Grundlage der Geschwindigkeit jeder Achse für jeden Interpolationszeitraum, der durch die Interpolationsdaten der fünf Blöcke berechnet wird, in 3 durch eine mit geringem Abstand gestrichelte Linie dargestellt.
  • Auf einem in 3 durch eine durchgezogene Linie dargestellten Bearbeitungsweg wird aufgrund der Beschleunigungs-/Verzögerungs-Steuerung, die durch die Beschleunigungs-A/erzögerungs-Steuereinheit 104 durchgeführt wird, eine überlappende Beschleunigung/Verzögerung zwischen Befehlsblöcken durchgeführt. Infolgedessen weicht der Bearbeitungsweg von dem befohlenen Befehlsweg ab und wird der Betrag einer Einwärtsdrehung erzeugt.
  • Die im Folgenden beschriebene Vorrichtung 200 für maschinelles Lernen lernt einen optimalen Wert der x-Achsen- und der y-Achsen-Koordinatendaten (den Koordinatenwert) in dem internen Befehl, so dass der Betrag einer Einwärtsdrehung verringert werden kann und die Bearbeitungszeit verkürzt werden kann.
  • Die x-Achsen-Servosteuereinheit 105 und die y-Achsen-Servosteuereinheit 106 steuern die Motoren 301, 302 der x-Achse und der y-Achse jeweils auf Grundlage der Ausgabe von der Beschleunigungs-/Verzögerungs-Steuereinheit 104. Die x-Achsen-Servosteuereinheit 105 und die y-Achsen-Servosteuereinheit 106 beinhalten jeweils eine Positionssteuereinheit und eine Geschwindigkeitssteuereinheit zum Konfigurieren einer Positions- und Geschwindigkeits-Rückkopplungsschleife, einen Motorantriebsverstärker zum Antreiben eines Motors auf Grundlage eines Drehmoment-Befehlswerts, eine Bedientafel zum Annehmen einer Bedienung von dem Benutzer und dergleichen.
  • Die x-Achsen-Servosteuereinheit 105 und die y-Achsen-Servosteuereinheit 106 ermitteln eine Positionsabweichung mithilfe eines Positions-Rückkopplungssignals von einem Positionsdetektor wie zum Beispiel einem Drehgeber, der jeweils den Motoren 301, 302 zugehörig ist, und eines Positionsbefehls, der von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird. Der Positionserkennungswert, der von dem Positionsdetektor wie zum Beispiel einem Drehgeber, der jeweils den Motoren 301, 302 zugehörig ist, ausgegeben wird, wird als Positions-Rückkopplungssignal verwendet und als Positionsinformation an die Vorrichtung 200 für maschinelles Lernen ausgegeben. Unterdessen sind die internen Konfigurationen der x-Achsen-Servosteuereinheit 105 und der y-Achsen-Servosteuereinheit 106 Fachleuten gut bekannt, und daher werden eine ausführliche Erläuterung und Veranschaulichung weggelassen.
  • <Vorrichtung 200 für maschinelles Lernen>
  • Die Vorrichtung 200 für maschinelles Lernen führt ein Bearbeitungsprogramm aus und führt ein maschinelles Lernen (das im Folgenden als Lernen bezeichnet wird) des x-Achsen-Koordinatenwerts und des y-Achsen-Koordinatenwerts in den fünf Blöcken des internen Befehls mithilfe eines Bearbeitungsprogrammbefehls, eines internen Befehls, der in der numerischen Steuervorrichtung 100 erzeugt wird, einer Vorschubgeschwindigkeit, die in fünf Blöcken des internen Befehls festgelegt ist, der Zeitkonstanten jeder Achse, einer Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und eines Positionserkennungswerts durch, der von den Motoren 301 und 302 ausgegeben wird. Das Lernen durch die Vorrichtung 200 für maschinelles Lernen wird vor einer Auslieferung durchgeführt, jedoch kann ein erneutes Lernen nach der Auslieferung durchgeführt werden. Hier steuert die numerische Steuervorrichtung 100 die Motoren 301, 302 durch das Bearbeitungsprogramm und steuert die Werkzeugmaschine an, ohne dass ein Werkstück (ein Werk) montiert ist.
  • In der folgenden Beschreibung wird ein Fall beschrieben, in dem die Vorrichtung 200 für maschinelles Lernen ein bestärkendes Lernen durchführt; das Lernen, das durch die Vorrichtung 200 für maschinelles Lernen durchgeführt wird, unterliegt jedoch keiner Beschränkung auf bestärkendes Lernen, und die vorliegende Erfindung ist auch auf Fälle anwendbar, in dem ein überwachtes Lernen durchgeführt wird.
  • Bevor jeweilige in der Vorrichtung 200 für maschinelles Lernen beinhaltete Funktionsblöcke beschrieben werden, wird zunächst ein grundlegender Mechanismus bestärkenden Lernens beschrieben. Ein Agent (der bei der vorliegenden Ausführungsform der Einheit 200 für maschinelles Lernen entspricht) beobachtet einen Umgebungszustand und wählt eine bestimmte Aktion aus. Anschließend ändert sich die Umgebung auf Grundlage der Aktion. Eine bestimmte Belohnung wird in Übereinstimmung mit der Umgebungsänderung gegeben, und der Agent lernt Auswahlen (Entscheidungen) einer besseren Aktion. Während überwachtes Lernen eine vollkommen korrekte Antwort bietet, bietet die Belohnung bei bestärkendem Lernen häufig einen Fragmentwert auf Grundlage einer Änderung in einem Teil der Umgebung. Daher lernt der Agent, eine Aktion so auszuwählen, dass die Gesamtbelohnung in Zukunft maximiert wird.
  • Auf diese Weise lernt das bestärkende Lernen ein Verfahren zum Lernen einer geeigneten Aktion auf Grundlage der Wechselwirkung einer Aktion mit der Umgebung (das heißt, einer Aktion zum Maximieren der in Zukunft zu erzielenden Belohnung) durch Lernen einer Aktion. Dies bedeutet, dass bei der vorliegenden Ausführungsform eine solche Aktion, die sich auf die Zukunft auswirkt, zum Beispiel eine Aktion zum Auswählen von Aktionsinformationen zum Unterdrücken einer Schwingung eines Maschinenendes, erzielt wird.
  • Wenngleich ein beliebiges Lernverfahren als bestärkendes Lernen verwendet werden kann, wird hier in der folgenden Beschreibung ein Q-Learning als Beispiel beschrieben, bei dem es sich um ein Verfahren zum Lernen einer Wertfunktion Q(S,A) zum Auswählen einer Aktion A in einem bestimmten Zustand S der Umgebung handelt. Ein Ziel des Q-Learning besteht darin, eine Aktion A mit der höchsten Wertfunktion Q(S, A) als optimale Aktion aus Aktionen A auszuwählen, die in einem bestimmten Zustand S ergriffen werden können.
  • Jedoch ist zu einem Anfangszeitpunkt, zu dem das Q-Learning beginnt, der korrekte Wert des Werts Q(S,A) für eine Kombination des Zustands S und der Aktion A überhaupt nicht bekannt. Daher lernt der Agent den korrekten Wert Q(S,A) durch Auswählen verschiedener Aktionen A in einem bestimmten Zustand S und Treffen einer besseren Auswahl von Aktionen auf Grundlage von für die ausgewählten Aktionen A erfolgten Belohnungen.
  • Da der Agent die erzielte Gesamtbelohnung im Laufe der Zukunft maximieren möchte, strebt das Q-Learning an, letztendlich eine Beziehung Q(S,A) = E[Σ(γt)rt] zu erreichen. Hier gibt E[] einen erwarteten Wert an, t gibt eine Zeit an, γ stellt einen im Folgenden beschriebenen Parameter dar, der als Diskontierungsfaktor bezeichnet wird, rt ist eine Belohnung zur Zeit t, und Σ ist die Summe zur Zeit t. In diesem Ausdruck ist der erwartete Wert ein erwarteter Wert, wenn der Zustand entsprechend einer optimalen Aktion geändert wurde. Da jedoch unklar ist, welche Aktion im Prozess des Q-Learning optimal wäre, wird bestärkendes Lernen durchgeführt, während durch Durchführen verschiedener Aktionen nach einer optimalen Aktion gesucht wird. Ein Aktualisierungsausdruck eines solchen Werts Q(S,A) kann durch den folgenden Ausdruck 1 (im Folgenden durch Math. 1 angegeben) dargestellt werden. Q ( S t + 1 , A t + 1 ) Q ( S t , A t ) + α ( r t + 1 + γ m a x Q A ( s t + 1 , A ) Q ( S t , A t ) )
    Figure DE102020204854A1_0001
  • In Ausdruck 1 gibt St einen Zustand der Umgebung zur Zeit t an, und At gibt eine Aktion zur Zeit t an. Durch die Aktion At ändert sich der Zustand in St+1. rt+1 gibt eine Belohnung an, die durch die Änderung des Zustands erzielt wird. Darüber hinaus handelt es sich bei einem Term mit max um eine Multiplikation des Werts Q mit y, wenn eine Aktion A, die den höchsten zu diesem Zeitpunkt bekannten Wert Q aufweist, in dem Zustand St+1 ausgewählt wird. Hier ist γ ein Parameter 0 < γ ≤ 1 und wird als Diskontierungsrate bezeichnet. Darüber hinaus ist α ein Lernkoeffizient und liegt in dem Bereich von 0 < α ≤ 1.
  • Ausdruck 1 gibt ein Verfahren zum Aktualisieren eines Werts Q(St, At) einer Aktion At in einem Zustand St auf Grundlage einer Belohnung rt+1 an, die im Gegenzug angeboten wurde, als die Aktion At durchgeführt wurde. Dieser Aktualisierungsausdruck gibt an, dass, wenn der Wert maxa Q(St+1,A) der besten Aktion in dem nächsten Zustand St+1, der einer Aktion At zugehörig ist, größer als der Wert Q(St,At) einer Aktion At in dem Zustand St ist, Q(St,At) erhöht wird und Q(St,At) verringert wird, wenn er kleiner ist. Das heißt, der Aktualisierungsausdruck nähert den Wert einer bestimmten Aktion in einem bestimmten Zustand nahe an den Wert der besten Aktion in dem nächsten Zustand an, der der Aktion zugehörig ist. Wenngleich sich jedoch diese Differenz abhängig von der Diskontierungsrate γ und der Belohnung rt+1 unterscheidet, wird der Wert der besten Aktion in einem bestimmten Zustand im Grunde zu dem Wert einer Aktion in einem Zustand vor diesem Zustand propagiert.
  • Hier ist ein Q-Learning-Verfahren zum Erstellen einer Tabelle von Wertfunktionen Q(S,A) für alle Zustand-Aktions-Paare (S,A) zum Durchführen eines Lernens bekannt. Das Konvergieren des Q-Learning kann jedoch recht lange dauern, da die Anzahl von Zuständen zu groß ist, um die Q(S,A)-Werte sämtlicher Zustand-Aktions-Paare zu berechnen.
  • Folglich kann das Q-Learning eine als Deep-Q-Netz (DQN) bezeichnete, vorhandene Technik einsetzen. Im Besonderen wird mit DQN der Wert des Werts Q(S,A) durch Konstruieren einer Wertfunktion Q mithilfe eines geeigneten neuronalen Netzes und Annähern der Wertfunktion Q mit dem geeigneten neuronalen Netz durch Anpassen der Parameter des neuronalen Netzes berechnet. Mithilfe von DQN ist es möglich, die für eine Konvergenz des Q-Learning erforderliche Zeit zu verkürzen. Die Einzelheiten von DQN werden zum Beispiel in dem folgenden Nichtpatentdokument offenbart.
  • <Nichtpatentdokument>
  • „Human-level control through deep reinforcement learning“ von Volodymyr Mnihl [online], [gesucht am 17 Januar 2017], Internet <URL: http://files.davidqiu.com/research/nature14236.pdf>
  • Das oben beschriebene Q-Learning wird durch die Vorrichtung 200 für maschinelles Lernen durchgeführt. Im Besonderen wird ein Wert Q, der eine Aktion A im Zusammenhang mit einem Zustand S auswählt, durch die Vorrichtung 200 für maschinelles Lernen gelernt, wobei ein Bearbeitungsprogrammbefehl, ein interner Befehl, der in der numerischen Steuervorrichtung 100 erzeugt wird, eine Vorschubgeschwindigkeit, die in fünf Blöcken des internen Befehls festgelegt ist, die Zeitkonstante jeder Achse, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und ein Positionserkennungswert, der durch Durchführen des Bearbeitungsprogramms gewonnen und von den Motoren 301 und 302 ausgegeben wird, als Zustand S definiert sind und ein Anpassen des x-Achsen-Koordinatenwerts und des y-Achsen-Koordinatenwerts (im Folgenden als Koordinatenwerte xi, yi (1 ≤ i ≤ 5) bezeichnet) in den fünf Blöcken des internen Befehls als Aktion A definiert ist. Unterdessen ist die Vorschubgeschwindigkeit eine Vorschubgeschwindigkeit während einer Schneidbearbeitung und ist vorgegeben. Die Zeitkonstante jeder Achse ist ebenfalls vorgegeben.
  • Die Vorrichtung 200 für maschinelles Lernen beobachtet Zustandsinformationen S, die einen Bearbeitungsprogrammbefehl, einen internen Befehl, der in der numerischen Steuervorrichtung 100 berechnet wird, eine Vorschubgeschwindigkeit, die in fünf Blöcken des internen Befehls festgelegt ist, die Zeitkonstante jeder Achse, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und einen Positionserkennungswert beinhalten, der durch Durchführen des Bearbeitungsprogramms gewonnen wird und von den Motoren 301 und 302 ausgegeben wird, und ermittelt die Aktion A. Jedes Mal, wenn die Aktion A durchgeführt wird, wird eine Belohnung an die Vorrichtung 200 für maschinelles Lernen zurückgegeben. Diese Belohnung wird auf Grundlage der Bearbeitungsgenauigkeit und der Bearbeitungszeit ermittelt. Die Vorrichtung 200 für maschinelles Lernen untersucht die optimale Aktion A durch Versuch und Irrtum, um zum Beispiel die künftige Gesamtbelohnung zu maximieren. Dabei steuert die Vorrichtung 200 für maschinelles Lernen die numerische Steuervorrichtung mithilfe des Befehls an, der die Koordinatenwerte xi, yi in den fünf Blöcken beinhaltet, um die optimale Aktion A (und zwar die optimalen Koordinatenwerte xi, yi des internen Befehls) im Hinblick auf den Zustand S auszuwählen, der einen Bearbeitungsprogrammbefehl, einen internen Befehl, der in der numerischen Steuervorrichtung 100 erzeugt wird, eine Vorschubgeschwindigkeit, die in fünf Blöcken des internen Befehls festgelegt ist, die Zeitkonstante jeder Achse, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und einen Positionserkennungswert beinhaltet, der durch Durchführen des Bearbeitungsprogramms gewonnen wird und von den Motoren 301 und 302 ausgegeben wird.
  • Mit anderen Worten, auf Grundlage der Wertfunktion Q, die durch die Vorrichtung 200 für maschinelles Lernen gelernt wird, wird aus Aktionen A, die auf die Koordinatenwerte xi, yi des internen Befehls im Zusammenhang mit einem bestimmten Zustand S angewendet werden, die Aktion A (d. h., die Koordinatenwerte xi, yi des internen Befehls), durch die der Wert Q maximiert wird, so ausgewählt, dass sie die Genauigkeit des Bearbeitungswegs verbessern und die Bearbeitungsdauer verkürzen kann.
  • 5 ist ein Blockschaubild, das eine Vorrichtung 200 für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht. Um das oben erwähnte bestärkende Lernen durchzuführen, weist die Vorrichtung 200 für maschinelles Lernen, wie in 5 dargestellt, eine Zustandsinformations-Erfassungseinheit 201, eine Lerneinheit 202, eine Aktionsinformations-Ausgabeeinheit 203, eine Wertfunktions-Speichereinheit 204 und eine Optimierungsaktionsinformations-Ausgabeeinheit 205 auf. Die Lerneinheit 202 weist eine Belohnungsausgabeeinheit 2021, eine Wertfunktions-Aktualisierungseinheit 2022 und eine Aktionsinformations-Erzeugungseinheit 2023 auf.
  • Die Zustandsinformations-Erfassungseinheit 201 erfasst als Zustandsinformationen S einen Bearbeitungsprogrammbefehl, einen internen Befehl, der in der numerischen Steuervorrichtung 100 erzeugt wird, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und einen Positionserkennungswert, der durch Ausführen des Bearbeitungsprogramms gewonnen und von den Motoren 301 und 302 ausgegeben wird, von der numerischen Steuervorrichtung 100. Eine Vorschubgeschwindigkeit, die in den fünf Blöcken des internen Befehls festgelegt ist, die Zeitkonstante jeder Achse werden zuvor erfasst und als Teil der Zustandsinformationen S gespeichert. Diese Zustandsinformationen S entsprechen dem Umgebungszustand S beim Q-Learning. Die Zustandsinformations-Erfassungseinheit 201 gibt die Zustandsinformationen S an die Lerneinheit 202 aus.
  • Unterdessen sind die Koordinatenwerte xi, yi des internen Befehls beim ersten Beginn des Q-Learning vorab durch den Hersteller oder den Benutzer der numerischen Steuervorrichtung 100 zu erzeugen. Bei dieser Ausführungsform wird ein Anfangswert für die Koordinatenwerte xi, yi des internen Befehls, der durch den Hersteller oder dergleichen erzeugt wird, durch bestärkendes Lernen an den optimalen angepasst. Wenn die Koordinatenwerte xi, yi des internen Befehls im Voraus durch den Hersteller oder den Benutzer angepasst worden sind, können die angepassten Werte als Anfangswert maschinell gelernt werden.
  • Die Lerneinheit 202 ist ein Abschnitt, der den Wert Q(S, A) lernt, wenn eine bestimmte Aktion A bei einem bestimmten Zustand S ausgewählt wird.
  • Die Belohnungsausgabeeinheit 2021 ist ein Abschnitt, der eine Belohnung berechnet, wenn die Aktion A bei einem bestimmten Zustand S ausgewählt wird. Was die Belohnung betrifft, so kann die Gesamtbelohnung auf Grundlage einer Mehrzahl von Bewertungspunkten berechnet werden. Darüber hinaus kann die Gesamtbelohnung durch Gewichten der Belohnung berechnet werden, die auf Grundlage der Mehrzahl von Bewertungspunkten berechnet wird. Bei dieser Ausführungsform wird die Belohnung auf Grundlage der Bearbeitungsgenauigkeit und der Bearbeitungszeit berechnet.
  • Zuerst ermittelt die Belohnungsausgabeeinheit 2021 die Differenz r zwischen der Position des Befehlswegs (zum Beispiel des Befehlswegs in 3), die durch den Bearbeitungsprogrammbefehl gewonnen wird, und der Position des ausgeglichenen tatsächlichen Bearbeitungswegs (zum Beispiel des ausgeglichenen Bearbeitungswegs in 3), die durch den Positionserkennungswert gewonnen wird, der von den Motoren 301 302 ausgegeben wird. Diese Differenz r wird zu dem Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs. Die Belohnungsausgabeeinheit 2021 ermittelt, ob dieser Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs innerhalb eines in 4 dargestellten, vorgegebenen zulässigen Fehlerbereichs liegt. 4 ist ein Schaubild, das den zulässigen Fehlerbereich des in 3 dargestellten ausgeglichenen Bearbeitungswegs veranschaulicht, und der zulässige Fehlerbereich wird in 4 durch eine gestrichelte Linie dargestellt. Wenn der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs innerhalb des vorgegebenen zulässigen Fehlerbereichs liegt, wird eine Belohnung auf Grundlage der im Folgenden beschriebenen Bearbeitungsgenauigkeit berechnet. Wenn der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs demgegenüber über dem vorgegebenen zulässigen Fehlerbereich liegt, wird keine Belohnungsberechnung auf Grundlage der im Folgenden beschriebenen Bearbeitungsgenauigkeit durchgeführt, und es werden neue Aktionsinformationen erzeugt. Die oben beschriebene Verarbeitung zum Ermitteln, ob der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs innerhalb des vorgegebenen zulässigen Fehlerbereichs liegt, wird möglicherweise nicht durchgeführt. Durch Durchführen dieser Verarbeitung wird jedoch die Notwendigkeit zum Durchführen der Belohnungsberechnung beseitigt, wenn der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs über dem zulässigen Fehlerbereich liegt, so dass eine Lerndauer verkürzt werden kann
  • Als Nächstes wird eine Berechnung der Belohnung auf Grundlage der Bearbeitungsgenauigkeit erläutert. Die Belohnungsausgabeeinheit 2021 definiert als Bewertungsfunktion das Integral der Differenz r zwischen der Position des Befehlswegs (zum Beispiel des Befehlswegs in 3), die durch den Bearbeitungsprogrammbefehl gewonnen wird, und der Position des ausgeglichenen tatsächlichen Bearbeitungswegs (zum Beispiel des ausgeglichenen Bearbeitungsweg in 3), die durch den Positionserkennungswert gewonnen wird, der von den Motoren 301, 302 ausgegeben wird. Diese Differenz r wird zu dem Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs. Wenn der Koordinatenwert der x-Achse auf dem Befehlsweg des Bearbeitungsprogramms als x1 dargestellt wird, der Koordinatenwert der y-Achse als y1 dargestellt wird und der Koordinatenwert der x-Achse auf dem ausgeglichenen tatsächlichen Bearbeitungsweg (zum Beispiel dem ausgeglichenen Bearbeitungsweg in 3) als x2 dargestellt wird und der Koordinatenwert der y-Achse als y2 dargestellt wird, kann die Bewertungsfunktion f1 der folgenden mathematischen Formel 2 (die im Folgenden als [Math. 2] ausgedrückt wird) als Bewertungsfunktion f verwendet werden: f 1 = r = ( ( x 1 x 2 ) 2 + ( y 1 y 2 ) 2 ) 1 2
    Figure DE102020204854A1_0002
  • Die Bewertungsfunktion f ist nicht auf die Bewertungsfunktion f1 in der mathematischen Gleichung 2 beschränkt, und eine weitere Bewertungsfunktion, die zum Beispiel als Bewertungsfunktion f2 definiert sein kann, bei der es sich um eine Varianz der Differenz r handelt, die in der folgenden mathematischen Gleichung 3 (die im Folgenden als [Math. 3] ausgedrückt wird) dargestellt wird, kann ebenfalls verwendet werden. In der mathematischen Gleichung 3 drückt r' den Mittelwert der Differenz r aus. n drückt die Anzahl von Daten aus. f 2 = 1 n n = 1 n ( r r ' ) 2
    Figure DE102020204854A1_0003
  • Jegliche der Bewertungsfunktionen f1 in der mathematischen Gleichung 2 und die Bewertungsfunktion f2 in der mathematischen Gleichung 3 sind die Bewertungsfunktionen, die den Betrag einer Einwärtsdrehung (= die Differenz r) verwenden, und die Belohnung wird auf Grundlage der Bewertungsfunktion f1 in der mathematischen Gleichung 2 oder der Bewertungsfunktion f2 in der mathematischen Gleichung 3 wie folgt berechnet. In der folgenden Beschreibung können, wenngleich die Bewertungsfunktion als Bewertungsfunktion f erläutert wird, beliebige der Bewertungsfunktionen f1 in der mathematischen Gleichung 2 und der Bewertungsfunktion f2 in der mathematischen Gleichung 3 verwendet werden. Hier wird der Wert der Bewertungsfunktion f in dem Zustand S als f(S) dargestellt, und der Wert der Bewertungsfunktion f im Zusammenhang mit den Zustandsinformationen S' wird als f(S') dargestellt. Wenn dabei der Bewertungsfunktionswert f(S') im Zusammenhang mit den Zustandsinformationen S', die durch die Aktionsinformationen A korrigiert werden, größer als der Bewertungsfunktionswert f(S) im Zusammenhang mit den Zustandsinformationen S ist, bevor sie durch die Aktionsinformationen A korrigiert werden, definiert die Belohnungsausgabeeinheit 2021 den Belohnungswert als einen ersten negativen Wert.
  • Wenn demgegenüber der Bewertungsfunktionswert f(S') kleiner als der Bewertungsfunktionswert f(S) ist, legt die Belohnungsausgabeeinheit 2021 den Belohnungswert als einen ersten positiven Wert fest. Wenn der Bewertungsfunktionswert f(S') gleich wie der Bewertungsfunktionswert f(S) ist, legt die Belohnungsausgabeeinheit 2021 den Belohnungswert als null fest.
  • Darüber hinaus kann der negative Wert als ein negativer Wert in dem Fall, in dem die Bewertungsfunktion f(S') des Zustands S' größer als die Bewertungsfunktion f(S) in dem vorhergehenden Zustand S ist, abhängig von dem Verhältnis erhöht werden. Mit anderen Worten, der negative Wert kann abhängig von dem Grad des Anstiegs des Werts von f(S') erhöht werden. Demgegenüber kann der positive Wert als ein positiver Wert in dem Fall, in dem die Bewertungsfunktion f(S') des Zustands S' kleiner als die Bewertungsfunktion f(S) in dem vorhergehenden Zustand S ist, abhängig von dem Verhältnis verringert werden. Mit anderen Worten, der positive Wert kann abhängig von dem Grad der Verringerung des Werts von f(S') erhöht werden.
  • Unterdessen wird vor einem Berechnen der Belohnung auf Grundlage der oben erwähnten Bearbeitungsgenauigkeit, wenn der Wert der in der mathematischen Gleichung 2 angegebenen Bewertungsfunktion f1 ein vorgegebener erster Schwellenwert oder höher ist oder wenn der Wert der in der mathematischen Gleichung 3 angegebenen Bewertungsfunktion f2 ein vorgegebener zweiter Schwellenwert oder höher ist, ein zweiter negativer Wert definiert, dessen Absolutwert größer als derjenige des ersten negativen Werts ist, es wird keine Berechnung auf Grundlage der obigen Bearbeitungsgenauigkeit durchgeführt, und es können neue Aktionsinformationen erzeugt werden. Hier handelt es sich bei dem ersten und dem zweiten Schwellenwert um vorgegebene Werte, so dass die Bewertungsfunktion f1 und die Bewertungsfunktion f2, und zwar das Integral der Differenz r zwischen dem Befehlsweg und dem ausgeglichenen tatsächlichen Bearbeitungsweg, geringer als ein vorgegebener oberer Grenzwert ist. Durch Durchführen dieser Verarbeitung wird die Notwendigkeit zum Durchführen der Belohnungsberechnung beseitigt, wenn die Bewertungsfunktion der Schwellenwert oder höher ist, und eine Lerndauer kann verkürzt werden.
  • Als Nächstes wird eine Berechnung der Belohnung auf Grundlage der Bearbeitungszeit erläutert. Die Belohnungsausgabeeinheit 2021 zählt die Bearbeitungszeit auf dem ausgeglichenen tatsächlichen Bearbeitungsweg (zum Beispiel dem ausgeglichenen Bearbeitungsweg in 3) von dem Positionserkennungswert (Positionsinformationen) an, der von den Motoren 301, 302 ausgegeben wird. Beispielsweise ist die Bearbeitungszeit als Zeit vom Beginn des Drehens des Motors 301 an einem Punkt A an und bis zum Ende des Drehens des Motors 302 in 3 definiert. Unterdessen kann die Bearbeitungszeit von dem Positionserkennungswert an, der von den Motoren 301, 302 ausgegeben wird, durch die numerische Steuervorrichtung 100 gezählt werden und kann durch die Zustandsinformations-Erfassungseinheit 201 als Zustandsinformationen erfasst werden.
  • Die Belohnungsausgabeeinheit 2021 berechnet die Belohnung auf Grundlage der Bearbeitungszeit wie folgt. Wenn der Zustand hier durch die Aktion A von dem Zustand S in den Zustand S' überführt wird, werden die Bearbeitungszeiten in dem Zustand S und dem Zustand S' als ein Wert T(S) und ein Wert T(S') definiert. Wenn der Wert T(S') > der Wert T(S), wird die Belohnung als ein zweiter positiver Wert definiert. Wenn der Wert T(S') = der Wert T(S), wird die Belohnung als ein dritter positiver Wert definiert, der größer als der zweite positive Wert ist. Wenn der Wert T(S') < der Wert T(S), wird die Belohnung als ein vierter positiver Wert definiert, der größer als der dritte positive Wert ist. Wie der Wert der Belohnung verliehen wird, ist unterdessen nicht darauf beschränkt; wenn zum Beispiel der Wert T(S') > der Wert T(S), kann die Belohnung als null definiert werden, und wenn T(S') = der Wert T(S), kann die Belohnung als derselbe positive Werte definiert werden. Bei einer Berechnung der Belohnung auf Grundlage der Bearbeitungsgenauigkeit und der Belohnung auf Grundlage der Bearbeitungszeit, die oben beschrieben worden sind, ist erwünscht, dass der Belohnungswert so berechnet wird, dass die Bearbeitungsgenauigkeit Vorrang vor der Bearbeitungszeit erhält. Der Grund dafür ist, dass die Qualität des Werkstücks verringert ist, wenn die Bearbeitungsgenauigkeit gering ist.
  • Des Weiteren kann der positive Wert als ein positiver Wert in dem Fall, in dem die Bearbeitungszeit in dem Zustand S' länger als die Bearbeitungszeit in dem vorhergehenden Zustand S (der Wert T(S') > der Wert T(S)) ist, abhängig von dem Verhältnis verringert werden. Mit anderen Worten, der positive Wert kann abhängig von dem Grad des Anstiegs der Bearbeitungszeit verringert werden. Demgegenüber kann der positive Wert als der positive Wert in dem Fall, in dem die Bearbeitungszeit, die in dem Zustand S' durchgeführt wird, kürzer als die Bearbeitungszeit in dem vorhergehenden Zustand S ist (der Wert T(S') < der Wert T(S)), abhängig von dem Verhältnis erhöht werden. Mit anderen Worten, der positive Wert kann abhängig von dem Grad der Verringerung der Bearbeitungszeit erhöht werden.
  • Die Belohnungsausgabeeinheit 2021 berechnet die Gesamtbelohnung auf Grundlage der Belohnung, die auf Grundlage der Bearbeitungsgenauigkeit berechnet wird, und der Belohnung, die auf Grundlage der Bearbeitungszeit berechnet wird, wie oben. Wenn die Gesamtbelohnung berechnet wird, ist dies nicht auf eine Addition beschränkt; es kann sich um eine gewichtete Addition handeln. Des Weiteren kann die Gesamtbelohnung als Mittelwert zwischen der Belohnung, die auf Grundlage der Bearbeitungsgenauigkeit berechnet wird, und der Belohnung, die auf Grundlage der Bearbeitungszeit berechnet wird, berechnet werden. Ein Verfahren zum Berechnen der Gesamtbelohnung kann abhängig von der Priorität zwischen der Bearbeitungsgenauigkeit und der Bearbeitungszeit in geeigneter Weise festgelegt werden. Wenn zum Beispiel der Bearbeitungsgenauigkeit Bedeutung beigemessen wird, kann eine gewichtete Addition durch Multiplizieren der Belohnung auf Grundlage der Bearbeitungsgenauigkeit mit einem Gewichtungsfaktor über 1 und Addieren dessen zu der Belohnung, die auf Grundlage der Bearbeitungszeit berechnet wird, durchgeführt werden.
  • Die Wertfunktions-Aktualisierungseinheit 2022 aktualisiert eine Wertfunktion Q, die durch die Wertfunktions-Speichereinheit 204 gespeichert wird, durch Durchführen von Q-Learning auf Grundlage des Zustands S, der Aktion A, des Zustands S', wenn die Aktion A auf den Zustand S angewendet wird, und des Belohnungswerts, der wie oben beschrieben berechnet wird. Ein Aktualisieren der Wertfunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen durchgeführt werden.
  • Beim Online-Lernen handelt es sich um ein Lernverfahren zum Anwenden einer bestimmten Aktion A auf einen Ist-Zustand S und Aktualisieren der Wertfunktion Q jedes Mal unverzüglich, wenn der Ist-Zustand S in einen neuen Zustand S' übergeht. Beim Batch-Lernen handelt es sich um ein Lernverfahren zum Anwenden einer bestimmten Aktion A auf einen Ist-Zustand S und wiederholtes Erreichen eines Übergangs von dem Zustand S in einen neuen Zustand S', Sammeln von Lerndaten und Aktualisieren der Wertfunktion Q mithilfe sämtlicher gesammelter Lerndaten. Beim Mini-Batch-Lernen handelt es sich um ein Lernverfahren, das sich zwischen dem Online-Lernen und dem Batch-Lernen befindet und mit einem Aktualisieren der Wertfunktion Q jedes Mal, wenn eine bestimmte Menge von Lerndaten gesammelt worden ist, einhergeht.
  • Die Aktionsinformations-Erzeugungseinheit 2023 wählt die Aktion A in dem Prozess des Q-Learning im Hinblick auf den Ist-Zustand S aus. Um den Korrekturvorgang der Koordinatenwerte xi, yi des internen Befehls (der der Aktion A beim Q-Learning entspricht) im Verlauf des Q-Learning durchzuführen, erzeugt die Aktionsinformations-Erzeugungseinheit 2023 die Aktionsinformationen A und gibt die erzeugten Aktionsinformationen A an die Aktionsinformations-Ausgabeeinheit 203 aus. Genauer gesagt, die Aktionsinformations-Erzeugungseinheit 2023 addiert oder subtrahiert inkrementell die Koordinatenwerte xi, yi des internen Befehls, der in der Aktion A beinhaltet ist, im Hinblick auf die Koordinatenwerte xi, yi des internen Befehls, der in dem Zustand S beinhaltet ist.
  • Und wenn die Erhöhung oder die Verringerung der Koordinatenwerte xi, yi des internen Befehls angewendet wird, wird der Zustand S in den Zustand S' überführt, und die Gesamtbelohnung wird erhöht, die Aktionsinformations-Erzeugungseinheit 2023 kann als nächste Aktion A' eine Strategie zum Auswählen der Aktion A' so ergreifen, dass die Gesamtbelohnung durch inkrementelles Addieren oder Subtrahieren, wie bei der vorhergehenden Aktion, im Hinblick auf die Koordinatenwerte xi, yi des internen Befehls erhöht wird.
  • Des Weiteren kann zum Beispiel umgekehrt, wenn die Gesamtbelohnung verringert wird, die Aktionsinformations-Erzeugungseinheit 2023 als nächste Aktion A' eine Strategie zum Auswählen der Aktion A' so ergreifen, dass die Gesamtbelohnung durch inkrementelles Subtrahieren oder Addieren im Gegensatz zu der vorhergehenden Aktion im Hinblick auf die Koordinatenwerte xi, yi des internen Befehls erhöht wird.
  • Darüber hinaus kann die Aktionsinformations-Erzeugungseinheit 2023 eine Strategie zum Auswählen der Aktion A' durch bekannte Verfahren wie zum Beispiel den Greedy-Algorithmus, bei dem die Aktion A mit dem höchsten Wert Q(S, A) aus den Werten von aktuell geschätzten Aktionen A ausgewählt wird, oder den ε-Greedy-Algorithmus, bei dem die Aktion A' willkürlich mit einer bestimmten geringen Wahrscheinlichkeit ε ausgewählt wird oder ansonsten die Aktion A' mit dem höchsten Wert Q(S, A) ausgewählt wird, ergreifen.
  • Bei der Aktionsinformations-Ausgabeeinheit 203 handelt es sich um einen Abschnitt zum Senden von Aktionsinformationen (Korrekturinformationen für Koordinatenwerte xi, yi des internen Befehls) A, die von der Lerneinheit 202 ausgegeben werden, an ein Befehlsfilter 110. Die Einheit 102 zum Erzeugen von internen Befehlen passt auf Grundlage dieser Aktionsinformationen den Ist-Zustand S, und zwar die aktuell festgelegten Koordinatenwerte xi, yi des internen Befehls, fein an und überführt den Zustand S in den nächsten Zustand S' (und zwar die korrigierten Koordinatenwerte xi, yi des internen Befehls).
  • Bei der Wertfunktions-Speichereinheit 204 handelt es sich um eine Speichervorrichtung zum Speichern der Wertfunktion Q. Die Wertfunktion Q kann als Tabelle (im Folgenden als Aktionswerttabelle bezeichnet) zum Beispiel in jedem Zustand S und jeder Aktion A enthalten sein. Die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 204 gespeichert wird, wird durch die Wertfunktions-Aktualisierungseinheit 2022 aktualisiert. Darüber hinaus kann die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 204 gespeichert wird, mit sonstigen Vorrichtungen 200 für maschinelles Lernen gemeinsam genutzt werden. Wenn die Wertfunktion Q mit einer Mehrzahl von Vorrichtungen 200 für maschinelles Lernen gemeinsam genutzt wird, kann ein verteiltes bestärkendes Lernen durch jede Vorrichtung 200 für maschinelles Lernen durchgeführt werden, und daher kann die Effizienz des bestärkenden Lernens verbessert werden.
  • Die Optimierungsaktionsinformations-Ausgabeeinheit 205 erzeugt Aktionsinformationen A (im Folgenden als „Optimierungsaktionsinformationen“ bezeichnet), so dass der Vorgang, der zu dem höchsten Wert Q(S, A) führt, durch die Einheit 102 zum Erzeugen von internen Befehlen auf Grundlage der aktualisierten Wertfunktion Q durch Durchführen von Q-Learning durch die Wertfunktions-Aktualisierungseinheit 2022 ausgeführt wird. Genauer gesagt, die Optimierungsaktionsinformations-Ausgabeeinheit 205 gewinnt eine Wertfunktion Q, die durch die Wertfunktions-Speichereinheit 204 gespeichert ist. Diese Wertfunktion Q wird durch Q-Learning durch die Wertfunktions-Aktualisierungseinheit 2022 aktualisiert, wie oben erwähnt. Anschließend erzeugt die Optimierungsaktionsinformations-Ausgabeeinheit 205 auf Grundlage der Wertfunktion Q Aktionsinformationen und gibt die erzeugten Aktionsinformationen an das Befehlsfilter 110 aus. Diese Optimierungsaktionsinformationen beinhalten Informationen zum Korrigieren der Koordinatenwerte xi, yi des internen Befehls in der Einheit 102 zum Erzeugen von internen Befehlen wie bei Aktionsinformationen, die im Verlaufe von Q-Learning durch die Aktionsinformations-Ausgabeeinheit 203 ausgegeben werden.
  • Die Einheit 102 zum Erzeugen von internen Befehlen korrigiert die Koordinatenwerte xi, yi des internen Befehls auf Grundlage dieser Aktionsinformationen. Mit den oben beschriebenen Vorgängen kann die Vorrichtung 200 für maschinelles Lernen die Koordinatenwerte xi, yi der Einheit 102 zum Erzeugen von internen Befehlen optimieren und so arbeiten, dass die Bearbeitungsgenauigkeit verbessert und die Bearbeitungszeit verkürzt wird.
  • Die Wirkung eines Verkürzens der Bearbeitungszeit wird im Folgenden unter Bezugnahme auf 6 und 7 erläutert. 6 ist ein Eigenschaftsdiagramm, das die Beziehung zwischen der Geschwindigkeit (Vorschubgeschwindigkeit) auf der x-Achse und der y-Achse und der Zeit auf dem Bearbeitungsweg auf Grundlage des Befehls mit zwei Blöcken veranschaulicht. 7 ist ein Eigenschaftsdiagramm, das die Beziehung zwischen der Geschwindigkeit (Vorschubgeschwindigkeit) auf der x-Achse und der y-Achse und der Zeit auf dem ausgeglichenen Bearbeitungsweg auf Grundlage des Befehls mit fünf Blöcken veranschaulicht. Auf dem Bearbeitungsweg, der auf dem Befehl mit zwei Blöcken beruht, wie in 6 dargestellt, beginnt die Geschwindigkeit (Vorschubgeschwindigkeit) auf der y-Achse zu dem Zeitpunkt zuzunehmen, zu dem die Geschwindigkeit (Vorschubgeschwindigkeit) auf der x-Achse abzunehmen beginnt. Demgegenüber wird auf dem ausgeglichenen Bearbeitungsweg, der auf dem Befehl mit fünf Blöcken beruht, wie in 7 dargestellt, die Geschwindigkeit (Vorschubgeschwindigkeit) auf der y-Achse erhöht, bevor die Geschwindigkeit (Vorschubgeschwindigkeit) auf der x-Achse abzunehmen beginnt, und die Beschleunigung auf der y-Achse ist zu dem Zeitpunkt, zu dem die Geschwindigkeit (Vorschubgeschwindigkeit) auf der x-Achse abzunehmen beginnt, bereits abgeschlossen, wodurch eine Verringerung der Bearbeitungszeit ermöglicht wird.
  • In der obigen Beschreibung wurden die numerische Steuervorrichtung 100 und die Funktionsblöcke erläutert, die in der Vorrichtung 200 für maschinelles Lernen beinhaltet sind. Um diese Funktionsblöcke umzusetzen, weisen die numerische Steuervorrichtung 100 und die Vorrichtung 200 für maschinelles Lernen eine Arithmetikverarbeitungsvorrichtung wie zum Beispiel eine CPU (Central Processing Unit, Zentraleinheit) auf. Des Weiteren weisen die numerische Steuervorrichtung 100 und die Vorrichtung 200 für maschinelles Lernen außerdem eine Zusatzspeichervorrichtung wie zum Beispiel ein HDD (hard disk drive, Festplattenlaufwerk), in dem verschiedene Steuerprogramme wie etwa Anwendungs-Software und ein OS (operating system, Betriebssystem) enthalten sind, sowie eine Hauptspeichervorrichtung wie etwa einen RAM (random access memory, Direktzugriffsspeicher) zum Speichern von Daten auf, die vorübergehend bei einem Ausführen des Programms durch die Arithmetikverarbeitungseinheit benötigt werden.
  • Und in der numerischen Steuervorrichtung 100 und der Vorrichtung 200 für maschinelles Lernen liest die Arithmetikverarbeitungsvorrichtung die Anwendungs-Software und das OS aus der Zusatzspeichervorrichtung aus und entwickelt die/das ausgelesene Anwendungs-Software und OS in der Hauptspeichervorrichtung, während sie eine arithmetische Verarbeitung auf Grundlage der Anwendungs-Software und des OS durchführt. Des Weiteren wird auf Grundlage dieses Arithmetikergebnisses eine Vielfalt von Hardware gesteuert, die in jeder Vorrichtung enthalten ist. Auf diese Weise werden die Funktionsblöcke der vorliegenden Ausführungsformen umgesetzt. Mit anderen Worten, die vorliegenden Ausführungsformen können durch Zusammenarbeiten von Hardware und Software umgesetzt werden. Unterdessen kann die numerische Steuervorrichtung 100 die Vorrichtung 200 für maschinelles Lernen beinhalten; in diesem Fall werden die Arithmetikverarbeitungsvorrichtung wie zum Beispiel die CPU (Central Processing Unit), die Zusatzspeichervorrichtung und die Hauptspeichervorrichtung gemeinsam genutzt, und die Notwendigkeit, diese für die numerische Steuervorrichtung 100 bzw. die Vorrichtung 200 für maschinelles Lernen bereitzustellen, wird beseitigt.
  • Da die Vorrichtung 200 für maschinelles Lernen mit einer großen Menge an Arithmetik einhergeht, sind bevorzugt GPUs (Graphics Processing Units, Graphikverarbeitungseinheiten) an einem Personalcomputer angebracht, um eine Technik, die als GPGPUs (General-purpose computing on Graphics Processing Units, Allzweck-Berechnung auf Graphikprozessoreinheiten) bezeichnet wird, für eine arithmetische Verarbeitung mit maschinellem Lernen zu nutzen, wodurch eine Hochgeschwindigkeitsverarbeitung ermöglicht wird. Um eine Verarbeitung mit höherer Geschwindigkeit durchzuführen, kann des Weiteren eine Mehrzahl von Computern, an denen solche GPUs angebracht sein können, dazu verwendet, einen Computer-Verbund zu erstellen, und mit der Mehrzahl von Computern, die in diesem Computer-Verbund beinhaltet ist, kann eine parallele Verarbeitung durchgeführt werden.
  • Als Nächstes wird ein Betrieb der Vorrichtung 200 für maschinelles Lernen bei einem Q-Learning in der vorliegenden Ausführungsform unter Bezugnahme auf einen Ablaufplan in 8, 9 und 10 erläutert. 8 ist ein Ablaufplan, der einen Betrieb der Vorrichtung 200 für maschinelles Lernen bei einem Q-Learning veranschaulicht, 9 ist ein Ablaufplan, der ein Verfahren zum Berechnen einer Belohnung auf Grundlage der Bearbeitungsgenauigkeit in Schritt S14 von 8 veranschaulicht, und 10 ist ein Ablaufplan, der einen Teil des Verfahrens zum Berechnen einer Belohnung auf Grundlage der Bearbeitungszeit in Schritt S14 von 8 veranschaulicht.
  • Zuerst erfasst in Schritt S11 von 8 die Zustandsinformations-Erfassungseinheit 201 die ersten Zustandsinformationen von der numerischen Steuervorrichtung 100. Die erfassten Zustandsinformationen werden an die Wertfunktions-Aktualisierungseinheit 2022 und die Aktionsinformations-Erzeugungseinheit 2023 ausgegeben. Wie oben beschrieben, handelt es sich bei diesen Zustandsinformationen um Informationen, die dem Zustand S bei einem Q-Learning entsprechen, und sie beinhalten einen Bearbeitungsprogrammbefehl, einen internen Befehl, der in der numerischen Steuervorrichtung 100 erzeugt wird, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und einen Positionserkennungswert, der durch Ausführen des Bearbeitungsprogramms gewonnen und von den Motoren 301 und 302 zu der Zeit in Schritt S11 ausgegeben wird. Eine Vorschubgeschwindigkeit, die in den fünf Blöcken des internen Befehls festgelegt ist, und die Zeitkonstante jeder Achse werden zuvor erfasst und als Teil der Zustandsinformationen S gespeichert.
  • Unterdessen werden die Koordinatenwerte xi, yi des internen Befehls beim ersten Beginn des Q-Learning vorab so konfiguriert, dass sie durch den Hersteller oder den Benutzer der numerischen Steuervorrichtung 100 erzeugt werden. Bei der vorliegenden Ausführungsform wird der Anfangseinstellwert der Koordinatenwerte xi, yi des internen Befehls, der durch den Hersteller usw. erzeugt wird, durch bestärkendes Lernen an den optimalen angepasst.
  • In Schritt S12 erzeugt die Aktionsinformations-Erzeugungseinheit 2023 neue Aktionsinformationen A und gibt die erzeugten neuen Aktionsinformationen A über die Aktionsinformations-Ausgabeeinheit 203 an die Einheit 102 zum Erzeugen von internen Befehlen der numerischen Steuervorrichtung 100 aus. Die Einheit 102 zum Erzeugen von internen Befehlen, die die Aktionsinformationen empfangen hat, korrigiert die Koordinatenwerte xi, yi des internen Befehls auf Grundlage der empfangenen Aktionsinformationen im Zusammenhang mit dem Ist-Zustand S in den Zustand S', und die numerische Steuervorrichtung 100 steuert die Motoren 301, 302 durch den korrigierten Zustand S' an.
  • In Schritt S13 erfasst die Zustandsinformations-Erfassungseinheit 201 Zustandsinformationen, die dem neuen Zustand S' entsprechen, die von der numerischen Steuervorrichtung 100 erfasst werden. Hier beinhalten die neuen Zustandsinformationen einen Bearbeitungsprogrammbefehl, einen internen Befehl, der in der numerischen Steuervorrichtung 100 erzeugt wird, eine Beschleunigung, die von der Beschleunigungs-/Verzögerungs-Steuereinheit 104 ausgegeben wird, und einen Positionserkennungswert, der durch Ausführen des Bearbeitungsprogramms gewonnen und von den Motoren 301 und 302 ausgegeben wird, im Zusammenhang mit dem Zustand S'. Das Integral der Differenz r zwischen der Position des Befehlsweg in dem Bearbeitungsprogramm und dem ausgeglichenen tatsächlichen Bearbeitungsweg (zum Beispiel dem ausgeglichenen Bearbeitungsweg in 3), die durch den Positionserkennungswert (die Bearbeitungsgenauigkeit) gewonnen wird, und der Bearbeitungszeit in dem ausgeglichenen tatsächlichen Bearbeitungsweg, die aus dem Positionserkennungswert berechnet wird, wird zu Ermittlungsinformationen. Die Zustandsinformations-Erfassungseinheit 201 gibt die erfassten Zustandsinformationen an die Lerneinheit 202 aus.
  • In Schritt S14 berechnet die Belohnungsausgabeeinheit 2021 eine Belohnung auf Grundlage der eingegebenen Ermittlungsinformationen, und zwar der Bearbeitungsgenauigkeit und der Bearbeitungszeit. Schritt S14 beinhaltet einen Schritt S14A zum Berechnen der Belohnung auf Grundlage der Bearbeitungsgenauigkeit; einen Schritt S14B zum Berechnen der Belohnung auf Grundlage der Bearbeitungszeit; und einen Schritt S14C zum Berechnen der Gesamtbelohnung auf Grundlage der in Schritt S14A ermittelten Belohnung und der in Schritt S14B ermittelten Belohnung. Während hier das Beispiel zum Berechnen der Belohnung mithilfe der in der mathematischen Gleichung 2 ausgedrückten Bewertungsfunktion erläutert wird, kann die Belohnung unterdessen mithilfe der in der mathematischen Gleichung 3 ausgedrückten Bewertungsfunktion berechnet werden.
  • Wie oben erwähnt, kann die Belohnungsausgabeeinheit 2021 den Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs vor dem Schritt 14A zum Berechnen der Belohnung auf Grundlage der Bearbeitungsgenauigkeit ermitteln, ermitteln, ob dieser Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs innerhalb des vorgegebenen zulässigen Fehlerbereichs liegt, und wenn der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs innerhalb des vorgegebenen zulässigen Fehlerbereichs liegt, zu Schritt S14A übergehen, und wenn der Betrag einer Einwärtsdrehung des ausgeglichenen Bearbeitungswegs den vorgegebenen zulässigen Fehlerbereich überschreitet, zu Schritt S12 zurückkehren.
  • In Schritt S14A zum Berechnen der Belohnung auf Grundlage der Bearbeitungsgenauigkeit ermittelt die Belohnungsausgabeeinheit 2021 zuerst, ob der Bewertungsfunktionswert f der Schwellenwert (der zuvor beschriebene erste Schwellenwert) oder höher ist. Wenn der Bewertungsfunktionswert f der Schwellenwert oder höher ist (im Fall von Ja), ermittelt die Belohnungsausgabeeinheit 2021, dass die Bearbeitungsgenauigkeit außerhalb des zulässigen Fehlerbereichs liegt, definiert die Belohnung als zweiten negativen Wert und kehrt zu Schritt S12 zurück. Der Absolutwert dieses zweiten negativen Werts ist größer als derjenige des im Folgenden beschriebenen ersten negativen Werts und ist als Wert definiert, der nicht durch Lernen beispielsweise einer negativen Unendlichkeit ausgewählt wird. Unterdessen werden die Schritte S141 und S142 möglicherweise nicht durchgeführt.
  • Wenn in Schritt S141 der Bewertungsfunktionswert f kleiner als der Schwellenwert ist (im Fall von Nein), vergleicht die Belohnungsausgabeeinheit 2021 in Schritt S143 den Bewertungsfunktionswert f(S') im Zustand S' mit dem Bewertungsfunktionswert f(S) im Zustand S und ermittelt, ob der Bewertungsfunktionswert f(S') größer als, kleiner als oder gleich wie der Bewertungsfunktionswert f(S) im Zustand S ist. Wenn f(S') > f(S), wird die Belohnung in Schritt S144 als ein erster negativer Wert definiert. Wenn f(S') = f(S), wird die Belohnung in Schritt S145 als null definiert. Wenn f(S') < f(S), wird die Belohnung in Schritt S146 als ein erster positiver Wert definiert.
  • In Schritt S14B zum Berechnen der Belohnung auf Grundlage der Bearbeitungszeit vergleicht die Belohnungsausgabeeinheit 2021 als Nächstes in Schritt S147 die Bearbeitungszeit T(S'), die zum Durchführen der Bearbeitungsverarbeitung im Zusammenhang mit dem Zustand S aufgewendet wird, mit der Bearbeitungszeit T(S), die zum Durchführen der Bearbeitungsverarbeitung im Zusammenhang mit dem Zustand S aufgewendet wird, und ermittelt, ob die Bearbeitungszeit T(S') größer als, kleiner als oder gleich wie die Bearbeitungszeit T(S) ist. Wenn T(S') > T(S), wird die Belohnung in Schritt S148 als ein zweiter positiver Wert definiert. Wenn T(S') = T(S), wird die Belohnung in Schritt S149 als ein dritter positiver Wert definiert, der größer als der zweite positive Wert ist. Wenn T(S') < T(S), wird die Belohnung in Schritt S150 als ein vierter positiver Wert definiert, der größer als der dritte positive Wert ist.
  • Bei Schritt S14C zum Berechnen der Gesamtbelohnung handelt es sich um einen Schritt zum Berechnen der Gesamtbelohnung durch Addieren, gerichtetes Addieren oder Ermitteln des Mittelwerts der Belohnung, die auf Grundlage der Bearbeitungsgenauigkeit berechnet wird, und der Belohnung, die auf Grundlage der Bearbeitungszeit berechnet wird.
  • Am Ende von Schritt S14 aktualisiert die Wertfunktions-Aktualisierungseinheit 2022 in Schritt S15 die Wertfunktion Q, die durch die Wertfunktion gespeichert wird, die durch die Wertfunktions-Speichereinheit 204 gespeichert wird, auf Grundlage des Werts der Gesamtbelohnung. Als nächstes ermittelt die Lerneinheit 202 in Schritt S16, ob das Lernen fortgesetzt wird. Die Ermittlung, ob das Lernen fortgesetzt wird, kann zum Beispiel durch die Ermittlung, ob die maximale Versuchsanzahl erreicht worden ist, oder die Ermittlung, ob eine vorgegebene Zeit verstrichen ist, ermittelt werden. Wenn das Lernen fortgesetzt wird, kehrt die Lerneinheit 202 zu Schritt S12 zurück. Die Verarbeitung von Schritt S12 bis Schritt S16 wird wiederholt durchgeführt, bis das Lernen endet. Wenngleich Schritt S15 eine Online-Aktualisierung beispielhaft darstellt, kann die Online-Aktualisierung durch eine Batch-Aktualisierung oder eine Mini-Batch-Aktualisierung ersetzt werden.
  • In der obigen Beschreibung hat die vorliegende Ausführungsform die Wirkung, dass durch den Vorgang, wie er durch Bezugnahme auf 8, 9 und 10 beschrieben worden ist, die Wertfunktion Q zum Erstellen von Aktionsinformationen zum Verbessern der Bearbeitungsgenauigkeit und Verkürzen der Bearbeitungszeit erzeugt werden kann.
  • Anschließend wird ein Vorgang bei einer Erstellung von Optimierungsaktionsinformationen durch die Optimierungsaktionsinformations-Ausgabeeinheit 205 unter Bezugnahme auf einen Ablaufplan in 11 erläutert. Zuerst erfasst die Optimierungsaktionsinformations-Ausgabeeinheit 205 in Schritt S21 die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 204 gespeichert ist. Bei der Wertfunktion Q handelt es sich um eine aktualisierte Wertfunktion durch Durchführen von Q-Learning durch die Wertfunktions-Aktualisierungseinheit 2022, wie oben beschrieben.
  • In Schritt S22 erzeugt die Optimierungsaktionsinformations-Ausgabeeinheit 205 Optimierungsaktionsinformationen auf Grundlage dieser Wertfunktion Q und gibt die erzeugten Optimierungsaktionsinformationen an die Einheit 102 zum Erzeugen von internen Befehlen der numerischen Steuervorrichtung 100 aus.
  • Wie oben beschrieben, hat die vorliegende Ausführungsform die Wirkung, dass die numerische Steuervorrichtung 100 das Bearbeitungsprogramm, wie es aktuell festgelegt ist, auf Grundlage dieser Optimierungsaktionsinformationen anpasst und den internen Befehl so erzeugt, dass die Werkzeugmaschine die Bearbeitungsgenauigkeit an dem Werkstück verbessern kann und so arbeiten kann, dass die Bearbeitungszeit verkürzt wird. Jeweilige Bestandteile, die in der Servosteuereinheit der obigen Motorsteuervorrichtung und der Vorrichtung für maschinelles Lernen beinhaltet sind, können durch Hardware, Software oder eine Kombination von diesen umgesetzt werden. Des Weiteren kann ein Verfahren für eine Servosteuerung, das durch ein Zusammenwirken der jeweiligen Bestandteile, die in der obigen Motorsteuervorrichtung beinhaltet sind, durchgeführt wird, ebenfalls durch Hardware, Software oder eine Kombination von diesen umgesetzt werden. Hier bedeutet durch Software umgesetzt, dass das Verfahren durch den Computer durch Lesen und Durchführen von Programmen umgesetzt wird.
  • Programme können mithilfe verschiedener Typen nichttransitorischer, computerlesbarer Medien gespeichert werden und dem Computer zugeführt werden. Zu nichttransitorischen, computerlesbaren Medien zählen verschiedene Typen von physischen Speichermedien. Zu Beispielen für nichttransitorische, computerlesbare Medien zählen: ein magnetisches Speichermedium (zum Beispiel ein Festplattenlaufwerk); ein magnetooptisches Speichermedium (zum Beispiel eine magnetooptische Platte); eine CD-ROM (Read Only Memory, ein Festwertspeicher); eine CD-R; eine CD-R/W; ein Halbleiterspeicher (zum Beispiel ein Masken-ROM, ein PROM (ein programmierbarer ROM), ein EPROM (erasable PROM, ein löschbarer PROM), ein Flash-ROM und ein RAM (random access memory, ein Direktzugriffsspeicher)). Des Weiteren können Programme dem Computer durch verschiedene Typen von transitorischen, computerlesbaren Medien bereitgestellt werden.
  • Wenngleich es sich bei den oben erwähnten Ausführungsformen um die geeignete Ausführungsform der vorliegenden Erfindung handelt, ist der Umfang der vorliegenden Erfindung nicht auf die obigen Ausführungsformen beschränkt, und die vorliegende Erfindung kann mit einer Form durchgeführt werden, an der eine Vielfalt von Modifizierungen vorgenommen worden ist, ohne vom Wesensgehalt der vorliegenden Erfindung abzuweichen.
  • Die Gestaltung des numerischen Steuersystems weist eine folgende andere Gestaltung als die Gestaltung von 1 auf.
  • <Änderungsbeispiel, in dem die Vorrichtung für maschinelles Lernen außerhalb der numerischen Steuervorrichtung über ein Netzwerk bereitgestellt wird>
  • 12 ist ein Blockschaubild, das ein weiteres Konstruktionsbeispiel für das numerische Steuersystem veranschaulicht. Das in 12 dargestellte numerische Steuersystem 10A unterscheidet sich von dem in 1 dargestellten numerischen Steuersystem 10 darin, dass n numerische Steuervorrichtungen 100A-1 bis 100A-n (n ist eine natürliche Zahl von zwei oder mehr) mit den Vorrichtungen 200A-1 bis 200A-n verbunden sind. Während in 12 die Motoren 301, 302 weggelassen worden sind, sind die Motoren 301, 302 jeweils mit den numerischen Steuervorrichtungen 100A-1 bis 100A-n verbunden. Die Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen weisen dieselbe Gestaltung wie die in 5 dargestellte Vorrichtung 200 für maschinelles Lernen auf.
  • Hier sind die numerische Steuervorrichtung A-1 und die Vorrichtung 200A-1 für maschinelles Lernen in einer Eins-zu-Eins-Beziehung paarweise verbunden und sind zur Datenübertragung verbunden. Die numerischen Steuervorrichtungen 100A-2 bis 100A-n und die Vorrichtungen 200A-2 bis 200A-n für maschinelles Lernen sind ebenfalls auf ähnliche Weise mit der numerischen Steuervorrichtung 100A-1 und der Vorrichtung 200A-1 für maschinelles Lernen verbunden. Wenngleich in 12 die n Paare der numerischen Steuervorrichtungen 100A-1 bis 100A-n und der Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen über ein Netzwerk 400 verbunden sind, können die n Paare der numerischen Steuervorrichtungen 100A-1 bis 100A-n und der Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen über eine Verbindungsschnittstelle zwischen der numerischen Steuervorrichtung und der Vorrichtung für maschinelles Lernen in jedem Paar direkt verbunden sein. Für diese n Paare der numerischen Steuervorrichtungen 100A-1 bis 100A-n und der Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen kann zum Beispiel eine Mehrzahl von Paaren in derselben Fabrikationsstätte platziert sein, oder sie können jeweils in unterschiedlichen Fabrikationsstätten platziert sein.
  • Bei dem Netzwerk 400 handelt es sich unterdessen um ein LAN (Local Area Network, lokales Netzwerk), das innerhalb einer Fabrikationsstätte aufgebaut ist, das Internet, ein öffentliches Fernsprechnetz oder um die Kombination von diesen. Ein spezifischer Datenübertragungsmodus in dem Netzwerk 400 wie zum Beispiel, ob das Netzwerk 400 entweder drahtgebunden oder drahtlos verbunden ist, unterliegt keiner besonderen Beschränkung.
  • <Flexibilität bei der Systemgestaltung>
  • Bei den oben erwähnten Ausführungsformen sind die numerischen Steuervorrichtungen 100A-1 bis 100A-n und die Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen in einer Eins-zu-Eins-Beziehung paarweise verbunden und sind zur Datenübertragung verbunden; eine Vorrichtung für maschinelles Lernen kann jedoch zum Beispiel über das Network 400 zur Datenübertragung mit einer Mehrzahl von numerischen Steuervorrichtungen verbunden sein und kann maschinelles Lernen für jede Werkzeugmaschine mit jeder Motorsteuervorrichtung durchführen. In einem solchen Fall kann die Vorrichtung für maschinelles Lernen als verteiltes Verarbeitungssystem eingerichtet sein, in dem die jeweiligen Funktionen einer Vorrichtung für maschinelles Lernen in geeigneter Weise auf eine Mehrzahl von Servern verteilt sind. Darüber hinaus kann eine Funktion eines virtuellen Servers oder dergleichen auf einem Cloud-Server eingesetzt werden, um jede Funktion einer Vorrichtung für maschinelles Lernen umzusetzen.
  • Wenn des Weiteren n Vorrichtungen 200A-1 bis 200A-n vorhanden sind, die jeweils n numerischen Steuervorrichtungen 100A-1 bis 100A-n mit derselben Modellbezeichnung, der übereinstimmenden Spezifikation oder derselben Serie entsprechen, können diese so ausgebildet werden, dass sie die Lernergebnisse in den jeweiligen Vorrichtungen 200A-1 bis 200A-n für maschinelles Lernen gemeinsam nutzen. Dadurch wird das Konstruieren eines geeigneteren Modells ermöglicht.
  • Die Vorrichtung für maschinelles Lernen, das Steuersystem und das Verfahren für maschinelles Lernen gemäß der vorliegenden Offenbarung, die die oben erwähnten Ausführungsformen beinhalten, können eine Vielfalt von Ausführungsformen annehmen, die die folgende Gestaltung aufweisen.
    • (1) Ein Aspekt der vorliegenden Offenbarung ist eine Vorrichtung für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung, die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl einen Eckabschnitt, der aus zwei Blöcken besteht, in dem Bearbeitungsprogramm beinhaltet, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als die beiden Blöcke handelt, die aufweist:
      • eine Zustandsinformations-Erfassungseinheit zum Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs beinhalten, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung gewonnen werden; eine Aktionsinformations-Ausgabeeinheit zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung; eine Belohnungsausgabeeinheit zum Ausgeben eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage eines Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls und der Positionsinformationen des Bearbeitungswegs, die in den Zustandsinformationen beinhaltet sind, und auf Grundlage der Bearbeitungszeit berechnet wird; und eine Wertfunktions-Aktualisierungseinheit zum Aktualisieren einer Wertfunktion auf Grundlage des Werts der Belohnung, der von der Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen. Gemäß dieser Vorrichtung für maschinelles Lernen kann der Betrag einer Einwärtsdrehung verringert werden und kann die Bearbeitungszeit verkürzt werden.
    • (2) Die Vorrichtung für maschinelles Lernen gemäß dem oben beschriebenen (1), wobei die Bearbeitungszeit mithilfe der Positionsinformationen gezählt wird. Gemäß dieser Vorrichtung für maschinelles Lernen wird die Notwendigkeit zum Bereitstellen einer Funktion zum Zählen der Bearbeitungszeit in der numerischen Steuervorrichtung beseitigt.
    • (3) Die Vorrichtung für maschinelles Lernen gemäß den oben beschriebenen (1) oder (2), die eine Optimierungsaktionsinformations-Ausgabeeinheit zum Erstellen und Ausgeben der Koordinatenwerte jedes Blocks in den m oder mehr Blöcken auf Grundlage der Wertfunktion aufweist, die durch die Wertfunktions-Aktualisierungseinheit aktualisiert wird.
    • (4) Ein numerisches Steuersystem, das die Vorrichtung für maschinelles Lernen gemäß einem der oben beschriebenen (1) bis (3) und eine numerische Steuervorrichtung aufweist, in der die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken durch die Vorrichtung für maschinelles Lernen maschinell gelernt werden. Gemäß diesem numerischen Steuersystem kann der Betrag einer Einwärtsdrehung verringert werden und kann die Bearbeitungszeit verkürzt werden.
    • (5) Ein weiterer Aspekt der vorliegenden Offenbarung ist ein Verfahren für maschinelles Lernen einer Vorrichtung für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung, die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl einen Eckabschnitt, der aus zwei Blöcken besteht, in dem Bearbeitungsprogramm beinhaltet, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als zwei Blöcke handelt, das aufweist: Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs beinhalten, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung gewonnen werden; ein Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung; ein Ermitteln eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und ein Aktualisieren einer Wertfunktion auf Grundlage des Belohnungswerts, der Zustandsinformationen und der Aktionsinformationen. Gemäß diesem Verfahren für maschinelles Lernen kann der Betrag einer Einwärtsdrehung verringert werden und kann die Bearbeitungszeit verkürzt werden.
  • Bezugszeichenliste
  • 10, 10A
    numerisches Steuersystem
    100, 100A-1 - 100A-n
    numerische Steuervorrichtung
    101
    Befehlsanalyseeinheit
    102
    Einheit zum Erzeugen von internen Befehlen
    103
    Interpolationseinheit
    104
    Beschleunigungs-/Verzögerungs-Steuereinheit
    105
    x-Achsen-Servosteuereinheit
    106
    y-Achsen-Servosteuereinheit
    200
    Vorrichtung für maschinelles Lernen
    200A-1 - 200A-n
    Vorrichtung für maschinelles Lernen
    201
    Zustandsinformations-Erfassungseinheit
    202
    Lerneinheit
    203
    Aktionsinformations-Ausgabeeinheit
    204
    Wertfunktions-Speichereinheit
    205
    Optimierungsaktionsinformations-Ausgabeeinheit 205
    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 2017033138 [0006]
    • JP 2017068325 [0006]
    • JP 2018120453 [0006]
    • JP H08202424 [0006]
    • JP 2014121755 [0006]

Claims (5)

  1. Vorrichtung (200) für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung (100), die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl einen Eckabschnitt beinhaltet, der aus zwei Blöcken in dem Bearbeitungsprogramm besteht, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als die beiden Blöcke handelt, die aufweist: eine Zustandsinformations-Erfassungseinheit (201) zum Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs beinhalten, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung (100) gewonnen werden; eine Aktionsinformations-Ausgabeeinheit (203) zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung (100); eine Belohnungsausgabeeinheit (2021) zum Ausgeben eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und eine Wertfunktions-Aktualisierungseinheit (2022) zum Aktualisieren einer Wertfunktion auf Grundlage des Werts der Belohnung, der von der Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen.
  2. Vorrichtung (200) für maschinelles Lernen nach Anspruch 1, wobei die Bearbeitungszeit mithilfe der Positionsinformationen gezählt wird.
  3. Vorrichtung (200) für maschinelles Lernen nach Anspruch 1 oder 2, die eine Optimierungsaktionsinformations-Ausgabeeinheit (205) zum Erstellen und Ausgeben der Koordinatenwerte jedes Blocks in den m oder mehr Blöcken auf Grundlage der Wertfunktion aufweist, die durch die Wertfunktions-Aktualisierungseinheit aktualisiert wird.
  4. Numerisches Steuersystem (10), das die Vorrichtung (200) für maschinelles Lernen nach einem der Ansprüche 1 bis 3 und eine numerische Steuervorrichtung (100) aufweist, in der die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken durch die Vorrichtung (200) für maschinelles Lernen maschinell gelernt werden.
  5. Verfahren für maschinelles Lernen einer Vorrichtung (200) für maschinelles Lernen zum Durchführen eines maschinellen Lernens an einer numerischen Steuervorrichtung (100), die ein Bearbeitungsprogramm analysiert und, wenn ein erster Befehl einen Eckabschnitt beinhaltet, der aus zwei Blöcken in dem Bearbeitungsprogramm besteht, einen zweiten Befehl erzeugt, in dem die beiden Blöcke durch m oder mehr Blöcke (m ist eine natürliche Zahl) ersetzt werden, bei denen es sich um mehr als die beiden Blöcke handelt, das aufweist: Erfassen von Zustandsinformationen, die den ersten Befehl, Koordinatenwerte jedes Blocks in den m oder mehr Blöcken und Positionsinformationen des Bearbeitungswegs beinhalten, die durch Durchführen des Bearbeitungsprogramms durch die numerische Steuervorrichtung (100) gewonnen werden; Ausgeben von Aktionsinformationen, die Anpassungsinformationen über die Koordinatenwerte jedes Blocks in den m oder mehr Blöcken beinhalten, die in den Zustandsinformationen beinhaltet sind, an die numerische Steuervorrichtung (100); Ermitteln eines Belohnungswerts bei einem bestärkenden Lernen auf Grundlage des Betrags einer Einwärtsdrehung in dem Eckabschnitt, der mithilfe des ersten Befehls, der in den Zustandsinformationen beinhaltet ist, und der Positionsinformationen des Bearbeitungswegs und auf Grundlage der Bearbeitungszeit berechnet wird; und Aktualisieren einer Wertfunktion auf Grundlage des Belohnungswerts, der Zustandsinformationen und der Aktionsinformationen.
DE102020204854.1A 2019-04-25 2020-04-16 Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen Pending DE102020204854A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-084477 2019-04-25
JP2019084477A JP7010877B2 (ja) 2019-04-25 2019-04-25 機械学習装置、数値制御システム及び機械学習方法

Publications (2)

Publication Number Publication Date
DE102020204854A1 true DE102020204854A1 (de) 2020-10-29
DE102020204854A8 DE102020204854A8 (de) 2020-12-10

Family

ID=72839760

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020204854.1A Pending DE102020204854A1 (de) 2019-04-25 2020-04-16 Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen

Country Status (4)

Country Link
US (1) US11640557B2 (de)
JP (1) JP7010877B2 (de)
CN (1) CN111857052B (de)
DE (1) DE102020204854A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088775B (zh) * 2016-11-04 2023-11-07 渊慧科技有限公司 使用加强学习的环境预测
JP6564432B2 (ja) * 2017-08-29 2019-08-21 ファナック株式会社 機械学習装置、制御システム、制御装置、及び機械学習方法
WO2021044491A1 (ja) * 2019-09-02 2021-03-11 ヤマザキマザック株式会社 制御装置、工作機械、算出方法及びプログラム
JP6903255B1 (ja) * 2021-01-08 2021-07-14 三菱電機株式会社 加工プログラム修正装置、数値制御装置、加工プログラム修正方法および機械学習装置
CN113905606B (zh) * 2021-09-13 2022-09-30 中国地质大学(武汉) 基于深度强化学习的贴片机贴装调度模型训练方法
CN114690707B (zh) * 2021-12-01 2023-08-18 南京工业大学 一种基于改进bp神经网络的数控成形磨齿机直线轴几何综合误差辨识方法
CN114755974B (zh) * 2022-04-19 2022-12-02 中科航迈数控软件(深圳)有限公司 复杂结构件加工路径优化方法、装置、终端及存储介质
WO2024042618A1 (ja) * 2022-08-23 2024-02-29 ファナック株式会社 制御装置及びコンピュータ読み取り可能な記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5890208A (ja) * 1981-11-25 1983-05-28 Yaskawa Electric Mfg Co Ltd 自動機械におけるptp制御の軌道補正方式
JP2746170B2 (ja) 1995-01-27 1998-04-28 日本電気株式会社 数値制御データ作成装置
JPH1148176A (ja) * 1997-08-08 1999-02-23 Yaskawa Electric Corp ロボット位置教示装置
JP5890208B2 (ja) 2012-03-14 2016-03-22 日本放送協会 パケット送信装置、パケット受信装置及びパケット伝送システム
JP5734270B2 (ja) 2012-12-21 2015-06-17 ファナック株式会社 コーナ角度に応じて自動的に加工経路の補正を行うワイヤ放電加工機
JP6169655B2 (ja) 2015-07-30 2017-07-26 ファナック株式会社 工作機械、シミュレーション装置、及び機械学習器
JP2017030067A (ja) * 2015-07-30 2017-02-09 ファナック株式会社 加工時間測定機能とオンマシン測定機能を有する制御装置付き加工装置
JP6219897B2 (ja) * 2015-09-28 2017-10-25 ファナック株式会社 最適な加減速を生成する工作機械
DE112017004424T5 (de) * 2016-09-02 2019-06-19 Mitsubishi Electric Corporation Befehlswerterzeugungsvorrichtung
JP6453919B2 (ja) 2017-01-26 2019-01-16 ファナック株式会社 行動情報学習装置、行動情報最適化システム及び行動情報学習プログラム
JP6490127B2 (ja) * 2017-03-15 2019-03-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6499720B2 (ja) * 2017-06-22 2019-04-10 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6608879B2 (ja) * 2017-07-21 2019-11-20 ファナック株式会社 機械学習装置、数値制御装置、数値制御システム、及び機械学習方法
JP6564432B2 (ja) * 2017-08-29 2019-08-21 ファナック株式会社 機械学習装置、制御システム、制御装置、及び機械学習方法
JP6740199B2 (ja) * 2017-10-30 2020-08-12 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム

Also Published As

Publication number Publication date
DE102020204854A8 (de) 2020-12-10
JP7010877B2 (ja) 2022-01-26
JP2020181403A (ja) 2020-11-05
CN111857052B (zh) 2024-03-22
CN111857052A (zh) 2020-10-30
US20200342356A1 (en) 2020-10-29
US11640557B2 (en) 2023-05-02

Similar Documents

Publication Publication Date Title
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102018211682B4 (de) Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102006045429B4 (de) Adaptive, Modellprädiktive Online-Steuerung in einem Prozesssteuerungssystem
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102017219841B4 (de) Numerische Steuervorrichtung
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE112018000172B4 (de) Numerische Steuervorrichtung
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102020200635A1 (de) Maschinenlernsystem, Steuervorrichtung und Maschinenlernverfahren für das Optimieren von Filterkoeffizienten
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen
DE102018209092A1 (de) Motorsteuereinheit
DE102020201613A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed