DE102019200080A1 - Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen - Google Patents

Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen Download PDF

Info

Publication number
DE102019200080A1
DE102019200080A1 DE102019200080.0A DE102019200080A DE102019200080A1 DE 102019200080 A1 DE102019200080 A1 DE 102019200080A1 DE 102019200080 A DE102019200080 A DE 102019200080A DE 102019200080 A1 DE102019200080 A1 DE 102019200080A1
Authority
DE
Germany
Prior art keywords
value
servomotor
unit
machine learning
compensation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019200080.0A
Other languages
English (en)
Inventor
Tsutomu Nakamura
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 DE102019200080A1 publication Critical patent/DE102019200080A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42151Learn dynamics of servomotor system by ann

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (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)
  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)
  • Numerical Control (AREA)

Abstract

Parameter einer Steuereinheit und einer Kompensationseinheit einer Servomotor-Steuereinrichtung werden korrigiert, um eine Servoleistung zu verbessern. Eine Vorrichtung für maschinelles Lernen 300, die maschinelles Lernen im Hinblick auf eine Servomotor-Steuereinrichtung 200 durchführt, die eine Änderungseinheit 206 beinhaltet, die einen Parameter einer Steuereinheit 204, die einen Servomotor 101 steuert, und einen Kompensationswert eines Positionsbefehls und/oder eines Drehmomentbefehls ändert, beinhaltet: eine Zustandsinformations-Erfassungseinheit 301, die Zustandsinformationen erfasst, die den Positionsbefehl, einen Servozustand, der zumindest einen Positionsfehler beinhaltet, eine Kombination des Parameters und des Kompensationswerts beinhalten, indem sie bewirkt, dass die Servomotor-Steuereinrichtung ein vorgegebenes Programm ausführt; eine Aktionsinformations-Ausgabeeinheit 303, die Aktionsinformationen ausgibt, die Anpassungsinformationen der Kombination des Parameters und des Kompensationswerts beinhalten, die in den Zustandsinformationen beinhaltet ist; eine Belohnungsausgabeeinheit 3021, die einen Wert einer Belohnung eines bestärkenden Lernens auf Grundlage des Positionsfehlers ausgibt, der in den Zustandsinformationen beinhaltet ist; und eine Wertfunktions-Aktualisierungseinheit 3022, die eine Wertfunktion auf Grundlage des Werts der Belohnung, der durch die Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen aktualisiert.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung für maschinelles Lernen, die ein Lernen im Zusammenhang mit Parametern und Kompensationswerten im Hinblick auf eine Servomotor-Steuereinrichtung durchführt, die die Parameter einer Steuereinheit, die einen Servomotor steuert, und einen Positionsbefehl und/oder einen Drehmomentbefehl im Hinblick auf eine Veränderung einer Belastung ändert, die auf ein Steuerungsziel ausgeübt wird, auf eine Servomotor-Steuereinrichtung und ein Servomotor-Steuersystem, das die Vorrichtung für maschinelles Lernen beinhaltet, und auf ein Verfahren für maschinelles Lernen.
  • Verwandte Technik
  • Als Beispiele für eine herkömmliche Servomotor-Steuereinrichtung sind eine in Patentdokument 1 offenbarte numerische Steuereinrichtung, eine in Patentdokument 2 offenbarte Maschinensteuereinrichtung, eine in Patentdokument 3 offenbarte Motorsteuereinrichtung und eine in Patentdokument 4 offenbarte Servosteuereinrichtung bekannt.
  • Die in dem Patentdokument 1 offenbarte numerische Steuereinrichtung unterteilt einen Bewegungsbereich einer Zugspindel einer Werkzeugmaschine in eine Mehrzahl von Bereichen und speichert eine Mehrzahl von Steuerprogrammen, die der Mehrzahl von unterteilten Bereichen entspricht, im Voraus. Die numerische Steuereinrichtung erkennt die Position der Zugspindel während eines Bearbeitens eines Werkstücks, liest einen Steuerparameter, der einem unterteilten Bereich entspricht, zu dem die erkannte Position der Zugspindel während des Bearbeitens eines Werkstücks gehört, aus der Mehrzahl von gespeicherten Steuerparametern aus und steuert die Zugspindel mithilfe des ausgelesenen Steuerparameters. Darüber hinaus addiert die numerische Steuereinrichtung eine Ausgabe aus einer Drehmoment-Vorsteuereinheit und eine Ausgabe aus einer Geschwindigkeitsrückkopplungs-Steuereinheit und liefert den Additionswert über ein Bandsperrfilter an eine Zugspindelmotor-Antriebseinheit, um dadurch einen Zugspindelmotor anzutreiben.
  • Die in dem Patentdokument 2 offenbarte Maschinensteuereinrichtung schätzt eine in einer Maschine erzeugte Reibungskraft auf Grundlage einer Geschwindigkeitsausgabe aus der Maschine, multipliziert die geschätzte Reibungskraft mit einer Proportionalverstärkung, um einen Reibungskompensationswert zu gewinnen, und korrigiert einen Drehmomentbefehl mithilfe des gewonnenen Reibungskompensationswerts. Die Proportionalverstärkung wird auf Grundlage einer Verstärkungseigenschaft einer Übertragungsfunktion von einem Positionsbefehl für die Maschine zu einem Positionsfehler bestimmt.
  • Die in dem Patentdokument 3 offenbarte Motorsteuereinrichtung beinhaltet eine erste Lernsteuereinrichtung, die einen Positionsfehler-Kompensationsbetrag so berechnet, dass ein Positionsfehler eines ersten Motors minimiert wird, und eine zweite Lernsteuereinrichtung, die einen Positionsfehler-Kompensationsbetrag so berechnet, dass ein Positionsfehler eines zweiten Motors minimiert wird. Die Motorsteuereinrichtung gleicht die Ansprechempfindlichkeit von jeweiligen Motoren durch Angleichen der Parameter an, die die Ansprechempfindlichkeit einer Lernsteuerung bestimmen.
  • Die in dem Patentdokument 4 offenbarte Servosteuereinrichtung steuert eine Master-seitige Antriebsquelle, die eine Antriebswelle antreibt, und eine Slave-seitige Antriebsquelle, die eine Abtriebswelle antreibt, synchron. Die Servosteuereinrichtung gewinnt einen Synchronisationsfehler, bei dem es sich um eine Differenz zwischen einem Positionsfehler der Master-seitigen Antriebsquelle und einem Positionsfehler der Slave-seitigen Antriebsquelle handelt, auf Grundlage eines Positionsbefehlswerts für die Slave-seitige Antriebsquelle, um den Synchronisationsfehler zu verringern. Die Lernsteuereinrichtung empfängt den Synchronisationsfehler und berechnet Kompensationsdaten zum Korrigieren des Positionsfehlers des vorschubseitigen Servomotors auf Grundlage des Synchronisationsfehlers.
    • Patentdokument 1: Internationale PCT-Veröffentlichung Nr. WO2012/057219
    • Patentdokument 2: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2015-156194
    • Patentdokument 3: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2009-106034
    • Patentdokument 4: ungeprüfte japanische Patentanmeldung, Veröffentlichungs-Nr. 2008-225533
  • Übersicht über die Erfindung
  • Die Belastung, die auf ein durch die Servomotor-Steuereinrichtung gesteuertes Steuerungsziel ausgeübt wird, kann sich abhängig von einem Winkel einer Steuerungsziel-Drehwelle oder der Position oder dergleichen eines Steuerungszieltreibers verändern. Im Hinblick auf diese Veränderungen der Belastung ist ein Ändern der Parameter einer Steuereinheit, die den Servomotor steuert, und des Kompensationswerts des Positionsbefehls und/oder des Drehmomentbefehls beim Verbessern der Servoleistung von Bedeutung. Wenn die Parameter der Steuereinheit und der Kompensationswert geändert werden, um einer Veränderung der Belastung, die auf das Steuerungsziel ausgeübt wird, gerecht zu werden, besteht ein Problem darin, den Parameterwert der Steuereinheit und den Kompensationswert entsprechend dem Winkel der Steuerungsziel-Drehwelle und der Position des Steuerungszieltreibers festzulegen. Ein Ziel der vorliegenden Erfindung besteht darin, eine Vorrichtung für maschinelles Lernen, eine Servomotor-Steuereinrichtung, ein Servomotor-Steuersystem und ein Verfahren für maschinelles Lernen bereitzustellen, die in der Lage sind, einen Parameterwert einer Steuereinheit einer Servomotor-Steuereinrichtung und einen Kompensationswert eines Positionsbefehls und/oder eines Drehmomentbefehls auf geeignete Werte entsprechend einer Veränderung der Belastung festzulegen, die auf ein Steuerungsziel ausgeübt wird, um die Servoleistung zu verbessern.
  • (1) Eine Vorrichtung für maschinelles Lernen (zum Beispiel eine im Folgenden beschriebene Vorrichtung 300 für maschinelles Lernen) gemäß der vorliegenden Erfindung ist eine Vorrichtung für maschinelles Lernen, die maschinelles Lernen im Hinblick auf eine Servomotor-Steuereinrichtung (zum Beispiel eine im Folgenden beschriebene Servomotor-Steuereinrichtung 200) durchführt, die eine Änderungseinheit (zum Beispiel eine im Folgenden beschriebene Änderungseinheit 206) zum Ändern eines Parameters einer Steuereinheit (zum Beispiel einer im Folgenden beschriebenen Steuereinheit 204) zum Steuern eines Servomotors (zum Beispiel eines im Folgenden beschriebenen Servomotors 101) auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet, wobei die Vorrichtung für maschinelles Lernen beinhaltet: eine Zustandsinformations-Erfassungseinheit (zum Beispiel eine im Folgenden beschriebene Zustandsinformations-Erfassungseinheit 301) zum Erfassen von Zustandsinformationen von der Servomotor-Steuereinrichtung, die den Positionsbefehl, einen Servozustand, der zumindest einen Positionsfehler beinhaltet, eine Kombination des Parameters der Steuereinheit und des Kompensationswerts beinhalten, durch Bewirken, dass die Servomotor-Steuereinrichtung ein vorgegebenes Programm ausführt; eine Aktionsinformations-Ausgabeeinheit (zum Beispiel eine im Folgenden beschriebene Aktionsinformations-Ausgabeeinheit 303) zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen der Kombination des Parameters und des Kompensationswerts beinhalten, die in den Zustandsinformationen beinhaltet ist, an die Servomotor-Steuereinrichtung;
    eine Belohnungsausgabeeinheit (zum Beispiel eine im Folgenden beschriebene Belohnungsausgabeeinheit 3021) zum Ausgeben eines Werts einer Belohnung eines bestärkenden Lernens auf Grundlage des Positionsfehlers, der in den Zustandsinformationen beinhaltet ist; und
    eine Wertfunktions-Aktualisierungseinheit (zum Beispiel eine im Folgenden beschriebene Wertfunktions-Aktualisierungseinheit 3022) zum Aktualisieren einer Wertfunktion auf Grundlage des Werts der Belohnung, der durch die Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen.
  • (2) In der Vorrichtung für maschinelles Lernen gemäß (1) kann die Belohnungsausgabeeinheit den Wert der Belohnung auf Grundlage eines Absolutwerts des Positionsfehlers ausgeben.
  • (3) Die Vorrichtung für maschinelles Lernen gemäß (1) oder (2) kann des Weiteren eine Optimierungsaktionsinformations-Ausgabeeinheit (zum Beispiel eine im Folgenden beschriebene Optimierungsaktionsinformations-Ausgabeeinheit 305) zum Erzeugen einer Kombination des Parameters der Steuereinheit und des Kompensationswerts des Positionsbefehls und/oder des Drehmomentbefehls auf Grundlage der Wertfunktion, die durch die Wertfunktions-Aktualisierungseinheit aktualisiert wird, und zum Ausgeben der Kombination an die Änderungseinheit beinhalten.
  • (4) Ein Servomotor-Steuersystem (zum Beispiel ein im Folgenden beschriebenes Servomotor-Steuersystem 10) gemäß der vorliegenden Erfindung ist ein Servomotor-Steuersystem, das beinhaltet: die Vorrichtung für maschinelles Lernen (zum Beispiel eine im Folgenden beschriebene Vorrichtung 300 für maschinelles Lernen) gemäß einem von (1) bis (3); eine Servomotor-Steuereinrichtung (zum Beispiel eine im Folgenden beschriebene Servomotor-Steuereinrichtung 200), die eine Änderungseinheit (zum Beispiel eine im Folgenden beschriebene Änderungseinheit 206) zum Ändern eines Parameters einer Steuereinheit (zum Beispiel einer im Folgenden beschriebenen Steuereinheit 204) zum Steuern eines Servomotors auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet; und ein Steuerungsziel (zum Beispiel ein im Folgenden beschriebenes Steuerungsziel 100, 110, 120), das durch die Servomotor-Steuereinrichtung gesteuert wird.
  • (5) In dem Servomotor-Steuersystem gemäß (4) kann das Steuerungsziel (zum Beispiel ein im Folgenden beschriebenes Steuerungsziel 100) einen Servomotor und einen Treiber (zum Beispiel einen im Folgenden beschriebenen Kippmechanismus 104), dessen Drehwinkel durch den Servomotor gesteuert wird, und eine Belastung beinhalten, die durch eine Drehwelle des Treibers abhängig von dem Drehwinkel verändert wird.
  • (6) In dem Servomotor-Steuersystem gemäß (4) kann das Steuerungsziel (zum Beispiel ein im Folgenden beschriebenes Steuerungsziel 110, 120) einen Servomotor und einen Treiber (zum Beispiel eine(n) im Folgenden beschriebene(n) Spindelstock 113 oder Mutter 124) beinhalten, dessen Position durch den Servomotor gesteuert wird, und eine Belastung, die das Steuerungsziel aufnimmt, kann sich abhängig von der Position verändern.
  • (7) In dem Servomotor-Steuersystem gemäß (5) oder (6) kann sich die Belastung im Laufe der Zeit ändern.
  • (8) In dem Servomotor-Steuersystem gemäß einem von (4) bis (7) kann die Steuereinheit der Servomotor-Steuereinrichtung beinhalten: eine Positionssteuereinheit (zum Beispiel eine im Folgenden beschriebene Positionssteuereinheit 2041) zum Erzeugen eines Geschwindigkeitsbefehls auf Grundlage des Positionsbefehls; eine Geschwindigkeitssteuereinheit (zum Beispiel eine im Folgenden beschriebene Geschwindigkeitssteuereinheit 2043) zum Erzeugen des Drehmomentbefehls auf Grundlage des Geschwindigkeitsbefehls, der von der Positionssteuereinheit ausgegeben wird; und ein Filter (zum Beispiel ein im Folgendes beschriebenes Filter 2044) zum Dämpfen von Signalen mit Frequenzen in einem vorgegebenen Frequenzbereich des Drehmomentbefehls, der von der Geschwindigkeitssteuereinheit ausgegeben wird, und
    die Änderungseinheit kann eine Verstärkung der Positionssteuereinheit und/oder der Geschwindigkeitssteuereinheit, einen Filterkoeffizienten des Filters und einen Drehmoment-Versatzwert und/oder einen Reibungskompensationswert, die auf den Positionsbefehl oder
    den Drehmomentbefehl angewendet werden, auf Grundlage der Aktionsinformationen ändern.
  • (9) Eine Servomotor-Steuereinrichtung (zum Beispiel eine im Folgenden beschriebene Servomotor-Steuereinrichtung 200) gemäß der vorliegenden Erfindung ist eine Servomotor-Steuereinrichtung, die beinhaltet: die Vorrichtung für maschinelles Lernen (zum Beispiel eine im Folgenden beschriebene Vorrichtung 300 für maschinelles Lernen) gemäß einem von (1) bis (3); und eine Änderungseinheit (zum Beispiel eine im Folgenden beschriebene Änderungseinheit 206) zum Ändern eines Parameters einer Steuereinheit (zum Beispiel einer im Folgenden beschriebenen Steuereinheit 204) zum Steuern eines Servomotors auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls auf Grundlage der Aktionsinformationen von der Vorrichtung für maschinelles Lernen.
  • (10) Ein Verfahren für maschinelles Lernen gemäß der vorliegenden Erfindung ist ein Verfahren für maschinelles Lernen einer Vorrichtung für maschinelles Lernen (zum Beispiel einer im Folgenden beschriebenen Vorrichtung 300 für maschinelles Lernen), die maschinelles Lernen im Hinblick auf eine Servomotor-Steuereinrichtung (zum Beispiel eine im Folgenden beschriebene Servomotor-Steuereinrichtung 200) durchführt, die eine Änderungseinheit (zum Beispiel eine im Folgenden beschriebene Änderungseinheit 206) zum Ändern eines Parameters einer Steuereinheit (zum Beispiel einer im Folgenden beschriebenen Steuereinheit 204) zum Steuern eines Servomotors auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet, wobei das Verfahren für maschinelles Lernen beinhaltet: Erfassen von Zustandsinformationen von der Servomotor-Steuereinrichtung, die den Positionsbefehl, einen Servozustand, der zumindest einen Positionsfehler beinhaltet, eine Kombination des Parameters der Steuereinheit und des Kompensationswerts beinhalten, durch Bewirken, dass die Servomotor-Steuereinrichtung ein vorgegebenes Programm ausführt; Ausgeben von Aktionsinformationen, die Anpassungsinformationen der Kombination des Parameters und des Kompensationswerts beinhalten, die in den Zustandsinformationen beinhaltet ist; und
    Aktualisieren einer Wertfunktion auf Grundlage eines Werts einer Belohnung eines bestärkenden Lernens auf Grundlage des Positionsfehlers, der in den Zustandsinformationen beinhaltet ist, der Zustandsinformationen und der Aktionsinformationen.
  • Gemäß der vorliegenden Erfindung ist es möglich, einen Parameterwert einer Steuereinheit einer Servomotor-Steuereinrichtung und einen Kompensationswert eines Positionsbefehls und/oder eines Drehmomentbefehls auf geeignete Werte entsprechend einer Veränderung der Belastung festzulegen, die auf ein Steuerungsziel ausgeübt wird, um die Servoleistung zu verbessern.
  • Figurenliste
    • 1 ist ein Blockschaubild, das ein Servomotor-Steuersystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 2 ist ein Schaubild, das eine Gestaltung eines Beispiels für ein Steuerungsziel veranschaulicht, das durch eine Servomotor-Steuereinrichtung angetrieben wird.
    • 3 ist ein Schaubild, das eine Gestaltung eines Beispiels für einen Kippmechanismus veranschaulicht, auf dem ein Werkstück angebracht ist.
    • 4 ist ein Schaubild, das eine Gestaltung eines Beispiels für einen Kippmechanismus veranschaulicht, wenn das in 3 veranschaulichte Werkstück um 90 ° gedreht ist.
    • 5 ist ein Blockschaubild, das ein Paar, das aus einer Servomotor-Steuereinrichtung und einer Vorrichtung für maschinelles Lernen des Servomotor-Steuersystems gemäß der ersten Ausführungsform der vorliegenden Erfindung besteht, und einen Servomotor, der in einem Steuerungsziel beinhaltet ist, veranschaulicht.
    • 6 ist ein Schaubild zum Beschreiben, wie sich ein Drehmoment abhängig von einem Drehwinkel des in 2 veranschaulichten Steuerungsziels ändert.
    • 7 ist ein Blockschaubild, das eine Vorrichtung für maschinelles Lernen gemäß der ersten Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 8 ist ein Ablaufplan zum Beschreiben eines Betriebs der Vorrichtung für maschinelles Lernen.
    • 9 ist ein Schaubild, das die Einzelheiten eines Schritts S15 des Ablaufplans von 8 veranschaulicht.
    • 10 ist ein Ablaufplan zum Beschreiben eines Betriebs einer Optimierungsaktionsinformations-Ausgabeeinheit der Vorrichtung für maschinelles Lernen gemäß der ersten Ausführungsform.
    • 11 ist eine schematische Darstellung, die eine Hobelmaschine, die als Steuerungsziel eines Servomotor-Steuersystems dient, gemäß einer zweiten Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 12 ist ein Blockschaubild, das eine Werkzeugmaschine, die einen Servomotor beinhaltet, der als Steuerungsziel eines Servomotor-Steuersystems dient, gemäß einer dritten Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • Ausführliche Beschreibung der Erfindung
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
  • (Erste Ausführungsform)
  • 1 ist ein Blockschaubild, das ein Servomotor-Steuersystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in 1 veranschaulicht, beinhaltet ein Servomotor-Steuersystem 10 n Steuerungsziele 100-1 bis 100-n, n Servomotor-Steuereinrichtungen 200-1 bis 200-n, n Vorrichtungen 300-1 bis 300-n für maschinelles Lernen und ein Netzwerk 400. Hier handelt es sich bei n um eine beliebige natürliche Zahl.
  • Die Steuerungsziele 100-1 bis 100-n sind jeweils mit den Servomotor-Steuereinrichtungen 200-1 bis 200-n verbunden. Bei den Steuerungszielen 100-1 bis 100-n handelt es sich zum Beispiel um Werkzeugmaschinen, Roboter oder Industriemaschinen, die einen Servomotor beinhalten. Die Servomotor-Steuereinrichtungen 200-1 bis 200-n können als Teil einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine bereitgestellt werden. Die Servomotor-Steuereinrichtung 200-1 und die Vorrichtung 300-1 für maschinelles Lernen sind in einer Eins-zu-Eins-Beziehung paarweise verbunden und sind zur Datenübertragung verbunden. Die Servomotor-Steuereinrichtungen 200-2 bis 200-n und die Vorrichtungen 300-2 bis 300-n für maschinelles Lernen sind in ähnlicher Weise wie die Servomotor-Steuereinrichtung 200-1 und die Vorrichtung 300-1 für maschinelles Lernen verbunden. Wenngleich in 1 n Paare der Servomotor-Steuereinrichtungen 200-1 bis 200-n und der Vorrichtung 300-1 bis 300-n für maschinelles Lernen über das Netzwerk 400 verbunden sind, können die n Paare der Servomotor-Steuereinrichtungen 200-1 bis 200-n und der Vorrichtungen 300-1 bis 300-n für maschinelles Lernen jeweils über Verbindungsschnittstellen direkt verbunden sein. Eine Mehrzahl von n Paaren der Servomotor-Steuereinrichtungen 200-1 bis 200-n und der Vorrichtungen 300-1 bis 300-n für maschinelles Lernen kann zum Beispiel in derselben Fertigungsanlage bereitgestellt werden und kann in verschiedenen Fertigungsanlagen bereitgestellt werden.
  • Bei dem Netzwerk 400 handelt es sich zum Beispiel um ein in einer Fertigungsanlage aufgebautes lokales Netzwerk (local area network, LAN), das Internet, ein öffentliches Fernsprechnetz, eine direkte Verbindung über eine Verbindungsschnittstelle oder eine Kombination von diesen. Ein spezifisches Datenübertragungsschema des Netzwerks 400, ob das Netzwerk eine Kabelverbindung oder eine kabellose Verbindung verwendet, und dergleichen unterliegen keiner besonderen Beschränkung.
  • Zuerst wird ein Steuerungsziel 100 der vorliegenden Ausführungsform beschrieben. 2 ist ein Schaubild, das eine Gestaltung eines Beispiels für ein Steuerungsziel veranschaulicht, das durch die Servomotor-Steuereinrichtung angetrieben wird. Das in 2 veranschaulichte Steuerungsziel 100 beinhaltet einen Servomotor 101, der durch einen Strom gesteuert wird, der von der Servomotor-Steuereinrichtung 200 ausgegeben wird, einen Drehgeber (der als Positionserkennungseinheit und als Geschwindigkeitserkennungseinheit dient) 102, eine Stromerkennungseinheit 103, die einen Strom erkennt, der von der Servomotor-Steuereinrichtung 200 ausgegeben wird, und einen Kippmechanismus 104. Das Steuerungsziel 100 entspricht zum Beispiel dem Steuerungsziel 100-1 in 1.
  • 3 ist ein Schaubild, das eine Gestaltung eines Beispiels für einen Kippmechanismus veranschaulicht, auf dem ein Werkstück angebracht ist. 4 ist ein Schaubild, das eine Gestaltung eines Beispiels für einen Kippmechanismus veranschaulicht, wenn das in 3 veranschaulichte Werkstück um 90 ° gedreht ist. Wie in 3 veranschaulicht, wird der Kippmechanismus 104 durch den Servomotor 101 im Hinblick auf eine B-Welle gedreht und angetrieben, um ein Werkstück 105 zu kippen, das durch ein Werkzeug bearbeitet wird. Der Kippmechanismus 104 beinhaltet einen Tisch 1041, auf dem das Werkstück 105 angebracht ist, und ein Paar Halteelemente 1042, die eine geneigte Welle (eine Drehwelle) aufweisen. Auf diese Weise weist der Kippmechanismus 104 eine asymmetrische Gestaltung im Hinblick auf die B-Welle auf. Das Werkstück 105 wird durch einen weiteren Servomotor auf dem Tisch 1041 im Hinblick auf eine C-Welle gedreht und angetrieben. 3 veranschaulicht den Kippmechanismus 104, bei dem eine axiale Richtung der B-Welle parallel zur einer Längsrichtung des Werkstücks 105 verläuft, und 4 veranschaulicht den Kippmechanismus 104, bei dem das in 3 veranschaulichte Werkstück um 90 ° gedreht ist und die Längsrichtung des Werkstücks 105 vertikal zu der axialen Richtung der B-Welle verläuft.
  • Bei der Stromerkennungseinheit 103 handelt es sich um einen Stromsensor, der zum Beispiel einen Stromwandler oder einen Shunt-Widerstand verwendet. Der durch die Stromerkennungseinheit 103 erkannte Strom wird als Stromrückkopplung (Strom-RK) verwendet.
  • Der Drehgeber 102 wird in Verbindung mit dem Servomotor 101 bereitgestellt, um eine Drehposition des Servomotors 101 zu erkennen. Da die Drehposition des Servomotors 101 der Position des Kippmechanismus 104 entspricht, erkennt der Drehgeber 102 die Position (eine Maschinenkoordinate, das heißt, einen Neigungswinkel (einen Drehwinkel)) des Kippmechanismus 104. Die erkannte Position wird als Positionsrückkopplung (Positions-RK) verwendet. Darüber hinaus erkennt der Drehgeber 102 eine Drehgeschwindigkeit des Servomotors 101. Da die Drehgeschwindigkeit des Servomotors 101 der Geschwindigkeit des Kippmechanismus 104 entspricht, erkennt der Drehgeber 102 die Geschwindigkeit des Kippmechanismus 104. Die erkannte Geschwindigkeit wird als Geschwindigkeitsrückkopplung (Geschwindigkeits-RK) verwendet.
  • Als Nächstes wird die Servomotor-Steuereinrichtung 200 beschrieben. 5 ist ein Blockschaubild, das ein Paar aus der Servomotor-Steuereinrichtung 200 und der Vorrichtung 300 für maschinelles Lernen des Servomotor-Steuersystems gemäß der ersten Ausführungsform der vorliegenden Erfindung und einen Servomotor veranschaulicht, der in einem Steuerungsziel beinhaltet ist. Die Servomotor-Steuereinrichtung 200 und die Vorrichtung 300 für maschinelles Lernen in 5 entsprechen zum Beispiel der Servomotor-Steuereinrichtung 200-1 und der Vorrichtung 300-1 für maschinelles Lernen, die in 1 veranschaulicht werden.
  • Wie in 5 veranschaulicht, beinhaltet die Servomotor-Steuereinrichtung 200 eine Positionsbefehls-Erstellungseinheit 201, eine Addiereinrichtung 202, eine Subtrahiereinrichtung 203, eine Steuereinheit 204, eine Kompensationseinheit 205 und eine Änderungseinheit 206. Die Steuereinheit 204 beinhaltet eine Positionssteuereinheit 2041, eine Subtrahiereinrichtung 2042, eine Geschwindigkeitssteuereinheit 2043, ein Filter 2044, eine Subtrahiereinrichtung 2045, eine Addiereinrichtung 2046 und eine Stromsteuereinheit 2047. Die Steuereinheit 204 steuert eine Drehung des Servomotors 101. Einige oder alle der Addiereinrichtung 202, der Subtrahiereinrichtung 203, der Kompensationseinheit 205 und der Änderungseinheit 206 können in der Steuereinheit 204 beinhaltet sein. Die Drehgeschwindigkeit des Servomotors 101 wird durch den Drehgeber 102 erkannt, der dem Servomotor 101 zugehörig ist, und der erkannte Geschwindigkeitserkennungswert wird als Geschwindigkeitsrückkopplung (Geschwindigkeits-RK) in die Subtrahiereinrichtung 2042 eingegeben. Der Positionserkennungswert, der durch den Drehgeber 102 erkannt wird, wird als Positionsrückkopplung (Positions-RK) in die Subtrahiereinrichtung 203 eingegeben. Die Stromerkennungseinheit 103 erkennt einen Strom, der von der Steuereinheit 204 an den Servomotor 101 ausgegeben wird, und der Stromerkennungswert wird als Stromrückkopplung (Strom-RK) in die Subtrahiereinrichtung 2045 eingegeben.
  • Die Positionsbefehls-Erstellungseinheit 201 erstellt einen Positionsbefehlswert zum Betreiben des Servomotors 101 gemäß einem Programm, das von einer Host-Steuereinrichtung, einer externen Eingabevorrichtung oder dergleichen, die nicht veranschaulicht werden, eingegeben wird, und gibt den erstellten Positionsbefehlswert an die Addiereinrichtung 202 und die Vorrichtung 300 für maschinelles Lernen aus. Die Positionsbefehls-Erstellungseinheit 201 ändert eine Impulsfrequenz zum Erstellen des Positionsbefehlswerts, um die Geschwindigkeit des Servomotors 101 so zu ändern, dass eine durch ein Programm bestimmte Bearbeitungsform erzielt wird.
  • Die Addiereinrichtung 202 addiert einen Positionsbefehls-Kompensationswert, der von der Kompensationseinheit 205 ausgegeben wird, zu dem Positionsbefehlswert und gibt einen Additionswert an die Subtrahiereinrichtung 203 aus. Die Subtrahiereinrichtung 203 berechnet eine Differenz zwischen dem Positionsbefehlswert, der durch den Positionsbefehls-Kompensationswert korrigiert wird, und dem Positionsrückkopplungs-Positionserkennungswert und gibt die Differenz als Positionsfehler an die Positionssteuereinheit 2041 und die Vorrichtung 300 für maschinelles Lernen aus.
  • Die Positionssteuereinheit 2041 gibt einen Wert, der zum Beispiel durch Multiplizieren einer vorgegebenen Positionsverstärkung Kp mit dem Positionsfehler, der von der Subtrahiereinrichtung 203 ausgegeben wird, gewonnen wird, als Geschwindigkeitsbefehlswert an die Subtrahiereinrichtung 2042 aus.
  • Die Subtrahiereinrichtung 2042 berechnet eine Differenz zwischen der Ausgabe der Positionssteuereinheit 2041 und einem Geschwindigkeitsrückkopplungs-Geschwindigkeitserkennungswert und gibt die Differenz als Geschwindigkeitsfehler an die Geschwindigkeitssteuereinheit 2043 aus.
  • Die Geschwindigkeitssteuereinheit 2043 addiert einen Wert, der durch Multiplizieren und Integrieren einer vorgegebenen Integralverstärkung K1v mit dem Geschwindigkeitsfehler gewonnen wird, der von der Subtrahiereinrichtung 2042 ausgegeben wird, und einen Wert, der durch Multiplizieren einer vorgegebenen Proportionalverstärkung K2v mit dem Geschwindigkeitsfehler gewonnen wird, der zum Beispiel von der Subtrahiereinrichtung 2042 ausgegeben wird, und gibt einen Additionswert als Drehmoment-Befehlswert an ein Filter 2044 aus. Bei dem Filter 2044 handelt es sich zum Beispiel um ein Kerbfilter zur Schwingungsunterdrückung, und es dämpft ein Signal (den Drehmoment-Befehlswert), das eine Frequenz in einem vorgegebenen Frequenzbereich aufweist, auf Grundlage einer Filterkonstanten, um das gedämpfte Signal an die Subtrahiereinrichtung 2045 auszugeben.
  • Die Subtrahiereinrichtung 2045 berechnet eine Differenz zwischen dem Drehmoment-Befehlswert, der von dem Filter 2044 ausgegeben wird, und einem Stromrückkopplungs-Stromerkennungswert und gibt die Differenz als Stromfehler an die Addiereinrichtung 2046 aus. Die Addiereinrichtung 2046 addiert den Stromfehler, der von der Subtrahiereinrichtung 2045 ausgegeben wird, und die Ausgabe der Kompensationseinheit 205 und gibt einen um die Addition korrigierten Stromfehler an die Stromsteuereinheit 2047 aus. Die Stromsteuereinheit 2047 steuert den Servomotor 101 auf Grundlage des korrigierten Stromfehlers.
  • Die Kompensationseinheit 205 gibt einen Drehmoment-Versatzwert an die Addiereinrichtung 2046 aus. Die Kompensationseinheit 205 kann einen Positionsbefehls-Kompensationswert an die Addiereinrichtung 202 ausgeben und den Positionsbefehls-Kompensationswert zu dem Positionsbefehlswert addieren, der von der Positionsbefehls-Erstellungseinheit 201 ausgegeben wird, um einen Drehmomentversatz zu gewinnen, statt den Drehmoment-Versatzwert zu dem Stromfehler zu addieren, der von der Subtrahiereinrichtung 2045 ausgegeben wird. Darüber hinaus kann die Kompensationseinheit 205 den Drehmoment-Versatzwert zu dem Stromfehler addieren, der von der Subtrahiereinrichtung 2045 ausgegeben wird, und den Positionsbefehls-Kompensationswert zu dem Positionsbefehlswert addieren, der von der Positionsbefehls-Erstellungseinheit 201 ausgegeben wird. Wenngleich die Kompensationseinheit 205 in 5 mit der Addiereinrichtung 202 und der Addiereinrichtung 2046 verbunden ist, kann die Kompensationseinheit 205 mit einer der Addiereinrichtungen 202 und 2046 verbunden sein. Wenn die Kompensationseinheit 205 den Drehmoment-Versatzwert nur an die Addiereinrichtung 2046 ausgibt, wird die Addiereinrichtung 202 möglicherweise nicht bereitgestellt. Wenn der Positionsbefehls-Kompensationswert nur an die Addiereinrichtung 202 ausgegeben wird, wird die Addiereinrichtung 2046 möglicherweise nicht bereitgestellt. Die Änderungseinheit 206 ändert die Positionsverstärkung Kp der Positionssteuereinheit 2041, einen Filterkoeffizienten des Filters 2044 und den Drehmoment-Versatzwert oder den Positionsbefehls-Kompensationswert, der von der Kompensationseinheit 205 ausgegeben wird, auf Grundlage von Aktionsinformationen oder Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen. Die Einzelheiten der Vorrichtung 300 für maschinelles Lernen werden im Folgenden beschrieben.
  • Wenn der Servomotor 101 den Kippmechanismus 104 im Hinblick auf die B-Welle dreht und antreibt, ändert sich eine Lastträgheit des Werkstücks 105 auf dem Tisch 1041, die die B-Welle aufnimmt, abhängig von der Drehposition im Hinblick auf die C-Welle. Wenngleich die Lastträgheit, die die B-Welle aufnimmt, von dem Trägheitsmoment um die B-Welle abhängt, ändert sich das Trägheitsmoment um die B-Welle durch den Tisch 1041 und das Halteelement 1042 nicht von dem Zustand von 3 in den Zustand von 4. Das Trägheitsmoment um die B-Welle durch das Werkstück 105 ändert sich jedoch abhängig von der Drehposition des Werkstücks 105 auf dem Tisch 1041 im Hinblick auf die C-Welle. Wie in 3 veranschaulicht, ist das Trägheitsmoment des Werkstücks 105 um die B-Welle am kleinsten, wenn die axiale Richtung der B-Welle parallel zu der Längsrichtung des Werkstücks 105 verläuft. Wie in 4 veranschaulicht, ist das Trägheitsmoment des Werkstücks 105 um die B-Welle demgegenüber am größten, wenn die Längsrichtung des Werkstücks 105 vertikal zu der axialen Richtung der B-Welle verläuft. Daher ist die Lastträgheit, die die B-Welle aufnimmt, in dem Zustand von 3 am kleinsten und ist in dem Zustand von 4 am größten.
  • Wenn die Lastträgheit zunimmt, die auf die B-Welle einwirkt, wird die Antriebskraft ungenügend, und die Zeit, zu der die Position des Werkstücks 105 eine Zielposition erreicht, wird verzögert. Daher ist die Positionsverstärkung Kp der Positionssteuereinheit 2041 bevorzugt klein, wenn die Lastträgheit klein ist, und ist die Positionsverstärkung Kp der Positionssteuereinheit 2041 bevorzugt groß, wenn die Lastträgheit groß ist. Beispielsweise kann die Positionsverstärkung Kp als Kp=b+c×|sinθ| ausgedrückt werden, wenn b ein Festwert ist, c ein Kompensationskoeffizient (Parameter) ist und der Winkel θ ein Drehwinkel um die C-Welle ist. Hier beträgt der Winkel θ 0 ° in dem Zustand von 3 und beträgt 90 ° in dem Zustand von 4. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten c der Positionsverstärkung Kp auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Die Servomotor-Steuereinrichtung weist Hochfrequenz-Resonanzeigenschaften auf, wenn die Lastträgheit, die auf die B-Welle einwirkt, klein ist, und die Servomotor-Steuereinrichtung weist Niederfrequenz-Resonanzeigenschaften auf, wenn die Lastträgheit, die auf die B-Welle einwirkt, groß ist. Daher wird der Filterkoeffizient des Filters 2044 so festgelegt, dass Hochfrequenzsignale gedämpft werden, wenn die Lastträgheit klein ist, und der Filterkoeffizient des Filters 2044 wird so festgelegt, dass Niederfrequenzsignale gedämpft werden, wenn die Lastträgheit groß ist. Beispielsweise kann ein Filterkoeffizient F als F=d+e×f(θ) ausgedrückt werden, wenn d ein Festwert ist, e ein Kompensationskoeffizient (Parameter) ist und f(θ) eine Funktion ist, die von dem Winkel θ abhängt. Bei der Funktion f(θ) handelt es sich um eine Funktion, die in geeigneter Weise durch einen Schaltungsaufbau des Filters 2044 bestimmt wird. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten e auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • In dem in 2 veranschaulichten Steuerungsziel 100 ändert sich ein normales Drehmoment zum Widerstand gegen die Schwerkraft abhängig von der Position der B-Welle. Beispielsweise ist der Einfluss der Schwerkraft auf die B-Welle am größten, wenn sich die B-Welle lateral (horizontal) befindet, und verschwindet der Einfluss der Schwerkraft auf die B-Welle, wenn sich die B-Welle vertikal befindet. Wenn sich die B-Welle lateral (horizontal) befindet und der Kippmechanismus 104 im Hinblick auf die B-Welle gedreht und angetrieben wird, ändert sich das Drehmoment im Hinblick auf die B-Welle abhängig von der Position des Halteelements 1042 und des Tisches 1041, auf dem das Werkstück 105 angebracht ist, aufgrund des Einflusses der Schwerkraft und der Drehung, die auf das Werkstück 105, den Tisch 1041 und das Halteelement 1042 einwirken. Wie zum Beispiel in 6 veranschaulicht, ändert sich das Drehmoment im Hinblick auf die B-Welle dergestalt, dass, wenn sich der Tisch 1041, auf dem das Werkstück 105 angebracht ist, um die B-Welle dreht, sich die Position des Schwerpunkts im Hinblick auf die Drehung des Tisches 1041, auf dem das Werkstück 105 angebracht ist, von der Position P1 zu der Position P2 und von der Position P2 zu der Position P3 verschiebt. Die Richtung der Schwerkraft stimmt mit der Drehrichtung an der Position P1 des Schwerpunktes überein, die Richtung der Schwerkraft unterscheidet sich von der Drehrichtung um 90 ° an der Position P2, und die Richtung der Schwerkraft ist der Drehrichtung an der Position P3 entgegengesetzt. Daher wird der Drehmoment-Versatzwert oder der Positionsbefehls-Kompensationswert, der von der Kompensationseinheit 205 ausgegeben wird, so geändert, dass der Drehmomentversatz zunimmt, wenn der Einfluss der Schwerkraft groß ist, und der Drehmomentversatz abnimmt, wenn der Einfluss der Schwerkraft klein ist. Beispielsweise kann der Drehmoment-Versatzwert oder der Positionsbefehls-Kompensationswert als h+g×sinϕ ausgedrückt werden, wenn h ein Festwert ist und g ein Kompensationskoeffizient (Parameter) ist. Hier beträgt der Winkel ϕ -90 ° an der Position P1 in 6, 0 ° an der Position P2 und 90° an dem Potential P3. Die Positionen P1, P2 und P3 sind Beispiele für die Position des Schwerpunktes des Tisches 1041, auf dem das Werkstück 105 angebracht ist, und diese unterliegen keiner besonderen Beschränkung. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten g auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen. Da der Einfluss der Schwerkraft mit einer Annäherung der B-Welle an eine vertikale Richtung abnimmt, werden die Anfangswerte des Festwerts h und des Kompensationskoeffizienten g entsprechend festgelegt. Wenn sich die Lastträgheit ändert, kann die Integralverstärkung K1v und/oder die Proportionalverstärkung K2v der Geschwindigkeitssteuereinheit 2043 geändert werden, statt die Positionsverstärkung Kp der Positionssteuereinheit 2041 zu ändern. Darüber hinaus können die Positionsverstärkung Kp der Positionssteuereinheit 2041 und die Integralverstärkung K1v und/oder die Proportionalverstärkung K2v der Geschwindigkeitssteuereinheit 2043 geändert werden. In diesem Fall ändert die Änderungseinheit 206 die Integralverstärkung K1v und/oder die Proportionalverstärkung K2v der Geschwindigkeitssteuereinheit 2043 anstelle des oder zusammen mit dem Kompensationskoeffizienten c der Positionsverstärkung Kp. Von der Steuereinheit 204 zu der Vorrichtung 300 für maschinelles Lernen überträgt die Positionssteuereinheit 2041 den Kompensationskoeffizienten c, überträgt das Filter 2044 den Kompensationskoeffizienten e des Filterkoeffizienten F und überträgt die Kompensationseinheit 205 den Kompensationskoeffizienten g.
  • <Vorrichtung 300 für maschinelles Lernen>
  • Die Vorrichtung 300 für maschinelles Lernen kann den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041 der Steuereinheit 204 der Servomotor-Steuereinrichtung 200, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 der Steuereinheit 204 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts oder/und den Positionsbefehls-Kompensationswert der Kompensationseinheit 205 durch Ausführen eines vorgegebenen Auswertungsprogramms (im Folgenden als „Auswertungsprogramm“ bezeichnet) lernen. Die Vorrichtung 300 für maschinelles Lernen kann den Kompensationskoeffizienten der Integralverstärkung K1v und/oder der Proportionalverstärkung K2v der Geschwindigkeitssteuereinheit 2043 anstelle des oder zusammen mit dem Kompensationskoeffizienten c der Positionsverstärkung Kp lernen. Darüber hinaus kann die Vorrichtung 300 für maschinelles Lernen ein Lernen mithilfe eines Bearbeitungsprogramms, das tatsächlich verwendet werden soll, anstelle des Auswertungsprogramms als Vorbereitungsschritt vor einem Durchführen einer Bearbeitung durchführen. Das Auswertungsprogrammen oder das Bearbeitungsprogramm, das in einem Vorbereitungsschritt tatsächlich verwendet werden soll, wird als vorgegebenes Programm bezeichnet. Im Folgenden wird beschrieben, dass die Vorrichtung 300 für maschinelles Lernen ein Lernen durch Ausführen eines Auswertungsprogramms als vorgegebenes Programm durchführt. Darüber hinaus wird beschrieben, dass die Vorrichtung 300 für maschinelles Lernen den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 lernt.
  • Zunächst wird eine Gestaltung der Vorrichtung 300 für maschinelles Lernen beschrieben. Die Vorrichtung 300 für maschinelles Lernen lernt eine Kombination des Kompensationskoeffizienten c der Positionsverstärkung Kp, des Kompensationskoeffizienten e des Filterkoeffizienten F und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 zum Verringern eines Positionsfehlers, wenn die Servomotor-Steuereinrichtung 200 das Steuerungsziel 100 antreibt, auf Grundlage des Auswertungsprogramms. Eine Mehrzahl von Auswertungsprogrammen mit unterschiedlichen Kombinationen der Bereiche von Drehwinkeln θ und ϕ wird als Auswertungsprogramm vorbereitet, und diese Auswertungsprogramme werden ausgeführt, wodurch die Vorrichtung 300 für maschinelles Lernen ein Lernen durchführt. Beispielsweise kann die Vorrichtung 300 für maschinelles Lernen ein Lernen durchführen, indem sie nacheinander ein erstes Auswertungsprogramm, das eine Werkzeugmaschine in einem Bereich betreibt, in dem der Drehwinkel θ zwischen 0 ° und 30 ° beträgt und der Drehwinkel ϕ zwischen -30 ° und 30 ° beträgt, ein zweites Auswertungsprogramm, das eine Werkzeugmaschine in einem Bereich betreibt, in dem der Drehwinkel θ zwischen 30 ° und 60 ° beträgt und der Drehwinkel ϕ zwischen -30 ° und 30 ° beträgt, und ein drittes Auswertungsprogramm ausführt, das eine Werkzeugmaschine in einem Bereich betreibt, in dem der Drehwinkel θ zwischen 60 ° und 90 ° beträgt und der Drehwinkel ϕ zwischen -30 ° und 30 ° beträgt.
  • Bevor jeweilige in der Vorrichtung 300 für maschinelles Lernen beinhaltete Funktionsblöcke beschrieben werden, wird ein grundlegender Mechanismus bestärkenden Lernens beschrieben. Ein Agent (der bei der vorliegenden Ausführungsform der Vorrichtung 300 für maschinelles Lernen entspricht) beobachtet einen Umgebungszustand und wählt eine bestimmte Aktion aus. Anschließend ändert sich die Umgebung auf Grundlage der Aktion. Eine bestimmte Belohnung wird in Übereinstimmung mit der Umgebungsänderung gegeben, und der Agent lernt die Auswahl (Entscheidung) einer besseren Aktion. Während überwachtes Lernen eine vollkommen korrekte Antwort bietet, bietet die Belohnung bei bestärkendem Lernen häufig einen Fragmentwert auf Grundlage einer Änderung in einem Teil der Umgebung . Daher lernt der Agent, eine Aktion so auszuwählen, dass die Gesamtbelohnung in Zukunft maximiert wird.
  • Auf diese Weise lernt das bestärkende Lernen ein Verfahren zum Lernen einer geeigneten Aktion auf Grundlage der Wechselwirkung einer Aktion mit der Umgebung (das heißt, einer Aktion zum Maximieren der in Zukunft zu erzielenden Belohnung) durch Lernen einer Aktion. Dies bedeutet, dass bei der vorliegenden Ausführungsform eine solche Aktion, die sich auf die Zukunft auswirkt, zum Beispiel eine Aktion zum Auswählen von Aktionsinformationen zum Verringern eines Positionsfehlers, erzielt wird.
  • Wenngleich hier ein beliebiges Lernverfahren als bestärkendes Lernen verwendet wird, wird in der folgenden Beschreibung ein Q-Learning als Beispiel beschrieben, bei dem es sich um ein Verfahren zum Lernen einer Wertfunktion Q(S,A) zum Auswählen einer Aktion A bei einem bestimmten Umgebungszustand S handelt. Ein Ziel des Q-Learning besteht darin, eine Aktion A mit der höchsten Wertfunktion Q(S, A) als optimale Aktion aus Aktionen A auszuwählen, die in einem bestimmten Zustand S ergriffen werden können.
  • Jedoch ist zu einer Anfangszeit, zu der das Q-Learning beginnt, der korrekte Wert der Wertfunktion Q(S,A) für eine Kombination des Zustands S und der Aktion A überhaupt nicht bekannt. Daher lernt der Agent die korrekte Wertfunktion Q(S,A) durch Auswählen verschiedener Aktionen A in einem bestimmten Zustand S und Auswählen einer besseren Aktion auf Grundlage der für die ausgewählten Aktionen A erfolgten Belohnungen.
  • Da jedoch eine in der Zukunft erzielte Gesamtbelohnung maximiert werden soll, wird angestrebt, schließlich eine Beziehung Q(S,A)=E[Σ(γt)rt] zu erreichen. Hier gibt E[] einen erwarteten Wert an, t gibt eine Zeit an, γ stellt einen im Folgenden beschriebenen Parameter dar, der als Diskontierungsfaktor bezeichnet wird, rt ist eine Belohnung zur Zeit t, und Σ ist die Summe zur Zeit t. In diesem Ausdruck ist der erwartete Wert ein erwarteter Wert, wenn der Zustand entsprechend einer optimalen Aktion geändert wurde. Da jedoch unklar ist, welche Aktion im Prozess des Q-Learning optimal ist, wird bestärkendes Lernen durchgeführt, während durch Durchführen verschiedener Aktionen nach einer optimalen Aktion gesucht wird. Ein Aktualisierungsausdruck einer solchen Wertfunktion Q(S,A) kann durch den folgenden Ausdruck 1 (Math. 1) dargestellt werden. Q ( S t + 1 , A t + 1 ) Q ( S t , A t ) + α ( r t + 1 + γ m a x A Q ( S t + 1 , A ) Q ( S t , A t ) )
    Figure DE102019200080A1_0001
  • In dem Ausdruck 1 gibt St einen Umgebungszustand zur Zeit t an, und At gibt eine Aktion zur Zeit t an. Durch die Aktion At ändert sich der Zustand in St+1.
    rt+1 gibt eine Belohnung an, die durch die Änderung des Zustands erzielt wird. Darüber hinaus handelt es sich bei einem Term mit max um eine Multiplikation des Werts Q mit y, wenn eine Aktion A, die den höchsten zu diesem Zeitpunkt bekannten Wert Q aufweist, in dem Zustand St+1 ausgewählt wurde. Hier ist γ ein Parameter 0<γ≤1 und wird als Diskontierungsrate bezeichnet. Darüber hinaus ist α ein Lernkoeffizient und liegt in einem Bereich von 0<α≤1.
  • Der Ausdruck 1 gibt ein Verfahren zum Aktualisieren einer Wertfunktion Q(St, At) einer Aktion At in einem Zustand St auf Grundlage einer wiederkehrenden Belohnung rt+1 an, wenn die Aktion At durchgeführt wird. Dieser Aktualisierungsausdruck gibt an, dass, wenn der Wert maxa Q(St+1,A) der besten Aktion in dem nächsten Zustand St+1, der einer Aktion At zugehörig ist, größer als die Wertfunktion Q(St,At) einer Aktion At in dem Zustand St ist, Q(St,At) erhöht wird und Q(St,At) anderenfalls verringert wird. Das heißt, der Wert einer bestimmten Aktion in einem bestimmten Zustand nähert sich dem Wert der besten Aktion in dem nächsten Zustand an, der der Aktion zugehörig ist. Wenngleich sich jedoch diese Differenz abhängig von der Diskontierungsrate γ und der Belohnung rt+1 unterscheidet, wird der Wert der besten Aktion in einem bestimmten Zustand im Grunde zu dem Wert einer Aktion in einem Zustand vor diesem Zustand propagiert.
  • Hier ist ein Q-Learning-Verfahren zum Erstellen einer Tabelle von Wertfunktionen Q(S,A) für alle Zustand-Aktion-Paare (S,A) zum Durchführen eines Lernens bekannt. Das Konvergieren des Q-Learning kann jedoch recht lange dauern, wenn die Werte der Wertfunktionen Q(S,A) sämtlicher Zustand-Aktion-Paare zu berechnen sind, da die Anzahl von Zuständen zu groß ist.
  • Folglich kann das Q-Learning eine als Deep-Q-Netzwerk (DQN) bezeichnete, vorhandene Technik einsetzen. Im Besonderen kann der Wert der Wertfunktion Q(S,A) durch Konstruieren einer Wertfunktion Q mithilfe eines geeigneten neuronalen Netzwerks und Annähern der Wertfunktion Q mit dem geeigneten neuronalen Netzwerk durch Anpassen der Parameter des neuronalen Netzwerks berechnet werden. Mithilfe von DQN ist es möglich, die für eine Konvergenz des Q-Learning erforderliche Zeit zu verkürzen. Die Einzelheiten von DQN werden zum Beispiel in dem folgenden Nichtpatentdokument offenbart.
  • <Nichtpatentdokument>
  • „Human-level control through deep reinforcement learning“, Volodymyr Mnihl [online], [gesucht am 17 Januar 2017], Internet <URL:
    http://files.davidqiu.com/research/nature14236.pdf>
  • Die Vorrichtung 300 für maschinelles Lernen führt das oben beschriebene Q-Learning durch. Im Besonderen lernt die Vorrichtung 300 für maschinelles Lernen eine Wertfunktion Q zum Auswählen einer Aktion A zum Anpassen des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205, die einem Servozustand S wie zum Beispiel Befehlen und Rückkopplungen zugehörig sind, die den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044, den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 der Servomotor-Steuereinrichtung 200 und den Positionsbefehl und die Positionsfehlerinformationen der Servomotor-Steuereinrichtung 200 beinhalten, die durch Ausführen des Auswertungsprogramms gewonnen werden.
  • Die Vorrichtung 300 für maschinelles Lernen beobachtet die Zustandsinformationen S, die den Servozustand wie zum Beispiel Befehle und Rückkopplungen beinhalten, die den Positionsbefehl und die Positionsfehlerinformationen der Servomotor-Steuereinrichtung 200 beinhalten, die durch Ausführen des Auswertungsprogramms auf Grundlage des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 gewonnen werden, um die Aktion A zu bestimmen. Die Vorrichtung 300 für maschinelles Lernen gibt jedes Mal, wenn die Aktion A durchgeführt wird, eine Belohnung zurück. Die Vorrichtung 300 für maschinelles Lernen sucht nach der optimalen Aktion A, so dass eine künftige Gesamtbelohnung durch Lernen durch Versuch und Irrtum maximiert wird. Dabei kann die Vorrichtung 300 für maschinelles Lernen die optimale Aktion A (das heißt, eine optimale Kombination des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205) im Hinblick auf den Zustand S auswählen, der den Servozustand wie zum Beispiel Befehle und Rückkopplungen beinhaltet, die den Positionsbefehl und die Positionsfehlerinformationen der Servomotor-Steuereinheit 200 beinhalten, die durch Ausführung des Auswertungsprogramms auf Grundlage des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 gewonnen werden.
  • Das heißt, eine solche Aktion A, die den Wert Q maximiert, wird aus Aktionen A, die auf den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g das Drehmoment-Versatzwerts der Kompensationseinheit 205 anzuwenden sind, die einem bestimmten Zustand S zugehörig sind, auf Grundlage der Wertfunktion Q ausgewählt, die durch die Vorrichtung 300 für maschinelles Lernen gelernt wird. Dabei ist es möglich, eine solche Aktion A (das heißt, eine Kombination des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205) auszuwählen, die den Positionsfehler minimiert, der durch Ausführen des Auswertungsprogramms gewonnen wird.
  • 7 ist ein Blockschaubild, das die Vorrichtung 300 für maschinelles Lernen gemäß der ersten Ausführungsform der vorliegenden Erfindung veranschaulicht. Wie in 7 veranschaulicht, beinhaltet die Vorrichtung 300 für maschinelles Lernen, um das bestärkende Lernen durchzuführen, eine Zustandsinformations-Erfassungseinheit 301, eine Lerneinheit 302, eine Aktionsinformations-Ausgabeeinheit 303, eine Wertfunktions-Speichereinheit 304 und eine Optimierungsaktionsinformations-Ausgabeeinheit 305.
  • Die Zustandsinformations-Erfassungseinheit 301 erfasst von der Servomotor-Steuereinrichtung 200 den Zustand S, der den Servozustand wie zum Beispiel Befehle und Rückkopplungen beinhaltet, die den Positionsbefehl und den Positionsfehler der Servomotor-Steuereinrichtung 200 beinhalten, die durch Ausführen des Auswertungsprogramms auf Grundlage des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 der Servomotor-Steuereinrichtung 200 erfasst werden. Die Zustandsinformationen S entsprechen dem Umgebungszustand S beim Q-Learning. Die Zustandsinformations-Erfassungseinheit 301 gibt die erfassten Zustandsinformationen S an die Lerneinheit 302 aus. Der Kompensationskoeffizient c der Positionsverstärkung Kp der Positionssteuereinheit 2041, der Kompensationskoeffizient e des Filterkoeffizienten F des Filters 2044 und der Kompensationskoeffizient g des Drehmoment-Versatzwerts der Kompensationseinheit 205 zu dem Zeitpunkt, zu dem das Q-Learning erstmals beginnt, können im Voraus durch einen Benutzer erzeugt werden. Bei der vorliegenden Ausführungsform passt die Vorrichtung 300 für maschinelles Lernen zum Beispiel die Anfangseinstellwerte des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205, die durch den Benutzer erzeugt werden, durch bestärkendes Lernen an optimale Werte an.
  • Die Lerneinheit 302 ist eine Einheit, die die Wertfunktion Q(S,A) lernt, wenn eine bestimmte Aktion A bei einem bestimmten Umgebungszustand S ausgewählt wird. Im Besonderen beinhaltet die Lerneinheit 302 eine Belohnungsausgabeeinheit 3021, eine Wertfunktions-Aktualisierungseinheit 3022 und eine Aktionsinformations-Erzeugungseinheit 3023.
  • Die Belohnungsausgabeeinheit 3021 ist eine Einheit, die eine Belohnung berechnet, wenn die Aktion A bei einem bestimmten Zustand S ausgewählt wird. Hier wird ein Satz (ein Positionsfehlersatz) von Positionsfehlern, bei denen es sich um Zustandsgrößen des Zustands S handelt, mit PD(S) bezeichnet, und ein Positionsfehlersatz, bei dem es sich um Zustandsgrößen im Zusammenhang mit Zustandsinformationen S' handelt, die aufgrund der Aktionsinformationen A (Korrektur des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205) aus dem Zustand S geändert werden, werden mit PD(S') bezeichnet. Darüber hinaus gibt die Auswertungsfunktion in dem Zustand S einen Wert, der auf Grundlage einer vorgegebenen Auswertungsfunktion f(PD(S)) berechnet wird, als Wert eines Positionsfehlers in dem Zustand S aus. Die folgenden Funktionen können zum Beispiel als Auswertungsfunktion f verwendet werden. Eine Funktion, die einen integrierten Wert eines Absolutwerts eines Positionsfehlers berechnet ∫|e|dt
    Eine Funktion, die einen integrierten Wert durch Gewichten eines Absolutwerts eines Positionsfehlers mit Zeit berechnet
    ∫t|e|dt
    Eine Funktion, die einen integrierten Wert einer 2n-ten Potenz (n ist eine natürliche Zahl) eines Absolutwerts eines Positionsfehlers berechnet
    ∫e2ndt (n ist eine natürliche Zahl)
    Eine Funktion, die einen Höchstwert eines Absolutwerts eines Positionsfehlers berechnet Max{|e|}
    Hier gibt e in der Auswertungsfunktion f einen Positionsfehler an. Die Auswertungsfunktion ist jedoch nicht darauf beschränkt. Bei der Auswertungsfunktion in dem Zustand S kann es sich um eine Funktion handeln, die den Positionsfehlerwert in dem Zustand S in geeigneter Weise auf Grundlage des Positionsfehlersatzes PD(S) auswertet.
  • In diesem Fall legt die Belohnungsausgabeeinheit 3021 den Wert einer Belohnung auf einen negativen Wert fest, wenn der Auswertungsfunktionswert f(PD(S')) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, nach der Korrektur im Zusammenhang mit den Zustandsinformationen S', die durch die Aktionsinformationen A korrigiert werden, größer als der Auswertungsfunktionswert f(PD(S)) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, vor einer Korrektur im Zusammenhang mit den Zustandsinformationen S ist, bevor sie durch die Aktionsinformationen A korrigiert werden.
  • Demgegenüber legt die Belohnungsausgabeeinheit 3021 den Wert einer Belohnung auf einen positiven Wert fest, wenn der Auswertungsfunktionswert f(PD(S')) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, nach der Kompensation im Zusammenhang mit den Zustandsinformationen S', die durch die Aktionsinformationen A korrigiert werden, kleiner als der Auswertungsfunktionswert f(PD(S)) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, vor einer Korrektur im Zusammenhang mit den Zustandsinformationen S ist, bevor sie durch die Aktionsinformationen A korrigiert werden.
  • Die Belohnungsausgabeeinheit 3021 legt den Wert einer Belohnung auf null fest, wenn der Auswertungsfunktionswert f(PD(S')) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, nach der Korrektur im Zusammenhang mit den Zustandsinformationen S', die durch die Aktionsinformationen A korrigiert werden, gleich wie der Auswertungsfunktionswert f(PD(S)) des Positionsfehlers der Servomotor-Steuereinrichtung 200, die mithilfe der Steuereinheit 204 und der Kompensationseinheit 205 betrieben wird, vor einer Korrektur im Zusammenhang mit den Zustandsinformationen S ist, bevor sie durch die Aktionsinformationen A korrigiert werden.
  • Des Weiteren kann der negative Wert, wenn der Auswertungsfunktionswert f(PD(S')) des Positionsfehlers in dem Zustand S' nach dem Ausführen der Aktion A größer als der Auswertungsfunktionswert f(PD(S)) des Positionsfehlers in dem vorhergehenden Zustand S ist, proportional ansteigen. Das heißt, der negative Wert kann entsprechend dem Grad eines Anstiegs des Auswertungsfunktionswerts des Positionsfehlers ansteigen. Demgegenüber kann der positive Wert, wenn der Auswertungsfunktionswert f(PD(S')) des Positionsfehlers in dem Zustand S' nach dem Ausführen der Aktion A kleiner als der Auswertungsfunktionswert f(PD(S)) des Positionsfehlers in dem vorhergehenden Zustand S ist, proportional ansteigen. Das heißt, der positive Wert kann entsprechend dem Grad einer Abnahme des Auswertungsfunktionswerts des Positionsfehlers ansteigen.
  • Die Wertfunktions-Aktualisierungseinheit 3022 aktualisiert die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert ist, durch Durchführen von Q-Learning auf Grundlage des Zustands S, der Aktion A, des Zustands S', wenn die Aktion A auf den Zustand S angewendet wurde, und des Werts der Belohnung, der auf diese Weise berechnet wird. Die Aktualisierung der Wertfunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen durchgeführt werden.
  • Beim Online-Lernen handelt es sich um ein Lernverfahren zum Anwenden einer bestimmten Aktion A auf einen Ist-Zustand S und Aktualisieren der Wertfunktion Q jedes Mal unverzüglich, wenn der Ist-Zustand S in einen neuen Zustand S' übergeht. Beim Batch-Lernen handelt es sich um ein Lernverfahren zum Anwenden einer bestimmten Aktion A auf einen Ist-Zustand S und wiederholtes Erreichen eines Übergangs von dem Zustand S in einen neuen Zustand S', Sammeln von Lerndaten und Aktualisieren der Wertfunktion Q mithilfe sämtlicher gesammelter Lerndaten. Beim Mini-Batch-Lernen handelt es sich um ein Lernverfahren, das sich zwischen dem Online-Lernen und dem Batch-Lernen befindet und mit einem Aktualisieren der Wertfunktion Q jedes Mal, wenn eine bestimmte Menge von Lerndaten gesammelt worden ist, einhergeht.
  • Die Aktionsinformations-Erzeugungseinheit 3023 wählt die Aktion A in dem Prozess des Q-Learning im Hinblick auf den Ist-Zustand S aus. Die Aktionsinformations-Erzeugungseinheit 3023 erzeugt Aktionsinformationen A und gibt die erzeugten Aktionsinformationen A an die Aktionsinformations-Ausgabeeinheit 303 aus, um einen Vorgang (entsprechend der Aktion A des Q-Learning) zum Korrigieren des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 der Servomotor-Steuereinrichtung 200 in dem Prozess des Q-Learning durchzuführen. Genauer gesagt, die Aktionsinformations-Erzeugungseinheit 3023 addiert oder subtrahiert den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205, die in der Aktion A beinhaltet sind, inkrementell im Hinblick auf den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205, die zum Beispiel in dem Zustand S beinhaltet sind. In diesem Fall wird der Kompensationskoeffizient e des Filterkoeffizienten so angepasst, dass Hochfrequenzsignale gedämpft werden, wenn die Positionsverstärkung Kp der Positionssteuereinheit 2041 verringert wird.
  • Wenn der Kompensationskoeffizient c der Positionsverstärkung Kp, der Kompensationskoeffizient e des Filterkoeffizienten F und der Kompensationskoeffizient g des Drehmoment-Versatzwerts erhöht oder verringert werden, geht der Zustand S in den Zustand S' über, und eine Plusbelohnung (eine positive Belohnung) wird zurückgegeben, die Aktionsinformations-Erzeugungseinheit 3023 kann eine Strategie zum Auswählen einer solchen Aktion A', die den Wert des Positionsfehlers weiter verringert, wie zum Beispiel inkrementelles Erhöhen oder Verringern des Kompensationskoeffizienten c der Positionsverstärkung Kp, des Kompensationskoeffizienten e des Filterkoeffizienten F und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts, ähnlich wie bei der vorhergehenden Aktion, als nächste Aktion A' auswählen.
  • Wenn demgegenüber eine Minusbelohnung (eine negative Belohnung) zurückgegeben wird, kann die Aktionsinformations-Erzeugungseinheit 3023 zum Beispiel eine Strategie zum Auswählen einer solchen Aktion A', die den Positionsfehler so verringert, dass er kleiner als der vorhergehende Wert ist, zum Beispiel durch inkrementelles Verringern oder Erhöhen des Kompensationskoeffizienten c der Positionsverstärkung Kp, des Kompensationskoeffizienten e des Filterkoeffizienten F und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts entgegengesetzt zu der vorhergehenden Aktion als nächste Aktion A'auswählen.
  • Die Aktionsinformations-Erzeugungseinheit 3023 kann eine Strategie zum Auswählen der Aktion A' gemäß einem bekannten Verfahren wie zum Beispiel einem Greedy-Verfahren zum Auswählen einer Aktion A' mit der höchsten Wertfunktion Q(S,A) aus den Werten von aktuell geschätzten Aktionen A und einem ε-Greedy-Verfahren zum zufälligen Auswählen einer Aktion A' mit einer bestimmen geringen Wahrscheinlichkeit ε und in anderen Fällen Auswählen der Aktion A' mit der höchsten Wertfunktion Q(S,A) auswählen.
  • Bei der Aktionsinformations-Ausgabeeinheit 303 handelt es sich um eine Einheit, die die Aktionsinformationen A von der Lerneinheit 302 an die Änderungseinheit 206 der Servomotor-Steuereinrichtung 200 ausgibt. Wie oben beschrieben, passt die Servomotor-Steuereinrichtung 200 den Ist-Zustand S (das heißt, den gegenwärtig festgelegten Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205) auf Grundlage der Aktionsinformationen fein an, um dadurch einen Übergang zu dem nächsten Zustand S' (das heißt, dem korrigierten Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, dem Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und dem Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205) durchzuführen.
  • Bei der Wertfunktions-Speichereinheit 304 handelt es sich um eine Speichervorrichtung, die die Wertfunktion Q speichert. Die Wertfunktion Q kann als Tabelle (im Folgenden als Aktionswerttabelle bezeichnet) zum Beispiel für jeden Zustand S und jede Aktion A gespeichert werden. Die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert wird, wird durch die Wertfunktions-Aktualisierungseinheit 3022 aktualisiert. Darüber hinaus kann die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert wird, mit sonstigen Vorrichtungen 300 für maschinelles Lernen gemeinsam genutzt werden. Wenn die Wertfunktion Q durch eine Mehrzahl von Vorrichtungen 300 für maschinelles Lernen gemeinsam genutzt wird, ist es, da bestärkendes Lernen so durchgeführt werden kann, dass eine Verteilung an die jeweiligen Vorrichtungen 300 für maschinelles Lernen erfolgt, möglich, die Effizienz des bestärkenden Lernens zu verbessern.
  • Die Optimierungsaktionsinformations-Ausgabeeinheit 305 erzeugt die Aktionsinformationen A (im Folgenden als „Optimierungsaktionsinformationen“ bezeichnet), um zu bewirken, dass die Steuereinheit 204 und die Kompensationseinheit 205 einen Vorgang zum Maximieren der Wertfunktion Q(S,A) durchführen, auf Grundlage der Wertfunktion Q, die durch die Wertfunktions-Aktualisierungseinheit 3022 aktualisiert wird, die das Q-Learning durchführt. Genauer gesagt, die Optimierungsaktionsinformations-Ausgabeeinheit 305 erfasst die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert ist. Wie oben beschrieben, wird die Wertfunktion Q durch die Wertfunktions-Aktualisierungseinheit 3022 aktualisiert, die das Q-Learning durchführt. Die Optimierungsaktionsinformations-Ausgabeeinheit 305 erzeugt die Aktionsinformationen auf Grundlage der Wertfunktion Q und gibt die erzeugten Aktionsinformationen an die Servomotor-Steuereinrichtung 200 (die Änderungseinheit 206) aus. Die Optimierungsaktionsinformationen beinhalten Informationen, die den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 ähnlich wie die Aktionsinformationen korrigieren, die die Aktionsinformations-Ausgabeeinheit 303 in dem Prozess des Q-Learning ausgibt.
  • In der Servomotor-Steuereinrichtung 200 werden der Kompensationskoeffizient c der Positionsverstärkung Kp der Positionssteuereinheit 2041, der Kompensationskoeffizient e des Filterkoeffizienten F des Filters 2044 und der Kompensationskoeffizient g des Drehmoment-Versatzwerts der Kompensationseinheit 205 auf Grundlage der Aktionsinformationen korrigiert, wodurch die Servomotor-Steuereinrichtung 200 so arbeiten kann, dass der Wert des Positionsfehlers verringert wird. Auf diese Weise ermöglicht die Verwendung der Vorrichtung 300 für maschinelles Lernen gemäß der vorliegenden Ausführungsform eine Vereinfachung der Anpassung des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 der Servomotor-Steuereinrichtung 200.
  • Oben sind die Funktionsblöcke beschrieben worden, die in der Servomotor-Steuereinrichtung 200 und der Vorrichtung 300 für maschinelles Lernen beinhaltet sind. Um diese Funktionsblöcke umzusetzen, beinhalten die Servosteuervorrichtung 200 und die Vorrichtung 300 für maschinelles Lernen jeweils eine Arithmetikverarbeitungseinheit wie zum Beispiel eine Zentraleinheit (central processing unit, CPU). Die Servosteuervorrichtung 200 und die Vorrichtung 300 für maschinelles Lernen beinhalten des Weiteren jeweils eine Zusatzspeichervorrichtung wie zum Beispiel ein Festplattenlaufwerk (hard disk drive, HDD) zum Speichern verschiedener Steuerprogramme wie etwa von Anwendungs-Software oder eines Betriebssystems (operating system, OS) und eine Hauptspeichervorrichtung wie etwa einen Direktzugriffsspeicher (random access memory, RAM) zum Speichern von Daten, die vorübergehend benötigt werden, wenn die Arithmetikverarbeitungsvorrichtung ein Programm ausführt.
  • In der Servomotor-Steuervorrichtung 200 und der Vorrichtung 300 für maschinelles Lernen liest die Arithmetikverarbeitungsvorrichtung jeweils eine Anwendungs-Software und ein OS aus der Zusatzspeichervorrichtung aus und entwickelt die/das ausgelesene Anwendungs-Software und OS in der Hauptspeichervorrichtung, um eine arithmetische Verarbeitung auf Grundlage der/des ausgelesenen Anwendungs-Software und OS durchzuführen. Die Arithmetikverarbeitungsvorrichtung steuert darüber hinaus verschiedene Typen von Hardware, die in jeder Vorrichtung bereitgestellt werden, auf Grundlage des Arithmetikergebnisses. Auf diese Weise werden die Funktionsblöcke der vorliegenden Ausführungsform umgesetzt. Das heißt, die vorliegende Ausführungsform kann durch Zusammenwirken von Hardware und Software umgesetzt werden.
  • Da die Vorrichtung 300 für maschinelles Lernen einen großen Rechenaufwand im Zusammenhang mit dem maschinellen Lernen verursacht, können Grafikverarbeitungseinheiten (graphics processing units, GPUs) auf einem Personalcomputer bereitgestellt werden und für eine Arithmetikverarbeitung im Zusammenhang mit dem maschinellen Lernen mithilfe einer Technik verwendet werden, die als Allzweck-Berechnung auf Grafikprozessoreinheiten (general-purpose computing on graphics processing units, GPGPUs) bezeichnet wird. Die Vorrichtung 300 für maschinelles Lernen kann mithilfe der GPGPU eine Hochgeschwindigkeitsverarbeitung durchführen. Damit die Vorrichtung 300 für maschinelles Lernen eine Verarbeitung mit höherer Geschwindigkeit durchführt, kann des Weiteren ein Computerverbund mithilfe einer Mehrzahl von Computern erstellt werden, die mit solchen GPUs ausgestattet ist, und die Mehrzahl von in dem Computerverbund beinhalteten Computern kann eine parallele Verarbeitung durchführen.
  • Als Nächstes wird ein Betrieb der Vorrichtung 300 für maschinelles Lernen während eines Q-Learning gemäß der vorliegenden Ausführungsform unter Bezugnahme auf die Ablaufpläne von 8 und 9 beschrieben. 9 ist ein Schaubild, das die Einzelheiten eines Schritts S15 in dem Ablaufplan von 8 veranschaulicht.
  • In Schritt S11 legt die Lerneinheit 302 die Anzahl von Versuchen auf 1 fest. Anschließend erfasst in Schritt S12 die Zustandsinformations-Erfassungseinheit 301 die Zustandsinformationen S von der Servomotor-Steuereinrichtung 200. Die erfassten Zustandsinformationen werden an die Wertfunktions-Aktualisierungseinheit 3022 und die Aktionsinformations-Erzeugungseinheit 3023 ausgegeben. Wie oben beschrieben, handelt es sich bei den Zustandsinformationen S um Informationen, die dem Zustand beim Q-Learning entsprechen, und sie beinhalten den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 zum Zeitpunkt des Schritts S12. Auf diese Weise wird der Positionsfehlersatz PD(S) erfasst, der einer Bearbeitungsform entspricht, wenn der Kompensationskoeffizient c der Positionsverstärkung Kp der Positionssteuereinheit 2041, der Kompensationskoeffizient e des Filterkoeffizienten F des Filters 2044 und der Kompensationskoeffizient g des Drehmoment-Versatzwerts der Kompensationseinheit 205 Anfangswerte sind.
  • Wie oben beschrieben, werden der Kompensationskoeffizient c der Positionsverstärkung Kp der Positionssteuereinheit 2041, der Kompensationskoeffizient e des Filterkoeffizienten F des Filters 2044 und der Kompensationskoeffizient g des Drehmoment-Versatzwerts der Kompensationseinheit 205 in einem Anfangszustand S0 anfangs durch den Benutzer festgelegt.
  • Der Positionsfehlerwert PD(S0) in dem Zustand S0 wird von der Subtrahiereinrichtung 203 zu dem Zeitpunkt, an dem das Q-Learning gemäß dem Auswertungsprogramm erstmals beginnt, durch Betreiben der Servomotor-Steuereinrichtung 200 gewonnen. Die Positionsbefehls-Erstellungseinheit 201 gibt nacheinander den Positionsbefehl gemäß der Bearbeitungsform aus, die durch das Auswertungsprogramm bestimmt wird. Der Positionsbefehlswert, der der Bearbeitungsform entspricht, wird von der Positionsbefehls-Erstellungseinheit 201 ausgegeben, und die Subtrahiereinrichtung 203 gibt eine Differenz zwischen dem Positionsbefehlswert und dem Positionserfassungswert als Positionsfehler PD(S0) an die Vorrichtung 300 für maschinelles Lernen aus.
  • In Schritt S13 erzeugt die Aktionsinformations-Erzeugungseinheit 3023 neue Aktionsinformationen A und gibt die erzeugten neuen Aktionsinformationen A über die Aktionsinformations-Ausgabeeinheit 303 an die Servomotor-Steuereinrichtung 200 aus. Die Aktionsinformations-Erzeugungseinheit 3023 gibt die neuen Aktionsinformationen A auf Grundlage der oben beschriebenen Strategie aus. Die Servomotor-Steuereinrichtung 200, die die Aktionsinformationen A empfangen hat, treibt eine Werkzeugmaschine, die den Servomotorbeinhaltet, gemäß dem Zustand S', der durch Korrigieren des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 gewonnen wird, im Zusammenhang mit dem Ist-Zustand S auf Grundlage der empfangenen Aktionsinformationen an. Wie oben beschrieben, entsprechen die Aktionsinformationen der Aktion A beim Q-Learning.
  • In Schritt S14 erfasst die Zustandsinformations-Erfassungseinheit 301 den Positionsfehler PD(S') in dem neuen Zustand S' und den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 von der Subtrahiereinrichtung 203. Auf diese Weise erfasst die Zustandsinformations-Erfassungseinheit 301 den Positionsfehlersatz PD(S'), der der Bearbeitungsform entspricht, für die Kompensationskoeffizienten c, e und g in dem Zustand S' von der Steuereinheit 204 und der Kompensationseinheit 205. Die erfassten Zustandsinformationen werden an die Belohnungsausgabeeinheit 3021 ausgegeben.
  • In Schritt S151 von Schritt S15 ermittelt die Belohnungsausgabeeinheit 3021 ein Größenverhältnis zwischen dem Auswertungsfunktionswert f(PD(S')) des Positionsfehlers in dem Zustand S' und dem Auswertungsfunktionswert f(PD(S)) des Positionsfehlers in dem Zustand S und legt in Schritt S152 die Belohnung auf einen negativen Wert fest, wenn gilt f(PD(S'))>f(PD(S)). Wenn gilt f(PD(S'))<f(PD(S)), legt die Belohnungsausgabeeinheit 3021 die Belohnung in Schritt S153 auf einen positiven Wert fest. Wenn gilt f(PD(S'))=f(PD(S)), legt die Belohnungsausgabeeinheit 3021 die Belohnung in Schritt S154 auf null fest. Die Belohnungsausgabeeinheit 3021 kann eine Gewichtung auf die negativen und positiven Belohnungswerte anwenden.
  • Wenn einer der Schritte S152, S153 und S154 endet, aktualisiert die Wertfunktions-Aktualisierungseinheit 3022 die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert ist, auf Grundlage des Werts der Belohnung, der in einem beliebigen der Schritte in Schritt S16 berechnet wird. In Schritt S17 ermittelt die Lerneinheit 302, ob die Anzahl von Versuchen eine größte Anzahl von Versuchen erreicht hat. Wenn die Anzahl von Versuchen die größte Anzahl von Versuchen nicht erreicht hat (Schritt S17: Nein), wird die Anzahl von Versuchen in Schritt S18 zusammengezählt, und der Ablauf kehrt erneut zu Schritt S13 zurück. Anschließend wird der oben beschriebene Prozess wiederholt, wodurch die Wertfunktion Q zu einem geeigneten Wert konvergiert. Wenn die Anzahl von Versuchen die größte Anzahl von Versuchen erreicht hat (Schritt S17: Ja), beendet die Lerneinheit 302 den Prozess. Der Prozess kann unter der Bedingung enden, dass der oben beschriebene Prozess über einen vorgegebenen Zeitraum hinweg wiederholt wird. Wenngleich in Schritt S16 eine Online-Aktualisierung beispielhaft dargestellt wird, kann eine Batch-Aktualisierung oder eine Mini-Batch-Aktualisierung anstelle der Online-Aktualisierung durchgeführt werden.
  • Bei der vorliegenden Ausführungsform ist es aufgrund des unter Bezugnahme auf 8 und 9 beschriebenen Ablaufs mithilfe der Vorrichtung 300 für maschinelles Lernen möglich, eine geeignete Wertfunktion zum Anpassen des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205 zu gewinnen und eine Optimierung der Verstärkung und des Filterkoeffizienten der Steuereinheit 204 und des Drehmoment-Versatzwerts der Kompensationseinheit 205 zu vereinfachen.
  • Als Nächstes wird ein Vorgang während einer Erzeugung der Optimierungsaktionsinformationen durch die Optimierungsaktionsinformations-Ausgabeeinheit 305 unter Bezugnahme auf den Ablaufplan von 10 beschrieben. Zuerst erfasst die Optimierungsaktionsinformations-Ausgabeeinheit 305 in Schritt S21 die Wertfunktion Q, die in der Wertfunktions-Speichereinheit 304 gespeichert ist. Wie oben beschrieben, wird die Wertfunktion Q durch die Wertfunktions-Aktualisierungseinheit 3022 aktualisiert, die das Q-Learning durchführt.
  • In Schritt S22 erzeugt die Optimierungsaktionsinformations-Ausgabeeinheit 305 die Optimierungsaktionsinformationen auf Grundlage der Wertfunktion Q und gibt die erzeugten Optimierungsaktionsinformationen an die Änderungseinheit 206 der Servomotor-Steuereinrichtung 200 aus. Die Änderungseinheit 206 optimiert den Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und den Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205.
  • Bei der vorliegenden Ausführungsform werden aufgrund des unter Bezugnahme auf 10 beschriebenen Ablaufs die Optimierungsaktionsinformationen auf Grundlage der Wertfunktion Q erzeugt, die durch die Vorrichtung 300 für maschinelles Lernen gewonnen wird, die maschinelles Lernen durchführt, und die Servomotor-Steuereinrichtung 200 kann das Anpassen des Kompensationskoeffizienten c der Positionsverstärkung Kp der Positionssteuereinheit 2041, des Kompensationskoeffizienten e des Filterkoeffizienten F des Filters 2044 und des Kompensationskoeffizienten g des Drehmoment-Versatzwerts der Kompensationseinheit 205, die aktuell festgelegt sind, auf Grundlage der Optimierungsaktionsinformationen vereinfachen und den Positionsfehlerwert verringern.
  • (Zweite Ausführungsform)
  • Wenngleich sich die Erste Ausführungsform auf ein Servomotor-Steuersystem bezieht, wenn sich die Belastung eines Steuerungsziels abhängig von einem Drehwinkel verändert, bezieht sich die vorliegende Ausführungsform auf ein Servomotor-Steuersystem, in dem es sich bei dem Steuerungsziel 110 um eine Hobelwerkzeugmaschine handelt und die Belastung sich abhängig von einer Position verändert. Bei dem Servomotor-Steuersystem der vorliegenden Ausführungsform werden zwei Servomotor-Steuereinrichtungen in der Richtung X bereitgestellt, wird eine Servomotor-Steuereinrichtung in der Richtung Y bereitgestellt und werden zwei Servomotor-Steuereinrichtungen in der Richtung Z bereitgestellt, so dass sich ein Tor, das einen Spindelstock beinhaltet, in die Richtungen X, Y und Z im Hinblick auf ein Werkstück bewegt. Eine Grundgestaltung und Vorgänge des Servomotor-Steuersystems, der Servomotor-Steuereinrichtung und der Vorrichtung für maschinelles Lernen mit Ausnahme des Steuerungsziels ähneln der Gestaltung und den Vorgängen, die unter Bezugnahme auf 1 bis 10 beschrieben worden sind. In der folgenden Beschreibung werden ein Steuerungsziel und eine Servosteuereinrichtung beschrieben, die dem Steuerungsziel zugehörig ist.
  • 11 ist eine schematische Darstellung, die eine Gestaltung einer Hobelmaschine veranschaulicht. Die in 11 veranschaulichte Hobelmaschine beinhaltet Halterungen 111-1 und 111-2, die in einer vertikalen Richtung bereitgestellt werden, eine Halterung 112, die in einer horizontalen Richtung zwischen den Halterungen 111-1 und 111-2 bereitgestellt wird, und Unterbauten 114-1 und 114-2, auf denen die Halterungen 111-1 und 111-2 angeordnet sind.
  • Der Spindelstock 113 bewegt sich mithilfe eines y-Achsen-Servomotors in die Richtung Y im Hinblick auf die Halterung 112. Ein Ende (das linke Ende in 11) der Halterung 112 bewegt sich mithilfe eines ersten z-Achsen-Servomotors aufwärts und abwärts in einer Richtung Z1 im Hinblick auf die Halterung 111-1. Das andere Ende (das rechte Ende in 11) der Halterung 112 bewegt sich mithilfe eines zweiten z-Achsen-Servomotors aufwärts und abwärts in einer Richtung Z2 im Hinblick auf die Halterung 111-2. Der erste und der zweite z-Achsen-Servomotor bewegen sich gekuppelt, wodurch sich die Halterung 112 aufwärts und abwärts bewegt.
  • Die Halterung 111-1 bewegt sich mithilfe eines ersten x-Achsen-Servomotors in eine Richtung X1 im Hinblick auf den Unterbau 114-1. Die Halterung 111-2 bewegt sich mithilfe eines zweiten x-Achsen-Servomotors in eine Richtung X2 im Hinblick auf den Unterbau 114-2. Der erste und der zweite x-Achsen-Servomotor bewegen sich gekuppelt, wodurch sich das Tor bewegt, das durch die Halterungen 111-1 und 111-2 und die Halterung 112 ausgebildet wird.
  • Wenn sich der Spindelstock 113 in der Richtung der y-Achse im Hinblick auf die Halterung 112 bewegt, ändert sich die Belastung (die Belastung, die auf beide Enden der Halterung 112 ausgeübt wird, und die Belastung, die auf die Halterungen 111-1 und 111-2 ausgeübt wird), die auf beide Seiten des Tors ausgeübt wird, abhängig von der Position des Spindelstocks 113. Wenn sich der Spindelstock 113 in der Richtung der y-Achse im Hinblick auf die Halterung 112 bewegt, lernt die Vorrichtung für maschinelles Lernen daher die Kompensationskoeffizienten (Parameter) der Steuereinheit und der Kompensationseinheit der Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, um die Kompensationskoeffizienten anzupassen. Darüber hinaus lernt die Vorrichtung für maschinelles Lernen die Kompensationskoeffizienten der Steuereinheit und der Kompensationseinheit der Servomotor-Steuereinrichtung, die den ersten und den zweiten z-Achsen-Servomotor steuert, um die Kompensationskoeffizienten anzupassen.
  • (Servomotor-Steuereinrichtung und Vorrichtung für maschinelles Lernen, die den ersten und den zweiten z-Achsen-Servomotor steuern)
  • Wenn sich der Spindelstock 113 in der Richtung der y-Achse im Hinblick auf die Halterung 112 bewegt, ändert sich, da sich die Belastung ändert, die auf beide Enden der Halterung 112 ausgeübt wird, das Drehmoment des ersten und des zweiten z-Achsen-Servomotors, die die Halterung 112 in der vertikalen Richtung des Tors bewegen, entsprechend einer Veränderung der Belastung. Daher muss die Servomotor-Steuereinrichtung, die den ersten und den zweiten z-Achsen-Servomotor steuert, den Drehmomentversatz ändern. Wie zum Beispiel in 11 veranschaulicht, wird angenommen, dass sich der Spindelstock über eine Strecke Wd von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 zu dem anderen Ende (dem Ende in der Nähe der Halterung 111-2) bewegen kann und dass sich der Spindelstock 113 über eine Strecke Wd1 von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 bewegt hat. In diesem Fall wird die Belastung des ersten z-Achsen-Servomotors, der ein Ende (das Ende in der Nähe der Halterung 111-1) der Halterung 112 in der Richtung Z1 bewegt, geringer, und der Drehmoment-Versatzwert kann als h2-g2xWd1 ausgedrückt werden, wenn der Kompensationskoeffizient (Parameter) g2 ist. Hier gibt h2 den Drehmoment-Versatzwert an, wenn gilt Wd1=0. Demgegenüber wird die Belastung des zweiten z-Achsen-Servomotors, der das andere Ende (das Ende in der Nähe der Halterung 111-2) der Halterung 112 in der Richtung Z2 bewegt, größer, und der Drehmoment-Versatzwert kann als h3+g2×Wd1 ausgedrückt werden. Hier gibt h3 den Drehmoment-Versatzwert an, wenn gilt Wd1=0. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten g2 auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Wenn sich der Spindelstock 113 in der Richtung der y-Achse im Hinblick auf die Halterung 112 bewegt und sich die Belastung ändert, die auf beide Enden der Halterung 112 ausgeübt wird, muss, da sich die Antriebskraft des Servomotors ändert, die Positionsverstärkung Kp der Positionssteuereinheit 2041 verringert werden, wenn die Belastung gering ist, und die Positionsverstärkung Kp der Positionssteuereinheit 2041 muss erhöht werden, wenn die Belastung groß ist.
  • Wie zum Beispiel in 11 veranschaulicht, kann sich der Spindelstock über eine Strecke Wd von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 zu dem anderen Ende (dem Ende in der Nähe der Halterung 111-2) bewegen und bewegt sich der Spindelstock 113 über eine Strecke Wd1 von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112. In diesem Fall wird zum Beispiel die Belastung der Steuereinrichtung des ersten z-Achsen-Servomotors, der ein Ende (das Ende in der Nähe der Halterung 111-1) der Halterung 112 in der Richtung Z1 bewegt, geringer, und die Positionsverstärkung Kp der Positionssteuereinheit 2041 kann als Kp=b2-c2xWd1 ausgedrückt werden, wenn der Kompensationskoeffizient (Parameter) c2 ist, eine Verstärkungsänderung aufgrund einer Bewegung über die Strecke Wd1 und der Festwert b2 ist. Hier gibt b2 die Positionsverstärkung an, wenn gilt Wd1=0. Demgegenüber wird die Belastung der Steuereinrichtung des zweiten z-Achsen-Servomotors, der das andere Ende (das Ende in der Nähe der Halterung 111-2) der Halterung 112 in der Richtung Z2 bewegt, größer, und die Positionsverstärkung Kp der Positionssteuereinheit 2041 kann als Kp=b2+c2×Wd1 ausgedrückt werden, wenn der Kompensationskoeffizient (Parameter) c2 ist, eine Verstärkungsänderung aufgrund einer Bewegung über die Strecke Wd1 gleich c2xWd1 ist und der Festwert b3 ist. Hier gibt b3 die Positionsverstärkung an, wenn gilt Wd1=0. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten c2 der Positionsverstärkung Kp auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Die Servomotor-Steuereinrichtung, die den ersten und den zweiten z-Achsen-Servomotor steuert, weist Hochfrequenz-Resonanzeigenschaften auf, wenn die Belastung gering ist, und weist Niederfrequenz-Resonanzeigenschaften auf, wenn die Belastung groß ist. Daher muss die Servomotor-Steuereinrichtung, die den ersten und den zweiten z-Achsen-Servomotor steuert, den Filterkoeffizienten des Filters 2044 so anpassen, dass Hochfrequenzsignale gedämpft werden, wenn die Belastung gering ist, und Niederfrequenzsignale gedämpft werden, wenn die Belastung groß ist.
  • Wie zum Beispiel in 11 veranschaulicht, wird angenommen, dass sich der Spindelstock über eine Strecke Wd von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 zu dem anderen Ende (dem Ende in der Nähe der Halterung 111-2) bewegen kann und dass sich der Spindelstock 113 über eine Strecke Wd1 von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 bewegt hat. In diesem Fall wird die Belastung des ersten z-Achsen-Servomotors, der ein Ende (das Ende in der Nähe der Halterung 111-1) der Halterung 112 in der Richtung Z1 bewegt, geringer, und der Filterkoeffizient F kann als F=d2+e2×f(Wd1) ausgedrückt werden, wenn der Festwert d2 ist, der Kompensationskoeffizient (Parameter) e2 ist und eine von der Strecke Wd1 abhängige Funktion f(Wd1) ist. Bei der Funktion f(Wd1) handelt es sich um eine Funktion, die in geeigneter Weise durch einen Schaltungsaufbau des Filters 2044 bestimmt wird. Hier gibt d2 den Filterkoeffizienten an, wenn gilt Wd1=0. Demgegenüber wird die Belastung des zweiten z-Achsen-Servomotors, der das andere Ende (das Ende in der Nähe der Halterung 111-2) der Halterung 112 in der Richtung Z2 bewegt, größer, und der Filterkoeffizient F kann als F=d3-e2xf(Wd1) ausgedrückt werden, wenn der Festwert d3 ist, der Kompensationskoeffizient (Parameter) e2 ist und eine von der Strecke Wd1 abhängige Funktion f(Wd1) ist. Hier gibt d3 den Filterkoeffizienten an, wenn gilt Wd1=0. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten e2 auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Die Vorrichtung für maschinelles Lernen, die mit der Servomotor-Steuereinrichtung verbunden ist, die den ersten und den zweiten z-Achsen-Servomotor steuert, empfängt den Positionsbefehl der Servomotor-Steuereinrichtung, die den y-Achsen-Servomotor steuert, als Zustandsinformationen zusätzlich zu den Zustandsinformationen von der Servomotor-Steuereinrichtung, die den z-Achsen-Servomotor steuert. Der Positionsbefehl entspricht der Position des Spindelstocks 113, und die Vorrichtung für maschinelles Lernen lernt die Kompensationskoeffizienten c2 und c3 der Steuereinheit 204 und den Kompensationskoeffizienten g2 der Kompensationseinheit 205 der Servomotor-Steuereinrichtung, die den z-Achsen-Servomotor steuert, durch Berücksichtigen der Position des Spindelstocks 113 und optimiert die Kompensationskoeffizienten c2 und e2 der Steuereinheit 204 und den Kompensationskoeffizienten g2 der Kompensationseinheit 205.
  • (Servomotor-Steuereinrichtung und Vorrichtung für maschinelles Lernen, die den ersten und den zweiten x-Achsen-Servomotor steuern)
  • Wenn sich der Spindelstock 113 in der Richtung der y-Achse im Hinblick auf die Halterung 112 bewegt, ändert sich, da sich die Belastung ändert, die auf die Halterungen 111-1 und 111-2 ausgeübt wird, die Reibungskraft, wenn die Halterungen 111-1 und 11-2 in den Richtungen X1 und X2 im Hinblick auf die Unterbauten 114-1 bzw. 114-2 bewegt werden. Daher muss die Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, den Reibungskompensationswert für das Drehmoment ändern.
  • Da sich die Antriebskraft des Servomotors ändert, wenn sich die Belastung ändert, die auf die Halterungen 111-1 und 111-2 ausgeübt wird, muss die Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, die Positionsverstärkung Kp der Positionssteuereinheit 2041 verringern, wenn die Belastung gering ist, und die Positionsverstärkung Kp der Positionssteuereinheit 2041 erhöhen, wenn die Belastung groß ist.
  • Die Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, weist Hochfrequenz-Resonanzeigenschaften auf, wenn die Belastung gering ist, und weist Niederfrequenz-Resonanzeigenschaften auf, wenn die Belastung groß ist. Daher muss die Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, den Filterkoeffizienten des Filters 2044 so anpassen, dass Hochfrequenzsignale gedämpft werden, wenn die Belastung gering ist, und Niederfrequenzsignale gedämpft werden, wenn die Belastung groß ist.
  • Da die Beschreibung, wie die Positionsverstärkung Kp der Positionssteuereinheit 2041 und der Filterkoeffizient des Filters 2044 der Servomotor-Steuereinheit zu ändern sind, die den ersten und den zweiten x-Achsen-Servomotor steuert, der Beschreibung ähnelt, wie die Positionsverstärkung Kp der Positionssteuereinheit 2041 und der Filterkoeffizient des Filters 2044 der Servomotor-Steuereinrichtung zu ändern sind, die den ersten und den zweiten z-Achsen-Servomotor steuert, wird deren Beschreibung weggelassen.
  • In der Servomotor-Steuereinrichtung, die den ersten und den zweiten x-Achsen-Servomotor steuert, gibt die Kompensationseinheit 205 den Reibungskompensationswert an die Addiereinrichtung 2046 aus und gibt einen im Folgenden beschriebenen Kompensationskoeffizienten zum Berechnen des Reibungskompensationswerts an die Vorrichtung 300 für maschinelles Lernen aus. Die Vorrichtung 300 für maschinelles Lernen gibt einen Anpassungswert des Kompensationskoeffizienten des Reibungskompensationswerts als Aktionsinformationen an die Änderungseinheit 206 aus.
  • Wie zum Beispiel in 11 veranschaulicht, wird angenommen, dass sich der Spindelstock über eine Strecke Wd von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 zu dem anderen Ende (dem Ende in der Nähe der Halterung 111-2) bewegen kann und dass sich der Spindelstock 113 über eine Strecke Wd1 von einem Ende (dem Ende in der Nähe der Halterung 111-1) der Halterung 112 bewegt hat. In diesem Fall wird die Belastung des ersten x-Achsen-Servomotors, der die Halterung 111-1 in der Richtung X1 bewegt, geringer, und der Reibungskompensationswert kann als k1-j×Wd1 ausgedrückt werden, wenn der Kompensationskoeffizient (Parameter) j ist. Hier gibt k1 den Reibungskompensationswert an, wenn gilt Wd1=0. Demgegenüber wird die Belastung des zweiten x-Achsen-Servomotors, der die Halterung 111-2 in der Richtung X2 bewegt, größer, und der Reibungskompensationswert kann als k2+j×Wd1 ausgedrückt werden, wenn der Kompensationskoeffizient (Parameter) j ist. Hier gibt k2 den Reibungskompensationswert an, wenn gilt Wd1=0. Die Änderungseinheit 206 ändert den Kompensationskoeffizienten j auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Die Vorrichtung für maschinelles Lernen, die mit der Servomotor-Steuereinrichtung verbunden ist, die den ersten und den zweiten x-Achsen-Servomotor steuert, empfängt den Positionsbefehl der Servomotor-Steuereinrichtung, die den y-Achsen-Servomotor steuert, als Zustandsinformationen zusätzlich zu den Zustandsinformationen von der Servomotor-Steuereinrichtung, die den x-Achsen-Servomotor steuert. Der Positionsbefehl entspricht der Position des Spindelstocks 113, und die Vorrichtung für maschinelles Lernen lernt die Kompensationskoeffizienten c2' und e2' der Steuereinheit 204 und den Kompensationskoeffizienten j der Kompensationseinheit 205 der Servomotor-Steuereinrichtung, die den x-Achsen-Servomotor steuert, durch Berücksichtigen der Position des Spindelstocks 113 und optimiert die Kompensationskoeffizienten c2' und e2' der Steuereinheit 204 und den Kompensationskoeffizienten j der Kompensationseinheit 205. Die Kompensationskoeffizienten c2' und e2' geben den Kompensationskoeffizienten der Positionsverstärkung Kp und den Kompensationskoeffizienten des Filterkoeffizienten F der Servomotor-Steuereinrichtung an, die den ersten und den zweiten x-Achsen-Servomotor steuert.
  • (Dritte Ausführungsform)
  • Wenngleich sich die erste Ausführungsform auf ein Servomotor-Steuersystem bezieht, wenn sich die Belastung eines Steuerungsziels abhängig von einem Drehwinkel verändert, bezieht sich die vorliegende Ausführungsform auf ein Servomotor-Steuersystem, in dem das Steuerungsziel eine Kugelspindel beinhaltet. Eine Grundgestaltung und Vorgänge des Servomotor-Steuersystems, der Servomotor-Steuereinrichtung und der Vorrichtung für maschinelles Lernen mit Ausnahme des Steuerungsziels ähneln der Gestaltung und den Vorgängen, die unter Bezugnahme auf 1 bis 10 beschrieben worden sind. In der folgenden Beschreibung werden ein Steuerungsziel und eine Servosteuereinrichtung beschrieben, die dem Steuerungsziel zugehörig ist.
  • 12 ist ein Blockschaubild, das eine Werkzeugmaschine veranschaulicht, die einen Servomotor beinhaltet, der als Beispiel für das Steuerungsziel 120 dient. Das Steuerungsziel 120 beinhaltet den Servomotor 101, ein Verbindungsstück 121, das den Servomotor 101 und eine Kugelspindel 123 verbindet, eine Halteeinheit 122, die Kugelspindel 123, eine Mutter 124, die auf die Kugelspindel 123 geschraubt ist, und eine Halteeinheit 126. Der Servomotor 101 bewegt einen Tisch 125 mithilfe des Verbindungsstücks 121, der Kugelspindel 123 und der Mutter 124, um ein Werkstück zu bearbeiten, das auf dem Tisch 125 angebracht ist. Mit einer Drehung des Servomotors 101 bewegt sich die Mutter 124, die auf die Kugelspindel 123 geschraubt ist, in der axialen Richtung der Kugelspindel 123.
  • Wenngleich in dem Steuerungsziel 120 wie zum Beispiel dem Verbindungsstück 121, den Halteeinheiten 122 und 126, der Kugelspindel 123 und der Mutter 124 eine Reibung auftritt, tritt eine Reibung auch in dem Servomotor 101 auf. Die Reibung kann sich in einem Abschnitt der Kugelspindel aufgrund eines Brechens eines Abschnitts einer linearen Welle oder eines Mangels an Schmiermittel verstärken. Wie in 12 veranschaulicht, kann sich die Reibung in einem Abschnitt der Kugelspindel 123 aufgrund eines Brechens eines Abschnitts einer linearen Welle oder eines Mangels an Schmiermittel verstärken, und eine Belastung kann auf den Servomotor 101 in einem Bereich ausgeübt werden, in dem sich die Reibung verstärkt. Der Bereich, in dem sich die Reibung verstärkt, ist ein Bereich (Hd1<Hd<Hd2), in dem ein Abstand Hd zwischen einem Abstand Hd1 und einem Abstand Hd2 liegt, wenn der Abstand von der Halteeinheit 122 Hd ist. Da sich in diesem Bereich die Belastung ändert, die auf den Servomotor 101 ausgeübt wird, muss die Servomotor-Steuereinrichtung den Reibungskompensationswert für das Drehmoment ändern. Der Reibungskompensationswert f(ω) weist, wenn ein Bereich beinhaltet ist, in dem sich eine Belastung ändert, ein Verhältnis auf, das durch Ausdruck 2 (Math. 2) angegeben wird.
  • Die Reibung weist nichtlineare Eigenschaften auf und wird als nichtlineare Reibung bezeichnet. Wie in Ausdruck 2 veranschaulicht, beinhaltet ein nichtlinearer Reibungskompensationswert f(ω) einen Term f1((ω)), der einen Reibungskompensationswert m×ω proportional zu einer Motorgeschwindigkeit ω und einen Reibungskompensationswert e des Bereichs, in dem die Reibung verstärkt wird, und einen Reibungskompensationswert f2(ω) während eines Anhaltens beinhaltet. Wie in 12 veranschaulicht, verstärkt sich die Reibung in dem Bereich, in dem der Abstand zwischen dem Abstand Hd1 und dem Abstand Hd2 liegt, und der Reibungskompensationswert e (e>0) gilt in diesem Bereich. f ( ω ) = f 1 ( ω ) + f 2 ( ω ) f 1 ( ω ) = m × ω + e f 2 ( ω ) = { n ( ω > 0 ) 0 ( ω = 0 ) n ( ω < 0 )
    Figure DE102019200080A1_0002

    Die Änderungseinheit 206 ändert den Reibungskompensationswert e in dem Bereich, in dem der Abstand HD zwischen dem Abstand Hd1 und dem Abstand Hd2 liegt, auf Grundlage der Aktionsinformationen oder der Optimierungsaktionsinformationen von der Vorrichtung 300 für maschinelles Lernen.
  • Die Vorrichtung für maschinelles Lernen lernt den Kompensationswert q der Positionsverstärkung Kp der Positionssteuereinheit 2041 der Steuereinheit 204 der Servomotor-Steuereinrichtung, den Kompensationskoeffizienten s des Filterkoeffizienten F des Filters 2044 der Steuereinheit 204 und den Reibungskompensationswert e der Kompensationseinheit 205 durch Berücksichtigen des Bereichs (Hd1<Hd<Hd2) des Bereichs, in dem sich die Reibung verstärkt, und optimiert den Kompensationswert q der Positionsverstärkung Kp der Positionssteuereinheit 2041, den Kompensationswert s des Filterkoeffizienten F des Filters 2044 der Steuereinheit 204 und den Reibungskompensationswert e der Kompensationseinheit 205.
  • In der Servomotor-Steuereinrichtung gibt die Kompensationseinheit 205 den Reibungskompensationswert an die Addiereinrichtung 2046 aus und gibt den Reibungskompensationswert e(Hd) an die Vorrichtung 300 für maschinelles Lernen aus. Die Vorrichtung 300 für maschinelles Lernen gibt einen Anpassungswert des Reibungskompensationswerts e(Hd) als Aktionsinformationen an die Änderungseinheit 206 aus. Die Kompensationseinheit 205 gibt einen Reibungskompensationswert f(ω,Hd) als Drehmoment-Kompensationswert an die Addiereinrichtung 2046 aus.
  • Wenngleich die erste bis dritte Ausführungsform, die oben beschrieben worden sind, sich auf eine Veränderung der Belastung beziehen, die von dem Winkel oder der Position des Steuerungsziels abhängt, das mit dem Servomotor verbunden ist (das heißt, eine Veränderung einer räumlichen Belastung), kann die vorliegende Erfindung auch auf eine Änderung einer zeitlichen Belastung angewendet werden. Beispielsweise kann sich in dem Steuerungsziel bei der ersten bis dritten Ausführungsform die Belastung im Hinblick auf einen Servomotor im Laufe der Zeit aufgrund von Abrieb und Mangel an Schmiermittel ändern. Bei der ersten bis dritten Ausführungsform kann, wenngleich eine größte Anzahl von Versuchen bestimmt ist, ein maschinelles Lernen fortgesetzt werden, ohne die größte Anzahl von Versuchen zu bestimmen. Wenn die größte Anzahl von Versuchen nicht bestimmt ist, kann, da die Parameter der Steuereinheit und der Kompensationseinheit der Servomotor-Steuereinrichtung entsprechend einer Änderung der zeitlichen Belastung angepasst werden, die Servomotor-Steuereinrichtung mit einer optimalen Servoleistung zu diesem Zeitpunkt betrieben werden, selbst wenn sich die Belastung im Laufe der Zeit ändert. Darüber hinaus kann die Vorrichtung 300 für maschinelles Lernen ein Lernen durch Ausführung eines Auswertungsprogramms oder eines Bearbeitungsprogramms durchführen, das in einem Vorbereitungsschritt tatsächlich verwendet wird, um die Parameter der Steuereinheit und der Kompensationseinheit der Servomotor-Steuereinrichtung festzulegen. Anschließend kann die Vorrichtung 300 für maschinelles Lernen das Steuerungsziel mithilfe des Bearbeitungsprogramms steuern, um ein Bearbeiten oder dergleichen wiederholt durchzuführen, und ein Lernen durch Ausführen des Auswertungsprogramms oder des Bearbeitungsprogramms, das in dem Vorbereitungsschritt tatsächlich verwendet wird, regelmäßig oder zufällig durchführen, um die Parameter der Steuereinheit und der Kompensationseinheit der Servomotor-Steuereinrichtung entsprechend einer Änderung der zeitlichen Belastung anzupassen.
  • Die Servomotor-Steuereinheit der Servomotor-Steuereinrichtung, die oben beschrieben worden ist, und die Komponenten, die in der Vorrichtung für maschinelles Lernen beinhaltet sind, können durch Hardware, Software oder eine Kombination von diesen umgesetzt werden. Das Servomotor-Steuerverfahren, das durch ein Zusammenwirken der Komponenten durchgeführt wird, die in der oben beschriebenen Servomotor-Steuereinrichtung beinhaltet sind, kann ebenfalls durch Hardware, Software oder eine Kombination von diesen umgesetzt werden. Hier bedeutet durch Software umgesetzt eine Umsetzung, wenn ein Computer ein Programm ausliest und ausführt.
  • Die Programme können auf beliebigen verschiedenen Typen von nichttransitorischen, computerlesbaren Medien gespeichert werden und einem Computer bereitgestellt werden. Zu den nichttransitorischen, computerlesbaren Medien zählen verschiedene Typen von physischen Speichermedien. Zu Beispielen für die nichttransitorischen, computerlesbaren Medien zählen ein magnetisches Aufzeichnungsmedium (zum Beispiel ein Festplattenlaufwerk), ein magnetooptisches Aufzeichnungsmedium (zum Beispiel eine magnetooptische Platte), eine CD-ROM (Read Only Memory, Festwertspeicher), eine CD-R, eine CD-R/W, ein Halbleiterspeicher (zum Beispiel ein Masken-ROM, ein PROM (programmierbarer ROM), ein EPROM (erasable PROM, löschbarer PROM), ein Flash-ROM oder ein RAM (random access memory, Direktzugriffsspeicher)).
  • Bei der oben beschriebenen Ausführungsform handelt es sich um 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 Modifizierungen verkörpert werden, ohne vom Wesensgehalt der vorliegenden Erfindung abzuweichen.
  • <Modifizierung, bei der die Servomotor-Steuereinrichtung die Vorrichtung für maschinelles Lernen beinhaltet>
  • Wenngleich die Vorrichtung 300 für maschinelles Lernen bei den oben beschriebenen Ausführungsformen als von der Servomotor-Steuereinrichtung 200 getrennte Vorrichtung gestaltet ist, können einige oder sämtliche der Funktionen der Vorrichtung 300 für maschinelles Lernen durch die Servomotor-Steuereinrichtung 200 umgesetzt werden.
  • <Spielraum bei der Systemgestaltung>
  • Bei der oben beschriebenen Ausführungsform sind die Vorrichtung 300 für maschinelles Lernen und die Servomotor-Steuereinrichtung 200 als Eins-zu-Eins-Korrelation zur Datenübertragung verbunden. Jedoch können zum Beispiel eine Vorrichtung 300 für maschinelles Lernen und eine Mehrzahl von Servomotor-Steuereinrichtungen 200 über das Netzwerk 400 zur Datenübertragung verbunden sein und kann das maschinelle Lernen jeder der Servomotor-Steuereinrichtungen 200 durchgeführt werden. In diesem Fall kann ein verteiltes Verarbeitungssystem gewählt werden, in dem gegebenenfalls jeweilige Funktionen der Vorrichtung 300 für maschinelles Lernen auf eine Mehrzahl von Servern verteilt sind. Die Funktionen der Vorrichtung 300 für maschinelles Lernen können durch Einsetzen einer Funktion eines virtuellen Servers oder dergleichen in einer Cloud umgesetzt werden. Wenn eine Mehrzahl von Vorrichtungen 300-1 bis 300-n für maschinelles Lernen vorhanden ist, die einer Mehrzahl von Servomotor-Steuereinrichtungen 200-1 bis 200-n jeweils mit demselben Typnamen, derselben Spezifikation oder derselben Serie entspricht, können die Vorrichtungen 300-1 bis 300-n für maschinelles Lernen so gestaltet sein, dass Lernergebnisse in den Vorrichtungen 300-1 bis 300-n für maschinelles Lernen gemeinsam genutzt werden. Dadurch kann ein optimaleres Modell erstellt werden.
  • Bezugszeichenliste
  • 10:
    Servomotor-Steuersystem
    100, 100-1 bis 100-n, 110, 120:
    Steuerungsziel
    101:
    Servomotor
    200, 200-1 bis 200-n;
    Servomotor-Steuereinheit
    201:
    Positionsbefehls-Erzeugungseinheit
    202:
    Addiereinrichtung
    203:
    Subtrahiereinrichtung
    204:
    Steuereinheit
    300, 300-1 bis 300-n;
    Vorrichtung für maschinelles Lernen
    301:
    Zustandsinformations-Erfassungseinheit
    302:
    Lerneinheit
    303:
    Aktionsinformations-Ausgabeeinheit
    304:
    Wertfunktions-Speichereinheit
    305:
    Optimierungsaktionsinformations-Ausgabeeinheit
    400:
    Netzwerk
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 2012/057219 [0006]
    • JP 2015156194 [0006]
    • JP 2009106034 [0006]
    • JP 2008225533 [0006]

Claims (10)

  1. Vorrichtung für maschinelles Lernen (300), die maschinelles Lernen im Hinblick auf eine Servomotor-Steuereinrichtung (200) durchführt, die eine Änderungseinheit (206) zum Ändern eines Parameters einer Steuereinheit (204) zum Steuern eines Servomotors (101) auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet, wobei die Vorrichtung für maschinelles Lernen aufweist: eine Zustandsinformations-Erfassungseinheit (301) zum Erfassen von Zustandsinformationen von der Servomotor-Steuereinrichtung, die den Positionsbefehl, einen Servozustand, der zumindest einen Positionsfehler beinhaltet, eine Kombination des Parameters der Steuereinheit und des Kompensationswerts beinhalten, durch Bewirken, dass die Servomotor-Steuereinrichtung ein vorgegebenes Programm ausführt; eine Aktionsinformations-Ausgabeeinheit (303) zum Ausgeben von Aktionsinformationen, die Anpassungsinformationen der Kombination des Parameters und des Kompensationswerts beinhalten, die in den Zustandsinformationen beinhaltet ist, an die Servomotor-Steuereinrichtung; eine Belohnungsausgabeeinheit (3021) zum Ausgeben eines Werts einer Belohnung eines bestärkenden Lernens auf Grundlage des Positionsfehlers, der in den Zustandsinformationen beinhaltet ist; und eine Wertfunktions-Aktualisierungseinheit (3022) zum Aktualisieren einer Wertfunktion auf Grundlage des Werts der Belohnung, der durch die Belohnungsausgabeeinheit ausgegeben wird, der Zustandsinformationen und der Aktionsinformationen.
  2. Vorrichtung für maschinelles Lernen nach Anspruch 1, wobei die Belohnungsausgabeeinheit den Wert der Belohnung auf Grundlage eines Absolutwerts des Positionsfehlers ausgibt.
  3. Vorrichtung für maschinelles Lernen nach Anspruch 1 oder 2, die des Weiteren aufweist: eine Optimierungsaktionsinformations-Ausgabeeinheit (305) zum Erzeugen einer Kombination des Parameters der Steuereinheit und des Kompensationswerts des Positionsbefehls und/oder des Drehmomentbefehls auf Grundlage der Wertfunktion, die durch die Wertfunktions-Aktualisierungseinheit aktualisiert wird, und zum Ausgeben der Kombination an die Änderungseinheit.
  4. Servomotor-Steuersystem, das aufweist: die Vorrichtung für maschinelles Lernen (300) nach einem der Ansprüche 1 bis 3; eine Servomotor-Steuereinrichtung, die eine Änderungseinheit (206) zum Ändern eines Parameters einer Steuereinheit (204) zum Steuern eines Servomotors (101) auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet, und ein Steuerungsziel (100, 110, 120), das durch die Servomotor-Steuereinrichtung gesteuert wird.
  5. Servomotor-Steuersystem nach Anspruch 4, wobei das Steuerungsziel (100) einen Servomotor und einen Treiber (104) beinhaltet, dessen Drehwinkel durch den Servomotor gesteuert wird, und sich eine Belastung, die eine Drehwelle des Treibers aufnimmt, abhängig von dem Drehwinkel verändert.
  6. Servomotor-Steuersystem nach Anspruch 4, wobei das Steuerungsziel (110, 120) einen Servomotor und einen Treiber (113, 124) beinhaltet, dessen Position durch den Servomotor gesteuert wird, und sich eine Belastung, die das Steuerungsziel aufnimmt, abhängig von der Position verändert.
  7. Servomotor-Steuersystem nach Anspruch 5 oder 6, wobei sich die Belastung im Laufe der Zeit ändert.
  8. Servomotor-Steuersystem nach einem der Ansprüche 4 bis 7, wobei die Steuereinheit der Servomotor-Steuereinrichtung beinhaltet: eine Positionssteuereinheit (2041) zum Erzeugen eines Geschwindigkeitsbefehls auf Grundlage des Positionsbefehls; eine Geschwindigkeitssteuereinheit (2043) zum Erzeugen des Drehmomentbefehls auf Grundlage des Geschwindigkeitsbefehls, der von der Positionssteuereinheit ausgegeben wird; und ein Filter (2044) zum Dämpfen von Signalen mit Frequenzen in einem vorgegebenen Frequenzbereich des Drehmomentbefehls, der von der Geschwindigkeitssteuereinheit ausgegeben wird, und die Änderungseinheit eine Verstärkung der Positionssteuereinheit und/oder der Geschwindigkeitssteuereinheit, einen Filterkoeffizienten des Filters und einen Drehmoment-Versatzwert und/oder einen Reibungskompensationswert, die auf den Positionsbefehl oder den Drehmomentbefehl angewendet werden, auf Grundlage der Aktionsinformationen ändert.
  9. Servomotor-Steuereinheit (200), die aufweist: die Vorrichtung für maschinelles Lernen (300) nach einem der Ansprüche 1 bis 3; und eine Änderungseinheit (206) zum Ändern eines Parameters einer Steuereinheit (204) zum Steuern eines Servomotors auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls auf Grundlage der Aktionsinformationen von der Vorrichtung für maschinelles Lernen.
  10. Verfahren für maschinelles Lernen einer Vorrichtung für maschinelles Lernen (300), die maschinelles Lernen im Hinblick auf eine Servomotor-Steuereinrichtung (200) durchführt, die eine Änderungseinheit (206) zum Ändern eines Parameters einer Steuereinheit (204) zum Steuern eines Servomotors auf Grundlage eines Positionsbefehls und eines Kompensationswerts des Positionsbefehls und/oder eines Drehmomentbefehls beinhaltet, wobei das Verfahren für maschinelles Lernen aufweist: Erfassen von Zustandsinformationen von der Servomotor-Steuereinrichtung, die den Positionsbefehl, einen Servozustand, der zumindest einen Positionsfehler beinhaltet, eine Kombination des Parameters der Steuereinheit und des Kompensationswerts beinhalten, durch Bewirken, dass die Servomotor-Steuereinrichtung ein vorgegebenes Programm ausführt; Ausgeben von Aktionsinformationen an die Servomotor-Steuereinrichtung, die Anpassungsinformationen der Kombination des Parameters und des Kompensationswerts beinhalten, die in den Zustandsinformationen beinhaltet ist; und Aktualisieren einer Wertfunktion auf Grundlage eines Werts einer Belohnung eines bestärkenden Lernens auf Grundlage des Positionsfehlers, der in den Zustandsinformationen beinhaltet ist, der Zustandsinformationen und der Aktionsinformationen.
DE102019200080.0A 2018-01-25 2019-01-07 Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen Pending DE102019200080A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018010676A JP6697491B2 (ja) 2018-01-25 2018-01-25 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP2018-010676 2018-01-25

Publications (1)

Publication Number Publication Date
DE102019200080A1 true DE102019200080A1 (de) 2019-07-25

Family

ID=67145357

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019200080.0A Pending DE102019200080A1 (de) 2018-01-25 2019-01-07 Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen

Country Status (4)

Country Link
US (1) US10824121B2 (de)
JP (1) JP6697491B2 (de)
CN (1) CN110083080B (de)
DE (1) DE102019200080A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6564432B2 (ja) * 2017-08-29 2019-08-21 ファナック株式会社 機械学習装置、制御システム、制御装置、及び機械学習方法
JP7000371B2 (ja) * 2019-03-22 2022-01-19 ファナック株式会社 機械学習装置、制御システム及び機械学習方法
JP7343319B2 (ja) * 2019-07-19 2023-09-12 ファナック株式会社 サーボ制御装置
US20210116888A1 (en) * 2019-10-21 2021-04-22 Semiconductor Components Industries, Llc Systems and methods for system optimization and/or failure detection
US11316583B2 (en) * 2019-12-09 2022-04-26 Intelligent Fusion Technology, Inc. Predistorter, predistorter controller, and high power amplifier linearization method
CN111626539B (zh) * 2020-03-03 2023-06-16 中国南方电网有限责任公司 一种基于q强化学习的电网运行断面动态生成方法
DE112020006573B4 (de) * 2020-03-17 2024-06-06 Mitsubishi Electric Corporation Steuerungssystem, Motorsteuerungsvorrichtung und Vorrichtung für Maschinelles Lernen
EP4069456A4 (de) * 2021-01-27 2024-01-03 Apex Brands Inc Spindel- und spindelsystem mit logikversorgungsbus-fehlerdiagnose
CN113050433B (zh) * 2021-05-31 2021-09-14 中国科学院自动化研究所 机器人控制策略迁移方法、装置及系统
CN117378139A (zh) * 2021-12-13 2024-01-09 三菱电机株式会社 控制器、控制系统、学习装置及推断装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225533A (ja) 2007-03-08 2008-09-25 Fanuc Ltd サーボ制御装置
JP2009106034A (ja) 2007-10-22 2009-05-14 Fanuc Ltd 学習制御機能を備えた電動機の制御装置
WO2012057219A1 (ja) 2010-10-27 2012-05-03 株式会社牧野フライス製作所 工作機械の数値制御方法及び数値制御装置
JP2015156194A (ja) 2014-02-21 2015-08-27 三菱重工業株式会社 機械装置の制御装置及び摩擦補償用のゲイン決定方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414419A (zh) * 2013-08-07 2013-11-27 沈阳工业大学 基于模糊rbf网络滑模的双直线电机轮廓补偿装置与方法
CN104635621A (zh) * 2013-11-08 2015-05-20 沈阳高精数控技术有限公司 基于现场总线的xy工作台过象限凸起补偿方法
JP6544851B2 (ja) * 2015-03-31 2019-07-17 Dmg森精機株式会社 位置決め装置のパラメータ設定方法、及びパラメータ設定装置、並びにこのパラメータ設定装置を備えた位置決め装置
JP6106226B2 (ja) * 2015-07-31 2017-03-29 ファナック株式会社 ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法
JP6457369B2 (ja) * 2015-09-30 2019-01-23 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
JP6570957B2 (ja) * 2015-10-06 2019-09-04 Okk株式会社 機械構造体の幾何誤差同定方法と当該幾何誤差同定方法を使用した数値制御方法、数値制御装置及びマシニングセンタ
JP6193961B2 (ja) * 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225533A (ja) 2007-03-08 2008-09-25 Fanuc Ltd サーボ制御装置
JP2009106034A (ja) 2007-10-22 2009-05-14 Fanuc Ltd 学習制御機能を備えた電動機の制御装置
WO2012057219A1 (ja) 2010-10-27 2012-05-03 株式会社牧野フライス製作所 工作機械の数値制御方法及び数値制御装置
JP2015156194A (ja) 2014-02-21 2015-08-27 三菱重工業株式会社 機械装置の制御装置及び摩擦補償用のゲイン決定方法

Also Published As

Publication number Publication date
CN110083080A (zh) 2019-08-02
US10824121B2 (en) 2020-11-03
JP6697491B2 (ja) 2020-05-20
JP2019128830A (ja) 2019-08-01
US20190227502A1 (en) 2019-07-25
CN110083080B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102018204740B4 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102019204861B4 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018211682B4 (de) Maschinelle lernvorrichtung, numerische steuervorrichtung, numerisches steuersystem und maschinelles lernverfahren
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102018003769B4 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
EP2952988B1 (de) Verfahren zur Berechnung einer optimierten Trajektorie
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE112018000122T5 (de) Maschinelles-Lernen-Vorrichtung, Korrekturparameter-Anpassungssystem und Maschinelles-Lernen-Verfahren
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102012110227B4 (de) Motorsteuerungsvorrichtung mit Nullbereichsverarbeitung
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed