DE102019201473A1 - Maschinenlernvorrichtung, Servomotor-Steuerung, Servomotorsteuerungssystem und Maschinenlernverfahren - Google Patents

Maschinenlernvorrichtung, Servomotor-Steuerung, Servomotorsteuerungssystem und Maschinenlernverfahren Download PDF

Info

Publication number
DE102019201473A1
DE102019201473A1 DE102019201473.9A DE102019201473A DE102019201473A1 DE 102019201473 A1 DE102019201473 A1 DE 102019201473A1 DE 102019201473 A DE102019201473 A DE 102019201473A DE 102019201473 A1 DE102019201473 A1 DE 102019201473A1
Authority
DE
Germany
Prior art keywords
current
machine learning
command
value
servomotor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019201473.9A
Other languages
English (en)
Inventor
Yuuki SHIRAKAWA
Satoshi Ikai
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 DE102019201473A1 publication Critical patent/DE102019201473A1/de
Pending legal-status Critical Current

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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0285Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks and fuzzy logic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/0003Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/0003Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P21/0025Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control implementing a off line learning phase to determine and store useful data for on-line control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/22Current control, e.g. using a current control loop
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0031Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control implementing a off line learning phase to determine and store useful data for on-line control
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42151Learn dynamics of servomotor system by ann
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42152Learn, self, auto tuning, calibrating, environment adaptation, repetition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Databases & Information Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

