DE102018003769A1 - Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen - Google Patents

Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen Download PDF

Info

Publication number
DE102018003769A1
DE102018003769A1 DE102018003769.0A DE102018003769A DE102018003769A1 DE 102018003769 A1 DE102018003769 A1 DE 102018003769A1 DE 102018003769 A DE102018003769 A DE 102018003769A DE 102018003769 A1 DE102018003769 A1 DE 102018003769A1
Authority
DE
Germany
Prior art keywords
control
control unit
learning
machine learning
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102018003769.0A
Other languages
English (en)
Other versions
DE102018003769B4 (de
Inventor
Shougo SHINODA
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 DE102018003769A1 publication Critical patent/DE102018003769A1/de
Application granted granted Critical
Publication of DE102018003769B4 publication Critical patent/DE102018003769B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

Eine Steuerungsverstärkung wird entsprechend einer Phase eines Motors geeignet eingestellt. Eine Vorrichtung für maschinelles Lernen (100), die ein bestärkendes Lernen hinsichtlich einer Servosteuervorrichtung (200) ausführt, die einen Betrieb einer Steuerzielvorrichtung (300) steuert, die einen Motor (32) aufweist, umfasst: eine Einrichtung (13) zur Ausgabe von Aktionsinformationen zur Ausgabe Aktionsinformationen, die Informationen zur Einstellung von Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung umfassen, an eine Steuereinheit (23, 25, 27), die in die Servosteuervorrichtung (200) eingegliedert ist; eine Einrichtung (11) zum Abrufen von Zustandsinformationen zum Abrufen von Zustandsinformationen, die eine Abweichung zwischen einem tatsächlichen Betrieb der Steuerzielvorrichtung (300) und einem in die Steuereinheit (23, 25, 27) eingegebenen Befehl, eine Phase des Motors (32), und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung bei der Betätigung der Steuerzielvorrichtung (300) durch die Steuereinheit (23, 25, 27) auf der Grundlage der Aktionsinformationen umfassen, von der Servosteuervorrichtung (200); eine Belohnungsausgabeeinrichtung (121) zur Ausgabe eines Werts einer Belohnung beim bestärkenden Lernen auf der Grundlage der in den Zustandsinformationen enthaltenen Abweichung und eine Einrichtung (122) zur Aktualisierung der Wertefunktion zur Aktualisierung einer Aktionswertefunktion auf der Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft eine Vorrichtung für maschinelles Lernen, eine Servosteuervorrichtung und ein Verfahren zum maschinellen Lernen zum Durchführen eines eine Servosteuerung betreffenden maschinellen Lernens.
  • Verwandte Technik
  • Herkömmlicherweise ist eine Technik zur geeigneten Steuerung einer als Ziel einer Servosteuerung dienenden Werkzeugmaschine oder dergleichen durch Ausführen eines eine Servosteuerung betreffenden maschinellen Lernens bekannt. Bei der in Patentschrift 1 offenbarten Technik werden beispielsweise eine Last, eine Temperatur und eine Vibration einer Hauptwelle als Zustand überwacht. Auf der Grundlage dieses überwachten Zustands wird durch bestärkendes Lernen eine Wertefunktion zur Korrektur eines Betriebsbefehls erlernt. Nach Abschluss des Lernens kann unter Verwendung der auf diese Weise erlernten Wertefunktion der Betriebsbefehl einer Situation entsprechend korrigiert werden, ohne dass eine Korrekturhandlung eines Bedieners erforderlich ist.
  • Patentschrift 1: Ungeprüfte japanische Patentanmeldung, Veröffentlichung Nr. H7-210207
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Wenn jedoch ein Motor wie ein Servomotor angetrieben wird, verändert sich die Induktivität des Motors entsprechend der Phase des Motors. Wenn daher eine Steuerungsverstärkung zur Steuerung des Antriebs eines Motors konstant bleibt, dreht sich der Motor bei einer Veränderung der Induktivität ungleichmäßig. Zur Unterdrückung einer ungleichmäßigen Drehung ist es erforderlich, die Steuerungsverstärkung entsprechend der Phase des Motors einzustellen. Gemäß einer üblichen Technik erfolgt jedoch keine Einstellung der Steuerungsverstärkung entsprechend der Phase eines Motors. Bei der in Patentschrift 1 offenbarten Technik ist beispielsweise keine Berücksichtigung der Phase des Motors und keine Einstellung einer Steuerungsverstärkung beschrieben, obwohl beschrieben ist, dass der einer Werkzeugmaschine zugeführte Betriebsbefehl entsprechend einer Last, einer Temperatur und einer Vibration korrigiert wird. Selbst wenn gemäß einer üblichen Technik die Einstellung einer Steuerungsverstärkung ausgeführt wird, ist die Einstellung nicht leicht, weil sich die Phase des Motors innerhalb sehr kurzer Zeit augenblicklich verändert.
  • In Anbetracht des Vorstehenden ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung für maschinelles Lernen, ein Servosteuersystem und ein Verfahren zum maschinellen Lernen bereitzustellen, die zum geeigneten Einstellen einer Steuerungsverstärkung entsprechend einer Phase eines Motors geeignet sind.
    1. (1) Eine Vorrichtung für maschinelles Lernen (beispielsweise eine später beschriebene Vorrichtung 100 für maschinelles Lernen) gemäß der vorliegenden Erfindung ist eine Vorrichtung für maschinelles Lernen, die ein bestärkendes Lernen hinsichtlich einer Servosteuervorrichtung (beispielsweise einer später beschriebenen Servosteuervorrichtung 200) ausführt, die einen Betrieb einer Steuerzielvorrichtung (beispielsweise einer später beschriebenen Steuerzielvorrichtung 300) steuert, die einen Motor (beispielsweise einen später beschriebenen Motor 32) aufweist, wobei die Vorrichtung für maschinelles Lernen umfasst: eine Einrichtung zur Ausgabe von Aktionsinformationen (beispielsweise ein später beschriebenes Element 13 zur Ausgabe von Aktionsinformationen) zur Ausgabe von Aktionsinformationen, die Informationen zur Einstellung von Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung an eine Steuereinheit (beispielsweise eine Positionssteuereinheit 23, eine Drehzahlsteuereinheit 25 und eine Stromsteuereinheit 27, die später beschrieben werden) umfassen, die in die Servosteuervorrichtung eingegliedert ist; eine Einrichtung zum Abrufen von Zustandsinformationen (beispielsweise ein später beschriebenes Element 11 zum Abrufen von Zustandsinformationen) zum Abrufen von Zustandsinformationen, die eine Abweichung zwischen einem tatsächlichen Betrieb der Steuerzielvorrichtung und einem in die Steuereinheit eingegebenen Befehl, eine Phase des Motors und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung bei der Betätigung der Steuerzielvorrichtung durch die Steuereinheit auf der Grundlage der Aktionsinformationen umfassen, von der Servosteuervorrichtung; eine Belohnungsausgabeeinrichtung (beispielsweise ein später beschriebenes Element 121 zur Ausgabe einer Belohnung) zur Ausgabe eines Werts einer Belohnung beim bestärkenden Lernen auf der Grundlage der in den Zustandsinformationen enthaltenen Abweichung; und Einrichtung zur Aktualisierung der Wertefunktion (beispielsweise ein später beschriebenes Element 122 zur Aktualisierung der Wertefunktion) zur Aktualisierung einer Aktionswertefunktion auf der Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.
    2. (2) Bei der Vorrichtung für maschinelles Lernen gemäß (1) kann die Servosteuervorrichtung eine Servosteuervorrichtung sein, die eine Feedbacksteuerung zur Korrektur des in die Steuereinheit eingegebenen Befehls ausführt, und die Einrichtung zum Abrufen von Zustandsinformationen kann eine Differenz zwischen dem in die Steuereinheit eingegebenen Befehl und einem Feedbackwert der Feedbacksteuerung als Abweichung abrufen.
    3. (3) Bei der Vorrichtung für maschinelles Lernen gemäß (1) oder (2) kann die Steuereinheit eine Kombination von Steuereinheiten sein, die eine Positionssteuerung, eine Drehzahlsteuerung und eine Stromsteuerung ausführen, und die Vorrichtung für maschinelles Lernen kann die Steuereinheit, die die Stromsteuerung ausführt, die Steuereinheit, die die Drehzahlsteuerung ausführt, und die Steuereinheit, die die Positionssteuerung ausführt, in dieser Reihenfolge als Ziel für das bestärkende Lernen auswählen, wenn die Vorrichtung für maschinelles Lernen das bestärkende Lernen durch Auswählen einer der Steuereinheiten als Ziel ausführt, und dann das bestärkende Lernen durch Auswählen einer weiteren Steuereinheit als Ziel ausführen.
    4. (4) Bei der Vorrichtung für maschinelles Lernen gemäß einem der Punkte (1) bis (3) kann die Phase des Motors auf der Grundlage eines Positionsbefehls zur Steuerung des Betriebs der Steuerzielvorrichtung berechnet werden.
    5. (5) Bei der Vorrichtung für maschinelles Lernen gemäß einem der Punkte (1) bis (4) kann die Übertragungsfunktion der Steuerungsverstärkung eine Phase des Motors als Variable umfassen.
    6. (6) Ein Servosteuersystem der vorliegenden Erfindung ist ein Servosteuersystem, das die Vorrichtung für maschinelles Lernen gemäß einem der Punkte (1) bis (5) und die Servosteuervorrichtung umfasst, wobei die Servosteuervorrichtung eine Phasenberechnungseinrichtung (beispielsweise ein später beschriebenes Element 21 zur Berechnung der Phase) zur Berechnung einer Phase des Motors auf der Grundlage eines Positionsbefehls zur Steuerung eines Betriebs der Steuerzielvorrichtung und zur Ausgabe der berechneten Phase des Motors an die Einrichtung zum Abrufen von Zustandsinformationen und die Steuereinheit umfasst.
    1. (1) Ein Verfahren zum maschinellen Lernen gemäß der vorliegenden Erfindung ist ein Verfahren zum maschinellen Lernen für eine Vorrichtung für maschinelles Lernen (beispielsweise eine später beschriebene Vorrichtung 100 für maschinelles Lernen), die ein bestärkendes Lernen hinsichtlich einer Servosteuervorrichtung (beispielsweise einer später beschriebenen Servosteuervorrichtung 200) ausführt, die einen Betrieb einer Steuerzielvorrichtung (beispielsweise einer später beschriebenen Steuerzielvorrichtung 300) steuert, die einen Motor (beispielsweise einen später beschriebenen Motor 32) aufweist, wobei das Verfahren zum maschinellen Lernen umfasst: einen Schritt der Ausgabe von Aktionsinformationen zur Ausgabe von Aktionsinformationen, die Informationen zur Einstellung von Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung an eine Steuereinheit (beispielsweise eine Positionssteuereinheit 23, eine Drehzahlsteuereinheit 25 und eine Stromsteuereinheit 27, die später beschrieben werden) umfassen, die in die Servosteuervorrichtung eingegliedert ist; einen Schritt des Abrufs von Zustandsinformationen zum Abrufen von Zustandsinformationen, die eine Abweichung zwischen einem tatsächlichen Betrieb der Steuerzielvorrichtung und einem in die Steuereinheit eingegebenen Befehl, eine Phase des Motors und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung beim Betrieb der Steuerzielvorrichtung durch die Steuereinheit auf der Grundlage der Aktionsinformationen umfassen, von der Servosteuervorrichtung; einen Schritt der Ausgabe einer Belohnung zur Ausgabe eines Werts einer Belohnung beim bestärkenden Lernen auf der Grundlage der in den Zustandsinformationen enthaltenen Abweichung und einen Schritt der Aktualisierung einer Wertefunktion zur Aktualisierung einer Aktionswertefunktion auf der Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.
  • Mit der vorliegenden Erfindung ist es möglich, die Steuerungsverstärkung entsprechend der Phase eines Motors geeignet einzustellen.
  • Figurenliste
    • 1 ist ein funktionales Blockdiagramm, das eine Gesamtgrundkonfiguration einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 2 ist ein funktionales Blockdiagramm, das Komponenten einer Servosteuervorrichtung, Komponenten einer Steuerzielvorrichtung und den Signalfluss gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
    • 3 ist ein schematisches Diagramm, das die Berechnung einer Phase eines Motors gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
    • 4 ist ein funktionales Blockdiagramm, das eine Konfiguration einer Vorrichtung für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
    • 5 ist ein Ablaufdiagramm zur Beschreibung eines Arbeitsablaufs beim maschinellen Lernen bei der Vorrichtung für maschinelles Lernen gemäß der Ausführungsform der vorliegenden Erfindung.
    • 6 ist ein Ablaufdiagramm zur Beschreibung eines Arbeitsablaufs bei der Ausgabe von optimalen Aktionsinformationen bei der Vorrichtung für maschinelles Lernen gemäß der Ausführungsform gemäß der vorliegenden Ausführungsform.
    • 7 ist ein schematisches Diagramm zur Beschreibung der Vorteile der Ausführungsform der vorliegenden Erfindung.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Nachstehend werden unter Bezugnahme auf die Zeichnungen Ausführungsformen gemäß der vorliegenden Erfindung im Einzelnen beschrieben.
  • <Gesamtkonfiguration der Ausführungsform>
  • 1 ist ein funktionales Blockdiagramm, das eine Gesamtkonfiguration eines Servosteuersystems 1 gemäß der vorliegenden Ausführungsform zeigt. Wie in 1 gezeigt, umfasst das Servosteuersystem 1 eine Vorrichtung 100 für maschinelles Lernen, eine Servosteuervorrichtung 200 und eine Steuerzielvorrichtung 300.
  • Die Vorrichtung 100 für maschinelles Lernen ist eine Vorrichtung zum Durchführen eines maschinellen Lernens zum Einstellen einer Steuerungsverstärkung der Servosteuervorrichtung 200. Durch das maschinelle Lernen ermittelt die Vorrichtung 100 für maschinelles Lernen optimale Koeffizienten einer Übertragungsfunktion der Steuerungsverstärkung. Die Vorrichtung 100 für maschinelles Lernen kann durch einen Personal Computer, eine Servervorrichtung, eine computerisierte numerische Steuerung (CNC) oder dergleichen realisiert werden.
  • Die Servosteuervorrichtung 200 ist eine Vorrichtung, die den Antrieb der Steuerzielvorrichtung 300 durch Ausführen einer Feedbacksteuerung steuert. Darüber hinaus werden von der Vorrichtung 100 für maschinelles Lernen die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Servosteuervorrichtung 200 eingestellt.
  • Die Steuerzielvorrichtung 300 ist eine Vorrichtung, die einen Servomotor aufweist, der unter der Steuerung durch die Servosteuervorrichtung 200 angetrieben wird. Die Steuerzielvorrichtung 300 kann beispielsweise durch eine Werkzeugmaschine, einen Roboter, eine Industriemaschine oder dergleichen realisiert werden. Die vorstehend beschriebene Servosteuervorrichtung 200 kann als einzelne Vorrichtung oder als Teil einer derartigen Werkzeugmaschine, eines Roboters, einer Industriemaschine oder dergleichen realisiert werden.
  • Die Vorrichtung 100 für maschinelles Lernen und die Servosteuervorrichtung 200 stehen in Kommunikationsverbindung miteinander. Die Servosteuervorrichtung 200 und die Steuerzielvorrichtung 300 stehen ebenfalls in Kommunikationsverbindung miteinander. Eine derartige Kommunikation kann beispielsweise durch ein in einer Betriebsstätte installiertes LAN (local area network, lokales Netzwerk) realisiert werden. Darüber hinaus kann eine derartige Kommunikation entweder eine kabelgebundene Kommunikation oder eine drahtlose Kommunikation oder eine Kombination von beidem sein. Hinsichtlich des Kommunikationsstandards und dergleichen bestehen keine besonderen Beschränkungen. Eine derartige Kommunikation kann über ein (nicht dargestelltes) Netz wie das Internet oder ein öffentliches Telefonnetz erfolgen. In diesem Fall können jeweilige Vorrichtungen beieinander (beispielsweise in einem Fertigungsbetrieb) oder an voneinander entfernten Stellen getrennt vorgesehen sein. Obwohl jede der Figuren eine einzelne Vorrichtung für jeden Typ derartiger Vorrichtungen darstellt, besteht keine Beschränkung hinsichtlich der Anzahl jedes Typs dieser Vorrichtungen. Zudem kann ihre Verbindung eine Punkt-zu-Mehrpunkt- oder eine Mehrpunkt-zu-Mehrpunkt-Verbindung, nicht aber nur eine Punkt-zu-Punkt-Verbindung sein.
  • <Feedbacksteuerung>
  • Als nächstes werden unter Bezugnahme auf 2 eine genaue Konfiguration der Servosteuervorrichtung 200 und der Steuerzielvorrichtung 300 sowie der Fluss der Feedbacksignale beschrieben.
  • Wie in 2 gezeigt, umfasst die vorliegende Ausführungsform die Vorrichtung 100 für maschinelles Lernen, ein Element 21 zur Berechnung der Phase, eine Subtrahiereinrichtung 22, eine Positionssteuereinheit 23, eine Subtrahiereinrichtung 24, eine Drehzahlsteuereinheit 25, eine Subtrahiereinrichtung 26, eine Stromsteuereinheit 27 und eine Integrationseinrichtung 28, die die Komponenten der Servosteuervorrichtung 200 sind, und einen Antriebsverstärker 31, einen Motor 32 und eine Maschine 33, die die Komponenten der Steuerzielvorrichtung 300 sind. Eine genaue Konfiguration der Vorrichtung 100 für maschinelles Lernen wird später unter Bezugnahme auf 4 beschrieben.
  • Bei der vorliegenden Ausführungsform führen die Positionssteuereinheit 23, die Subtrahiereinrichtung 24 und die Stromsteuereinheit 27 durch Ausführen einer Proportionalrechnung, einer Integration und einer Differentiation eine PID-Steuerung als Feedbacksteuerung aus. Da Fachleuten eine grundsätzliche Funktionsweise der die Feedbacksteuerung ausführenden Servosteuervorrichtung selbst sowie der PID-Steuerung allgemein bekannt ist, wird auf ihre genaue Beschreibung verzichtet.
  • Als nächstes wird unter Bezugnahme auf 2 der Signalfluss beim maschinellen Lernen beschrieben. Zunächst wird der die Feedbacksteuerung betreffende Signalfluss beschrieben, und als nächstes wird der das maschinelle Lernen betreffende Signalfluss beschrieben.
  • Zunächst wird von einer übergeordneten Vorrichtung (beispielsweise einer numerischen Steuereinheit) oder einem nicht dargestellten Element zur Erzeugung eines Positionsbefehls ein Positionsbefehl zur Steuerung des Antriebs der Steuerzielvorrichtung 300 in die Servösteuervorrichtung 200 eingegeben. Der Positionsbefehl wird auf der Grundlage eines Programms erzeugt, das die Steuerzielvorrichtung 300 betätigt. Hier wird bei der vorliegenden Ausführungsform das maschinelle Lernen hinsichtlich eines Betriebs ausgeführt, bei dem ein Rotor des Motors 32 mit einer konstanten Drehzahl eine oder mehrere Umdrehungen in einer positiven Richtung und/oder einer negativen Richtung ausführt. Daher ist ein Positionsbefehl beim maschinellen Lernen ein Positionsbefehl zum Ausführen eines Betriebs, bei dem ein Rotor des Motors 32 mit einer konstanten Drehzahl eine oder mehrere Umdrehungen in einer positiven Richtung und/oder einer negativen Richtung ausführt. Der eingegebene Positionsbefehl wird verzweigt und an das Element 21 zur Berechnung der Phase und die Subtrahiereinrichtung 22 ausgegeben. Von dem an die Subtrahiereinrichtung 22 ausgegebenen Positionsbefehl wird in der Subtrahiereinrichtung 22 ein Positionsfeedbackwert subtrahiert, und eine Positionsabweichung, die eine Abweichung zwischen dem Positionsbefehl und dem Positionsfeedbackwert ist, wird in die Positionssteuereinheit 23 eingegeben. Die Positionsabweichung wird verzweigt und auch in die Vorrichtung 100 für maschinelles Lernen eingegeben.
  • Die Positionssteuereinheit 23 erzeugt anhand der eingegebenen Positionsabweichung entsprechend einer durch „K3P(Θ) + K3I(Θ): s + K3D(Θ)s“ ausgedrückten Übertragungsfunktion K3(s, Θ) der Steuerungsverstärkung, wobei K3P(Θ) eine Proportionalverstärkung, K3I(Θ) eine Integralverstärkung und K3D(Θ) eine Differentialverstärkung ist, einen Drehzahlbefehl und gibt den erzeugten Drehzahlbefehl an die Drehzahlsteuereinheit 25 aus. Die Variable Θ der Übertragungsfunktion jeder Steuerungsverstärkung ist die Phase des Motors 32. Die Phase des Motors 32 wird von dem Element 21 zur Berechnung der Phase berechnet und an die Steuereinheiten, die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27, ausgegeben. Ein Verfahren zur Berechnung der Phase in dem Element 21 zur Berechnung der Phase wird später unter Bezugnahme auf 3 beschrieben. Von dem von der Positionssteuereinheit 23 ausgegebenen Drehzahlbefehl wird in der Subtrahiereinrichtung 24 ein Drehzahlfeedbackwert subtrahiert, und eine Drehzahlabweichung, die eine Abweichung zwischen dem Drehzahlbefehl und dem Drehzahlfeedbackwert ist, wird in die Drehzahlsteuereinheit 25 eingegeben. Die Drehzahlabweichung wird verzweigt und auch in die Vorrichtung 100 für maschinelles Lernen eingegeben.
  • Die Drehzahlsteuereinheit 25 erzeugt anhand der eingegebenen Drehzahlabweichung entsprechend einer durch „K2P(Θ) + K2I(Θ) : s + K2D(Θ) s“ ausgedrückten Übertragungsfunktion K2(s, Θ) der Steuerungsverstärkung, wobei K2P(Θ) eine Proportionalverstärkung, K2I(Θ) eine Integralverstärkung und K2D(Θ) eine Differentialverstärkung ist, einen Strombefehl und gibt den erzeugten Strombefehl an die Stromsteuereinheit 27 aus. Von dem von der Drehzahlsteuereinheit 25 ausgegebenen Strombefehl wird in der Subtrahiereinrichtung 26 ein Stromfeedbackwert subtrahiert, und eine Stromabweichung, die eine Abweichung zwischen dem Drehzahlbefehl und dem Stromfeedbackwert ist, wird in die Stromsteuereinheit 27 eingegeben. Die Stromabweichung wird verzweigt und auch in die Vorrichtung 100 für maschinelles Lernen eingegeben.
  • Die Stromsteuereinheit 27 erzeugt anhand der eingegebenen Stromabweichung entsprechend einer durch „K1P(Θ) + K1I(Θ) : s + K1D(Θ)s“ ausgedrückten Übertragungsfunktion K1(s, Θ) der Steuerungsverstärkung, wobei K1P(Θ) eine Proportionalverstärkung, K1I(Θ) eine Integralverstärkung und K1D(Θ) eine Differentialverstärkung ist, einen Spannungsbefehl und gibt den erzeugten Spannungsbefehl an den Antriebsverstärker 31 aus.
  • Der Antriebsverstärker 31 erzeugt auf der Grundlage des Spannungsbefehls einen Antriebsstrom zum Antreiben des Motors 32, der ein Servomotor ist, und gibt den erzeugten Antriebsstrom an den Motor 32 aus. Der Antriebsstrom wird verzweigt und als Stromfeedbackwert in die Subtrahiereinrichtung 26 eingegeben. Die Subtrahiereinrichtung 26 subtrahiert, wie vorstehend beschrieben, einen Stromfeedbackwert von einem eingegebenen Wert.
  • Der Motor 32 dreht sich entsprechend dem eingegebenen Antriebsstrom. Auf diese Weise wird die mit dem Motor 32 verbundene Maschine 33 betrieben. Die Maschine 33 ist ein Tisch, auf dem ein Bearbeitungsziel (ein Werkstück) aufgespannt ist. In diesem Fall ist die Maschine 33 über einen Verbindungsmechanismus wie eine (nicht dargestellte) Kugelrollspindel mit dem Motor 32 verbunden. Die Drehbewegung des Motors 32 wird von der Kugelrollspindel in eine lineare Bewegung umgewandelt. Auf diese Weise bewegt die Maschine 33 das Bearbeitungsziel (das Werkstück) an eine dem Positionsbefehl entsprechende vorgegebene Position.
  • Hier ist ein (nicht dargestellter) Drehzahldetektor an dem Motor 32 angebracht. Ein von dem Drehzahldetektor erfasster Drehzahlfeedbackwert wird verzweigt und an die Subtrahiereinrichtung 24 und die Integrationseinrichtung 28 ausgegeben. Die Subtrahiereinrichtung 24 subtrahiert den Drehzahlfeedbackwert wie vorstehend beschrieben von einem eingegebenen Wert.
  • Die Integrationseinrichtung 28 erzeugt durch Integrieren des Drehzahlfeedbackwerts einen Positionsfeedbackwert. Die Integrationseinrichtung 28 gibt den erzeugten Positionsfeedbackwert an die Subtrahiereinrichtung 22 aus. Der Motor 32 subtrahiert den Positionsfeedbackwert wie vorstehend beschrieben von einem eingegebenen Wert.
  • Hier tritt aufgrund des Einflusses einer Last zum Antreiben der Steuerzielvorrichtung 300 oder einer Störung eine Positionsabweichung zwischen dem Positionsbefehl, der ein Sollwert ist, und dem Positionsfeedbackwert auf, der ein ausgegebener Wert ist. Die vorstehend beschriebene Feedbacksteuerung wird zur Verringerung der Positionsabweichung wiederholt ausgeführt. Vorstehend wurde der Ablauf der Feedbacksteuerung beschrieben.
  • <Berechnung der Phase des Motors 32>
  • Bei der vorliegenden Ausführungsform ist der der Phase des Motors 32 entsprechende Wert Θ, wie vorstehend beschrieben, zur geeigneten Einstellung der Steuerungsverstärkung entsprechend der Phase des Motors 32 als Variable der Übertragungsfunktion der Steuerungsverstärkung einbezogen. Als nächstes wird unter Bezugnahme auf 3 die Berechnung der Phase des Motors 32 durch das Element 21 zur Berechnung der Phase beschrieben.
  • Bei der vorliegenden Ausführungsform berechnet das Element 21 zur Berechnung der Phase die Phase des Motors 32 anhand des eingegebenen Positionsbefehls und gibt die berechnete Phase aus. Als Voraussetzung für diese Berechnung ist in dem Element 21 zur Berechnung der Phase eine absolute Position hinsichtlich einer Drehstellung des Motors gespeichert. Hier wird die absolute Position als Z-Phase bezeichnet, wie beispielsweise in 3 gezeigt.
  • Andererseits ist im Allgemeinen ein Detektor zur Erfassung der Drehstellung an dem Motor 32 angebracht. Der Detektor speichert eine Drehstellung und dergleichen, die Ergebnisse der Erfassung sind. Insbesondere speichert der Detektor Daten, die die Drehzahl des Motors 32 angeben, und Daten, die die Position innerhalb einer Umdrehung angeben. Bei der vorliegenden Ausführungsform werden diese Datenelemente von dem Detektor beispielsweise zum Zeitpunkt des Einschaltens an das Element 21 zur Berechnung der Phase gesendet. Das Element 21 zur Berechnung der Phase kann nach dem Empfang der Daten durch Berechnen einer Differenz (d.h. eines Versatzes gegenüber der absoluten Position) zwischen der gespeicherten absoluten Position (beispielsweise der Z-Phase) und den empfangenen Daten, die die Position innerhalb einer Umdrehung angeben, eine anfängliche Position in Bezug auf die als Bezug (als Ursprung) dienende absolute Position bestimmen.
  • Wenn der Motor 32 nach dem Einschalten beginnt, sich entsprechend dem Positionsbefehl zu drehen, berechnet das Element 21 zur Berechnung der Phase auf der Grundlage des Positionsbefehls die Phase der aktuellen Position. Hierzu speichert das Element 21 zur Berechnung der Phase ein Übersetzungsverhältnis (eine Bewegungsgröße eines entfernten Endes eines Antriebsabschnitts der Maschine 33 pro Umdrehung des Motors) zwischen dem Motor 32 und dem entfernten Ende of des Antriebsabschnitts der Maschine 33. Anhand dieses Übersetzungsverhältnisses wird mittels des folgenden Ausdrucks (des Ausdrucks 1) der Betrag der Veränderung der Phase des Motors 32 in Bezug auf den dem entfernten Ende des Antriebsabschnitts der Maschine 33 zugeführten Positionsbefehl berechnet.
  • Motorphase [ deg ] = ( Positionsbefehl [ mm ] ) ÷ ( Übersetzungsverhältnis [ mm / rev ] ) 360
    Figure DE102018003769A1_0001
  • (Ausdruck 1)
  • Das Element 21 zur Berechnung der Phase addiert die entsprechend dem vorstehend aufgeführten Ausdruck anhand des Positionsbefehls berechnete Phase zu der Phase der anfänglichen Position in Bezug auf die als Bezug (als Ursprung) dienende absolute Position und gibt die durch die Addition ermittelte Phase jeweils als Phase der aktuellen Position an die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 aus. Die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 setzen den Wert der Phase der aktuellen Position in die Variable Θ der Übertragungsfunktion der Steuerungsverstärkung ein. Die Signalleitungen, die das Element 21 zur Berechnung der Phase jeweils mit der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27 verbinden, sind nicht dargestellt.
  • <Maschinelles Lernen>
  • Parallel zu der Feedbacksteuerung wird von der Vorrichtung 100 für maschinelles Lernen das maschinellen Lernen ausgeführt. Zur Durchführung des maschinellen Lernens gibt das Element 21 zur Berechnung der Phase die Phase der aktuellen Position an die Vorrichtung 100 für maschinelles Lernen aus. Darüber hinaus werden von der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27 zur Realisierung des maschinellen Lernens die Koeffizienten der Übertragungsfunktion der aktuellen Steuerungsverstärkung in die Vorrichtung 100 für maschinelles Lernen eingegeben. Weiterhin werden, wie vorstehend beschrieben, zur Realisierung des maschinellen Lernens auch die Positionsabweichung, die Drehzahlabweichung und die Stromabweichung in die Vorrichtung 100 für maschinelles Lernen eingegeben.
  • Überdies gibt die Vorrichtung 100 für maschinelles Lernen zur Realisierung des maschinellen Lernens die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung an die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 aus. Die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 gegeben den von der Vorrichtung 100 für maschinelles Lernen eingegebenen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung und der von dem Element 21 zur Berechnung der Phase eingegebenen Variablen der Übertragungsfunktion der Steuerungsverstärkung (d.h. der Phase des Motors 32) entsprechende Befehle aus. Die Vorrichtung 100 für maschinelles Lernen führt das maschinelle Lernen auf der Grundlage dieser eingegebenen und ausgegebene Werte aus. Insbesondere führt die Vorrichtung 100 für maschinelles Lernen ein bestärkendes Lernen aus, das ein Typ maschinellen Lernens ist.
  • Als nächstes wird vor der Beschreibung der in die Vorrichtung 100 für maschinelles Lernen eingegliederten funktionalen Blöcke eine Grundstruktur des bestärkenden Lernens beschrieben. Beim bestärkenden Lernen beobachtet ein (der Vorrichtung 100 für maschinelles Lernen gemäß der vorliegenden Ausführungsform entsprechender) Agent einen Zustand der Umgebung und wählt eine bestimmte Aktion aus, und eine Umgebung verändert sich entsprechend der Aktion. Bei einer Veränderung der Umgebung wird eine bestimmte Belohnung vergeben, und der Agent erlernt die Auswahl einer besseren Aktion (Entscheidungsfindung). Während beim überwachten Lernen eine vollständig richtige Antwort ausgegeben wird, sind die Belohnungen beim bestärkenden Lernen häufig fragmentarische Werte, die auf einer teilweisen Veränderung der Umgebung basieren. Daher lernt der Agent eine Aktion so auszuwählen, dass er eine künftige Gesamtbelohnung maximiert.
  • Auf diese Weise wird beim bestärkenden Lernen eine geeignete Aktion auf der Grundlage einer Interaktion zwischen Aktionen und der Umgebung durch Lernaktionen erlernt. Dies bedeutet, dass ein Verfahren zum Erlernen der Maximierung einer künftigen Belohnung erlernt wird. Bei der vorliegenden Ausführungsform bedeutet dies, dass es möglich ist, eine derartige Aktion zu ermitteln, die einen Einfluss in der Zukunft haben kann, dass Aktionsinformationen auswählt werden, durch die eine Positionsabweichung, eine Drehzahlabweichung, und eine Stromabweichung reduziert werden, die aus einer Veränderung der Induktivität eines Motors entsprechend einer Veränderung der Phase resultieren.
  • Obwohl hier ein beliebiges Lernverfahren zum bestärkenden Lernen verwendet werden kann, wird in der folgenden Beschreibung ein Fall der Verwendung von Q-Learning als ein Beispiel beschrieben, das ein Verfahren zum Lernen eines Werts Q(s, a) zur Auswahl einer Aktion a bei einem bestimmten Zustand s der Umgebung ist. Q-Learning zielt auf die Auswahl einer Aktion a, die den höchsten Wert Q(s, a) aufweist, als optimale Aktion unter den Aktionen a ab, die bei einem bestimmten Zustand s ausgeführt werden könnten.
  • Zu einem anfänglichen Zeitpunkt, zu dem das Q-Learning beginnt, ist der korrekte Wert des Werts Q(s, a) für eine Kombination des Zustands s und der Aktion a jedoch völlig unbekannt. Daher lernt der Agent den korrekten Wert Q(s, a) durch Auswählen verschiedener Aktionen a in einem bestimmten Zustand s und Auswählen einer besseren Aktion auf der Grundlage von für die ausgewählten Aktionen a vergebenen Belohnungen.
  • Da eine Maximierung einer in der Zukunft insgesamt erhaltenen Belohnung angestrebt wird, wird darauf abgezielt, schließlich ein Verhältnis Q(s, a) = E[Σ(γt)rt] zu erzielen. Hier bezeichnet E[] einen erwarteten Wert, t bezeichnet die Zeit, γ ist ein später beschriebener, als Discount-Faktor bezeichneter Parameter, rt ist eine Belohnung zu einem Zeitpunkt t, und Σ ist die Summe zum Zeitpunkt t. In diesem Ausdruck ist der erwartete Wert ein bei einer Veränderung des Zustands entsprechend einer optimalen Aktion erwarteter Wert. Da jedoch beim Prozess des Q-Learning unklar ist, welche Aktion optimal ist, wird ein bestärkendes Lernen ausgeführt, während durch Ausführen verschiedener Aktionen nach einer optimalen Aktion gesucht wird. Ein Aktualisierungsausdruck für einen derartigen Wert Q(s, a) kann durch den folgenden Ausdruck (Ausdruck 2) repräsentiert werden.
    [Math. 1] Q ( s t + 1 , a t + 1 ) Q ( s t , a t ) + α ( r t + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102018003769A1_0002
  • (Ausdruck 2)
  • In dem vorstehenden Ausdruck (Ausdruck 2) bezeichnet st einen Zustand der Umgebung zu einem Zeitpunkt t, und at bezeichnet eine Aktion zum Zeitpunkt t. Durch die Aktion at verändert sich der Zustand auf st+1.
    rt+1 bezeichnet eine durch die Veränderung des Zustands erhaltene Belohnung. Darüber hinaus ist ein Term mit max eine Multiplikation des Werts Q mit y, wenn in dem Zustand st+1 eine zu diesem Zeitpunkt bekannte Aktion a mit dem höchsten Wert Q ausgewählt wurde. Hier ist γ ein Parameter, für den 0 < γ ≤ 1 gilt, und wird als Discount-Faktor bezeichnet. Darüber hinaus ist α eine Lernrate, für die 0 < α ≤ 1 gilt.
  • Der vorstehende Ausdruck (Ausdruck 2) zeigt ein Verfahren zur Aktualisierung eines Werts Q(st, at) einer Aktion at in einem Zustand st auf der Grundlage einer wiederkehrenden Belohnung rt+1 beim Ausführen der Aktion at auf. Dieser Aktualisierungsausdruck zeigt auf, dass Q(st, at) erhöht wird, wenn der Wert maxa Q(st+1, a) der besten Aktion im nächsten mit einer Aktion at in Zusammenhang stehenden Zustand st+1 größer als der Wert Q(st, at) einer Aktion at im Zustand st ist, und dass Q(st, at) anderenfalls verringert wird. Dies bedeutet, dass sich der Wert einer bestimmten Aktion in einem bestimmten Zustand dem Wert der besten Aktion in dem nächsten mit der Aktion in Zusammenhang stehenden Zustand nähert. Obwohl diese Differenz jedoch abhängig von dem Discount-Faktor γ und der Belohnung rt+1 unterschiedlich ist, überträgt sich der Wert der besten Aktion in einem bestimmten Zustand im Grunde auf den Wert einer Aktion in einem Zustand vor diesem Zustand.
  • Hier ist ein Q-Lernverfahren mittels der Erstellung einer Q(s, a)-Tabelle für sämtliche Zustands-Aktions-Paare (s, a) zum Ausführen eines Lernens bekannt. Ein Konvergieren des Q-Learning kann jedoch erhebliche Zeit in Anspruch nehmen, wenn die Werte für Q(s, a) für sämtliche Zustands-Aktions-Paare berechnet werden, da die Anzahl der Zustände zu hoch ist.
  • Daher kann eine existierende, als Deep Q-Network (DQN) bezeichnete Technik eingesetzt werden. Insbesondere kann der Wert des Werts Q(s, a) durch Konstruieren einer Wertefunktion Q unter Verwendung eines geeigneten neuronalen Netzwerks und Annähern der Wertefunktion Q mittels des geeigneten neuronalen Netzwerks durch Einstellen der Parameter des neuronalen Netzwerks berechnet werden. Durch die Verwendung von DQN ist es möglich, die für ein Konvergieren des Q-Learning erforderliche Zeit zu verkürzen. Die Einzelheiten zu DQN sind beispielsweise in dem nachstehenden Nichtpatentdokument offenbart.
  • <Nichtpatentdokument>
  • „Human-level control through deep reinforcement learning", Volodymyr Mnih, et al., [Online], [abgerufen am 8. Mai 2017], Internet
    <URL:http://files.davidqiu.com/research/nature14236.pdf>"
  • Die Vorrichtung 100 für maschinelles Lernen führt das vorstehend beschriebene Q-Learning aus. Insbesondere erlernt die Vorrichtung 100 für maschinelles Lernen einen Wert Q zur Auswahl einer Aktion a zum Einstellen der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung einer Steuereinheit, die einem Servozustand s zugeordnet ist, der Werte der Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung einer Zielsteuereinheit für das Lernen unter der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27 der Servosteuervorrichtung 200 und die Phase des Motors 32 und Abweichungsinformationen der Servosteuervorrichtung 200 umfassen, die durch Ausführen einer Steuerung entsprechend einem Positionsbefehl beim Lernen ermittelt wurden.
  • Wenn hier beispielsweise die Übertragungsfunktion K1(s, Θ) (= K1P (Θ) + K1I (Θ) : s + K1D (Θ) s) der Steuerungsverstärkung der Stromsteuereinheit 27, die Übertragungsfunktion K2(s, Θ) (= K2P (Θ) + K2I (Θ) : s + K2D (Θ) s) der Steuerungsverstärkung der Drehzahlsteuereinheit 25 und die Übertragungsfunktion K3(s,Θ) (= K3P(Θ) + K3I(Θ) : s + K3D(Θ)s) der Steuerungsverstärkung der Positionssteuereinheit 23 jeweils eindimensionale Funktionen von Θ sind, werden die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung durch die folgenden Ausdrücke (Ausdruck 3) bestimmt. K iP ( Θ ) = a iP sin ( Θ + b iP ) + c iP
    Figure DE102018003769A1_0003
    K iI ( Θ ) = a iI sin ( Θ + b iI ) + c iI
    Figure DE102018003769A1_0004
    K iD ( Θ ) = a iD sin ( Θ + b iD ) + c iD
    Figure DE102018003769A1_0005
    Hier ist i eine ganze Zahl, für die 1 ≤ i ≤ 3 gilt.
  • (Ausdruck 3)
  • Die Vorrichtung 100 für maschinelles Lernen beobachtet auf der Grundlage der jeweiligen Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) der Übertragungsfunktionen der jeweiligen Steuerungsverstärkungen Zustandsinformationen s, die Informationen sind, die jeweilige Abweichungsinformationen (eine Stromabweichung, eine Drehzahlabweichung und eine Positionsabweichung) der Servosteuervorrichtung 200 und die durch Ausführen der Steuerung entsprechend dem Positionsbefehl beim Lernen ermittelte Phase des Motors 32 und die jeweiligen Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) der Übertragungsfunktionen der Steuerungsverstärkungen umfassen, um die Aktion a zu bestimmen. Die Vorrichtung 100 für maschinelles Lernen vergibt eine Belohnung, wann immer die Aktion a ausgeführt wird. Die Vorrichtung 100 für maschinelles Lernen sucht zur Maximierung einer künftigen Gesamtbelohnung durch Lernen durch Versuch und Irrtum nach der optimalen Aktion a. Dadurch kann die Vorrichtung 100 für maschinelles Lernen hinsichtlich der Zustandsinformationen s, die einen Servozustand umfassen, der die jeweiligen durch Ausführen der Steuerung entsprechend einem Positionsbefehl beim Lernen auf der Grundlage der jeweiligen Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) der Übertragungsfunktion der Steuerungsverstärkung ermittelten Abweichungsinformationen der Servosteuervorrichtung 200 umfasst, eine optimale Aktion a (d.h. die optimalen Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) für eine Zielsteuereinheit für das Lernen unter der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27) auswählen.
  • Auf diese Weise ist es durch Auswählen einer Aktion a, durch die der Wert von Q maximiert wird, unter den den jeweiligen, einem bestimmten Zustand s zugeordneten Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) der Übertragungsfunktion der Steuerungsverstärkung zugehörigen Aktionen a auf der Grundlage der von der Vorrichtung 100 für maschinelles Lernen erlernten Wertefunktion Q möglich, eine Aktion a (d.h. die optimalen Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (1 ≤ i ≤ 3) der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27) auszuwählen, durch die die jeweiligen Abweichungen minimiert werden.
  • Bei der vorliegenden Ausführungsform wird das Lernen statt der Durchführung eines simultanen Lernens für die drei Steuereinheiten sequentiell ausgeführt, wobei auf eine Steuereinheit unter den drei Steuereinheiten, der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27, abgezielt wird. Der Grund hierfür ist, dass für eine Konvergenz des Lernens ein erheblicher Zeitaufwand erforderlich sein kann, wenn das Lernen für die drei Steuereinheiten, die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27, gleichzeitig ausgeführt wird.
  • Insbesondere wird zunächst die Stromsteuereinheit 27 als Zielsteuereinheit ausgewählt, und das Erlernen der Auswahl des optimalen Koeffizienten a1P, b1P, c1P, a1I, b1I, c1I, a1D, b1D und c1D für die Stromsteuereinheit 27 wird ausgeführt. Da in diesem Fall in Bezug auf die Koeffizienten aiP, biP, ciP, aiI, biI, ciI, aiD, biD und ciD (2 ≤ i ≤ 3) der Positionssteuereinheit 23 und der Drehzahlsteuereinheit 25 kein Lernen ausgeführt wurde, ist es nicht möglich, optimale Koeffizienten auszuwählen. Daher werden die jeweiligen Koeffizienten der Positionssteuereinheit 23 und der Drehzahlsteuereinheit 25 beliebig (beispielsweise wie gemäß der herkömmlichen Technik auf feste Werte, die nicht von der Phase abhängen) eingestellt, so dass die Steuerungsverstärkung so eingestellt wird, dass der Motor 32 ohne Probleme wie eine Schwingung arbeitet. Obwohl sich die Verfolgbarkeit in Bezug auf eine Position und eine Drehzahl verringern kann, wenn die Steuerungsverstärkung so eingestellt wird, dass der Motor 32 ohne ein Problem wie eine Schwingung arbeitet, tritt beim Lernen im Hinblick auf die Stromsteuereinheit 27 kein Problem auf, da selbst dann nur eine Stromabweichung von einem aufgrund von Abweichungen erzeugten Strombefehl bewertet wird, wenn bei der Ausführung des Lernens an der Stromsteuereinheit 27 eine Positionsabweichung und eine Drehzahlabweichung zunehmen.
  • Nach Abschluss des Lernens an der Stromsteuereinheit 27 wird die Drehzahlsteuereinheit 25 als Zielsteuereinheit ausgewählt, und das Erlernen der Auswahl der optimalen Koeffizienten a2P, b2P, c2P, a2I, b2I, c2I, a2D, b2D und c2D für die Drehzahlsteuereinheit 25 wird ausgeführt. Da in diesem Fall die Koeffizienten der Stromsteuereinheit 27 bereits erlernt wurden, werden die optimalen Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D auf der Grundlage der Lernergebnisse ausgewählt. Die Koeffizienten der Positionssteuereinheit 23 werden beliebig (beispielsweise wie gemäß der herkömmlichen Technik auf feste Werte, die nicht von der Phase abhängen) eingestellt, so dass Steuerungsverstärkung so eingestellt wird, dass der Motor ohne ein Problem wie eine Schwingung arbeitet.
  • Weiterhin wird, wenn das Lernen an der Drehzahlsteuereinheit 25 abgeschlossen ist, die Positionssteuereinheit 23 als Zielsteuereinheit ausgewählt, und das Erlernen der Auswahl der optimalen Koeffizienten a3P, b3P, c3P, a3I, b3I, c3I, a3D, b3D und c3D für die Positionssteuereinheit 23 wird ausgeführt. Da in diesem Fall die jeweiligen Koeffizienten für die Stromsteuereinheit 27 und die Drehzahlsteuereinheit 25 bereits erlernt wurden, werden die optimalen Koeffizienten aiP, biP, ciP aiI, biI, c1I, aiD, biD und ciD (1 ≤ i ≤ 2) auf der Grundlage der Lernergebnisse ausgewählt.
  • Dadurch ist es möglich, das Lernen jeweils hinsichtlich der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27 auszuführen und die optimalen Koeffizienten für die jeweiligen Steuereinheiten auszuwählen.
  • <Funktionale Blöcke der Vorrichtung 100 für maschinelles Lernen>
  • Als nächstes werden unter Bezugnahme auf 4 die funktionalen Blöcke der Vorrichtung 100 für maschinelles Lernen beschrieben, die das bestärkende Lernen ausführt. Wie in 4 gezeigt, umfasst die Vorrichtung 100 für maschinelles Lernen ein Element 11 zum Abrufen von Zustandsinformationen, ein Lernelement 12, ein Element 13 zur Ausgabe von Aktionsinformationen, ein Element 14 zum Speichern der Wertefunktion und ein Element 15 zur Ausgabe der optimalen Aktionsinformationen zum Einstellen der Steuerungsverstärkungen der Stromsteuereinheit 27, der Drehzahlsteuereinheit 25 und der Positionssteuereinheit 23. Das Lernelement 12 umfasst ein Element 121 zur Ausgabe einer Belohnung, ein Element 122 zur Aktualisierung der Wertefunktion und ein Element 123 zur Erzeugung von Aktionsinformationen. Nachstehend werden die funktionalen Blöcke in der Reihenfolge der Stromsteuereinheit 27, der Drehzahlsteuereinheit 25 und der Positionssteuereinheit 23 beschrieben.
  • Zunächst wird das Erlernen der Steuerungsverstärkung der Stromsteuereinheit 27 beschrieben. Wie vorstehend beschrieben, werden die jeweiligen Koeffizienten der Positionssteuereinheit 23 und der Drehzahlsteuereinheit 25 beliebig (beispielsweise wie gemäß der herkömmlichen Technik auf feste Werte, die nicht von der Phase abhängen) eingestellt, so dass die Steuerungsverstärkung so eingestellt wird, dass der Motor ohne ein Problem wie eine Schwingung arbeitet. Das Element 11 zum Abrufen von Zustandsinformationen ruft die Zustandsinformationen s, die einen Zustand darstellen, der durch Ausführen einer Steuerung entsprechend einem Positionsbefehl beim Lernen auf der Grundlage der jeweiligen Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 der Servosteuervorrichtung 200 ermittelte Stromabweichungsinformationen der Servosteuervorrichtung 200 umfasst, von der Servosteuervorrichtung 200 ab. Die Zustandsinformationen s entsprechen dem Zustand s der Umgebung beim Q-Learning. Die Werte der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung werden ebenfalls im Zustandsinformationen s aufgenommen. Obwohl diese Werte von der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27 abgerufen werden können, können diese Werte von dem Element 123 zur Erzeugung von Aktionsinformationen abgerufen werden, das sie als Einstellinformationen ausgibt. Das Element 11 zum Abrufen von Zustandsinformationen gibt die abgerufenen Zustandsinformationen s an das Lernelement 12 aus.
  • Die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 zum anfänglichen Zeitpunkt des Beginns des Q-Learning können vorab von einem Benutzer erzeugt werden. Dies bedeutet, dass gemäß der vorliegenden Ausführungsform die vom Benutzer erzeugten anfänglichen Einstellwerte der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung durch bestärkendes Lernen auf optimale Werte eingestellt werden.
  • Das Lernelement 12 ist ein Element, das einen Wert Q(s, a) erlernt, wenn in einem bestimmten Zustand s der Umgebung eine bestimmte Aktion a ausgewählt wird. Insbesondere umfasst das Lernelement 12 das Element 121 zur Ausgabe einer Belohnung, das Element 122 zur Aktualisierung der Wertefunktion und das Element 123 zur Erzeugung von Aktionsinformationen.
  • Das Element 121 zur Ausgabe einer Belohnung ist ein Element, das eine Belohnung berechnet, wenn in einem bestimmten Zustand s die Aktion a ausgewählt wird. Hier wird ein Satz (ein Stromabweichungssatz) von Stromabweichungen, die Zustandsvariablen des Zustands s sind, als PD(s) bezeichnet, und ein Satz von Stromabweichungen, die aufgrund einer Korrektur der Aktionsinformationen a (der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung) gegenüber dem Zustand s veränderte Zustandsinformationen s' betreffende Zustandsvariablen sind, wird als PD(s') bezeichnet. Darüber hinaus ist der Wert der Stromabweichung im Zustand s ein auf der Grundlage einer vorgegebenen Bewertungsfunktion f(PD(s)) berechneter Wert.
  • Als Bewertungsfunktion f können beispielsweise die folgenden Funktionen verwendet werden. Eine Funktion, mittels derer ein Integralwert eines absoluten Werts einer Stromabweichung berechnet wird | e | dt
    Figure DE102018003769A1_0006
  • (Ausdruck 4)
  • Eine Funktion mittels derer ein Integralwert of einer 2n-ten Potenz (wobei n eine natürliche Zahl ist) eines absoluten Werts einer Stromabweichung berechnet wird ∫e2ndt (wobei n eine natürliche Zahl ist)
  • (Ausdruck 5)
  • Eine Funktion mittels derer ein maximaler Wert eines absoluten Werts einer Stromabweichung berechnet wird Max { | e | }
    Figure DE102018003769A1_0007
  • (Ausdruck 6)
  • Das Element 121 zur Ausgabe einer Belohnung stellt den Wert einer Belohnung auf einen negativen Wert ein, wenn der Wert f(PD(s')) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 nach der die mittels der Aktionsinformationen a korrigierten Zustandsinformationen s' betreffenden Korrektur betriebenen Servosteuervorrichtung 200 größer als der Wert f(PD(s)) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 vor der die Zustandsinformationen s vor der Korrektur mittels der Aktionsinformationen a betreffenden Korrektur betriebenen Servosteuervorrichtung 200 ist.
  • Das Element 121 zur Ausgabe einer Belohnung stellt den Wert einer Belohnung auf einen positiven Wert ein, wenn der Wert f(PD(s')) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 nach der die mittels der Aktionsinformationen a korrigierten Zustandsinformationen s' betreffenden Korrektur betriebenen Servosteuervorrichtung 200 kleiner als der Wert f(PD(s)) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 vor der die Zustandsinformationen s vor der Korrektur mittels der Aktionsinformationen a betreffenden Korrektur betriebenen Servosteuervorrichtung 200 ist.
  • Das Element 121 zur Ausgabe einer Belohnung stellt den Wert einer Belohnung auf null ein, wenn der Wert f(PD(s')) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 nach der die mittels der Aktionsinformationen a korrigierten Zustandsinformationen s' betreffenden Korrektur betriebenen Servosteuervorrichtung 200 mit dem Wert f(PD(s)) der Stromabweichung der auf der Grundlage der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 vor der die Zustandsinformationen s vor der Korrektur mittels der Aktionsinformationen a betreffenden Korrektur betriebenen Servosteuervorrichtung 200 übereinstimmt.
  • Weiterhin kann der negative Wert proportional erhöht werden, wenn der Wert f(PD(s')) der Stromabweichung im Zustand s' nach dem Ausführen der Aktion a größer als der Wert f(PD(s)) der Stromabweichung im vorherigen Zustand s ist. Dies bedeutet, dass der negative Wert entsprechend dem Ausmaß der Zunahme der Stromabweichung erhöht werden kann. Dagegen kann der positive Wert proportional erhöht werden, wenn der Wert f(PD(s')) der Stromabweichung im Zustand s' nach dem Ausführen der Aktion a kleiner als der Wert f(PD(s)) der Stromabweichung im vorherigen Zustand s ist. Dies bedeutet, dass der positive Wert entsprechend dem Ausmaß der Abnahme der Stromabweichung erhöht werden kann.
  • Das Element 122 zur Aktualisierung der Wertefunktion aktualisiert die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q durch Ausführen des Q-Learning hinsichtlich der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 auf der Grundlage des Zustands s, der Aktion a, des Zustands s' nach der Anwendung der Aktion a auf den Zustand s, und des auf die vorstehend beschriebene Weise berechneten Werts der Belohnung.
  • Die Aktualisierung der Wertefunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen ausgeführt werden. Online-Lernen ist ein Lernverfahren, bei dem eine bestimmte Aktion a auf einen gegebenen Zustand s angewendet wird und die Wertefunktion Q sofort aktualisiert wird, wann immer der Zustand s in einen neuen Zustand s' übergeht. Batch-Lernen ist ein Lernverfahren, bei dem eine bestimmte Aktion a auf einen gegebenen Zustand s angewendet und wiederholt ein Übergang aus dem Zustand s in einen neuen Zustand s' erreicht wird, wobei Lerndaten gesammelt werden und die Wertefunktion Q unter Verwendung sämtlicher gesammelter Lerndaten aktualisiert wird. Mini-Batch-Lernen ist ein Lernverfahren, das ein Zwischending zwischen dem Online-Lernen und dem Batch-Lernen ist und eine Aktualisierung der Wertefunktion Q einschließt, wann immer eine bestimmte Menge an Lerndaten gesammelt ist.
  • Das Element 123 zur Erzeugung von Aktionsinformationen wählt die Aktion a im Verlauf des Q-Learning im Hinblick auf den aktuellen Zustand s aus. Das Element 123 zur Erzeugung von Aktionsinformationen erzeugt die Aktionsinformationen a und gibt die erzeugten Aktionsinformationen a zur Durchführung eines (der Aktion a des Q-Learning entsprechenden) Vorgangs der Korrektur der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 der Servosteuervorrichtung 200 im Verlauf des Q-Learning an das Element 13 zur Ausgabe von Aktionsinformationen aus. Genauer addiert oder subtrahiert das Element 123 zur Erzeugung von Aktionsinformationen die in der Aktion a enthaltenen Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D der Übertragungsfunktion der Steuerungsverstärkung in Bezug auf die jeweiligen im Zustand s enthaltenen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 beispielsweise schrittweise (beispielsweise in einem Schritt von ca. 0.01).
  • Wenn die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 erhöht oder verringert werden, der Zustand s in den Zustand s' übergeht und eine Belohnung mit positivem Vorzeichen (eine positive Belohnung) vergeben wird, kann das Element 123 zur Erzeugung von Aktionsinformationen eine Strategie der Auswahl einer Aktion a', durch die der Wert der Stromabweichung weiter verringert wird, wie eine schrittweise Erhöhung oder Verringerung der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 ähnlich wie bei der vorherigen Aktion als nächste Aktion a' auswählen.
  • Wird dagegen eine Belohnung mit negativem Vorzeichen (eine negative Belohnung) vergeben, kann das Element 123 zur Erzeugung von Aktionsinformationen eine Strategie der Auswahl einer Aktion a', durch die die Stromabweichung so verringert wird, dass sie kleiner als der vorherige Wert ist, wie beispielsweise eine schrittweise Verringerung oder Erhöhung der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 entgegen der vorherigen Aktion als nächste Aktion a' auswählen.
  • Das Element 123 zur Erzeugung von Aktionsinformationen kann eine Strategie der Auswahl der Aktion a' nach einem bekannten Verfahren wie einem Greedy-Verfahren, bei dem eine Aktion a' ausgewählt wird, die den höchsten Wert Q(s, a) unter den Werten der aktuell geschätzten Aktionen a aufweist, und einem ε-Greedy-Verfahren auswählen, bei dem nach dem Zufallsprinzip eine Aktion a' mit einer bestimmten geringen Wahrscheinlichkeit ε und in anderen Fällen eine Aktion a' mit dem höchsten Wert Q(s, a) ausgewählt wird.
  • Das Element 13 zur Ausgabe von Aktionsinformationen ist ein Element, das die von dem Lernelement 12 ausgegebenen Aktionsinformationen a an eine Zielsteuereinheit für das Lernen (die Stromsteuereinheit 27) der Servosteuervorrichtung 200 sendet. Wie vorstehend beschrieben, führt die Zielsteuereinheit für das Lernen auf der Grundlage der Aktionsinformationen eine Feineinstellung des aktuellen Zustands s (d.h. jedes der gegenwärtig eingestellten Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27) aus, um dadurch in den nächsten Zustand s' (d.h. auf jeden der korrigierten Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung) überzugehen.
  • Das Element 14 zum Speichern der Wertefunktion ist eine Speichervorrichtung, in der die Wertefunktion Q gespeichert ist. Die Wertefunktion Q kann beispielsweise als (nachstehend als Aktionswerttabelle bezeichnete) Tabelle jedes Zustands s und jeder Aktion a gespeichert werden. Die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q wird von dem Element 122 zur Aktualisierung der Wertefunktion aktualisiert. Darüber hinaus kann die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q mit anderen Vorrichtungen 100 für maschinelles Lernen geteilt werden. Wenn die Wertefunktion Q von mehreren Vorrichtungen 100 für maschinelles Lernen geteilt wird, ist es möglich, die Effizienz des bestärkenden Lernens zu verbessern, da das bestärkende Lernen auf die jeweiligen Vorrichtungen 100 für maschinelles Lernen verteilt ausgeführt werden kann.
  • Das Element 15 zur Ausgabe der optimalen Aktionsinformationen erzeugt (nachstehend als „optimale Aktionsinformationen“ bezeichnete) Aktionsinformationen a zum Veranlassen der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 zum Ausführen eines Vorgangs der Maximierung des Werts Q(s, a) anhand der von dem Element 122 zur Aktualisierung der Wertefunktion, die das Q-Learning in Bezug auf die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 ausführt, aktualisierten Wertefunktion Q. Genauer ruft das Element 15 zur Ausgabe der optimalen Aktionsinformationen die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q ab. Wie vorstehend beschrieben, wird die Wertefunktion Q von dem Element 122 zur Aktualisierung der Wertefunktion aktualisiert, das das Q-Learning in Bezug auf die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 ausführt. Das Element 15 zur Ausgabe der optimalen Aktionsinformationen erzeugt die Aktionsinformationen auf der Grundlage der Wertefunktion Q und gibt die erzeugten Aktionsinformationen an die erlernte Stromsteuereinheit 27 der Servosteuervorrichtung 200 aus. Die optimalen Aktionsinformationen umfassen Informationen, durch die die jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 ähnlich wie durch die Aktionsinformationen korrigiert werden, die das Element 13 zur Ausgabe von Aktionsinformationen im Verlauf des Q-Learning ausgibt. Auf diese Weise kann die Vorrichtung 100 für maschinelles Lernen eine geeignete Wertefunktion zur Einstellung der Koeffizienten ai, bj, und ck der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 ermitteln und die Optimierung der Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D vereinfachen.
  • Als nächstes wird kurz ein Fall der anschließenden Ausführung des Q-Learning der Koeffizienten a2P, b2P, c2P, a2I, b2I, c2I, a2D, b2D und c2D der Steuerungsverstärkung der Drehzahlsteuereinheit 25 bis zum Abschluss des Erlernens der Steuerungsverstärkung der Stromsteuereinheit 27 beschrieben. Wie vorstehend beschrieben, werden beim Q-Learning der Steuerungsverstärkung der Drehzahlsteuereinheit 25 die optimalen Koeffizienten der Stromsteuereinheit 27 auf der Grundlage der Lernergebnisse an der Stromsteuereinheit 27 ausgewählt. Die Koeffizienten der Positionssteuereinheit 23 werden beliebig (beispielsweise wie gemäß der herkömmlichen Technik auf feste Werte, die nicht von der Phase abhängen) eingestellt, so dass die Steuerungsverstärkung so eingestellt wird, dass der Motor ohne ein Problem wie eine Schwingung arbeitet. Beim Q-Learning der Steuerungsverstärkung der Drehzahlsteuereinheit 25 führen das Element 11 zum Abrufen von Zustandsinformationen, das Lernelement 12 (das Element 121 zur Ausgabe einer Belohnung, das Element 122 zur Aktualisierung der Wertefunktion und das Element 123 zur Erzeugung von Aktionsinformationen), das Element 13 zur Ausgabe von Aktionsinformationen, das Element 14 zum Speichern der Wertefunktion und das Element 15 zur Ausgabe der optimalen Aktionsinformationen Prozesse aus, die denen beim Erlernen der Steuerungsverstärkung der Stromsteuereinheit 27 entsprechen. Dies bedeutet, dass die Vorrichtung 100 für maschinelles Lernen das maschinelle Lernen so ausführt, dass in der vorstehenden Beschreibung des maschinellen Erlernens der Steuerungsverstärkung der Stromsteuereinheit 27 die Stromsteuereinheit 27 als Drehzahlsteuereinheit 25 zu lesen ist, die Koeffizienten a1P, biP, c1P, a1I, biI, c1I, a1D, b1D und c1D der Steuerungsverstärkung der Stromsteuereinheit 27 als die Koeffizienten a2P, b2P, c2P, a2I, b2t, c2I, a2D, b2D und c2D der Steuerungsverstärkung der Drehzahlsteuereinheit 25 zu lesen sind und die Stromabweichung als Drehzahlabweichung zu lesen ist.
  • Als nächstes wird kurz ein Fall der anschließenden Ausführung des Q-Learning der Koeffizienten a3P, b3P, c3P, a3I, b3I, c3I, a3D, b3D und c3D der Steuerungsverstärkung der Positionssteuereinheit 23 bis zum Abschluss des Erlernens der Steuerungsverstärkung der Stromsteuereinheit 27 und der Drehzahlsteuereinheit 25 beschrieben. Wie vorstehend beschrieben, werden beim Q-Learning der Steuerungsverstärkung der Positionssteuereinheit 23 die optimalen Koeffizienten der Stromsteuereinheit 27 und der Drehzahlsteuereinheit 25 auf der Grundlage der Lernergebnisse an der Stromsteuereinheit 27 und der Drehzahlsteuereinheit 25 ausgewählt. Beim Q-Learning der Steuerungsverstärkung der Positionssteuereinheit 23 führen das Element 11 zum Abrufen von Zustandsinformationen, das Lernelement 12 (das Element 121 zur Ausgabe einer Belohnung, das Element 122 zur Aktualisierung der Wertefunktion und das Element 123 zur Erzeugung von Aktionsinformationen), das Element 13 zur Ausgabe von Aktionsinformationen, das Element 14 zum Speichern der Wertefunktion und das Element 15 zur Ausgabe der optimalen Aktionsinformationen Prozesse aus, die denen beim Erlernen der Steuerungsverstärkung der Stromsteuereinheit 27 entsprechen. Dies bedeutet, dass die Vorrichtung 100 für maschinelles Lernen das maschinelle Lernen so ausführt, dass in der vorstehenden Beschreibung des maschinellen Erlernens der Steuerungsverstärkung der Stromsteuereinheit 27 die Stromsteuereinheit 27 als Positionssteuereinheit 23 zu lesen ist, die Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D der Steuerungsverstärkung der Stromsteuereinheit 27 als Koeffizienten a3P, b3P, c3P, a3I, b3I, c3I, a3D, b3D und c3D der Steuerungsverstärkung der Positionssteuereinheit 23 zu lesen sind und die Stromabweichung als Positionsabweichung zu lesen ist.
  • Durch sequentielles Ausführen des maschinellen Lernens in Bezug auf die Stromsteuereinheit 27, die Drehzahlsteuereinheit 25 und die Positionssteuereinheit 23 in der vorstehend beschriebenen Weise kann die Servosteuervorrichtung 200 auf der Grundlage des maschinellen Lernens optimale Werte der jeweiligen Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung auswählen. Dadurch ist es selbst dann möglich, eine ungleichmäßige Drehung des Motors zu unterdrücken, wenn sich die Induktivität der Positionssteuereinheit 23 entsprechend der Phase des Motors verändert. Wie vorstehend beschrieben, ist es durch den Einsatz der Vorrichtung 100 für maschinelles Lernen gemäß der vorliegenden Erfindung möglich, die Steuerungsverstärkung entsprechend der Phase des Motors geeignet einzustellen.
  • Vorstehend wurden die in die Servosteuervorrichtung 200 und die Vorrichtung 100 für maschinelles Lernen eingegliederten funktionalen Blöcke beschrieben. Zur Realisierung dieser funktionalen Blöcke umfassen die Servosteuervorrichtung 200 und die Vorrichtung 100 für maschinelles Lernen jeweils ein arithmetisches Verarbeitungselement wie ein zentrales Verarbeitungselement (eine CPU). Die Servosteuervorrichtung 200 und die Vorrichtung 100 für maschinelles Lernen umfassen ferner jeweils eine Zusatzspeichervorrichtung wie ein Festplattenlaufwerk (HDD) zum Speichern verschiedener Steuerprogramme wie einer Anwendungssoftware oder eines Betriebssystems (OS) und eine Hauptspeichervorrichtung wie einen Direktzugriffsspeicher (ein RAM) zum Speichern von Daten, die vorübergehend benötigt werden, wenn die arithmetische Verarbeitungsvorrichtung ein Programm ausführt.
  • Sowohl bei der Servosteuervorrichtung 200 als auch bei der Vorrichtung 100 für maschinelles Lernen liest die arithmetische Verarbeitungsvorrichtung eine Anwendung und ein OS aus der Zusatzspeichervorrichtung und nutzt die gelesene Anwendungssoftware und das OS in der Hauptspeichervorrichtung zum Ausführen einer arithmetischen Verarbeitung auf der Grundlage der gelesenen Anwendungssoftware und des OS. Die arithmetische Verarbeitungsvorrichtung steuert auf der Grundlage des arithmetischen Ergebnisses auch verschiedene Typen von Hardware, die in jeder Vorrichtung vorgesehen sind. Auf diese Weise werden die funktionalen Blöcke der vorliegenden Ausführungsform realisiert. Dies bedeutet, dass die vorliegende Ausführungsform durch ein Zusammenwirken von Hardware und Software realisiert werden kann.
  • Da die Vorrichtung 100 für maschinelles Lernen ein großes Volumen an mit dem maschinellen Lernen in Zusammenhang stehenden Berechnungen involviert, können Graphikverarbeitungselemente (GPUs) auf einem Personal Computer installiert und für eine mit dem maschinellen Lernen unter Verwendung einer als Allzweck-Berechnung auf Grafikprozessoreinheiten (GPGPUs, general-purpose computing on graphics processing parts) bezeichneten Technik in Zusammenhang stehende arithmetische Verarbeitung verwendet werden. Auf diese Weise kann eine Hochgeschwindigkeitsverarbeitung ausgeführt werden. Überdies kann zur Durchführung einer Verarbeitung mit höherer Geschwindigkeit unter Verwendung mehrerer mit derartigen GPUs ausgestatteter Computer ein Computercluster hergestellt werden, und die mehreren in den Computercluster einbezogenen Computer können eine parallele Verarbeitung ausführen.
  • <Funktionsweise der vorliegenden Ausführungsform>
  • Als nächstes wird unter Bezugnahme auf das Ablaufdiagramm gemäß 5 eine Funktionsweise der Vorrichtung 100 für maschinelles Lernen beim Q-Learning gemäß der vorliegenden Ausführungsform beschrieben. Bei der Beschreibung des Ablaufdiagramms gemäß 5 werden der Einfachheit halber die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 einfach als Steuereinheit und eine Positionsabweichung, eine Drehzahlabweichung und eine Stromabweichung einfach als Abweichung bezeichnet.
  • In Schritt S11 ruft das Element 11 zum Abrufen von Zustandsinformationen die Zustandsinformationen s von der Servosteuervorrichtung 200 ab. Die abgerufenen Zustandsinformationen werden an das Element 122 zur Aktualisierung der Wertefunktion und das Element 123 zur Erzeugung von Aktionsinformationen ausgegeben. Wie vorstehend beschrieben, sind die Zustandsinformationen s dem Zustand s der Umgebung beim Q-Learning entsprechende Informationen und umfassen einen Satz von Abweichungen PD(s), die Phase des Motors 32 und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung zum Zeitpunkt von Schritt S11. Wenn das Lernziel beispielsweise die Stromsteuereinheit 27 ist, wird eine von der Subtrahiereinrichtung 26 durch Subtrahieren eines Stromfeedback von dem Strombefehl ermittelte Stromabweichung als Abweichung PD(s) einbezogen. Die von dem Element 21 zur Berechnung der Phase berechnete Phase des Motors 32 wird ebenfalls einbezogen. Weiterhin werden die Koeffizienten a1P, biP, c1P, a1I, b1I, c1I, a1D, b1D und c1D der Übertragungsfunktion der Steuerungsverstärkung der Stromsteuereinheit 27 einbezogen.
  • In Schritt S12 erzeugt das Element 123 zur Erzeugung von Aktionsinformationen neue Aktionsinformationen a und gibt die erzeugten neuen Aktionsinformationen a über das Element 13 zur Ausgabe von Aktionsinformationen an die Zielsteuereinheit für das Lernen aus. Das Element 123 zur Erzeugung von Aktionsinformationen gibt die neuen Aktionsinformationen a auf der Grundlage der vorstehend beschriebenen Strategie aus. Die Steuereinheit treibt nach dem Empfang der Aktionsinformationen a die Steuerzielvorrichtung 300, die den Motor 32 umfasst, entsprechend dem durch die Korrektur der jeweiligen, den aktuellen Zustand s betreffenden Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung auf der Grundlage der empfangenen Aktionsinformationen erhaltenen Zustand s' an. Wie vorstehend beschrieben, entsprechen die Aktionsinformationen der Aktion a beim Q-Learning.
  • In Schritt S13 ruft das Element 11 zum Abrufen von Zustandsinformationen eine der Eingabe der Zielsteuereinheit für das Lernen entsprechende Abweichung PD(s') in dem neuen Zustand s' von einer Subtrahiereinrichtung (beispielsweise der Subtrahiereinrichtung 26, wenn das Lernziel die Stromsteuereinheit 27 ist) ab. Auf diese Weise ruft das Element 11 zum Abrufen von Zustandsinformationen den Abweichungssatz PD(s') im Zustand s' ab. Die abgerufenen Zustandsinformationen werden an das Element 121 zur Ausgabe einer Belohnung ausgegeben.
  • In Schritt S14 bestimmt das Element 121 zur Ausgabe einer Belohnung ein Größenverhältnis zwischen dem Wert f(PD(s')) der Abweichung im Zustand s' und dem Wert f(PD(s)) der Abweichung im Zustand s. Wenn bestimmt wird, dass f(PD(s')) > f(PD(s)) gilt, wird die Belohnung in Schritt S15 auf einen negativen Wert eingestellt. Wenn f(PD(s')) < f(PD(s)) gilt, wird die Belohnung in Schritt S16 auf einen positiven Wert eingestellt. Wenn f(PD(s')) = f(PD(s)) gilt, wird die Belohnung in Schritt S17 auf null eingestellt. Auf die negativen und positiven Belohnungswerte kann eine Gewichtung angewendet werden. Ist einer der Schritte S15, S16 und S17 abgeschlossen, wird der Ablauf mit Schritt S18 fortgesetzt.
  • In Schritt S18 aktualisiert das Element 122 zur Aktualisierung der Wertefunktion die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q auf der Grundlage des in einem der Schritte berechneten Werts der Belohnung. Obwohl Schritt S18 eine Online-Aktualisierung darstellt, kann die Online-Aktualisierung durch eine Batch-Aktualisierung oder eine Mini-Batch-Aktualisierung ersetzt werden.
  • In Schritt S19 bestimmt das Lernelement 12, ob eine Bedingung zur Beendigung des bestärkenden Lernens erfüllt ist. Die Bedingung zur Beendigung des bestärkenden Lernens ist, dass eine vorgegebene Anzahl an Wiederholungen des vorstehend beschriebenen Prozesses stattgefunden hat oder dass er über eine vorgegebene Zeitspanne wiederholt wurde. Wenn die Bedingung zur Beendigung des bestärkenden Lernens noch nicht erfüllt ist, ergibt. Schritt S19 das Bestimmungsergebnis Nein, und der Prozess wird wieder auf Schritt S11 zurückgesetzt. Durch Wiederholen des vorstehend beschriebenen Prozesses konvergiert die Wertefunktion Q gegen einen geeigneten Wert. Wenn andererseits die Bedingung zur Beendigung des bestärkenden Lernens erfüllt ist, ergibt Schritt S19 das Bestimmungsergebnis Ja, und der Prozess wird beendet.
  • Wie vorstehend beschrieben, wird das Lernen bei der vorliegenden Ausführungsform sequentiell ausgeführt, wobei auf eine Steuereinheit unter den drei Steuereinheiten, der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27, abgezielt wird, statt dass das Lernen für die drei Steuereinheiten simultan ausgeführt wird. Dies bedeutet, dass die Prozesse der Schritte S11 bis S19 für die jeweiligen Steuereinheiten nacheinander ausgeführt werden. Wenn die Prozesse der Schritte S11 bis S19 für sämtliche Steuereinheiten ausgeführt wurden, endet der Arbeitsablauf der Vorrichtung 100 für maschinelles Lernen beim Q-Learning.
  • Bei der vorliegenden Ausführungsform ist es aufgrund des vorstehend unter Bezugnahme auf 5 beschriebenen Arbeitsablaufs unter Verwendung der Vorrichtung 100 für maschinelles Lernen möglich, eine geeignete Wertefunktion zur Einstellung der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung jeder Steuereinheit zu ermitteln und die Optimierung der jeweiligen Koeffizienten zu vereinfachen.
  • Als nächstes wird unter Bezugnahme auf das Ablaufdiagramm gemäß 6 der Arbeitsablauf bei der Erzeugung einer optimalen Aktionsinformationen durch das Element 15 zur Ausgabe der optimalen Aktionsinformationen beschrieben. Zunächst ruft das Element 15 zur Ausgabe der optimalen Aktionsinformationen in Schritt S21 die in dem Element 14 zum Speichern der Wertefunktion gespeicherte Wertefunktion Q ab. Die Wertefunktion Q wird von dem Element 122 zur Aktualisierung der Wertefunktion durch die Ausführung des Q-Learning wie vorstehend beschrieben aktualisiert.
  • In Schritt S22 erzeugt das Element 15 zur Ausgabe der optimalen Aktionsinformationen auf der Grundlage der Wertefunktion Q optimale Aktionsinformationen und gibt die erzeugten optimalen Aktionsinformationen an die jeweiligen Steuereinheiten der Servosteuervorrichtung 200 aus. Die optimalen Aktionsinformationen sind Informationen zum geeigneten Einstellen der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung jeder Steuereinheit.
  • In der Servosteuervorrichtung 200 werden die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung auf der Grundlage der optimalen Aktionsinformationen optimiert, und eine ungleichmäßige Drehung wird vermindert, und der Wert der Positionsabweichung wird selbst dann verringert, wenn sich die Induktivität der Positionssteuereinheit 23 entsprechend der Phase verändert. Wie vorstehend beschrieben, ist es durch die Verwendung der Vorrichtung 100 für maschinelles Lernen gemäß der vorliegenden Ausführungsform möglich, die Steuerungsverstärkung entsprechend der Phase des Motors geeignet einzustellen.
  • Diese Vorteile werden unter Bezugnahme auf 7 beschrieben. 7 stellt eine Abweichung in jedem Steuerkreis bei einer Drehung des Motors 32 mit einer konstanten Drehzahl dar.
  • Zunächst stellt <Vor der Einstellung der Koeffizienten der Übertragungsfunktion> auf der linken Seite der Zeichnung einen Zustand dar, in dem bei einer Änderung der Phase des Motors 32 bei einer Drehung des Rotors des Motors 32 aufgrund einer Veränderung der Induktivität des Motors entsprechend einer Änderung der Phase bei konstanter Verstärkung eine ungleichmäßigen Drehung auftritt. Wie vorstehend beschrieben, tritt bei einer üblichen Technik auf diese Weise eine ungleichmäßige Drehung auf, da die Koeffizienten der Übertragungsfunktion nicht eingestellt werden. Daher ist es, wenn die Steuerzielvorrichtung 300 beispielsweise eine Werkzeugmaschine ist, nicht möglich, die Bearbeitung der zu bearbeitenden Oberfläche des Werkstücks gleichmäßig auszuführen, da ein ungleichmäßiger Vorschub eines Werkstücks auftritt.
  • Dagegen stellt <Nach der Einstellung der Koeffizienten der Übertragungsfunktion> auf der rechten Seite der Zeichnung einen Zustand dar, in dem durch den vorstehend beschriebenen Prozess eine Einstellung der Koeffizienten der Übertragungsfunktion entsprechend der Änderung der Phase des Motors 32 ausgeführt wird, wodurch die Verstärkung geeignet eingestellt wird und eine ungleichmäßige Drehung verbessert wird. Daher ist es, wenn die Steuerzielvorrichtung 300 beispielsweise eine Werkzeugmaschine ist, gemäß der vorliegenden Ausführungsform möglich, eine gleichmäßige Bearbeitung der zu bearbeitenden Oberfläche des Werkstücks auszuführen, da es möglich ist, das Auftreten eines ungleichmäßigen Vorschubs eines Werkstücks zu verhindern. Dies bedeutet, dass bei der vorliegenden Ausführungsform ein gegenüber einer üblichen Technik vorteilhaftes Ergebnis erzielt wird, da die Steuerungsverstärkung entsprechend der Phase des Motors geeignet eingestellt wird.
  • Es wird darauf hingewiesen, dass die jeweiligen vorstehend beschriebenen, in das Servosteuersystem eingegliederten Vorrichtungen jeweils durch Hardware, Software oder eine Kombination dieser realisiert werden können. Darüber hinaus kann auch ein durch ein Zusammenwirken der jeweiligen vorstehend beschriebenen, in das Servosteuersystem eingegliederten Vorrichtungen ausgeführtes Servosteuerungsverfahren durch Hardware, Software oder eine Kombination beider realisiert werden. Hier bedeutet eine Realisierung durch Software, dass ein Computer ein Programm liest und ausführt.
  • Die Programme können auf jedem von verschiedenen Typen nicht flüchtiger computerlesbarer Medien gespeichert sein und einem Computer zugänglich gemacht werden. Die nicht flüchtigen computerlesbaren Medien umfassen verschiedene Typen konkreter Speichermedien. Beispiele der nicht flüchtigen computerlesbaren Medien umfassen ein magnetisches Aufzeichnungsmedium (beispielsweise eine Diskette, ein Magnetband und ein Festplattenlaufwerk), ein magneto-optisches Aufzeichnungsmedium (beispielsweise eine magneto-optische Platte), eine CD-ROM (einen Festspeicher), eine CD-R, eine CD-R/W, einen Halbleiterspeicher (beispielsweise ein Mask-ROM, ein PROM (ein programmierbares ROM), ein EPROM (ein überschreibbares PROM), ein Flash-ROM und ein RAM (einen Direktzugriffsspeicher)). Die Programme können einem Computer unter Verwendung jedes unter verschiedenen Typen flüchtiger computerlesbarer Medien zugänglich gemacht werden. Beispiele der flüchtigen computerlesbaren Medien umfassen elektrische Signale, optische Signale und elektromagnetische Wellen. Ein flüchtiges computerlesbares Medium kann die Programme einem Computer über einen drahtgebundenen Kommunikationsweg wie ein elektrisches Kabel, eine optische Faser oder dergleichen oder über einen drahtlosen Kommunikationsweg zur Verfügung stellen.
  • Die vorstehend beschriebene Ausführungsform ist eine bevorzugte Ausführungsform der vorliegenden Erfindung. Der Umfang der vorliegenden Erfindung ist jedoch nicht nur auf die Ausführungsform beschränkt, sondern die vorliegende Erfindung kann in verschiedenen Modifikationen ausgeführt werden, ohne vom Gedanken der vorliegenden Erfindung abzuweichen. Beispiele von Modifikationen werden nachstehend beschrieben.
  • <Modifikation, bei der die Servosteuervorrichtung eine Vorrichtung für maschinelles Lernen umfasst >
  • Obwohl die Vorrichtung 100 für maschinelles Lernen bei den vorstehend beschriebenen Ausführungsformen als von der Servosteuervorrichtung 200 getrennte Vorrichtung konfiguriert ist, können einige oder sämtliche der Funktionen der Vorrichtung 100 für maschinelles Lernen durch die Servosteuervorrichtung 200 realisiert werden.
  • <Freiheit hinsichtlich der Systemkonfiguration>
  • Bei den vorstehend beschriebenen Ausführungsformen stehen die Vorrichtung 100 für maschinelles Lernen und die Servosteuervorrichtung 200 in einer Punkt-zu-Punkt-Korrelation in Kommunikationsverbindung. Es können jedoch beispielsweise eine Vorrichtung 100 für maschinelles Lernen und mehrere Servosteuervorrichtungen 200 über ein Netzwerk in Kommunikationsverbindung stehen, und das maschinelle Lernen kann in Bezug auf jede der Servosteuervorrichtungen 200 ausgeführt werden. In diesem Fall kann ein verteiltes Verarbeitungssystem eingesetzt werden, bei dem jeweilige Funktionen der Vorrichtung 100 für maschinelles Lernen geeignet auf mehrere Server verteilt sind. Alternativ können jeweilige Funktionen der Vorrichtung 100 für maschinelles Lernen unter Verwendung einer virtuellen Serverfunktion oder dergleichen in einer Cloud realisiert werden.
  • <Modifikation des Motor 32>
  • Bei der vorstehend beschriebenen Ausführungsform wurde davon ausgegangen, dass der Motor 32 ein Drehmotor ist. Es wurde auch davon ausgegangen, dass das maschinelle Lernen für einen Betrieb ausgeführt wird, bei dem der Rotor des Motors 32 mit einer konstanten Drehzahl eine oder mehrere Umdrehungen in einer positiven Richtung und/oder einer negativen Richtung ausführt. Stattdessen kann der Motor 32 durch einen linearen Motor anstelle des Drehmotors ersetzt werden. In diesem Fall kann das maschinelle Lernen für einen Betrieb ausgeführt werden, bei dem sich ein Läufer des linearen Motors in beiden Richtungen zwischen einem Ende eines Betriebsbereichs auf einem Stator zum anderen Ende bewegt.
  • <Modifikation des Steuerungsverfahrens der Steuereinheit>
  • Bei der vorstehend beschriebenen Ausführungsform wurde davon ausgegangen, dass die drei Steuereinheiten, die Positionssteuereinheit 23, die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27, eine PID-Steuerung ausführen. Stattdessen können einige oder sämtliche Steuereinheiten lediglich eine PI-Steuerung oder eine proportionale Steuerung ausführen. Wenn die Drehzahlsteuereinheit 25 und die Stromsteuereinheit 27 beispielsweise eine PI-Steuerung ausführen und die Positionssteuereinheit 23 eine proportionale Steuerung ausführt, können die Übertragungsfunktionen der Steuerungsverstärkungen der jeweiligen Steuereinheiten durch die folgenden Ausdrücke ausgedrückt werden (Ausdruck 7). Übertragungsfunktion der Stromsteuereinheit 27: K 1 ( s , Θ ) = K 1P ( Θ ) + K 1 I ( Θ ) : s
    Figure DE102018003769A1_0008
    Übertragungsfunktion der Drehzahlsteuereinheit 25: K 2 ( s , Θ ) = K 2P ( Θ ) + K 2I ( Θ ) : s
    Figure DE102018003769A1_0009
    Übertragungsfunktion der Positionssteuereinheit 23: K 3 ( s , Θ ) = K 3P ( Θ )
    Figure DE102018003769A1_0010
  • (Ausdruck 7)
  • <Modifikation der Koeffizienten der Übertragungsfunktion der Steuereinheit>
  • Obwohl bei der vorstehend beschriebenen Ausführungsform die Koeffizienten der Übertragungsfunktionen der Steuerungsverstärkungen (beispielsweise der Übertragungsfunktion K1(s,Θ) der Steuerungsverstärkung der Stromsteuereinheit 27, der Übertragungsfunktion K2(s,Θ) der Steuerungsverstärkung der Drehzahlsteuereinheit 25 und der Übertragungsfunktion K3(s,Θ) der Steuerungsverstärkung der Positionssteuereinheit 23) jeweils eindimensionale Funktionen sind, wie in Ausdruck 3 gezeigt, sind die Koeffizienten nicht darauf beschränkt. Die Übertragungsfunktion K1(s,Θ) (= K1P(Θ) + K1I(Θ) : s + K1D(Θ)s) der Steuerungsverstärkung der Stromsteuereinheit 27 kann beispielsweise wie nachstehend eine multidimensionale Funktion von Θ sein. K 1P ( Θ ) = Σ 1 i L { a 1 P ( i ) sin ( i Θ+ b 1P ( i ) ) } + c 1P
    Figure DE102018003769A1_0011
    K 1I ( Θ ) = Σ 1 j M { a 1 I ( j ) sin ( j Θ+ b 1I ( j ) ) } + c 1I
    Figure DE102018003769A1_0012
    K 1D ( Θ ) = Σ 1 k N { a 1 D ( k ) sin ( k Θ+ b 1D ( k ) ) } + c 1D
    Figure DE102018003769A1_0013
    Hier sind L, M und N ganze Zahlen von 1 oder mehr.
  • (Ausdruck 8)
  • Ähnlich können die Übertragungsfunktion K2(s, Θ) der Steuerungsverstärkung der Drehzahlsteuereinheit 25 und die Übertragungsfunktion K3(s, Θ) der Steuerungsverstärkung der Positionssteuereinheit 23 multidimensionale Funktionen von Θ sein. Obwohl bei der vorliegenden Ausführungsform die Funktion „sin“ verwendet wird, die ist Funktion nicht darauf beschränkt. So kann beispielsweise anstelle von „sin“ „cos“ verwendet werden. Weiterhin kann statt der Berechnung der Werte der Koeffizienten unter Verwendung derartiger Ausdrücke durch maschinelles Lernen eine Parametertabelle erzeugt werden, die Werte der Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung und den Wert Θ der Phase in Beziehung setzt.
  • <Auswahl der Zielsteuereinheit für das Lernen>
  • Bei der vorstehend beschriebenen Ausführungsform wird das Lernen sequentiell ausgeführt, wobei auf eine Steuereinheit unter den Steuereinheiten, der Positionssteuereinheit 23, der Drehzahlsteuereinheit 25 und der Stromsteuereinheit 27, abgezielt wird und das Lernen schließlich for alle drei Steuereinheiten ausgeführt wird. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Das Lernen kann beispielsweise für eine der drei Steuereinheiten ausgeführt werden. Das Lernen kann beispielsweise nur für die Stromsteuereinheit 27 ausgeführt werden, und das Lernen kann nur für die Drehzahlsteuereinheit 25 und die Steuereinheit 27 ausgeführt werden.
  • <Strombefehlswert>
  • Ein Strombefehlswert hat eine Obergrenze. Daher kann ein zulässiger Wert CCmax vorzugsweise so eingestellt werden, dass er einer Obergrenze entspricht oder kleiner ist, beispielsweise so, dass der Strombefehlswert den zulässigen Wert CCmax nicht überschreitet. Daher wird die Belohnung statt einer Berechnung der Belohnung auf der Grundlage der Abweichung PD(s)unter Berücksichtigung dessen berechnet, ob der Strombefehlswert den zulässigen Wert CCmax erreicht hat. Insbesondere überwacht das Element 11 zum Abrufen von Zustandsinformationen einen um eine Position nach vorne gesteuerten Strombefehlswert CC(s), der der Ausgang der Addiervorrichtung 107 im Zustand s ist. Wenn das Element 11 zum Abrufen von Zustandsinformationen feststellt, dass einer der im Zustand s überwachten Strombefehlswerte den zulässigen Wert CCmax überschreitet, stellt das Element 121 zur Ausgabe einer Belohnung die Belohnung unabhängig von dem Ergebnis der Berechnung der Belohnung anhand der Abweichung PD(s) und dem Strombefehlswert im vorherigen Zustand auf einen negativen Wert ein.
  • Wenn der im Zustand s festgestellte Strombefehlswert den zulässigen Wert CCmax nicht überschreitet, kann vorab eine Bewertungsfunktion q für den Strombefehlswert CC(s) eingestellt werden, und die auf dem Strombefehlswert CC(s) basierende Belohnung kann ähnlich der Abweichung PD(s) auf der Grundlage eines Schätzwerts q(CC(s)) des Strombefehlswerts CC(s) berechnet werden. In diesem Fall kann das Element 121 zur Ausgabe einer Belohnung die auf der Abweichung PD(s) basierende Belohnung und die auf dem Strombefehlswert CC(s) basierende Belohnung unter Anwendung einer Gewichtung auf beide Belohnungen addieren. Darüber hinaus kann eine Gewichtung auf die Bewertungsfunktion für die Abweichung PD(s) und die Bewertungsfunktion q für den Strombefehlswert CC(s) angewendet werden, die gewichteten Bewertungsfunktionen können addiert werden, und die Belohnung kann unter Verwendung der gewichteten Bewertungsfunktion bestimmt werden.
  • Bezugszeichenliste
  • 1:
    Servosteuersystem
    100:
    Vorrichtung für maschinelles Lernen
    11:
    Element zum Abrufen von Zustandsinformationen
    12:
    Lernelement
    121:
    Element zur Ausgabe einer Belohnung
    122:
    Element zur Aktualisierung der Wertefunktion
    123:
    Element zur Erzeugung von Aktionsinformationen
    13:
    Element zur Ausgabe von Aktionsinformationen
    14:
    Element zum Speichern der Wertefunktion
    15:
    Element zur Ausgabe der optimalen Aktionsinformationen
    200:
    Servosteuervorrichtung
    21:
    Element zur Berechnung der Phase
    22, 24, 26:
    Subtrahiereinrichtung
    23:
    Positionssteuereinheit
    25:
    Drehzahlsteuereinheit
    27:
    Stromsteuereinheit
    28:
    Integrationseinrichtung
    300:
    Steuerzielvorrichtung
    31:
    Antriebsverstärker
    32:
    Motor
    33:
    Maschine
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP H7210207 [0003]
  • Zitierte Nicht-Patentliteratur
    • „Human-level control through deep reinforcement learning“, Volodymyr Mnih, et al., [Online], [abgerufen am 8. Mai 2017] [0042]

Claims (7)

  1. Vorrichtung für maschinelles Lernen (100), die ein bestärkendes Lernen hinsichtlich einer Servosteuervorrichtung (200) ausführt, die einen Betrieb einer Steuerzielvorrichtung (300) steuert, die einen Motor (32) aufweist, wobei die Vorrichtung für maschinelles Lernen (100) umfasst: eine Einrichtung (13) zur Ausgabe von Aktionsinformationen zur Ausgabe von Aktionsinformationen, die Informationen zur Einstellung von Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung einschließen, an eine Steuereinheit (23, 25, 27), die in die Servosteuervorrichtung (200) eingegliedert ist; eine Einrichtung (11) zum Abrufen von Zustandsinformationen zum Abrufen von Zustandsinformationen, die eine Abweichung zwischen einem tatsächlichen Betrieb der Steuerzielvorrichtung (300) und einem in die Steuereinheit (23, 25, 27) eingegebenen Befehl, eine Phase des Motors (32) und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung bei der Betätigung der Steuerzielvorrichtung (300) durch die Steuereinheit (23, 25, 27) auf der Grundlage der Aktionsinformationen umfassen, von der Servosteuervorrichtung (200); eine Belohnungsausgabeeinrichtung (121) zur Ausgabe eines Werts einer Belohnung beim bestärkenden Lernen auf der Grundlage der in den Zustandsinformationen enthaltenen Abweichung; und eine Einrichtung (122) zur Aktualisierung der Wertefunktion zur Aktualisierung einer Aktionswertefunktion auf der Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.
  2. Vorrichtung für maschinelles Lernen (200) nach Anspruch 1, wobei die Servosteuervorrichtung (200) eine Servosteuervorrichtung (200) ist, die eine Feedbacksteuerung zur Korrektur des in die Steuereinheit (23, 25, 27) eingegebenen Befehls ausführt, und die Einrichtung (11) zum Abrufen von Zustandsinformationen eine Differenz zwischen dem in die Steuereinheit (23, 25, 27) eingegebenen Befehl und einem Feedbackwert der Feedbacksteuerung als Abweichung abruft.
  3. Vorrichtung für maschinelles Lernen (100) nach Anspruch 1 oder 2, wobei die Steuereinheit (23, 25, 27) eine Kombination von Steuereinheiten ist, die eine Positionssteuerung, eine Drehzahlsteuerung und eine Stromsteuerung ausführen, und die Vorrichtung für maschinelles Lernen (100) die Steuereinheit, die die Stromsteuerung ausführt, die Steuereinheit, die die Drehzahlsteuerung ausführt, und die Steuereinheit, die die Positionssteuerung ausführt, in dieser Reihenfolge als Ziel für das bestärkende Lernen auswählt, wenn die Vorrichtung für maschinelles Lernen (100) das bestärkende Lernen durch Auswählen einer der Steuereinheiten (23, 25, 27) als Ziel ausführt und anschließend das bestärkende Lernen durch Auswählen einer anderen Steuereinheit als Ziel ausführt.
  4. Vorrichtung für maschinelles Lernen (100) nach einem der Ansprüche 1 bis 3, wobei die Phase des Motors (32) auf der Grundlage eines Positionsbefehls zur Steuerung des Betriebs der Steuerzielvorrichtung (300) berechnet wird.
  5. Vorrichtung für maschinelles Lernen (100) nach einem der Ansprüche 1 bis 4, wobei die Übertragungsfunktion der Steuerungsverstärkung eine Phase des Motors (32) als Variable umfasst.
  6. Servosteuersystem, das die Vorrichtung für maschinelles Lernen (100) nach einem der Ansprüche 1 bis 5 und die Servosteuervorrichtung (200) umfasst, wobei die Servosteuervorrichtung (200) eine Phasenberechnungseinrichtung (21) zur Berechnung einer Phase des Motors (32) auf der Grundlage eines Positionsbefehls zur Steuerung eines Betriebs der Steuerzielvorrichtung (300) und zur Ausgabe der berechneten Phase des Motors (32) an die Einrichtung (11) zum Abrufen von Zustandsinformationen und die Steuereinheit (23, 25, 27) umfasst.
  7. Verfahren zum maschinellen Lernen für eine Vorrichtung für maschinelles Lernen (100), die ein bestärkendes Lernen hinsichtlich eine Servosteuervorrichtung (200) ausführt, die einen Betrieb einer Steuerzielvorrichtung (300) steuert, die einen Motor aufweist (32), wobei das Verfahren zum maschinellen Lernen umfasst: einen Schritt der Ausgabe von Aktionsinformationen zur Ausgabe von Aktionsinformationen, die Informationen zur Einstellung von Koeffizienten einer Übertragungsfunktion einer Steuerungsverstärkung an eine in die Servosteuervorrichtung (200) eingegliederte Steuereinheit (23, 25, 27) umfassen; einen Schritt des Abrufs von Zustandsinformationen zum Abrufen von Zustandsinformationen, die eine Abweichung zwischen einem tatsächlichen Betrieb der Steuerzielvorrichtung (300) und einem in die Steuereinheit (23, 25, 27) eingegebenen Befehl, eine Phase des Motors (32) und die Koeffizienten der Übertragungsfunktion der Steuerungsverstärkung bei der Betätigung der Steuerzielvorrichtung (300) durch die Steuereinheit (23, 25, 27) auf der Grundlage der Aktionsinformationen umfassen, von der Servosteuervorrichtung (200); einen Schritt der Ausgabe einer Belohnung zur Ausgabe eines Werts einer Belohnung beim bestärkenden Lernen auf der Grundlage der in den Zustandsinformationen enthaltenen Abweichung; und einen Schritt der Aktualisierung einer Wertefunktion zur Aktualisierung einer Aktionswertefunktion auf der Grundlage des Werts der Belohnung, der Zustandsinformationen und der Aktionsinformationen.
DE102018003769.0A 2017-05-16 2018-05-09 Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen Active DE102018003769B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-097527 2017-05-16
JP2017097527A JP6474456B2 (ja) 2017-05-16 2017-05-16 機械学習装置、サーボ制御システム及び機械学習方法

Publications (2)

Publication Number Publication Date
DE102018003769A1 true DE102018003769A1 (de) 2018-11-22
DE102018003769B4 DE102018003769B4 (de) 2021-09-23

Family

ID=64271615

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018003769.0A Active DE102018003769B4 (de) 2017-05-16 2018-05-09 Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen

Country Status (4)

Country Link
US (1) US11009837B2 (de)
JP (1) JP6474456B2 (de)
CN (1) CN108880399B (de)
DE (1) DE102018003769B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6544219B2 (ja) * 2015-11-30 2019-07-17 オムロン株式会社 制御装置
KR102215752B1 (ko) * 2018-12-27 2021-02-17 서울대학교산학협력단 Ai 기반 노치 필터의 파라미터 설정 장치 및 방법
WO2020179063A1 (ja) * 2019-03-07 2020-09-10 三菱電機株式会社 機械学習装置、数値制御装置、異常推測装置および工作機械の制御システム
JP7022096B2 (ja) * 2019-03-28 2022-02-17 ファナック株式会社 サーボ制御装置
CN112631120B (zh) * 2019-10-09 2022-05-17 Oppo广东移动通信有限公司 Pid控制方法、装置和视频编解码系统
JP7331660B2 (ja) * 2019-11-26 2023-08-23 横河電機株式会社 装置、方法およびプログラム
JP7374790B2 (ja) * 2020-01-30 2023-11-07 株式会社Screenホールディングス 搬送装置および搬送方法
JP7484382B2 (ja) 2020-04-24 2024-05-16 横河電機株式会社 制御装置、制御方法および制御プログラム
CN114609976A (zh) * 2022-04-12 2022-06-10 天津航天机电设备研究所 一种基于单应性和q学习的无标定视觉伺服控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210207A (ja) 1994-01-17 1995-08-11 Hitachi Ltd 適応制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01298977A (ja) 1988-05-27 1989-12-01 Sanyo Denki Co Ltd モータの制御方法及び装置
JP2000054862A (ja) * 1998-08-07 2000-02-22 Yamaha Motor Co Ltd 動力源付き乗物における出力制御方法
JP2006238663A (ja) * 2005-02-28 2006-09-07 Toshiba Corp 電動機の制御装置
US20150018632A1 (en) 2012-09-14 2015-01-15 Mohammad Khair System and Method For Monitoring Cardiac Blood Flow Balance Between The Right and Left Heart Chambers
JP6154435B2 (ja) 2015-07-09 2017-06-28 ファナック株式会社 制御系のオンライン自動調整状況を表示する機能を有するサーボ制御装置
JP6106226B2 (ja) 2015-07-31 2017-03-29 ファナック株式会社 ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法
JP6177842B2 (ja) 2015-07-31 2017-08-09 ファナック株式会社 アース線又はシールド線の接続箇所を学習する機械学習方法及び機械学習装置並びに該機械学習装置を備えた電動機制御装置及び電動機装置
JP6243385B2 (ja) * 2015-10-19 2017-12-06 ファナック株式会社 モータ電流制御における補正値を学習する機械学習装置および方法ならびに該機械学習装置を備えた補正値計算装置およびモータ駆動装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210207A (ja) 1994-01-17 1995-08-11 Hitachi Ltd 適応制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
„Human-level control through deep reinforcement learning", Volodymyr Mnih, et al., [Online], [abgerufen am 8. Mai 2017]

Also Published As

Publication number Publication date
CN108880399B (zh) 2019-12-06
JP2018195018A (ja) 2018-12-06
JP6474456B2 (ja) 2019-02-27
DE102018003769B4 (de) 2021-09-23
CN108880399A (zh) 2018-11-23
US11009837B2 (en) 2021-05-18
US20180335758A1 (en) 2018-11-22

Similar Documents

Publication Publication Date Title
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102018202654B4 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE69125980T2 (de) Intelligentes Bearbeitungssystem
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102018010054A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen
DE102018201157A1 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
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
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen

Legal Events

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