DE102018209149B4 - Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm - Google Patents

Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm Download PDF

Info

Publication number
DE102018209149B4
DE102018209149B4 DE102018209149.8A DE102018209149A DE102018209149B4 DE 102018209149 B4 DE102018209149 B4 DE 102018209149B4 DE 102018209149 A DE102018209149 A DE 102018209149A DE 102018209149 B4 DE102018209149 B4 DE 102018209149B4
Authority
DE
Germany
Prior art keywords
information
behavior
machine learning
control
behavior information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018209149.8A
Other languages
English (en)
Other versions
DE102018209149A1 (de
Inventor
Akira KANEMARU
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 DE102018209149A1 publication Critical patent/DE102018209149A1/de
Application granted granted Critical
Publication of DE102018209149B4 publication Critical patent/DE102018209149B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • 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/33038Real time online learning, training, dynamic network
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/36456Learning tool holding dynamics

Landscapes

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

Abstract

Maschinenlernvorrichtung (100), die ein Verstärkungslernen an einer Steuerung (200) durchführt, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten (241, 242, 243, 244) durchführt, wobei die Maschinenlernvorrichtung (100) umfasst:ein Verhaltensinformations-Ausgabemittel (130), das Verhaltensinformation, welche die Zuweisung von Arithmetikeinheiten, die die mehreren Prozesse durchführen, enthält, an die Steuerung ausgibt;ein Zustandsformations-Erfassungsmittel (110), das Zustandsinformation erfasst, die eine Bearbeitungsbedingung enthält, als eine Bedingung zur Bearbeitung, die an der Werkzeugmaschine eingestellt ist, und Bestimmungsinformation, die durch überwachen der Implementierung der mehreren Prozesse durch die mehreren Operationseinheiten (241, 242, 243, 244) erzeugt wird, basierend auf der Zuweisung in der Verhaltensinformation;ein Vergütungsrechenmittel (121), das den Wert einer Vergütung berechnet, die zu erteilen ist, durch das Verstärkungslernen, basierend auf der Bestimmungsinformation in der Zustandsinformation; undein Wertefunktions-Aktualisierungsmittel (122), das eine Verhaltenswertfunktion basierend auf dem Vergütungswert, der Zustandsinformation und der Verhaltensinformation aktualisiert.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Maschinenlernvorrichtung, die ein Maschinenlernen in einer Vorrichtung durchführt, die Parallelverarbeitung an mehreren Operationseinheiten als einem Ziel durchführt, eine Steuerung und ein Maschinenlernprogramm.
  • Stand der Technik
  • Eine konventionell bekannte Steuerung steuert eine Werkzeugmaschine basierend auf einem Bearbeitungsprogramm. Für eine Echtzeitsteuerung der Position oder Geschwindigkeit jeder Achse in der Werkzeugmaschine ist es erforderlich gewesen, dass die Steuerung für die Werkzeugmaschine ein vorbestimmtes Steuerprogramm in einem festen Zyklus oder einer festen Zeitperiode ausführt.
  • Derweil ist in Reaktion auf einen Trend in den letzten Jahren hin zu einer größeren Anzahl von Achsen oder Funktionen von Werkzeugmaschinen der Maßstab des Steuerprogrammes vergrößert worden, um den Durchsatz beachtlich zu vergrößern. Zusätzlich, um eine Bearbeitung bei einer höheren Geschwindigkeit mit höherer Genauigkeit zu erzielen, ist es notwendig gewesen, dass ein Zyklus von Achsensteuerung verkürzt wird. Dies hat die Notwendigkeit mit sich gebracht, die Verarbeitungsgeschwindigkeit in der Steuerung zu vergrößern. Weiter, zusätzlich zur Funktion der Achsensteuerung, weist die Steuerung für die Werkzeugmaschine eine Kommunikationsfunktion, eine Anzeigefunktion, eine Signal-Eingabe/Ausgabe-Funktion etc. auf. Die Steuerung musste alle diese Funktionen reibungslos erfüllen.
  • Diese Anforderungen sind allgemein unter Verwendung von Hardware mit multiplen Operationseinheiten befriedigt worden, wie etwa einem Multiprozessor oder mehreren Kernen in der Steuerung für die Werkzeugmaschine und der parallelen Verarbeitung von Steuerprogrammen in diesen mehreren Operationseinheiten. Die Verwendung der Hardware mit mehreren Operationseinheiten gestattet einen Anstieg beim Durchsatz pro Einheitszeit durch die Steuerung. Als Ergebnis können mehr Prozesse in einer kürzeren Zeitperiode durchgeführt werden.
  • Die vorstehende Steuerung des Prozessierens der Steuerprogramme parallel an den mehreren Operationseinheiten wird durch beispielsweise Patentdokument 1 offenbart. Die Patentdokumente 2 bis 5 offenbaren Techniken zum Steigern der Effizienz der Parallelverarbeitung an mehreren Operationseinheiten. Beispielsweise offenbart Patentdokument 2 eine Technik des Betreibens aller Kerne in einem gleichförmigen Verhältnis durch Lastverteilung zwischen Betriebssystemen (BSen). Patentdokument 3 offenbart eine Technik zum Steigern eines Cash-Hit-Verhältnisses. Patentdokumente 4 und 5 offenbaren Techniken zum Steigern des Durchsatzes pro Einheitszeit durch Unterteilen und Verteilen der Verarbeitung.
  • Patentdokument 6 beschreibt eine numerische Steuerung umfassend eine maschinelle Lernvorrichtung zum Durchführen eines maschinellen Lernens einer Bearbeitungsbedingungsanpassung einer Werkzeugmaschine. Die maschinelle Lernvorrichtung berechnet eine Belohnung auf Basis von an einem Werkstück erfassten Bearbeitungszustandsdaten, bestimmt eine Anpassungsmenge der Bearbeitungsbedingung auf der Basis eines Ergebnisses des maschinellen Lernens und von Bearbeitungszustandsdaten und passt die Bearbeitungsbedingungen auf Basis der Anpassungsmenge an. Ferner erfolgt das maschinelle Lernen der Bearbeitungsbedingungsanpassung auf Basis der bestimmten Anpassungsmenge der Bearbeitungsbedingung, der Bearbeitungszustandsdaten und der Belohnung.
    • Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2014-35564
    • Patentdokument 2: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2009-163527
    • Patentdokument 3: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2015-200947
    • Patentdokument 4: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2016-012221
    • Patentdokument 5: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2016-051258
    • Patentdokument 6: DE 10 2016 010 064 A1
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Wie oben beschrieben, offenbaren Patentdokumente 2 bis 6 die Techniken zum Steigern der Effizienz der Parallelverarbeitung der Steuerprogramme. Gemäß der durch Patentdokument 2 offenbarten Technik können alle Kerne bei einem gleichförmigen Verhältnis betrieben werden. Jedoch weist diese Technik Schwierigkeiten beim Optimieren des Kommunikationsvolumens zwischen den Kernen, Stromverbrauch durch jeden Kern oder Betrag der Erwärmung durch jeden Kern auf. Gemäß der durch Patentdokumente 3, 4 und 5 offenbarten Techniken kann der Durchsatz pro Einheitszeit gesteigert werden. Jedoch scheitern diese Techniken, ein optimales Prozessverteilungsmuster zu etablieren, das auf eine Bearbeitungsbedingung hin responsiv ist.
  • Wie oben beschrieben, offenbart jedes der vorstehenden Patentdokumente eine Technik des Optimierens eines besonderen Punkts. Auf dem Gebiet der Werkzeugmaschinen, die hohe Echtzeitleistung erzielen müssen und unter einer Vielzahl von Bearbeitungsbedingungen arbeiten müssen, ist jedoch die Technik des Optimierens eines bestimmten Punktes daran gescheitert, einen signifikanten Effekt zu erzielen. Selbst falls die Techniken der Patentdokumente in Kombination verwendet werden, ist das Etablieren einer Formel zur Korrelation zwischen Punkten in einer Trade-off-Beziehung schwierig gewesen. Daher ist es recht schwierig gewesen, eine optimale Lösung aus einer massiven Datenmenge zu erhalten.
  • Die vorliegende Erfindung dient dazu, eine Maschinenlernvorrichtung, eine Steuerung und ein Maschinenlernprogramm bereitzustellen, um jeden Prozess (vorstehendes Steuerprogramm) zum Steuern einer Werkzeugmaschine für eine optimale Betriebseinheit in Reaktion auf eine Bearbeitungsbedingung zuzuweisen.
  • (1) Eine Maschinenlernvorrichtung gemäß der vorliegenden Erfindung (beispielsweise die später beschriebene Maschinenlernvorrichtung 100) führt ein Verstärkungslernen an einer Steuerung (beispielsweise dem später beschriebenen Steuerungssimulator 200) durch, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten (beispielsweise später beschriebener erster Kern 241, zweiter Kern 242, dritter Kern 243, vierter Kern 244) durchführt. Die Maschinenlernvorrichtung umfasst: ein Verhaltensinformations-Ausgabemittel (beispielsweise die später beschriebene Verhaltensinformations-Ausgabeeinheit 130), das Verhaltensinformation, welche die Zuweisung für eine Arithmetikeinheit zum Durchführen der mehreren Prozesse enthält, an die Steuerung ausgibt; ein Zustandsformations-Erfassungsmittel (beispielsweise die später beschriebene Zustandsinformations-Erfassungseinheit 110), das Zustandsinformation erfasst, die eine Bearbeitungsbedingung enthält, als eine Bedingung zur Bearbeitung, die an der Werkzeugmaschine eingestellt ist, und Bestimmungsinformation, die durch überwachen der Implementierung der mehreren Prozesse durch die mehreren Operationseinheiten erzeugt wird, basierend auf der Zuweisung in der Verhaltensinformation; ein Vergütungsrechenmittel (beispielsweise eine später beschriebene Vergütungsrecheneinheit 121), das den Wert einer Vergütung berechnet, die zu erteilen ist, durch das Verstärkungslernen, basierend auf der Bestimmungsinformation in der Zustandsinformation; und ein Wertefunktions-Aktualisierungsmittel (beispielsweise die später beschriebene Wertefunktions-Aktualisierungseinheit 122), das eine Verhaltenswertfunktion basierend auf dem Vergütungswert, der Zustandsinformation und der Verhaltensinformation aktualisiert.
  • (2) In der in (1) beschriebenen Maschinenlernvorrichtung können die mehreren Operationseinheiten die mehreren Prozesse eine vorbestimmte Anzahl mal in vorbestimmten unterteilten Zyklen durchführen. Das Wertefunktions-Aktualisierungsmittel kann die Verhaltenswertefunktion jedes Mal aktualisieren, wenn die mehreren Prozesse in den mehreren Betriebseinheiten beendet werden. Das Verhaltensinformations-Ausgabemittel kann Verhaltensinformation, die die geänderte Zuweisung enthält, an die Steuerung jedes Mal ausgeben, wenn die mehreren Prozesse in den mehreren Operationseinheiten beendet sind.
  • (3) In der in (2) beschriebenen Maschinenlernvorrichtung kann die Zuweisung bei der Verhaltensinformation eine Bezeichnung eines durch jede der mehreren Operationseinheiten durchzuführenden Prozesses und eine Reihenfolge der Durchführung der Prozesse enthalten. Die, geänderte Zuweisungsausgabe aus dem Verhaltensinformations-Ausgabemittel enthaltende Verhaltensinformation an die Steuerung kann Verhaltensinformation sein, in der die Bezeichnung eines durch jede der mehreren Operationseinheiten durchzuführenden Prozesses oder/und die Reihenfolge der Durchführung der Prozesse geändert wird.
  • (4) In der in (2) oder (3) beschriebenen Maschinenlernvorrichtung kann ein Prozess, der für irgendeine der mehreren Operationseinheiten zuzuweisen ist, fixiert sein. Die, geänderte Zuweisungsausgabe aus dem Verhaltensinformations-Ausgabemittel enthaltende Verhaltensinformation kann Verhaltensinformation sein, in welcher die geänderte Zuweisung zu einer Operationseinheit gehört, für welche eine Zuweisung eines Prozesses nicht fixiert ist.
  • (5) In der in einer von (1) bis (4) beschriebenen Maschinenlernvorrichtung kann das Verstärkungslernen durch die Maschinenlernvorrichtung auf der Steuerung als ein Duplikat durchgeführt werden, welches virtuell durch einen Simulator gemacht wird. Die Maschinenlernvorrichtung kann weiter ein optimiertes Verhaltensinformations-Ausgabemittel (beispielsweise die später beschriebene optimierte Verhaltensinformations-Ausgabeeinheit 150) umfassen, welches die Verhaltensinformation basierend auf Zustandsinformation erzeugt, die aus einer realen Maschine der Steuerung erfasst wird, und eine Verhaltenswertefunktion, die durch Verstärkungslernen erlernt wird, und die erzeugte Verhaltensinformation an die reale Maschine der Steuerung ausgibt, nachdem das Verstärkungslernen beendet ist.
  • (6) Die in (5) beschriebene Maschinenlernvorrichtung kann weiter ein Maschinenbedingungs-Änderungsmittel (beispielsweise die später beschriebene Maschinenbedingungs-Änderungseinheit 600) umfassen. Falls eine Bearbeitungsbedingung in der aus der realen Maschine der Steuerung erfassten Zustandsinformation eine Bearbeitungsbedingung ist, die nicht als ein Ziel des Verstärkungslernens verwendet worden ist, ändert das Bearbeitungsbedingungs-Änderungsmittel die Bearbeitungsbedingung zu einer anderen Bearbeitungsbedingung, die einen partiell passenden Inhalt aufweist und als ein Ziel des Verstärkungslernens verwendet worden ist. Das optimierte Verhaltensinformations-Ausgabemittel kann die Verhaltensinformation basierend auf Zustandsinformation erzeugen, welche die Bearbeitungsbedingung enthält, die durch das Bearbeitungsbedingungs-Änderungsmittel geändert ist, und eine Verhaltenswertfunktion, welche durch das Verstärkungslernen erlernt wird, responsiv auf die andere Bearbeitungsbedingung, und die erzeugte Verhaltensinformation an die reale Maschine der Steuerung ausgeben.
  • (7) Die in einem von (1) bis (6) beschriebene Maschinenlernvorrichtung kann weiter ein Maschinenbedingungs-Erzeugungsmittel (beispielsweise die später beschriebene Bearbeitungsbedingungs-Erzeugungseinheit 500) umfassen, welches die Bearbeitungsbedingung erzeugt und die erzeugte Bearbeitungsbedingung an der Steuerung einstellt.
  • (8) Eine Steuerung, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten durchführt und die, in irgendeiner von (1) bis (7) beschriebene Maschinenlernvorrichtung umfasst.
  • (9) Ein Maschinenlernprogramm gemäß der vorliegenden Erfindung veranlasst einen Computer, als eine Maschinenlernvorrichtung (beispielsweise die später beschriebene Maschinenlernvorrichtung 100) zu fungieren, die ein Verstärkungslernen in einer Steuerung (beispielsweise dem später beschriebenen Steuerungssimulator 200) durchführt, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten (beispielsweise der später beschriebene Kern 241, zweite Kern 242, dritte Kern 243, vierte Kern 244) durchführt. Die Maschinenlernvorrichtung umfasst: ein Verhaltensinformations-Ausgabemittel (beispielsweise die später beschriebene Verhaltensinformations-Ausgabeeinheit 130), das eine Verhaltensinformation, die die Zuweisung für eine Arithmetikeinheit zum Durchführen der mehreren Prozesse enthält, an die Steuerung ausgibt; ein Zustandsinformations-Erfassungsmittel (beispielsweise die später beschriebene Informationserfassungseinheit 110), das Zustandsinformation erfasst, die eine Bearbeitungsbedingung enthält, als eine Bedingung für eine an der Werkzeugmaschine eingestellte Verarbeitung, und Bestimmungsinformation, die durch Überwachen der Implementierung der mehreren Prozesse durch die mehreren Operationseinheiten basierend auf der Zuweisung in der Verhaltensinformation erzeugt ist; ein Vergütungsrechenmittel (beispielsweise die später beschriebene Vergütungsrecheneinheit 121), das den Wert einer Vergütung berechnet, die durch Verstärkungslernen zu geben ist, basierend auf der Bestimmungsinformation in der Zustandsinformation; und ein Wertefunktions-Aktualisierungsmittel (beispielsweise die später beschriebene Wertefunktions-Aktualisierungseinheit 122), das eine Verhaltenswertfunktion basierend auf dem Vergütungswert, der Zustandsinformation und der Verhaltensinformation aktualisiert.
  • Gemäß der vorliegenden Erfindung kann jeder Prozess zum Steuern einer Werkzeugmaschine für eine optimale Operationseinheit in Beantwortung einer Bearbeitungsbedingung zugewiesen werden.
  • Figurenliste
    • 1 ist ein Funktionsblockdiagramm, das eine Gesamtbasis-Konfiguration einer Ausführungsform der vorliegenden Erfindung illustriert;
    • 2 ist ein Funktionsblockdiagramm, welches die Konfiguration eines Steuerungssimulators gemäß der Ausführungsform der vorliegenden Erfindung illustriert;
    • 3 ist eine schematische Ansicht, welche die Zuweisung von Steuerprozessen gemäß der Ausführungsform der vorliegenden Erfindung illustriert;
    • 4 ist ein Funktionsblockdiagramm, welches die Konfiguration einer Maschinenlernvorrichtung gemäß der Ausführungsform der vorliegenden Erfindung illustriert;
    • 5 ist ein Funktionsblockdiagramm, welches die Konfiguration einer Steuerung gemäß der Ausführungsform der vorliegenden Erfindung illustriert;
    • 6 ist ein Flussdiagramm, welches den Betrieb der Maschinenlernvorrichtung in einer Lernphase gemäß der Ausführungsform der vorliegenden Erfindung erläutert;
    • 7 ist ein Flussdiagramm, welches den Betrieb der Maschinenlernvorrichtung in einer Laufphase gemäß der Ausführungsform der vorliegenden Erfindung erläutert;
    • 8 ist eine schematische Ansicht, welche Zuweisung von Steuerprozessen responsiv auf eine Bearbeitungsbedingung gemäß der Ausführungsform der vorliegenden Erfindung illustriert;
    • 9 ist ein Funktionsblockdiagramm, das eine Basiskonfiguration gemäß einer ersten Modifikation der Ausführungsform der vorliegenden Erfindung illustriert;
    • 10 ist ein Funktionsblockdiagramm, das eine Basiskonfiguration gemäß einer zweiten Modifikation der Ausführungsform der vorliegenden Erfindung illustriert; und
    • 11 ist eine Tabelle, die ein Beispiel eines Kriteriums zum Auswählen einer ähnlichen Bearbeitungsbedingung gemäß der zweiten Modifikation der Ausführungsform der vorliegenden Erfindung illustriert.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Eine Ausführungsform der vorliegenden Erfindung wird im Detail unter Bezugnahme auf die Zeichnungen beschrieben.
  • <Gesamtkonfiguration der Ausführungsform>
  • 1 ist ein Funktionsblockdiagramm, welches die Gesamtkonfiguration eines Maschinenlernsystems 1 gemäß der Ausführungsform illustriert. Wie in 1 illustriert, beinhaltet das Maschinenlernsystem 1 eine Maschinenlernvorrichtung 100, einen Steuerungssimulator 200, eine Steuerung 300 und eine Werkzeugmaschine 400.
  • Die Maschinenlernvorrichtung 100 ist eine Vorrichtung, die Maschinenlernen an dem Steuerungssimulator 200 als einem Ziel durchführt. Die Maschinenlernvorrichtung 100 führt Maschinenlernen in einer Lernphase durch, um eine Wertefunktion zum Zuweisen jedes Prozesses zur Steuerung einer Werkzeugmaschine für eine optimale Betriebseinheit in Reaktion auf eine Bearbeitungsbedingung zu ermitteln.
  • Die Maschinenlernvorrichtung 100 erzeugt Verhaltensinformation in einer Laufphase zum Zuweisen jedes Prozesses für eine optimale Betriebseinheit, basierend auf der in der Lernphase ermittelten Wertefunktion und gibt die erzeugte Verhaltensinformation an die Steuerung 300 aus. Als Ergebnis davon ist der Steuerung 300 gestattet, jeden Prozess für eine optimale Betriebseinheit in Beantwortung einer Bearbeitungsbedingung zum Steuern der Werkzeugmaschine 400 geeignet zuzuweisen. Die Maschinenlernvorrichtung 100 kann beispielsweise durch einen persönlichen Computer, einen Server, oder eine numerische Steuerung verwirklicht werden.
  • Der Steuerungssimulator 200 ist ein Simulator als ein virtuelles Duplikat der Steuerung 300, gemacht für Maschinenlernen. In dieser Ausführungsform wird das Maschinenlernen auf einem Simulator als einem Ziel durchgeführt, der in der Lage ist, leicht eine Bearbeitungsbedingung, etc. während des Verlaufs des Maschinenlernens zu ändern. Alternativ kann das Maschinenlernen auf der Steuerung 300 selbst als einem Ziel durchgeführt werden. Wie die Maschinenlernvorrichtung 100 kann der Steuerungssimulator 200 durch beispielsweise einen persönlichen Computer, einen Server oder eine Numeriksteuerung verwirklicht werden.
  • Die Steuerung 300 ist eine Vorrichtung, die arithmetische Prozesse parallel in mehreren Operationseinheiten durchführt, um den Antrieb der Werkzeugmaschine 400 zu steuern. Die Steuerung 300 führt die arithmetischen Prozesse durch Zuweisen jedes Prozesses für eine optimale Operationseinheit, basierend auf der aus der Maschinenlernvorrichtung 100 eingegebenen Verhaltensinformation durch. Die mehreren Operationseinheiten in der Steuerung 300 können durch einen Prozessor erfüllt werden, der mehrere Kerne enthält (Mehrkern-Prozessor) oder eine Numeriksteuerung, die mehrere Prozessoren enthält (Multiprozessor). In den Zeichnungen, um zu zeigen, dass die Steuerung 300 nicht ein Duplikat ist, welches virtuell gemacht ist, wird der Steuerung 300 die Angabe „reale Maschine“ gegeben.
  • Die Werkzeugmaschine 400 ist eine Werkzeugmaschine, welche unter der Steuerung der Steuerung 300 anzutreiben ist. Die Werkzeugmaschine 400 kann beispielsweise durch einen Roboter oder eine Industriemaschine ersetzt sein.
  • Die Verbindung zwischen diesen Vorrichtungen wird als Nächstes beschrieben. Die Maschinenlernvorrichtung 100 ist kommunizierbar mit dem Steuerungssimulator 200 und der Steuerung 300 verbunden. Die Steuerung 300 und die Werkzeugmaschine 400 sind auch kommunizierbar miteinander verbunden. Diese Kommunikation kann durch ein Lokalbereichsnetzwerk (LAN) etabliert werden, das beispielsweise in einer Fabrik aufgebaut ist. Diese Kommunikation kann drahtgebundene Kommunikation, Funkkommunikation oder eine Kombination von drahtgebundener Kommunikation und Funkkommunikation sein und ist frei von jeglicher besonderer Beschränkung im Hinblick auf Kommunikationsstandards etc.. Diese Kommunikation kann beispielsweise durch ein Netzwerk wie etwa das Internet oder ein öffentliches Telefonnetzwerk (in den Zeichnungen nicht illustriert) etabliert werden. In diesem Fall können alle Vorrichtungen nahe aneinander platziert werden (beispielsweise in derselben Fabrik). Alternativ können diese Vorrichtungen an entfernten Orten getrennt vorgesehen sein. Während jede Figur eine einzelne Vorrichtung jeden Typs dieser Vorrichtungen illustriert, besteht keine Beschränkung bei der Anzahl jedes Typs von diesen Vorrichtungen. Zusätzlich ist die Verbindung zwischen ihnen nicht auf eine Verbindung zwischen einer Vorrichtung und einer anderen beschränkt, sondern kann auch eine Verbindung zwischen einer Vorrichtung und mehreren Vorrichtungen oder zwischen mehreren Vorrichtungen und mehreren Vorrichtungen sein.
  • <Funktionsblock des Steuerungssimulators 200>
  • Funktionsblöcke des Steuerungssimulators 200 werden als Nächstes unter Bezugnahme auf 2 beschrieben. Wie in 2 illustriert, beinhaltet der Steuerungssimulator 200 eine erste Steuerprozessgruppe 210, eine zweite Steuerprozessgruppe 220, ein Betriebssystem 230 und einen Prozessor 240.
  • In dieser Ausführungsform wird ein Bearbeitungsprogramm ausgeführt, basierend auf einer durch einen Anwender eingestellten Bearbeitungsbedingung. In Reaktion darauf werden mehrere Steuerprozesse entsprechend einem bestimmten Prozess oder Funktion im Bearbeitungsprogramm ausgewählt. Die erste Steuerprozessgruppe 210 und die zweite Steuerprozessgruppe 220 in 2 entsprechen den ausgewählten mehreren Steuerprozessen. Diese mehreren Steuerprozesse werden durch irgendeinen der Kerne des später beschriebenen Prozessors 240 durchgeführt.
  • Steuerprozesses in der ersten Steuerprozessgruppe 210 werden durch einen später beschriebenen ersten Kern 241 durchgeführt. In dieser Ausführungsform werden Basisachsensteuerung und Synchronsteuerung als beispielhafte Steuerprozesse in der ersten Steuerprozessgruppe 210 illustriert.
  • Die Basisachsensteuerung ist ein Steuerprozess des Berechnens der Hübe der Basisachsen (beispielsweise X-Achse, Y-Achse und Z-Achse, die zum Steuern der Werkzeugmaschine verwendet werden). Die Synchronsteuerung ist ein Steuerprozess des Berechnens der Hübe der Synchronachsen (beispielsweise X2-Achse, Y2-Achse und Z2-Achse, die zum Steuern der Werkzeugmaschine 400 verwendet werden), die zusammen mit den Basisachsen arbeiten. Auf diese Weise ist diese Ausführungsform auf einen Fall anwendbar, bei dem Achsen, wie etwa die Basisachsen und die Synchronachsen, die synchron zur Bearbeitung an einem Werkstück zu verwenden sind, zu zwei Systemen gehören oder drei oder mehr Systemen.
  • Steuerprozesse in der zweiten Steuerprozessgruppe 220 werden durch einen von einem zweiten Kern 242, einem dritten Kern 243 und einem vierten Kern 244 durchgeführt, die später beschrieben werden. In dieser Ausführungsform sind erweiterte Achsensteuerung, Vorbereitungsprozess, Kommunikationssteuerung, Anzeigebetrieb, Werkzeugverwaltung und Vorrichtungsverwaltung als beispielhafte Steuerprozesse in der zweiten Steuerprozessgruppe 220 illustriert.
  • Die erweiterte Achsensteuerung ist ein Steuerprozess des Berechnens des Hubs einer erweiterten Achse für Anbringung und Abnahme eines Werkstücks etc. (beispielsweise die für die Steuerung der Werkzeugmaschine 400 verwendet Laderachse). Der Vorbereitungsprozess ist ein Steuerprozess des Erzeugens eines Zwischencodes zum Berechnen eines Hubs aus einem Bearbeitungsprogramm. Eine Kommunikationssteuerung ist ein Steuerprozess des Steuerns der Kommunikation mit externer Ausrüstung (persönlicher Computer oder Sensoren beispielsweise) über Ethernet (registriertes Warenzeichen) oder serielle Kommunikation. Die Anzeigeoperation ist ein Steuerprozess des Erzeugen eines Anzeigebildschirms der Steuerung, Steuern von Tasteneingabe etc.. Die Werkzeugverwaltung ist ein Steuerprozess des Verwaltens von Werkzeuginformation, die für die Bearbeitung verwendet wird. Die Vorrichtungsverwaltung ist ein Steuerprozess des Steuerns einer Vorrichtung, wie etwa einem universellen seriellen Bus (USB) Speicher oder einer Secure Digital-(SD)-Karte, beispielsweise.
  • Jeder Steuerprozess in der ersten Steuerprozessgruppe 210 oder der zweiten Steuerprozessgruppe 220 gestattet wechselweise Verwendung eines Prozesses mit einem anderen Steuerprozess oder die Übertragung von Daten zu und aus einem anderen Steuerprozess über eine vorbestimmte Schnittstelle. Ein Beispiel der vorbestimmten Schnittstelle beinhaltet einen objektorientierten Methodenaufruf und Kommunikation mittels Senden und Empfangen eines Befehls.
  • Jeder Steuerprozess in der ersten Steuerprozessgruppe 210 und der zweiten Steuerprozessgruppe 220 ist lediglich ein Beispiel. Ein anderer Steuerprozess kann hinzugefügt werden oder jeder Steuerprozess kann durch einen anderen Steuerprozess ersetzt werden.
  • Die vorstehende Bearbeitungsbedingung wird als Teil der Zustandsinformation beim Verstärkungslernen, das später beschrieben wird, durch die Maschinenlernvorrichtung 100 verwendet. Aus diesem Grund wird die Bearbeitungsbedingung aus dem Steuerungssimulator 200 an die Maschinenlernvorrichtung 100 ausgegeben.
  • Die hier erwähnte Bearbeitungsbedingung beinhaltet Information wie etwa Parametereinstellung, einen Betriebsmodus, Modal-Information, ein Bearbeitungsprogramm, den Betriebszustand von Prozessorkernen etc.. Diese Teile von Information werden unten beschrieben.
  • Die Parametereinstellung ist eine Information, welche den Inhalt eines Parameters angibt, der basierend auf einer Maschinenkonfiguration eingestellt ist. Ein bestimmtes Beispiel von Information in der Parametereinstellung beinhaltet die gesamte Anzahl von Achsen in der Werkzeugmaschine, die Anzahl von Spindeln in der Werkzeugmaschine, die Gültigkeit oder Ungültigkeit einer erweiterten Steuerfunktion und die Gültigkeit oder Ungültigkeit einer synchronen Steuerfunktion.
  • Der Betriebsmodus ist Information, welche den Inhalt eines an einer Werkzeugmaschine eingestellten Betriebsmodus angibt. Ein bestimmtes Beispiel von Information im Betriebsmodus ist Information, die einen an der Werkzeugmaschine eingestellten Modus angibt, der aus einem automatischen Betriebsmodus, einem manuellen Betriebsmodus, einem Programm-Editiermodus etc. ausgewählt ist.
  • Die Modal-Information ist Information, welche den Inhalt eines an einer Werkzeugmaschine eingestellten Modalbefehls angibt. Ein bestimmtes Beispiel von Information in der Modal-Information ist Information, die einen als einen Modalbefehl eingestellten Modus angibt, der aus einem Schneidmodus, einem Schnellverfahr-Modus, einem Gewindebohr-Modus (Tapping) etc. ausgewählt wird.
  • Das Bearbeitungsprogramm besteht aus Information, die ein Bearbeitungsprogramm angibt, das als ein Programm zum Steuern einer Werkzeugmaschine zum Bearbeiten an einem Werkstück verwendet wird. Ein bestimmtes Beispiel von Information im Bearbeitungsprogramm beinhaltet Identifikationsinformation zum Bearbeitungsprogramm, einen Bewegungspfad eines Werkzeugs und Information, die eine während der Bearbeitung zu verwendende Funktionsgruppe angibt.
  • Der Betriebsstatus von Prozessorkernen ist Information, die den Betriebsstatus von Kernen angibt. Ein bestimmtes Beispiel von Information im Betriebsstatus von Prozessorkernen beinhaltet Information, welche die Anzahl von arbeitenden Kernen angibt und Information, die die Betriebsfrequenz eines Kerns angibt.
  • Das Betriebssystem 230 ist ein BS, das die Implementierung eines Steuerprozesses durch den Prozessor 240 etc. steuert. Das Betriebssystem 230 beinhaltet eine Überwachungseinheit 231, eine erste Mehrkernsteuereinheit 232 und eine zweite Mehrkernsteuereinheit 233.
  • Die Überwachungseinheit 231 ist eine Einheit, welche den Prozessor 240 überwacht, um einen Steuerprozess durchzuführen. Für eine solche Überwachung weist die Überwachungseinheit 231 eine Funktion als einen Zentralverarbeitungseinheits- (CPU) Monitor und einen Aufgaben-Manager auf. Die Überwachungseinheit 231 erzeugt Bestimmungsinformation basierend auf einem Überwachungsergebnis und gibt die erzeugte Bestimmungsinformation an die Maschinenlernvorrichtung 100 aus. Die Bestimmungsinformation wird durch die Maschinenlernvorrichtung 100 als Teil der Zustandsinformation während des später beschriebenen Verstärkungslernens verwendet.
  • Ein Informationsbeispiel in der Bestimmungsinformation beinhaltet das Betriebsverhältnis jedes Kerns im Prozessor 240, Durchsatz pro Einheitszeit durch jeden Kern im Prozessor 240, den Umfang der Kommunikation zwischen Kernen im Prozessor 240, einen Erhitzungsbetrag durch jeden Kern im Prozessor 240 und das Cache-Trefferverhältnis jedes Kerns im Prozessor 240.
  • Diese Teile von Information sind lediglich Beispiele. Andere Information kann hinzugefügt werden oder diese Teile von Information können durch andere Information ersetzt werden. Es kann auch detailliertere Information verwendet werden. Es wird beispielsweise angenommen, dass es einen Ll-Cache gibt, auf den mit einer hohen Geschwindigkeit von einem Kern zugegriffen werden kann, und einen L2-Cache, auf den mit einer niedrigeren Geschwindigkeit als beim Zugriff auf den L1-Cache zugreifbar ist, aber mit einer höheren Geschwindigkeit zugreifbar ist als Zugriff auf einen Hauptspeicher. In diesem Fall kann die Bestimmungsinformation das Cache-Trefferverhältnis des Ll-Cache und das Cache-Trefferverhältnis des L2-Cache distinktiv voneinander enthalten.
  • Die erste Mehrkernsteuereinheit 232 und die zweite Mehrkernsteuereinheit 233 weisen einen Steuerprozess jedem Kern im Prozessor 240 zu. Spezifischer übt die erste Mehrkernsteuereinheit 232 asymmetrische Mehrverarbeitungs-(AMP)-Steuerung des Fixierens eines Kerns zum Durchführen eines Steuerprozesses aus. Die erste Mehrkernsteuereinheit 232 weist einen Steuerprozess in der ersten Steuerprozessgruppe 210 dem ersten Kern 241 zu und bringt den ersten Kern 241 dazu, den dem ersten Kern 241 zugewiesenen Steuerprozess durchzuführen.
  • Im Gegensatz dazu übt die zweite Mehrkernsteuereinheit 233 symmetrische Mehrverarbeitung-(SMP)-Steuerung des Nichtfixierens eines Kerns zum Durchführen eines Steuerprozesses aus. Die zweite Mehrkernsteuereinheit 233 weist einen Steuerprozess in der zweiten Steuerprozessgruppe 220 irgendeinem vom zweiten Kern 242, dritten Kern 243 oder vierten Kern 244 zu und bringt jeden Kern dazu, den diesem Kern zugewiesenen Steuerprozess durchzuführen. Ein Steuerprozess, der durch die zweite Mehrkernsteuereinheit 233 zuzuweisen ist, und ein Kern, dem der Steuerprozess zugewandt ist, werden basierend auf Verhaltensinformation bestimmt, die aus der Maschinenlernvorrichtung 100 an die zweite Mehrkernsteuereinheit 233 ausgegeben wird. Die Verhaltensinformation wird aus der Maschinenlernvorrichtung 100 während des Verstärkungslernens, das später beschrieben wird, ausgegeben.
  • Die Zuweisung eines Steuerprozesses beinhaltet nicht nur die Bezeichnung eines durch jeden Kern durchzuführenden Steuerprozesses, sondern auch die Bezeichnung der Reihenfolge des Durchführens der Steuerprozesse. Die hierin erwähnte Zuweisung bedeutet die Zuweisung eines Steuerprozesses für die Vereinfachung der Beschreibung. Jedoch, was tatsächlich zugewiesen ist, ist eine oder mehrere unabhängige Aufgaben oder Threads als eine Einheit in einem Steuerprozess. In diesem Fall ist, um eine Ausführungsform oder einen Thread korrekt durchzuführen, ein einzelner Kern für eine Aufgabe oder einen Thread ab dem Start bis zum Ende der Aufgabe oder des Threads verantwortlich. Mit anderen Worten wird ein für eine Aufgabe oder einen Thread verantwortlicher Kern während der Implementierung der Aufgabe oder des Threads nicht gewechselt.
  • Der Prozessor 240 beinhaltet vier Kerne: den ersten Kern 241, den zweiten Kern 242, den dritten Kern 243 und den vierten Kern 244. Jeder dieser Kerne führt einen Steuerprozess basierend auf Zuweisung durch die erste Mehrkernsteuereinheit 232 oder die zweite Mehrkernsteuereinheit 233 durch. Der Steuerungssimulator 200 ist eine Vorrichtung, die ein virtuelles Duplikat der Steuerung 300 ist. Der Prozessor 240 ist ein virtuelles Duplikat eines Prozessors in der Steuerung 300 im Hinblick auf die Anzahl von Kernen, die Betriebsfrequenz etc.. Mit anderen Worten ist der Prozessor 240 nicht auf dieselbe Anzahl von Kernen wie ein ArithmetikProzessor beschränkt, der tatsächlich als Hardware in dem Steuerungssimulator 200 vorgesehen ist, oder der Betriebsfrequenz dieses Arithmetik-Prozessors.
  • In dieser Ausführungsform wird angenommen, dass der Prozessor 240 ein einzelner Prozessor mit mehreren Kernen (Mehrkernprozessor) ist. Alternativ kann der Prozessor 240 durch mehrere Prozessoren (Multiprozessor) verwirklicht werden. Dies kann in der Beschreibung dieser Ausführungsform durch angemessenes Ersetzen von „Kern“ durch „Prozessor“ verstanden werden.
  • Das Nachfolgende beschreibt den Grund, warum die erste Mehrkernsteuereinheit 232 und die zweite Mehrkernsteuereinheit 233 unterschiedliche Steuersysteme in dieser Ausführungsform einsetzen. Eine Steuerung für eine Werkzeugmaschine ist für einen Steuerprozess verantwortlich, der in einem festen Zyklus oder einer festen Zeitperiode durchgeführt werden soll, um eine Echtzeit-Steuerung über die Position oder Geschwindigkeit einer Achse zu erzielen. Falls ein solcher Steuerprozess frei einem Kern gemäß dem SMP-Steuersystem zugewiesen wird, kann es schwierig werden, diesen Steuerprozess im festen Zyklus oder der Zeitperiode sicher durchzuführen.
  • In dieser Hinsicht werden das AMP-Steuersystem und das SMP-Steuersystem in Kombination in dieser Ausführungsform verwendet. Durch Verfolgen des AMP-Steuersystems oder Fixieren eines Kerns zum Durchführen eines Steuerprozesses für die erste Steuerprozessgruppe 210 wird ein Steuerprozess, von dem es erforderlich ist, ihn in einem festen Zyklus oder einer festen Zeitperiode durchzuführen, fest einem gewissen Kern zugewiesen. Dadurch kann die Echtzeit-Leistungsfähigkeit eines gewissen Grads für diesen Steuerprozess sichergestellt werden.
  • Derweil wird durch die Bereitstellung der zweiten Steuerprozessgruppe 220 in dieser Ausführungsform eine optimale Zuweisung, welche den Inhalt des Maschinenlernens widerspiegelt, durch getrenntes Verfolgen des SMP-Steuersystems von der Zuweisung eines Steuerprozesses in der ersten Steuerprozessgruppe 210 gemacht. Dadurch kann eine effektive Prozessverteilung optimiert werden. Mit anderen Worten ermöglicht es das Verwenden der zwei Steuersysteme in Kombination, eine Echtzeit-Leistungsfähigkeit eines gewissen Grades sicherzustellen und dann effektive Prozessverarbeitung zu optimieren.
  • <Implementierung von Steuerprozess>
  • Die Implementierung eines Steuerprozesses, der durch die erste Mehrkernsteuereinheit 232 und die zweite Mehrkernsteuereinheit 233 jedem Kern zugewiesen ist, wird als Nächstes unter Bezugnahme auf 3 beschrieben. Jeder Kern führt Steuerprozesse durch, die den Kern eine vorbestimmte Anzahl mal in unterteilten Zyklen einer vorbestimmten Menge zugewiesen sind. Wie beispielsweise durch einen Implementierungszustand T1, einen Implementierungszustand T2, einen Implementierungszustand T3 und einen Implementierungszustand T4 in 3 gezeigt, werden die Steuerprozesse viermal in unterteilen Zyklen einer vorbestimmten Länge (z.B. einige Millisekunden) durchgeführt.
  • Spezifischer werden im Implementierungszustand T1 der Basisachsen-Steuerprozess, der erweiterte Achsensteuerprozess, der Vorbereitungsprozess und der Kommunikationssteuerprozess jeweils durch ersten Kern 241 bis vierten Kern 244 durchgeführt. Wenn der Vorbereitungsprozess im dritten Kern 243 beendet ist, führt der dritte Kern 243 die Anzeigeoperation als einen nächsten Prozess durch, um einen Übergang zum Implementierungszustand T2 vorzunehmen. Wenn der Basisachsen-Steuerprozess in dem ersten Kern 241 beendet ist, führt der erste Kern 241 den Synchronsteuerprozess durch, um einen Übergang zum Implementierungszustand T3 vorzunehmen. Wenn der erweiterte Achsensteuerprozess im zweiten Kern 242 beendet ist, führt der zweite Kern 242 den Werkzeugverwaltungsprozess durch, um einen Übergang zum Implementationszustand T4 vorzunehmen. Wenn der Kommunikations-Steuerprozess im vierten Kern 244 beendet ist, führt der vierte Kern 244 den Vorrichtungsverwaltungsprozess durch, um einen Übergang zum Implementationszustand T4 vorzunehmen. Wie in diesem Beispiel gezeigt, kann jeder Steuerprozess in einem Zyklus oder über mehreren Zyklen hinweg durchgeführt werden.
  • Wie oben beschrieben, sind der dem ersten Kern 241 zuzuweisende Steuerprozess und die Reihenfolge der Durchführung jener Steuerprozesse fixiert. Derweil kann ein Steuerprozess, der jedem des ersten Kerns 242, des dritten Kerns 243 und des vierten Kerns 244 zuzuweisen ist und die Reihenfolge der Durchführung der Steuerprozesse (entsprechend einem durch gestrichelte Linien in 3 umgebenen Abschnitt) gewechselt werden.
  • Die Maschinenlernvorrichtung 100 ändert den jedem des zweiten Kerns 242, des dritten Kerns 243 und des vierten Kerns 244 zuzuweisenden Steuerprozess und die Reihenfolge der Durchführung jener Steuerprozesse (entsprechend einem Abschnitt in 3, der von durchgezogenen Linien umgeben ist), basierend auf Verhaltensinformation, wodurch der Implementierungszustand T1 bis zum Implementierungszustand T4 wiederholt erzeugt wird. Die Maschinenlernvorrichtung 100 sieht einen Zeitraum ab dem Implementationszustand T1 bis zum Implementationszustand T4 als einen Zustand an. Jedes Mal, wenn der Implementationszustand T1 bis zum Implementationszustand T4 beendet wird, aktualisiert die Maschinenlernvorrichtung 100 eine Verhaltenswertefunktion. Auf diese Weise führt die Maschinenlernvorrichtung 100 Maschinenlernen durch. Das Maschinenlernen wird im Detail unten beschrieben.
  • <Maschinenlernen>
  • Parallel zur vorstehenden Zuweisung jedes Steuerprozesses zu einem entsprechenden Kern und der vorstehenden Implementierung des Steuerprozesses durch den Kern führt die Maschinenlernvorrichtung 100 ein Maschinenlernen durch. Für dieses Maschinenlernen wird vorbestimmte Information zwischen der Maschinenlernvorrichtung 100 und dem Steuerungssimulator 200 gesendet und empfangen, wie in 2 illustriert. Spezifischer wird eine durch einen Anwender eingestellte Bearbeitungsbedingung aus dem Steuerungssimulator 200 an die Maschinenlernvorrichtung 100 ausgegeben. Die in der vorstehenden Weise durch die Überwachungseinheit 231 erzeugte Bestimmungsbedingung wird weiter aus dem Steuerungssimulator 200 an die Maschinenlernvorrichtung 100 ausgegeben. Weiter wird Verhaltensinformation aus der Maschinenlernvorrichtung 100 an den Steuerungssimulator 200 ausgegeben. Basierend auf diesen Eingaben und Ausgaben führt die Maschinenlernvorrichtung 100 ein Verstärkungslernen als einen Teil des Maschinenlernens durch.
  • Bevor jeder Funktionsblock in der Maschinenlernvorrichtung 100 beschrieben wird, wird als Nächstes ein Basismechanismus des Verstärkungslernens beschrieben. Beim Verstärkungslernen beobachtet ein Agent (entsprechend einer Maschinenlernvorrichtung 100 dieser Ausführungsform) den Zustand einer Umgebung (entsprechend dem Steuerungssimulator 200 dieser Ausführungsform) und wählt ein gewisses Verhalten aus. Basierend auf diesem Verhalten ändert sich die Umgebung. In Reaktion auf die Änderung bei der Umgebung wird eine Vergütung gegeben und führt der Agent ein Lernen durch, um ein besseres Verhalten auszuwählen (Entscheidungstreffen). Supervidiertes Lernen gibt eine perfekte Antwort. Im Gegensatz dazu wird in vielen Fällen eine Vergütung, die durch das Verstärkungslernen zu geben ist, fragmentierte Werte sein, basierend auf einer partiellen Änderung der Umgebung. Somit führt der Agent Lernen zum Auswählen eines Verhaltens durch, um so eine Gesamtvergütung, die in der Zukunft zu geben ist, zu maximieren.
  • Wie oben beschrieben, dient das Verstärkungslernen dazu, ein richtiges Verhalten unter Berücksichtigung von Interaktion zu lernen, die durch das Verhalten auf die Umgebung gegeben wird, spezifisch ein Verfahren zum Maximieren einer in der Zukunft zu gebenden Vergütung. In dieser Ausführungsform bedeutet dies die Fähigkeit zum Zuweisen jedes Prozesses zum Steuern einer Werkzeugmaschine zu einem optimalen Kern in Reaktion auf eine Bearbeitungsbedingung, welches die Fähigkeit ist, ein Verhalten zu erfassen, um die Zukunft zu beeinflussen.
  • Jegliches Lernverfahren ist für das Verstärkungslernen einsetzbar. In der nachfolgenden Beschreibung wird als ein Beispiel Q-Lernen verwendet. Das Q-Lernen ist ein Verfahren zum Erlernen eines Werts Q(s, a), zum Auswählen eines Verhaltens a in einem gewissen Zustand s der Umgebung. Das Q-Lernen soll dazu dienen, ein Verhalten mit einem höchsten Wert Q(s, a) aus machbarem Verhalten a in einem gewissen Zustand s auszuwählen.
  • Wenn das Q-Lernen zuerst gestartet wird, ist jedoch ein korrekter Wert des Wertes Q(s, a) für Kombinationen eines Zustands s und eines Verhaltens a vollständig unbekannt. Dann wählt der Agent verschiedene Verhalten a in einem gewissen Zustand s aus und wählt ein besseres Verhalten aus, basierend auf einer Vergütung, die für dieses Verhalten a zu geben ist. Auf diese Weise setzt der Agent das Erlernen korrekter Werte Q(s, a) fort.
  • Um einen Wunsch nach einem Maximieren einer Gesamtvergütung, die in der Zukunft zu geben ist, zu befriedigen, ist es ein Ziel, schließlich Q(s, a) = E[Σ(γt)rt] zu erfüllen. Hier ist E[] eine Erwartungswert, ist t Zeit, ist γ ein Parameter, der eine später beschriebene Rabattrate genannt wird, ist rt eine Vergütung zur Zeit t und ist Σ eine Gesamtsumme zur Zeit t. Ein erwarteter Wert, der aus dieser Formel ermittelt wird, ist ein Erwartungswert, der von einer Änderung eines Zustands herrührt, der durch optimales Verhalten erzeugt wird. Jedoch ist ein optimales Verhalten während des Verlaufs des Q-Lernens unbekannt. Somit werden während des Verstärkungslernens verschiedene Verhalten genommen, um ein optimales Verhalten zu finden. Eine Formel zum Aktualisieren des Wertes Q(s, a) kann durch die folgende Formel ausgedrückt werden (Formel wie [Formel 1] unten gezeigt), beispielsweise. Q ( s t + 1 , α t + 1 ) Q ( s t , α t ) + α ( r t + 1 + γ m a x a Q ( s t + 1 , α ) Q ( s t , α t ) )
    Figure DE102018209149B4_0001
  • In der vorstehenden Formel, gezeigt als [Formel 1], ist st der Zustand der Umgebung zur Zeit t, und ist at ein Verhalten zur Zeit t. Ein Zustand wird durch das Verhalten at zu st+1 verändert. Weiter ist rt+1 eine Vergütung, die durch diese Zustandsänderung gegeben wird. Ein Ausdruck mit max zeigt einen Wert, der durch Multiplizieren eines Q-Werts durch γ ermittelt wird. Dieser Q-Wert wird durch Auswählen eines Verhaltens a bestimmt, von dem bekannt ist, dass es zum höchsten Q-Wert im Zustand st+1 führt. Hier ist γ ein Parameter im Bereich von 0 < γ ≤ 1 und wird eine Rabattrate genannt. Weiter ist α ein Lernkoeffizient und liegt in einem Bereich von 0 < α ≤ 1.
  • Die vorstehende [Formel 1] zeigt ein Verfahren des Aktualisierens eines Werts Q(st, at) des Verhaltens at im Zustand st, basierend auf der Vergütung rt+1, die in Beantwortung zum Durchführen des Verhaltens at versuchsweise gegeben wird. Diese Aktualisierungsformel zeigt, dass, falls ein bester Verhaltenswert maxa Q(st+1, a), der durch das Verhalten at im nachfolgenden Zustand st+1 bestimmt ist, größer wird als ein Wert Q(st, at) , der durch das Verhalten at im Zustand st bestimmt wird, Q(st, at) erhöht wird. Umgekehrt, falls der beste Verhaltenswert maxa Q(st+1, a) kleiner als der Wert Q(st, at) ist, wird Q(st, at) verringert. Mit anderen Worten wird der Wert eines gewissen Verhaltens für einen gewissen Zustand zu einem besten Verhaltenswert approximiert, der durch dasselbe Verhalten in einem nachfolgenden Zustand bestimmt ist. Eine Differenz zwischen diesen Werten wird mittels des Bestimmens der Rabattrate γ und der Vergütung rt+1 geändert. Derweil ist der Basismechanismus so, dass ein bester Verhaltenswert in einem gewissen Zustand zu einem Verhaltenswert in einem Zustand vor dem Zustand des besten Verhaltenswerts propagiert wird.
  • Das Q-Lernverfahren kann durch ein Lernverfahren des Erzeugens einer Tabelle von Q(s, a) zu allen Paaren (s, a) von Zuständen und Verhalten durchgeführt werden. Als ein Ergebnis von zu vielen Zuständen jedoch erfordert das Ermitteln von Q(s, a)-Werten für alle Paare Q(s, a) von Zuständen und Verhalten und Konvergieren des Q-Lernens viel Zeit.
  • In dieser hinsichtlich kann eine allgemein bekannte Technik, die Tiefes Q-Netzwerk (DQN, Deep Q-Network) genannt wird, verwendet werden. Spezifischer kann der Wert Q(s, a) durch Konstruieren einer Wertefunktion Q unter Verwendung eines angemessenen neuronalen Netzwerks, Justieren der Parameter des neuronalen Netzwerkes und Approximieren der Wertefunktion Q unter Verwendung eines angemessenen neuronalen Netzwerks berechnet werden. Die Verwendung des DQN kann die zum Konvergieren des Q-Lernens erforderliche Zeit abkürzen. Das später beschriebene Nicht-Dokument beschreibt beispielsweise DQN im Detail.
  • <Nicht-Patent 1>
  • „Human-level control through deep reinforcement learning,“ Verfasst von Volodymyr Mnih, online-Suche am 1.6.2017 über Internet <URL:
    • http://files.davidqiu.com//research/nature14236.pdf>
  • Die Maschinenlernvorrichtung 100 führt das oben beschriebene Q-Lernen durch. Spezifischer beobachtet die Maschinenlernvorrichtung 100 einen Zustand als einen Umgebungszustand s, der basierend auf einer aus dem Steuerungssimulator 200 ausgegebenen Bearbeitungsbedingung und aus dem Steuerungssimulator 200 ausgegebenen Bestimmungsinformation spezifiziert wird, und wählt die Justierung eines Kerns, für welchen ein Steuerprozess zuzuweisen ist, und die Reihenfolge der Durchführung der Steuerprozesse im Umgebungszustand s als ein Verhalten a aus, wodurch der Wert Q gelernt wird. Für das Lernen des Werts Q, jedes Mal, wenn das Verhalten a durchgeführt wird, berechnet die Maschinenlernvorrichtung 100 eine Vergütung. Die Maschinenlernvorrichtung 100 findet ein optimales Verhalten a durch Versuch und Irrtum, um so beispielsweise eine Gesamtvergütung, die in der Zukunft zu geben ist, zu maximieren. Dadurch wird der Maschinenlernvorrichtung 100 gestattet, das Verhalten a optimal für den Umgebungszustand s auszuwählen.
  • Auf diese Weise erlernt die Maschinenlernvorrichtung 100 die Wertefunktion Q. Basierend auf der erlernten Wertefunktion Q wählt die Maschinenlernvorrichtung 100 ein Verhalten a zum Maximieren des Werts von Q aus Verhalten a, die auf die Zuweisung jedes Steuerprozesses zu einem Kern in einem gewissen Zustand s anzuwenden sind. Dadurch kann jeder Steuerprozess einem optimalen Kern zugewiesen werden, der responsiv auf eine Bearbeitungsbedingung ist.
  • <Funktionsblock von Maschinenlernvorrichtung 100>
  • Das Nachfolgende beschreibt unter Bezugnahme auf 4 Funktionsblöcke in der Maschinenlernvorrichtung 100, welche das vorstehende Verstärkungslernen durchführt. Wie in 4 illustriert, beinhaltet die Maschinenlernvorrichtung 100 eine Zustandsinformations-Erfassungseinheit 110, eine Lerneinheit 120, eine Verhaltensinformations-Ausgabeeinheit 130, eine Wertefunktions-Speichereinheit 140 und eine optimierte Verhaltensinformations-Ausgabeeinheit 150. Die Lerneinheit 120 beinhaltet eine Vergütungsrecheneinheit 121, eine Wertefunktions-Aktualisierungseinheit 122 und eine Verhaltensinformations-Erzeugungseinheit 123.
  • Die Zustandsinformations-Erfassungseinheit 110 erfasst Zustandsinformation s aus dem Steuerungssimulator 200, der eine Bearbeitungsbedingung enthält, die am Steuerungssimulator 200 eingestellt ist, und eine Bestimmungsinformation, die basierend auf einem Ergebnis des Überwachens durch die Überwachungseinheit 231 erzeugt wird. Die Zustandsinformation s entspricht dem Umgebungszustand beim Q-Lernen. Die Zustandsinformations-Erfassungseinheit 110 gibt die erfasste Zustandsinformation s an die Lerneinheit 120 aus.
  • Die Lerneinheit 120 ist eine Einheit, die einen Wert Q(s, a) responsiv auf die Ausfälle eines gewissen Verhaltens a in einem gewissen Umgebungszustand s lernt. Für dieses Lernen enthält der Lerneinheit 120, die Vergütungsrecheneinheit 121, die Wertefunktions-Aktualisierungseinheit 122 und die Verhaltensinformations-Erzeugungseinheit 123.
  • Die Vergütungsrecheneinheit 121 ist eine Einheit, die eine Vergütung responsiv auf die Auswahl des Verhaltens a in gewissem Zustand s berechnet. Eine Vergütung wird basierend auf einer Bestimmung, die unter Verwendung der Bestimmungsinformation in der Zustandsinformation s zu machen ist, gegeben. Jegliche Bestimmungsbedingung ist anwendbar. Als Beispiele der Bestimmungsbedingung werden Bestimmungsbedingungen von einer Bestimmungsbedingung 1 bis zu einer Bestimmungsbedingung 5 unten beschrieben.
  • Bestimmungsbedingung 1: eine Bestimmung, die auf einer Differenz beim Betriebsverhältnis zwischen Kernen basiert (beispielsweise ein Durchschnitt von Differenzen beim Betriebsverhältnis zwischen Kernen). Falls eine Differenz beim Betriebsverhältnis groß ist, wird eine Vergütung verringert. Falls eine Differenz beim Betriebsverhältnis klein ist, wird die Vergütung erhöht.
  • Bestimmungsbedingung 2: eine Bestimmung, die auf Durchsatz pro Zeiteinheit basiert (beispielsweise ein Durchschnitt von Datensätzen aller Kerne pro Einheitszeit). Falls der Durchsatz hoch ist, wird die Vergütung erhöht. Falls der Durchsatz niedrig ist, wird die Vergütung gesenkt.
  • Bestimmungsbedingung 3: eine Bestimmung, die auf den Kommunikationsumfang zwischen Kernen (beispielsweise Gesamtumfang von Kommunikation zwischen allen Kernen) basiert. Falls ein Kommunikationsumfang groß ist, wird die Vergütung gesenkt. Falls ein Kommunikationsumfang klein ist, wird die Vergütung erhöht.
  • Bestimmungsbedingung 4: eine Bestimmung, die auf Stromverbrauch oder einer Heizmenge basiert (maximaler Stromverbrauch oder maximale Heizmenge in allen Kernen beispielsweise). Falls ein Stromverbrauch oder eine Heizmenge groß ist, wird die Vergütung gesenkt. Falls der Stromverbrauch oder eine Heizmenge klein ist, wird die Vergütung erhöht.
  • Bestimmungsbedingung 5: eine Bestimmung, die auf einem Cache-Trefferverhältnis basiert (beispielsweise eine Gesamtmenge an Cache-Trefferverhältnissen aller Kerne). Falls ein Cache-Trefferverhältnis hoch ist, wird die Vergütung erhöht. Falls ein Cache-Trefferverhältnis niedrig ist, wird die Vergütung gesenkt.
  • Eine Vergütungsrecheneinheit 121 kann eine Vergütung berechnen, basierend auf einer, oder zwei oder mehr dieser Bestimmungsbedingungen. Für die Berechnung, die auf zwei oder mehr Bestimmungsbedingungen basiert, kann eine Gesamtsumme durch Kombinieren eines Anstiegs oder eines Sinkens bei Vergütungen, die basierend auf den entsprechenden Bestimmungsbedingungen berechnet werden, ermittelt werden. In diesem Fall kann eine Gesamtsumme ermittelt werden, indem eine Gewichtung zu einem Anstieg oder einem Abfall bei einer Vergütung addiert wird, welche basierend auf einer entsprechende Bestimmungsbedingung berechnet wird, und der resultierenden Anstieg oder Abfall kombiniert wird. Falls der Reduktion des Stromverbrauches Wichtigkeit eingeräumt wird, kann beispielsweise eine schwere Gewichtung einem Anstieg oder einem Abfall bei einer Vergütung gegeben werden, welche basierend auf der vorstehenden Bestimmungsbedingung 4 berechnet wird.
  • Ein Anstieg oder ein Abfall einer Vergütung, welche basierend auf einer entsprechenden Bestimmungsbedingung berechnet wird, kann angehoben oder gesenkt werden in Reaktion auf ein Ausmaß der Erfüllung dieser Bedingung. In dem Fall der vorstehenden Bestimmungsbedingung 1 kann beispielsweise der Wert eines Sinkens in einer Vergütung mit größerer Differenz beim Betriebsverhältnis erhöht werden. Weiter kann ein Wert eines Anstiegs gegenüber einer Vergütung bei kleinerer Differenz im Betriebsverhältnis erhöht werden.
  • Wie oben beschrieben, werden in dieser Ausführungsform Steuerprozesse eine vorbestimmte Anzahl von Malen in unterteilten Zyklen einer vorbestimmten Länge lang ausgeführt. Ein Durchschnitt oder ein Maximum von Bestimmungsinformationsteilen entsprechend der vorbestimmten Anzahl von Malen kann berechnet werden. Dann, indem der berechnete Wert und die Bestimmungsbedingung gegeneinander überprüft werden, kann schließlich eine Vergütung responsiv auf die Auswahl eines Verhaltens a in einem gewissen Zustand s berechnet werden. Alternativ, indem Bestimmungsinformation entsprechend jedem vorbestimmten Zyklus gegen eine Bestimmungsbedingung geprüft wird, kann ein Anstieg oder ein Abfall in einer Vergütung berechnet und gespeichert werden. Durch Kombinieren des gespeicherten Anstieg oder Abfalls in einer Vergütung entsprechend der vorbestimmten Anzahl von Malen kann schließlich eine Vergütung responsiv auf die Auswahl eines Verhaltens a in einem gewissen Zustand s berechnet werden.
  • Die Wertefunktions-Aktualisierungseinheit 122 führt das Q-Lernen basierend auf einem Zustand s, einem Verhalten a, einem Zustand s', bestimmt durch Anwenden des Verhaltens a auf den Zustand s, und dem Vergütungswert, der in der vorstehenden Weise berechnet ist, durch, wodurch die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion Q aktualisiert wird.
  • Die Wertefunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen aktualisiert werden. Online-Lernen ist ein Lernverfahren, durch welches, jedes Mal wenn ein Übergang von einem Zustand s zu einem neuen Zustand s' gemacht wird, die Wertefunktion Q unmittelbar aktualisiert wird. Batch-Lernen ist ein Lernverfahren, durch welches ein gewisses Verhalten a auf einen aktuellen Zustand s angewendet wird, um einen Übergang aus dem Zustand a zu einem neuen Zustand s' zu machen. Dieser Übergang wird wiederholt gemacht, um Lerndaten zu sammeln. Die Wertefunktion Q wird unter Verwendung aller Teile von gesammelten Lerndaten aktualisiert. Mini-Batch-Lernen ist ein unmittelbares Lernverfahren zwischen dem Online-Lernen und dem Batch-Lernen. Gemäß diesem Verfahren, jedes Mal, wenn Lerndaten eines gewissen Volumens akkumuliert werden, wird diverse Funktion Q aktualisiert.
  • Die Verhaltensinformations-Erzeugungseinheit 123 wählt das Verhalten a während des Verlaufs des Q-Lernens in einem aktuellen Zustand s zufällig aus. Während des Verlaufs des Q-Lernens, um einen Kern zu bezeichnen, um jeden Steuerprozess durchzuführen und die Reihenfolge des Durchführens jener Steuerprozesse zu ändern (entsprechend dem Verhalten a beim Q-Lernen), erzeugt die Verhaltensinformations-Erzeugungseinheit 123 Verhaltensinformation a und gibt die erzeugte Verhaltensinformation a an die Verhaltensinformations-Ausgabeeinheit 130 aus. Spezifischer ändert die Verhaltensinformations-Erzeugungseinheit 123 eine oder mehrere einer Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und der Reihenfolge der Durchführung jener Steuerprozesse in dem Verhalten a und gibt die sich ergebende Information aus.
  • Die Verhaltensinformations-Erzeugungseinheit 123 kann eine Maßnahme ergreifen, um ein Verhalten a zufällig auszuwählen. Die Verhaltensinformations-Erzeugungseinheit 123 kann auch eine Maßnahme ergreifen, ein Verhalten a durch ein bekanntes Verfahren auszuwählen, wie etwa das Geizverfahren des Auswählens eines Verhaltens a des höchsten Werts Q(s, a) aus den Werten von Verhalten a, die aktuell annehmbar sind, oder das ε-Geizverfahren des Auswählens eines Verhaltens a zufällig bei einer niedrigen Wahrscheinlichkeit ε und Auswählen eines Verhaltens a des höchsten Werts Q(s, a) in den anderen Fällen.
  • Die Verhaltensinformations-Ausgabeeinheit 130 ist eine Einheit, die die Verhaltensinformation a, die aus der Lerneinheit 120 ausgegeben wird, an die zweite Mehrkernsteuereinheit 233 des Steuerungssimulators 200 sendet. Wie oben beschrieben, korrigiert basierend auf dieser Verhaltensinformation a die zweite Mehrkernsteuereinheit 233 einen aktuellen Zustand s, spezifisch die Bezeichnung eines Kerns zum Durchführen jedes aktuell zugewiesenen Steuerprozesses und der Reihenfolge des Durchführens jener Steuerprozesse, wodurch ein Übergang zu einem nächsten Zustand s' vorgenommen wird (spezifisch korrigierte Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und korrigierte Reihenfolge des Durchführens jener Steuerprozesse).
  • Die Wertefunktions-Speichereinheit 140 ist eine Speichervorrichtung, welche die Wertefunktion Q speichert. Die Wertefunktion Q kann für jeden Zustand s oder jedes Verhalten a in einer Tabelle gespeichert werden. Die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion Q wird durch die Wertefunktions-Aktualisierungseinheit 122 aktualisiert. Die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion Q kann mit einer anderen Maschinenlernvorrichtung 100 geteilt werden. Das Teilen der Wertefunktion Q zwischen mehreren Maschinenlernvorrichtungen 100 gestattet die Implementierung von Verstärkungslernen in einer verteilten Weise in jeder Maschinenlernvorrichtung 100. Somit kann die Effizienz des Verstärkungslernens vergrößert werden.
  • Basierend auf Wertefunktion Q, welche durch Implementieren des Q-Lernens durch die Wertefunktions-Aktualisierungseinheit 122 aktualisiert wird, erzeugt die optimierte Verhaltensinformations-Ausgabeeinheit 150 Verhaltensinformation a (nachfolgend „optimierte Verhaltensinformation“ genannt), welche die Bezeichnung eines Kerns enthält, um jeden Steuerprozess durchzuführen, und die Reihenfolge des Durchführens jener Steuerprozesse, um den Wert Q(s, a) zu maximieren.
  • Spezifischer erfasst die optimierte Verhaltensinformations-Ausgabeeinheit 150 die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion. Wie oben beschrieben, resultiert diese Wertefunktion Q aus einer Aktualisierung durch Implementieren des Q-Lernens durch die Wertefunktions-Aktualisierungseinheit 122. Dann, basierend auf der Wertefunktion Q und einer an der Steuerung 300 eingestellten Bearbeitungsbedingung, erzeugt die optimierte Verhaltensinformations-Ausgabeeinheit 150 optimierte Verhaltensinformation und gibt die erzeugte optimierte Verhaltensinformation an die Steuerung 300 aus. Die durch die Verhaltensinformations-Ausgabeeinheit 130 während des Verlaufs des Q-Lernens ausgegebene Verhaltensinformation enthält diese optimierte Verhaltensinformation einen Kern zum Durchführen jedes Steuerprozesses und die Reihenfolge des Durchführens jener Steuerprozesse.
  • Basierend auf dieser optimierten Verhaltensinformation korrigiert die Steuerung 300 die Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und die Reihenfolge des Durchführens jener Steuerprozesse. Wie oben beschrieben, indem die Maschinenlernvorrichtung 100 verwendet wird, kann die Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und die Reihenfolge des Durchführens jener Steuerprozesse in der Steuerung 300 optimiert werden.
  • <Funktionsblock von Steuerung 300>
  • Der Funktionsblock 300 wird als Nächstes unter Bezugnahme auf 5 beschrieben. Der Steuerungssimulator 200, die oben beschrieben ist, ist ein Simulator, in welchem die Funktion der Steuerung 300 virtuell dupliziert wird. Somit weist die Steuerung 300 eine zum Steuerungssimulator 200 vergleichbare Funktion auf. Mit anderen Worten kann die Funktion der Steuerung 300 verstanden werden, indem die Beschreibung jedes in der vorstehenden Beschreibung des Steuerungssimulators 200 gegebenen Funktionsblocks auf einen Funktionsblock mit demselben Namen in der Steuerung 300 angewendet wird. Somit wird eine überlappende Beschreibung in diesem Abschnitt nicht gegeben. Eine der an dem Steuerungssimulator 200 eingestellte Bearbeitungsbedingung vergleichbare Bearbeitungsbedingung wird an der Steuerung 300 eingestellt. Die Details der Bearbeitungsbedingung sind in der vorstehenden Beschreibung des Steuerungssimulators 200 gegeben worden. Somit wird eine überlappende Beschreibung in dem Abschnitt nicht gegeben.
  • Derweil unterscheidet sich in dieser Ausführungsform die Steuerung 300 von dem Steuerungssimulator 200 darin, dass die Steuerung 300 kein Ziel des Maschinenlernens in der Lernphase ist, sondern ein Steuerziel in der Laufphase ist. Somit ist es, wie in 5 illustriert, nicht erforderlich, dass die Überwachungseinheit 331 der Steuerung 300 Bestimmungsinformation an die Maschinenlernvorrichtung 100 ausgibt. Zusätzlich ist aus der Maschinenlernvorrichtung 100 auszugebende Information nicht Verhaltensinformation, welche durch Versuch und Irrtum während des Maschinenlernens auszugeben ist, sondern optimierte Verhaltensinformation, die basierend auf einem Ergebnis des Maschinenlernens auszugeben ist.
  • Die Funktionsblöcke in der Maschinenlernvorrichtung 100, jene in dem Steuerungssimulator 200 und jene in der Steuerung 300 sind oben beschrieben worden. Um diese Funktionsblöcke zu erfüllen, beinhaltet jede der Maschinenlernvorrichtung 100, des Steuerungssimulators 200 und der Steuerung 300 einen Arithmetikprozessor wie etwa eine CPU. Jede der Maschinenlernvorrichtungen 100, des Steuerungssimulators 200 und der Steuerung 300 enthält weiter eine Hilfsspeichervorrichtung wie ein Festplattenlaufwerk (HDD) zum Speichern verschiedener Steuerprogramme wie etwa Applikations-Software und eines BS und einer Hauptspeichervorrichtung, wie etwa einen Wahlfreizugriffsspeicher (RAM) zum Speichern von Daten, die temporär benötigt werden, wenn der Arithmetikprozessor ein Programm ausführt.
  • In jeder der Maschinenlernvorrichtungen 100, des Steuerungssimulators 200 und der Steuerung 300 liest der Arithmetikprozessor die Applikations-Software und das BS aus der Hilfsspeichervorrichtung ein und expandiert die gelesene Applikations-Software und das BS in die Hauptspeichervorrichtung, um die arithmetische Verarbeitung basierend auf der expandierten Applikations-Software und dem BS durchzuführen. Der Arithmetikprozessor steuert auch verschiedene Typen von Hardware, die in jeder Vorrichtung vorgesehen sind, basierend auf einem Ergebnis der arithmetischen Verarbeitung. Als Ergebnis werden die Funktionsblöcke dieser Ausführungsform verwirklicht. Mit anderen Worten kann diese Ausführungsform durch Hardware und Software, die kooperativ zusammenarbeiten, verwirklicht werden. Ein Programm zum Verwirklichen dieser Ausführungsform kann unter Verwendung verschiedener Typen nicht transitorischer computerlesbarer Medien gespeichert werden und kann einem Computer zugeführt werden. Die nicht transitorischen computerlesbaren Medien beinhalten verschiedene Typen von anfassbaren Speichermedien.
  • Die Maschinenlernvorrichtung 100 dient dazu, eine große Menge an Arithmetik-Verarbeitung, die mit dem Maschinenlernen einhergeht, zu handhaben. In dieser Hinsicht kann das Montieren von Graphik-Verarbeitungseinheiten (GPUs) in einem persönlichen Computer und Verwenden der GPUs für arithmetische Verarbeitung einhergehend mit dem Maschinenlernen unter Verwendung einer Technik, die Universaleinsatzberechnung auf graphischen Verarbeitungseinheiten (GPGPUs) genannt wird, ein bevorzugter Weg zum Erzielen einer Hochgeschwindigkeits-Verarbeitung sein. Zusätzlich kann für Höhergeschwindigkeits-Verarbeitung ein Computercluster unter Verwendung von mehreren Computern mit diesen CPUs aufgebaut werden und kann eine Parallelverarbeitung an mehreren Computern in diesem Computercluster durchgeführt werden.
  • <Betrieb in dieser Ausführungsform>
  • Das Nachfolgende beschreibt den Betrieb der Maschinenlernvorrichtung 100 dieser Ausführungsform, wenn die Maschinenlernvorrichtung 100 das Q-Lernen durchführt, unter Bezugnahme auf das Flussdiagramm in 6.
  • In Schritt S11 erfasst die Zustandsinformations-Erfassungseinheit 110 Zustandsinformation s aus dem Steuerungssimulator 200. Die erfasste Zustandsinformation wird an die Wertefunktions-Aktualisierungseinheit 122 und die Verhaltensinformations-Erzeugungseinheit 123 ausgegeben. Wie oben beschrieben, entspricht die Zustandsinformation s dem Umgebungszustand beim Q-Lernen und enthält eine Bearbeitungsbedingung, die am Steuerungssimulator 200 eingestellt ist, und Bestimmungsinformation, die basierend auf einem Ergebnis des Überwachens durch die Überwachungseinheit 231 zum Zeitpunkt des Schrittes S11 erzeugt wird.
  • Im Schritt S12 erzeugt die Verhaltensinformations-Erzeugungseinheit 123 eine neue Verhaltensinformation a und gibt die erzeugte neue Verhaltensinformation a über die Verhaltensinformations-Ausgabeeinheit 130 an die zweite Mehrkernsteuereinheit 233 des Steuerungssimulators 200 aus. Die Verhaltensinformations-Erzeugungseinheit 123 gibt die neue Verhaltensinformation a durch Ergreifen der folgenden Maßnahme aus. Nachdem die zweite Mehrkernsteuereinheit 233 die Verhaltensinformation a empfängt, bringt die zweite Mehrkernsteuereinheit 233 jeden Kern dazu, einen Steuerprozess durchzuführen, durch Verfolgen der Bennenung eines Kerns zum Durchführen jedes Steuerprozesses in einem aktuellen Zustand s und einem Zustand s', in welchem die Reihenfolge der Durchführung jener Steuerprozesse basierend auf der empfangenen Verhaltensinformation korrigiert wird. Wie oben beschrieben, entspricht diese Verhaltensinformation dem Verhalten a beim Q-Lernen.
  • In Schritt S13 erfasst die Zustandsinformations-Erfassungseinheit 110 Zustandsinformation s' im neuen Zustand s' aus dem Steuerungssimulator 200. In dieser Ausführungsform wird eine am Steuerungssimulator 200 eingestellte Bearbeitungsbedingung während des Verlaufs des Verstärkungslernens nicht verändert. Mit anderen Worten verbleibt die Bearbeitungsbedingung im Schritt S11 und Schritt S13 die gleiche. Somit, solange wie die Zustandsinformation s' eine Bestimmungsinformation enthält, die basierend auf einem Ergebnis des Überwachens der Überwachungseinheit 231 erzeugt wird, kann eine Bearbeitungsbedingung aus der Zustandsinformation s' weggelassen werden. In diesem Fall kann die Zustandsinformations-Erfassungseinheit 110 die bereits im Schritt S11 erfasste Bearbeitungsbedingung zur Zustandsinformation s' hinzufügen. Die erfasste Zustandsinformation s' wird an die Vergütungsrecheneinheit 121 ausgegeben.
  • Im Schritt S14 macht die Vergütungsrecheneinheit 121 eine Bestimmung basierend auf der Bestimmungsinformation in der Zustandsinformation s'. Die Vergütungsrecheneinheit 121 macht die Bestimmung durch das in dem Abschnitt mit dem Titel „Funktionsblock von Maschinenlernvorrichtung 100“ beschriebenen vorstehenden Verfahren.
  • Im Schritt S15 wird bestimmt, ob eine Vergütung schlussendlich einen positiven Wert, einen negativen Wert oder Null annimmt, als Ergebnis der Bestimmung, die gemacht wird basierend auf jeder Bestimmungsbedingung im Schritt S14, dass die Vergütung zu erhöhen oder zu senken ist.
  • Falls die Vergütung einen positiven Wert annimmt, wird eine Bestimmung „positiver Wert“ im Schritt S15 gemacht. Dann schreitet die Verarbeitung zu Schritt S16 fort. Im Schritt S16 wird der positive Wert als die Vergütung an die Wertefunktions-Aktualisierungseinheit 122 ausgegeben. Falls die Vergütung Null annimmt, wird eine Bestimmung „Null“ im Schritt S15 vorgenommen. Dann schreitet die Verarbeitung zu Schritt S17 fort. Im Schritt S17 wird Null als die Vergütung an die Wertefunktions-Aktualisierungseinheit 122 ausgegeben. Falls die Vergütung einen negativen Wert annimmt, wird im Schritt S15 eine Bestimmung „negativer Wert“ vorgenommen. Dann schreitet die Verarbeitung zu Schritt S18. Im Schritt S18 wird der negative Wert als die Vergütung an die Wertefunktions-Aktualisierungseinheit 122 ausgegeben. Falls einer von Schritt S16, Schritt S17 und Schritt S18 beendet wird, schreitet die Verarbeitung zu Schritt S19 fort.
  • Im Schritt S19, basierend auf dem aus einem von Schritt S16, Schritt S17 und Schritt S18 ausgegebenen Vergütungswert, aktualisiert die Wertefunktions-Aktualisierungseinheit 122 die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion Q. Während die Aktualisierung im Schritt S19 als eine Online-Aktualisierung beschrieben wird, kann diese Online-Aktualisierung durch eine Batch-Aktualisierung oder eine Mini-Batch-Aktualisierung ersetzt werden.
  • Im Schritt S20 bestimmt die Lerneinheit 120, ob eine Bedingung zum Beenden des Verstärkungslernens erfüllt worden ist oder nicht. Das Verstärkungslernen ist beispielsweise unter der Bedingung zu beenden, dass die vorstehenden Prozesse eine vorbestimmte Anzahl von Malen wiederholt worden sind oder einen vorbestimmten Zeitraum lang wiederholt worden sind. Falls die Bedingung zum Beenden des Verstärkungslernens nicht erfüllt worden ist, wird die Bestimmung, die im Schritt S20 vorgenommen wird, Nein. Dann kehrt die Verarbeitung zu Schritt S11 zurück. Dann werden die vorstehenden Prozesse wiederholt, um die Wertefunktion Q auf einen angemessenen Wert zu konvergieren. Falls die Bedingung zum Beenden des Verstärkungslernens erfüllt worden ist, ist die Bestimmung, die im Schritt S20 gemacht wird, Ja. Dann wird die Verarbeitung beendet.
  • Als Ergebnis des oben beschriebenen Betriebs durch Bezugnahme auf 6 kann eine Wertefunktion zum Optimieren der Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und die Reihenfolge der Durchführung jener Steuerprozesse in jeder Ausführungsform durch die Verwendung der Maschinenlernvorrichtung 100 erhalten werden.
  • Das Nachfolgende beschreibt die Operation der optimierten Verhaltensinformations-Ausgabeeinheit 150, wenn die optimierte Verhaltensinformations-Ausgabeeinheit 150 optimierte Verhaltensinformation erzeugt, unter Bezugnahme auf das Flussdiagramm von 7. Zuerst erfasst im Schritt S31 die Zustandsinformations-Erfassungseinheit 110 Zustandsinformation s aus der Steuerung 300.
  • Im Schritt S32 erfasst die optimierte Verhaltensinformations-Ausgabeeinheit 150 die in der Wertefunktions-Speichereinheit 140 gespeicherte Wertefunktion Q. Wie oben beschrieben, resultiert diese Wertefunktion Q aus einer Aktualisierung durch Implementieren des Q-Lernens durch die Wertefunktions-Aktualisierungseinheit 122.
  • Im Schritt S33 erzeugt die optimierte Verhaltensinformations-Ausgabeeinheit 150 eine optimierte Verhaltensinformation, basierend auf einer Bearbeitungsbedingung in der Zustandsinformation s, die im Schritt S31 ermittelt wird und der im Schritt S32 gespeicherten Wertefunktion Q. Dann gibt die optimierte Verhaltensinformations-Ausgabeeinheit 150 die erzeugte optimierte Verhaltensinformation an die MehrkernSteuereinheit 333 der Steuerung 300 aus. Diese optimierte Verhaltensinformation ist Information zum Optimieren der Bezeichnung eines Kerns zum Durchführen jedes Steuerprozesses und der Reihenfolge der Durchführung jener Steuerprozesse.
  • Basierend auf dieser optimierten Verhaltensinformation optimiert die Steuerung 300 die Benennung eines Kerns zum Durchführen jedes Steuerprozesses und die Reihenfolge des Durchführens jener Steuerprozesse. Wie oben beschrieben, gestattet die Verwendung der Maschinenlernvorrichtung 100 dieser Ausführungsform effektive Verteilung von Prozessen, die in einer Vorrichtung mit mehreren Betriebseinheiten durchzuführen sind.
  • <Applikation von optimierter Verhaltensinformation>
  • Das Nachfolgende beschreibt einen Zustand in der Steuerung 300 unter Bezugnahme auf 8, wo die Benennung eines Kerns zum Durchführen jedes Steuerprozesses und die Reihenfolge des Optimierens jener Steuerprozesse optimiert werden, basierend auf optimierter Verhaltensinformation. Diese Beschreibung schreitet fort, basierend auf der Annahme, dass die Steuerung 300 einen Übergang zwischen einem Zustand in einer Bearbeitungsbedingung S1, einem Zustand in einer Bearbeitungsbedingung S2 und einem Zustand in einer Bearbeitungsbedingung S3 wiederholt vornimmt. Die Steuerung 300 gibt Zustandsinformation s, die eine Bearbeitungsbedingung Sn enthält, an der Maschinenlernvorrichtung 100 ein. In Reaktion auf diese Eingabe stellt die Maschinenlernvorrichtung 100 der Steuerung 300 Verhaltensinformation bereit, die die Zuweisung eines optimalen Kerns unter der Bearbeitungsbedingung Sn bereitstellt. In der Illustration von 8 stellt die Steuerung 300 Verhaltensausgaben wie folgt unter der Bearbeitungsbedingung sn in einem Implementationszustand Tn bereit.
  • <Bearbeitungsbedingung S1>
  • Implementationszustand T1: Implementierung von präparatorischem Prozess in einem zweiten Kern 342, der erweiterten Achsensteuerung in einem dritten Kern 343 und dem Anzeigebetrieb in einem vierten Kern 344.
  • Implementationszustand T2: Implementierung des Vorbereitungsprozesses im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und des Anzeigebetriebs im vierten Kern 344.
  • Implementationszustand T3: Implementierung des Vorbereitungsprozesses im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und der Werkzeugverwaltung im vierten Kern 344.
  • Implementationszustand T4: Implementierung des Vorbereitungsprozesses im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und der Vorrichtungsverwaltung im vierten Kern 344.
  • <Bearbeitungsbedingung S2>
  • Implementationszustand T1: Implementierung des VorbereitungsProzesses im zweiten Kern 342, der erweiterten Achsensteuerung im dritten Kern 343 und des Anzeigebetriebs im vierten Kern 344.
  • Implementationszustand T2: Implementierung von Vorbereitungsprozess im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343, und der Anzeigeoperation im vierten Kern 344.
  • Implementationszustand T3: Implementierung des Vorbereitungsprozesses im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und der Werkzeugverwaltung im vierten Kern 344.
  • Implementationszustand T4: Implementierung der Vorrichtungsverwaltung im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und der Werkzeugverwaltung im vierten Kern 344.
  • <Bearbeitungsbedingung S3>
  • Implementationszustand T1: Implementierung der erweiterten Achsensteuerung im zweiten Kern 342, der Kommunikationssteuerung im dritten Kern 343 und des Vorbereitungsprozesses im vierten Kern 344.
  • Implementationszustand T2: Implementierung der erweiterten Achsensteuerung im zweiten Kern 342, der Vorrichtungsverwaltung im dritten Kern 343 und des Vorbereitungsprozesses im vierten Kern 344.
  • Implementationszustand T3: Implementierung der erweiterten Achsensteuerung im zweiten Kern 342, der Vorrichtungsverwaltung im dritten Kern 343 und der Werkzeugverwaltung im vierten Kern 344.
  • Implementationszustand T4: Implementierung des Anzeigebetriebs im zweiten Kern 342, der Vorrichtungsverwaltung im dritten Kern 343 und der Werkzeugverwaltung im vierten Kern 344.
  • Wie oben beschrieben, können in dieser Ausführungsform die Zuweisung jedes Kerns zum Durchführen eines Steuerprozesses und die Reihenfolge der Durchführung jener Steuerprozesse in Reaktion auf jede von mehreren Bearbeitungsbedingungen optimiert werden.
  • <Durch diese Ausführungsform erzielte Effekte>
  • Durch diese Ausführungsform erzielte Effekte werden im Detail beschrieben. Die Kontrolle über eine Werkzeugmaschine durch eine Steuerung schreitet unter der Bedienung fort, dass eine Zielachse, die in Echtzeit zu steuern ist, oder die Priorität eines durchzuführenden Prozesses beachtlich durch eine Bearbeitungsbedingung wie etwa beispielsweise eine Parametereinstellung, einen Betriebsmuster und ein Bearbeitungsprogramm für den Betrieb geändert wird. Anders als eine Steuerung durch eine Universalzweck-Anwendung ist dies ein Merkmal, das für die Kontrolle über die Werkzeugmaschine charakteristisch ist.
  • Zusätzlich beinhaltet die Steuerung über eine Werkzeugmaschine nicht nur Steuerung über Achsen, sondern auch Kontrolle über Funktionen, die parallel ausgeübt werden sollen, wie etwa Kontrolle über eine Kommunikationsfunktion, eine Anzeigefunktion und eine Signal-Eingabe-/Ausgabe-Funktion. Daher kann eine Kommunikation zwischen mehreren Betriebseinheiten und Steuerung, die mit der Kommunikation einhergeht (exklusive beispielsweise der Kontrolle über denselben Speicher) häufig auftreten. Somit verursacht das einfache Bereitstellen einer gleichförmigen Last das Risiko einer Verminderung bei der Leistungsfähigkeit. Beispielsweise ist es schwierig gewesen, diese Probleme durch übliche Techniken wie etwa jene zu lösen, die in Patentdokumenten 1 bis 5 offenbart sind.
  • Im Gegensatz dazu wird in dieser Ausführungsform das Maschinenlernen zum Bestimmen eines Kerns eingesetzt, der zum Durchführen eines Steuerprozesses optimal ist, was es ermöglicht, ein optimales Prozessverteilungsmuster zu etablieren, das responsiv ist auf eine Bearbeitungsbedingung. Somit erzielt diese Ausführungsform beispielsweise die nachfolgenden Effekte. Zuerst kann ein gleichförmiger Betriebszustand ohne Verschwendung hergestellt werden, indem die Differenz beim Betriebsverhältnis zwischen Kernen reduziert wird. Weiter kann der Durchsatz des Systems insgesamt verbessert werden, indem das Kommunikationsvolumen zwischen Kernen reduziert wird und der Durchsatz pro Einheitszeit vergrößert wird. Zusätzlich kann eine Energiesparoperation durchgeführt werden, indem der Stromverbrauch oder eine Heizmenge reduziert wird, und kann ein Ausfall, der durch die Wärmeerzeugung verursacht wird, vermieden werden. Auf diese Weisen ist diese Ausführungsform in der Lage, vorteilhaftere Effekte zu erzielen als das, was konventioneller Weise erzeugt worden ist.
  • <Erste Modifikation>
  • In der oben beschriebenen Ausführungsform stellt für das Maschinenlernen durch die Maschinenlernvorrichtung 100 ein Anwender eine Bearbeitungsbedingung als ein Ziel des Verstärkungslernens am Steuerungssimulator 200 ein. Jedoch, falls es viel Überarbeitungsbedingungen gibt, von denen beabsichtigt wird, dass sie als Ziele des Verstärkungslernens verwendet werden, ist das Eingeben von Bearbeitungsbedingungen nacheinander eine komplizierte Arbeit für den Anwender.
  • In dieser Hinsicht, um das Verstärkungslernen automatisch unter Verwendung von mehr Bearbeitungsbedingungen als Zielen durchzuführen, wird eine Bearbeitungsbedingungs-Erzeugungseinheit, die eine Bearbeitungsbedingung in der Lernphase erzeugt, indem verschiedene Zustände einer Steuerung berücksichtigt werden, in dieser Modifikation hinzugefügt.
  • Die Konfiguration dieser Modifikation wird unter Bezugnahme auf 9 beschrieben. Wie in 9 illustriert, ist in dieser Modifikation eine Bearbeitungsbedingungs-Erzeugungseinheit 500 mit dem Steuerungssimulator 200 in der Lernphase verbunden. Die Bearbeitungsbedingungs-Erzeugungseinheit 500 kann als eine unabhängige Vorrichtung oder als ein Funktionsblock in der Maschinenlernvorrichtung 100 ausgefüllt sein.
  • Verschiedene Typen von Information zum Erzeugen einer Bearbeitungsbedingung werden an der Bearbeitungsbedingungs-Erzeugungseinheit 500 eingegeben. Wie in 9 illustriert, beinhaltet ein Beispiel der einzugebenden Information eine Parametergruppe, die mehrere Parameter-Einstellungen enthält, eine Betriebsmodusgruppe, die mehrere Betriebsmodi enthält und eine Bearbeitungsprogrammgruppe, die mehrere Bearbeitungsprogramme enthält.
  • Die Bearbeitungsbedingungs-Erzeugungseinheit 500 erzeugt eine Bearbeitungsbedingung automatisch durch Ändern des Inhalts einer Parametereinstellung, derjenigen eines Betriebsmodus, derjenigen eines Bearbeitungsprogramms und einer Kombination derselben, die in diesen Teilen von Information enthalten ist. Die Bearbeitungsbedingung, welche durch die Bearbeitungsbedingungs-Erzeugungseinheit 500 erzeugt wird, wird am Steuerungssimulator 200 eingestellt und dann wird der Steuerungssimulator 200 betrieben, wodurch das Verstärkungslernen unter der erzeugten Bearbeitungsbedingung durchgeführt wird. Dies gestattet die Implementation von Verstärkungslernen unter verschiedenen Bearbeitungsbedingungen, weil die Last auf den Anwender reduziert wird.
  • Falls der Inhalt einer Parametereinstellung, derjenige eines Betriebsmodus oder derjenige eines Bearbeitungsprogramms komplett zufällig kombiniert werden, kann das Verstärkungslernen nur unter Bearbeitungsbedingungen durchgeführt werden, die realistisch nicht verwendet würden. In dieser Hinsicht können ein, oder zwei oder mehr durch einen Anwender erzeugte realistische Bearbeitungsbedingungen an der Bearbeitungsbedingungs-Erzeugungseinheit 500 eingegeben werden. Die Bearbeitungsbedingungs-Erzeugungseinheit 500 erzeugt eine Bearbeitungsbedingung durch Ändern eines Teils einer solchen realistischen Bearbeitungsbedingung. Dadurch kann nur eine realistische Bearbeitungsbedingung und eine Bearbeitungsbedingung ähnlich der realistischen Bearbeitungsbedingung für das Verstärkungslernen verwendet werden.
  • <Zweite Ausführungsform>
  • Falls eine Zustandsinformation s, die eine unbekannte Bearbeitungsbedingung enthält, die nicht als ein Ziel des Verstärkungslernens verwendet worden ist, in der Laufphase eingegeben wird, wird es unmöglich, für diese unbekannte Bearbeitungsbedingung optimierte Verhaltensinformation auszugeben.
  • In dieser Hinsicht wird in dieser Modifikation, falls Zustandsinformation s, die eine unbekannte Bearbeitungsbedingung enthält, eingegeben wird, die unbekannte Bearbeitungsbedingung zu einer bekannten Bearbeitungsbedingung, welche am nächsten an der unbekannten Bearbeitungsbedingung ist, und als ein Ziel des Verstärkungslernens verwendet worden ist, geändert. Die bekannte Bearbeitungsbedingung ist als ein Ziel des Verstärkungslernens verwendet worden. Somit kann optimierte Verhaltensinformation für diese bekannte Bearbeitungsbedingung ausgegeben werden.
  • Die Konfiguration dieser Modifikation wird bezugnehmend auf 10 beschrieben. Wie in 10 illustriert, ist in dieser Modifikation eine Bearbeitungsbedingungs-Änderungseinheit 600 mit einem Steuerungssimulator 200 in der Laufphase verbunden. Die Bearbeitungsbedingungs-Änderungseinheit 600 kann als eine unabhängige Vorrichtung oder als ein Funktionsblock in der Maschinenlernvorrichtung 100 verwirklicht sein.
  • Falls die eine unbekannte Bearbeitungsbedingung enthaltende Zustandsinformation s (beispielsweise Bearbeitungsbedingung Sa) an der Maschinenlernvorrichtung 100 eingegeben wird, teilt die Maschinenlernvorrichtung 100 der Bearbeitungsbedingungs-Änderungseinheit 600 einen Fehler mit, der den Inhalt der Bearbeitungsbedingung enthält. In Reaktion auf den Empfang dieser Mitteilung gibt die Bearbeitungsbedingungs-Änderungseinheit 600 eine bekannte Bearbeitungsbedingung (beispielsweise Bearbeitungsbedingung Sb) am nächsten an der unbekannten Bearbeitungsbedingung (beispielsweise der Bearbeitungsbedingung Sa), die als ein Ziel des Verstärkungslernens verwendet worden ist, an die Maschinenlernvorrichtung 100 aus. Die Bearbeitungsbedingungs-Änderungseinheit 600 wählt eine Bearbeitungsbedingung am nächsten an einer unbekannten Bearbeitungsbedingung aus bekannten Bearbeitungsbedingungen durch ein unten unter Bezugnahme auf 11 beschriebenes Verfahren aus.
  • In einem in 11 illustrierten spezifischen Beispiel wird eine Bearbeitungsbedingung am nächsten an einer unbekannten Bearbeitungsbedingung Sa aus einer bekannten Bearbeitungsbedingung Sb, einer bekannte Bearbeitungsbedingung Sc und einer bekannten Bearbeitungsbedingung Sd ausgewählt. Wie oben beschrieben, enthält eine Bearbeitungsbedingung verschiedene Typen von Information. Solche verschiedenen Typen von Information beinhalten einen Betriebsmodus, ein Bearbeitungsprogramm und einen Betriebsstatus von Kernen und diese Arten von Informationen passen wünschenswerter Weise zu entsprechenden Typen von Informationen in der Bearbeitungsbedingung Sa. Somit wird die Bearbeitungsbedingung Sc, die sich von der unbekannten Bearbeitungsbedingung Sa im Hinblick auf den Betriebsstatus von Kernen unterscheidet, als ein Kandidat zur Auswahl ausgeschlossen.
  • Als Nächstes werden die Bearbeitungsbedingungen mit jedem Element einer Parametereinstellung verglichen. Dann wird die Bearbeitungsbedingung Sb mit einer größten Anzahl von Punkten, die zu den Punkten in der unbekannten Bearbeitungsbedingung Sa passen, als eine Bearbeitungsbedingung am nächsten an der Bearbeitungsbedingung Sa angesehen. Ein als Information für den Vergleich verwendeter Punkt kann beispielsweise frei in Reaktion auf Einstellung durch einen Anwender ausgewählt werden.
  • Die Auswahl kann durch Gewichten jedes Punktes vorgenommen werden, anstatt eine Auswahl basierend auf nur der Anzahl von passenden Punkten vorzunehmen. Beispielsweise kann die Gewichtung so eingestellt sein, dass es fünf Punkte gibt, falls es eine Passung einer Anzahl von gesteuerten Achsen gibt, drei Punkte, falls es eine Steuerung bei der Anzahl von Spindeln gibt, etc.. Eine ähnliche Bearbeitungsbedingung kann basierend auf der Summe der Punkte bestimmt werden.
  • Weiter zeigt eine CPU-Last allgemein ähnliche Tendenzen, wenn es eine nähere Passung an der Anzahl von gesteuerten Achsen, einer gültigen Funktion oder einer ungültigen Funktion gibt.
  • Somit können diese Parametereinstellungen als Ziele des Vergleichs verwendet werden oder ihnen schwerere Gewichte gegeben werden.
  • Falls es keine Passung bei einem Betriebsmodus, einem Bearbeitungsprogramm und dem Betriebsstatus von Kernen gibt, oder falls es beispielsweise nicht viele passende Parametereinstellelemente gibt, kann bestimmt werden, dass es keine ähnliche Bearbeitungsbedingung gibt. In diesem Fall kann einem Anwender die Wahl gelassen werden, einer Steuerung ohne Verwendung der Maschinenlernvorrichtung 100 auszuüben.
  • <Dritte Modifikation>
  • In der oben beschriebenen Ausführungsform sind die Maschinenlernvorrichtung 100, der Steuerungssimulator 200 und die Steuerung 300 unter Verwendung getrennter Vorrichtungen aufgebaut. Alternativ können einige oder alle Funktionen dieser getrennten Vorrichtungen durch eine Vorrichtung erfüllt werden.
  • Ein Teil oder alle der Funktionen der Maschinenlernvorrichtung 100, des Steuerungssimulators 200 und derjenigen der Steuerung 300 können durch mehrere Vorrichtungen erfüllt werden. In diesem Fall kann ein verteiltes Verarbeitungssystem anwendbar sein, in welchem die entsprechenden Funktionen der Maschinenlernvorrichtung 100, des Steuerungssimulators 200 und der Steuerung 300 angemessen in mehreren Servern verteilt sind. Alternativ kann eine virtuelle Serverfunktion etc. in der Cloud verwendet werden.
  • Bezugszeichenliste
  • 1
    Maschinenlernsystem
    100
    Maschinenlernvorrichtung
    110
    Zustandsinformations-Erfassungseinheit
    120
    Lerneinheit
    121
    Vergütungsrecheneinheit
    122
    Wertefunktions-Aktualisierungseinheit
    123
    Verhaltensinformations-Erzeugungseinheit
    130
    Verhaltensinformations-Ausgabeeinheit
    140
    Wertefunktions-Speichereinheit
    150
    Optimierte Verhaltensinformations-Ausgabeeinheit
    200
    Steuerungssimulator
    210, 310
    Erste Steuerprozessgruppe
    220, 320
    Zweite Steuerprozessgruppe
    230, 330
    Betriebssystem
    231, 331
    Überwachungseinheit
    232, 332
    Erste Mehrkernsteuereinheit
    233, 333
    Zweite Mehrkernsteuereinheit
    240, 340
    Prozessor
    241, 341
    Erster Kern
    242, 342
    Zweiter Kern
    243, 343
    Dritter Kern
    244, 344
    Vierter Kern
    300
    Steuerung
    400
    Werkzeugmaschine
    500
    Bearbeitungsbedingungs-Erzeugungseinheit
    600
    Bearbeitungsbedingungs-Änderungseinheit

Claims (9)

  1. Maschinenlernvorrichtung (100), die ein Verstärkungslernen an einer Steuerung (200) durchführt, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten (241, 242, 243, 244) durchführt, wobei die Maschinenlernvorrichtung (100) umfasst: ein Verhaltensinformations-Ausgabemittel (130), das Verhaltensinformation, welche die Zuweisung von Arithmetikeinheiten, die die mehreren Prozesse durchführen, enthält, an die Steuerung ausgibt; ein Zustandsformations-Erfassungsmittel (110), das Zustandsinformation erfasst, die eine Bearbeitungsbedingung enthält, als eine Bedingung zur Bearbeitung, die an der Werkzeugmaschine eingestellt ist, und Bestimmungsinformation, die durch überwachen der Implementierung der mehreren Prozesse durch die mehreren Operationseinheiten (241, 242, 243, 244) erzeugt wird, basierend auf der Zuweisung in der Verhaltensinformation; ein Vergütungsrechenmittel (121), das den Wert einer Vergütung berechnet, die zu erteilen ist, durch das Verstärkungslernen, basierend auf der Bestimmungsinformation in der Zustandsinformation; und ein Wertefunktions-Aktualisierungsmittel (122), das eine Verhaltenswertfunktion basierend auf dem Vergütungswert, der Zustandsinformation und der Verhaltensinformation aktualisiert.
  2. Maschinenlernvorrichtung (100) gemäß Anspruch 1, wobei die mehreren Operationseinheiten (241, 242, 243, 244) die mehreren Prozesse eine vorbestimmte Anzahl mal in vorbestimmten unterteilten Zyklen durchführen, das Wertefunktions-Aktualisierungsmittel (122) die Verhaltenswertefunktion jedes Mal aktualisiert, wenn die mehreren Prozesse in den mehreren Betriebseinheiten (241, 242, 243, 244) beendet werden, und das Verhaltensinformations-Ausgabemittel (130) Verhaltensinformation, die die geänderte Zuweisung enthält, an die Steuerung (200) jedes Mal ausgibt, wenn die mehreren Prozesse in den mehreren Operationseinheiten (241, 242, 243, 244) beendet sind.
  3. Maschinenlernvorrichtung (100) gemäß Anspruch 2, wobei die Zuweisung bei der Verhaltensinformation eine Bennenung eines durch jede der mehreren Operationseinheiten (241, 242, 243, 244) durchzuführenden Prozesses und eine Reihenfolge der Durchführung der Prozesse enthält, und die, geänderte Zuweisungsausgabe aus dem Verhaltensinformations-Ausgabemittel (130) enthaltende Verhaltensinformation an die Steuerung (200) eine Verhaltensinformation ist, in der die Bezeichnung eines durch jede der mehreren Operationseinheiten (241, 242, 243, 244) durchzuführenden Prozesses oder/und die Reihenfolge der Durchführung der Prozesse geändert wird.
  4. Maschinenlernvorrichtung (100) gemäß Anspruch 2 oder 3, wobei ein Prozess, der für irgendeine der mehreren Operationseinheiten (241, 242, 243, 244) zuzuweisen ist, fixiert ist, und die, geänderte Zuweisungsausgabe aus dem Verhaltensinformations-Ausgabemittel (130) enthaltende Verhaltensinformation eine Verhaltensinformation ist, in welcher die geänderte Zuweisung zu einer Operationseinheit gehört, für welche eine Zuweisung eines Prozesses nicht fixiert ist.
  5. Maschinenlernvorrichtung (100) gemäß einem der Ansprüche 1 bis 4, wobei das Verstärkungslernen durch die Maschinenlernvorrichtung (100) auf der Steuerung (200) als ein Duplikat durchgeführt wird, welches virtuell durch einen Simulator gemacht wird, und die Maschinenlernvorrichtung weiter ein optimiertes Verhaltensinformations-Ausgabemittel (150) umfasst, welches die Verhaltensinformation basierend auf Zustandsinformation erzeugt, die aus einer realen Maschine der Steuerung (200) erfasst wird, und eine Verhaltenswertefunktion, die durch das Verstärkungslernen erlernt wird, und die erzeugte Verhaltensinformation an die reale Maschine der Steuerung (200) ausgibt, nachdem das Verstärkungslernen beendet ist.
  6. Maschinenlernvorrichtung (100) gemäß Anspruch 5, weiter umfassend ein Maschinenbedingungs-Änderungsmittel (600), wobei, falls eine Bearbeitungsbedingung in der aus der realen Maschine der Steuerung (200) erfassten Zustandsinformation eine Bearbeitungsbedingung ist, die nicht als ein Ziel des Verstärkungslernens verwendet worden ist, ändert das Bearbeitungsbedingungs-Änderungsmittel die Bearbeitungsbedingung zu einer anderen Bearbeitungsbedingung, die einen partiell passenden Inhalt aufweist und als ein Ziel des Verstärkungslernens verwendet worden ist, und das optimierte Verhaltensinformations-Ausgabemittel (130) die Verhaltensinformation basierend auf Zustandsinformation erzeugt, welche die Bearbeitungsbedingung enthält, die durch das Bearbeitungsbedingungs-Änderungsmittel (600) geändert ist, und eine Verhaltenswertfunktion, welche durch das Verstärkungslernen erlernt wird, responsiv auf die andere Bearbeitungsbedingung, und die erzeugte Verhaltensinformation an die reale Maschine der Steuerung (200) ausgibt.
  7. Maschinenlernvorrichtung (100) gemäß einem der Ansprüche 1 bis 6, weiter ein Maschinenbedingungs-Erzeugungsmittel (500) umfassend, welches die Bearbeitungsbedingung erzeugt und die erzeugte Bearbeitungsbedingung an der Steuerung (200) einstellt.
  8. Steuerung (200), die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten durchführt und die Maschinenlernvorrichtung gemäß einem der Ansprüche 1 bis 7 umfasst.
  9. Maschinenlernprogramm, das einen Computer veranlasst, als eine Maschinenlernvorrichtung (100) zu fungieren, die ein Verstärkungslernen in einer Steuerung (200) durchführt, die mehrere Prozesse zum Steuern einer Werkzeugmaschine parallel in mehreren Operationseinheiten (241, 242, 243, 244) durchführt, wobei die Maschinenlernvorrichtung (100) umfasst: ein Verhaltensinformations-Ausgabemittel (130), das eine Verhaltensinformation, die die Zuweisung von Arithmetikeinheiten, die mehrere Prozesse durchführen, an die Steuerung (200) ausgibt; ein Zustandsinformations-Erfassungsmittel (110), das Zustandsinformation erfasst, die eine Bearbeitungsbedingung enthält, als eine Bedingung für eine an der Werkzeugmaschine eingestellte Verarbeitung, und Bestimmungsinformation, die durch Überwachen der Implementierung der mehreren Prozesse durch die mehreren Operationseinheiten (241, 242, 243, 244) basierend auf der Zuweisung in der Verhaltensinformation erzeugt ist; ein Vergütungsrechenmittel (121), das den Wert einer Vergütung berechnet, die durch Verstärkungslernen zu geben ist, basierend auf der Bestimmungsinformation in der Zustandsinformation; und ein Wertefunktions-Aktualisierungsmittel (122), das eine Verhaltenswertfunktion basierend auf dem Vergütungswert, der Zustandsinformation und der Verhaltensinformation aktualisiert.
DE102018209149.8A 2017-06-12 2018-06-08 Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm Active DE102018209149B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017115221A JP6530783B2 (ja) 2017-06-12 2017-06-12 機械学習装置、制御装置及び機械学習プログラム
JP2017-115221 2017-06-12

Publications (2)

Publication Number Publication Date
DE102018209149A1 DE102018209149A1 (de) 2018-12-13
DE102018209149B4 true DE102018209149B4 (de) 2021-10-07

Family

ID=64332752

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018209149.8A Active DE102018209149B4 (de) 2017-06-12 2018-06-08 Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm

Country Status (4)

Country Link
US (1) US10705506B2 (de)
JP (1) JP6530783B2 (de)
CN (1) CN109032078B (de)
DE (1) DE102018209149B4 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10386817B1 (en) * 2015-09-11 2019-08-20 Haas Automation, Inc. Multi-core processing machine tool control system
US10948883B2 (en) * 2017-09-20 2021-03-16 Rockwell Automation Technologies, Inc. Machine logic characterization, modeling, and code generation
US10417556B1 (en) * 2017-12-07 2019-09-17 HatchB Labs, Inc. Simulation-based controls optimization using time series data forecast
US11914350B2 (en) * 2018-08-09 2024-02-27 Siemens Aktiengesellschaft Manufacturing process control using constrained reinforcement machine learning
DE112019004142T5 (de) * 2018-08-17 2021-05-06 Mitsubishi Electric Corporation Numerische Steuerungsvorrichtung
KR20200094577A (ko) * 2019-01-30 2020-08-07 주식회사 모비스 인공신경망 시뮬레이터와 강화학습 제어기를 사용한 실시간 가속기 제어 시스템
CN111505944B (zh) * 2019-01-30 2021-06-11 珠海格力电器股份有限公司 节能控制策略学习方法、实现空调节能控制的方法及装置
JP2020131353A (ja) * 2019-02-19 2020-08-31 パナソニックIpマネジメント株式会社 研磨加工システム、学習装置、学習装置の学習方法
JP7098821B2 (ja) * 2019-03-08 2022-07-11 富士フイルム株式会社 データ生成装置および方法、並びに学習装置および方法
JP2020183816A (ja) * 2019-04-26 2020-11-12 ダイキン工業株式会社 熱源システム、目標運転容量推定方法、目標運転容量推定プログラム
CN110244626B (zh) * 2019-06-21 2021-09-14 南京邮电大学 基于强化学习的多用户水产养殖自动调控系统及方法
KR20220066337A (ko) * 2019-09-19 2022-05-24 지멘스 악티엔게젤샤프트 유연 생산 시스템 및 장치에 대한 자체 학습 생산 스케줄링을 위한 방법
CN114503038A (zh) * 2019-09-19 2022-05-13 西门子股份公司 使用状态矩阵自学习柔性制造系统的制造调度的方法及设备
EP3828706A4 (de) * 2019-09-30 2022-04-27 Hitachi Information & Telecommunication Engineering, Ltd. Zustandsvorhersagesystem
WO2021092490A1 (en) * 2019-11-06 2021-05-14 D.P. Technology Corp. Systems and methods for virtual environment for reinforcement learning in manufacturing
EP3825263A1 (de) * 2019-11-20 2021-05-26 Siemens Aktiengesellschaft Verfahren zur computer-implementierten konfiguration einer geregelten antriebsapplikation eines logistiksystems
US11429869B2 (en) * 2019-11-21 2022-08-30 International Business Machines Corporation Artificially intelligent interaction agent
WO2021152852A1 (ja) * 2020-01-31 2021-08-05 三菱電機株式会社 制御装置、機械学習装置、および、制御方法
DE102020107623A1 (de) 2020-03-19 2021-09-23 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
KR102169876B1 (ko) * 2020-05-22 2020-10-27 주식회사 애자일소다 조건부 에피소드 구성을 이용한 강화학습 장치 및 방법
CN111633469A (zh) * 2020-06-11 2020-09-08 深圳市彼络科技有限公司 一种基于强化学习的自动刀具补偿方法
CN116710861A (zh) * 2021-01-27 2023-09-05 三菱电机株式会社 数控系统、任务分配变更装置及数控方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163527A (ja) 2008-01-08 2009-07-23 Hitachi Ltd Os間で負荷分散する情報処理システム
JP2015200947A (ja) 2014-04-04 2015-11-12 ファナック株式会社 マルチコアプロセッサを使用して逐次プログラムを実行する制御装置
DE102016010064A1 (de) 2015-08-27 2017-04-20 Fanuc Corporation Numerische Steuerung mit Bearbeitungsbedingungsanpassungsfunktion zum Verringern des Auftretens von Rattern oder Werkzeugverschleiss/-bruch

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6016239A (ja) 1984-06-07 1985-01-28 Matsushita Electric Ind Co Ltd 加熱調理器
JP2000076087A (ja) * 1998-08-28 2000-03-14 Hitachi Ltd マルチオペレーティングシステム制御方法
US8429097B1 (en) * 2009-08-12 2013-04-23 Amazon Technologies, Inc. Resource isolation using reinforcement learning and domain-specific constraints
DE102011105141A1 (de) * 2011-06-09 2012-12-13 Dmg Electronics Gmbh Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine
JP2014035564A (ja) * 2012-08-07 2014-02-24 Fanuc Ltd マルチコアプロセッサを有する数値制御装置
JP6151669B2 (ja) * 2014-06-27 2017-06-21 ファナック株式会社 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置
US9430299B2 (en) * 2014-08-06 2016-08-30 International Business Machines Corporation System, method and product for task allocation
JP6203691B2 (ja) * 2014-08-29 2017-09-27 ファナック株式会社 複数軸の軸制御処理を分散して実行可能な数値制御装置
JP6438366B2 (ja) 2015-08-28 2018-12-12 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた制御装置および電動機装置
US9811389B2 (en) * 2015-09-23 2017-11-07 Intel Corporation Task assignment for processor cores based on a statistical power and frequency model
JP6110451B1 (ja) 2015-09-30 2017-04-05 ファナック株式会社 機械学習装置およびコイル製造装置
JP5969676B1 (ja) 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械
JP6333796B2 (ja) * 2015-11-25 2018-05-30 ファナック株式会社 複数のcpuコアで最適な負荷配分を行う数値制御装置
JP6193961B2 (ja) 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
JP6114421B1 (ja) * 2016-02-19 2017-04-12 ファナック株式会社 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法
US10140161B1 (en) * 2017-04-28 2018-11-27 EMC IP Holding Company LLC Workload aware dynamic CPU processor core allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163527A (ja) 2008-01-08 2009-07-23 Hitachi Ltd Os間で負荷分散する情報処理システム
JP2015200947A (ja) 2014-04-04 2015-11-12 ファナック株式会社 マルチコアプロセッサを使用して逐次プログラムを実行する制御装置
DE102016010064A1 (de) 2015-08-27 2017-04-20 Fanuc Corporation Numerische Steuerung mit Bearbeitungsbedingungsanpassungsfunktion zum Verringern des Auftretens von Rattern oder Werkzeugverschleiss/-bruch

Also Published As

Publication number Publication date
US10705506B2 (en) 2020-07-07
CN109032078A (zh) 2018-12-18
CN109032078B (zh) 2020-04-14
US20180356793A1 (en) 2018-12-13
JP2019003271A (ja) 2019-01-10
DE102018209149A1 (de) 2018-12-13
JP6530783B2 (ja) 2019-06-12

Similar Documents

Publication Publication Date Title
DE102018209149B4 (de) Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm
DE102018204740B4 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE102017002996B4 (de) Maschinenlernvorrichtung, die ein lernen unter verwendung eines simulationsergebnisses durchführt, maschinensystem, herstellungssystem und maschinenlernverfahren
DE102017010799B4 (de) Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102017000955B4 (de) Produktionssteuersystem und integriertes Produktionssteuersystem
DE102017006054A1 (de) Maschinelle Lernvorrichtung, die eine geschätzte Lebensdauer eines Lagers lernt, Lebensdauer-Schätzvorrichtung und maschinelles Lernverfahren
DE102018200794A1 (de) Aktionsinformationslernvorrichtung, aktionsinformationsoptimierungssystem und aktionsinformationslernprogramm
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102017011544A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102018202654A1 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE202010017612U1 (de) Verbesserter genetischer Algorithmus mit mehreren Zielen für die Bauteildesignoptimierung
DE102017000770A1 (de) Maschinelle lernvorrichtung, numerische steuerung, werkzeugmaschinensystem, herstellungssystem und maschinelles lernverfahren zum erlernen der anzeige eines bedienungsmenüs
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102018003769A1 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE112021000842T5 (de) Maschinelle Lernvorrichtung, Computervorrichtung, Steuersystem und maschinelles Lernverfahren
DE102019007340A1 (de) Technik zum Einrichten und Betreiben eines neuronalen Netzwerks
DE102020104952A1 (de) Verwaltungsvorrichtung und verwaltungssystem
DE102020201613A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen
DE102017010759A1 (de) Numerische steuerung
DE102018001028B4 (de) Numerische Steuerung
DE102017122119A1 (de) Informationsprozessor

Legal Events

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