DE102019214994A1 - Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen - Google Patents

Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen Download PDF

Info

Publication number
DE102019214994A1
DE102019214994A1 DE102019214994.4A DE102019214994A DE102019214994A1 DE 102019214994 A1 DE102019214994 A1 DE 102019214994A1 DE 102019214994 A DE102019214994 A DE 102019214994A DE 102019214994 A1 DE102019214994 A1 DE 102019214994A1
Authority
DE
Germany
Prior art keywords
input
machine learning
output
unit
filter
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
DE102019214994.4A
Other languages
English (en)
Inventor
Ryoutarou TSUNEKI
Satoshi Ikai
Yuuki SHIRAKAWA
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 DE102019214994A1 publication Critical patent/DE102019214994A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0077Characterised by the use of a particular software algorithm
    • 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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Power Engineering (AREA)
  • Feedback Control In General (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

Ein Festlegen von Parametern, die Filtereigenschaften bestimmen, wird vereinfacht. Eine Maschinenlernvorrichtung 400 führt ein Maschinenlernen zum Optimieren von Koeffizienten von mindestens einem Filter aus, der in einer Servosteuerungsvorrichtung 100 bereitgestellt ist, die eine Drehung eines Motors 150 steuert. Der Filter ist ein Filter 130 zum Dämpfen einer bestimmten Frequenzkomponente. Die Koeffizienten des Filters werden auf der Basis von Messinformation einer Messvorrichtung 300 optimiert, die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-/Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung 100 auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung 100 misst.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung für maschinelles Lernen, die maschinelles Lernen zum Optimieren von Koeffizienten eines in einer Servosteuerungsvorrichtung bereitgestellten Filters ausführt, welche die Drehung eines Motors einer Werkzeugmaschine, eines Roboters oder einer industriellen Maschine steuert, und bezieht sich auf eine Steuerungsvorrichtung, die die Vorrichtung für maschinelles Lernen umfasst und ein Verfahren für maschinelles Lernen.
  • Verwandte Technik
  • Eine Vorrichtung, welche Eigenschaften eines Filters automatisch anpasst, ist beispielsweise in Patentdokument 1 und Patentdokument 2 offenbart. Patentdokument 1 offenbart einen Servoantrieb, der eine Geschwindigkeits-Rückkopplungsschleife aufweist, die die Geschwindigkeit eines Motors steuert und in welchem eine Sperrfiltereinheit in der Geschwindigkeits-Rückkopplungsschleife eingesetzt ist, um eine mechanische Resonanz zu entfernen, wobei der Servoantrieb umfasst: eine Datensammeleinrichtung, welche Daten erfasst, welche Frequenzantwortcharakteristika der Geschwindigkeits-Rückkopplungsschleife angeben; eine Einrichtung für ein gleitendes Mittel, die ein gleitendes Mittel der von der Datensammeleinrichtung erfassten Daten berechnet; eine Vergleichseinrichtung, welche die von der Einrichtung für ein gleitendes Mittel ermittelten Daten mit den von der Datensammeleinrichtung ermittelten Daten vergleicht, um die Resonanzcharakteristika der Geschwindigkeits-Rückkopplungsschleife zu extrahieren; und eine Sperrfilter-Einstelleinrichtung, welche die Frequenz und den Q-Wert der Sperrfiltereinheit auf Basis der von der Vergleichseinrichtung extrahierten Resonanzcharakteristika festlegt.
  • Patentdokument 2 offenbart einen Servoantrieb, der ein AC-Signal überlagert, das durch Sweep-Frequenzen auf einem Geschwindigkeits-Befehlswertssignal während eines Tuning-Modus erhalten wird, eine Amplitude eines Drehmoment-Befehlwertsignals detektiert, das von einer Geschwindigkeits-Steuerungseinheit als Ergebnis der Überlagerung erhalten wird, und die Frequenz des Drehmoment-Befehlwertsignals als Mittenfrequenz eines Sperrfilters festlegt, wenn sich die Änderungsrate der Amplitude von positiv nach negativ ändert.
  • Patentdokument 3 offenbart eine Motorsteuerungsvorrichtung umfassend einen Sperrfilter, der in der Lage ist, einen Sperrfilter-Parameter umfassend eine Sperrfrequenz und eine Sperrbreite zu ändern, eine Schwingungsfrequenz-Schätzeinheit, die eine Schwingungsfrequenz schätzt, und eine Sperrfilterparameter-Einstelleinheit, die eine Frequenz zwischen der Sperrfrequenz des Sperrfilters und der Schwingungsfrequenz als neue Sperrfrequenz festlegt und die Sperrbreite so ändert, dass eine ursprüngliche Sperrfrequenz-Komponente und eine geschätzte Frequenzkomponente gedämpft werden.
    • Patentdokument 1: japanische nichtgeprüfte Patentanmeldung, Veröffentlichung Nr. 2009-104439
    • Patentdokument 2: japanische nichtgeprüfte Patentanmeldung, Veröffentlichung Nr. H05-19858
    • Patentdokument 3: japanische nichtgeprüfte Patentanmeldung, Veröffentlichung Nr. 2008-312339
  • Zusammenfassung der Erfindung
  • Der in Patentdokument 1 offenbarte Servoantrieb stellt die Eigenschaften des Sperrfilters auf Basis von Frequenzantwortcharakteristika einer Geschwindigkeits-Rückkopplungsschleife ein. Der in Patentdokument 2 offenbarte Servoantrieb stellt die Eigenschaften des Sperrfilters unter Verwendung eines Drehmoment-Befehlwertsignals ein. In Patentdokument 3 wird eine Frequenz zwischen der Sperrfrequenz des Sperrfilters und der geschätzten Schwingungsfrequenz als neue Sperrfrequenz des Sperrfilter festgelegt, und die Sperrbreite wird so geändert, dass die ursprüngliche Sperrfrequenz-Komponente und die geschätzte Frequenzkomponente gedämpft werden, wodurch die Charakteristika des Sperrfilters eingestellt werden. Wenn die Charakteristika des Sperrfilters bestimmt werden, ist es jedoch notwendig, eine Vielzahl von Parametern, wie beispielsweise eine zentrale Frequenz eines zu entfernenden Bands und eine Bandbreite zu bestimmen, und es ist schwer, diese Parameter anzupassen, um einen optimalen Wert zu erhalten. Darüber hinaus ist es nicht möglich, eine Resonanz ausreichend zu unterdrücken, ohne dass diese Parameter geeignet eingestellt werden, und eine Phasenverzögerung einer Servosteuerungseinheit kann zunehmen und eine Servosteuerungsleistung kann sich verschlechtern.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung für maschinelles Lernen bereitzustellen, die in der Lage ist, optimale Parameter eines Filters, der zu einer Servosteuerungsvorrichtung gehört, festzulegen, eine Steuerungsvorrichtung umfassend die Vorrichtung für maschinelles Lernen, und ein Verfahren für maschinelles Lernen.
    • (1) Eine Vorrichtung für maschinelles Lernen gemäß vorliegender Erfindung ist eine Vorrichtung für maschinelles Lernen (beispielsweise eine nachfolgend zu beschreibende Maschinenlerneinheit 400), die ein Maschinenlernen zum Optimieren von Koeffizienten mindestens eines Filters ausführt, der in einer Servosteuerungsvorrichtung (beispielsweise einer nachfolgend zu beschreibenden Servosteuerungseinheit 100) bereitgestellt ist, die eine Drehung eines Motors (beispielsweise ein nachfolgend zu beschreibender Servomotor 150) steuert, wobei der Filter ein Filter (Beispiel ein nachfolgend zu beschreibender Filter 130) zum Dämpfen einer bestimmten Frequenzkomponente ist, und die Koeffizienten des Filters auf Basis von Messinformation einer Messvorrichtung (beispielsweise einer nachfolgend zu beschreibenden Messeinheit 300) optimiert werden, die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung misst.
    • (2) In der Vorrichtung für maschinelles Lernen gemäß (1) kann das Eingangssignal, dessen Frequenz sich ändert, eine sinusförmige Welle sein, deren Frequenz sich ändert, und die sinusförmige Welle kann durch eine Frequenzerzeugungsvorrichtung erzeugt werden und die Frequenzerzeugungsvorrichtung kann innerhalb oder außerhalb der Servosteuerungsvorrichtung bereitgestellt sein.
    • (3) Die Vorrichtung für maschinelles Lernen gemäß (1) oder (2) kann ferner umfassen: eine Zustandsinformations-Erfassungseinheit (beispielsweise eine später zu beschreibende Zustandsinformations-Erfassungseinheit 401), die eine die Messinformationen und die Koeffizienten des Filters umfassende Zustandsinformation erfasst; eine Handlungsinformations-Ausgabeeinheit (beispielsweise eine später zu beschreibende Handlungsinformations-Ausgabeeinheit 403), die eine Handlungsinformation umfassend eine Anpassungsinformation der in der Zustandsinformation des Filters umfassten Koeffizienten ausgibt; eine Belohnungs-Ausgabeeinheit (beispielsweise eine nachfolgend zu beschreibende Belohnungs-Ausgabeeinheit 4021), die einen Belohnungswert eines Verstärkungslernens basierend auf der Messinformation ausgibt; und eine Wertefunktions-Aktualisierungseinheit (beispielsweise eine später zu beschreibende Wertefunktions-Aktualisierungseinheit 4023), die eine Handlungswertefunktion auf der Basis des von der Belohnungs-Ausgabeeinheit (4021) ausgegebenen Belohnungswerts, der Zustandsinformation und der Handlungsinformation aktualisiert
    • (4) In der Vorrichtung für maschinelles Lernen gemäß (3) kann die Messinformation die Eingangs-/Ausgangs-Verstärkung und die Eingangs-/Ausgangs-Phasenverzögerung umfassen, und die Belohnungs-Ausgabeeinheit kann eine Belohnung basierend auf der Eingangs-/Ausgangs-Phasenverzögerung berechnen, wenn die Eingangs-/Ausgangs-Verstärkung der Servosteuerungsvorrichtung, die in der Messinformation enthalten ist, gleich der oder kleiner als die Eingangs-/Ausgangs-Verstärkung eines von den Eigenschaften der Servosteuerungsvorrichtung berechneten Eingangs-/Ausgangs-Verstärkungs-Standardmodells ist.
    • (5) in der Vorrichtung für maschinelles Lernen gemäß (4) kann die Eingangs-/Ausgangs-Verstärkung des Standardmodells ein konstanter Wert einer vorbestimmten Frequenz oder höher sein.
    • (6) In der Vorrichtung für maschinelles Lernen gemäß (4) oder (5) kann die Belohnungs-Ausgabeeinheit die Belohnung so berechnen, dass die Eingangs-/Ausgangs-Phasenverzögerung abnimmt.
    • (7) Die Vorrichtung für maschinelles Lernen gemäß einer von (3) bis (6) kann ferner umfassen: eine Optimierungshandlungsinformations-Ausgabeeinheit (beispielsweise eine Optimierungshandlungsinformations-Ausgabeeinheit 405), welche eine Anpassungsinformation der Koeffizienten auf der Basis einer von der Wertefunktions-Aktualisierungseinheit (4022) aktualisierten Wertefunktion ausgibt.
    • (8) Eine Steuerungsvorrichtung gemäß der vorliegenden Erfindung ist eine Steuerungsvorrichtung (beispielsweise eine nachfolgend zu beschreibende Steuerungsvorrichtung 10), umfassend: eine Vorrichtung für maschinelles Lernen (beispielsweise eine nachfolgend zu beschreibende Maschinenlerneinheit 400) gemäß einer von (1) bis (7); eine Servosteuerungsvorrichtung (beispielsweise eine später zu beschreibende Servosteuerungseinheit 100), die eine Drehung eines Motors steuert, die mindestens einen Filter zum Dämpfen einer bestimmten Frequenzkomponente aufweist; und eine Messvorrichtung (beispielsweise eine später zu beschreibende Messeinheit 300), die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-/Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung misst.
    • (9) Ein Verfahren für maschinelles Lernen gemäß der vorliegenden Erfindung ist ein Verfahren für maschinelles Lernen einer Vorrichtung für maschinelles Lernen (beispielsweise eine nachfolgend zu beschreibende Maschinenlerneinheit 400), die ein Maschinenlernen zum Optimieren von Koeffizienten mindestens eines in einer Servosteuerungsvorrichtung (beispielsweise eine später zu beschreibende Servosteuerungseinheit 100) bereitgestellten Filters ausführt, der eine Drehung eines Motors (beispielsweise ein später zu beschreiben der Servomotor 150) steuert, wobei die Koeffizienten des Filters auf der Basis von Messinformation einer Messvorrichtung (beispielsweise eine später zu beschreibende Messeinheit 300) optimiert werden, die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-/Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung misst.
  • Gemäß der vorliegenden Erfindung ist es möglich, eine Vorrichtung für maschinelles Lernen bereitzustellen, die in der Lage ist, optimale Parameter eines Filters, der zu einer Servosteuerungsvorrichtung gehört, festzulegen, eine Steuerungsvorrichtung umfassend die Vorrichtung für maschinelles Lernen, und ein Verfahren für maschinelles Lernen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Steuerungsvorrichtung umfassend eine Vorrichtung für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 2 ist ein Diagramm, das einen Geschwindigkeitsbefehl, der als ein Eingangssignal fungiert und eine Erfassungsgeschwindigkeit, die als ein Ausgangssignal fungiert, darstellt.
    • 3 ist ein Diagramm, welches die Frequenzcharakteristika eines Amplitudenverhältnisses und einer Phasenverzögerung zwischen einem Eingangssignal und einem Ausgangssignal darstellt.
    • 4 ist ein Blockdiagramm, dass eine Maschinenlerneinheit gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 5 ist ein Blockdiagramm, das als Modell zum Berechnen eines Standardmodells einer Eingangs-/Ausgangs-Verstärkung fungiert.
    • 6 ist ein Kennfeld, das die Frequenzcharakteristika einer Eingangs-/Ausgangs-Verstärkung einer Servosteuerungseinheit eines Standardmodells und einer Servosteuerungseinheit vor und nach einem Lernen darstellt.
    • 7 ist ein Kennfeld, das eine Beziehung zwischen einer Bandbreite eines Filters und einer Verstärkung und einer Phase darstellt.
    • 8 ist ein Kennfeld, das eine Beziehung zwischen einem Dämpfungskoeffizienten eines Filters und einer Verstärkung und einer Phase darstellt.
    • 9 ist ein Flussdiagramm, das einen Betrieb einer Maschinenlerneinheit während eines Q-Lernens gemäß der vorliegenden Ausführungsform darstellt.
    • 10 ist ein Flussdiagramm, das einen Betrieb einer Optimierungshandlungsinformations-Ausgabeeinheit einer Maschinenlerneinheit gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
    • 11 ist ein Blockdiagramm, das ein Beispiel darstellt, in welchem eine Vielzahl von Filtern direkt verbunden sind, um einen Filter zu bilden.
    • 12 ist ein Blockdiagramm, das ein anderes Konfigurationsbeispiel einer Steuerungsvorrichtung darstellt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Nachfolgend wird eine Ausführungsform der vorliegenden Erfindung detailliert mit Bezug zu den Zeichnungen beschrieben werden.
  • 1 ist ein Blockdiagramm, das eine Steuerungsvorrichtung umfassend eine Vorrichtung für maschinelles Lernen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Ein Steuerungsziel einer Steuerungsvorrichtung 10 ist beispielsweise eine Werkzeugmaschine, ein Roboter oder eine industrielle Maschine. Die Steuerungsvorrichtung 10 kann als Teil eines Steuerungsziels, wie beispielsweise einer Werkzeugmaschine, eines Roboters oder einer industriellen Maschine bereitgestellt sein.
  • Die Steuerungsvorrichtung 10 umfasst eine Servosteuerungseinheit 100, eine Frequenzerzeugungseinheit 200, eine Messeinheit 300 und eine Maschinenlerneinheit 400. Die Servosteuerungseinheit 100 entspricht einer Servosteuerungsvorrichtung, die Messeinheit 300 entspricht einer Messvorrichtung und die Maschinenlerneinheit 400 entspricht einer Vorrichtung für maschinelles Lernen. Eine oder zwei oder mehr von der Frequenzerzeugungseinheit 200, der Messeinheit 300 und der Maschinenlerneinheit 400 können in der Servosteuerungseinheit 100 bereitgestellt sein.
  • Die Servosteuerungseinheit 100 umfasst einen Subtrahierer 110, eine Geschwindigkeitssteuerungseinheit 120, einen Filter 130, eine Stromsteuerungseinheit 140 und einen Servomotor 150. Der Subtrahierer 110, die Geschwindigkeitssteuerungseinheit 120, der Filter 130, die Stromsteuerungseinheit 140 und der Servomotor 150 bilden eine Geschwindigkeits-Rückkopplungsschleife.
  • Der Subtrahierer 110 berechnet einen Unterschied zwischen einem angegebenen Geschwindigkeitsbefehl und einer rückgeführten erfassten Geschwindigkeit und gibt den Unterschied an die Geschwindigkeitssteuerungseinheit 120 als Geschwindigkeitsfehler aus.
  • Die Geschwindigkeitssteuerungseinheit 120 addiert einen Wert, den man durch Multiplizieren und Integrieren einer integralen Verstärkung K1v mit dem Geschwindigkeitsfehler erhält und einen Wert, den man durch Multiplizieren einer proportionalen Verstärkung K2v mit dem Geschwindigkeitsfehler erhält und gibt ein Additionsergebnis als Drehmomentbefehl an den Filter 130 aus.
  • Der Filter 130 ist ein Filter, der eine bestimmte Frequenzkomponente dämpft und es wird beispielsweise ein Sperrfilter eingesetzt. Eine Resonanzstelle ist in einer Maschine, wie beispielsweise einer von einem Motor angetriebenen Werkzeugmaschine, vorhanden und eine Resonanz kann in der Servosteuerungseinheit 100 zunehmen. Die Resonanz kann unter Verwendung des Sperrfilters verringert werden. Der Ausgang des Filters 130 wird zu der Stromsteuerungseinheit 140 als Drehmomentbefehl ausgegeben. Die Gleichung 1 (unten durch Math. 1 angegeben) gibt eine Übertragungsfunktion F(s) eines Sperrfilters als Filter 130 an. Der Parameter gibt die Koeffizienten ωc, τ und k an. Der Koeffizient k in Gleichung 1 ist ein Dämpfungskoeffizient, der Koeffizient ωc ist eine Mittenwinkelfrequenz und der Koeffizient τ ist eine spezifische Bandbreite. Wenn die Mittenfrequenz fc ist und die Bandbreite fw ist, wird der Koeffizient ωc als ωc =2πfc dargestellt, und der Koeffizient τ wird als τ=fw/fc dargestellt. F ( s ) = s 2 + 2 k τ ω c s + ω c 2 s 2 + 2 τ ω c s + ω c 2
    Figure DE102019214994A1_0001
  • Die Stromsteuerungseinheit 140 erzeugt einen Strombefehl zum Antreiben des Servomotors 150 auf der Basis eines Drehmomentbefehls und gibt den Strombefehl zu dem Motor 150 aus. Eine Drehwinkelposition des Servomotors 150 wird durch einen Drehencoder (nicht dargestellt), der in dem Servomotor 150 bereitgestellt ist, erfasst und der Geschwindigkeitserfassungswert wird in den Subtrahierer 110 als Geschwindigkeitsrückführung eingegeben. Die Servosteuerungseinheit 100 ist auf diese Weise konfiguriert und die Steuerungsvorrichtung 10 umfasst ferner die Frequenzerzeugungseinheit 200, die Messeinheit 300 und die Maschinenlerneinheit 400, um optimale Parameter des Filters maschinell zu lernen.
  • Die Frequenzerzeugungseinheit 200 gibt ein sinusförmiges Signal an den Subtrahierer 110 der Servosteuerungseinheit 100 und die Messeinheit 300 als einen Geschwindigkeitsbefehl aus, während eine Frequenz geändert wird.
  • Die Messeinheit 300 berechnet ein Amplitudenverhältnis (eine Eingangs-/Ausgangs-Verstärkung) und eine Phasenverzögerung zwischen einem Eingangssignal und einem Ausgangssignal für jede von Frequenzen, die durch den Geschwindigkeitsbefehl, der als das Eingangssignal fungiert, definiert werden, unter Verwendung des von der Frequenzerzeugungseinheit 200 erzeugten Geschwindigkeitsbefehls (einer sinusförmigen Welle) und einer Erfassungsgeschwindigkeit (einer sinusförmigen Welle), die als das von einem Drehencoder (nicht dargestellt) ausgegebene Ausgangssignal fungiert. 2 ist ein Diagramm, das einen Geschwindigkeitsbefehl darstellt, der als ein Eingangssignal fungiert und eine Erfassungsgeschwindigkeit, die als ein Ausgangssignal fungiert. 3 ist ein Diagramm, das Frequenzcharakteristika eines Amplitudenverhältnisses und einer Phasenverzögerung zwischen einem Eingangssignal und einem Ausgangssignal darstellt. Wie in 2 dargestellt, ändert sich die Frequenz des von der Frequenzerzeugungseinheit 200 ausgegebenen Geschwindigkeitsbefehls, und die Frequenzcharakteristika einer Eingangs-/Ausgangs-Verstärkung (ein Amplitudenverhältnis) und eine Phasenverzögerung werden, wie in 3 dargestellt, gewonnen.
  • Die Maschinenlerneinheit 400 führt ein Maschinenlernen (nachfolgend als Lernen bezeichnet) an den Koeffizienten ωc, τ und k einer Übertragungsfunktion des Filters 130 unter Verwendung der Eingangs-/Ausgangs-Verstärkung (des Amplitudenverhältnisses) und der Phasenverzögerung, ausgegeben von der Messeinheit 300, aus. Obwohl das Lernen der Maschinenlerneinheit 400 vor einem Versand ausgeführt wird, kann ein erneutes Lernen nach einem Versand ausgeführt werden. Nachfolgend wird die Maschinenlerneinheit 400 weiter detailliert beschrieben werden.
  • <Maschinenlerneinheit 400>
  • Obwohl in der nachfolgenden Beschreibung ein Fall beschrieben wird, in welchem die Maschinenlerneinheit 400 ein Verstärkungslernen ausführt, ist das von der Maschinenlerneinheit 400 ausgeführte Lernen nicht speziell auf ein Verstärkungslernen beschränkt, sondern die vorliegende Erfindung kann ebenfalls auf einen Fall angewendet werden, in welchem die Maschinenlerneinheit 400 beispielsweise ein überwachtes Lernen ausführt.
  • Vor der Beschreibung jeweiliger in der Maschinenlernvorrichtung 400 enthaltener funktionaler Blöcke wird zuerst ein grundlegender Mechanismus des Verstärkungslernens beschrieben werden. Ein Agent (entsprechend der Maschinenlernvorrichtung 400 in der vorliegenden Ausführungsform) beobachtet einen Umgebungszustand und wählt eine bestimmte Handlung aus. Dann ändert sich die Umgebung basierend auf der Handlung. Entsprechend der Umweltveränderung wird eine bestimmte Belohnung gegeben und der Agent lernt die Auswahl (Entscheidung) für eine bessere Handlung. Während ein betreutes Lernen eine vollständig korrekte Antwort liefert, liefert die Belohnung bei dem Verstärkungslernen oft einen fragmentarischen Wert basierend auf einer Änderung in einem Teil der Umgebung. Daher lernt der Agent eine Handlung so auszuwählen, dass die Gesamtbelohnung in Zukunft maximiert wird.
  • Auf diese Weise lernt das Verstärkungslernen ein Verfahren des Lernens einer geeigneten Handlung auf der Basis der gegenseitigen Auswirkung einer Handlung auf die Umwelt (das heißt, eine Handlung zur Maximierung der in der Zukunft zu erwartenden Belohnung) durch Lernen einer Handlung. Dies verkörpert, dass in der vorliegenden Ausführungsform solch eine Handlung, welche die Zukunft beeinflusst, erhalten wird, beispielsweise eine Handlung des Auswählens von Handlungsinformation zum Unterdrücken einer Schwingung eines Maschinenendes.
  • Obwohl ein beliebiges Lernverfahren als Verstärkungslernen verwendet werden kann, wird hier in der nachfolgenden Beschreibung ein Q-Lernen als Beispiel beschrieben werden, welches ein Verfahren des Lernens einer Wertfunktion Q(S, A) zum Auswählen einer Handlung A unter einen bestimmten Zustand S der Umgebung ist. Eine Aufgabe des Q-Lernens ist es, eine Handlung A, die die höchste Wertefunktion Q(S, A) aufweist, als eine optimale Handlung von Handlungen A auszuwählen, die in einem bestimmten Zustand S ausgeführt werden können.
  • Zu einem Startzeitpunkt, bei welchem das Q-Lernen beginnt, ist der korrekte Wert des Werts Q(S, A) für eine Kombination des Zustands S und der Handlung A jedoch überhaupt nicht bekannt. Deshalb lernt der Agent den korrekten Wert Q(S, A) durch Auswählen verschiedener Handlungen A unter einem bestimmten Zustand S und durch Vornehmen einer besseren Handlungsauswahl basierend auf Belohnungen, die für die ausgewählten Handlungen A gegeben werden.
  • Da der Agent die im Verlauf der Zukunft erhaltene Gesamtbelohnung maximieren möchte, zielt das Q-Lernen darauf ab, am Ende eine Beziehung von Q(S, A) = E [Σ(γt)rt] zu erreichen. Hier bezeichnet E [] einen Erwartungswert, t bezeichnet die Zeit, γ ist ein Parameter, der als später zu beschreibender Abschlagsfaktor bezeichnet wird, rt ist eine Belohnung zum Zeitpunkt t und Σ ist die Summe zum Zeitpunkt t. In dieser Gleichung ist der Erwartungswert ein Erwartungswert, als der Zustand gemäß einer optimalen Handlung geändert wurde. Da es jedoch nicht klar ist, welche Handlung bei dem Vorgang des Q-Lernens optimal wäre, wird ein Verstärkungslernen ausgeführt, während eine optimale Handlung durch Ausführen verschiedener Handlungen gesucht wird. Eine Aktualisierungsgleichung solch eines Werts Q(S, A) kann durch die nachfolgende Gleichung 2 (nachfolgend als Math. 2 bezeichnet) 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 DE102019214994A1_0002
  • In Gleichung 2 gibt St einen Zustand der Umgebung zum Zeitpunkt t an und At gibt eine Handlung zum Zeitpunkt t an. Durch die Handlung At ändert sich der Zustand zu St+1. rt+1 bezeichnet eine durch die Änderung in dem Zustand erhaltene Belohnung. Darüber hinaus ist ein Term mit max eine Multiplikation des Q-Werts mit γ, wenn eine Handlung A, die den höchsten zu diesem Moment bekannten Q-Wert aufweist, in dem Zustand St+1 ausgewählt wird. Hier ist γ ein Parameter von 0 < γ ≤ 1 und wird Abschlagsfaktor genannt. Darüber hinaus ist α ein Lernkoeffizient und liegt in dem Bereich von 0 < α ≤ 1.
  • Die Gleichung 2 gibt ein Verfahren des Aktualisierens eines Werts Q(St, At) einer Handlung At in einem Zustand St basierend auf einer Belohnung rt+1 an, die im Gegenzug ausgesetzt wurde, als die Handlung At ausgeführt wurde. Diese Aktualisierungsgleichung gibt an, dass, falls der Wert maxa Q(St+1, At) der besten Handlung in dem nächsten mit einer Handlung At verbundenen Zustand St+1 größer ist als der Wert Q(St, At) eine Handlung At in dem Zustand St, wird Q(St, At) erhöht, und andernfalls wird Q(St, At) gesenkt. Das heißt, der Wert einer bestimmten Handlung in einem bestimmten Zustand nähert sich dem Wert der besten Handlung in dem nächsten mit der Handlung verbundenen Zustand. Obwohl sich diese Differenz in Abhängigkeit von dem Abschlagsfaktor γ und der Belohnung rt+1 ändert, propagiert jedoch der Wert der besten Handlung in einem bestimmten Zustand im Wesentlichen zu dem Wert einer Handlung in einem Zustand vor diesem Zustand.
  • Hier ist ein Q-Lernverfahren zum Erzeugen einer Wertefunktions Q(S, A)-Tabelle für alle Zustands-Handlungs-Paare (S, A) bekannt, um ein Lernen auszuführen. Das Q-Lernen kann jedoch eine erheblich lange Zeit benötigen, um zu konvergieren, da die Anzahl der Zustände zu groß ist, um die Q(S, A)-Werte für alle Zustands-Handlungs-Paare zu berechnen.
  • Deshalb kann das Q-Lernen eine bestehende Technik, die als Deep Q-Network (DQN) genannt wird, einsetzen. Beim DQN wird genau gesagt der Wert des Werts Q(S, A) berechnet, indem eine Wertefunktion Q unter Verwendung eines geeigneten neuronalen Netzwerks erstellt wird und die Wertefunktion Q mit dem geeigneten neuronalen Netzwerk durch Anpassen der Parameter des neuronalen Netzwerks angenähert wird. Indem DQN verwendet wird, ist es möglich, die zur Konvergenz des Q-Lernens benötigte Zeit zu verkürzen. Die Details des DQN sind beispielsweise in dem nachfolgenden Nicht-Patentdokument offenbart.
  • <Nicht-Patentdokument>
  • „Human-level control through deep reinforcement learning“, Volodymyr Mnihl [online], [searched on January 17, 2017], Internet <URL:
    • http://files.davidgiu.com/research/nature14236.pdf>
  • Die Maschinenlerneinheit 400 führt das vorangehend beschriebene Q-Lernen aus. Genauer gesagt lernt die Maschinenlerneinheit 400 einen Wert Q zum Auswählen einer Handlung A des Anpassens der Werte der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130, die mit einem Zustand S verbunden sind, wobei der Zustand S die Werte der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 und die Eingangs-/Ausgangs-Verstärkung (das Amplitudenverhältnis) und die Phasenverzögerung, ausgegeben von der Messeinheit 300, enthält.
  • Die Maschinenlerneinheit 400 beobachtet die Zustandsinformation S einschließlich der Eingangs-/Ausgangs-Verstärkung (des Amplitudenverhältnisses) und der Phasenverzögerung für jede Frequenz, die von der Messeinheit 300 ermittelt wird, indem die Servosteuerungseinheit 100 unter Verwendung des Geschwindigkeitsbefehls angetrieben wird, welcher eine sinusförmige Welle ist, deren Frequenz sich auf der Basis der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 ändert, um die Handlung A zu bestimmen. Die Maschinenlerneinheit 400 empfängt eine Belohnung, wenn die Handlung A ausgeführt wird. Die Maschinenlerneinheit 400 sucht auf eine Versuchs-und-Irrtum-Weise nach der optimalen Handlung A, sodass die Gesamtbelohnung über den Verlauf der Zukunft maximiert wird. Dadurch kann die Maschinenlerneinheit 400 eine optimale Handlung A (das heißt, die optimalen Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130) bezüglich des Zustands S einschließlich der Eingangs-/Ausgangs-Verstärkung (des Amplitudenverhältnisses) und der Phasenverzögerung für jede Frequenz auswählen, erhalten von der Servosteuerungseinheit 100 unter Verwendung des Geschwindigkeitsbefehls, welcher eine sinusförmige Welle ist, deren Frequenz sich auf der Basis der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 ändert.
  • Das heißt, die Maschinenlerneinheit 400 kann solch eine Handlung A (das heißt, die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130) auswählen, die die Schwingung eines Maschinenendes minimiert, die erzeugt wird, wenn ein Bearbeitungsprogramm ausgeführt wird, indem solch eine Handlung A ausgewählt wird, die den Wert von Q unter den Handlungen A maximiert, die auf die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 verbunden mit einem bestimmten Zustand S angewendet werden, auf der Basis der von der Maschinenlerneinheit 400 gelernten Wertefunktion Q.
  • 4 ist ein Blockdiagramm, das die Maschinenlerneinheit 400 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie in 4 dargestellt, umfasst die Maschinenlerneinheit 400, um das vorangehend beschriebene Verstärkungslernen auszuführen, eine Zustandsinformations-Erfassungseinheit 401, eine Lerneinheit 402, eine Handlungsinformations-Ausgabeeinheit 403, eine Wertefunktions-Speichereinheit 404 und eine Optimierungshandlungsinformations-Ausgabeeinheit 405. Die Lerneinheit 402 umfasst eine Belohnungs-Ausgabeeinheit 4021, eine Wertefunktions-Aktualisierungseinheit 4022 und eine Handlungsinformations-Erzeugungseinheit 4023.
  • Die Zustandsinformations-Erfassungseinheit 401 erfasst den Zustand S einschließlich der Eingangs-/Ausgangs-Verstärkung (des Amplitudenverhältnisses) und der Phasenverzögerung, erhalten von dem Servomotor 150 unter Verwendung des Geschwindigkeitsbefehls (der sinusförmigen Welle) von der Messeinheit 300 auf der Basis der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130. Die Zustandsinformation S entspricht einem Umgebungszustand S bei dem Q-Lernen. Die Zustandsinformations-Erfassungseinheit 401 gibt die erfasste Zustandsinformation S an die Lerneinheit 402 aus.
  • Die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 zu einem Zeitpunkt, bei welchem das Q-Lernen ursprünglich beginnt, werden im Vorhinein von einem Benutzer erzeugt. In der vorliegenden Ausführungsform werden die ursprünglichen Einstellwerte der von dem Benutzer erzeugten Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 durch das Verstärkungslernen zu optimalen Werten angepasst. Wenn eine Werkzeugmaschine von einem Arbeiter im Vorhinein angepasst wird, können die angepassten Werte der Koeffizienten ωc, τ und k als Ausgangswerte maschinengelernt sein.
  • Die Lerneinheit 402 ist eine Einheit, welche die Werte Q(S, A) lernt, wenn eine bestimmte Handlung A unter einem bestimmten Umgebungszustand S ausgewählt wird.
  • Die Belohnungs-Ausgabeeinheit 4021 ist eine Einheit, die eine Belohnung berechnet, wenn die Handlung A unter einem bestimmten Zustand S ausgewählt wird. Die Belohnungs-Ausgabeeinheit 4021 vergleicht die Eingangs-/Ausgangs-Verstärkung Gs, die gemessen wird, wenn die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 korrigiert wurden, mit den Eingangs-/Ausgangs-Verstärkungen Gb der jeweiligen Frequenzen eines im Vorhinein eingestellten Standardmodells. Die Belohnungs-Ausgabeeinheit 4021 gibt eine negative Belohnung aus, wenn die gemessene Eingangs-/Ausgangs-Verstärkung Gs größer ist als die Eingangs-/Ausgangs-Verstärkung Gb des Standardmodells. Wenn auf der anderen Seite die gemessene Eingangs-/Ausgangs-Verstärkung Gs gleich oder geringer als die Eingangs-/Ausgangs-Verstärkung Gb des Standardmodells ist, gibt die Belohnungs-Ausgabeeinheit 4021 eine positive Belohnung aus, wenn die Phasenverzögerung sinkt, gibt eine negative Belohnung aus, wenn die Phasenverzögerung ansteigt und gibt eine Null-Belohnung aus, wenn sich die Phasenverzögerung nicht ändert.
  • Zuerst wird mit Bezug zu den 5 und 6 ein Vorgang der Belohnungs-Ausgabeeinheit 4021 beschrieben werden, die eine negative Belohnung ausgibt, wenn die gemessene Eingangs-/Ausgangs-Verstärkung Gs größer ist als die Eingangs-/Ausgangs-Verstärkung Gb des Standardmodells. Die Belohnungs-Ausgabeeinheit 4021 speichert das Standardmodell der Eingangs-/Ausgangs-Verstärkung. Ein Standardmodell ist ein Modell einer Servosteuerungseinheit, die ideale Eigenschaften ohne Resonanz aufweist. Das Standardmodell kann aus der Trägheit Ja, einer Drehmomentkonstante Kt , einer proportionalen Verstärkung KP , einer integralen Verstärkung Kl und einer differenziellen Verstärkung KD des in 5 dargestellten Modells berechnet werden. Die Trägheit Ja ist ein Additionswert einer Motorträgheit und einer Maschinenträgheit. 6 ist eine Kennlinie, die Frequenzcharakteristika der Eingangs-/Ausgangs-Verstärkungen einer Servosteuerungseinheit eines Standardmodells und der Servosteuerungseinheit 100 vor und nach einem Lernen darstellt. Wie in dem Kennfeld von 6 dargestellt, weist das Standardmodell einen Bereich A auf, welcher ein Frequenzbereich ist, in welchem eine Eingangs-/Ausgangs-Verstärkung gleich wie oder größer als eine bestimmte Eingangs-/Ausgangs-Verstärkung (beispielsweise eine ideale Eingangs-/Ausgangs-Verstärkung von -20 dB) ist und einen Bereich B, welcher ein Frequenzbereich ist, in welchem eine Eingangs-/Ausgangs-Verstärkung kleiner ist als die bestimmte Eingangs-/Ausgangs-Verstärkung. In dem Bereich A von 6 wird eine ideale Eingangs-/Ausgangs-Verstärkung des Standardmodells durch eine Kurve MC1 angegeben (eine dicke Linie). In dem Bereich B von 6 wird eine ideale imaginäre Eingangs-/Ausgangs-Verstärkung des Standardmodells durch eine Kurve MC11 (eine dicke unterbrochene Linie) angegeben und die Eingangs-/Ausgangs-Verstärkung des Standardmodells wird durch eine gerade Linie MC12 (eine dicke Linie) als ein konstanter Wert angegeben. In den Bereichen A und B von 6 werden die Kurven der Eingangs-Ausgangs-Verstärkungen der Servosteuerungseinheit vor und nach einem Lernen durch die Kurven RC1 bzw. RC2 angegeben.
  • In dem Bereich A gibt die Belohnungs-Ausgabeeinheit 4021 eine erste negative Belohnung aus, wenn die Kurve RC1 vor einem Lernen der gemessenen Eingangs-/Ausgangs-Verstärkung die Kurve MC1 der idealen Eingangs-/Ausgangs-Verstärkung des Standardmodells übersteigt. In dem Bereich B, der über eine Frequenz hinausgeht, bei welcher die Eingangs-/Ausgangs-Verstärkung ausreichend gering wird, ist der Einfluss auf die Stabilität gering, selbst wenn die Kurve RC1 der Eingangs-/Ausgangs-Verstärkung vor einem Lernen die Kurve MC11 der idealen imaginären Eingangs-/Ausgangs-Verstärkung des Standardmodells übersteigt. Deshalb verwendet die Eingangs-/Ausgangs-Verstärkung des Standardmodells in dem Bereich B, wie vorangehend beschrieben, eher die gerade Linie MC12 der Eingangs-/Ausgangs-Verstärkung (beispielsweise -20 dB) des konstanten Werts als die Kurve MC11 der idealen Verstärkungscharakteristika. Als Belohnung wird jedoch der erste negative Wert ausgegeben, da die Möglichkeit besteht, instabil zu werden, wenn die Kurve RC1 der gemessenen Eingangs-/Ausgangs-Verstärkung vor einem Lernen die gerade Linie MC12 der Eingangs-/Ausgangs-Verstärkung des konstanten Werts übersteigt.
  • Als nächstes wird ein Vorgang der Belohnungs-Ausgabeeinheit 4021 beschrieben werden, die eine Belohnung basierend auf der Phasenverzögerungs-Information bestimmt, wenn die gemessene Eingangs-/Ausgangs-Verstärkung Gs gleich wie oder geringer als die Eingangs-/Ausgangs-Verstärkung Gb des Standardmodells ist. In der nachfolgenden Beschreibung wird eine Phasenverzögerung, welche eine Zustandsvariable ist, die auf die Zustandsinformation S bezogen ist, als D(S) definiert und eine Phasenverzögerung, welches eine Zustandsvariable ist, die auf einen Zustand S' bezogen ist, der von dem Zustand S durch die Handlungsinformation A (Korrekturen der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130) geändert wurde, wird als D(S') definiert.
  • Die folgenden drei Verfahren können beispielsweise als Verfahren für die Belohnungs-Ausgabeeinheit 4021 verwendet werden, die eine Belohnung basierend auf der Phasenverzögerungs-Information bestimmt. Ein erstes Verfahren ist ein Verfahren zum Bestimmen einer Belohnung auf der Basis, ob eine Frequenz, bei der die Phasenverzögerung 180° beträgt, steigen, sinken oder dieselbe bleiben wird, wenn sich der Zustand S zu dem Zustand S' ändert. Obwohl in diesem Beispiel ein Fall herangezogen wird, in welchem die Phasenverzögerung 180° beträgt, ist der Winkel nicht speziell auf 180° beschränkt, sondern es kann ein anderer Wert verwendet werden. Wenn beispielsweise eine Phasenverzögerung als ein in 3 dargestelltes Zustandsdiagramm repräsentiert wird und sich der Zustand S zu dem Zustand S' ändert, erhöht sich die Phasenverzögerung, falls sich die Kurve (in der Richtung X2 in 3) so ändert, dass die Frequenz, bei der die Phasenverzögerung 180° beträgt, sinkt. Wenn sich auf der anderen Seite der Zustand S zu dem Zustand S' ändert, sinkt die Phasenverzögerung, falls sich die Kurve (in der Richtung X1 in 3) so ändert, dass die Frequenz, bei der die Phasenverzögerung 180° beträgt, steigt.
  • Deshalb wird definiert, dass wenn sich der Zustand S zu dem Zustand S' ändert und die Frequenz, bei der die Phasenverzögerung 180° beträgt, sinkt, die Phasenverzögerung D(S) < Phasenverzögerung D(S') ist und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen zweiten negativen Wert. Der Betrag des zweiten negativen Werts ist geringer als der des ersten negativen Werts. Wenn sich auf der anderen Seite der Zustand S zu dem Zustand S' ändert und die Frequenz, bei der die Phasenverzögerung 180° beträgt, steigt, wird definiert, dass die Phasenverzögerung D(S) > Phasenverzögerung D(S') ist und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen positiven Wert. Wenn sich darüber hinaus der Zustand S zu dem Zustand S' ändert und die Frequenz, bei der die Phasenverzögerung 180° beträgt, dieselbe bleibt, wird definiert, dass die Phasenverzögerung D(S) = Phasenverzögerung D(S') ist und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf Null.
  • Ein zweites Verfahren ist ein Verfahren zum Bestimmen einer Belohnung auf der Basis, ob ein Betrag einer Phasenverzögerung, wenn die Eingangs-/Ausgangs-Verstärkung 0 dB passiert, ansteigen, abfallen oder dieselbe bleiben wird, wenn sich der Zustand S zu dem Zustand S' ändert. Wenn beispielsweise die Eingangs-/Ausgangs-Verstärkung als ein in 3 dargestelltes Verstärkungsdiagramm repräsentiert wird, beträgt in dem Zustand S eine Phasenverzögerung des in 3 dargestellten Phasendiagramms, die einem Punkt (nachfolgend als „Null-Passierpunkt“ bezeichnet) entspricht, der 0 dB passiert, -90°.
  • Wenn sich der Zustand S zu dem Zustand S' ändert und der Betrag der Phasenverzögerung bei dem 0-Passierpunkt ansteigt, wird definiert, dass die Phasenverzögerung D(S) < Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen zweiten negativen Wert. Wenn sich auf der anderen Seite der Zustand S zu dem Zustand S' ändert und der Betrag der Phasenverzögerung bei dem 0-Passierpunkt sinkt, wird definiert, dass die Phasenverzögerung D(S) > Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen positiven Wert. Wenn sich darüber hinaus der Zustand S zu dem Zustand S' ändert und der Betrag der Phasenverzögerung bei dem 0-Passierpunkt derselbe bleibt, wird definiert, dass die Phasenverzögerung D(S) = Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf Null.
  • Ein drittes Verfahren ist ein Verfahren zum Bestimmen einer Belohnung auf der Basis, ob ein Phasenbereich ansteigen, abfallen oder derselbe bleiben wird, wenn sich der Zustand S zu dem Zustand S' ändert. Ein Phasenbereich gibt einen Winkelabstand einer Phase von 180° an, wenn die Verstärkung 0 dB beträgt. Da beispielsweise in 3 die Phase -90° beträgt, wenn die Verstärkung 0 dB beträgt, beträgt der Phasenbereich 90°. Wenn sich der Zustand S zu dem Zustand S' ändert und der Phasenbereich abfällt, wird definiert, dass die Phasenverzögerung D(S) < Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen zweiten negativen Wert. Wenn sich der Zustand S auf der anderen Seite zu dem Zustand S' ändert und der Phasenbereich steigt, wird definiert, dass die Phasenverzögerung D(S) > Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen positiven Wert. Wenn sich der Zustand S darüber hinaus zu dem Zustand S' ändert und sich der Phasenbereich nicht ändert, wird definiert, dass die Phasenverzögerung D(S) = Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf eine Null.
  • Darüber hinaus kann der negative Wert, wenn definiert wird, dass die Phasenverzögerung D(S') des Zustands S' nach Ausführung der Handlung A größer ist als die Phasenverzögerung D(S) des vorangehenden Zustands S, gemäß einer Proportion ansteigen. Beispielsweise kann in dem ersten Verfahren der negative Wert gemäß dem Ausmaß des Abfallens der Frequenz ansteigen. Im Gegensatz dazu kann der positive Wert, wenn definiert wird, dass die Phasenverzögerung D(S') des Zustands S' nach Ausführung der Handlung A geringer ist als die Phasenverzögerung D(S) des vorangehenden Zustands S, gemäß einer Proportion ansteigen. Beispielsweise kann der positive Wert in dem ersten Verfahren in Übereinstimmung mit dem Ausmaß des Ansteigens der Frequenz ansteigen.
  • Die Wertefunktions-Aktualisierungseinheit 4022 aktualisiert die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q, indem Q-Lernen auf der Basis des Zustands S, der Handlung A, des Zustands S' als die Handlung A auf den Zustand S angewendet wurde, und den auf diese Weise berechneten Belohnungswert ausgeführt wird. Das Aktualisieren der Wertefunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen durchgeführt werden. Online-Lernen ist eine Lernmethode des Anwendens einer bestimmten Handlung A auf einen gegenwärtigen Zustand S und des sofortigen Aktualisierens der Wertefunktion Q, wenn der gegenwärtige Zustand S zu einem neuen Zustand S' übergeht. Batch-Lernen ist eine Lernmethode des Anwendens einer bestimmten Handlung A auf einen gegenwärtigen Zustand S und des wiederholten Erreichens des Übergehens von dem Zustand S zu einem neuen Zustand S', des Sammelns von Lerndaten und des Aktualisierens der Wertefunktion Q unter Verwendung aller gesammelter Lerndaten. Mini-Batch-Lernen ist eine Lernmethode, die sich zwischen dem Online-Lernen und dem Batch-Lernen befindet und ein Aktualisieren der Wertefunktion Q beinhaltet, wenn eine bestimmte Menge von Lerndaten gesammelt ist.
  • Die Handlungsinformations-Erzeugungseinheit 4023 wählt die Handlung A in dem Prozess des Q-Lernens bezüglich des gegenwärtigen Zustands S aus. Die Handlungsinformations-Erzeugungseinheit 4023 erzeugt Handlungsinformation A und gibt die erzeugte Handlungsinformation A an die Handlungsinformations-Ausgabeeinheit 403 aus, um einen Vorgang (entsprechend der Handlung A des Q-Lernens) des Korrigierens der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 in dem Prozess des Q-Lernens auszuführen. Genau gesagt addiert oder subtrahiert die Handlungsinformations-Erzeugungseinheit 4023 beispielsweise die in der Handlung A enthaltenen Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 inkrementell bezüglich der in dem Zustand S enthaltenen Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130.
  • Wenn die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 erhöht oder vermindert werden, der Zustand S in den Zustand S' übergeht und eine Plus-Belohnung (eine positive Belohnung) im Gegenzug ausgelobt wird, kann die Handlungsinformations-Erzeugungseinheit 4023 eine Strategie zum Auswählen solch einer Aktion A' auswählen, welche die gemessene Phasenverzögerung weiter verringert, um geringer als die vorangehende Phasenverzögerung zu sein, um als nächste Handlung A' die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 ähnlich zu der vorangehenden Handlung inkrementell zu erhöhen oder zu verringern.
  • Wenn im Gegensatz dazu eine Minus-Belohnung (eine negative Belohnung) im Gegenzug ausgelobt wird, kann die Handlungsinformations-Erzeugungseinheit 4023 beispielsweise eine Strategie des Auswählens solch einer Aktion A' auswählen, welche die Differenz der Eingangsverstärkung weiter verringert, um geringer als die vorangehende Differenz zu sein, wenn die gemessene Eingangs-/Ausgangs-Verstärkung größer ist als die Eingangs-/Ausgangs-Verstärkung des Standardmodells oder die gemessene Phasenverzögerung weiter verringert, um kleiner als die vorangehende Phasenverzögerung zu sein, um als nächste Handlung A' die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 entgegengesetzt zu der vorangehenden Handlung inkrementell zu erhöhen oder zu verringern.
  • Es können alle Koeffizienten ωc, τ und k korrigiert werden und es können ein paar Koeffizienten korrigiert werden. Es ist leicht, die Mittenfrequenz fc zu finden, bei der Resonanz auftritt und es ist leicht, die Mittenfrequenz fc zu spezifizieren. Aus diesem Grund kann die Handlungsinformations-Erzeugungseinheit 4023 die Handlungsinformation A erzeugen und die erzeugte Handlungsinformation A an die Handlungsinformations-Ausgabeeinheit 403 ausgeben, um einen Vorgang des temporären Festlegens der Mittenfrequenz fc auszuführen und die Bandbreite fw und den Dämpfungskoeffizienten k (das heißt, den Koeffizienten ωc (=2πfc) festzulegen und den Koeffizienten τ (=fw/fc) und den Dämpfungskoeffizienten k zu korrigieren) zu korrigieren. Wie in 7 dargestellt, ändern sich die Charakteristika (wie beispielsweise eine Verstärkung und eine Phase) des Filters 130 in Abhängigkeit von der Bandbreite fw des Filters 130. In 7 gibt eine Strichlinie einen Fall an, in welchem die Bandbreite fw groß ist und eine durchgezogene Linie gibt einen Fall an, in welchem die Bandbreite fw gering ist. Wie in 8 darüber hinaus dargestellt ist, ändern sich die Charakteristika (wie beispielsweise eine Verstärkung und eine Phase) des Filters 130 in Abhängigkeit von dem Dämpfungskoeffizienten k des Filters 130. In 8 gibt eine Strichlinie einen Fall an, in welchem der Dämpfungskoeffizient k klein ist und eine durchgezogene Linie gibt einen Fall an, in welchem der Dämpfungskoeffizient k groß ist.
  • Die Handlungsinformations-Erzeugungseinheit 4023 kann eine Strategie des Auswählens der Handlung A' entsprechend einem bekannten Verfahren auswählen, wie beispielsweise einem Greedy-Verfahren des Auswählens seiner Handlung A', welche die höchste Wertefunktion Q(S, A) unter den Werten der gegenwärtig geschätzten Handlungen A aufweist und einem ε-Greedy-Verfahren des zufälligen Auswählens eine Handlung A' mit einer bestimmten geringen Wahrscheinlichkeit ε und des Auswählens einer Handlung A', welche die höchste Wertefunktion Q(S, A) in anderen Fällen aufweist.
  • Die Handlungsinformations-Ausgabeeinheit 403 ist eine Einheit, welche die von der Lerneinheit 402 ausgegebene Handlungsinformation A zu dem Filter 130 überträgt. Wie vorangehend beschrieben, stellt der Filter 130 den gegenwärtigen Zustand S (das heißt, die gegenwärtig festgelegten Koeffizienten ωc, τ und k) basierend auf der Handlungsinformation fein ein, um damit zu dem nächsten Zustand S' (das heißt, die korrigierten Koeffizienten des Filters 130) überzugehen.
  • Die Wertefunktions-Speichereinheit 404 ist eine Speichervorrichtung, welche die Wertefunktion Q speichert. Die Wertefunktion Q kann beispielsweise als Tabelle (nachfolgend als Handlungswerttabelle bezeichnet) für jeden Zustand S und jede Handlung A gespeichert werden. Die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q wird von der Wertefunktions-Aktualisierungseinheit 4022 aktualisiert. Darüber hinaus kann die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q mit anderen Maschinenlerneinheiten 400 geteilt werden. Wenn die Wertefunktion Q von einer Vielzahl von Maschinenlerneinheiten 400 geteilt wird, ist es möglich, die Effizienz des Verstärkungslernens zu verbessern, da das Verstärkungslernen in einer Weise ausgeführt werden kann, in welcher es auf die jeweiligen Maschinenlerneinheit 400 verteilt wird.
  • Die Optimierungshandlungsinformations-Ausgabeeinheit 405 erzeugt die Handlungsinformation A (nachfolgend als „Optimierungshandlungsinformation“ bezeichnet), um den Filter 130 dazu zu veranlassen, einen Vorgang des Maximierens des Werts Q(S, A) basierend auf der von der das Q-Lernen ausführenden Wertefunktions-Aktualisierungseinheit 4022 aktualisierten Wertefunktion Q auszuführen. Genauer gesagt bezieht die Optimierungshandlungsinformations-Ausgabeeinheit 405 die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q. Wie vorangehend beschrieben, wird die Wertefunktion Q von der Wertefunktions-Aktualisierungseinheit 4022, die das Q-Lernen ausführt, aktualisiert. Die Optimierungshandlungsinformations-Ausgabeeinheit 405 erzeugt die Handlungsinformation auf Basis der Wertefunktion Q und gibt die erzeugte Handlungsinformation an den Filter 130 aus. Die Optimierungshandlungsinformation umfasst Information, welche die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 ähnlich wie die Handlungsinformation, welche die Handlungsinformations-Ausgabeeinheit 403 bei dem Vorgang des Q-Lernens ausgibt, korrigiert.
  • In dem Filter 130 werden die Koeffizienten ωc, τ und k der Übertragungsfunktion basierend auf der Handlungsinformation korrigiert. Mit den vorangehend beschriebenen Vorgängen kann die Maschinenlerneinheit 400 die Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 optimieren und so betreiben, dass eine Schwingung eines Maschinenendes verhindert wird. Wie vorangehend beschrieben ist es möglich, ein Einstellen der Parameter des Filters 130 unter Verwendung der Maschinenlerneinheit 400 gemäß der vorliegenden Erfindung zu vereinfachen.
  • Voranstehend sind Funktionsblöcke, die in der Steuerungsvorrichtung 10 enthalten sind, beschrieben worden. Um diese Funktionsblöcke zu verwirklichen, umfasst die Steuerungsvorrichtung 10 eine arithmetische Verarbeitungseinheit, wie beispielsweise eine Zentraleinheit (CPU). Die Steuerungsvorrichtung 10 umfasst ferner eine Hilfsspeichervorrichtung, wie beispielsweise ein Festplattenlaufwerk (HDD) zum Speichern verschiedener Steuerungsprogramme wie beispielsweise einer Anwendungssoftware oder eines Betriebssystems (OS) und eine Hauptspeichervorrichtung wie beispielsweise einen Arbeitsspeicher (RAM) zum Speichern von Daten, die temporär benötigt werden, wenn die arithmetische Verarbeitungseinheit ein Programm ausführt.
  • In der Steuerungsvorrichtung 10 liest die arithmetische Verarbeitungsvorrichtung eine Anwendung und ein OS von der Hilfsspeichervorrichtung und entwickelt die gelesene Anwendungssoftware und das OS in der Hauptspeichervorrichtung, um eine arithmetische Verarbeitung basierend auf der gelesenen Anwendungssoftware und dem OS auszuführen. Basierend auf dem arithmetischen Ergebnis steuert die arithmetische Verarbeitungsvorrichtung ebenfalls verschiedene Arten von Hardware, die in jeder Vorrichtung bereitgestellt sind. Auf diese Weise werden die Funktionsblöcke der vorliegenden Ausführungsform verwirklicht. Das heißt, die vorliegende Ausführungsform kann durch ein Zusammenwirken von Hardware und Software verwirklicht werden.
  • Da die Maschinenlerneinheit 400 eine große Berechnungsmenge in Zusammenhang mit dem Maschinenlernen umfasst, können Grafikprozessoren (GPUs) auf einem PC montiert werden und zur arithmetischen Verarbeitung in Zusammenhang mit dem Maschinenlernen und Verwendung einer Technik verwendet werden, die Allzweck-Berechnung auf Grafikprozessoreinheiten (GPGPUs) genannt wird. Auf diese Weise kann eine Hochgeschwindigkeitsbearbeitung ausgeführt werden. Damit die Maschinenlerneinheit 400 eine Verarbeitung mit höherer Geschwindigkeit ausführt, kann darüber hinaus ein Rechnercluster unter Verwendung einer Vielzahl von mit solcher GPUs ausgestatteter Computer aufgebaut werden und die in dem Computercluster enthaltene Vielzahl von Computer können ein paralleles Verarbeiten ausführen.
  • Als nächstes wird ein Betrieb der Maschinenlerneinheit 400 während eines Q-Lernens gemäß der vorliegenden Ausführungsform mit Bezug zu den Flussdiagrammen von 9 beschrieben werden.
  • In Schritt S11 bezieht die Zustandsinformations-Erfassungseinheit 401 die Ursprungszustandsinformation S von der Servosteuerungseinheit 100 und der Frequenzerzeugungseinheit 200. Die bezogene Zustandsinformation S wird an die Wertefunktions-Aktualisierungseinheit 4022 und die Handlungsinformations-Erzeugungseinheit 4023 ausgegeben. Wie vorangehend beschrieben, ist die Zustandsinformation S Information, die einem Zustand beim Q-Lernen entspricht.
  • Die Eingangs-/Ausgangs-Verstärkung (das Amplitudenverhältnis) Gs(S0) und die Phasenverzögerung D(So) in dem Zustand S0 zu einem Zeitpunkt, bei welchem das Q-Lernen beginnt, werden anfänglich von der Messeinheit 300 durch Antreiben der Servosteuerungseinheit 100 unter Verwendung des Geschwindigkeitsbefehls, welcher eine sinusförmigen Welle ist, deren Frequenz sich ändert, ermittelt. Der Geschwindigkeitsbefehl und die Erfassungsgeschwindigkeit werden in die Messeinheit 300 eingegeben und die von der Messeinheit 300 ausgegebene Eingangs-/Ausgangs-Verstärkung (das Amplitudenverhältnis) Gs(S0) und die Phasenverzögerung D(So) werden als Ursprungszustandsinformation in die Zustandsinformations-Erfassungseinheit 401 eingegeben. Die Startwerte der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 werden im Vorhinein von einem Benutzer erzeugt und die Startwerte der Koeffizienten ωc, τ und k werden der Zustandsinformations-Erfassungseinheit 401 als Ursprungszustandsinformation übermittelt.
  • In Schritt S12 erzeugt die Handlungsinformations-Erzeugungseinheit 4023 neue Handlungsinformation A und gibt die erzeugte neue Handlungsinformation A an den Filter 130 über die Handlungsinformations-Ausgabeeinheit 403 aus. Die Handlungsinformations-Erzeugungseinheit 4023 gibt die neue Handlungsinformation A basierend auf der vorangehend beschriebenen Strategie aus. Die Servosteuerungseinheit 100, welche die Handlungsinformation A empfangen hat, treibt den Servomotor 127 unter Verwendung des Geschwindigkeitsbefehls an, welcher die sinusförmige Welle ist, deren Frequenz sich gemäß dem Zustand S' ändert, der durch Korrigieren der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130, die dem gegenwärtigen Zustand S zugeordnet sind, auf Basis der empfangenen Handlungsinformation erhalten wird. Wie vorangehend beschrieben, entspricht die Handlungsinformation der Handlung A beim Q-Lernen.
  • In Schritt S13 ermittelt die Zustandsinformations-Erfassungseinheit 401 die Eingangs-/Ausgangs-Verstärkung (das Amplitudenverhältnis) Gs(S') und die Phasenverzögerung D(S') in dem neuen Zustand S' und die Koeffizienten ωc, τ und k der Übertragungsfunktion von dem Filter 130 als neue Zustandsinformation. Die ermittelte neue Zustandsinformation wird an die Belohnungs-Ausgabeeinheit 4021 ausgegeben.
  • In Schritt S14 bestimmt die Belohnungs-Ausgabeeinheit 4021, ob die Eingangs-/Ausgangs-Verstärkung Gs(S') von jeder Frequenz in dem Zustand S' gleich oder kleiner als die Eingangs-/Ausgangs-Verstärkung Gb von jeder Frequenz in dem Standardmodell ist. Wenn die Eingangs-/Ausgangs-Verstärkung Gs (S') von jeder Frequenz größer als die Eingangs-/Ausgangs-Verstärkung Gb von jeder Frequenz des Standardmodells ist (Schritt S14: Nein), setzt die Belohnungs-Ausgabeeinheit 4021 die Belohnung auf einen ersten negativen Wert in Schritt S15 und kehrt zu Schritt S12 zurück.
  • Wenn die Eingangs-/Ausgangs-Verstärkung Gs(S') von jeder Frequenz in dem Zustand S' gleich wie oder kleiner als die Eingangs-/Ausgangs-Verstärkung Gb von jeder Frequenz in dem Standardmodell ist (Schritt S14: ja), gibt die Belohnungs-Ausgabeeinheit 4021 eine positive Belohnung aus, wenn die Phasenverzögerung D(S') kleiner ist als die Phasenverzögerung D(S), gibt einen negativen Wert aus, wenn die Phasenverzögerung D(S') größer ist als die Phasenverzögerung D(S) und gibt eine Null-Belohnung aus, wenn die Phasenverzögerung D(S') dieselbe wie die Phasenverzögerung D(S) bleibt. Obwohl beispielsweise drei Verfahren als ein Verfahren zum Bestimmen der Belohnung verwendet werden können, so dass die Phasenverzögerung wie vorangehend beschrieben abnimmt, wird ein Fall beschrieben werden, in welchem das erste Verfahren angewendet wird. In Schritt S16, speziell wenn sich der Zustand S zu dem Zustand S' in dem Phasendiagramm in 3 beispielsweise ändert und die Frequenz, bei welcher die Phasenverzögerung 180° beträgt, abnimmt, wird definiert, dass die Phasenverzögerung D(S) < Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen zweiten negativen Wert in Schritt S17. Der Betrag des zweiten negativen Werts ist kleiner als der des ersten negativen Werts. Wenn sich der Zustand S zu dem Zustand S' ändert und die Frequenz, bei der die Phasenverzögerung 180° beträgt, ansteigt, wird definiert, dass die Phasenverzögerung D(S) > Phasenverzögerung D(S') ist, und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf einen positiven Wert in Schritt S18. Wenn sich der Zustand S darüber hinaus zu dem Zustand S' ändert und die Frequenz, bei der die Phasenverzögerung 180° beträgt, dieselbe bleibt, wird definiert, dass die Phasenverzögerung D(S) = Phasenverzögerung D(S'), und die Belohnungs-Ausgabeeinheit 4021 setzt die Belohnung auf Null in Schritt S19.
  • Wenn einer der Schritte S17, S18 und S19 endet, aktualisiert die Wertefunktions-Aktualisierungseinheit 4022 in Schritt S20 die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q auf der Basis des Werts der in einem der Schritte berechneten Belohnung. Danach kehrt der Verlauf wieder zurück zu Schritt S11 und der vorangehend beschriebene Vorgang wird wiederholt, wobei sich die Wertefunktion Q auf einen geeigneten Wert einstellt. Der Vorgang kann unter der Bedingung enden, dass der vorangehend beschriebene Vorgang für einen vorbestimmten Zeitraum wiederholt wird. Obwohl in Schritt S20 ein Online-Aktualisieren beispielhaft erläutert wird, kann anstelle des Online-Aktualisierens ein Batch-Aktualisieren oder ein Mini-Batch-Aktualisieren ausgeführt werden.
  • Aufgrund der bezüglich 9 beschriebenen Vorgänge ist es gemäß der vorliegenden Ausführungsform möglich, eine geeignete Wertefunktion zum Einstellen der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 zu erhalten und die Optimierung der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130 unter Verwendung der Maschinenlerneinheit 400 zu vereinfachen. Als nächstes wird ein Vorgang während eines Erzeugens der Optimierungshandlungsinformation durch die Optimierungshandlungsinformations-Ausgabeeinheit 405 mit Bezug zu dem Flussdiagramm von 10 beschrieben werden. Als erstes bezieht die Optimierungshandlungsinformations-Ausgabeeinheit 405 die in der Wertefunktions-Speichereinheit 404 gespeicherte Wertefunktion Q. Wie vorangehend beschrieben, wird die Wertefunktion Q von der Wertefunktions-Aktualisierungseinheit 4023, die das Q-Lernen ausführt, aktualisiert.
  • In Schritt S22 erzeugt die Optimierungshandlungsinformations-Ausgabeeinheit 405 die Optimierungshandlungsinformation basierend auf der Wertefunktion Q und gibt die erzeugte Optimierungshandlungsinformation an den Filter 130 aus.
  • Aufgrund der bezüglich 10 beschriebenen Vorgänge ist es in der vorliegenden Ausführungsform möglich, die Optimierungshandlungsinformation basierend auf der Wertefunktion Q, die durch das Lernen der Maschinenlerneinheit 400 erhalten wird, zu erzeugen, die Einstellung der Koeffizienten ωc, τ und k der Übertragungsfunktion des Filters 130, die gegenwärtig basierend auf der Optimierungshandlungsinformation festgelegt sind, zu vereinfachen, die Schwingung eines Maschinenendes zu unterdrücken, und die Qualität einer Bearbeitungsoberfläche eines Werkstücks zu verbessern.
  • Die in der Steuerungsvorrichtung enthaltenen Komponenten können mittels Hardware, Software oder einer Kombination davon verwirklicht werden. Das durch Zusammenwirken der in der vorangehend beschriebenen Steuerungsvorrichtung enthaltenen Komponenten ausgeführte Servosteuerungsverfahren kann ebenfalls mittels Hardware, Software oder einer Kombination davon verwirklicht werden. Hier bedeutet „verwirklicht mittels Software“ ein verwirklicht sein, wenn ein Computer ein Programm liest und ausführt.
  • Die Programme können auf verschiedene Arten von nichtflüchtigen computerlesbaren Medien gespeichert und einem Computer bereitgestellt werden. Die nichtflüchtigen computerlesbaren Medien umfassen verschiedene Arten von materiellen Speichermedien. Beispiele der nichtflüchtigen computerlesbaren Medien umfassen ein magnetisches Speichermedium (beispielsweise ein Festplattenlaufwerk), ein magnetooptisches Speichermedium (beispielsweise eine magnetooptische Scheibe), eine CD-ROM (Nur-Lese-Speicher), eine CD-R, eine CD-R/W, einen Halbleiterspeicher (beispielsweise ein Masken-ROM, ein PROM (programmierbarer ROM), ein EPROM (löschbares PROM), ein Flash-ROM und ein RAM (Arbeitsspeicher)). Darüber hinaus können die Programme einem Computer über verschiedene Arten von transitorischen computerlesbaren Medien zugeführt werden.
  • Die vorangehend beschriebene Ausführungsform ist eine bevorzugte Ausführungsformen der vorliegenden Erfindung. Der Umfang der vorliegenden Erfindung ist jedoch nicht nur auf diese Ausführungsform beschränkt, sondern die vorliegende Erfindung kann in verschiedenen Abwandlungen verkörpert werden, ohne von dem Geist der vorliegenden Erfindung abzuweichen.
  • Obwohl in der vorangehend beschriebenen Ausführungsform ein Fall beschrieben worden ist, in welchem die von dem Servomotor 150 angetriebene Maschine eine Resonanzstelle aufweist, kann die Maschine eine Vielzahl von Resonanzstellen aufweisen. Wenn die Maschine eine Vielzahl von Resonanzstellen aufweist, kann eine Vielzahl von Filtern bereitgestellt werden, um den jeweiligen Resonanzstellen zu entsprechen und in Reihe geschaltet werden, wobei alle Resonanzen gedämpft werden können. 11 ist ein Blockdiagramm, das ein Beispiel darstellt, in welchem eine Vielzahl von Filter in Reihe verbunden sind, um einen Filter zu bilden. In 11, wenn es m (m ist eine natürliche Zahl von 2 oder mehr) Resonanzpunkte gibt, wird der Filter 130 gebildet, indem m Filter 130-1 bis 130-m in Reihe verbunden werden. Optimale Werte zum Dämpfen von Resonanzpunkten werden berechnet, indem das Maschinenlernen nacheinander bezüglich der Koeffizienten ωc, τ und k der m Filter 130-1 bis 130-m ausgeführt wird.
  • Die Steuerungsvorrichtung kann abweichend von der in 1 dargestellten Konfiguration die nachfolgende Konfiguration aufweisen.
  • <Abwandlung, bei welcher die Maschinenlerneinheit außerhalb der Servosteuerungseinheit bereitgestellt ist>
  • 12 ist ein Blockdiagramm, das eine anderes Konfigurationsbeispiel der Steuerungsvorrichtungen darstellt. Ein Unterschied zwischen einer in 12 dargestellten Steuerungsvorrichtung 10A und der in 1 dargestellten Steuerungsvorrichtung 10 ist, dass n (n ist eine natürliche Zahl von 2 oder mehr) Servosteuerungseinheiten 100A-1 bis 100A-n zu n Maschinenlerneinheiten 400-1 bis 400-n über ein Netzwerk 500 verbunden sind und jede die Frequenzerzeugungseinheit 200 und die Messeinheit 300 aufweist. Die Maschinenlerneinheiten 400A-1 bis 400A-n weisen dieselbe Konfiguration wie die in 4 dargestellte Maschinenlerneinheit 400 auf. Die Servosteuerungseinheiten 100A-1 bis 100A-n entsprechen jeweils der Servosteuerungsvorrichtung, und die Maschinenlerneinheiten 400A-1 bis 400-n entsprechen jeweils der Maschinenlernenvorrichtung. Die Frequenzerzeugungseinheit 200 und/oder die Messeinheit 300 können außerhalb der Servosteuerungseinheiten 100A-1 bis 100A-n bereitgestellt sein.
  • Hier sind die Servosteuerungseinheit 100A-1 und die Maschinenlerneinheit 400A-1 kommunizierbar als One-to-One-Verknüpfung verbunden. Die Servosteuerungseinheiten 100A-2 bis 100-n und die Maschinenlerneinheit EN 400A-2 bis 400-n sind ähnlich wie die Servosteuerungseinheit 100A-1 und die Maschinenlerneinheit 400A-1 verbunden. Obwohl n Paare der Servosteuerungseinheiten 100A-1 bis 100A-n und der Maschinenlerneinheiten 400A-1 bis 400A-n über das Netzwerk 500 in 11 verbunden sind, können die n Paare der Servosteuerungseinheit 100A-1 bis 100A-n und der Maschinenlerneinheiten 400A-1 bis 400A-n direkt so verbunden werden, dass die Servosteuerungseinheit und die Maschinenlerneinheit von jedem Paar direkt über eine Verbindungsschnittstelle verbunden werden. Eine Vielzahl von n Paaren der Servosteuerungseinheit 100A-1 bis 100A-n und der Maschinenlerneinheiten 400A-1 bis 400A-n können beispielsweise in derselben Anlage bereitgestellt sein und können in verschiedenen Anlagen bereitgestellt sein.
  • Das Netzwerk 500 ist beispielsweise ein in einer Anlage aufgebautes lokales Netzwerk (LAN), das Internet, ein öffentliches Telefonnetzwerk oder eine Kombination davon. Ein bestimmtes Kommunikationsschema des Netzwerks 500, ob das Netzwerk eine Kabelverbindung oder eine drahtlose Verbindung verwendet und dergleichen sind nicht speziell begrenzt.
  • <Freiheit bei der Systemkonfiguration>
  • In der vorangehend beschriebenen Ausführungsform sind die Servosteuerungseinheit 100A-1 bis 100A-n und die Maschinenlerneinheiten 400A-1 bis 400A-n kommunizierbar als eine One-to-One-Verknüpfung verbunden. Es kann jedoch beispielsweise eine Maschinenlerneinheit kommunizierbar mit einer Vielzahl von Servosteuerungseinheiten über das Netzwerk 500 verbunden werden und das Maschinenlernen der jeweiligen Servosteuerungseinheiten kann ausgeführt werden. In diesem Fall kann ein verteiltes Verarbeitungssystem eingesetzt werden, in welchem jeweilige Funktionen einer Maschinenlernvorrichtung auf eine Vielzahl von Servern geeignet verteilt werden. Die Funktionen einer Maschinenlerneinheit können durch Verwendung einer virtuellen Serverfunktion oder dergleichen in einer Cloud verwirklicht werden.
  • Wenn es n Maschinenlerneinheiten 400A-1 bis 400-n entsprechend zu n Servosteuerungseinheit 100A-1 bis 100A-n derselben Typenbezeichnung, derselben Spezifikation oder derselben Reihe gibt, können die Maschinenlerneinheiten 400A-1 bis 400-n konfiguriert sein, deren Ergebnisse in den Maschinenlerneinheiten 400A-1 bis 400-n zu teilen. Dadurch kann ein optimaleres Modell aufgebaut werden.
  • Bezugszeichenliste
  • 10, 10A:
    Steuerungsvorrichtung
    100, 100-1 bis 100-n:
    Servosteuerungseinheit
    110:
    Subtrahierer
    120:
    Geschwindigkeitssteuerungseinheit
    130:
    Filter
    140:
    Stromsteuerungseinheit
    150:
    Servomotor
    200:
    Frequenzerzeugungseinheit
    300:
    Messeinheit
    400:
    Maschinenlerneinheit
    400A-1 bis 400A-n:
    Maschinenlerneinheit
    401:
    Zustandsinformations-Erfassungseinheit
    402:
    Lerneinheit
    403:
    Handlungsinformations-Ausgabeeinheit
    404:
    Wertefunktions-Speichereinheit
    405:
    Optimierungshandlungsinformations-Ausgabeeinheit
    500:
    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
    • JP 2009104439 [0004]
    • JP H0519858 [0004]
    • JP 2008312339 [0004]

Claims (10)

  1. Was beansprucht wird, ist:
  2. Vorrichtung (400) für maschinelles Lernen, die ein maschinelles Lernen zum Optimieren von Koeffizienten mindestens eines Filters ausführt, der in einer Servosteuerungsvorrichtung (100) bereitgestellt ist, die eine Drehung eines Motors (150) steuert, wobei der Filter ein Filter (130) zum Dämpfen einer bestimmten Frequenzkomponente ist, und die Koeffizienten des Filters auf der Basis von Messinformation einer Messvorrichtung (300) optimiert werden, die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung (100) auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung (100) misst.
  3. Die Vorrichtung (400) für maschinelles Lernen gemäß Anspruch 1, wobei das Eingangssignal, dessen Frequenz sich ändert, eine sinusförmige Welle ist, deren Frequenz sich ändert, und die sinusförmige Welle durch eine Frequenzerzeugungsvorrichtung (200) erzeugt wird und die Frequenzerzeugungsvorrichtung (200) innerhalb oder außerhalb der Servosteuerungsvorrichtung bereitgestellt ist.
  4. Die Vorrichtung (400) für maschinelles Lernen gemäß Anspruch 1 oder 2, ferner umfassend: eine Zustandsinformations-Erfassungseinheit (401), die eine die Messinformationen und die Koeffizienten des Filters umfassende Zustandsinformation erfasst; eine Handlungsinformations-Ausgabeeinheit (403), die eine Handlungsinformation umfassend eine Anpassungsinformation der in der Zustandsinformation des Filters umfassten Koeffizienten ausgibt; eine Belohnungs-Ausgabeeinheit (4021), die einen Belohnungswert eines Verstärkungslernens basierend auf der Messinformation ausgibt; und eine Wertefunktions-Aktualisierungseinheit (4023), die eine Handlungswertefunktion auf der Basis des von der Belohnungs-Ausgabeeinheit (4021) ausgegebenen Belohnungswerts, der Zustandsinformation und der Handlungsinformation aktualisiert.
  5. Die Vorrichtung (400) für maschinelles Lernen gemäß Anspruch 3, wobei die Messinformation die Eingangs-/Ausgangs-Verstärkung und die Eingangs-/Ausgangs-Phasenverzögerung umfasst, und die Belohnungs-Ausgabeeinheit (4021) eine Belohnung basierend auf der Eingangs-/Ausgangs-Phasenverzögerung berechnet, wenn die Eingangs-/Ausgangs-Verstärkung der Servosteuerungsvorrichtung (100), die in der Messinformation enthalten ist, gleich der oder kleiner als die Eingangs-/Ausgangs-Verstärkung eines von den Eigenschaften der Servosteuerungsvorrichtung (100) berechneten Eingangs-/Ausgangs-Verstärkungs-Standardmodells ist.
  6. Die Vorrichtung (400) für maschinelles Lernen gemäß Anspruch 4, wobei die Eingangs-/Ausgangs-Verstärkung des Standardmodells ein konstanter Wert einer vorbestimmten Frequenz oder höher ist.
  7. Die Vorrichtung (400) für maschinelles Lernen gemäß Anspruch 4 oder 5, wobei die Belohnungs-Ausgabeeinheit (4021) die Belohnung so berechnet, dass die Eingangs-/Ausgangs-Phasenverzögerung abnimmt.
  8. Die Vorrichtung (400) für maschinelles Lernen gemäß einem der Ansprüche 3 bis 6, ferner umfassend: eine Optimierungshandlungsinformations-Ausgabeeinheit (405), welche eine Anpassungsinformation der Koeffizienten auf der Basis einer von der Wertefunktions-Aktualisierungseinheit (4022) aktualisierten Wertefunktion ausgibt.
  9. Steuerungsvorrichtung (10), umfassend: eine Vorrichtung (400) für maschinelles Lernen gemäß einem der Ansprüche 1 bis 7; eine Servosteuerungsvorrichtung (100), die eine Drehung eines Motors (150) steuert, die mindestens einen Filter zum Dämpfen einer bestimmten Frequenzkomponente aufweist; und eine Messvorrichtung (300), die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-/Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung (100) auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung (100) misst.
  10. Verfahren für maschinelles Lernen einer Vorrichtung (400) für maschinelles Lernen, die ein Maschinenlernen zum Optimieren von Koeffizienten mindestens eines in einer Servosteuerungsvorrichtung (100) bereitgestellten Filters ausführt, der eine Drehung eines Motors (150) steuert, wobei die Koeffizienten des Filters auf der Basis von Messinformation einer Messvorrichtung (300) optimiert werden, die eine Eingangs-/Ausgangs-Verstärkung und/oder eine Eingangs-/Ausgangs-Phasenverzögerung der Servosteuerungsvorrichtung (100) auf der Basis eines Eingangssignals, dessen Frequenz sich ändert, und eines Ausgangssignals der Servosteuerungsvorrichtung (100) misst.
DE102019214994.4A 2018-10-02 2019-09-30 Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen Pending DE102019214994A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-187588 2018-10-02
JP2018187588A JP6901450B2 (ja) 2018-10-02 2018-10-02 機械学習装置、制御装置及び機械学習方法

Publications (1)

Publication Number Publication Date
DE102019214994A1 true DE102019214994A1 (de) 2020-05-07

Family

ID=69947811

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019214994.4A Pending DE102019214994A1 (de) 2018-10-02 2019-09-30 Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen

Country Status (4)

Country Link
US (1) US11521119B2 (de)
JP (1) JP6901450B2 (de)
CN (1) CN111082729A (de)
DE (1) DE102019214994A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018083667A1 (en) * 2016-11-04 2018-05-11 Deepmind Technologies Limited Reinforcement learning systems
JP6956122B2 (ja) * 2019-01-24 2021-10-27 ファナック株式会社 フィルタの係数を最適化する機械学習システム、制御装置及び機械学習方法
JPWO2021210483A1 (de) * 2020-04-14 2021-10-21
WO2022030346A1 (ja) * 2020-08-05 2022-02-10 ファナック株式会社 制御支援装置、制御システム及び制御支援方法
JP7411518B2 (ja) * 2020-08-11 2024-01-11 株式会社日立製作所 プラント制御装置、圧延制御装置、プラント制御方法およびプラント制御プログラム
JPWO2022065190A1 (de) 2020-09-23 2022-03-31

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519858A (ja) 1991-07-15 1993-01-29 Yokogawa Electric Corp サ―ボアクチユエ―タ
JP2008312339A (ja) 2007-06-14 2008-12-25 Panasonic Corp 電動機の制御装置
JP2009104439A (ja) 2007-10-24 2009-05-14 Yokogawa Electric Corp サーボアクチュエータ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2932425A4 (de) * 2012-12-14 2016-12-21 The J David Gladstone Inst Automatisierte robotische mikroskopiesysteme
US9008840B1 (en) * 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
WO2016057823A1 (en) * 2014-10-08 2016-04-14 MAD Apparel, Inc. Method and system for measuring beat parameters
JP6774637B2 (ja) * 2017-02-20 2020-10-28 株式会社安川電機 制御装置及び制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519858A (ja) 1991-07-15 1993-01-29 Yokogawa Electric Corp サ―ボアクチユエ―タ
JP2008312339A (ja) 2007-06-14 2008-12-25 Panasonic Corp 電動機の制御装置
JP2009104439A (ja) 2007-10-24 2009-05-14 Yokogawa Electric Corp サーボアクチュエータ

Also Published As

Publication number Publication date
JP6901450B2 (ja) 2021-07-14
JP2020057211A (ja) 2020-04-09
CN111082729A (zh) 2020-04-28
US20200104743A1 (en) 2020-04-02
US11521119B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
DE102019214994A1 (de) Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE60102242T2 (de) Rechnerverfahren und gerät zur beschränkung einer nicht-linearen gleichungsnäherung eines empirischen prozesses
DE102018209149B4 (de) Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm
DE102018204740B4 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE102004058238B4 (de) Adaptive, multivariable Prozesssteuerung, die Modellschaltung und Attribut-Interpolation nutzt
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102020200635A1 (de) Maschinenlernsystem, Steuervorrichtung und Maschinenlernverfahren für das Optimieren von Filterkoeffizienten
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102018000788A1 (de) Servosteuereinheit
DE102018003769A1 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102020201613A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen
EP1465034B1 (de) Steuerverfahren zur rückbegrenzten Geschwindigkeitsführung eines bewegbaren Maschinenelementes einer numerisch gesteuerten industriellen Bearbeitungsmaschine
DE102019216190A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed