DE102018205015B4 - Einstellvorrichtung und Einstellverfahren - Google Patents

Einstellvorrichtung und Einstellverfahren Download PDF

Info

Publication number
DE102018205015B4
DE102018205015B4 DE102018205015.5A DE102018205015A DE102018205015B4 DE 102018205015 B4 DE102018205015 B4 DE 102018205015B4 DE 102018205015 A DE102018205015 A DE 102018205015A DE 102018205015 B4 DE102018205015 B4 DE 102018205015B4
Authority
DE
Germany
Prior art keywords
machine learning
control
unit
feedback information
control device
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
DE102018205015.5A
Other languages
English (en)
Other versions
DE102018205015A1 (de
Inventor
Satoshi Ikai
Naoto Sonoda
Ryoutarou TSUNEKI
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 DE102018205015A1 publication Critical patent/DE102018205015A1/de
Application granted granted Critical
Publication of DE102018205015B4 publication Critical patent/DE102018205015B4/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/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
    • 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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • 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
    • 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/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/31From computer integrated manufacturing till monitoring
    • G05B2219/31103Configure parameters of controlled devices
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41437Feedforward of speed

Abstract

Einstellvorrichtung (300, 320, 330), die eine Steuervorrichtung (100, 100A, 110, 120, 130) zum Steuern von Motoren, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung (200, 210, 220) zum Durchführen von maschinellen Lernen mit Bezug auf die Steuervorrichtung steuert, wobei die Einstellvorrichtung umfasst:
eine Startbefehlsausgabeeinheit (304) zum Ausgeben eines Startbefehls zum Starten der Maschinenlernvorrichtung;
eine Rückkopplungsinformations-Erfassungseinheit (308) zum Erfassen von Rückkopplungsinformation, die auf der Grundlage eines durch die Steuervorrichtung ausgeführten Bewertungsprogramms erfasst wird, von der Steuervorrichtung;
eine Rückkopplungsinformations-Übertragungseinheit (301) zum Übertragen der erfassten Rückkopplungsinformation an die Maschinenlernvorrichtung;
eine Parametereinstellinformations-Erfassungseinheit (302) zum Erfassen von Steuerparameter-Einstellinformation, die durch maschinelles Lernen unter Verwendung der Rückkopplungsinformation erfasst wird, von der Maschinenlernvorrichtung; und
eine Parametereinstellinformations-Übertragungseinheit (309) zum Übertragen der erfassten Steuerparameter-Einstellinformation an die Steuervorrichtung.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Einstellvorrichtung, die eine Steuervorrichtung steuert, die Motoren steuert, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung, die maschinelles Lernen mit Bezug auf die Steuervorrichtung durchführt, und ein Einstellverfahren der Einstellvorrichtung.
  • Verwandte Technik
  • Beispielsweise offenbart Patentdokument 1 eine Maschinenlernvorrichtung, die einen Betriebsbefehl mit Bezug auf einen Motor lernt, der in einer Werkzeugmaschine verwendet wird. Die in Patentdokument 1 offenbarte Maschinenlernvorrichtung ist eine Maschinenlernvorrichtung, die eine Leistungsversorgungsmenge mit Bezug auf den Motor, die Temperatur des Motors, eine Last des Motors und die Schwingung des Motors als Zustandsvariablen beobachtet und lernt, ob der Betriebsbefehl mit Bezug auf den Motor gemäß der Zustandsvariablen kompensiert werden muss, und ein Ergebnis der Bestimmung davon, ob Abnormalität in dem Werkzeugmaschine auftritt, basierend auf den Zustandsvariablen lernt.
  • Patentdokument 1: Japanisches Patent Nr. 6063016 B1
    Die WO 93/12475 A1 befasst sich mit einem Verfahren zur Parameteroptimierung von Systemen im Fertigungsbereich, die in komplexer Weise von vielfältig unterschiedlichen Steuerparametern abhängen. Durch den Einsatz eines neuronalen Netzes, welches das Verhalten des technischen Systems erlernt, werden die Steuerparameter optimiert, indem die Systemergebnisse, das Ist-Verhalten mit den Ergebnissen des Modells verglichen werden und auf diese Weise neue Steuerparameter sich ergeben, die dann iterativ solange dem System zugeführt werden, bis sich zwischen dem Sollverhalten des Systems, das erwünscht ist und Ist-Verhalten des Systems kein Unterschied mehr zeigt, bzw. dieser Unterschied unter einem zuvor festgelegten Wert liegt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Wenn Lernen durch Verwenden einer Maschinenlernvorrichtung durchgeführt wird, ist es wünschenswert, dass maschinelles Lernen mit einem Bearbeitungsprogramm eines Werkstücks durchgeführt wird, das tatsächlich durch ein Bearbeitungswerkzeug zu bearbeiten ist. Die Bearbeitungsverarbeitung mit einem Bearbeitungsprogramm benötigt im Allgemeinen mehr Zeit und die Einstellung benötigt viel Zeit für maschinelles Lernen. Eine Maschinenlernvorrichtung muss maschinelles Lernen jedes Mal durchführen, wenn sich ein zu bearbeitendes Werkstück verändert. Somit ist dies nicht zur Bearbeitung einer kleinen Menge von verschiedenen Gegenständen geeignet. Somit ist es wünschenswert, dass ein anderes Bewertungsprogramm als das Bearbeitungsprogramm für eine präzise Auswertung eines Bearbeitungswerkzeugs verwendet wird.
  • Eine Aufgabe der vorliegenden Erfindung ist, eine Einstellvorrichtung und ein Einstellverfahren bereitzustellen, die das Lernen unter Verwendung einer Maschinenlernvorrichtung geeignet steuern, wenn ein Bewertungsprogramm zum maschinellen Lernen und kein Bearbeitungsprogramm oder dergleichen verwendet wird.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
  • Eine Einstellvorrichtung gemäß der vorliegenden Erfindung ist eine Einstellvorrichtung (beispielsweise später beschriebene Einstellvorrichtungen 300, 320, 330), die eine Steuervorrichtung (beispielsweise später beschriebene CNC-Vorrichtungen 100, 100A, 110, 120, 130) zum Steuern von Motoren, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung (beispielsweise später beschriebene Maschinenlernvorrichtungen 200, 210, 220) zum Durchführen von maschinellen Lernen mit Bezug auf die Steuervorrichtung steuert, wobei die Einstellvorrichtung umfasst: eine Startbefehlsausgabeeinheit (beispielsweise eine später beschriebene Startbefehlsausgabeeinheit 304) zum Ausgeben eines Startbefehls zum Starten der Maschinenlernvorrichtung;
    eine Rückkopplungsinformations-Erfassungseinheit (beispielsweise eine später beschriebene Rückkopplungsinformations-Erfassungseinheit 308) zum Erfassen von Rückkopplungsinformation, die auf der Grundlage eines durch die Steuervorrichtung ausgeführten Bewertungsprogramms erfasst wird, von der Steuervorrichtung;
    eine Rückkopplungsinformations-Übertragungseinheit (beispielsweise eine später beschriebene Rückkopplungsinformations-Übertragungseinheit 301) zum Übertragen der erfassten Rückkopplungsinformation an die Maschinenlernvorrichtung;
    eine Parametereinstellinformations-Erfassungseinheit (beispielsweise eine später beschriebene Parametereinstellinformations-Erfassungseinheit 302) zum Erfassen von Steuerparameter-Einstellinformation, die durch maschinelles Lernen unter Verwendung der Rückkopplungsinformation erfasst wird, von der Maschinenlernvorrichtung; und
    eine Parametereinstellinformations-Übertragungseinheit (beispielsweise eine später beschriebene Parametereinstellinformations-Übertragungseinheit 309) zum Übertragen der erfassten Steuerparameter-Einstellinformation an die Steuervorrichtung.
  • In der Einstellvorrichtung kann die Einstellvorrichtung umfassen: eine Speichereinheit (beispielsweise eine später beschriebene Bewertungsprogrammspeichereinheit 305) zum Speichern des Bewertungsprogramm; und eine Bewertungsprogramm-Ausgabeeinheit (beispielsweise eine später beschriebene Bewertungsprogrammausgabeeinheit 306) zum Ausgeben des Bewertungsprogramm an die Steuervorrichtung.
  • In der Einstellvorrichtung kann die Einstellvorrichtung eine Bewertungsprogrammausführungsbefehl-Ausgabeeinheit (beispielsweise eine später beschriebene 307) zum Übertragen eines Ausführungsbefehls, um zu veranlassen, dass das Bewertungsprogramm ausgeführt wird, an die Steuervorrichtung umfassen.
  • In der Einstellvorrichtung kann, wenn zwei oder mehr Achsen durch die Motoren angetrieben werden, die Rückkopplungsinformations-Erfassungseinheit die Rückkopplungsinformation von der Steuervorrichtung erfassen, um die Rückkopplungsinformation an die Maschinenlernvorrichtung zu übertragen
  • In der Einstellvorrichtung kann die Rückkopplungsinformation mindestens eines von einem Positionsbefehl, einer Positionsrückkopplung und einem Positionsfehler umfassen.
  • In der Einstellvorrichtung kann die Rückkopplungsinformation ferner mindestens eines von einem Geschwindigkeitsbefehl, einer Geschwindigkeitsrückkopplung und einem Geschwindigkeitsfehler umfassen.
  • In der Einstellvorrichtung kann die Rückkopplungsinformation ferner mindestens eines von einem Strombefehl, einer Stromrückkopplung und einem Stromfehler umfassen.
  • In der Einstellvorrichtung ist das maschinelle Lernen Verstärkungslernen,
    erfasst die Rückkopplungsinformations-Erfassungseinheit die Rückkopplungsinformation als Zustandsinformation der Steuervorrichtung, und
    kann die Einstellvorrichtung eine Parameterkorrekturinformations-Übertragungseinheit (beispielsweise eine später beschriebene Parameterkorrekturinformations-Übertragungseinheit 310) zum Übertragen von Steuerparameter-Korrekturinformation, die von der Maschinenlernvorrichtung erfasst wird, als Aktionsinformation an die Steuervorrichtung umfassen.
  • In der Einstellvorrichtung umfasst die Steuervorrichtung mindestens eine von einer Positionsvorsteuerungs-Berechnungseinheit (beispielsweise eine später beschriebene Positionsvorsteuerungs-Berechnungseinheit 1020), einer Geschwindigkeitsvorsteuerungs-Berechnungseinheit (beispielsweise eine später beschriebene Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021) und einer Stromvorsteuerungs-Berechnungseinheit (beispielsweise eine später beschriebene Stromvorsteuerungs-Berechnungseinheit 1025), wobei mindestens eine der Positionsvorsteuerungs-Berechnungseinheit, der Geschwindigkeitsvorsteuerungs-Berechnungseinheit und der Stromvorsteuerungs-Berechnungseinheit mit einem Einstellen eines Steuerparameters durch die Steuerparameter-Einstellinformation durchgeführt wird.
  • In der Einstellvorrichtung kann die Steuervorrichtung das Bewertungsprogramm speichern.
  • In der Einstellvorrichtung kann die Einstellvorrichtung (beispielsweise eine später beschriebene Einstellvorrichtung 320) die Maschinenlernvorrichtung (beispielsweise eine später beschriebene Maschinenlernvorrichtung 200) umfassen.
  • In der Einstellvorrichtung kann die Einstellvorrichtung (beispielsweise eine später beschriebene Einstellvorrichtung 300) in der Maschinenlernvorrichtung (beispielsweise eine später beschriebene Maschinenlernvorrichtung 210) umfasst sein.
  • In der Einstellvorrichtung kann die Steuervorrichtung (beispielsweise eine später beschriebene CNC-Vorrichtung 110) die Maschinenlernvorrichtung (beispielsweise die später beschriebene Maschinenlernvorrichtung 200) umfassen.
  • In der Einstellvorrichtungen kann die Einstellvorrichtung in der Steuervorrichtung (beispielsweise eine später beschriebene Steuervorrichtung 120) umfasst sein und kann die Maschinenlernvorrichtung (beispielsweise die später beschriebene Maschinenlernvorrichtung 200) umfassen.
  • In der Einstellvorrichtungen kann die Einstellvorrichtung (beispielsweise eine später beschriebene Einstellvorrichtung 300) in der Steuervorrichtung (beispielsweise eine später beschriebene Steuervorrichtung 120) umfasst sein, und die Maschinenlernvorrichtung kann in der Steuervorrichtung (beispielsweise eine später beschriebene Steuervorrichtung 0130) umfasst sein.
  • In einem Einstellverfahren gemäß der vorliegenden Erfindung ist ein Einstellverfahren einer Einstellvorrichtung (beispielsweise später beschriebene Einstellvorrichtungen 300, 320, 330), die eine Steuervorrichtung (beispielsweise später beschriebene CNC-Vorrichtungen 100, 100A, 110, 120, 130) zum Steuern von Motoren, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung (beispielsweise später beschriebene Maschinenlernvorrichtungen 200, 210, 220) zum Durchführen von maschinellem Lernen mit Bezug auf die Steuervorrichtung steuert. Das Einstellverfahren ist ein Verfahren, das umfasst:
    • Starten der Maschinenlernvorrichtung;
    • Erfassen von Rückkopplungsinformation, die auf der Grundlage eines Bewertungsprogramm erfasst wird, das durch die Steuervorrichtung ausgeführt wird, von der Steuervorrichtung;
    • Übertragen der erfassten Rückkopplungsinformation an die Maschinenlernvorrichtung;
    • Erfassen von Steuerparameter-Einstellinformation, die durch maschinelles Lernen unter Verwendung der Rückkopplungsinformation erfasst wird, von der Maschinenlernvorrichtung; und
    • Übertragen der erfassten Steuerparameter-Einstellinformation an die Steuervorrichtung.
  • Gemäß der vorliegenden Erfindung kann in einem System, das eine Maschinenlernvorrichtung und eine Steuervorrichtung zum Lernen unter Verwendung eines Bewertungsprogramms umfasst, das Lernen unter Verwendung der Maschinenlernvorrichtung geeignet gesteuert werden. In der Steuervorrichtung, welche die Maschinenlernvorrichtung umfasst, kann das Lernen unter Verwendung der Maschinenlernvorrichtung geeignet gesteuert werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein Einstellsystem einer ersten Ausführungsform der vorliegenden Erfindung zeigt. 2 ist ein Blockdiagramm, das einen Hauptsignalfluss zwischen einer CNC-Vorrichtung, einer Maschinenlernvorrichtung und einer Einstellvorrichtung zeigt. 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer CNC-Vorrichtung 100 zeigt. 4A ist ein Diagramm zum Erläutern der Bewegung von Servomotoren, wenn die Geometrie ein Kreis ist. 4B ist ein Erläuterungsdiagramm, das einen Pfadfehler zeigt, der aufgrund einer Trägheitsfahrt zu der Zeit erzeugt wird, wenn die Geometrie ein Kreis ist und eine Drehrichtung des Servomotors, der einen Tisch in einer Y-Achsenrichtung bewegt, dabei ist, an einer Position A1 invertiert zu werden. 4C ist ein Diagramm zum Erläutern der Bewegung der Servomotors, wenn die Geometrie ein Quadrat ist. 4D ist ein Diagramm zum Erläutern der Bewegung der Servomotoren, wenn die Geometrie ein Quadrat mit Viertelbögen R ist. 5 ist ein Blockdiagramm, das eine Maschinenlernvorrichtung 200 gemäß der ersten Ausführungsform zeigt. 6 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer Einstellvorrichtung 300 der ersten Ausführungsform zeigt. 7A ist ein Ablaufdiagramm, das den Startbetrieb des Einstellsystems 10 erläutert. 7B ist ein Ablaufdiagramm, das den Lernbetrieb des Einstellsystems 10 erläutert. 7C ist ein Ablaufdiagramm, das einen Parametereinstellinformations-Ausgabevorgang des Einstellsystems 10 erläutert. 8 ist ein Blockdiagramm, das ein Einstellsystem einer zweiten Ausführungsform der vorliegenden Erfindung zeigt. 9 ist ein Blockdiagramm, das ein Einstellsystem einer dritten Ausführungsform der vorliegenden Erfindung zeigt. 10 ist ein Blockdiagramm, das ein Einstellsystem einer vierten Ausführungsform der vorliegenden Erfindung zeigt. 11 ist ein Blockdiagramm, das eine CNC-Vorrichtung einer fünften Ausführungsform der vorliegenden Erfindung zeigt. 12 ist ein Blockdiagramm, das eine CNC-Vorrichtung einer sechsten Ausführungsform der vorliegenden Erfindung zeigt. 13 ist ein Blockdiagramm, das ein weiteres Konfigurationsbeispiel der CNC-Vorrichtung der Ausführungsformen der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung werden nachstehend ausführlich mit Bezugnahme auf Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • 1 ist ein Blockdiagramm, das ein Einstellsystem einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 1 gezeigt, umfasst ein Einstellsystem 10 der vorliegenden Ausführungsform n computerisierte numerische Steuervorrichtungen (CNC-Vorrichtungen) 100-1 bis 100-n, n Maschinenlernvorrichtungen 200-1 bis 200-n, eine Einstellvorrichtung 300 und ein Netzwerk 400. Es sei bemerkt, dass n eine beliebige natürliche Zahl ist. Die CNC-Vorrichtung entspricht einer Steuervorrichtung und ist eine einer numerischen Steuervorrichtung.
  • Die CNC-Vorrichtung 100-1 und die Maschinenlernvorrichtung 200-1 werden angesehen, ein Eins-zu-eins-Satz zu sein und sind mit der Einstellvorrichtung 300 über das Netzwerk 400 kommunikativ verbunden. Die CNC-Vorrichtungen 100-2 bis 100-n und die Maschinenlernvorrichtungen 200-2 bis 200-n sind auf ähnliche Weise zu der CNC-Vorrichtung 100-1 und der Maschinenlernvorrichtung 200-1 verbunden. Die Einstellvorrichtung 300 und die CNC-Vorrichtungen 100-1 bis 100-n und die Einstellvorrichtung 300 und die Maschinenlernvorrichtungen 200-1 bis 200-n sind direkt über eine Verbindungsschnittstelle oder über ein Netzwerk verbunden und können eine Kommunikation miteinander durchführen. Das Netzwerk ist beispielsweise ein Lokalbereichsnetzwerk (LAN), das in einem Werk aufgebaut wird, das Internet, ein öffentliches Telefonnetzwerk oder eine Kombination davon. Das besondere Kommunikationsverfahren in dem Netzwerk, das von einer Verbindung, verdrahteten Verbindung und drahtlosen Verbindung und dergleichen verwendet wird, ist nicht besonders beschränkt.
  • 2 ist ein Blockdiagramm, das eine Hauptströmung eines Signals zwischen der CNC-Vorrichtung, der Maschinenlernvorrichtung und der Einstellvorrichtung zeigt. Bevor ein Steuerziel tatsächlich durch die CNC-Vorrichtung 100 gesteuert wird, steuert die Einstellvorrichtung 300 die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 200, so dass Lernen durch die Maschinenlernvorrichtung 200 durchgeführt wird, um einen Steuerparameter der CNC-Vorrichtung 100 einzustellen, um ein geeigneter Wert zu sein. Die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 200 sind einer von n Sätzen von n CNC-Vorrichtungen 100-1 bis 100-n und n Maschinenlernvorrichtungen 200-1 bis 200-n. Wie in 2 gezeigt, überträgt die Einstellvorrichtung 300 ein Bewertungsprogramm, das zur Zeit des Lernens ausgeführt wird, in die CNC-Vorrichtung 100 und überträgt einen Startbefehl an die Maschinenlernvorrichtung 200. Als Nächstes überträgt die Einstellvorrichtung 300 einen Ausführungsbefehl des Bewertungsprogramms an die CNC-Vorrichtung 100. Die CNC-Vorrichtung 100 führt das Bewertungsprogramm aus und überträgt erfasste Rückkopplungsinformation auf der Grundlage des ausgeführten Bewertungsprogramms an die Einstellvorrichtung 300. Die Einstellvorrichtung 300 überträgt die erfasste Rückkopplungsinformation an die Maschinenlernvorrichtung 200. Als Nächstes führt die Maschinenlernvorrichtung 200 maschinelles Lernen unter Verwendung der Rückkopplungsinformation durch und überträgt durch das maschinelle Lernen erfasste Parametereinstellinformation an die Einstellvorrichtung 300. Die Einstellvorrichtung 300 überträgt die erfasste Parametereinstellinformation an die CNC-Vorrichtung 100. Auf diese Weise wird die CNC-Vorrichtung 100 eingestellt, um geeignete Steuerparameter aufzuweisen. Die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 200 können direkt über eine Verbindungsschnittstelle verbunden oder über ein Netzwerk verbunden sein, um ein Teil von Signalen, die über die in 2 gezeigte Einstellvorrichtung 300 übertragen und empfangen werden, mit der CNC-Vorrichtung 100 und der Maschinenlernvorrichtung 200 nicht über die Einstellvorrichtung 300 zu übertragen und zu empfangen. Wenn der Bediener veranlasst, dass das Bewertungsprogramm in der CNC-Vorrichtung 100 ausgeführt wird, kann der Ausführungsbefehl des Bewertungsprogramms nicht von der Einstellvorrichtung 300 an die CNC-Vorrichtung 100 übertragen werden.
  • Hier werden nachstehend jede der Konfigurationen der CNC-Vorrichtung 100, die als eine Steuervorrichtung dienen, der Maschinenlernvorrichtung 200 und der Einstellvorrichtung 300 beschrieben. In der nachstehenden Beschreibung wird ein Beispiel beschrieben, bei dem die Maschinenlernvorrichtung 200 Verstärkungslernen des Steuerparameters der CNC-Vorrichtung 100 durchführt.
  • <CNC-Vorrichtung 100>
  • 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel der CNC-Vorrichtung zeigt. Zur zweckmäßigen Erläuterung zeigt 3 ebenfalls die Einstellvorrichtung 300 und die Maschinenlernvorrichtung 200. Wie in 3 gezeigt, steuert die CNC-Vorrichtung 100 einen Servomotor 600 eines Steuerziels 500. Die Servomotoren 600 werden durch die Anzahl bereitgestellt, die der Anzahl von Achsen entspricht, wenn es zwei oder mehr zu steuernde Achsen gibt. In der vorliegenden Ausführungsform betreibt das Bewertungsprogramm mindestens zwei Achsen. Somit werden mindestens zwei Servomotoren bereitgestellt. Hier wird der Servomotor als ein Motor verwendet. Andere Motoren, wie beispielsweise ein Spindelmotor, können jedoch als ein Motor verwendet werden. Das Steuerziel 500 ist beispielsweise ein Servomotor oder eine Werkzeugmaschine, ein Roboter oder eine Industriemaschine mit einem Servomotor. Die CNC-Vorrichtung 100 kann als ein Teil einer Werkzeugmaschine, eines Roboters, einer Industriemaschine oder dergleichen bereitgestellt werden. Hier wird nachstehend ein Beispiel beschrieben, bei dem das Steuerziel 500 eine Werkzeugmaschine mit einem Servomotor ist. Wie in 3 gezeigt, umfasst die CNC-Vorrichtung 100 eine numerische Steuerinformations-Verarbeitungseinheit 1011, eine Speichereinheit 1012, einen Subtrahierer 1013, eine Positionssteuereinheit 1014, einen Addierer 1015, einen Subtrahierer 1016, eine Geschwindigkeitssteuereinheit 1017, einen Addierer 1018, einen Integrator 1019, eine Positionsvorsteuerungs-Berechnungseinheit 1020 und eine Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021. Komponenten der CNC-Vorrichtung 100 mit Ausnahme der numerischen Steuerinformations-Verarbeitungseinheit 1011 und der Speichereinheit 1012 werden für jeden Servomotor bereitgestellt. Die Speichereinheit 1012 speichert das Bewertungsprogramm. Das Bewertungsprogramm ist ein Bearbeitungsprogramm, das in der CNC-Vorrichtung 100 zur Zeit des Lernens durch die Maschinenlernvorrichtung 200 verwendet wird. Das Bewertungsprogramm wird getrennt von dem Bearbeitungsprogramm bereitgestellt, das zur Zeit der tatsächlichen Bearbeitung, wie beispielsweise Schneiden und maschineller Bearbeitung, verwendet wird. Das Bewertungsprogramm wird von der später beschriebenen Einstellvorrichtung 300 an die numerische Steuerinformations-Verarbeitungseinheit 1011 übertragen. Die numerische Steuerinformations-Verarbeitungseinheit 1011 speichert das Bewertungsprogramm in der Speichereinheit 1012.
  • Die numerische Steuerinformations-Verarbeitungseinheit 1011 liest das Bewertungsprogramm von der Speichereinheit 1012, um das Bewertungsprogramm auf der Grundlage des Ausführungsbefehls von der später beschriebenen Einstellvorrichtung 300 auszuführen. Dadurch erzeugt die numerische Steuerinformations-Verarbeitungseinheit 1011 einen Positionsbefehlswert auf der Grundlage eines in dem Bewertungsprogramm enthaltenen Codes, um den Positionsbefehlswert an den Subtrahierer 1013 auszugeben. Die numerische Steuerinformations-Verarbeitungseinheit 1011 erzeugt den Positionsbefehlswert durch Einstellen eines Vorschubs, so dass die durch das Bewertungsprogramm spezifizierte Geometrie erhalten wird. Der Subtrahierer 1013 empfängt den Positionsbefehlswert von der numerischen Steuerinformations-Verarbeitungseinheit 1011 und bestimmt einen Unterschied zwischen dem Positionsbefehlswert und einer durch die Positionsrückkopplung erhaltenen Erfassungsposition, um den Unterschied an die Positionssteuereinheit 1014 als Positionsfehler auszugeben und den Unterschied an die später beschriebene Einstellvorrichtung 300 zu übertragen.
  • Die Positionssteuereinheit 1014 gibt einen Wert, der durch Multiplizieren einer Positionsverstärkung Kp mit dem Positionsfehler erhalten wird, an den Addierer 1015 als einen Geschwindigkeitsbefehlswert aus. Die Positionsvorsteuerungs-Berechnungseinheit 1020 gibt einen Wert, der durch Differenzieren des Positionsbefehlswerts und Multiplizieren eines Vorsteuerungskoeffizienten mit dem differenzierten Wert erhaltenen wird, an den Addierer 1015 und die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 aus.
  • Der Addierer 1015 addiert den Geschwindigkeitsbefehlswert zu einem Ausgabewert der Positionsvorsteuerungs-Berechnungseinheit 1020, um den erhaltenen Wert an den Subtrahierer 1016 als einen Vorsteuerungs-gesteuerten Geschwindigkeitsbefehlswert auszugeben. Der Subtrahierer 1016 bestimmt einen Unterschied zwischen einer Ausgabe des Addierers 1015 und dem durch die Geschwindigkeitsrückkopplung erhaltenen Geschwindigkeitserfassungswert und gibt den Unterschied an die Geschwindigkeitssteuereinheit 1017 als Geschwindigkeitsfehler aus.
  • Die Geschwindigkeitssteuereinheit 1017 addiert einen Wert, der durch Multiplizieren einer Integrationsverstärkung K1v mit dem Geschwindigkeitsfehler und Integrieren des erhaltenen Werts erhalten wird, zu einem Wert, der durch Multiplizieren einer Integrationsverstärkung K2v mit dem Geschwindigkeitsfehler erhalten wird und gibt den erhaltenen Wert an den Addierer 1018 als einen Drehmomentbefehlswert aus.
  • Die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 führt eine Geschwindigkeitsvorsteuerungs-Berechnungsverarbeitung durch, die durch eine Transferfunktion Gf(s) dargestellt wird, die beispielsweise durch Formel 1 dargestellt wird (als Formel 1 nachstehend gezeigt), um den erhaltenen Wert an den Addierer 2027 auszugeben. Gf ( s ) = b 0 + b 1 s + b 2 s 2 + a 0 + a 1 s + a 2 s 2 +
    Figure DE102018205015B4_0001
  • In der ersten Ausführungsform führt, wenn die Dimension der Transferfunktion Gf(s) eingestellt wird, um ein im Voraus eingestellter Wert zu sein, die Maschinenlernvorrichtung 200 maschinelles Lernen durch, so dass Koeffizienten ai, bj optimal werden. Nachstehend werden die Koeffizienten ai, bj ebenfalls als Steuerparameter der CNC-Vorrichtung 100 beschrieben.
  • Der Addierer 1018 addiert den Drehmomentbefehlswert zu einem Ausgabewert der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 und gibt den erhaltenen Wert an den Servomotor 600 des Steuerziels 500 als einen Vorsteuerungs-gesteuerten Strombefehlswert (Drehmomentbefehlswert) aus.
  • Eine Drehwinkelposition des Servomotors 600 des Steuerziels 500 wird durch einen Drehwinkelgeber erfasst, der als eine dem Servomotor 600 zugeordnete Positionserfassungseinheit dient. Ein erfasstes Signal wird als der Geschwindigkeitserfassungswert benutzt, mit der eine Geschwindigkeitsrückkopplung durchgeführt wird. Der Geschwindigkeitserfassungswert wird durch den Integrator 1019 integriert und wird als der Positionserfassungswert benutzt, mit dem eine Positionsrückkopplung durchgeführt wird. Die CNC-Vorrichtung 100 ist konfiguriert wie oben.
  • Als Nächstes wird das Bewertungsprogramm beschrieben, das in der Werkzeugmaschine zur Zeit des maschinellen Lernens tatsächlich ausgeführt wird. Wie oben beschrieben, wird bevorzugt, wenn die Maschinenlernvorrichtung 200 maschinelles Lernen der Steuerparameter der CNC-Vorrichtung 100 durchführt, dass die Maschinenlernvorrichtung 200 die CNC-Vorrichtung 100 veranlasst, den Betrieb aller Bearbeitungsgegenstände durchzuführen, um maschinelles Lernen durchzuführen. Die Maschinenlernvorrichtung 200 kann jedoch nicht die CNC-Vorrichtung 100 veranlassen, den Betrieb aller Bearbeitungsgegenstände durchzuführen, um maschinelles Lernen tatsächlich durchzuführen. Somit wird stattdessen das Bewertungsprogramm zum Durchführen des Bearbeitungsbetriebs, das zum maschinellen Lernen geeignet ist, im Voraus eingestellt. Beispielsweise spezifiziert das Bewertungsprogramm eine Bewegungsdistanz in einer Achsenrichtung, einen Vorschub und dergleichen durch die Geometrie zur Zeit des Lernens. Die Bearbeitungsgeometrie zur Zeit des Lernens ist beispielsweise ein Kreis, ein Quadrat und ein Quadrat mit Viertelbögen R.
  • 4A und 4B sind Diagramme zum Erläutern der Bewegung der Servomotoren, wenn die Geometrie ein Kreis ist. 4C ist ein Diagramm zum Erläutern der Bewegung der Servomotoren, wenn die Geometrie ein Quadrat ist. 4D ist ein Diagramm zum Erläutern der Bewegung der Servomotoren, wenn die Geometrie ein Quadrat mit Viertelbögen R ist. In 4A bis 4D bewegt sich der Tisch, so dass das Werkstück in einer Uhrzeigerrichtung maschinell bearbeitet wird.
  • Wenn die Geometrie ein Kreis ist, wie in 4A gezeigt, wird die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, an einer Position A1 invertiert, und der Tisch bewegt sich, um in der Y-Achsenrichtung linear invertiert zu werden. An einer Position A2 wird die Drehrichtung des Servomotors, der den Tisch in der X-Achsenrichtung bewegt, invertiert, und der Tisch bewegt sich, um in der X-Achsenrichtung linear invertiert zu werden. 4B ist ein erläuterndes Diagramm, das einen Pfadfehler zeigt, der aufgrund einer Trägheitsfahrt erzeugt wird, wenn die Geometrie ein Kreis ist, und die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, dabei ist, an der Position A1 invertiert zu werden. Wie in 4B gezeigt, tritt, wenn die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, dabei ist, an der Position A1 invertiert zu werden, eine Inversionsverzögerung auf und der Pfadfehler dehnt sich in einer radialen Richtung aus. Wenn der Pfadfehler ausgedehnt und angezeigt ist, wird der Pfadfehler als ein Vorsprung gesehen.
  • Wenn die Geometrie ein Quadrat ist, wie in 4C gezeigt, nimmt der Servomotor, der den Tisch in der Y-Achsenrichtung bewegt, einen Übergang vom Anhalten in die Drehbewegung bei einer Position B vor, der Servomotor, der den Tisch in der X-Achsenrichtung bewegt, nimmt einen Übergang vom Drehen in Anhalten vor, und der Tisch nimmt einen Übergang von der Linearbewegung in der X-Achsenrichtung in die Linearbewegung in der Y-Achsenrichtung vor.
  • Wenn die Geometrie ein Quadrat mit Viertelbögen R ist, wie in 4D gezeigt, nimmt der Servomotor, der den Tisch in der Y-Achsenrichtung bewegt, einen Übergang von Anhalten in Drehbewegung an einer Position C1 vor, und der Tisch nimmt einen Übergang von der Linearbewegung in der X-Achsenrichtung in Bogenbewegung vor. Der Servomotor, der den Tisch in der X-Achsenrichtung bewegt, nimmt einen Übergang von Drehung in Anhalten an einer Position C2 vor und der Tisch nimmt einen Übergang von der Bogenbewegung in Linearbewegung in der Y-Achsenrichtung vor. Durch die durch das oben beschriebene Bewertungsprogramm spezifizierte Geometrie wird eine Trägheitsfahrt (trägheitsmäßiges Bewegen), die aufritt, wenn die Drehrichtung invertiert wird, ein Übergang vom Drehzustand in Anhalten und dergleichen vorgenommen wird, bewertet und ein Einfluss auf den Positionsfehler wird geprüft.
  • Wenn ein derartiges Bewertungsprogramm zur Zeit des Lernens ausgeführt wird, gibt die numerische Steuerinformations-Verarbeitungseinheit 1011 den Positionsbefehlswert aus, so dass die Geometrie sequentiell ein Kreis, ein Quadrat und ein Quadrat mit Viertelbögen R wird. Die numerische Steuerinformations-Verarbeitungseinheit 1011 ändert den Vorschub für jede Geometrie eines Kreises, eines Quadrats und eines Quadrats mit Viertelbögen R und ermöglicht ebenfalls das Lernen des Einflusses auf eine Mehrzahl von Vorschüben. Die numerische Steuerinformations-Verarbeitungseinheit 1011 kann den Vorschub mitten beim Bewegen einer Form der Geometrie, wenn der Tisch beispielsweise eine Ecke beim Bewegen des Tisches in einer quadratischen Geometrie passiert, ändern.
  • <Maschinenlernvorrichtung 200>
  • Als Nächstes wird die Maschinenlernvorrichtung 200 in der ersten Ausführungsform beschrieben. Wie oben beschrieben, führt die Maschinenlernvorrichtung 200 Verstärkungslernen der Steuerparameter ai, bj durch. Genauer gesagt führt die Maschinenlernvorrichtung 200 Q-Lernen durch, bei dem ein Servozustand, wie beispielsweise ein Befehl und eine Rückkopplung, die Werte der Steuerparameter ai, bj (i, j≥0) umfasst, und Positionsfehlerinformation der CNC-Vorrichtung 100, die durch Ausführen des Bewertungsprogramm erfasst wird, wird als ein Zustand s eingestellt, und die Einstellung der Steuerparameter ai, bj, die den Zustand s betreffen, wird als die Aktion a eingestellt. Wie einem Fachmann bekannt ist, ist eine Aufgabe des Q-Lernens die Aktion a, die den höchsten Wert Q (s, a) aufweist, als eine optimale Aktion unter den Aktionen a, die genommen werden können, in einem Zustand s auszuwählen.
  • Insbesondere wählt ein Agent (Maschinenlernvorrichtung) verschiedene Aktionen a unter einem Zustand s aus und gibt eine Belohnung mit Bezug auf eine Zustandsänderung, die aufgrund der Aktionen a zu dieser Zeit aufgetreten ist. Dann wählt der Agent eine bessere Aktion auf der Grundlage der gegebenen Belohnung, um den korrekten Wert Q (s, a) zu lernen.
  • Der Agent versucht schließlich Q (s, a)=E[Σ(γt)rt] zu erhalten, um die Gesamtbelohnung zu maximieren, die in der Zukunft erhalten werden kann. E [] stellt einen erwarteten Wert dar, t stellt Zeit dar, γ stellt einen später beschriebenen Parameter dar, der ein Diskontierungsfaktor genannt wird, rt stellt eine Belohnung zur Zeit t dar und Σ stellt die Summe bis zur Zeit t dar. Der erwartete Wert in dieser Formel ist ein erwarteter Wert in einem Fall, in dem der Zustand gemäß der geeigneten Aktion geändert wird. Eine Aktualisierungsformel eines derartigen Werts Q (s, a) kann beispielsweise durch die folgende Formel 2 (nachstehend als Formel 2 gezeigt) dargestellt werden.
  • Q ( s t + 1 , a t + 1 ) Q ( s t , a t ) + α ( r t + 1 + γ m a x a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102018205015B4_0002
  • In der oben beschriebenen Formel 2 stellt st einen Umgebungszustand zur Zeit t und at eine Aktion zur Zeit t dar. Der Zustand wird in st+1 durch die Aktion at geändert. rt+1 stellt eine Belohnung dar, die durch die Zustandsänderung erhalten wird. Ein Gegenstand, zu dem max hinzugefügt wird, wird durch Multiplizieren von γ mit dem Q-Wert erhalten, wenn die Aktion a mit dem höchsten Q-Wert, der zu dieser Zeit gekennzeichnet wurde, unter dem Zustand st+1 ausgewählt wird. Das γ ist ein Parameter von 0<γ≤1 und wird ein Diskontierungsfaktor genannt.
    α ist ein Lernkoeffizient und ist in einem Bereich von 0<α≤1. Die oben beschriebene Formel 2 stellt ein Verfahren zum Aktualisieren des Werts Q (st, at) der Aktion at im Zustand st auf der Grundlage der Belohnung rt+1 dar, wenn ein Ergebnis eines Versuchs at zurückgesendet wird.
  • Die Maschinenlernvorrichtung 200 beobachtet die Zustandsinformation s, die einen Servozustand umfasst, wie beispielsweise einen Befehl und eine Rückkopplung, die mindestens Positionsfehlerinformation der CNC-Vorrichtung 100 umfasst, um die Aktion a zu bestimmen. Die Positionsfehlerinformation wird durch Ausführen des Bewertungsprogramms, das im Voraus eingestellt wird, auf der Grundlage der Steuerparameter ai, bj erfasst. Die Zustandsinformation entspricht der Rückkopplungsinformation. Die Maschinenlernvorrichtung 200 berechnet die Belohnung r für jedes Mal, wenn die Aktion a durchgeführt wird. Die Maschinenlernvorrichtung 200 stellt die Belohnung r wie folgt ein. Wenn die Zustandsinformation s korrigiert wird, um die Zustandsinformation s' durch die Aktionsinformation a zu sein, ist ein Wert des Positionsfehlers der CNC-Vorrichtung 100, die auf der Grundlage der Steuerparameter ai, bj arbeitete, nach der Korrektur, welche die Zustandsinformation s' betrifft, größer als der Wert des Positionsfehlers der CNC-Vorrichtung 100, die auf der Grundlage der Steuerparameter ai, bj arbeitete, vor der Korrektur bezogen auf die Zustandsinformation s vor der Korrektur durch die Aktionsinformation a, stellt die Maschinenlernvorrichtung 200 einen Belohnungswert ein, ein negativer Wert zu sein.
  • Wenn andererseits der Wert des Positionsfehlers der CNC-Vorrichtung 100, die auf der Grundlage der Steuerparameter ai, bj arbeitete, nach der Korrektur bezogen auf die Zustandsinformation s', die durch die Aktionsinformation a korrigiert wurde, kleiner als der Wert des Positionsfehlers der CNC-Vorrichtung 100 ist, die auf der Grundlage der Steuerparameter ai, bj arbeitete, vor der Korrektur bezogen auf die Zustandsinformation s vor der Korrektur durch die Aktionsinformation a, stellt die Maschinenlernvorrichtung 200 den Belohnungswert ein, ein positiver Wert zu sein. Im Q-Lernen sucht die Maschinenlernvorrichtung 200 beispielsweise eine optimale Aktion a, so dass die Summe der Belohnungen r in der Zukunft maximal ist, durch Versuch und Irrtum. Dadurch kann die Maschinenlernvorrichtung 200 die optimale Aktion a (das heißt, die optimalen Steuerparameter ai, bj) mit Bezug auf den Zustand s auswählen, der den Servozustand umfasst, wie beispielsweise einen Befehl und eine Rückkopplung, welche die Positionsfehlerinformation der CNC-Vorrichtung 100 umfasst, die durch Ausführen das Bewertungsprogramm, , das im Voraus eingestellt wird, auf der Grundlage der Steuerparameter ai, bj erfasst wird
  • 5 ist ein Blockdiagramm, das die Maschinenlernvorrichtung 200 der ersten Ausführungsform der vorliegenden Erfindung zeigt. Um das oben beschriebene Verstärkungslernen durchzuführen, wie in 5 gezeigt, umfasst die Maschinenlernvorrichtung 200 eine Zustandsinformations-Erfassungseinheit 201, eine Lerneinheit 202, die Aktionsinformations-Ausgabeeinheit 203, eine Wertefunktions-Speichereinheit 204 und eine optimierende Aktionsinformations-Ausgabeeinheit 205. Die Lerneinheit 202 umfasst eine Belohnungsausgabeeinheit 2021, eine Wertefunktions-Aktualisierungseinheit 2022 und eine Aktionsinformations-Erzeugungseinheit 2023.
  • Die Zustandsinformations-Erfassungseinheit 201 erfasst eine Zustandsinformation s, um die Rückkopplungsinformation zu sein, die den Servozustand, wie beispielsweise den Befehl und die Rückkopplung in der CNC-Vorrichtung 100, von der CNC-Vorrichtung 100 über die später beschriebene Einstellvorrichtung 300 zu erhalten. Diese Zustandsinformation s entspricht einem Umgebungszustand s im Q-Lernen. Der Servozustand umfasst mindestens die Positionsfehlerinformation der CNC-Vorrichtung 100. Die Positionsfehlerinformation wird durch Ausführen des Bewertungsprogramms erfasst, das im Voraus auf der Grundlage der Steuerparameter ai, bj in der CNC-Vorrichtung 100 eingestellt wird. Die Zustandsinformations-Erfassungseinheit 201 gibt die Zustandsinformation s an die Lerneinheit 202 aus. Die Steuerparameter ai, bj werden zur Zeit, wenn das Q-Lernen zum ersten Mal startet, im Voraus durch die später beschriebene Einstellvorrichtung 300 gemäß der Kennzeichnung durch den Anwender erzeugt. In der vorliegenden Ausführungsform werden anfänglich eingestellte Werte der Steuerparameter ai, bj, welche durch die später beschriebene Einstellvorrichtung 300 erzeugt werden, eingestellt, um optimalere Werte durch das Verstärkungslernen zu sein. Die Steuerparameter ai, bj werden beispielsweise als anfänglich eingestellte Werte eingestellt, um a0=1, a1=0, b0=0 und b1=(ein Trägheitswert eines Steuerziels) zu sein. Dimensionen m, n der Koeffizienten ai, bj werden im Voraus eingestellt. Das heißt, dass das „i“ der Koeffizienten ai eingestellt wird, um 0≤i≤m zu sein, und das „j“ des Koeffizienten bj eingestellt wird, um 0≤j≤n zu sein.
  • Die Lerneinheit 202 ist eine Einheit, die den Wert Q (s, a) lernt, wenn eine Aktion a unter einem Umgebungszustand s ausgewählt wird. Insbesondere umfasst die Lerneinheit 202 die Belohnungsausgabeeinheit 2021, die Wertefunktions-Aktualisierungseinheit 2022 und die Aktionsinformations-Erzeugungseinheit 2023.
  • Die Belohnungsausgabeeinheit 2021 berechnet die Belohnung r, wenn die Aktion a unter einem Zustand s ausgewählt wird, wie oben beschrieben.
  • Die Wertefunktions-Aktualisierungseinheit 2022 führt das Q-Lernen auf der Grundlage des Zustands s, der Aktion a, des Zustands s', wenn die Aktion a auf den Zustand s angewandt wird, und des Belohnungswerts r, der wie oben beschrieben berechnet wird, durch, um eine Wertefunktion Q zu aktualisieren, welche die Wertefunktions-Speichereinheit 204 speichert. Das Aktualisieren der Wertefunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen durchgeführt werden. Die Auswahl des Online-Lernens, Batch-Lernens und Mini-Batch-Lernens kann durch die Einstellvorrichtung 300 durchgeführt werden. Das Online-Lernen ist ein Lernverfahren zum Anwenden einer Aktion a auf den aktuellen Zustand s, um die Wertefunktion Q jedes Mal direkt zu aktualisieren, wenn der Zustand s einen Übergang in einen neuen Zustand s' vornimmt. Das Batch-Lernen ist ein Lernverfahren des Anwendens einer Aktion a auf einen aktuellen Zustand s, um den Übergang des Zustands s in den neuen Zustand s' zu wiederholen, um Lerndaten zu sammeln und die Aktualisierung der Wertefunktion Q durch Verwenden aller gesammelten Lerndaten durchzuführen. Ferner ist das Mini-Batch-Lernen ein Zwischenlernverfahren zwischen dem Online-Lernen und dem Batch-Lernen und ist ein Lernverfahren zum Durchführen der Aktualisierung der Wertefunktion Q jedes Mal, wenn bestimmte Stücke von Lerndaten akkumuliert werden.
  • Die Aktionsinformations-Erzeugungseinheit 2023 wählt die Aktion a in einem Verfahren des Q-Lernens mit Bezug auf den aktuellen Zustand s aus. Die Aktionsinformations-Erzeugungseinheit 2023 erzeugt die Aktionsinformation a, um den Vorgang (entsprechend der Aktion a in dem Q-Lernen) des Korrigierens der Steuerparameter ai, bj in dem Verfahren der durchzuführenden Q-Lernens zu veranlassen, um die erzeugte Aktionsinformation a an die Aktionsinformations-Ausgabeeinheit 203 auszugeben. Genauer gesagt gibt die Aktionsinformations-Erzeugungseinheit 2023 beispielsweise an die Aktionsinformations-Ausgabeeinheit 203 die Aktionsinformation a aus, um das schrittweise (beispielsweise etwa 0,01) Addieren oder Subtrahieren der in dem Zustand s enthaltenen Steuerparameter ai, bj zu veranlassen. Diese Aktionsinformation a soll Parameterkorrekturinformation sein.
  • Wenn eine Erhöhung oder eine Verringerung der Steuerparameter ai, bj angewandt wird, wird ein Übergang in den Zustand s' vorgenommen und eine positive Belohnung (eine Belohnung eines positiven Werts) gegeben, kann die Aktionsinformations-Erzeugungseinheit 2023 als die nächste Aktion a' eine Maßnahme zum Auswählen der Aktion a' nehmen, so dass der Wert des Positionsfehlers kleiner wird, wie beispielsweise schrittweises Addieren oder Subtrahieren mit Bezug auf die Steuerparameter ai, bj ähnlich wie die vorherige Aktion.
  • Im Gegensatz dazu kann, wenn eine negative Belohnung (eine Belohnung eines negativen Werts) gegeben wird, die Aktionsinformations-Erzeugungseinheit 2023 als die nächste Aktion a' beispielsweise eine Maßnahme zum Auswählen der Aktion a' nehmen, so dass der Positionsfehlers kleiner als der vorherige Wert ist, wie beispielsweise schrittweises Subtrahieren oder Addieren im Gegensatz zu der vorherigen Aktion mit Bezug auf die Steuerparameter ai, bj.
  • Die Aktionsinformations-Ausgabeeinheit 203 ist eine Einheit, welche die Parameterkorrekturinformation überträgt, welche die Aktionsinformation a sein soll, die von der Lerneinheit 202 an die CNC-Vorrichtung 100 über die später beschriebene Einstellvorrichtung 300 ausgegeben wird. Wie oben beschrieben, korrigiert die CNC-Vorrichtung 100 den aktuellen Zustand s geringfügig, das heißt, die Steuerparameter ai, bj, die aktuell auf der Grundlage der Aktionsinformation eingestellt werden, um einen Übergang in den nächsten Zustand s' (das heißt, die korrigierten Steuerparameter ai, bj) vorzunehmen.
  • Die Wertefunktions-Speichereinheit 204 ist eine Speichervorrichtung, welche die Wertefunktion Q speichert. Die Wertefunktion Q kann beispielsweise in einer Tabelle (hier nachstehend als eine Aktionswerttabelle bezeichnet) für jeden Zustand s und jede Aktion a gespeichert werden. Die in der Wertefunktions-Speichereinheit 204 gespeicherte Wertefunktion Q wird durch die Wertefunktions-Aktualisierungseinheit 2022 aktualisiert. Die optimierende Aktionsinformations-Ausgabeeinheit 205 gibt optimierende Aktionsinformation auf der Grundlage der aktualisierten Wertefunktion Q aus. Diese optimierende Aktionsinformation umfasst Information zum Korrigieren der Steuerparameter ai, bj ähnlich wie die in dem Verfahren des Q-Lernens durch die Aktionsinformations-Ausgabeeinheit 203 ausgegebene Aktionsinformation. Diese Information zum Korrigieren der Steuerparameter ai, bj hat die durch das maschinelle Lernen erfasste Parametereinstellinformation zu sein.
  • In der CNC-Vorrichtung 100 werden die Steuerparameter ai, bj auf der Grundlage der Parameterkorrekturinformation korrigiert. Demgemäß kann die CNC-Vorrichtung 100 arbeiten, um den Wert des Positionsfehlers zu verringern, wobei die Koeffizienten der Geschwindigkeitsvorsteuerung hoch geordnet werden. Wie oben beschrieben, wird durch Benutzen der Maschinenlernvorrichtung 200 gemäß der vorliegenden Erfindung die Steuerparametereinstellung der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 der CNC-Vorrichtung 100 vereinfacht.
  • <Einstellvorrichtung 300>
  • Als Nächstes wird die Einstellvorrichtung 300 in der ersten Ausführungsform beschrieben. 6 ist ein Blockdiagramm, das ein Konfigurationsbeispiel der Einstellvorrichtung 300 zeigt. Die Einstellvorrichtung 300 umfasst eine Rückkopplungsinformations-Übertragungseinheit 301, eine Parametereinstellinformations-Erfassungseinheit 302, eine Parameterkorrekturinformations-Erfassungseinheit 303, eine Startbefehlsausgabeeinheit 304, eine Bewertungsprogramm-Speichereinheit 305, eine Bewertungsprogramm-Ausgabeeinheit 306, eine Bewertungsprogrammausführungsbefehl-Ausgabeeinheit 307, eine Rückkopplungsinformations-Erfassungseinheit 308, eine Parametereinstellinformations-Übertragungseinheit 309, eine Parameterkorrekturinformations-Übertragungseinheit 310, eine Parameteranfangseinstellungs-Übertragungseinheit 311 und eine Steuereinheit 312. Die Steuereinheit 312 steuert den Betrieb jeder Komponente.
  • Die Rückkopplungsinformations-Übertragungseinheit 301, die Parametereinstellinformations-Erfassungseinheit 302, die Parameterkorrekturinformations-Erfassungseinheit 303 und die Startbefehlsausgabeeinheit 304 sind Komponenten, die für eine Übertragungs- und Empfangsschnittstelle mit der Maschinenlernvorrichtung 200 bereitgestellt werden.
    Die Bewertungsprogramm-Speichereinheit 305, die Bewertungsprogramm-Ausgabeeinheit 306, die Bewertungsprogrammausführungsbefehl-Ausgabeeinheit 307, die Rückkopplungsinformations-Erfassungseinheit 308, die Parametereinstellinformations-Übertragungseinheit 309, die Parameterkorrekturinformations-Übertragungseinheit 310 und die Parameteranfangseinstellungs-Übertragungseinheit 311 sind Komponenten, die für eine Übertragungs- und Empfangsschnittstelle mit der CNC-Vorrichtung 100 bereitgestellt werden. Die Steuereinheit 312 führt eine Speicherung des Bewertungsprogramms in der Bewertungsprogramm-Speichereinheit 305, eine Korrektur des gespeicherten Bewertungsprogramms und dergleichen durch.
  • Der Betrieb des Einstellsystems, d.h. hauptsächlich der Betrieb der Einstellvorrichtung 300, wird nachstehend mit Bezugnahme auf 7A, 7B und 7C beschrieben. 7A ist ein Diagramm, das einen Ablauf des Startbetriebs des Einstellsystems zeigt. Die Steuereinheit 312 der Einstellvorrichtung 300 gibt zuerst einen Befehl der Steuerparameter-Anfangseinstellung an die CNC-Vorrichtung 100 über die Parameteranfangseinstellungs-Übertragungseinheit 311 bei Schritt S41. Insbesondere gibt die Steuereinheit 312 der Einstellvorrichtung 300 einen Befehl an die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021, um beispielsweise die Koeffizienten ai, bj einzustellen, gleich a0=1, a1=0, b0=0 und b1=(ein Trägheitswert eines Steuerziels) als die anfänglich eingestellten Werte von Formel 1 zu sein, und um Dimensionen m, n der Koeffizienten ai, bj einzustellen. Die CNC-Vorrichtung 100 stellt die Werte der Koeffizienten ai, bj und die Dimensionen m, n der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 auf der Grundlage des Befehls von der Einstellvorrichtung 300 bei Schritt S61 ein.
  • Als Nächstes überträgt die Steuereinheit 312 der Einstellvorrichtung 300 das Bewertungsprogramm an die CNC-Vorrichtung 100 über die Bewertungsprogramm-Ausgabeeinheit 306 bei Schritt S42. Insbesondere gibt die Steuereinheit 312 einen Befehl an die Bewertungsprogramm-Ausgabeeinheit 306, um das Bewertungsprogramm zu übertragen, und die Bewertungsprogramm-Ausgabeeinheit 306 liest das Bewertungsprogramm von der Bewertungsprogramm-Speichereinheit 305 und überträgt das Bewertungsprogramm an die CNC-Vorrichtung 100. Die numerische Steuerinformations-Verarbeitungseinheit 1011 der CNC-Vorrichtung 100 speichert das Bewertungsprogramm in der Speichereinheit 1012 bei Schritt S62.
  • Als Nächstes gibt die Steuereinheit 312 der Einstellvorrichtung 300 einen Startbefehl an die Maschinenlernvorrichtung 200 über die Startbefehlsausgabeeinheit 304 bei Schritt S43. Die Maschinenlernvorrichtung 200 empfängt den Startbefehl von der Einstellvorrichtung 300, startet die Vorrichtung und bringt die Vorrichtung dann in einen Bereitschaftszustand bei Schritt S31. Als Nächstes wird der Lernbetrieb des Einstellsystems 10 mit Bezugnahme auf 7B beschrieben. 7B ist ein Ablaufdiagramm, das den Lernbetrieb des Einstellsystems 10 erläutert. Die Steuereinheit 312 der Einstellvorrichtung 300 gibt einen Befehl an die numerische Steuerinformations-Verarbeitungseinheit 1011 der CNC-Vorrichtung 100 über die Bewertungsprogrammausführungsbefehl-Ausgabeeinheit 307, um das Bewertungsprogramm bei Schritt S44 auszuführen.
  • Nach Empfangen des Ausführungsbefehls von der Einstellvorrichtung 300 liest die numerische Steuerinformations-Verarbeitungseinheit 1011 der CNC-Vorrichtung 100 das Bewertungsprogramm von der Speichereinheit 1012 und erzeugt einen Positionsbefehlswert auf der Grundlage des Bewertungsprogramms bei Schritt S63. Die CNC-Vorrichtung 100 steuert den Servomotor 600 und überträgt Rückkopplungsinformation, die Werte der Koeffizienten ai, bj (i, j≥0) der Transferfunktion der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 und die durch Ausführen des Bewertungsprogramms erfasste Positionsfehlerinformation der CNC-Vorrichtung 100 bei Schritt S64 an die Einstellvorrichtung 300. Diese Rückkopplungsinformation ist die Zustandsinformation s. Die Steuereinheit 312 der Einstellvorrichtung 300 erfasst die Rückkopplungsinformation über die Rückkopplungsinformations-Erfassungseinheit 308 und überträgt die Rückkopplungsinformation an die Maschinenlernvorrichtung 200 über die Rückkopplungsinformations-Übertragungseinheit 301 bei Schritt S45. Die Maschinenlernvorrichtung 200 empfängt die Rückkopplungsinformation bei Schritt S32.
  • Die CNC-Vorrichtung 100 bestimmt bei Schritt S65, ob eine Bearbeitungsserie durch das Bewertungsprogramm beendet wurde. Der Zustand, in dem die Bearbeitungsserie durch das Bewertungsprogramm beendet wurde, bezieht sich beispielsweise auf einen Zustand, wobei das Bewertungsprogramm, in dem die Geometrie ein Kreis, ein Quadrat oder ein Quadrat mit Viertelbögen R ist, beendet wurde. Wenn die Bearbeitungsserie durch das Bewertungsprogramm nicht beendet wurde (NEIN bei Schritt S65), kehrt die CNC-Vorrichtung 100 zu Schritt S63 zurück. Wenn die Bearbeitungsserie durch das Bewertungsprogramm beendet wurde (JA bei Schritt S65), teilt die CNC-Vorrichtung 100 der Einstellvorrichtung 300 die Beendigung der Bearbeitungsserie durch das Bewertungsprogramm mit. Wenn die Beendigung der Bearbeitungsserie durch das Bewertungsprogramm mitgeteilt wurde, zeichnet die Steuereinheit 312 der Einstellvorrichtung 300 die Anzahl des Empfangens der Mitteilung der Beendigung des Bewertungsprogramms auf und aktualisiert diese. Die Steuereinheit 312 der Einstellvorrichtung 300 bestimmt, ob die Anzahl eine vorbestimmte Anzahl überschreitet oder ein vorbestimmter Lernzeitraum abgelaufen ist, um bei Schritt S46 zu bestimmen, ob die Steuereinheit 312 das maschinelle Lernen beendet. Wenn das maschinelles Lernen nicht beendet ist (NEIN bei Schritt S46), geht die Einstellvorrichtung 300 zu Schritt S47 weiter. Wenn das maschinelles Lernen beendet ist (JA bei Schritt S46), geht die Einstellvorrichtung 300 zu Schritt S49 weiter. Die Einstellvorrichtung 300 gibt einen Befehl der Belohnungsberechnung und Wertefunktionsaktualisierung an die Maschinenlernvorrichtung 200 bei Schritt S47.
  • Bei Empfang des Befehls der Belohnungsberechnung und der Wertefunktionsaktualisierung bei Schritt S33 bestimmt die Maschinenlernvorrichtung 200, ob die von der CNC-Vorrichtung 100 empfangenen Steuerparameter, das heißt die Werte der Koeffizienten ai, bj (i, j≥0) (die Werte der Steuerparameter) der Transferfunktion der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021, die anfänglich eingestellte Werte bei Schritt S34 sind. Mit anderen Worten bestimmt die Maschinenlernvorrichtung 200, ob der Steuerparameter von einem anfänglich eingestellten Wert (Zustandsinformation) s0 ist oder ein eingestellten der Zustandsinformation s nach dem anfänglich eingestellten Wert (Zustandsinformation) s0 ist. Wenn der Steuerparameter nicht der eingestellte des anfänglich eingestelltes Werts (Zustandsinformation) s0 ist und der eingestellte Wert der Zustandsinformation s nach dem anfänglich eingestellten Wert (Zustandsinformation) s0 ist (NEIN bei Schritt S34), geht die Maschinenlernvorrichtung 200 zu Schritt S35 weiter. Wenn der Wert der Steuerparameter der anfänglich eingestellte Wert ist (JA bei Schritt S34), geht die Maschinenlernvorrichtung 200 zu Schritt S36 weiter.
  • Die Maschinenlernvorrichtung 200 berechnet die Belohnung und aktualisiert die Wertefunktion bei S35 und geht dann zu Schritt S36 weiter. Die Maschinenlernvorrichtung 200 erzeugt die Steuerparameter-Korrekturinformation und überträgt die Steuerparameter-Korrekturinformation an die Einstellvorrichtung 300 bei Schritt S36. Die Steuerparameter-Korrekturinformation ist beispielsweise Information, die das Addieren oder Subtrahieren der Koeffizienten ai, bj der Geschwindigkeitsvorsteuerungs-Berechnungseinheit, die in der Aktion a enthalten ist, schrittweise (beispielsweise etwa 0,01) mit Bezug auf die Koeffizienten der Geschwindigkeitsvorsteuerungs-Berechnungseinheit verursacht, die in dem Zustand s enthalten sind.
  • Die Einstellvorrichtung 300 überträgt die von der Maschinenlernvorrichtung 200 empfangene Steuerparameter-Korrekturinformation an die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 der CNC-Vorrichtung 100 bei Schritt S48.
  • Bei Empfangen der Steuerparameter-Korrekturinformation korrigiert die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 die Koeffizienten ai, bj bei Schritt S66 und die CNC-Vorrichtung 100 kehrt zu Schritt S63 zurück. Dadurch wiederholt die CNC-Vorrichtung 100 die Bearbeitungsserie durch das Bewertungsprogramm auf der Grundlage der Steuerparameter ai, bj nach der Korrektur.
  • Als Nächstes wird der Steuerparameter-Einstellinformations-Ausgabevorgang des Einstellsystems 10 beschrieben. 7C ist ein Ablaufdiagramm, das den Steuerparameter-Einstellinformations-Ausgabevorgang des Einstellsystems 10 erläutert. Der Steuerparameter-Einstellinformations-Ausgabevorgang ist ein Vorgang, nachdem bei Schritt S46 bestimmt wird, dass das maschinelle Lernen beendet wurde. Die Steuerparameter-Einstellinformation ist optimierende Aktionsinformation. Wie in 7C gezeigt, überträgt die Steuereinheit 312 der Einstellvorrichtung 300 einen Ausgabebefehl der Steuerparameter-Einstellinformation an die Maschinenlernvorrichtung 200 bei Schritt S49. Bei Empfangen des Ausgabebefehls der Steuerparameter-Einstellinformation, welche die optimierende Aktionsinformation sein soll, berechnet die Maschinenlernvorrichtung 200 die Belohnung entsprechend dem letzten maschinellen Lernen und aktualisiert die Wertefunktion bei Schritt S37. Die optimierende Aktionsinformations-Ausgabeeinheit 205 der Maschinenlernvorrichtung 200 erfasst die in der Wertefunktions-Speichereinheit 204 gespeicherte Wertefunktion Q, erzeugt dann beispielsweise die Steuerparameter-Einstellinformation, welche die optimierende Aktionsinformation sein soll, mit Bezug auf den anfänglichen Zustand s0, auf der Grundlage der erfassten Wertefunktion Q und gibt die erzeugte Steuerparameter-Einstellinformation an die Einstellvorrichtung 300 bei Schritt S38 aus. Sobald die Steuerparameter-Einstellinformation erfasst ist, gibt die Einstellvorrichtung 300 die Steuerparameter-Einstellinformation an die CNC-Vorrichtung 100 bei Schritt S50 aus. Die CNC-Vorrichtung 100 stellt die Koeffizienten ai, bj der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 auf der Grundlage der von der Einstellvorrichtung 300 empfangenen Steuerparameter-Einstellinformation bei Schritt S67 ein, um optimale Werte zu sein. Die Einstellvorrichtung 300 überträgt einen Lernendebefehl an die CNC-Vorrichtung 100 bei Schritt S51 und die Maschinenlernvorrichtung 200 und beendet das Lernen. Bei Empfang des Lernendebefehls von der Einstellvorrichtung 300 beendet die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 200 das Lernen.
  • Der Betrieb der CNC-Vorrichtung 100, der Maschinenlernvorrichtung 200 und der Einstellvorrichtung 300 wird auf der Grundlage des Verarbeitungsablaufs beschrieben. Der oben beschriebene Verarbeitungsablauf ist jedoch lediglich ein Beispiel. Der Verarbeitungsablauf ist nicht darauf beschränkt. Um diese Funktionen zu verwirklichen, umfasst jede der CNC-Vorrichtung 100, der Maschinenlernvorrichtung 200 und der Einstellvorrichtung 300 eine Betriebsverarbeitungsvorrichtung, wie beispielsweise eine zentrale Verarbeitungseinheit (CPU). Jede der CNC-Vorrichtung 100, der Maschinenlernvorrichtung 200 und der Einstellvorrichtung 300 umfasst ferner: eine Hilfsspeichervorrichtung, wie beispielsweise ein Festplattenlaufwerk (HDD), bei dem verschiedene Steuerprogramme, wie beispielsweise Applikationssoftware und ein Betriebssystem (OS = operating System) gespeichert werden; und eine Hauptspeichervorrichtung, wie beispielsweise einen Direktzugriffsspeicher (RAM) zum vorübergehenden Speichern von Daten, die zur Ausführung eines Programms durch die Betriebsverarbeitungsvorrichtung erforderlich sind.
  • In jeder der CNC-Vorrichtung 100, der Maschinenlernvorrichtung 200 und der Einstellvorrichtung 300 liest die Betriebsverarbeitungsvorrichtung Applikationssoftware und ein OS von der Hilfsspeichervorrichtung und führt eine Betriebsverarbeitung basierend auf dieser Applikationssoftware und dem OS aus, während die gelesene Applikationssoftware und das OS an der Hauptspeichervorrichtung dekomprimiert wird. Die Betriebsverarbeitungsvorrichtung steuert verschiedene Hardware, die in jeder Vorrichtung enthalten ist, auf der Grundlage des Betriebsergebnisses. Dadurch werden die Funktionsblöcke der vorliegenden Ausführungsform verwirklicht. Das heißt, die vorliegende Ausführungsform kann durch Zusammenarbeit der Hardware und der Software verwirklicht werden.
  • Die Maschinenlernvorrichtung 200 führt eine große Menge an Betrieb durch, die dem maschinellen Lernen zugeordnet ist. Somit ist es wünschenswert, dass beispielsweise ein Personalcomputer mit Graphikverarbeitungseinheiten (GPUs) ausgerüstet wird und die GPUs für die Betriebsverarbeitung benutzt werden, die dem maschinellen Lernen durch eine Technik genannt Universalberechnung in Grafikverarbeitungseinheiten (GPGPU = General-Purpose computing on Graphics Processing Units) zugeordnet ist, so dass die Maschinenlernvorrichtung 200 eine Verarbeitung mit höherer Geschwindigkeit durchführen kann. Ferner kann, um die Verarbeitung mit höherer Geschwindigkeit durchzuführen, eine Mehrzahl von derartigen, mit der GPU ausgerüsteten Computer verwendet werden, um einen Computer-Cluster aufzubauen, so dass eine Parallelverarbeitung durch die Mehrzahl von in dem Computer-Cluster umfassten Computern durchgeführt wird.
  • Verschiedene Modifikationen der oben beschriebenen ersten Ausführungsform sind möglich. Beispielsweise können in der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 der CNC-Vorrichtung 100 die Steuerparameter anfangs im Voraus eingestellt werden. In diesem Fall können die Parameteranfangseinstellungs-Übertragungseinheit 311 von 6 und Schritt S41 der Einstellvorrichtung 300 und Schritt S61 der CNC-Vorrichtung 100 von 7A nicht bereitgestellt werden.
  • Die CNC-Vorrichtung 100 kann das Bewertungsprogramm in der Speichereinheit 1012 im Voraus speichern. In diesem Fall können die Bewertungsprogramm-Speichereinheit 305 und die Bewertungsprogramm-Ausgabeeinheit 306 der Einstellvorrichtung 300 und Schritt S42 der Einstellvorrichtung 300 und Schritt S62 der CNC-Vorrichtung 100 von 7A nicht bereitgestellt werden.
  • Anstelle der Bewertungsprogrammausführungsbefehl-Ausgabeeinheit 307 und Schritt S44 der Einstellvorrichtung 300 von 7A kann die CNC-Vorrichtung 100 das Bewertungsprogramm gemäß dem Befehl des Bedieners bei Schritt S63 ausführen.
  • Die Übertragung und der Empfang eines Signals zwischen der CNC-Vorrichtung 100 und der Maschinenlernvorrichtung 200 kann über die Einstellvorrichtung 300 nicht direkt durchgeführt werden. In diesem Fall können die Rückkopplungsinformations-Erfassungseinheit 308 und die Rückkopplungsinformations-Übertragungseinheit 301 der Einstellvorrichtung 300 und der Empfang und die Übertragung der Rückkopplungsinformation durch die Einstellvorrichtung 300 bei dem in 7B beschriebenen Schritt S45 nicht bereitgestellt werden.
  • Auf ähnliche Weise kann der Empfang der Mitteilung der Beendigung der Bearbeitungsserie durch das Bewertungsprogramm und die Übertragung des Befehls der Belohnungsberechnung und die Aktualisierung der Wertefunktion durch die Einstellvorrichtung 300 bei dem in 7B beschriebenen Schritt S46 der Einstellvorrichtung 300 nicht durchgeführt werden.
  • (Zweite Ausführungsform)
  • 8 ist ein Blockdiagramm, das ein Einstellsystem einer zweiten Ausführungsform der vorliegenden Erfindung zeigt. Die Konfigurationen der CNC-Vorrichtung und der Maschinenlernvorrichtung der vorliegenden Ausführungsform sind die gleichen wie die Konfigurationen der in 2, 3 und 5 gezeigten CNC-Vorrichtung 100 und der Maschinenlernvorrichtung 200. Somit werden sie mit den gleichen Zeichen hinzugefügt und die Beschreibung davon wird weggelassen. Das Einstellsystem 11 der vorliegenden Ausführungsform weist eine Konfiguration auf, in der die Einstellvorrichtung 320 die Maschinenlernvorrichtung 200 umfasst. Die Konfiguration der Einstellvorrichtung 320 ist die gleiche wie die Konfiguration der in 6 gezeigten Einstellvorrichtung 300 mit Ausnahme der Maschinenlernvorrichtung 200. Die Einstellvorrichtung 320 und die CNC-Vorrichtung 100 sind direkt über die Verbindungsschnittstelle oder über das Netzwerk verbunden und können miteinander kommunizieren. Das Netzwerk ist beispielsweise ein Lokalbereichsnetzwerk (LAN), das in einem Werk aufgebaut wurde, das Internet, ein öffentliches Telefonnetzwerk oder eine Kombination davon. Das besondere Kommunikationsverfahren in dem Netzwerk, das von der verdrahteten Verbindung und der drahtlosen Verbindung verwendet wird, und dergleichen sind nicht besonders beschränkt.
  • (Dritte Ausführungsform)
  • 9 ist ein Blockdiagramm, das ein Einstellsystem der dritten Ausführungsform der vorliegenden Erfindung zeigt. Die Konfigurationen der CNC-Vorrichtung und der Einstellvorrichtung der vorliegenden Ausführungsform sind die Gleichen wie die der in 2, 3 und 6 gezeigten Konfigurationen der CNC-Vorrichtung 100 und der Einstellvorrichtung 300. Somit werden sie mit den gleichen Zeichen hinzugefügt und eine Beschreibung davon wird weggelassen. Das Einstellsystem 12 der vorliegenden Ausführungsform weist eine Konfiguration auf, bei der eine Maschinenlernvorrichtung 210 die Einstellvorrichtung 300 umfasst. Die Konfiguration der Maschinenlernvorrichtung 210 ist die Gleiche wie die Konfiguration der in 5 gezeigten Maschinenlernvorrichtung 200 mit Ausnahme der Einstellvorrichtung 300. Die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 210 sind direkt über die Verbindungsschnittstelle oder über das Netzwerk verbunden und können miteinander kommunizieren. Das Netzwerk ist beispielsweise ein Lokalbereichsnetzwerk (LAN), das in einem Werk aufgebaut wurde, das Internet, ein öffentliches Telefonnetzwerk oder eine Kombination davon. Das besondere Kommunikationsverfahren in dem Netzwerk, das von der verdrahteten Verbindung und der drahtlosen Verbindung verwendet wird, und dergleichen sind nicht besonders beschränkt.
  • (Vierte Ausführungsform)
  • 10 ist ein Blockdiagramm, das ein Einstellsystem einer vierten Ausführungsform der vorliegenden Erfindung zeigt. Die Konfigurationen einer Maschinenlernvorrichtung und einer Einstellvorrichtung der vorliegenden Ausführungsform sind die Gleichen wie die Konfigurationen der in 2, 5 und 6 gezeigten Maschinenlernvorrichtung 200 und Einstellvorrichtung 300. Somit werden sie mit den gleichen Zeichen hinzugefügt und eine Beschreibung davon wird weggelassen. Das Einstellsystem 13 der vorliegenden Ausführungsform weist eine Konfiguration auf, in der die CNC-Vorrichtung 110 die Maschinenlernvorrichtung 200 umfasst. Die Konfiguration der CNC-Vorrichtung 110 ist die Gleiche wie die Konfiguration der in 3 gezeigten CNC-Vorrichtung 100 mit Ausnahme der Maschinenlernvorrichtung 200. Die CNC-Vorrichtung 110 und die Einstellvorrichtung 300 sind direkt über die Verbindungsschnittstelle oder über das Netzwerk verbunden und können miteinander kommunizieren.
  • (Fünfte Ausführungsform)
  • 11 ist ein Blockdiagramm, das eine CNC-Vorrichtung einer fünften Ausführungsform der vorliegenden Erfindung zeigt. Die CNC-Vorrichtung 120 der vorliegenden Ausführungsform umfasst die Einstellvorrichtung 330 und die Einstellvorrichtung 330 umfasst die Maschinenlernvorrichtung 200. Die Konfiguration der CNC-Vorrichtung 120 ist die Gleiche wie die Konfiguration der in 3 gezeigten CNC-Vorrichtung 100, wobei die Einstellvorrichtung 330 einschließlich der Maschinenlernvorrichtung 200 ausgeschlossen ist. Die CNC-Vorrichtung 120 umfasst eine Steuereinheit, welche die gleiche Konfiguration wie die der CNC-Vorrichtung 100 aufweist. In der vorliegenden Ausführungsform wird Applikationssoftware, die Funktionen der Einstellvorrichtung 330 einschließlich der Funktionen der Maschinenlernvorrichtung 200 umfasst, auf einem Betriebssystem der CNC-Vorrichtung 120 ausgeführt.
  • (Sechste Ausführungsform)
  • 12 ist ein Blockdiagramm, das eine CNC-Vorrichtung einer sechsten Ausführungsform der vorliegenden Erfindung zeigt. Eine CNC-Vorrichtung 130 der vorliegenden Ausführungsform umfasst die Maschinenlernvorrichtung 220 und die Maschinenlernvorrichtung 220 umfasst die Einstellvorrichtung 300. Die Konfiguration der CNC-Vorrichtung 130 ist die Gleiche wie die Konfiguration der in 3 gezeigten CNC-Vorrichtung 100, wobei die Maschinenlernvorrichtung 220 einschließlich der Einstellvorrichtung 300 ausgeschlossen ist. Die CNC-Vorrichtung 130 umfasst eine Steuereinheit, welche die gleiche Konfiguration wie die der CNC-Vorrichtung 100 aufweist. In der vorliegenden Ausführungsform wird Applikationssoftware, die Funktionen der Maschinenlernvorrichtung 220 welche die Einstellvorrichtung 300 umfasst, auf einem Betriebssystem der CNC-Vorrichtung 130 ausgeführt.
  • Jede Komponente, die in den CNC-Vorrichtungen 100 bis 130, den Maschinenlernvorrichtungen 200 bis 220 und den oben beschriebenen Einstellvorrichtungen 300, 320, 330 enthalten ist, kann durch Hardware, Software oder eine Kombination davon verwirklicht werden. Das Servosteuerverfahren, das durch Zusammenarbeit von jeder der in der oben beschriebenen Servosteuervorrichtung enthalten Komponenten durchgeführt wird, kann ebenfalls durch Hardware, Software oder eine Kombination davon verwirklicht werden. Durch Software verwirklicht, bedeutet, durch Lesen und Ausführen eines Programms durch einen Computer verwirklicht zu werden.
  • Das Programm kann durch Verwenden verschiedene Typen von nichtflüchtigen computerlesbaren Medien gespeichert und an den Computer geliefert werden. Die nichtflüchtigen computerlesbaren Medien umfassen verschiedene Typen von greifbaren Speichermedien. Beispiele der nichtflüchtigen computerlesbaren Medien umfassen ein magnetisches Aufzeichnungsmedium (beispielsweise eine flexible Diskette, ein Magnetband und ein Festplattenlaufwerk), ein magnetooptisches Aufzeichnungsmedium (beispielsweise eine magnetooptische Platte), ein CD-ROM (Nurlesespeicher), ein CD-R, ein CD-R/W, einen Halbleiterspeicher (beispielsweise ein Masken-ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein Flash-ROM und einen Direktzugriffsspeicher (RAM)).
  • Obwohl die oben beschriebene Ausführungsform eine bevorzugte Ausführungsform der vorliegenden Erfindung ist, ist der Umfang der vorliegenden Erfindung nicht darauf beschränkt. Die vorliegende Erfindung kann in einer Ausführungsform durchgeführt werden, bei dem verschiedene Modifikationen durchgeführt werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
  • Beispielsweise ist die Konfiguration der CNC-Vorrichtung der vorliegenden Ausführungsform nicht auf die in 3 gezeigte Konfiguration beschränkt. 13 ist ein Blockdiagramm, das ein weiteres Konfigurationsbeispiel der CNC-Vorrichtung der vorliegenden Ausführungsform zeigt. Der Unterschied zwischen der in 13 gezeigten CNC-Vorrichtung 100A und der in 3 gezeigte CNC-Vorrichtung 100 ist eine Konfiguration, bei der die in 13 gezeigte CNC-Vorrichtung 100A ferner einen Subtrahierer 1022, eine Stromsteuereinheit 1023, einen Addierer 1024 und eine Stromvorsteuerungs-Berechnungseinheit 1025 umfasst und eine Stromrückkopplung durchführt.
  • Die Maschinenlernvorrichtungen 200, 210, 220 der oben beschriebenen Ausführungsformen sind Beispiele, bei denen die CNC-Vorrichtung 100 ein Bewertungsprogramm ausführt, um Zustandsinformation zu erfassen, welche den Positionsfehler und die Kombination der Koeffizienten der Transferfunktion der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 als Rückkopplungsinformation umfasst, und die Aktionsinformation, welche die Einstellungsinformation der Kombination von in der Zustandsinformation enthaltenen Koeffizienten, an die Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 der CNC-Vorrichtung 100 ausgibt, um Verstärkungslernen durchzuführen. Das maschinelle Lernen durch die Maschinenlernvorrichtung ist nicht auf das maschinelle Lernen der Koeffizienten in der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 beschränkt. Beispielsweise kann die Maschinenlernvorrichtung das maschinelle Lernen (Verstärkungslernen) der Koeffizienten (Steuerparameter) der Transferfunktion der Positionsvorsteuerungs-Berechnungseinheit 1020 und/oder einer Stromvorsteuerungs-Berechnungseinheit 1025 zusätzlich zu der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 oder anstelle der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021 durchführen.
  • In der ersten Ausführungsform umfasst die Rückkopplungsinformation zum Durchführen des Verstärkungslernens durch die Maschinenlernvorrichtung die Kombination des Positionsfehlers und die Koeffizienten der Transferfunktion der Geschwindigkeitsvorsteuerungs-Berechnungseinheit 1021. Die Rückkopplungsinformation ist jedoch nicht auf den Positionsfehler beschränkt und kann mindestens den Positionsbefehl und/oder die Positionsrückkopplung (Positionserfassungswert) zusätzlich zu den Positionsfehlern umfassen. Außerdem kann die Rückkopplungsinformation mindestens eines der folgende zusätzlich zu dem Positionsfehler umfassen: den Geschwindigkeitsbefehl, die Geschwindigkeitsrückkopplung, den Geschwindigkeitsfehler, den Strombefehl, die Stromrückkopplung und den Stromfehler. Eine Ausgabe der numerischen Steuerinformations-Verarbeitungseinheit 1011 entspricht dem Positionsbefehl und eine Ausgabe des Integrators 1019 entspricht der Positionsrückkopplung. Eine Ausgabe des Addierers 1015 entspricht dem Geschwindigkeitsbefehl, eine Ausgabe des dem Servomotor 600 zugeordneten Drehwinkelgebers entspricht der Geschwindigkeitsrückkopplung (Geschwindigkeitserfassungswert) und eine Ausgabe des Subtrahierers 1016 entspricht dem Geschwindigkeitsfehler. Eine Ausgabe des Addierers 1018 entspricht dem Strombefehl, ein Erfassungswert des in dem Servomotor 600 fließenden Stroms entspricht der Stromrückkopplung und eine Ausgabe des Subtrahierers 1022 entspricht dem Stromfehler. Die oben beschriebenen Ausführungsformen wurden als Beispiele beschrieben, die Verstärkungslernen entsprechen. Die vorliegende Erfindung kann jedoch auf andere Techniken, wie beispielsweise „Lernen mit einem Lehrer“ oder „Lernen ohne einen Lehrer“, angewendet werden.
  • Die Rückkopplungsinformation kann, wie jeweils anwendbar, durch ein Ziel des maschinellen Lernens oder ein Verfahren des maschinellen Lernens ausgewählt werden.
  • <Freiheitsgrad der Systemkonfiguration>
  • In der oben beschriebenen, in 1 und 2 gezeigten Ausführungsform sind die CNC-Vorrichtung 100 und die Maschinenlernvorrichtung 200 als ein Eins-zu-eins-Satz kommunikativ verbunden. Beispielsweise kann jedoch eine Maschinenlernvorrichtung 200 mit einer Mehrzahl von CNC-Vorrichtungen 100 über das Netzwerk 400 kommunikativ verbunden sein, um maschinelles Lernen von jeder der CNC-Vorrichtungen 100 durchzuführen. Zu dieser Zeit können jeweilige Funktionen der Maschinenlernvorrichtung 200 als ein verteiltes Verarbeitungssystem verwirklicht werden, bei dem die Funktionen in eine Mehrzahl von Servern verteilt werden, wie jeweils anwendbar. Die Funktionen der Maschinenlernvorrichtung 200 können durch Benutzen einer virtuellen Serverfunktion oder dergleichen in einer Cloud verwirklicht werden.
  • Wenn es eine Mehrzahl von Maschinenlernvorrichtungen 200-1 bis 200-n gibt, die jeweils einer Mehrzahl von CNC-Vorrichtungen 100-1 to 100-n des gleichen Typennamens, der gleichen Spezifikation oder der gleichen Serie entsprechen, kann die Maschinenlernvorrichtungen 200-1 to 200-n konfiguriert werden, um Lernergebnisse in den Maschinenlernvorrichtungen 200-1 bis 200-n gemeinsam zu nutzen. Dadurch kann ein optimaleres Modell aufgebaut werden. In den in 8 und 10 gezeigten zweiten und vierten Ausführungsformen wird eine Einstellvorrichtung einer CNC-Vorrichtung bereitgestellt. Eine Einstellvorrichtung kann jedoch einer Mehrzahl von CNC-Vorrichtungen bereitgestellt werden. In der in 9 gezeigten dritten Ausführungsform wird eine Maschinenlernvorrichtung einer CNC-Vorrichtung bereitgestellt. Eine Einstellvorrichtung kann jedoch einer Mehrzahl von CNC-Vorrichtungen bereitgestellt werden.
  • Bezugszeichenliste
  • 10-13
    Einstellsystem
    100, 100A, 110, 120, 130
    CNC-Vorrichtung
    200, 210, 220
    Maschinenlernvorrichtung
    300, 320, 330
    Einstellvorrichtung
    301
    Rückkopplungsinformations-Übertragungseinheit
    302
    Parametereinstellinformations-Erfassungseinheit
    303
    Parameterkorrekturinformations-Erfassungseinheit
    304
    Startbefehlsausgabeeinheit
    305
    Bewertungsprogramm-Speichereinheit
    306
    Bewertungsprogramm-Ausgabeeinheit
    307
    Bewertungsprogramm Ausführungsbefehls-Ausgabeeinheit
    308
    Rückkopplungsinformations-Erfassungseinheit
    309
    Parametereinstellinformations-Übertragungseinheit
    310
    Parameterkorrekturinformations-Übertragungseinheit
    311
    Parameteranfangseinstellungs-Übertragungseinheit
    312
    Steuereinheit

Claims (16)

  1. Einstellvorrichtung (300, 320, 330), die eine Steuervorrichtung (100, 100A, 110, 120, 130) zum Steuern von Motoren, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung (200, 210, 220) zum Durchführen von maschinellen Lernen mit Bezug auf die Steuervorrichtung steuert, wobei die Einstellvorrichtung umfasst: eine Startbefehlsausgabeeinheit (304) zum Ausgeben eines Startbefehls zum Starten der Maschinenlernvorrichtung; eine Rückkopplungsinformations-Erfassungseinheit (308) zum Erfassen von Rückkopplungsinformation, die auf der Grundlage eines durch die Steuervorrichtung ausgeführten Bewertungsprogramms erfasst wird, von der Steuervorrichtung; eine Rückkopplungsinformations-Übertragungseinheit (301) zum Übertragen der erfassten Rückkopplungsinformation an die Maschinenlernvorrichtung; eine Parametereinstellinformations-Erfassungseinheit (302) zum Erfassen von Steuerparameter-Einstellinformation, die durch maschinelles Lernen unter Verwendung der Rückkopplungsinformation erfasst wird, von der Maschinenlernvorrichtung; und eine Parametereinstellinformations-Übertragungseinheit (309) zum Übertragen der erfassten Steuerparameter-Einstellinformation an die Steuervorrichtung.
  2. Einstellvorrichtung gemäß Anspruch 1, ferner umfassend: eine Speichereinheit (305) zum Speichern des Bewertungsprogramm; und eine Bewertungsprogramm-Ausgabeeinheit (306) zum Ausgeben des Bewertungsprogramm an die Steuervorrichtung.
  3. Einstellvorrichtung gemäß Anspruch 1 oder 2, ferner umfassend eine Bewertungsprogrammausführungsbefehl-Ausgabeeinheit (307) zum Übertragen eines Ausführungsbefehls, um zu veranlassen, dass das Bewertungsprogramm ausgeführt wird, an die Steuervorrichtung.
  4. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 3, wobei, wenn zwei oder mehr Achsen durch die Motoren angetrieben werden, die Rückkopplungsinformations-Erfassungseinheit die Rückkopplungsinformation von der Steuervorrichtung erfasst, um die Rückkopplungsinformation an die Maschinenlernvorrichtung zu übertragen
  5. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 4, wobei die Rückkopplungsinformation mindestens eines von einem Positionsbefehl, einer Positionsrückkopplung und einem Positionsfehler umfasst.
  6. Einstellvorrichtung gemäß Anspruch 5, wobei die Rückkopplungsinformation ferner mindestens eines von einem Geschwindigkeitsbefehl, einer Geschwindigkeitsrückkopplung und einem Geschwindigkeitsfehler umfasst.
  7. Einstellvorrichtung gemäß Anspruch 5, wobei die Rückkopplungsinformation ferner mindestens eines von einem Strombefehl, einer Stromrückkopplung und einem Stromfehler umfasst.
  8. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 7, wobei das maschinelle Lernen Verstärkungslernen ist, die Rückkopplungsinformations-Erfassungseinheit die Rückkopplungsinformation als Zustandsinformation der Steuervorrichtung erfasst, und die Einstellvorrichtung eine Parameterkorrekturinformations-Übertragungseinheit (310) zum Übertragen von Steuerparameter-Korrekturinformation, die von der Maschinenlernvorrichtung erfasst wird, als Aktionsinformation an die Steuervorrichtung umfasst.
  9. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 8, wobei die Steuervorrichtung mindestens eine von einer Positionsvorsteuerungs-Berechnungseinheit (1020), einer Geschwindigkeitsvorsteuerungs-Berechnungseinheit (1021) und einer Stromvorsteuerungs-Berechnungseinheit (1025) umfasst, wobei mindestens eine der Positionsvorsteuerungs-Berechnungseinheit, der Geschwindigkeitsvorsteuerungs-Berechnungseinheit und der Stromvorsteuerungs-Berechnungseinheit mit einem Einstellen eines Steuerparameters durch die Steuerparameter-Einstellinformation durchgeführt wird.
  10. Einstellvorrichtung gemäß einem der Ansprüche 1 und 3 bis 9, wobei die Steuervorrichtung das Bewertungsprogramm speichert.
  11. Einstellvorrichtung gemäß mindestens einem der Ansprüche 1 bis 10, welche die Maschinenlernvorrichtung (200) umfasst.
  12. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 10, die in der Maschinenlernvorrichtung (210) umfasst ist.
  13. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 10, wobei die Steuervorrichtung (110) die Maschinenlernvorrichtung (200) umfasst.
  14. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 10, die in der Steuervorrichtung (120) umfasst ist und welche die Maschinenlernvorrichtung (200) umfasst.
  15. Einstellvorrichtung gemäß einem der Ansprüche 1 bis 10, wobei die Einstellvorrichtung in der Maschinenlernvorrichtung (220) umfasst ist und die Maschinenlernvorrichtung in der Steuervorrichtung (130) umfasst ist.
  16. Einstellverfahren einer Einstellvorrichtung (300, 320, 330), die eine Steuervorrichtung (100, 100A, 110, 120, 130) zum Steuern von Motoren, die mindestens zwei Achsen antreiben, und eine Maschinenlernvorrichtung (200, 210, 220) zum Durchführen von maschinellem Lernen mit Bezug auf die Steuervorrichtung steuert, wobei das Einstellverfahren umfasst: Starten der Maschinenlernvorrichtung; Erfassen von Rückkopplungsinformation, die auf der Grundlage eines Bewertungsprogramm erfasst wird, das durch die Steuervorrichtung ausgeführt wird, von der Steuervorrichtung; Übertragen der erfassten Rückkopplungsinformation an die Maschinenlernvorrichtung; Erfassen von Steuerparameter-Einstellinformation, die durch maschinelles Lernen unter Verwendung der Rückkopplungsinformation erfasst wird, von der Maschinenlernvorrichtung; und Übertragen der erfassten Steuerparameter-Einstellinformation an die Steuervorrichtung.
DE102018205015.5A 2017-04-07 2018-04-04 Einstellvorrichtung und Einstellverfahren Active DE102018205015B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017076706A JP6474449B2 (ja) 2017-04-07 2017-04-07 調整装置及び調整方法
JP2017-076706 2017-04-07

Publications (2)

Publication Number Publication Date
DE102018205015A1 DE102018205015A1 (de) 2018-10-11
DE102018205015B4 true DE102018205015B4 (de) 2020-08-13

Family

ID=63587756

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018205015.5A Active DE102018205015B4 (de) 2017-04-07 2018-04-04 Einstellvorrichtung und Einstellverfahren

Country Status (4)

Country Link
US (1) US10444733B2 (de)
JP (1) JP6474449B2 (de)
CN (1) CN108693834B (de)
DE (1) DE102018205015B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6748135B2 (ja) * 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6740279B2 (ja) * 2018-04-13 2020-08-12 ファナック株式会社 調整装置及び調整方法
JP6860541B2 (ja) * 2018-10-29 2021-04-14 ファナック株式会社 出力装置、制御装置、及び評価関数値の出力方法
JP6799047B2 (ja) * 2018-11-19 2020-12-09 ファナック株式会社 暖機運転評価装置、暖機運転評価方法及び暖機運転評価プログラム
JP6978452B2 (ja) * 2019-02-12 2021-12-08 ファナック株式会社 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法
CN114072742A (zh) * 2019-06-27 2022-02-18 三菱电机株式会社 数控装置、机器学习装置及数控方法
CN114424130A (zh) * 2019-09-11 2022-04-29 三菱电机株式会社 数控装置、数控方法及机器学习装置
US11461162B2 (en) * 2020-07-06 2022-10-04 Ringcentral, Inc. Maze-driven self-diagnostics using reinforcement learning
CN112202370B (zh) * 2020-09-28 2022-04-15 北京科技大学 一种同轴双电机模型预测直接转矩控制方法
CN113638808B (zh) * 2021-08-17 2022-11-22 中国联合重型燃气轮机技术有限公司 燃料阀冗余伺服控制方法、装置及系统
US20230205180A1 (en) * 2021-12-23 2023-06-29 Ats Corporation Methods and systems for controlling computer numerical control machines

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993012475A1 (de) * 1991-12-09 1993-06-24 Siemens Aktiengesellschaft Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist
JP6063016B1 (ja) * 2015-09-29 2017-01-18 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6063016A (ja) 1984-07-31 1985-04-11 松下電器産業株式会社 ミル付コ−ヒ−沸し器
JP2851901B2 (ja) * 1990-03-09 1999-01-27 株式会社日立製作所 学習制御装置
JPH04324507A (ja) * 1991-04-25 1992-11-13 Hitachi Ltd 駆動装置の加減速制御方法及びロボットシステム
JP4745798B2 (ja) * 2005-11-11 2011-08-10 株式会社日立産機システム 電動機制御装置の自動調整法および装置
CN102467113B (zh) * 2010-11-10 2013-09-11 新代科技股份有限公司 机械装置的具有参数学习的控制器及其参数学习方法
CN102374038B (zh) * 2011-09-06 2013-09-11 天津大学 自学习的前馈和主动抗扰反馈结合的vvt控制方法
WO2015021016A1 (en) * 2013-08-05 2015-02-12 Board Of Trustees Of The University Of Alabama Systems, methods and devices for vector control of permanent magnet synchronous machines using artificial neural networks
US9533413B2 (en) * 2014-03-13 2017-01-03 Brain Corporation Trainable modular robotic apparatus and methods
US9364950B2 (en) * 2014-03-13 2016-06-14 Brain Corporation Trainable modular robotic methods
JP6193961B2 (ja) * 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置
WO2018032089A1 (en) * 2016-08-19 2018-02-22 Qusaybatie Mahamad Eid System, method, and computer readable medium for dynamic pressure damage risk assessment and response
JP6744208B2 (ja) * 2016-12-27 2020-08-19 株式会社日立製作所 制御装置及び制御方法
JP6457563B2 (ja) * 2017-01-24 2019-01-23 ファナック株式会社 数値制御装置及び機械学習装置
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6490127B2 (ja) * 2017-03-15 2019-03-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6557285B2 (ja) * 2017-05-26 2019-08-07 ファナック株式会社 制御装置及び機械学習装置
JP6499720B2 (ja) * 2017-06-22 2019-04-10 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6538766B2 (ja) * 2017-07-18 2019-07-03 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6698603B2 (ja) * 2017-09-29 2020-05-27 ファナック株式会社 数値制御システム、及び運転状態異常検知方法
JP2019086928A (ja) * 2017-11-06 2019-06-06 ファナック株式会社 制御装置及び機械学習装置
JP6680748B2 (ja) * 2017-11-17 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP6680756B2 (ja) * 2017-12-26 2020-04-15 ファナック株式会社 制御装置及び機械学習装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993012475A1 (de) * 1991-12-09 1993-06-24 Siemens Aktiengesellschaft Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist
JP6063016B1 (ja) * 2015-09-29 2017-01-18 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械

Also Published As

Publication number Publication date
JP6474449B2 (ja) 2019-02-27
DE102018205015A1 (de) 2018-10-11
US20180292808A1 (en) 2018-10-11
CN108693834B (zh) 2019-12-03
CN108693834A (zh) 2018-10-23
JP2018180764A (ja) 2018-11-15
US10444733B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102018204740B4 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE102019204861B4 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102005015810B4 (de) Bearbeitungszeit-Berechnungsvorrichtung
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102018202654A1 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102017003943A1 (de) Zellensteuervorrichtung zum Optimieren von Bewegungen eines Produktionssystems, das Industriemaschinen umfasst
DE102018200794A1 (de) Aktionsinformationslernvorrichtung, aktionsinformationsoptimierungssystem und aktionsinformationslernprogramm
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE112017000153B4 (de) Steuerparameter-Einstellvorrichtung
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102018214272B4 (de) Robotersystem
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
WO2016087590A1 (de) Verfahren zur bewegungssimulation eines manipulators
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE112014006594B4 (de) Anweisungswerterzeugungsvorrichtung
DE102019216190A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts

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