Sättigung eines Spannungsbefehls wird mit einem möglichst kleinen Blindstrom vermieden und gleichzeitig wird die Ansprechbarkeit eines Wirkstroms verbessert. Maschinenlernvorrichtung, die Maschinenlernen in Bezug auf eine Servomotor-Steuerung zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phasen durchführt, um eine Stromregelung an einem Servomotor durchzuführen. Die Maschinenlernvorrichtung umfasst: eine Zustandsinformations-Erfassungseinheit 201 zum Erfassen von Zustandsinformationen, einschließlich Geschwindigkeit oder Geschwindigkeitsbefehlen, Blindstrom und einem Effektivstrombefehl und einem Effektivstrom oder einem Spannungsbefehl; eine Aktionsinformations-Ausgabeeinheit 203 zum Ausgeben von Aktionsinformationen, einschließlich eines Blindstrombefehls, an die Servomotor-Steuerung; eine Vergütungs-Ausgabeeinheit 2021 zum Ausgeben eines Wertes einer Vergütung für bestärkendes Lernen basierend auf dem Spannungsbefehl oder dem Effektivstrombefehl und dem in den Zustandsinformationen enthaltenen Effektivstrom; und eine Wertfunktions-Aktualisierungseinheit 2022 zum Aktualisieren einer Wertfunktion basierend auf dem Ausgabewert der Vergütung, den Zustandsinformationen und den Aktionsinformationen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Maschinenlernvorrichtung, die das Lernen in Bezug auf einen Blindstrombefehl in Bezug auf eine Servomotor-Steuerung durchführt, die eine Stromregelung an einem Servomotor durchführt und sich auf eine Servomotor-Steuerung und ein Servomotor-Steuerungssystem einschließlich der Maschinenlernvorrichtung und eines Maschinenlernverfahrens bezieht.
  • Verwandte Technik
  • Als Beispiel für eine konventionelle Servomotor-Steuerung ist eine in Patentdokument 1 offenbarte Servomotor-Steuerung bekannt. Die Servomotor-Steuerung wandelt einen Drehstrom in einen Zweiphasenstrom (d- und q-Phasenstrom) um, liefert der d-Phase keinen Blindstrom zur Unterdrückung der Wärmeentwicklung durch einen Blindstrom in einem Drehzahlbereich, in dem eine Spannungssättigung nicht auftritt, und liefert der d-Phase einen Blindstrom zur Reduzierung der gegenelektromotorischen Kraft, um eine stabile Drehrichtung in einem Hochgeschwindigkeitsdrehungsbereich, in dem eine Spannungssättigung auftritt, zu realisieren.
  • Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichungsnummer H09-8440000
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die in Patentschrift 1 offenbarte Servomotor-Steuerung setzt eine Geschwindigkeit in der Nähe einer Geschwindigkeit, bei der eine Spannungssättigung als Grundgeschwindigkeit beginnt, setzt eine Randgeschwindigkeit, bei der Ausfälle, die durch Wärmeerzeugung aufgrund von Blindstromerhöhung entstehen, als Klemmgeschwindigkeit zulässig sind, und steuert einen Blindstrom unter Verwendung der Grundgeschwindigkeit und der Klemmgeschwindigkeit als Randgeschwindigkeiten. Insbesondere setzt die Servomotor-Steuerung des Patentdokuments 1 einen d-Phasenstrombefehl (der als Blindstrombefehl dient) zum Zuführen eines Blindstroms gegen Null in einem Geschwindigkeitsbereich, in dem eine Rotationsgeschwindigkeit eines Motors zwischen 0 und der Grundgeschwindigkeit liegt. Darüber hinaus erhöht die in Patentschrift 1 offenbarte Servomotor-Steuerung den d-Phasenstrombefehl proportional zu einer Drehgeschwindigkeit in einem Hochgeschwindigkeitsbereich, in dem die Drehgeschwindigkeit die Grundgeschwindigkeit überschreitet, und fixiert den d-Phasenstrombefehl auf einen festen Wert in einem Hochgeschwindigkeitsbereich, in dem die Drehgeschwindigkeit die Klemmgeschwindigkeit überschreitet. Die im Patentdokument 1 offenbarte Servomotor-Steuerung muss jedoch die Grundgeschwindigkeit und die Klemmgeschwindigkeit für die jeweiligen Servomotor-Steuerungen einstellen, und der Einstellvorgang ist komplex. Wenn sich die Grundgeschwindigkeit oder die Klammergeschwindigkeit altersbedingt ändert, muss die Servomotor-Steuerung außerdem die Einstellung der Grundgeschwindigkeit oder der Klammergeschwindigkeit ändern.
  • Ein Ziel der vorliegenden Erfindung ist es, eine Maschinenlernvorrichtung, eine Servomotor-Steuerung, ein Servomotor-Steuerungssystem und ein Maschinenlernverfahren bereitzustellen, das in der Lage ist, einen Blindstrombefehl zu berechnen, der für eine Rotationsgeschwindigkeit eines Motors durch Maschinenlernen geeignet ist, ohne eine Basisgeschwindigkeit und eine Klemmgeschwindigkeit im Voraus einzustellen, um eine Sättigung eines Spannungsbefehls zu vermeiden.
  • (1) Eine Maschinenlernvorrichtung (z.B. eine später zu beschreibende Maschinenlernvorrichtung 200) gemäß der vorliegenden Erfindung ist eine Maschinenlernvorrichtung, die Maschinenlernen in Bezug auf eine Servomotor-Steuerung (z.B. eine später zu beschreibende Servomotor-Steuerung 100) zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phasen zur Stromregelung eines Servomotors durchführt, wobei die Maschinenlernvorrichtung Folgendes umfasst: eine Zustandsinformations-Erfassungseinheit (z.B. eine später zu beschreibende Zustandsinformations-Erfassungseinheit 201) zum Erfassen von Zustandsinformationen, die wenigstens Geschwindigkeit oder einen Geschwindigkeitsbefehl, Blindstrom und einen Wirkstrombefehl sowie einen Effektivstrombefehl und einen Spannungsbefehl umfassen, von der Servomotor-Steuerung, indem sie bewirkt, dass die Servomotor-Steuerung ein vorgegebenes Programm ausführt; eine Aktionsinformations-Ausgabeeinheit (z.B. eine später zu beschreibende Aktionsinformations-Ausgabeeinheit 203) zum Ausgeben von Aktionsinformationen mit einem Blindstrombefehl an die Servomotor-Steuerung; eine Vergütungs-Ausgabeeinheit (z.B. eine später zu beschreibende Vergütungs-Ausgabeeinheit 2021) zum Ausgeben eines Wertes einer Vergütung des bestärkenden Lernens basierend auf dem Spannungsbefehl oder dem Effektivstrombefehl und dem in den Zustandsinformationen enthaltenen Effektivstrom; und eine Wertfunktions-Aktualisierungseinheit (z.B. eine später zu beschreibende Wertfunktions-Aktualisierungseinheit 2022) zum Aktualisieren einer Wertfunktion basierend auf dem Wert der von der Vergütungs-Ausgabeeinheit ausgegebenen Vergütung, den Zustandsinformationen und den Aktionsinformationen.
  • (2) In der Maschinenlernvorrichtung gemäß (1) kann die Vergütungs-Ausgabeeinheit den Wert der Vergütung abhängig davon bestimmen, ob eine Spannungssättigung auftritt.
  • (3) In der Maschinenlernvorrichtung gemäß (2), wobei die Spannungssättigung auf der Grundlage erkannt werden kann, ob der Spannungsbefehl eine Zwischenkreisspannung oder einen Fehler zwischen dem Effektivstrom und dem Effektivstrombefehl überschreitet.
  • (4) In der Maschinenlernvorrichtung nach einem der Ansprüche (1) bis (3) kann die Vergütungs-Ausgabeeinheit die Vergütung bestimmen und eine Vergütung auf der Grundlage des Blindstromwertes bestimmen, wenn die Spannungssättigung nicht eintritt.
  • (5) Die Maschinenlernvorrichtung nach einem der Ansprüche (1) bis (4) kann des Weiteren umfassen: eine Optimierungsaktions-Informationsausgabeeinheit (z.B. eine später zu beschreibende Optimierungsaktions-Informationsausgabeeinheit 205) zum Erzeugen und Ausgeben des Blindstrombefehls auf der Grundlage der von der Wertfunktion aktualisierten Wertefunktion.
  • (6) Ein Servomotor-Steuerungssystem gemäß der vorliegenden Erfindung ist ein Servomotor-Steuerungssystem, das Folgendes umfasst: die Maschinenlernvorrichtung (zum Beispiel die später zu beschreibende Maschinenlernvorrichtung 200) gemäß einem der Ansprüche (1) bis (5); und eine Servomotor-Steuerung (zum Beispiel eine später zu beschreibende Servomotor-Steuerung 100) zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phase, um eine Stromregelung eines Servomotors durchzuführen.
  • (7) Eine Servomotor-Steuerung gemäß der vorliegenden Erfindung ist eine Servomotor-Steuerung, die die Maschinenlernvorrichtung gemäß einer der Absätze (1) bis (5) umfasst, wobei die Servomotor-Steuerung einen Drehstrom in einen Zweiphasenstrom der d- und q-Phase umwandelt, um eine Stromregelung an einem Servomotor durchzuführen.
  • (8) Ein Maschinenlernverfahren nach der vorliegenden Erfindung ist ein Maschinenlernverfahren einer Maschinenlernvorrichtung (z.B. eine später zu beschreibende Maschinenlernvorrichtung 200), das Maschinenlernen in Bezug auf eine Servomotor-Steuerung (z.B. eine später zu beschreibende Servomotor-Steuerung 100) zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phasen durchführt, um eine Stromregelung an einem Servomotor durchzuführen, wobei das Maschineniernverfahren Folgendes umfasst: Erfassen von Zustandsinformationen von der Servomotor-Steuerung, die wenigstens Geschwindigkeit oder einen Geschwindigkeitsbefehl, Blindstrom und einen Effektivstrombefehl und einen Effektivstrom oder einen Spannungsbefehl umfassen, durch Veranlassen, dass die Servomotor-Steuerung ein vorgegebenes Programm ausführt; Ausgeben von Aktionsinformationen, die einen Blindstrombefehl umfassen, an die Servomotor-Steuerung; Aktualisieren einer Wertfunktion auf der Grundlage der Zustandsinformationen, der Aktionsinformationen und eines Wertes einer Verstärkungslohnes basierend auf dem Spannungsbefehl oder dem Effektivstrombefehl und dem in den Zustandsinformationen enthaltenen Effektivstrom.
  • Nach der vorliegenden Erfindung ist es möglich, einen Blindstrombefehl für eine Rotationsgeschwindigkeit eines Motors durch Maschinenlernen zu berechnen, ohne vorher eine Grundgeschwindigkeit und eine Klemmgeschwindigkeit einzustellen, um eine Sättigung eines Spannungsbefehls zu vermeiden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Servomotor-Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 2 ist ein Blockdiagramm, das einen Motor und ein Paar darstellt, das aus einer Servomotor-Steuerung und einer Maschinenlernvorrichtung der Servomotor-Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung besteht.
    • 3 ist ein Blockdiagramm, das eine Maschinenlernvorrichtung 200 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 4 ist ein Flussdiagramm, das den Betrieb der Maschinenlernvorrichtung 200 während des Q-Lernens gemäß der vorliegenden Ausführungsform veranschaulicht.
    • 5 ist ein Flussdiagramm, das eine Vergütungsberechnungsmethode in Schritt S13 von 4 veranschaulicht.
    • 6 ist ein Flussdiagramm zur Beschreibung der Funktionsweise einer Optimierungsaktions-Informationsausgabeeinheit der Maschinenlernvorrichtung.
    • 7 ist ein Diagramm, das einen Motor und ein Paar, bestehend aus einer Servomotor-Steuerung und einer Maschinenlernvorrichtung, veranschaulicht und eine andere Konfiguration der Servomotor-Steuerung gemäß der Ausführungsform der vorliegenden Erfindung darstellt.
    • 8 ist ein Diagramm, das einen Motor und ein Paar, bestehend aus einer Servomotor-Steuerung und einer Maschinenlernvorrichtung, darstellt und eine andere Konfiguration der Servomotor-Steuerung gemäß der Ausführungsform der vorliegenden Erfindung darstellt.
    • 9 ist ein Flussdiagramm, das eine Vergütungsberechnungsmethode in Schritt S13 von 4 veranschaulicht.
    • 10 ist ein Blockdiagramm, das einen Motor und eine Servomotor-Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. 1 ist ein Blockdiagramm, das eine Servomotor-Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie in 1 dargestellt, umfasst ein Servomotor-Steuerungssystem 10 n Servomotor-Steuerungen 100-1 bis 100-n, n Maschinenlernvorrichtungen 200-1 bis 200-n und ein Netzwerk 300. Hier ist n eine beliebige natürliche Zahl.
  • Dabei sind die Servomotor-Steuerung 100-1 und die Maschinenlernvorrichtung 200-1 im Eins-zu-Eins-Verhältnis gekoppelt und kommunikativ verbunden. Die Servomotor-Steuerungen 100-2 bis 100-n und die Maschinenlernvorrichtungen 200-2 bis 200-n sind analog zur Servomotor-Steuerung 100-1 und der Maschinenlernvorrichtung 200-1 verbunden. In 1 sind n Paare von Servomotor-Steuerungen 100-1 bis 100-n und Maschinenlernvorrichtungen 200-1 bis 200-n über das Netzwerk 300 verbunden. Dabei können die n Paare der Servomotor-Steuerungen 100-1 bis 100-n und der Maschinenlernvorrichtungen 200-1 bis 200-n jeweils direkt über Verbindungsschnittstellen verbunden werden. Eine Vielzahl von n Paaren der Servomotor-Steuerungen 100-1 bis 100-n und der Maschinenlernvorrichtungen 200-1 bis 200-n können beispielsweise in derselben Anlage und in verschiedenen Anlagen bereitgestellt werden.
  • Das Netzwerk 300 ist ein lokales Netzwerk (LAN), das in einer Anlage, dem Internet, einem öffentlichen Telefonnetz, einer direkten Verbindung über eine Verbindungsschnittstelle oder einer Kombination davon aufgebaut ist. Ein spezifisches Kommunikationsschema des Netzwerks 300, unabhängig davon, ob das Netzwerk eine Kabelverbindung oder eine drahtlose Verbindung und dergleichen verwendet, ist nicht besonders eingeschränkt.
  • 2 ist ein Blockdiagramm, das einen Motor und das Paar aus der Servomotor-Steuerung und der Maschinenlernvorrichtung der Servomotor-Steuerung gemäß der Ausführungsform der vorliegenden Erfindung darstellt. Die Servomotor-Steuerung 100 und die Maschinenlernvorrichtung 200 in 2 entsprechen beispielsweise der Servomotor-Steuerung 100-1 und der in 1 dargestellten Maschinenlernvorrichtung 200-1. Die Servomotor-Steuerung 100 steuert die Drehung eines Servomotors 400. Der Servomotor 400 ist ein AC-Servomotor, der beispielsweise mit einem Drehstrom angetrieben wird. Die Servomotor-Steuerung 100 wandelt einen Drehstrom in einen Zweiphasenstrom (d- und q-Phasenstrom) um und steuert den Strom zum Antreiben des Servomotors 400. Der Servomotor 400 wird beispielsweise in Werkzeugmaschinen, Robotern oder Industriemaschinen eingesetzt. Die Servomotor-Steuerung 100 kann als Teil einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine bereitgestellt werden. Die Maschinenlernvorrichtung 200 empfängt einen Geschwindigkeitsbefehl, einen Effektivstrombefehl, einen Effektivstrom und einen Blindstrom von der Servomotor-Steuerung 100 und gibt einen Blindstrombefehl an die Servomotor-Steuerung 100 aus. Wie später beschrieben, kann die Maschinenlernvorrichtung 200 anstelle des Geschwindigkeitsbefehls eine Geschwindigkeitsrückführung verwenden und anstelle des Wirkstroms und des q-Phasen-Effektivstroms einen Spannungsbefehl verwenden.
  • Wenn der Servomotor 400 in eine Werkzeugmaschine integriert ist und die Servomotor-Steuerung 100 einen Tisch mit einem Werkstück (ein Werkstück) bewegt, das mit Hilfe des Servomotors 400 in einer X-Achsenrichtung und einer Y-Achsenrichtung darauf montiert ist, ist die Servomotor-Steuerung 100 jeweils in der X-Achsenrichtung und der Y-Achsenrichtung vorgesehen. Wenn der Tisch in Richtungen von drei oder mehr Achsen bewegt wird, ist die Servomotor-Steuerung 100 in jeder der jeweiligen Axialrichtungen vorgesehen. Wenn die Servomotor-Steuerung 100 eine Spindel bewegt, die ein Werkstück (ein Werkstück) mit Hilfe des Servomotors 400 bearbeitet, ist die Servomotor-Steuerung 100 in der Spindel vorgesehen.
  • Zunächst wird eine Konfiguration der Servomotor-Steuerung 100 beschrieben. Wie in 2 dargestellt, umfasst die Servomotor-Steuerung 100 eine Geschwindigkeitsbefehlseinheit 101, einen Subtraktor 102, eine Geschwindigkeitssteuereinheit 103, einen Subtraktor 104, einen Subtraktor 105, eine Stromsteuereinheit 106, einen Antriebsverstärker 107 und einen Drehstrom-Zweiphasen-Wandler 108.
  • Die Geschwindigkeitsbefehlseinheit 101 gibt einen Wert aus, der durch Multiplizieren einer vorbestimmten Positionsverstärkung Kp mit einem Eingabepositionsbefehl an den Subtrahierer 102 und die Maschinenlernvorrichtung 200 als Geschwindigkeitsbefehl erhalten wird. Der Positionsbefehl wird gemäß einer vorgegebenen Programmeingabe von einer Host-Steuerung, einer externen Eingabevorrichtung oder dergleichen erzeugt, um eine Impulsfrequenz zu ändern, um die Geschwindigkeit des Servomotors 400 zu ändern. Der Subtrahierer 102 berechnet eine Differenz zwischen dem Geschwindigkeitsbefehl und einer Geschwindigkeitsrückführung und gibt die Differenz als Geschwindigkeitsfehler an die Geschwindigkeitssteuereinheit 103 aus.
  • Die Geschwindigkeitssteuereinheit 103 addiert einen Wert, der durch Multiplikation und Integration einer vorbestimmten integralen Verstärkung K1v mit dem Geschwindigkeitsfehler zu einem Wert erhalten wird, der durch Multiplikation einer vorbestimmten proportionalen Verstärkung K2v mit dem Geschwindigkeitsfehler erhalten wird, und gibt den Additionswert beispielsweise an den Subtrahierer 104 und die Maschinenlernvorrichtung 200 als effektiven Strombefehl aus.
  • Der Subtrahierer 104 berechnet eine Differenz zwischen dem Wirkstrombefehl und einem Ausgang des Drehstrom-zu-Zweiphasen-Wandlers 108 und gibt die Differenz zur Stromsteuereinheit 106 als Wirkstromfehler aus.
  • Der Subtrahierer 105 berechnet eine Differenz zwischen dem Blindstrombefehlsausgang der Maschinenlernvorrichtung 200 und dem Blindstromausgang des Drehstrom-zu-Zweiphasen-Wandlers 108 und gibt die Differenz an die Stromsteuereinheit 106 als Blindstromfehler aus.
  • Die Stromsteuereinheit 106 umfasst einen Wirkstromregler (nicht dargestellt), einen Blindstromregler (nicht dargestellt) und einen Zweiphasen-Drehstromwandler (nicht dargestellt). Hier addiert die Wirkstromsteuerung einen Wert, der durch Multiplikation und Integration einer vorgegebenen integralen Verstärkung K1c mit dem Effektivstromfehlerausgang des Subtraktors 104 erhalten wird, und einen Wert, der durch Multiplikation einer vorgegebenen Proportionalverstärkung K2c mit dem Effektivstromfehler erhalten wird, und gibt den Additionswert zum Zweiphasen-Dreiphasenwandler als aktive Steuerspannung aus. Die Blindstromsteuerung addiert einen Wert, der durch Multiplikation und Integration einer vorbestimmten integralen Verstärkung K3c mit dem Blindstromfehlerausgang des Subtraktors 105 erhalten wird, und einen Wert, der durch Multiplikation einer vorbestimmten proportionalen Verstärkung K4c mit dem Blindstromfehler erhalten wird, und gibt den Additionswert zum Zweiphasen-Dreiphasenwandler als Blindbefehlsspannung aus. Der Zweiphasen-Drehstromwandler erzeugt aus der zweiphasigen aktiven Steuerspannung und der zweiphasigen reaktiven Steuerspannung eine dreiphasige Steuerspannung und gibt die dreiphasige Steuerspannung an den Antriebsverstärker 107 aus. Diese Konfigurationen sind den Fachleuten bekannt (z.B. siehe Patentdokument 1), und die detaillierte Beschreibung entfällt.
  • Der Antriebsverstärker 107 liefert den jeweiligen Phasen des Servomotors 400 einen der dreiphasigen Steuerspannung entsprechenden Strom über einen Umrichter oder dergleichen zum Steuern des Servomotors 400. Der Antriebsverstärker 107 gibt einen Drehstrom an den Drehstrom-zu-Zweiphasen-Wandler 108 ab.
  • Der Drehstrom-zu-Zweiphasen-Wandler 108 erhält aus dem Drehstrom einen Wirkstrom und gibt den Wirkstrom an den Subtrahierer 104 und die Maschinenlernvorrichtung 200 aus. Der Drehstrom-zu-Zweiphasen-Wandler 108 erhält aus dem Drehstrom einen Blindstrom und gibt den Blindstrom an den Subtrahierer 105 und die Maschinenlernvorrichtung 200 aus.
  • Eine Drehwinkelposition des Servomotors 400 wird von einem Drehgeber 401 erfasst, der als Positionserfassungseinheit dient und dem Servomotor 400 zugeordnet ist, und die erfasste Geschwindigkeit (eine Erfassungsgeschwindigkeit) wird als Geschwindigkeitsrückführung in den Subtraktor 102 eingegeben.
  • <Maschinenlernvorrichtung 200>
  • Als nächstes wird eine Konfiguration der Maschinenlernvorrichtung 200 beschrieben. Die Maschinenlernvorrichtung 200 lernt einen Blindstrombefehl zur Vermeidung der Sättigung eines Spannungsbefehls mit einem möglichst kleinen Blindstrom bei gleichzeitiger Verbesserung der Antwortfolgefähigkeit des Effektivstroms, wenn der Servomotor 400 programmgesteuert angetrieben wird. Das Programm ist ein Programm, das tatsächlich verwendet wird. Das Programm ist ein aktuelles Bearbeitungsprogramm, das für die Bearbeitung eines Werkstücks (ein Werk) verwendet wird, wenn die Servomotor-Steuerung beispielsweise in einer Werkzeugmaschine verwendet wird. Bei einem normalen Betrieb zum Antreiben der Servomotor-Steuerung 100 gemäß einem Programm tritt eine Spannungssättigung auf. Eine Spannungssättigung in der Servomotor-Steuerung 100 wird erkannt, wenn ein Spannungsbefehl eine Zwischenkreisspannung überschreitet oder wenn ein Wirkstrombefehl und eine Wirkstromrückführung nicht identisch sind, aber ein Fehler auftritt. In der folgenden Beschreibung wird ein Fall der Erkennung einer Spannungssättigung anhand der Tatsache beschrieben, ob ein Wirkstrombefehl und eine Wirkstromrückführung nicht identisch sind, aber ein Fehler auftritt. Wie in Patentdokument 1 beschrieben, tritt in einer Servomotor-Steuerung in einem Hochgeschwindigkeitsdrehungsbereich eines Servomotors eine Spannungssättigung auf. Ob die Servomotor-Steuerung 100 in einem so schnellen Rotationsbereich arbeitet, dass eine Spannungssättigung auftritt, kann anhand eines Geschwindigkeitsbefehls oder einer vom Servomotor 400 zurückgeführten Erfassungsgeschwindigkeit erkannt werden.
  • Vor der Beschreibung der jeweiligen Funktionsblöcke, die in der Maschinenlernvorrichtung 200 enthalten sind, wird zunächst ein grundlegender Mechanismus des bestärkenden Lernens beschrieben. Ein Agent (entsprechend der Maschinenlernvorrichtung 200 in der vorliegenden Ausführungsform) beobachtet einen Umgebungszustand und wählt eine bestimmte Aktion aus. Dann ändert sich die Umgebung auf der Grundlage der Aktion. Eine bestimmte Vergütung wird entsprechend der Umgebungveränderung gewährt, und der Agent lernt die Auswahl (Entscheidung) für eine bessere Aktion. Während das überwachte Lernen eine völlig richtige Antwort darstellt, stellt die Vergütung im Bestärkenden Lernen oft einen fragmentierten Wert dar, der auf Veränderungen in einem Teil der Umgebung basiert. Daher lernt der Agent, eine Aktion so auszuwählen, dass die Gesamtausbeute in der Zukunft maximiert wird.
  • Auf diese Weise erlernt das bestärkende Lernen einen Verfahren zum Erlernen einer geeigneten Handlung auf der Grundlage der gegenseitigen Wirkung einer Handlung auf die Umgebung (d.h. eine Handlung zur Maximierung der in der Zukunft zu erzielenden Vergütung) durch Erlernen einer Handlung. Dies bedeutet, dass in der vorliegenden Ausführungsform eine solche Aktion, die sich auf die Zukunft auswirkt, erhalten wird, z.B. eine Aktion zur Auswahl von Aktionsinformationen zur Reduzierung eines Positionsfehlers.
  • Obwohl hier ein beliebiges Lernverfahren als bestärkendes Lernen verwendet wird, wird in der folgenden Beschreibung Q-Lernen, ein Verfahren zum Erlernen einer Wertfunktion Q(S, A) zum Auswählen einer Aktion A unter einem bestimmten Umgebungszustand S, als Beispiel beschrieben. Ein Ziel des Q-Lernens ist es, eine Aktion A mit der Höchstwertfunktion Q(S, A) als optimale Aktion unter den Aktionen A auszuwählen, die in einem bestimmten Zustand S durchgeführt werden kann.
  • Zu einem Anfangszeitpunkt, zu dem das Q-Lernen beginnt, ist jedoch der korrekte Wert des Wertes Q(S, A) für eine Kombination aus dem Zustand S und der Aktion A überhaupt nicht bekannt. Daher lernt der Agent den richtigen Wert Q(S, A), indem er verschiedene Aktionen A unter einem bestimmten Zustand S auswählt und eine bessere Aktion auf der Grundlage von Vergütungen für die ausgewählten Aktionen A auswählt.
  • Da ein Agent eine in der Zukunft erhaltene Gesamtvergütung maximieren möchte, zielt das Q-Lernen darauf ab, endlich eine Beziehung von Q(S, A)=E[Σ(γt)rt] zu erreichen. Hier zeigt E[ ] einen erwarteten Wert an, t zeigt die Zeit, γ ist ein Parameter, der als Diskontierungsfaktor bezeichnet wird und später beschrieben werden soll, rt ist eine Vergütung zum Zeitpunkt t und Σ ist die Summe zum Zeitpunkt t. In diesem Ausdruck ist der erwartete Wert ein erwarteter Wert, wenn der Zustand gemäß einer optimalen Aktion geändert wurde. Da jedoch unklar ist, welche Aktion im Prozess des Q-Lernens optimal ist, wird das bestärkende Lernen durchgeführt, während man durch verschiedene Aktionen nach einer optimalen Aktion sucht. Ein Aktualisierungsausdruck eines solchen Wertes Q(S, A) kann durch den folgenden Ausdruck 1 dargestellt werden (Gleichung 1).
  • 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 DE102019201473A1_0001
  • In Ausdruck 1 zeigt St einen Umgebungszustand zum Zeitpunkt t und At eine Aktion zum Zeitpunkt t an. Durch die Aktion At wechselt der Zustand zu St+1. rt+1 zeigt eine Vergütung an, die durch die Änderung des Zustands erhalten wird. Darüber hinaus ist ein Begriff mit max eine Multiplikation des Q-Wertes mit γ, wenn eine Aktion A mit dem höchsten in diesem Moment bekannten Q-Wert unter dem Zustand St+1 ausgewählt wurde. Hier ist γ ein Parameter von 0<γ≤1 und wird als Diskontsatz bezeichnet. Darüber hinaus ist α ein Lernfaktor und liegt im Bereich von 0<α≤1.
  • Ausdruck 1 bezeichnet ein Verfahren zum Aktualisieren eines Wertes Q(St, At ) einer Aktion At in einem Zustand St auf der Grundlage einer zurückkehrenden Vergütung rt+1, wenn die Aktion At ausgeführt wird. Dieser Aktualisierungsausdruck zeigt an, dass, wenn der Wert maxa Q(St+1, A) der besten Aktion im nächsten Zustand St+1, der einer Aktion At zugeordnet ist, größer ist als der Wert Q(St, At ) einer Aktion At im Zustand St , Q(St , At ) erhöht wird, und wenn anders, Q(St , At ) verringert wird. Das heißt, der Wert einer bestimmten Aktion in einem bestimmten Zustand nähert sich dem Wert der besten Aktion im nächsten mit der Aktion verbundenen Zustand. Obwohl sich diese Differenz jedoch je nach Diskontsatz γ und der Vergütung rt+1 unterscheidet, propagiert sich der Wert der besten Aktion in einem bestimmten Zustand im Wesentlichen auf den Wert einer Aktion in einem Zustand vor diesem Zustand.
  • Hier ist ein Q-Lernverfahren zum Erstellen einer Wertfunktion Q(S, A)-Tabelle für alle Zustandsaktionspaare (S, A) zur Durchführung des Lernens bekannt. Es kann jedoch erheblich lange dauern, bis sich das Q-Lernen annähert, wenn die Werte der Wertfunktionen Q(S, A) aller Zustandsaktionspaare berechnet werden sollen, da die Anzahl der Zustände zu groß ist.
  • Somit kann das Q-Lernen eine bestehende Technik verwenden, die als Deep-Q-Network (DQN) bezeichnet wird. Insbesondere kann der Wert des Wertes Q(S, A) berechnet werden, indem eine Wertfunktion Q unter Verwendung eines geeigneten neuronalen Netzes konstruiert wird und die Wertfunktion Q mit dem entsprechenden neuronalen Netz durch Anpassung der Prozesse des neuronalen Netzes approximiert wird. Durch den Einsatz von DQN ist es möglich, die Zeit für die Konvergenz des Q-Lernen zu verkürzen. Die Details des DQN sind z.B. im folgenden Nicht-Patentdokument offenbart.
  • <Nicht-Patentdokument>
  • „Human-level control through deep reinforcement learning “, Volodymyr Mnihl [online], [recherschiert am 17. Januar 2017], Internet <URL: http://files.davidqiu.com/research/nature14236.pdf>
  • Die Maschinenlernvorrichtung 200 führt das oben beschriebene Q-Lernen durch. Insbesondere lernt die Maschinenlernvorrichtung 200 eine Wertfunktion Q zum Auswählen einer Aktion A zum Einstellen eines Blindstrombefehls, der einem Servozustand S zugeordnet ist, wie Befehle und Rückmeldeinformationen, die durch die Ausführung eines Programms erfasst wurden. Beispiele für die Befehle sind der Geschwindigkeitsbefehl und der Effektivstrombefehl in der Servomotor-Steuerung 100. Beispiele für die Rückmeldeinformationen sind außerdem der q-Phasen-Effektivstrom und der d-Phasen-Blindstrom.
  • Die Maschinenlernvorrichtung 200 beobachtet die Zustandsinformationen S einschließlich des Servozustands wie die Befehle und die Rückmeldeinformationen der Servomotor-Steuerung 100, die durch Ausführen eines Programms auf der Grundlage eines Blindstrombefehls zum Bestimmen der Aktion A (der Blindstrombefehl) erhalten werden. Die Maschinenlernvorrichtung 200 gibt eine Vergütung zurück, wenn die Aktion A ausgeführt wird. Die Maschinenlernvorrichtung 200 sucht nach der optimalen Aktion A, so dass durch Trial-and-Error-Lernen eine gesamte zukünftige Vergütung maximiert wird. Dadurch kann die Maschinenlernvorrichtung 200 die optimale Aktion A (d.h. den für die Servomotor-Steuerung 100 optimalen Blindstrombefehl) in Bezug auf den Zustand S einschließlich des Servozustands wie die Befehle und die Rückmeldeinformationen der Servomotor-Steuerung 100 auswählen, die durch Ausführen eines Programms auf der Grundlage des Blindstrombefehls erfasst wurden.
  • Das heißt, die Maschinenlernvorrichtung 200 wählt eine solche Aktion A aus, die den Q-Wert unter den Aktionen A maximiert, die auf den einem bestimmten Zustand S zugeordneten Blindstrom auf der Grundlage der Lernwertfunktion Q anzuwenden sind. Durch die Auswahl einer solchen Aktion A kann die Maschinenlernvorrichtung 200 eine solche Aktion A (d.h. den Blindstrombefehl der Servomotor-Steuerung 100) auswählen, die einen Fehler zwischen dem effektiven Strombefehl und der durch die Ausführung eines Programms erfassten effektiven Stromrückführung minimiert.
  • 3 ist ein Blockdiagramm, das die Maschinenlernvorrichtung 200 entsprechend der Ausführungsform der vorliegenden Erfindung darstellt. Wie in 3 dargestellt, umfasst die Maschinenlernvorrichtung 200 zur Durchführung des bestärkenden Lernens eine Zustandsinformations-Erfassungseinheit 201, eine Lerneinheit 202, eine Aktionsinformations-Ausgabeeinheit 203, eine Wertefunktionsspeichereinheit 204 und eine Optimierungs-Aktionsinformations-Ausgabeeinheit 205.
  • Die Zustandsinformations-Erfassungseinheit 201 erfasst von der Servomotor-Steuerung 100 den Zustand S einschließlich des Servozustands, wie beispielsweise die Befehle und die Rückmeldeinformationen der Servomotor-Steuerung 100, die durch Ausführen eines Programms auf der Grundlage des Blindstrombefehls, der an die Servomotor-Steuerung 100 ausgegeben wird, erfasst werden. Beispiele für die Befehle sind ein Geschwindigkeitsbefehl und ein Wirkstrombefehl, und Beispiele für die Rückmeldeinformationen sind ein Wirkstrom und ein Blindstrom. Die Zustandsinformation S entspricht dem Umgebungszustand S im Q-Lernen. Die Zustandsinformations-Erfassungseinheit 201 gibt die erfassten Zustandsinformationen S an die Lerneinheit 202 aus. Der Blindstrombefehl zu einem Zeitpunkt, zu dem das Q-Lernen zunächst beginnt, kann von einem Benutzer im Voraus erzeugt werden. In der vorliegenden Ausführungsform wird beispielsweise der vom Anwender erstellte Anfangseinstellwert des Blindstrombefehls durch das bestärkende Lernen auf einen optimalen Wert eingestellt.
  • Die Lerneinheit 202 ist eine Einheit, die die Wertfunktion Q(S, A) lernt, wenn eine bestimmte Aktion A unter einem bestimmten Umgebungszustand S ausgewählt wird. Insbesondere umfasst die Lerneinheit 202 eine Vergütungs-Ausgabeeinheit 2021, eine Wertfunktionsaktualisierungseinheit 2022 und eine Aktionsinformations-Erzeugungseinheit 2023.
  • Die Vergütungs-Ausgabeeinheit 2021 ist eine Einheit, die eine Vergütung berechnet, wenn die Aktion A unter einem bestimmten Zustand S ausgewählt wird. In der vorliegenden Ausführungsform bestimmt die Vergütungs-Ausgabeeinheit 2021 eine Vergütung auf der Grundlage eines Fehlers zwischen einem effektiven Strom und einem effektiven Strombefehl. Wenn ein Zustand S aufgrund einer Aktion A in einen Zustand S' übergeht, hat die Vergütungs-Ausgabeeinheit 2021 einen Fehler zwischen einem Wirkstrom und einem Wirkstrombefehl in den Zuständen S und S' berechnet. Der Fehler zwischen dem Wirkstrom und dem Wirkstrombefehl kann von der Zustandsinformations-Erfassungseinheit 201 auf der Grundlage des Ausgangs des Subtraktors 104 der Servomotor-Steuerung 100 erfasst werden. Die Vergütungs-Ausgabeeinheit 2021 berechnet eine Vergütung auf der Grundlage eines Fehlers zwischen dem effektiven Strom und dem effektiven Strombefehl durch die folgenden Prozesse (a), (b) und (c).
  • (a) Wenn ein Wirkstrom identisch ist (nicht abweicht) mit einem Wirkstrombefehl im Zustand S' oder der Fehler innerhalb eines vorgegebenen Bereichs liegt, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf einen ersten positiven Wert. Wenn der effektive Strom identisch mit dem Effektivstrombefehl ist (nicht davon abweicht), tritt keine Spannungssättigung auf. Selbst wenn der Effektivstrom nicht vollständig mit dem Effektivstrombefehl identisch ist, wird, wenn dessen Fehler innerhalb eines vorgegebenen Bereichs der Effektivstrombefehle liegt, bestimmt, dass keine Spannungssättigung auftritt. Andererseits wird, wie bei den Prozessen (b) und (c), wenn der Fehler zwischen dem Wirkstrom und dem Wirkstrombefehl den vorgegebenen Bereich überschreitet, bestimmt, dass eine Spannungssättigung auftritt.
  • (b) Wenn bestimmt wird, dass ein Fehler L(S') zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S' den vorgegebenen Bereich überschreitet und der Fehler identisch oder kleiner ist als ein Fehler L(S) zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf 0 oder einen ersten negativen Wert.
  • (c) Wenn bestimmt wird, dass ein Fehler L(S') zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S' den vorgegebenen Bereich überschreitet, und der Fehler größer ist als ein Fehler L(S) zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf einen zweiten negativen Wert. Der zweite negative Wert hat einen größeren absoluten Wert als der erste negative Wert.
  • Wenn der Fehler L(S') im Zustand S' nach Ausführung der Aktion A größer ist als der Fehler L(S) im vorherigen Zustand S, kann der absolute Wert des zweiten negativen Wertes proportional erhöht werden. Das heißt, der Absolutwert des zweiten negativen Wertes kann entsprechend dem Grad der Erhöhung des Fehlers zwischen dem Effektivstrom und dem Effektivstrombefehl erhöht werden. Wenn dagegen der Fehler L(S') des Zustands S' nach Ausführung der Aktion A kleiner ist als der Fehler L(S) im vorherigen Zustand S, kann der Absolutwert des ersten negativen Wertes proportional verringert werden. Das heißt, der Absolutwert des ersten negativen Wertes kann entsprechend dem Grad der Verringerung des Fehlers zwischen dem Effektivstrom und dem Effektivstrombefehl erhöht werden. Die Vergütung ist ein Beispiel und nicht darauf beschränkt. So kann beispielsweise im Prozess (b) die Vergütung ein positiver Wert sein, der kleiner als der erste positive Wert und nicht 0 des ersten negativen Wertes. Wenn die Vergütung im Prozess (b) auf einen positiven Wert eingestellt ist, kann die Vergütung im Prozess (c) auf 0 oder den ersten negativen Wert eingestellt werden.
  • Wie vorstehend beschrieben, wird durch die Vergabe einer Vergütung der Blindstrombefehl gelernt, so dass der Fehler zwischen dem Wirkstrom und dem Wirkstrombefehl abnimmt. Wenn der Blindstrom aufgrund des Blindstrombefehls ansteigt, nimmt der Fehler zwischen dem Effektivstrom und dem Effektivstrombefehl ab und die Spannungssättigung tritt wahrscheinlich nicht auf. Bei steigendem Blindstrom kann es jedoch zu einer Wärmeentwicklung durch den Blindstrom kommen. Um die Wärmeentwicklung durch den Blindstrom zu unterdrücken, wenn keine Spannungssättigung auftritt, kann die Vergütungs-Ausgabeeinheit 2021 eine Vergütung auf Basis des Blindstromwertes berechnen und die berechnete Vergütung der Vergütung auf Basis des Fehlers zwischen dem Effektivstrom und dem Effektivstrombefehl hinzufügen. Durch Hinzufügen der Vergütung basierend auf dem Blindstromwert wird der Blindstrombefehl so gekippt, dass der Blindstrom verringert und die Wärmeentwicklung durch den Blindstrom unterdrückt wird. Die Vergütungs-Ausgabeeinheit 2021 bestimmt die Vergütung auf Basis des Blindstromwertes und addiert die Vergütung zum ersten positiven Wert nach den folgenden Verfahren (d) und (e).
  • (d) Wenn der Blindstrom im Zustand S' kleiner ist als der Blindstrom im Zustand S, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf einen zweiten positiven Wert und addiert die Vergütung zum ersten positiven Wert.
  • (e) Wenn der Blindstrom im Zustand S' größer oder gleich dem Blindstrom im Zustand S ist, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf 0 oder einen dritten negativen Wert und addiert die Vergütung zum ersten positiven Wert. Der erste positive Wert ist vorzugsweise größer als der zweite positive Wert, und die Absolutwerte des ersten und zweiten negativen Wertes sind vorzugsweise größer als der Absolutwert des dritten negativen Wertes. Denn bei einer Spannungssättigung wird es schwierig, die Servomotor-Steuerung zu steuern und die Spannungssättigung hat aufgrund des Blindstroms einen größeren Einfluss als die Wärmeentwicklung. Die Vergütung ist ein Beispiel und nicht darauf beschränkt. So kann beispielsweise im Prozess (e) die Vergütung ein positiver Wert kleiner als der zweite positive Wert und nicht 0 oder der dritte negative Wert sein.
  • Die Wertfunktions-Aktualisierungseinheit 2022 aktualisiert die in der Wertfunktions-Speichereinheit 204 gespeicherte Wertfunktion Q, indem sie Q-Lernen auf der Grundlage des Zustands S, der Aktion A, des Zustands S' bei Anwendung der Aktion A auf den Zustand S und des auf diese Weise berechneten Wertes der Vergütung durchführt. Die Aktualisierung der Wertfunktion Q erfolgt im Wesentlichen durch Online-Lernen.
  • Online-Lernen ist ein Lernverfahren, bei dem eine bestimmte Aktion A auf einen aktuellen Zustand S angewendet und die Wertefunktion Q sofort aktualisiert wird, wenn der aktuelle Zustand S in einen neuen Zustand S' übergeht. Durch die Verwendung des Online-Lernens kann die Maschinenlernvorrichtung 200 das Lernen in Echtzeit durchführen und durch Ausführen eines Programms einen bevorzugteren Blindstrombefehl ausgeben. Wenn jedoch ein Bearbeitungsprozess vor der eigentlichen Bearbeitung einer Werkzeugmaschine durchgeführt wird, kann die Aktualisierung der Wertfunktion Q durch Batch-Lernen oder Mini-Batch-Lernen erfolgen. Batch-Lernen ist ein Lernverfahren, um eine bestimmte Aktion A auf einen aktuellen Zustand S anzuwenden und wiederholt den Übergang vom Zustand S in einen neuen Zustand S' zu erreichen, Lerndaten zu sammeln und die Wertfunktion Q mit allen gesammelten Lerndaten zu aktualisieren. Das Mini-Batch-Lernen ist ein Lernverfahren, das zwischen Online-Lernen und Batch-Lernen vermittelt und die Aktualisierung der Wertefunktion Q umfasst, wenn eine bestimmte Menge an Lerndaten gesammelt wird.
  • Die Aktionsinformations-Erzeugungseinheit 2023 wählt die Aktion A im Prozess des Q-Lernens in Bezug auf den aktuellen Zustand S aus. Die Aktionsinformations-Erzeugungseinheit 2023 erzeugt Aktionsinformationen A und gibt die erzeugten Aktionsinformationen A an die Aktionsinformations-Ausgabeeinheit 203 aus, um einen Vorgang (entsprechend der Aktion A des Q-Lernens) der Korrektur des Blindstrombefehls der Servomotor-Steuerung 100 im Prozess des Q-Lernens durchzuführen. Genauer gesagt, erhöht oder verringert die Aktionsinformations-Erzeugungseinheit 2023 den Wert des Blindstrombefehls, der in der Aktion A enthalten ist, beispielsweise in Bezug auf den Blindstrombefehl, der in dem Zustand S enthalten ist.
  • Wenn der Wert des Blindstrombefehls erhöht oder verringert wird, der Zustand S in den Zustand S' übergeht und eine Plus-Vergütung (eine positive Vergütung) zurückgegeben wird, kann die Aktionsinformations-Erzeugungseinheit 2023 eine Richtlinie zur Auswahl einer solchen Aktion A' wählen, die das Auftreten einer Spannungssättigung, wie beispielsweise die schrittweise Erhöhung des Blindstrombefehls, ähnlich der vorherigen Aktion wie die nächste Aktion A' weiter unterdrückt.
  • Im Gegensatz dazu, wenn eine Minus-Vergütung (eine negative Vergütung) zurückgegeben wird, kann die Aktionsinformations-Erzeugungseinheit 2023 eine Politik der Auswahl einer solchen Aktion A' wählen, die die Größe der Spannungssättigung verringert, um kleiner als der vorherige Wert zu sein, wie z.B. die schrittweise Erhöhung des Blindstrombefehls gegenüber der vorherigen Aktion als die nächste Aktion A'.
  • Die Aktions-Informationserzeugungseinheit 2023 kann eine Richtlinie zur Auswahl der Aktion A' nach einem bekannten Verfahren wählen, wie beispielsweise einem Gierverfahren zur Auswahl einer Aktion A' mit der höchsten Wertfunktion Q(S, A) aus den Werten der aktuell geschätzten Aktionen A und einem ε-Gierverfahren zur zufälligen Auswahl einer Aktion A' mit einer bestimmten geringen Wahrscheinlichkeit ε und zur Auswahl einer Aktion A' mit der höchsten Wertfunktion Q(S, A) in anderen Fällen.
  • Die Aktionsinformations-Ausgabeeinheit 203 ist eine Einheit, die die Aktionsinformation A von der Lerneinheit 202 an die Wechseleinheit 206 der Servomotor-Steuerung 100 ausgibt. Wie vorstehend beschrieben, passt die Servomotor-Steuerung 100 den aktuellen Zustand S (d.h. den aktuell eingestellten Blindstrombefehl) auf der Grundlage der Aktionsinformationen fein an, um dadurch in den nächsten Zustand S' (d.h. den korrigierten Blindstrombefehl) überzugehen.
  • Die Wertfunktions-Speichereinheit 204 ist eine Speichervorrichtung, die die Wertfunktion Q speichert. Die Wertfunktion Q kann als Tabelle (im Folgenden als Aktionswerttabelle bezeichnet) für jeden Sättigungs-Satz und jede Aktion A gespeichert werden, zum Beispiel. Die in der Wertfunktions-Speichereinheit 204 gespeicherte Wertefunktion Q wird durch die Wertfunktions-Aktualisierungseinheit 2022 aktualisiert. Darüber hinaus kann die im Wertefunktionsspeicher 204 gespeicherte Wertefunktion Q mit anderen Maschinenlernvorrichtungen 200 geteilt werden. Wenn die Wertfunktion Q von einer Vielzahl von Maschinenlernvorrichtungen 200 gemeinsam genutzt wird, da das bestärkende Lernen so durchgeführt werden kann, dass es auf die jeweiligen Maschinenlernvorrichtungen 200 verteilt wird, ist es möglich, die Effizienz des bestärkenden Lernens zu verbessern.
  • Die Optimierungsaktions-Informationsausgabeeinheit 205 erzeugt die Aktionsinformation A (nachfolgend „Optimierungsaktions-Information“ genannt), um die Servomotor-Steuerung 100 zu veranlassen, einen Vorgang zur Maximierung der Wertfunktion Q(S, A) auf der Grundlage der Wertfunktion Q durchzuführen, die von der Wertfunktions-Aktualisierungseinheit 2022 aktualisiert wird, die das Q-Lernen durchführt. Genauer gesagt, erwirbt die Informationsausgabeeinheit 205 der Optimierungsaktion die in der Speichereinheit 204 der Wertfunktion gespeicherte Wertfunktion Q. Wie vorstehend beschrieben, wird die Wertefunktion Q durch die Wertefunktion Aktualisierungseinheit 2022 aktualisiert, die das Q-Lernen durchführt. Die Optimierungsaktions-Informationsausgabeeinheit 205 erzeugt die Aktionsinformationen auf Basis der Wertfunktion Q und gibt die erzeugten Aktionsinformationen an die Servomotor-Steuerung 100 (die Wechseleinheit 206) aus. Die Optimierungsaktionsinformationen umfassen Informationen, die den Blindstrombefehl ähnlich wie die Aktionsinformationen korrigieren, die die Aktionsinformations-Ausgabeeinheit 203 im Prozess des Q-Lernens ausgibt.
  • In der Servomotor-Steuerung 100 wird der Blindstrombefehl auf Basis der Aktionsinformationen korrigiert, so dass eine Spannungssättigung nicht leicht auftritt. Wie vorstehend beschrieben, ist es durch die Verwendung der Maschinenlernvorrichtung 200 gemäß der vorliegenden Ausführungsform möglich, die Einstellung des Blindstrombefehls in der Servomotor-Steuerung 100 zu vereinfachen.
  • Im Folgenden werden die Funktionsblöcke der Servomotor-Steuerung 100 und der Maschinenlernvorrichtung 200 beschrieben. Um diese Funktionsblöcke zu realisieren, umfassen die Servomotor-Steuerung 100 und die Maschinenlernvorrichtung 200 jeweils eine arithmetische Verarbeitungseinheit wie beispielsweise eine Zentraleinheit (CPU). Die Servomotor-Steuerung 100 und die Maschinenlernvorrichtung 200 umfassen jeweils weiterhin eine Hilfsspeichervorrichtung wie eine Festplatte (HDD) zum Speichern verschiedener Steuerprogramme wie Anwendungssoftware oder ein Betriebssystem (OS) und eine Hauptspeichervorrichtung wie einen Arbeitsspeicher (RAM) zum Speichern von Daten, die vorübergehend benötigt werden, wenn die arithmetische Verarbeitungsvorrichtung ein Programm ausführt.
  • In jeder der Servomotor-Steuerungen 100 und der Maschinenlernvorrichtung 200 liest die arithmetische Verarbeitungsvorrichtung eine Anwendung und ein Betriebssystem aus dem Zusatzspeichergerät und entwickelt die Leseanwendungssoftware und das Betriebssystem im Hauptspeichergerät, um die arithmetische Verarbeitung auf der Grundlage der Leseanwendungssoftware und des Betriebssystems durchzuführen. Die arithmetische Verarbeitungsvorrichtung steuert auch verschiedene Arten von Hardware, die in jeder Vorrichtung bereitgestellt werden, basierend auf dem arithmetischen Ergebnis. Auf diese Weise werden die Funktionsblöcke der vorliegenden Ausführungsform realisiert. Das heißt, die vorliegende Ausführungsform kann durch die Zusammenarbeit von Hard- und Software realisiert werden.
  • Da die Maschinenlernvorrichtung 200 eine große Menge an Berechnungen im Zusammenhang mit dem Maschinenlernen umfasst, ist es wünschenswert, beispielsweise Grafikprozessoren (GPUs) auf einem Personalcomputer zu montieren und eine Technik zu verwenden, die als Universal-Computing auf Grafikprozessoren (GPGPUs) bezeichnet wird. Wenn die GPU für die arithmetische Verarbeitung im Zusammenhang mit dem Maschinenlernen verwendet wird, kann eine Hochgeschwindigkeitsverarbeitung durchgeführt werden. Darüber hinaus kann ein Computercluster unter Verwendung einer Vielzahl von Computern, die mit solchen Grafikprozessoren ausgestattet sind, aufgebaut werden, damit die Maschinenlernvorrichtung 200 eine schnellere Verarbeitung durchführen kann, und die Vielzahl von Computern, die in dem Computercluster enthalten sind, kann eine Parallelverarbeitung durchführen.
  • Anschließend wird ein Betrieb der Maschinenlernvorrichtung 200 während des Q-Lernens gemäß der vorliegenden Ausführungsform mit Bezug auf die Flussdiagramme der 4 und 5 beschrieben. 4 ist ein Flussdiagramm, das den Betrieb der Maschinenlernvorrichtung 200 während des Q-Lernens gemäß der vorliegenden Ausführungsform veranschaulicht, und 5 ist ein Flussdiagramm, das ein Vergütungsberechnungsverfahren in Schritt S13 in 4 veranschaulicht.
  • In Schritt S11 erfasst die Zustandsinformations-Erfassungseinheit 201 die Anfangszustandsinformation S von der Servomotor-Steuerung 100. Die erfassten Zustandsinformationen werden an die Wertfunktions-Aktualisierungseinheit 2022 und die Aktionsinformations-Erzeugungseinheit 2023 ausgegeben. Wie vorstehend beschrieben, ist die Zustandsinformation S eine Information, die dem Zustand im Q-Lernen entspricht und einen Geschwindigkeitsbefehl, einen Effektivstrombefehl, einen Effektivstrom und einen Blindstrom zum Zeitpunkt von Schritt S11 umfasst. Der Blindstrombefehl zum Zeitpunkt von Schritt S11 wird zunächst vom Benutzer eingestellt und in der Aktionsinformations-Erzeugungseinheit 2023 der Maschinenlernvorrichtung 200 gespeichert.
  • Die Aktionsinformations-Erzeugungseinheit 2023 erzeugt einen Blindstrombefehl als Aktionsinformation A und gibt die erzeugten Aktionsinformationen A über die Aktionsinformations-Ausgabeeinheit 203 an die Servomotor-Steuerung 100 aus. Die Servomotor-Steuerung 100, die die Aktionsinformationen empfangen hat, steuert den Servomotor 400 entsprechend dem Zustand S', der den Blindstrombefehl als Aktionsinformation A auf der Grundlage des nach einem Programm erzeugten Positionsbefehls verwendet.
  • In Schritt S12 erfasst die Zustandsinformations-Erfassungseinheit 201 Zustandsinformationen entsprechend einem neuen Zustand S' von der Servomotor-Steuerung 100. Hier umfassen die neuen Zustandsinformationen einen Geschwindigkeitsbefehl, einen Wirkstrombefehl, einen Wirkstrom und einen Blindstrom. Die Zustandsinformations-Erfassungseinheit 201 gibt die erfassten Zustandsinformationen an die Lerneinheit 202 aus.
  • In Schritt S13 berechnet die Vergütungs-Ausgabeeinheit 2021 der Lerneinheit 202 eine Vergütung auf der Grundlage des Effektivstrombefehls, des Effektivstroms und des Blindstroms. Schritt S13 umfasst die Schritte S131 bis S137, wie in 5 dargestellt. In Schritt S131 berechnet die Vergütungs-Ausgabeeinheit 2021 einen Fehler L(S') zwischen dem Wirkstrom und dem Wirkstrombefehl im Zustand S' und bestimmt, ob kein Fehler vorliegt (L(S')=0) oder der Fehler L(S') innerhalb eines vorgegebenen Bereichs liegt, wenn ein Fehler L(S') vorliegt. Wenn kein Fehler vorliegt oder der Fehler L(S') innerhalb eines vorgegebenen Bereichs liegt (Fall 1), setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung in Schritt S132 auf einen ersten positiven Wert. Wenn der Fehler L(S') außerhalb des vorgegebenen Bereichs liegt, aber der Fehler L(S') kleiner ist als der Fehler L(S) zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S (Fall 2), setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf 0 oder einen ersten negativen Wert in Schritt S133. Wenn der Fehler L(S') außerhalb des vorgegebenen Bereichs liegt, aber der Fehler L(S') größer ist als der Fehler L(S) zwischen dem Effektivstrom und dem Effektivstrombefehl im Zustand S (Fall 3), setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung in Schritt S134 auf einen zweiten negativen Wert. Der zweite negative Wert hat einen größeren absoluten Wert als der erste negative Wert.
  • Nachdem Schritt S132 in Schritt S135 ausgeführt wurde, bestimmt die Vergütungs-Ausgabeeinheit 2021, ob der Blindstrom im Zustand S' kleiner als der Blindstrom im Zustand S' ist. Wenn der Blindstrom im Zustand S' kleiner als der Blindstrom im Zustand S' ist, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf den zweiten positiven Wert und addiert die Vergütung zum ersten positiven Wert in Schritt S136. Wenn der Blindstrom im Zustand S' größer (nicht kleiner) als oder gleich dem Blindstrom im Zustand S ist, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf 0 oder einen dritten negativen Wert und addiert die Vergütung zum ersten positiven Wert in Schritt S137.
  • Wie vorstehend beschrieben, kann die Vergütungs-Ausgabeeinheit 2021 zur Unterdrückung der Wärmeentwicklung durch den Blindstrom bei Nichteintritt einer Spannungssättigung eine Vergütung auf der Grundlage des Blindstromwertes berechnen und die berechnete Vergütung der Vergütung auf der Grundlage des Fehlers zwischen dem Effektivstrom und dem Effektivstrombefehl hinzufügen. Das heißt, die Vergütungs-Ausgabeeinheit 2021 addiert die Vergütung basierend auf dem Blindstromwert in den Schritten S136 und S137 und die Vergütung basierend auf den Fehlern L(S') und L(S) des Effektivstroms in Schritt S132. Wenn zwei Vergütungen berechnet werden, können die Vergütungen z.B. gewichtsaddiert werden, ohne auf eine einfache Addition beschränkt zu sein. Darüber hinaus kann ein Durchschnittswert der Vergütung basierend auf dem Blindstromwert und der Vergütungen basierend auf den Fehlern L(S') und L(S) des Effektivstroms berechnet werden. Obwohl beschrieben wurde, dass die Schritte S135 bis S137 später als Schritt S132 ausgeführt werden, können die Schritte gleichzeitig mit oder vor Schritt S132 ausgeführt werden.
  • Wenn einer der Schritte S133, S134, S136 und S137 endet, aktualisiert die Aktualisierungseinheit 2022 die in der Speichereinheit 204 gespeicherte Wertfunktion Q auf der Grundlage des Wertes der im Schritt in Schritt S14 berechneten Vergütung.
  • Anschließend bestimmt die Maschinenlernvorrichtung 200 (z.B. die Aktionsinformations-Erzeugungseinheit 2023) in Schritt S15, ob das Programm ausgeführt wird. Die Ausführung des Programms kann durch die Aktionsinformations-Erzeugungseinheit 2023 z.B. auf Basis des Geschwindigkeitsbefehls bestimmt werden. Wenn das Programm ausgeführt wird, erzeugt die Aktionsinformations-Erzeugungseinheit 2023 einen Blindstrombefehl, der als neue Aktionsinformation in Schritt S16 von 4 dient, und gibt die erzeugten Aktionsinformationen über die Aktionsinformations-Ausgabeeinheit 203 an die Servomotor-Steuerung 100 aus, und der Fluss kehrt zu Schritt S12 zurück. Die Prozesse der Schritte S12 bis S16 werden wiederholt ausgeführt, bis das Programm endet. Wenn die Prozesse der Schritte S12 bis S16 wiederholt ausgeführt werden, konvergiert die Wertfunktion Q zu einem entsprechenden Wert. Obwohl die Aktionsinformations-Erzeugungseinheit 2023 den Prozess beendet, wenn das Programm endet, kann die Aktionsinformations-Erzeugungseinheit 2023 den Prozess beenden, vorausgesetzt, dass die Prozesse der Schritte S12 bis S16 für einen vorbestimmten Zeitraum oder eine vorbestimmte Anzahl von Malen wiederholt ausgeführt werden.
  • Mit den in Anlehnung an 4 und 5 beschriebenen Operationen ist es in der vorliegenden Ausführungsform unter Verwendung der Maschinenlernvorrichtung 200 möglich, eine geeignete Wertefunktion zur Einstellung des Blindstrombefehls zu erhalten und die Optimierung des Blindstrombefehls zu vereinfachen. Als nächstes wird der Betrieb während der Erzeugung der Optimierungsaktionsinformationen durch die Optimierungsaktions-Informationsausgabeeinheit 205 mit Bezug auf das Flussdiagramm von 6 beschrieben. Zunächst erfasst die Optimierungsaktions-Informationsausgabeeinheit 205 in Schritt S21 die in der Wertfunktions-Speichereinheit 204 gespeicherte Wertfunktion Q. Wie vorstehend beschrieben, wird die Wertefunktion Q durch die Wertefunktion Aktualisierungseinheit 2022 aktualisiert, die das Q-Lernen durchführt.
  • In Schritt S22 erzeugt die Ausgabeeinheit 205 die Optimierungsaktionsinformationen auf Basis der Wertfunktion Q und gibt die erzeugten Optimierungsaktionsinformationen an die Servomotor-Steuerung 100 aus.
  • In der vorliegenden Ausführungsform werden mit den mit Bezug auf 6 beschriebenen Operationen die Informationen über die Optimierungsaktion auf der Grundlage der Wertfunktion Q erzeugt, die von der Maschinenlernvorrichtung 200 erhalten wurde, die das Lernen durchführt. Dadurch kann die Servomotor-Steuerung 100 den aktuell eingestellten Blindstrombefehl auf Basis der Optimierungsaktionsinformationen leicht anpassen und die Sättigung eines Spannungsbefehls mit einem kleinen Blindstrom vermeiden. Darüber hinaus wird die folgende Fähigkeit des Effektivstroms in Bezug auf den Effektivstrombefehl verbessert.
  • Die Servomotor-Steuereinheit der vorstehend beschriebenen Servomotor-Steuerung und die in der Maschinenlernvorrichtung enthaltenen Komponenten können durch Hardware, Software oder eine Kombination davon realisiert werden. Das Servomotor-Steuerverfahren, das durch Zusammenwirken der in der vorstehend beschriebenen Servomotor-Steuerung enthaltenen Komponenten durchgeführt wird, kann auch durch Hardware, Software oder eine Kombination davon realisiert werden. Hier bedeutet die Realisierung durch Software, dass sie erfolgt, wenn ein Computer ein Programm liest und ausführt.
  • Die Programme können auf verschiedenen Arten von nicht-flüchtigen, computerlesbaren Medien gespeichert und einem Computer zur Verfügung gestellt werden. Die nicht-flüchtigen, computerlesbaren Medien umfassen verschiedene Arten von materiellen Speichermedien. Beispiele für nicht-flüchtige computerlesbare Medien sind ein magnetisches Aufzeichnungsmedium (z.B. eine flexible Platte, ein Magnetband und ein Festplattenlaufwerk), ein magneto-optisches Aufzeichnungsmedium (z.B. eine magnetooptische Platte), eine CD-ROM (Read Only Memory), eine CD-R, eine CD-R, eine CD-R/W, ein Halbleiterspeicher (z.B. ein Masken-ROM, ein PROM (Programmable ROM), ein EPROM (Erasable PROM), ein Flash-ROM und ein RAM (Random Access Memory)).
  • Die oben beschriebene Ausführungsform ist eine bevorzugte Ausführungsform der vorliegenden Erfindung. Der Umfang der vorliegenden Erfindung beschränkt sich jedoch nicht nur auf die Ausführungsform, sondern die vorliegende Erfindung kann in verschiedenen Modifikationen dargestellt werden, ohne vom Geist der vorliegenden Erfindung abzuweichen.
  • Obwohl die Maschinenlernvorrichtung 200 zwar erkennt, ob die Servomotor-Steuerung unter einem Zustand arbeitet, bei dem aufgrund des Geschwindigkeitsbefehls eine Spannungssättigung auftritt, kann die Maschinenlernvorrichtung 200 beispielsweise erkennen, ob die Servomotor-Steuerung unter einem Zustand arbeitet, bei dem eine Spannungssättigung auf der Grundlage einer Geschwindigkeitsrückführung auftritt. Das heißt, wie in einer Servomotor-Steuerung von 7 dargestellt, kann anstelle des in 2 dargestellten Geschwindigkeitsbefehls eine vom Servomotor 200 zurückgeführte Erfassungsgeschwindigkeit in die Maschinenlernvorrichtung 200 eingegeben werden. Die in 7 dargestellte Servomotor-Steuerung 100 weist die gleiche Konfiguration und Bedienung auf wie die in 2 dargestellte Servomotor-Steuerung 100, mit der Ausnahme, dass anstelle des Geschwindigkeitsbefehls eine Erkennungsgeschwindigkeit in die Maschinenlernvorrichtung 200 eingegeben wird und deren redundante Beschreibung weggelassen wird.
  • Obwohl die vorstehend beschriebene Spannungssättigung in der Servomotor-Steuerung 100 dadurch erkannt wurde, ob der Wirkstrombefehl nicht mit der Wirkstromrückführung identisch ist, aber ein Fehler auftritt, kann die Spannungssättigung dadurch erkannt werden, dass der Spannungsbefehl eine Zwischenkreisspannung überschreitet. 8 ist ein Blockdiagramm einer Servomotor-Steuerung, das ein Beispiel veranschaulicht, in dem ein Spannungsbefehl in die Maschinenlernvorrichtung 200 eingegeben wird. Die in 8 dargestellte Servomotor-Steuerung 100 hat die gleiche Konfiguration und Bedienung wie die in 2 dargestellte Servomotor-Steuerung 100, mit der Ausnahme, dass der Spannungsbefehl in die Maschinenlernvorrichtung 200 eingegeben wird und die redundante Beschreibung entfällt. Die Zwischenkreisspannung wird vorab in der Vergütungs-Ausgabeeinheit 2021 der Maschinenlernvorrichtung 200 gespeichert.
  • Die Vergütungs-Ausgabeeinheit 2021 berechnet die Vergütung daraus, ob der Spannungsbefehl die Zwischenkreisspannung wie folgt überschreitet. 9 ist ein Flussdiagramm, das eine weitere Vergütungsberechnungsmethode in Schritt S13 von 4 veranschaulicht. Die Schritte S131A bis S134A des in 9 dargestellten Flussdiagramms unterscheiden sich von den Schritten S131 bis S134 des in 5 dargestellten Flussdiagramms. In 9 werden die gleichen Schritte wie in 5 durch die gleichen Bezugszeichen gekennzeichnet und die redundante Beschreibung entfällt. In Schritt S131A bestimmt die Vergütungs-Ausgabeeinheit 2021, ob der Spannungsbefehl die Zwischenkreisspannung überschreitet. Wenn der Spannungsbefehl im Zustand S' gleich oder kleiner als die Zwischenkreisspannung (Fall 1A) ist, setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung in Schritt S132A auf einen ersten positiven Wert. Wenn der Spannungsbefehl im Zustand S' die Zwischenkreisspannung überschreitet und kleiner ist als der Spannungsbefehlswert im Zustand S, der die Zwischenkreisspannung überschreitet (Fall 2A), setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf 0 oder einen ersten negativen Wert in Schritt S133A. Wenn der Spannungsbefehl im Zustand S' die Zwischenkreisspannung überschreitet und größer ist als der Spannungsbefehlswert im Zustand S, der die Zwischenkreisspannung überschreitet (Fall 3A), setzt die Vergütungs-Ausgabeeinheit 2021 die Vergütung auf einen zweiten negativen Wert in Schritt S134A. Der zweite negative Wert hat einen größeren absoluten Wert als der erste negative Wert.
  • <Änderung, bei der die Servomotor-Steuerung die Maschinenlernvorrichtung umfasst>
  • Obwohl die Maschinenlernvorrichtung 200 in den oben beschriebenen Ausführungsformen als von der Servomotor-Steuerung 100 getrennte Vorrichtung konfiguriert ist, können einige oder alle Funktionen der Maschinenlernvorrichtung 200 durch die Servomotor-Steuerung 100 realisiert werden. 10 ist ein Blockdiagramm, das eine Servomotor-Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie in 10 dargestellt, hat eine Servomotor-Steuerung 100A die gleiche Konfiguration wie die in 2 dargestellte Servomotor-Steuerung 100, mit der Ausnahme, dass sie eine Maschinenlernvorrichtung 200A umfasst. Die in der Servomotor-Steuerung enthaltene Maschinenlernvorrichtung ist eine Form der Maschinenlernvorrichtung, die Maschinenlernen in Bezug auf die Servomotor-Steuerung durchführt. Da die Geschwindigkeitsbefehlseinheit 101, die Geschwindigkeitssteuereinheit 103 und die Stromsteuereinheit 106 in der Nähe der Maschinenlernvorrichtung 200A vorgesehen sind, wird die Verzögerung der jeweiligen Signale eines Geschwindigkeitsbefehls, eines Wirkstrombefehls, eines Effektivstroms, eines Wirkstroms und eines Blindstroms unterdrückt.
  • <Freiheit in der Systemkonfiguration>
  • In der oben beschriebenen Ausführungsform sind die Maschinenlernvorrichtung 200 und die Servomotor-Steuerung 100 als Eins-zu-Eins-Korrelation kommunizierbar verbunden. So können beispielsweise eine Maschinenlernvorrichtung 200 und eine Vielzahl von Servomotor-Steuerungen 200 über das Netzwerk 300 kommunizierbar verbunden und das Maschinenlernen jeder der Servomotor-Steuerungen 200 durchgeführt werden. In diesem Fall kann ein verteiltes Verarbeitungssystem eingesetzt werden, in dem die jeweiligen Funktionen der Maschinenlernvorrichtung 200 gegebenenfalls auf eine Vielzahl von Servern verteilt sind. Die Funktionen der Maschinenlernvorrichtung 200 können durch die Verwendung einer virtuellen Serverfunktion oder dergleichen in einer Cloud realisiert werden. Wenn es eine Vielzahl von Maschinenlernvorrichtungen 200-1 bis 200-n gibt, die einer Vielzahl von Servomotor-Steuerungen 100-1 bis 100-n mit dem gleichen Typennamen, der gleichen Spezifikation oder der gleichen Serie entsprechen, können die Maschinenlernvorrichtungen 200-1 bis 200-n konfiguriert werden, um Lernergebnisse in den Maschinenlernvorrichtungen 200-1 bis 200-n zu teilen. Auf diese Weise kann ein optimaleres Modell erstellt werden.
  • Bezugszeichenliste
  • 10
    Servomotor-Steuerungssystem
    100
    Servomotor-Steuerung
    101
    Geschwindigkeits-Steuereinheit
    102
    Subtrahierer
    103
    Geschwindigkeitssteuereinheit
    104
    Subtrahierer
    105
    Subtrahierer
    106
    Stromsteuereinheit
    107
    Antriebsverstärker
    108
    Dreiphasen-zu-Zweiphasen-Wandler
    200
    Maschinenlernvorrichtung
    201
    Zustandsinformations-Erfassungseinheit
    202
    Lerneinheit
    203
    Aktionsinformations-Ausgabeeinheit
    204
    Wertfunktions-Speichereinheit
    205
    Optimierungsaktions-Informationsausgabeeinheit
    300
    Netzwerk
    400
    Motor

Claims (8)

  1. Maschinenlernvorrichtung (200), die Maschinenlernen in Bezug auf eine Servomotor-Steuerung (100) zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phase durchführt, um eine Stromregelung an einem Servomotor (400) durchzuführen, wobei die Maschinenlernvorrichtung umfasst: eine Zustandsinformations-Erfassungseinheit (201) zum Erfassen, von der Servomotor-Steuerung, von Zustandsinformationen, die wenigstens Geschwindigkeit oder einen Geschwindigkeitsbefehl, Blindstrom und einen Wirkstrombefehl und einen Effektivstrom oder Spannungsbefehl umfassen, indem sie bewirkt, dass die Servomotor-Steuerung ein vorgegebenes Programm ausführt; eine Aktionsinformations-Ausgabeeinheit (203) zum Ausgeben von Aktionsinformationen, die einen Blindstrombefehl umfassen, an die Servomotor-Steuerung; eine Vergütungs-Ausgabeeinheit (2021) zum Ausgeben eines Wertes einer Vergütung für bestärkendes Lernen basierend auf dem Spannungsbefehl oder dem Wirkstrombefehl und dem in den Zustandsinformationen enthaltenen Wirkstrom; und eine Wertfunktions-Aktualisierungseinheit (2022) zum Aktualisieren einer Wertfunktion auf der Grundlage des Wertes der von der Vergütungs-Ausgabeeinheit ausgegebenen Vergütung, der Zustandsinformationen und der Aktionsinformationen.
  2. Maschinenlernvorrichtung nach Anspruch 1, wobei die Vergütungs-Ausgabeeinheit den Wert der Vergütung bestimmt, basierend darauf, ob eine Spannungssättigung auftritt.
  3. Maschinenlernvorrichtung nach Anspruch 2, wobei die Spannungssättigung dadurch erfasst wird, ob der Spannungsbefehl eine Zwischenkreisspannung oder einen Fehler zwischen dem Effektivstrom und dem Effektivstrombefehl überschreitet.
  4. Maschinenlernvorrichtung nach Anspruch 2 oder 3, wobei die Vergütungs-Ausgabeeinheit die Vergütung bestimmt und eine Vergütung auf der Grundlage des Blindstromwertes bestimmt, wenn die Spannungssättigung nicht eintritt.
  5. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 4, des Weiteren umfassend: eine Optimierungsaktions-Informationsausgabeeinheit (205) zum Erzeugen und Ausgeben des Blindstrombefehls auf der Grundlage der durch die Wertfunktionsaktualisierungseinheit aktualisierten Wertfunktion.
  6. Servomotor-Steuerungssystem, umfassend: die Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 5; und eine Servomotor-Steuerung zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phase, um eine Stromregelung eines Servomotors durchzuführen.
  7. Servomotor-Steuerung, umfassend die Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Servomotor-Steuerung einen Drehstrom in einen Zweiphasenstrom der d- und q-Phase umwandelt, um eine Stromregelung an einem Servomotor durchzuführen.
  8. Maschinenlernverfahren einer Maschinenlernvorrichtung, die Maschinenlernen in Bezug auf eine Servomotor-Steuerung zum Umwandeln eines Drehstroms in einen Zweiphasenstrom der d- und q-Phase durchführt, um eine Stromregelung an einem Servomotor durchzuführen, wobei das Maschinenlernverfahren umfasst: Erfassen, von der Servomotor-Steuerung, von Zustandsinformationen, einschließlich wenigstens Geschwindigkeit oder einem Geschwindigkeitsbefehl, Blindstrom und einem Effektivstrombefehl und Effektivstrom oder einem Spannungsbefehl, durch Veranlassen der Servomotor-Steuerung, ein vorgegebenes Programm auszuführen; Ausgeben von Aktionsinformationen, einschließlich eines Blindstrombefehls, an die Servomotor-Steuerung; Aktualisieren einer Wertfunktion auf der Grundlage der Zustandsinformationen, der Aktionsinformationen und eines Wertes einer Vergütung für das bestärkende Lernen basierend auf dem Spannungsbefehl oder dem Effektivstrombefehl und dem in den Zustandsinformationen enthaltenen Effektivstrom.
DE102019201473.9A 2018-02-08 2019-02-06 Maschinenlernvorrichtung, Servomotor-Steuerung, Servomotorsteuerungssystem und Maschinenlernverfahren Pending DE102019201473A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-020919 2018-02-08
JP2018020919A JP6740263B2 (ja) 2018-02-08 2018-02-08 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法

Publications (1)

Publication Number Publication Date
DE102019201473A1 true DE102019201473A1 (de) 2019-08-08

Family

ID=67308560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019201473.9A Pending DE102019201473A1 (de) 2018-02-08 2019-02-06 Maschinenlernvorrichtung, Servomotor-Steuerung, Servomotorsteuerungssystem und Maschinenlernverfahren

Country Status (4)

Country Link
US (1) US10684594B2 (de)
JP (1) JP6740263B2 (de)
CN (1) CN110138296B (de)
DE (1) DE102019201473A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187074B (zh) * 2020-09-15 2022-04-19 电子科技大学 一种基于深度强化学习的逆变器控制器
CN114268259B (zh) * 2021-12-28 2023-06-30 郑州大学 用于永磁同步电机的多目标控制方法、控制器及控制系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0984400A (ja) 1995-09-14 1997-03-28 Fanuc Ltd サーボモータの電流制御方法
JP2000324879A (ja) * 1999-05-14 2000-11-24 Matsushita Electric Ind Co Ltd モータ制御装置
JP6140225B2 (ja) * 2015-07-31 2017-05-31 ファナック株式会社 磁束制御器を有するモータ制御装置、ならびに機械学習装置およびその方法
JP6088604B1 (ja) * 2015-08-27 2017-03-01 ファナック株式会社 磁束制御部を有する電動機制御装置、ならびに機械学習装置およびその方法
JP5969676B1 (ja) * 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械
JP6658023B2 (ja) * 2016-02-04 2020-03-04 株式会社明電舎 埋込磁石同期モータの電流指令テーブル自動生成システムおよび電流指令テーブル自動生成方法
JP6506219B2 (ja) * 2016-07-21 2019-04-24 ファナック株式会社 モータの電流指令を学習する機械学習器,モータ制御装置および機械学習方法

Also Published As

Publication number Publication date
CN110138296A (zh) 2019-08-16
CN110138296B (zh) 2021-08-06
JP2019140765A (ja) 2019-08-22
JP6740263B2 (ja) 2020-08-12
US20190243318A1 (en) 2019-08-08
US10684594B2 (en) 2020-06-16

Similar Documents

Publication Publication Date Title
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
DE102006045429B4 (de) Adaptive, Modellprädiktive Online-Steuerung in einem Prozesssteuerungssystem
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102017002996B4 (de) Maschinenlernvorrichtung, die ein lernen unter verwendung eines simulationsergebnisses durchführt, maschinensystem, herstellungssystem und maschinenlernverfahren
DE102019204861B4 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018202654B4 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102020201613A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed