DE102018211148A1 - Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren - Google Patents

Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren Download PDF

Info

Publication number
DE102018211148A1
DE102018211148A1 DE102018211148.0A DE102018211148A DE102018211148A1 DE 102018211148 A1 DE102018211148 A1 DE 102018211148A1 DE 102018211148 A DE102018211148 A DE 102018211148A DE 102018211148 A1 DE102018211148 A1 DE 102018211148A1
Authority
DE
Germany
Prior art keywords
value
machine learning
unit
servo motor
data
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
DE102018211148.0A
Other languages
English (en)
Inventor
Yusaku OHO
Naoto Sonoda
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 DE102018211148A1 publication Critical patent/DE102018211148A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/08Arrangements for controlling the speed or torque of a single motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B1/00Comparing elements, i.e. elements for effecting comparison directly or indirectly between a desired value and existing or anticipated values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/06Rotor flux based control involving the use of rotor position or rotor speed sensors
    • H02P21/08Indirect field-oriented control; Rotor flux feed-forward control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0031Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control implementing a off line learning phase to determine and store useful data for on-line control
    • 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
    • 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/24Controlling the direction, e.g. clockwise or counterclockwise
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/17Circuit arrangements for detecting position and for generating speed information

Landscapes

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

Abstract

Verbesserung des Ansprechverhaltens eines Servosystems zum Zeitpunkt des Inversionsvorgangs. Eine Maschinenlernvorrichtung 200 ist dafür ausgelegt, einen Maschinenlernvorgang in Bezug auf eine Servomotor-Regeleinrichtung 100 mit einem nichtlinearen Reibungskompensator 111 durchzuführen, um basierend auf einem Positionsbefehl einen Kompensationswert in Bezug auf nichtlineare Reibung zu erzeugen, wobei die Maschinenlernvorrichtung umfasst: eine Zustandsdatenerfassungseinheit 201 zum Erfassen von Zustandsdaten, die von der Servomotor-Regeleinrichtung kommen, indem bewirkt wird, dass die Servomotor-Regeleinrichtung ein vorbestimmtes Programm ausführt, wobei die Zustandsdaten einen Servozustand mit zumindest einem Positionsfehler und eine Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit umfassen; eine Aktionsdatenausgabeeinheit 203 zum Ausgeben von Aktionsdaten, einschließlich Anpassungsdaten der Kombination aus in den Zustandsdaten enthaltenen Kompensationskoeffizienten, an die Servomotor-Regeleinrichtung; eine Belohnungsausgabeeinheit 2021 zum Ausgeben eines verstärkungslernspezifischen Belohnungswerts beruhend auf dem in den Zustandsdaten enthaltenen Positionsfehler; und eine Wertfunktionsaktualisierungseinheit 2022 zum Aktualisieren einer Aktionswertfunktion basierend auf einem von der Belohnungsausgabeeinheit ausgegebenen Belohnungswert, den Zustandsdaten und den Aktionsdaten.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft: eine Maschinenlernvorrichtung zur Durchführung von Lernvorgängen im Zusammenhang mit Kompensationskoeffizienten bei der Kompensation von nichtlinearer Reibung in Bezug auf eine Servomotor-Regeleinrichtung, die eine Kompensation für die nichtlineare Reibung vornimmt; eine Servomotor-Regeleinrichtung und ein Servomotor-Regelsystem mit der Maschinenlernvorrichtung; und ein Maschinenlernverfahren.
  • Verwandte Technik
  • Als herkömmliche Servomotor-Regeleinrichtungen sind beispielsweise eine in dem Patentdokument 1 offenbarte Motorregeleinrichtung, eine in dem Patentdokument 2 offenbarte Motorregeleinrichtung und eine in dem Patentdokument 3 offenbarte Motorregeleinrichtung bekannt.
  • Die in dem Patentdokument 1 offenbarte Motorregeleinrichtung weist auf: eine Geschwindigkeitsvorsteuerungseinheit, die beruhend auf einem Positionsbefehl einen Geschwindigkeitsvorsteuerungsbefehl zur Verringerung des Positionsfehlers erzeugt; und eine Drehmomentvorsteuerungseinheit, die beruhend auf dem Positionsbefehl einen Drehmomentvorsteuerungsbefehl zur Verringerung des Positionsfehlers erzeugt.
  • Die in dem Patentdokument 2 offenbarte Servoregeleinrichtung weist einen Vorsteuerungskompensator auf, der beruhend auf einem Positionsbefehl einen Vorsteuerungsbefehl erzeugt. Die in dem Patentdokument 2 offenbarte Servoregeleinrichtung weist eine Reibungskompensationseinrichtung zum Kompensieren des Regelfehlers auf, der durch den Einfluss von Reibung bei einer Werkzeugmaschine bedingt ist.
  • Die in dem Patentdokument 3 offenbarte Motorregeleinrichtung weist eine Kompensationsberechnungseinheit auf, um basierend auf einem durch einen Störgrößenbeobachter geschätzten Reibungsdrehmoment und einem Drehmomentbefehl Haftbewegungen zu kompensieren und um verlorene Bewegungen basierend auf einem Geschwindigkeitsbefehl zu kompensieren.
    • Patentdokument 1: Ungeprüfte Japanische Patentanmeldung, Veröffentlichungs-Nr. 2016-101017
    • Patentdokument 2: Ungeprüfte Japanische Patentanmeldung, Veröffentlichungs-Nr. 2015-018496
    • Patentdokument 3: Ungeprüfte Japanische Patentanmeldung, Veröffentlichungs-Nr. 2004-280565
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Als Faktor von Regelfehlern zum Zeitpunkt der Inversionsbewegung eines Servomotors in einer Servomotor-Regeleinrichtung sind die Ansprechverzögerung eines Servosystems, die elastische Verformung eines Maschinensystems und der Einfluss der Reibung in Betracht zu ziehen. Unter den verschiedenen Reibungsarten hat vor allem die nichtlineare Reibung einen starken Einfluss auf den Regelfehler. Die Kompensation von nichtlinearer Reibung spielt eine bedeutende Rolle bei der Verbesserung der Servoleistung. Die vorliegende Erfindung zielt darauf ab, Folgendes bereitzustellen: eine Maschinenlernvorrichtung, die eine Kompensation von nichtlinearer Reibung vornimmt, um das Ansprechverhalten eines Servosystems zum Zeitpunkt der Inversionsbewegung eines Servomotors zu verbessern; eine Servomotor-Regeleinrichtung; ein Servomotor-Regelsystem; und ein Maschinenlernverfahren.
    1. (1) Eine Maschinenlernvorrichtung (beispielsweise eine weiter unten beschriebene Maschinenlernvorrichtung 200) gemäß der vorliegenden Erfindung ist dafür ausgelegt, einen Maschinenlernvorgang in Bezug auf eine Servomotor-Regeleinrichtung (beispielsweise eine weiter unten beschriebene Servomotor-Regeleinrichtung 100) mit einer nichtlinearen Reibungskompensationseinheit (beispielsweise einem weiter unten beschriebenen nichtlinearen Reibungskompensator 111) durchzuführen, um basierend auf einem Positionsbefehl einen Kompensationswert in Bezug auf nichtlineare Reibung zu erzeugen, wobei die Maschinenlernvorrichtung umfasst:
      • eine Zustandsdatenerfassungseinheit (beispielsweise eine weiter unten beschriebene Zustandsdatenerfassungseinheit 201) zum Erfassen von Zustandsdaten, die von der Servomotor-Regeleinrichtung kommen, indem bewirkt wird, dass die Servomotor-Regeleinrichtung ein vorbestimmtes Programm ausführt, wobei die Zustandsdaten einen Servozustand mit zumindest einem Positionsfehler und eine Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit umfassen;
      • eine Aktionsdatenausgabeeinheit (beispielsweise eine weiter unten beschriebene Aktionsdatenausgabeeinheit 203) zum Ausgeben von Aktionsdaten, einschließlich Anpassungsdaten der Kombination aus in den Zustandsdaten enthaltenen Kompensationskoeffizienten, an die Servomotor-Regeleinrichtung;
      • eine Belohnungsausgabeeinheit (beispielsweise eine weiter unten beschriebene Belohnungsausgabeeinheit 2021) zum Ausgeben eines verstärkungslernspezifischen Belohnungswerts beruhend auf dem in den Zustandsdaten enthaltenen Positionsfehler; und
      • eine Wertfunktionsaktualisierungseinheit (beispielsweise eine weiter unten beschriebene Wertfunktionsaktualisierungseinheit 2022) zum Aktualisieren einer Aktionswertfunktion basierend auf dem von der Belohnungsausgabeeinheit ausgegebenen Belohnungswert, den Zustandsdaten und den Aktionsdaten.
    2. (2) Bei der weiter oben beschriebenen Maschinenlernvorrichtung gemäß Punkt (1) kann die Belohnungsausgabeeinheit den Belohnungswert basierend auf einem Absolutwert des Positionsfehlers ausgeben.
    3. (3) Bei der weiter oben beschriebenen Maschinenlernvorrichtung gemäß Punkt (1) oder (2) kann die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit (beispielsweise eine weiter unten beschriebene Geschwindigkeitsvorsteuerungsberechnungseinheit 110) zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf dem Positionsbefehl umfassen und kann die nichtlineare Reibungskompensationseinheit mit der Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet sein.
    4. (4) Bei der weiter oben beschriebenen Maschinenlernvorrichtung gemäß einem der Punkte (1) bis (3) kann die Maschinenlernvorrichtung ferner eine Optimierungsaktionsdatenausgabeeinheit (beispielsweise eine weiter unten beschriebene Optimierungsaktionsdatenausgabeeinheit 205) zum Erzeugen und Ausgeben einer Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit basierend auf einer durch die Wertfunktionsaktualisierungseinheit aktualisierten Wertfunktion umfassen.
    5. (5) Bei dem Servomotor-Regelsystem gemäß der vorliegenden Erfindung handelt es sich um ein Servomotor-Regelsystem, welches umfasst: die Maschinenlernvorrichtung (beispielsweise eine weiter unten beschriebene Maschinenlernvorrichtung 200) gemäß einem der weiter oben beschriebenen Punkte (1) bis (4); und eine Servomotor-Regeleinrichtung (beispielsweise eine weiter unten beschriebene Servomotor-Regeleinrichtung 100), die eine nichtlineare Reibungskompensationseinheit zum Erzeugen eines Kompensationswerts in Bezug auf nichtlineare Reibung umfassen.
    6. (6) Bei dem weiter oben beschriebenen Servomotor-Regelsystem gemäß Punkt (5) kann die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit (beispielsweise eine weiter unten beschriebene Geschwindigkeitsvorsteuerungsberechnungseinheit 110) zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf einem Positionsbefehl umfassen und kann die nichtlineare Reibungskompensationseinheit mit einer Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet sein.
    7. (7) Bei der Servomotor-Regeleinrichtung gemäß der vorliegenden Erfindung handelt es sich um eine Servomotor-Regeleinrichtung, welche die Maschinenlernvorrichtung gemäß einem der weiter oben beschriebenen Punkte (1) bis (4) und eine nichtlineare Reibungskompensationseinheit zum Erzeugen eines Kompensationswerts in Bezug auf die nichtlineare Reibung umfasst.
    8. (8) Bei der weiter oben beschriebenen Servomotor-Regeleinrichtung gemäß Punkt (7) kann die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf einem Positionsbefehl umfassen und kann die nichtlineare Reibungskompensationseinheit mit einer Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet sein.
    9. (9) Bei dem Maschinenlernverfahren gemäß der vorliegenden Erfindung handelt es sich um ein Maschinenlernverfahren einer Maschinenlernvorrichtung (beispielsweise einer weiter unten beschriebenen Maschinenlernvorrichtung 200), die dafür ausgelegt ist, einen Maschinenlernvorgang in Bezug auf eine Servomotor-Regeleinrichtung (beispielsweise eine weiter unten beschriebene Servomotor-Regeleinrichtung 100) mit einer nichtlinearen Reibungskompensationseinheit (beispielsweise einem weiter unten beschriebenen nichtlinearen Reibungskompensator 111) durchzuführen, um basierend auf einem Positionsbefehl einen Kompensationswert in Bezug auf nichtlineare Reibung zu erzeugen, wobei das Maschinenlernverfahren umfasst, dass:
      • Zustandsdaten, die von der Servomotor-Regeleinrichtung kommen, erfasst werden, indem bewirkt wird, dass die Servomotor-Regeleinrichtung ein vorbestimmtes Programm ausführt, wobei die Zustandsdaten einen Servozustand mit zumindest einem Positionsfehler und eine Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit umfassen;
      • Aktionsdaten, welche auch Anpassungsdaten der Kombination aus in den Zustandsdaten enthaltenen Kompensationskoeffizienten umfassen, an die Servomotor-Regeleinrichtung ausgegeben werden; und
      • eine Aktionswertfunktion basierend auf einem verstärkungslernspezifischen Belohnungswert, auf den Zustandsdaten und auf den Aktionsdaten, welche auf dem in den Zustandsdaten enthaltenen Positionsfehler beruhen, aktualisiert wird.
  • Gemäß der vorliegenden Erfindung lässt sich das Ansprechverhalten eines Servosystems zum Zeitpunkt der Inversionsbewegung eines Servomotors durch Kompensieren von nichtlinearer Reibung verbessern.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein Servomotor-Regelsystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
    • 2 ist ein Blockdiagramm, das eine Gruppe bestehend aus einer Servomotor-Regeleinrichtung des Servomotor-Regelsystems und eine Maschinenlernvorrichtung, sowie ein Regelziel gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt.
    • 3 ist eine Kennlinie, welche die Beziehung zwischen einem nichtlinearen Reibungskompensationswert f(ω) und einer Motordrehzahl ω zeigt.
    • 4 ist ein Blockdiagramm, das ein Beispiel eines Regelziels zeigt;
    • 5 ist ein Diagramm zur Erklärung der Bewegung eines Servomotors, wenn eine Geometrie einen Kreis darstellt.
    • 6 ist ein Diagramm zur Erklärung der Bewegung des Servomotors, wenn die Geometrie ein Quadrat darstellt.
    • 7 ist ein Diagramm, das einen Zustand zeigt, in welchem sich ein in dem Regelziel enthaltener Tisch sinusförmig in einer X-Achsenrichtung oder einer Y-Achsenrichtung bewegt.
    • 8 ist ein Diagramm, das einen Zustand zeigt, in welchem sich ein in dem Regelziel enthaltener Tisch gemäß einer Dreieckwellenform in der X-Achsenrichtung oder der Y-Achsenrichtung bewegt.
    • 9 ist ein Diagramm zur Erklärung der Bewegung des Servomotors, wenn die Geometrie einen Stern darstellt.
    • 10 ist ein Blockdiagramm, das eine Maschinenlernvorrichtung gemäß der ersten Ausführungsform zeigt.
    • 11 ist ein Ablaufdiagramm, das eine Maschinenlernvorrichtung gemäß der ersten Ausführungsform zeigt.
    • 12 ist ein Ablaufdiagramm, das eine Optimierungsaktionsdatenausgabeeinheit der Maschinenlernvorrichtung zeigt.
    • 13 ist ein Diagramm, das einen Bewegungspfad des Tischs vor der Parameteranpassung eines nichtlinearen Reibungskompensators durch Maschinenlernen zeigt.
    • 14 ist ein Diagramm, das einen Bewegungspfad des Tischs nach der Parameteranpassung des nichtlinearen Reibungskompensators durch das Maschinenlernen zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf die Zeichnungen detailliert beschrieben.
  • (Erste Ausführungsform)
  • 1 ist ein Blockdiagramm, das ein Servomotor-Regelsystem gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 1 gezeigt, umfasst ein Servomotor-Regelsystem 10 n Servomotor-Regeleinrichtungen 100-1 bis 100-n, n Maschinenlernvorrichtungen 200-1 bis 200-n, sowie ein Netzwerk 400. Es ist anzumerken, dass n eine beliebige natürliche Zahl sein kann.
  • Die Servomotor-Regeleinrichtung 100-1 und die Maschinenlernvorrichtung 200-1 werden als eins zu eins zugeordnete Gruppe betrachtet und sind kommunikativ verbunden. Die Servomotor-Regeleinrichtungen 100-2 bis 100-n und die Maschinenlernvorrichtungen 200-2 bis 200-n sind jeweils auf ähnliche Weise wie die Servomotor-Regeleinrichtung 100-1 und die Maschinenlernvorrichtung 200-1 miteinander verbunden. In 1 sind n Gruppen bestehend aus den Servomotor-Regeleinrichtungen 100-1 bis 100-n und den Maschinenlernvorrichtungen 200-1 bis 200-n über ein Netzwerk 400 verbunden. Für die n Gruppen der Servomotor-Regeleinrichtungen 100-1 bis 100-n und der Maschinenlernvorrichtungen 200-1 bis 200-n können die Servomotor-Regeleinrichtung und die Maschinenlernvorrichtung innerhalb einer jeden der Gruppen jedoch auch direkt über eine Verbindungsschnittstelle verbunden sein. Eine Mehrzahl von n Gruppen dieser Servomotor-Regeleinrichtungen 100-1 bis 100-n und Maschinenlernvorrichtungen 200-1 bis 200-n können beispielsweise in derselben Fabrik oder können in verschiedenen Fabriken installiert sein.
  • Bei dem Netzwerk 400 kann es sich beispielsweise um ein in einer Fabrik installiertes, lokales Rechnernetz (LAN), das Internet, ein öffentliches Telefonnetz, eine Direktverbindung über eine Verbindungsschnittstelle oder um eine Kombination aus diesen handeln. Hinsichtlich besonderer Kommunikationsverfahren innerhalb des Netzwerks 400, etwa ob ein drahtgebundene oder eine drahtlose Verbindung verwendet wird, bestehen keine speziellen Einschränkungen.
  • 2 ist ein Blockdiagramm, das eine Gruppe bestehend aus einer Servomotor-Regeleinrichtung des Servomotor-Regelsystems und einer Maschinenlernvorrichtung, sowie ein Regelziel gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Die Servomotor-Regeleinrichtung 100 und die Maschinenlernvorrichtungen 200 in 2 entsprechen beispielsweise der Servomotor-Regeleinrichtung 100-1 und der Maschinenlernvorrichtung 200-1, die in 1 gezeigt sind. Bei dem Regelziel 300 handelt es sich beispielsweise um eine Werkzeugmaschine, einen Roboter, eine Industriemaschine oder dergleichen und es umfasst auch den Servomotor. Die Servomotor-Regeleinrichtung 100 kann auch als ein Teil einer Werkzeugmaschine, eines Roboters, einer Industriemaschine oder dergleichen vorgesehen sein.
  • Als erstes wird die Servomotor-Regeleinrichtung 100 beschrieben. Wie in 2 gezeigt, umfasst die Servomotor-Regeleinrichtung 100 eine Positionsbefehlserzeugungseinheit 101, ein Subtrahierglied 102, eine Positionsregeleinheit 103, ein Addierglied 104, ein Subtrahierglied 105, eine Geschwindigkeitsregeleinheit 106, ein Addierglied 107, einen Integrator 108, eine Positionsvorsteuerungsberechnungseinheit 109, eine Geschwindigkeitsvorsteuerungsberechnungseinheit 110, und einen nichtlineare Reibungskompensator 111.
  • Die Positionsbefehlserzeugungseinheit 101 erzeugt einen Positionsbefehlswert zum Betreiben des in dem Regelziel 300 enthaltenen Servomotors in Übereinstimmung mit einer Programmeingabe von einer Host-Regeleinrichtung, einer hier nicht gezeigten, externen Eingabevorrichtung oder dergleichen, um den erzeugten Positionsbefehlswert an das Subtrahierglied 102 und die Positionsvorsteuerungsberechnungseinheit 109 auszugeben. Das Subtrahierglied 102 bestimmt eine Differenz zwischen dem Positionsbefehlswert und einer detektierten Position, die durch Positionsrückmeldung gewonnen wird, um die Differenz als Positionsfehler an die Positionsregeleinheit 103 auszugeben und die Differenz an die Maschinenlernvorrichtung 200 zu übertragen. Die Positionsbefehlserzeugungseinheit 101 erzeugt den Positionsbefehlswert basierend auf einem Programm, das den in dem Regelziel 300 enthaltenen Servomotor betreibt. Bei dem Regelziel 300 handelt es sich beispielsweise um eine Werkzeugmaschine, die den Servomotor enthält. Wenn die Werkzeugmaschine einen Tisch mit darauf montiertem Werkstück in einer X-Achsenrichtung und einer Y-Achsenrichtung bewegt und das Werkstück bearbeitet, wird die in 2 gezeigte Servomotor-Regeleinrichtung in Bezug auf eine jede von der X-Achsenrichtung und der Y-Achsenrichtung bereitgestellt. Wenn die Werkzeugmaschine den Tisch in Richtungen von drei oder mehr Achsen bewegt, wird die in 2 gezeigte Servomotor-Regeleinrichtung in Bezug auf eine jede der Achsenrichtungen bereitgestellt. Die Positionsbefehlserzeugungseinheit 101 erzeugt den Positionsbefehlswert durch Verändern einer Impulsfrequenz, so dass eine von dem Programm spezifizierte Geometrie erhalten wird und eine Drehzahl des Servomotors verändert wird.
  • Beispielsweise gibt die Positionsregeleinheit 103 einen Wert, der durch Vervielfachen einer Positionsverstärkung Kp gewonnen wird, welche vorab auf den Positionsfehler eingestellt wird, an das Addierglied 104 als Geschwindigkeitsbefehlswert aus. Die Positionsvorsteuerungsberechnungseinheit 109 gibt einen Wert, der durch Differenzieren des Positionsbefehlswerts und Vervielfachen eines Vorsteuerungskoeffizienten gewonnen wird, an das Addierglied 104, die Geschwindigkeitsvorsteuerungsberechnungseinheit 110, und den nichtlinearen Reibungskompensator 111 aus.
  • Das Addierglied 104 addiert den Geschwindigkeitsbefehlswert und einen Ausgabewert der Positionsvorsteuerungsberechnungseinheit 109, um den dadurch gewonnenen Wert als einen vorwärtsgeregelten Geschwindigkeitsbefehlswert an das Subtrahierglied 105 auszugeben. Das Subtrahierglied 105 bestimmt die Differenz zwischen einer Ausgabe des Addierglieds 104 und dem durch die Geschwindigkeitsrückkopplung gewonnenen Geschwindigkeitserfassungswert, um die Differenz als Geschwindigkeitsfehler an die Geschwindigkeitsregeleinheit 106 auszugeben.
  • Beispielsweise addiert die Geschwindigkeitsregeleinheit 106 einen Wert, der gewonnen wird durch Vervielfachen einer vorab eingestellten integralen Verstärkung K1v mit dem Geschwindigkeitsfehler und durch Integrieren einer vorab eingestellten proportionalen Verstärkung K2v mit dem Geschwindigkeitsfehler, um einen dadurch gewonnenen Wert als einen Drehmomentbefehlswert an das Addierglied 107 auszugeben.
  • Die Geschwindigkeitsvorsteuerungsberechnungseinheit 110 führt eine durch eine Transferfunktion Gf(S) dargestellte Geschwindigkeitsvorsteuerungsberechnungsverarbeitung durch, welche beispielsweise durch die Formel 1 (weiter unten als Formel 1 gezeigt) basierend auf dem Ausgabewert der Positionsvorsteuerungsberechnungseinheit 109 dargestellt ist, um ein Berechnungsergebnis als einen ersten Drehmomentkompensationswert an das Addierglied 107 auszugeben. Bei den Koeffizienten ai, bj der Geschwindigkeitsvorsteuerungsberechnungseinheit 110 handelt es sich um Konstanten, welche vorab dergestalt eingestellt werden, dass 0 ≤ i ≤ m für ai und 0 ≤ j ≤ n für bj erfüllt sind. Bei den Größen m, n handelt es sich um vorab eingestellte natürliche Zahlen. G f ( s ) b 0 + b 1 s + b 2 s 2 + a 0 + a 1 s + a 2 s 2 +
    Figure DE102018211148A1_0001
  • Der nichtlineare Reibungskompensator 111 bestimmt einen nichtlinearen Reibungskompensationswert, um basierend auf einem Ausgabewert der Positionsvorsteuerungsberechnungseinheit 109 eine in dem Regelziel 300 generierte, nichtlineare Reibung zu kompensieren, und gibt den nichtlinearen Reibungskompensationswert als einen zweiten Drehmomentkompensationswert an das Addierglied 107 aus. Die nichtlineare Reibung wird beispielsweise in erster Linie durch einen Kugelgewindetrieb einer Werkzeugmaschine oder dergleichen generiert, der nicht Teil des Servomotors ist, wenn es sich bei dem Regelziel 300 um die Werkzeugmaschine einschließlich des Servomotors handelt. Die nichtlineare Reibung wird jedoch auch in dem Servomotor generiert. Ein nichtlinearer Reibungskompensationswert f(ω) ist beispielsweise in Formel 2 (weiter unten als Formel 2 dargestellt) gezeigt und lässt sich unter Heranziehung der Motordrehzahl ω bestimmen. 3 ist eine Kennlinie, welche die Beziehung zwischen einem nichtlinearen Reibungskompensationswert f(ω) und einer Motordrehzahl ω zeigt. f ( ω ) = f 1 ( ω ) + f 2 ( ω ) f 1 ( ω ) = c ω f 2 ( ω ) = { ( ω > 0 ) 0   ( ω = 0 ) ( ω < 0 )
    Figure DE102018211148A1_0002
  • Wie weiter unten beschrieben, werden optimale Kombinationswerte der Kompensationskoeffizienten c, d in Formel 2 unter Verwendung der Maschinenlernvorrichtung 200 bestimmt.
  • Das Addierglied 107 fügt den Drehmomentbefehlswert, den Ausgabewert der Geschwindigkeitsvorsteuerungsberechnungseinheit 110 und den Ausgabewert des nichtlinearen Reibungskompensators 111 hinzu, um einen dadurch erhaltenen Wert als einen vorwärtsgeregelten Drehmomentbefehlswert an einen Servomotor des Regelziels 300 auszugeben.
  • Das Regelziel 300 gibt einen Geschwindigkeitserfassungswert aus und der Geschwindigkeitserfassungswert wird als Geschwindigkeitsrückmeldung in das Subtrahierglied 105 eingegeben. Der Geschwindigkeitserfassungswert wird durch den Integrator 108 zu einem Positionserfassungswert integriert. Der Positionserfassungswert wird als Positionsrückmeldung in das Subtrahierglied 102 eingegeben. Die Servomotor-Regeleinrichtung 100 ist wie weiter oben beschrieben ausgelegt.
  • Als Nächstes wird das Regelziel 300, das durch die Servomotor-Regeleinrichtung 100 geregelt wird, beschrieben. 4 ist ein Blockdiagramm, das einen Teil einer Werkzeugmaschine einschließlich des Servomotors als ein Beispiel des Regelziels 300 zeigt. Die Servomotor-Regeleinrichtung 100 bewegt einen Tisch 304 mittels eines Kopplungsmechanismus 303 in einem Servomotor 302. Die Werkzeugmaschine dreht eine Spindel, an der ein Werkzeug angebracht ist, während der Tisch 304 bewegt wird, um ein auf dem Tisch 304 aufmontiertes Werkstück zu bearbeiten. Der Kopplungsmechanismus 303 weist eine mit dem Servomotor 302 gekoppelte Kupplung 3031 und einen an der Kupplung 3031 befestigten Kugelgewindetrieb 3033 auf. Eine Mutter 3032 ist in den Kugelgewindetrieb 3033 eingeschraubt. Die in den Kugelgewindetrieb 3033 eingeschraubte Mutter 3032 wird durch den Drehantrieb des Servomotors 302 in einer Achsrichtung des Kugelgewindetriebs 3033 bewegt. Die nichtlineare Reibung wird in dem Kopplungsmechanismus 303, einschließlich der Kupplung 3031 und dem Kugelgewindetrieb 3033, der Mutter 3032 und dergleichen generiert. Die nichtlinearer Reibung wird jedoch auch in dem Servomotor 302 generiert.
  • Eine Drehwinkelposition des Servomotors 302 wird durch einen Drehcodierer 301 detektiert, bei dem es sich um eine mit dem Servomotor 302 verbundene Positionsdetektionseinheit handelt. Ein detektiertes Signal wird als Geschwindigkeitsrückmeldung verwendet. Das detektierte Signal wird durch den Integrator 108 integriert, um als Positionsrückmeldung verwendet zu werden. Die Werkzeugmaschine kann eine Linearskala 305 umfassen, welche eine sich bewegende Distanz des Kugelgewindetriebs 3033 in einem Endabschnitt des Kugelgewindetriebs 3033 detektiert. Eine Ausgabe der Linearskala 305 lässt sich als Positionsrückmeldung verwenden.
  • <Maschinenlernvorrichtung 200>
  • Die Maschinenlernvorrichtung 200 führt ein vorgegebenes Auswertungsprogramm (nachfolgend auch „Auswertungsprogramm“ genannt) aus, um die Kompensationskoeffizienten des nichtlinearen Reibungskompensators 111 zu erlernen. Wenn die Werkzeugmaschine Bearbeitungsvorgänge durchführt, indem sie den Tisch in der X-Achsenrichtung und in der Y-Achsenrichtung bewegt, kann die durch das Auswertungsprogramm spezifizierte Geometrie beispielsweise eine Kreis-, Quadrat- oder Sternform darstellen, wenn die Inversionsbewegung des Servomotors ausgewertet wird. 5 ist ein Diagramm zur Erklärung der Bewegung des Servomotors, wenn die Geometrie einen Kreis darstellt. 6 ist ein Diagramm zur Erklärung der Bewegung des Servomotors, wenn die Geometrie ein Quadrat darstellt. In 5 und 6 bewegt sich der Tisch so, dass das Werkstück im Uhrzeigersinn bearbeitet wird.
  • Wenn die Inversionsbewegung des Servomotors ausgewertet wird, wie beispielsweise in 7 oder 8 gezeigt, regelt die Servomotor-Regeleinrichtung 100 den Servomotor 302 derart, dass sich der in dem Regelziel 300 enthaltene Tisch sinuswellenförmig oder dreieckwellenförmig in zumindest einer Richtung von der X-Achsenrichtung und der Y-Achsenrichtung bewegt. Das Auswertungsprogramm überwacht die Frequenz der Impulsausgabe seitens der Positionsbefehlserzeugungseinheit 101 der Servomotor-Regeleinrichtung 100. Durch diese Frequenzüberwachung wird eine Vorschubrate des Tischs in der X-Achsenrichtung oder der Y-Achsenrichtung überwacht. Wird die Frequenz der Impulsausgabe seitens der Positionsbefehlserzeugungseinheit 101 hoch, so erhöht sich die Rotationsgeschwindigkeit des Motors und erhöht sich die Vorschubrate. Wird die Frequenz des Impulses andererseits niedrig, so verringert sich die Rotationsgeschwindigkeit des Motors und verringert sich die Vorschubrate. Wenn sich die Drehrichtung des Servomotors 302 invertiert, invertiert sich die Bewegungsrichtung des Tischs in der X-Achsenrichtung oder der Y-Achsenrichtung.
  • Wenn die Geometrie, wie in 5 gezeigt, einen Kreis darstellt, regelt die Servomotor-Regeleinrichtung 100 den Servomotor der X-Achsenrichtung und der Y-Achsenrichtung derart, dass der Tisch sich sinuswellenförmig in der X-Achsenrichtung bewegt, wie in 7 gezeigt, und sich kosinuswellenförmig in der Y-Achsenrichtung bewegt. An einer in 5 gezeigten Position A1 invertiert sich die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der Y-Achsenrichtung linear invertiert. Andererseits dreht sich der Servomotor, der den Tisch in der X-Achsenrichtung bewegt, an der Position A1 mit derselben Geschwindigkeit wie die Geschwindigkeiten vor und nach der Position A1 und bewegt sich der Tisch mit derselben Geschwindigkeit wie die Geschwindigkeiten vor und nach der Position A1 in der X-Achsenrichtung. Die Position A1, in welcher sich der Tisch in der Y-Achsenrichtung invertiert, entspricht einer in 7 gezeigten Inversionsposition einer positiven Richtung. Andererseits bewegt sich der Tisch, der sich mit konstanter Geschwindigkeit in der X-Achsenrichtung bewegt, dergestalt, dass eine Phase einer Wellenform (Sinuswellenform) zu einer Wellenform (Kosinuswelle) wird, die um 90 Grad verzögert ist oder vorauseilt. Die Position A1, in welcher sich der Tisch mit einer konstanten Geschwindigkeit in der X-Achsenrichtung bewegt, entspricht einer Zwischenposition zwischen einer Inversionsposition der positiven Richtung und einer Inversionsposition einer negativen Richtung, wie in 7 gezeigt. An einer in 5 gezeigten Position A2 regelt die Servomotor-Regeleinrichtung 100 jeden Servomotor derart, dass die Bewegung des Servomotors, der den Tisch in die X-Achsenrichtung bewegt, und die Bewegung des Servomotors, der den Tisch in die Y-Achsenrichtung bewegt, in Bezug auf die Position A1 entgegengesetzt sind. An der Position A2 invertiert sich nämlich die Drehrichtung des Servomotors, der den Tisch in der X-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der X-Achsenrichtung linear invertiert. Andererseits dreht sich der Servomotor, der den Tisch in der Y-Achsenrichtung bewegt, an der Position A2 mit derselben Geschwindigkeit wie die Geschwindigkeiten vor und nach der Position A2 und bewegt sich der Tisch mit derselben Geschwindigkeit wie die Geschwindigkeiten vor und nach der Position A2 in der Y-Achsenrichtung.
  • Wenn die Geometrie, wie in 6 gezeigt, ein Quadrat darstellt, regelt die Servomotor-Regeleinrichtung 100 den Servomotor der X-Achsenrichtung und der Y-Achsenrichtung derart, dass der Tisch sich dreieckwellenförmig in der X-Achsenrichtung bewegt, wie in 8 gezeigt, und eine Phase einer in 8 gezeigten dreieckigen Welle sich in einer Dreieckwellenform bewegt, die in der Y-Achsenrichtung um 90 Grad verzögert ist oder vorauseilt. Wenn sich der Tisch dreieckwellenförmig bewegt, ist die Umdrehungsgeschwindigkeit des Servomotors von einer positiven Inversionsposition zu einer negativen Inversionsposition und von der negativen Inversionsposition zu der positiven Inversionsposition konstant. An einer in 6 gezeigten Position B1 invertiert sich die Drehrichtung des Servomotors, der den Tisch in der X-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der X-Achsenrichtung linear invertiert. Andererseits dreht sich der Servomotor, der den Tisch in der Y-Achsenrichtung bewegt, an der Position B1 mit einer konstanten Geschwindigkeit und bewegt sich der Tisch mit der konstanten Geschwindigkeit in der Y-Achsenrichtung. Die Position B1, in welcher sich der Tisch in der X-Achsenrichtung invertiert, entspricht einer in 8 gezeigten Inversionsposition der negativen Richtung. Andererseits bewegt sich der Tisch, der sich mit konstanter Geschwindigkeit in der Y-Achsenrichtung bewegt, dergestalt, dass sich die Phase der in 8 gezeigten Dreieckwelle in einer Dreieckwellenform bewegt, die um 90 Grad verzögert ist oder vorauseilt. Die Position B1, in welcher sich der Tisch mit einer konstanten Geschwindigkeit in der Y-Achsenrichtung bewegt, entspricht einer Zwischenposition zwischen der Inversionsposition der positiven Richtung und der Inversionsposition der negativen Richtung, wie in 8 gezeigt. An einer in 6 gezeigten Position B2 regelt die Servomotor-Regeleinrichtung 100 jeden Servomotor derart, dass die Bewegung des Servomotors, der den Tisch in die X-Achsenrichtung bewegt, und die Bewegung des Servomotors, der den Tisch in die Y-Achsenrichtung bewegt, in Bezug auf die Position B1 entgegengesetzt sind. An der Position B2 invertiert sich nämlich die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der Y-Achsenrichtung linear invertiert. Andererseits dreht sich der Servomotor, der den Tisch in der X-Achsenrichtung bewegt, an der Position B2 mit einer konstanten Geschwindigkeit und bewegt sich der Tisch mit einer konstanten Geschwindigkeit in der X-Achsenrichtung.
  • Wenn das Auswertungsprogramm ausgeführt wird, gibt die Positionsbefehlserzeugungseinheit 101 der Servomotor-Regeleinrichtung 100 den Positionsbefehlswert derart aus, dass die Geometrie aufeinanderfolgend ein Kreis oder ein Quadrat ist. Die Positionsbefehlserzeugungseinheit 101 verändert die Vorschubrate für jede Geometrie, die ein Kreis oder ein Quadrat ist, derart, dass die Maschinenlernvorrichtung 200 den jeweils Einfluss auf eine Mehrzahl von Vorschubraten erlernen kann. Die Positionsbefehlserzeugungseinheit 101 kann die Vorschubrate inmitten des Bewegens einer Form der Geometrie verändern, beispielsweise wenn sich der Tisch beim Bewegen des Tischs in eine quadratische Geometrie an einer Ecke vorbeibewegt. Dadurch kann die Maschinenlernvorrichtung 200 eine Frequenz hoch werden lassen, oder ein Muster zum schrittweisen Erhöhen einer Frequenz erlernen, wenn sich der Tisch sinuswellenförmig oder dreieckwellenförmig in der X-Achsenrichtung bzw. in der Y-Achsenrichtung bewegt.
  • Wenn die Geometrie ein Kreis oder ein Quadrat ist und wenn sich die Drehrichtung von einem Servomotor der Servomotoren, die den Tisch in der X-Achsenrichtung und in der Y-Achsenrichtung bewegen, in Rotation befindet, so dreht sich der andere Servomotor mit einer konstanten Geschwindigkeit. Allerdings kann die durch das Auswertungsprogramm spezifizierte Geometrie auch eine Geometrie, beispielsweise eine in 9 gezeigte Sternform, darstellen, bei welcher sich beide Drehrichtungen der zwei Servomotoren, die den Tisch in der X-Achsenrichtung und der Y-Achsenrichtung bewegen, invertieren. Die Maschinenlernvorrichtung 200 kann bei einer solchen Geometrie eine Kombination der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 erlernen.
  • 9 ist ein Diagramm zur Erklärung der Bewegung des Servomotors, wenn die Geometrie einen Stern darstellt. Wenn die Geometrie, wie in 9 gezeigt, einen Stern darstellt, regelt die Servomotor-Regeleinrichtung 100 die Servomotoren der X-Achsenrichtung und der Y-Achsenrichtung derart, dass sich der Tisch dreieckwellenförmig in der X-Achsenrichtung und in der Y-Achsenrichtung bewegt, und zwar in einem Vorsprungsabschnitt von vier „<“-Formen der Sternform. An einem Scheitelpunkt des Vorsprungsabschnitts der vier „<“-Formen der Sternform invertiert sich an einer in 9 gezeigten Position C1 die Drehrichtung des Servomotors, der den Tisch in der X-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der X-Achsenrichtung linear invertiert. Auf ähnliche Weise invertiert sich an der Position C1 die Drehrichtung des Servomotors, der den Tisch in der Y-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der Y-Achsenrichtung linear invertiert. Demgemäß wird die Inversionsbewegung des Servomotors ausgewertet, die stattfindet, wenn sich beide Drehrichtungen von den zwei Servomotoren, die den Tisch in der X-Achsenrichtung und in der Y-Achsenrichtung bewegen, invertieren.
  • Bei der Geometrie der in 9 gezeigten Sternform wird in einem Scheitelpunkt der vier konkav ausgebildeten Abschnitte, ähnlich dem Fallbeispiel, bei dem die Geometrie ein in 6 gezeigtes Quadrat darstellt, jene Bewegung ausgewertet, die stattfindet, wenn sich die Drehrichtung des Servomotors, der sich in eine Richtung der X-Achsenrichtung und der Y-Achsenrichtung bewegt, invertiert, und sich der Servomotor, der sich in die andere Richtung bewegt, mit einer konstanten Geschwindigkeit dreht. Beispielsweise invertiert sich an einer in 9 gezeigten Position C1 die Drehrichtung des Servomotors, der den Tisch in der X-Achsenrichtung bewegt, und der Tisch bewegt sich so, dass er sich in der X-Achsenrichtung linear invertiert. Allerdings dreht sich der Servomotor, der den Tisch in der Y-Achsenrichtung bewegt, an der Position C1 mit einer konstanten Geschwindigkeit und bewegt sich der Tisch mit einer konstanten Geschwindigkeit in der Y-Achsenrichtung.
  • Als Nächstes wird eine Auslegung der Maschinenlernvorrichtung 200 beschrieben. Die Maschinenlernvorrichtung 200 erlernt eine Kombination der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111, um basierend auf dem Auswertungsprogramm den Positionsfehler, der beim Antrieb des Regelziels 300 auftritt, zu verringern.
  • Bevor nun zu einer Beschreibung jedes einzelnen in der Maschinenlernvorrichtung 200 enthaltenen Funktionsblocks geschritten wird, wird der grundlegende Mechanismus des verstärkenden Lernens beschrieben. Ein Agent (welcher in der vorliegenden Ausführungsform der Maschinenlernvorrichtung 200 entspricht) beobachtet einen Umweltzustand und wählt eine Aktion aus. Daraufhin verändert sich die Umwelt basierend auf der Aktion. Der Agent berechnet einige Belohnungen gemäß der Umweltveränderung, um die Auswahl (Entscheidung) einer besseren Aktion zu erlernen. Während das Lernen mit einem Lehrer ein vollständig korrektes Ergebnis bereithält, bietet die Belohnung beim verstärkenden Lernen häufig nur einen Fragmentwert basierend auf der Veränderung eines Teils der Umwelt. Somit lernt der Agent, eine Aktion derart auszuwählen, dass sich die Gesamtbelohnung in der Zukunft maximiert.
  • Auf diese Weise lernt die Maschinenlernvorrichtung 200 durch das Erlernen einer Aktion im Rahmen des verstärkenden Lernens das Setzen einer angemessenen Aktion unter Berücksichtigung der Wechselwirkung der Aktion mit der Umwelt, das heißt, einer Aktion zur Maximierung der in der Zukunft zu erhaltenden Belohnung. Daran wird deutlich, dass sich bei der vorliegenden Ausführungsform die Maschinenlernvorrichtung 200 eine Aktion aneignet, die sich auf die Zukunft auswirkt, zum Beispiel das Auswählen von Aktionsdaten im Hinblick auf die Verringerung des Positionsfehlers.
  • Als verstärkendes Lernen wird ein beliebiges Lernverfahren verwendet. In der nachfolgenden Beschreibung wird als Beispiel ein Fall beschrieben, bei dem Q-Lernen zum Einsatz kommt. Bei Q-Lernen handelt es sich um ein Verfahren zum Erlernen einer Wertfunktion Q (S, A) zum Auswählen einer Aktion A bei einem Umweltzustand S. Das Ziel von Q-Lernen besteht darin, die Aktion A mit der höchsten Wertfunktion Q (S, A) als eine angemessene Aktion aus einer Reihe von Aktionen A, die bei einem Zustand S gesetzt werden können, auszuwählen.
  • Zu dem Zeitpunkt jedoch, zu welchem Q-Lernen zum ersten Mal ausgeführt wird, ist für die Kombination von Zustand S und Aktion A noch keinerlei Anhaltspunkt in Bezug auf den korrekten Wert der Wertfunktion Q (S, A) vorhanden. Somit wählt der Agent verschiedene Aktionen A in einem Zustand S aus und wählt in Bezug auf eine Aktion A zu diesem Zeitpunkt basierend auf einer gegebenen Belohnung eine bessere Aktion aus, um den korrekten Wert Q (S, A) zu erlernen.
  • Durch Q-Lernen wird versucht, zu bewirken, dass letztendlich Q (S, A) = E[Σ(γt) rt] ist, um die Gesamtbelohnung, die in der Zukunft erworben werden kann, zu maximieren. Dabei steht E [ ] für einen erwarteten Wert, t für die Zeit, γ für einen als Diskontierungsfaktor bezeichneten und weiter unten genauer beschrieben Parameter, rt für eine Belohnung zum Zeitpunkt t, und S für das Gesamtergebnis zum Zeitpunkt t. Der erwartete Wert in dieser Formel stellt einen erwarteten Wert in einem Fall dar, in dem der Zustand gemäß der angemessenen Aktion verändert ist. Allerdings steht die angemessene Aktion bei einem Prozess des Q-Lernens nicht eindeutig fest. Somit setzt der Agent verschiedene Aktionen, um im Zuge des Suchens das verstärkende Lernen durchzuführen. Eine Aktualisierungsformel einer solchen Wertfunktion Q (S, A) ist beispielsweise durch die folgende Formel 3 (weiter unten als Formel 3 gezeigt) darstellbar. 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 DE102018211148A1_0003
  • In der oben angeführten Formel 3 steht St für einen Umweltzustand zum Zeitpunkt t und steht At für eine Aktion zum Zeitpunkt t. Durch die Aktion At wird der Zustand zu St+1 verändert. Der Parameter rt+1 steht für die durch die Zustandsveränderung erworbene Belohnung. Ein mit max hinzugefügter Posten wird erhalten durch Vervielfachen von γ mit jenem Q-Wert, der sich ergibt, wenn im Zustand St+1 die Aktion A mit dem höchsten Q-Wert, der zu diesem Zeitpunkt erkannt worden ist, ausgewählt wird. Der Buchstabe γ stellt einen Parameter in einem Bereich von 0<γ≤1 dar und wird als Diskontierungsfaktor bezeichnet, α stellt einen Lernkoeffizienten dar und liegt in einem Bereich von 0<α≤1.
  • Die weiter oben beschriebene Formel 3 steht für ein Verfahren zum Aktualisieren der Wertfunktion Q (St, At) der Aktion At in dem Zustand St basierend auf der Belohnung rt+1, die als Ergebnis der Aktion At rückgemeldet wird. Aus dieser Aktualisierungsformel wird deutlich, dass die Wertfunktion Q (St, At) groß eingestellt ist, wenn ein Wert maxa Q (St+1, A) der besten Aktion in dem durch die Aktion At herbeigeführten nächsten Zustand St+1 größer ist als der Wert Q (St, At) der Aktion At in dem Zustand St, wohingegen die Wertfunktion Q (St, At) klein eingestellt ist, wenn der Wert maxa Q (St+i, A) der besten Aktion in dem durch die Aktion At herbeigeführten nächsten Zustand St+1 kleiner ist. Das heißt, aus der Aktualisierungsformel wird deutlich, dass ein Wert in einer Aktion in einem Zustand durch Approximation an einen Wert der besten Aktion in dem durch die Aktion herbeigeführten nächsten Zustand herangeführt wird. Die Differenz zwischen diesen ändert sich in Abhängigkeit zu dem Diskontierungsfaktor γ und der Belohnung rt+1. Im Grunde genommen verläuft der Mechanismus jedoch so, dass ein Wert der besten Aktion in einem Zustand auf einen Wert einer Aktion in einem Zustand, welcher diesem Zustand unmittelbar vorangeht, übertragen wird.
  • Im Rahmen des Q-Lernens besteht ein Lernverfahren in der Erstellung einer Tabelle von Wertfunktionen Q (S, A) für jedes Zustands/Aktions-Paar (S, A). Wenn jedoch die Werte der Wertfunktion (S, A) aller Zustands/Aktions-Paare bestimmt, ist die Anzahl der Zustände zu groß und es kommt zu einem Fall, in welchem viel Zeit zur Abarbeitung des Q-Lernvorgangs erforderlich ist.
  • Demgemäß kann beim Q-Lernen eine bekannte Technik zum Einsatz kommen, die als tiefes Q-Netzwerk (Deep Q-Network oder DQN) bezeichnet wird. Insbesondere kann beim Q-Lernen durch die Verwendung eines angemessenen neuronalen Netzwerks eine Wertfunktion Q konfiguriert werden und ein Parameter des neuronalen Netzwerks angepasst werden, um sich über das neuronale Netzwerk der Wertfunktion Q anzunähern, um den Wert der Wertfunktion Q (S, A) zu berechnen. Durch die Verwendung des tiefen Q-Netzwerks DQN lässt sich die für die Abarbeitung des Q-Lernvorgangs benötigte Zeit verkürzen. Das DQN-Netzwerk wird beispielsweise in dem nachfolgenden Nicht-Patentdokument eingehend beschrieben.
  • [Nicht-Patentdokumente]
  • „Human-level control through deep reinforcement learning“, Volodymyr Mnihl [online], [abgerufen am 17. Januar 2017], Internet <URL: http://files.davidqiu.com/research/nature14236.pdf>.
  • Der weiter oben beschriebene Q-Lernvorgang wird durch die Maschinenlernvorrichtung 200 durchgeführt. Im Besonderen lernt die Maschinenlernvorrichtung 200 die Wertfunktion Q des Auswählens der Anpassung der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 bezogen auf einen Zustand S als die Aktion A, indem Werte der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 in der Servomotor-Regeleinrichtung 100 und ein Servozustand, wie etwa ein Befehl und eine Rückmeldung, derart eingestellt werden, dass sie den Zustand S darstellen. Der Servozustand umfasst Positionsfehlerdaten der Servomotor-Regeleinrichtung 100, die durch das Ausführen des Auswertungsprogramms erfasst werden.
  • Die Maschinenlernvorrichtung 200 beobachtet die Zustandsdaten S einschließlich eines Servozustands, wie etwa eines Befehls und einer Rückmeldung, einschließlich der Positionsfehlerdaten der Servomotor-Regeleinrichtung 100, die durch das Ausführen des Auswertungsprogramms basierend auf den Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 erfasst werden, um die Aktion A zu bestimmen. Die Maschinenlernvorrichtung 200 vergibt jedesmal, wenn die Aktion A ausgeführt wird, eine Belohnung. Die Maschinenlernvorrichtung 200 sucht beispielsweise mittels Trial-and-Error-Verfahren nach einer optimalen Aktion A, so dass sich die Gesamtbelohnung in der Zukunft maximiert. Dadurch kann die Maschinenlernvorrichtung 200 die optimale Aktion A (das heißt, die optimalen Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111) in Bezug auf den Zustand S einschließlich des Servozustands, wie etwa eines Befehls und einer Rückmeldung, und unter Miteinbeziehung der Positionsfehlerdaten der Servomotor-Regeleinrichtung 100, die durch das Ausführen des Auswertungsprogramms basierend auf den Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 gewonnen werden, auswählen.
  • Das heißt, die Maschinenlernvorrichtung 200 wählt aus den Aktionen A, welche auf die auf einen Zustand S bezogenen Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 angewendet werden, jene Aktion A aus, mit welcher der Wert der von der Maschinenlernvorrichtung 200 gelernten Wertfunktion Q das Maximum erreicht, um die Aktion A auszuwählen, mit welcher der durch das Ausführen des Auswertungsprogramms gewonnene Positionsfehler (das heißt, die Kombination der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111) das Minimum erreicht.
  • 10 ist ein Blockdiagramm, das eine Maschinenlernvorrichtung 200 gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Zur Durchführung des weiter oben beschriebenen verstärkenden Lernens umfasst die Maschinenlernvorrichtung 200, wie in 10 gezeigt, die Zustandsdatenerfassungseinheit 201, eine Lerneinheit 202, die Aktionsdatenausgabeeinheit 203, eine Wertfunktionsspeichereinheit 204 und eine Optimierungsaktionsdatenausgabeeinheit 205.
  • Die Zustandsdatenerfassungseinheit 201 erfasst einen Zustand S einschließlich des Servozustands, wie etwa des Befehls und der Rückmeldung, und unter Einbeziehung der Positionsfehlerdaten der Servomotor-Regeleinrichtung 100, die durch das Ausführen des Auswertungsprogramms von der Servomotor-Regeleinrichtung 100 basierend auf den Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 in der Servomotor-Regeleinrichtung 100 erfasst werden. Die Zustandsdaten S entsprechen dem Umweltzustand S im Rahmen des Q-Lernvorgangs. Die Zustandsdatenerfassungseinheit 201 gibt die erfassten Zustandsdaten S an die Lerneinheit 202 aus. Ein Benutzer erzeugt vorab die Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 zu dem Zeitpunkt, zu dem der Q-Lernvorgang zum ersten Mal gestartet wird. Bei der vorliegenden Ausführungsform werden ursprünglich eingestellte Werte für die Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111, die durch den Benutzer erzeugt worden sind, durch das verstärkende Lernen angepasst, um optimalere Werte zu erhalten.
  • Bei der Lerneinheit 202 handelt es sich um eine Einheit, welche die Wertfunktion Q (A, S) erlernt, die gegeben ist, wenn eine Aktion A bei einem Umweltzustand S ausgewählt wird. Im Besonderen umfasst die Lerneinheit 202 die Belohnungsausgabeeinheit 2021, die Wertfunktionsaktualisierungseinheit 2022 und die Aktionsdatenerzeugungseinheit 2023.
  • Bei der Belohnungsausgabeeinheit 2021 handelt es sich um eine Einheit, welche die Belohnung berechnet, die sich ergibt, wenn die Aktion A in einem Zustand S ausgewählt wird. Ein Satz von Positionsfehlern (Positionsfehlersatz), bei dem es sich um eine Zustandsvariablennummer in dem Zustand S handelt, wird durch PD(S) dargestellt, und ein Positionsfehlersatz, bei dem es sich um eine Zustandsvariablennummer bezogen auf die Zustandsdaten S' handelt, die sich aufgrund der Aktionsdaten A (Kompensation der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111) verändert haben, wird durch PD(S') dargestellt. Ein Wert des Positionsfehlers in dem Zustand S ist ein Wert, welcher basierend auf einer Auswertungsfunktion f(PD(S)) berechnet wird, die vorab festgelegt wird. Als Auswertungsfunktion f kann beispielsweise
    eine Funktion zum Berechnen eines integrierten Werts von einem Absolutwert des Positionsfehlers | e | dt ,
    Figure DE102018211148A1_0004
    eine Funktion zum Berechnen eines integrierten Werts durch Gewichten des Absolutwerts des Positionsfehlers über die Zeit | e | dt ,
    Figure DE102018211148A1_0005
    eine Funktion zum Berechnen eines integrierten Werts der 2n-ten (n ist eine natürliche Zahl) Potenz des Positionsfehlers
    ∫e2ndt (n ist eine natürliche Zahl), oder
    eine Funktion zum Berechnen des Maximalwerts des Absolutwerts des Positionsfehlers Max { | e | }
    Figure DE102018211148A1_0006
    angewendet werden. Es ist anzumerken, dass die Auswertungsfunktion nicht hierauf beschränkt ist. Es ist ausreichend, dass es sich bei der Auswertungsfunktion um eine Funktion zum angemessenen Auswerten des Positionsfehlerwerts in dem Zustand S basierend auf dem Positionsfehlersatz PD(S) handelt.
  • Wenn ein Wert f(PD(S')) des Positionsfehlers der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, nachdem die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S' durchgeführt worden ist, größer ist als der Wert f(PD(S)) des Positionsfehlerwerts f der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, bevor die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S durchgeführt worden ist, so legt die Belohnungsausgabeeinheit 2021 einen Belohnungswert als einen negativen Wert fest.
  • Wenn andererseits der Wert f(PD(S')) des Positionsfehlers der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, nachdem die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S' durchgeführt worden ist, kleiner ist als der Wert f(PD(S)) des Positionsfehlerwerts f der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, bevor die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S durchgeführt worden ist, so legt die Belohnungsausgabeeinheit 2021 einen Belohnungswert als einen positiven Wert fest.
  • Wenn der Wert f(PD(S')) des Positionsfehlers der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, nachdem die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S' durchgeführt worden ist, gleich groß ist wie der Wert f(PD(S)) des Positionsfehlerwerts f der Servomotor-Regeleinrichtung 100, welche unter Heranziehung des nichtlinearen Reibungskompensators 111 einen Regelvorgang vorgenommen hat, bevor die Korrektur der durch die Aktionsdaten A zu korrigierenden Zustandsdaten S durchgeführt worden ist, so legt die Belohnungsausgabeeinheit 2021 einen Belohnungswert beispielsweise mit Null fest.
  • Der negative Wert, der festgelegt wird, wenn der Wert f(PD(S')) des Positionsfehlers des Zustands S' nach der Durchführung der Aktion A größer ist als der Wert f(PD(S)) des Positionsfehlers in dem vorigen Zustand S, kann gemäß einer Verhältniszahl größer sein. Das heißt, der negative Wert kann je nach Ausmaß der Erhöhung des Werts für den Positionsfehler entsprechend größer sein. Andererseits kann der positive Wert, der festgelegt wird, wenn der Wert f(PD(S')) des Positionsfehlers des Zustands S', nachdem die Aktion A durchgeführt worden ist, kleiner ist als der Wert f(PD(S)) des Positionsfehlers in dem vorigen Zustand S, gemäß einer Verhältniszahl größer sein. Das heißt, der positive Wert kann je nach Ausmaß der Verringerung des Werts für den Positionsfehler entsprechend größer sein.
  • Die Wertfunktionsaktualisierungseinheit 2022 führt den Q-Lernvorgang basierend auf dem Zustand S, der Aktion A, dem Zustand S', der gegeben ist, wenn die Aktion A auf den Zustand S angewendet ist, und auf dem wie oben beschrieben berechneten Belohnungswert durch, um die Wertfunktion Q zu aktualisieren, die in der Wertfunktionsspeichereinheit 204 abgespeichert wird. Das Aktualisieren der Wertfunktion Q kann durch Online-Lernen, Batch-Lernen oder Mini-Batch-Lernen durchgeführt werden.
  • Beim Online-Lernen handelt es sich um eine Lernmethode, die darin besteht, eine Aktion A auf den aktuellen Zustand S anzuwenden, um die Wertfunktion Q, jedes Mal wenn der Zustand S einen Übergang in einen neuen Zustand S' erfährt, unmittelbar zu aktualisieren. Beim Batch-Lernen handelt es sich um eine Lernmethode, die darin besteht, den Übergang von dem Zustand S in den neuen Zustand S' zu wiederholen, um Lerndaten zu sammeln und um die Aktualisierung der Wertfunktion Q durch die Verwendung aller gesammelten Lerndaten durchzuführen. Darüber hinaus stellt das Mini-Batch-Lernen eine zwischen dem Online-Lernen und dem Batch-Lernen angesiedelte Lernmethode dar, und handelt es sich dabei um eine Lernmethode, die darin besteht, den Aktualisierungsvorgang der Wertfunktion Q jedes mal dann vorzunehmen, wenn sich bestimmte Lerndatenstücke angesammelt haben.
  • Die Aktionsdatenerzeugungseinheit 2023 wählt in einem Prozess des Q-Lernens die Aktion A in Bezug auf den aktuellen Zustand S aus. Die Aktionsdatenerzeugungseinheit 2023 erzeugt die Aktionsdaten A, um zu bewirken, dass der (der Aktion A in dem Q-Lernvorgang entsprechende) Vorgang des Korrigierens eines jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 der Servomotor-Regeleinrichtung 100 im Rahmen des durchzuführenden Q-Lernprozesses durchgeführt wird, um die erzeugten Aktionsdaten A an die Aktionsdatenausgabeeinheit 203 auszugeben. Im Spezielleren bewirkt beispielsweise die Aktionsdatenerzeugungseinheit 2023 ein inkrementelles Hinzufügen oder Abziehen eines jeden der in der Aktion A enthaltenen Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 in Bezug auf einen jeden der in dem Zustand S enthaltenen Kompensationskoeffizienten des nichtlinearen Reibungskompensators 111.
  • Wenn ein Erhöhen oder Verringern eines jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 angewendet wird, ein Übergang in den Zustand S' erfolgt und eine positive Belohnung (eine Belohnung mit positivem Wert) gegeben wird, kann die Aktionsdatenerzeugungseinheit 2023 als nächste Aktion A' eine Maßnahme setzen, die darin besteht, die Aktion A' derart auszuwählen, dass der Wert des Positionsfehlers geringer wird, etwa durch inkrementelles Hinzufügen oder Abziehen, ähnlich der vorigen Aktion, in Bezug auf einen jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111.
  • Wenn hingegen eine negative Belohnung (eine Belohnung mit negativem Wert) gegeben wird, kann die Aktionsdatenerzeugungseinheit 2023 als nächste Aktion A' beispielsweise eine Maßnahme setzen, die darin besteht, die Aktion A' derart auszuwählen, dass der Wert des Positionsfehlers geringer ist als der vorige Wert, etwa durch inkrementelles Abziehen oder im Gegenteil Hinzufügen zu der vorigen Aktion, in Bezug auf einen jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111.
  • Die Aktionsdatenerzeugungseinheit 2023 kann eine Maßnahme zur Auswahl der Aktion A' durch ein bekanntes Verfahren, etwa das Greedy-Verfahren zur Auswahl der Aktion A' mit der höchsten Wertfunktion Q (S, A) aus derzeit abgeschätzten Werten der Aktion A, oder das ε-Greedy-Verfahren zur zufälligen Auswahl der Aktion A' mit einer geringen Wahrscheinlichkeit ε, und ansonsten zur Auswahl der Aktion A' mit der höchsten Wertfunktion Q (S, A) treffen.
  • Bei der Aktionsdatenausgabeeinheit 203 handelt es sich um eine Einheit, welche die von der Lerneinheit 202 ausgegebenen Aktionsdaten A an die Servomotor-Regeleinrichtung 100 überträgt. Wie weiter oben beschrieben, korrigiert die Servomotor-Regeleinrichtung 100 geringfügig den aktuellen Zustand S, das heißt einen jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111, die derzeit basierend auf den Aktionsdaten gesetzt sind, im Sinne eines Übergangs in den nächsten Zustand S' (das heißt zu den korrigierten Kompensationskoeffizienten des nichtlinearen Reibungskompensators 111).
  • Bei der Wertfunktionsspeichereinheit 204 handelt es sich um eine Speichervorrichtung, welche die Wertfunktion Q speichert. Die Wertfunktion Q kann beispielsweise für jeden Zustand S und jede Aktion A jeweils in einer Tabelle (nachfolgend Aktionswerttabelle genannt) abgespeichert werden. Die in der Wertfunktionsspeichereinheit 204 abgespeicherte Wertfunktion Q wird durch die Wertfunktionsaktualisierungseinheit 2022 aktualisiert. Die in der Wertfunktionsspeichereinheit 204 abgespeicherte Wertfunktion Q kann mit den anderen Maschinenlernvorrichtungen 200 geteilt werden. Wird die Wertfunktion Q von einer Mehrzahl von Maschinenlernvorrichtungen 200 gemeinsam genutzt, kann ein verteiltes verstärkendes Lernen durch die Maschinenlernvorrichtungen 200 erfolgen. Der Wirkungsgrad des verstärkenden Lernens lässt sich dadurch verbessern.
  • Die Optimierungsaktionsdatenausgabeeinheit 205 erzeugt die Aktionsdaten A (nachfolgend „Optimierungsaktionsdaten“ genannt), um den nichtlinearen Reibungskompensator 111 dazu zu veranlassen, einen Betriebsvorgang durchzuführen, mit welchem die Wertfunktion Q (S, A) ein Maximum erreicht, und zwar basierend auf der Wertfunktion Q, die im Zuge der Durchführung des Q-Lernvorgangs durch die Wertfunktionsaktualisierungseinheit 2022 aktualisiert worden ist. Im Spezielleren erfasst die Optimierungsaktionsdatenausgabeeinheit 205 die in der Wertfunktionsspeichereinheit 204 abgespeicherte Wertfunktion Q. Diese Wertfunktion Q wird, wie weiter oben beschrieben, im Zuge der Durchführung des Q-Lernvorgangs durch die Wertfunktionsaktualisierungseinheit 2022 aktualisiert. Anschließend erzeugt die Optimierungsaktionsdatenausgabeeinheit 205 die Aktionsdaten basierend auf der Wertfunktion Q, um die erzeugten Aktionsdaten an die Servomotor-Regeleinrichtung 100 (den nichtlinearen Reibungskompensator 111) auszugeben. Diese Optimierungsaktionsdaten umfassen Daten zum Korrigieren eines jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111, ähnlich den Aktionsdaten, die im Prozess des Q-Lernens durch die Aktionsdatenausgabeeinheit 203 ausgegeben werden.
  • Bei der Servomotor-Regeleinrichtung 100 wird ein jeder der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 basierend auf diesen Aktionsdaten korrigiert. Demzufolge kann die Servomotor-Regeleinrichtung 100 darauf hinwirken, den Wert des Positionsfehlers zu verringern. Wie weiter oben beschrieben, lässt sich durch die Verwendung der Maschinenlernvorrichtung 200 gemäß der vorliegenden Erfindung die Parameteranpassung des nichtlinearen Reibungskompensators 111 der Servomotor-Regeleinrichtung 100 vereinfachen.
  • Die in der Servomotor-Regeleinrichtung 100 enthaltenen Funktionsblöcke und die Maschinenlernvorrichtung 200 sind weiter oben beschrieben worden. Um diese Funktionsblöcke zu realisieren, umfassen die Servomotor-Regeleinrichtung 100 und die Maschinenlernvorrichtung 200 jeweils eine Vorgangsverarbeitungseinrichtung etwa in Form einer zentralen Recheneinheit (CPU). Die Servomotor-Regeleinrichtung 100 und die Maschinenlernvorrichtung 200 können jeweils eine Sub-Speichereinrichtung, wie etwa ein Festplattenlaufwerk (HDD), auf der verschiedene Steuerprogramme, wie etwa Anwendungssoftware und ein Betriebssystem (OS) abgespeichert sind, und eine Hauptspeichereinrichtung, wie etwa einen Direktzugriffsspeicher (RAM) zum Abspeichern von Daten, welche temporär zur Ausführung des Programms durch die Vorgangsverarbeitungseinrichtung benötigt werden, umfassen
  • Während in der Servomotor-Regeleinrichtung 100 und in der Maschinenlernvorrichtung 200 jeweils die Anwendungssoftware und das Betriebssystem OS von der Sub-Speichereinrichtung ausgelesen werden und die ausgelesene Anwendungssoftware samt OS in die Hauptspeichereinrichtung dekomprimiert wird, führt die Vorgangsverarbeitungseinrichtung basierend auf der Anwendungssoftware und dem OS eine Vorgangsverarbeitung durch. Auf der Basis des Ergebnisses dieses Vorgangs werden verschiedene in jeder Einrichtung enthaltene Hardwarekomponenten geregelt. Dadurch werden die Funktionsblöcke der vorliegenden Ausführungsform realisiert. Das heißt, die vorliegende Ausführungsform kann durch ein Zusammenwirken von Hardware und Software realisiert werden.
  • Die Maschinenlernvorrichtung 200 führt eine große Anzahl von Vorgängen im Zusammenhang mit dem Maschinenlernvorgang durch. Somit ist es beispielsweise wünschenswert, dass ein Personalcomputer mit Grafikprozessoreinheiten (GPUs) ausgerüstet ist und dass die GPUs zur Vorgangsverarbeitung in Verbindung mit Maschinenlernvorgängen im Rahmen einer Technik verwendet werden, welche unter der Bezeichnung ‚General Purpose Computation on Graphics Processing Units‘ (GPGPU) oder Allzweck-Berechnungen auf Grafikprozessoreinheiten bekannt ist. Die Maschinenlernvorrichtung 200 ist in der Lage, durch die Verwendung der GPU Hochgeschwindigkeitsverarbeitungen durchzuführen. Ferner können zum Zweck der Erzielung höherer Verarbeitungsgeschwindigkeiten eine Mehrzahl solcher mit der GPU ausgerüsteter Computer dazu verwendet werden, einen Rechnercluster zu bilden, so dass die Maschinenlernvorrichtung 200 eine parallele Verarbeitung durch die Mehrzahl der in dem Rechnercluster enthaltenen Computer durchführt.
  • Als Nächstes wird die Betriebsweise der Maschinenlernvorrichtung 200 zum Zeitpunkt des Q-Lernvorgangs in der vorliegenden Ausführungsform unter Bezugnahme auf ein Ablaufdiagramm aus 11 beschrieben. Es wird hier ein Fall beschrieben, bei dem die Geometrie einen Kreis darstellt. Die Geometrie kann jedoch auch ein Quadrat darstellen und die Maschinenlernvorrichtung 200 kann aufeinanderfolgend Fälle erlernen, bei denen die Geometrie einen Kreis, ein Quadrat oder dergleichen darstellt.
  • In Schritt S11 erfasst die Zustandsdatenerfassungseinheit 201 die von der Servomotor-Regeleinrichtung 100 kommenden Zustandsdaten S. Die erfassten Zustandsdaten werden an die Wertfunktionsaktualisierungseinheit 2022 und die Aktionsdatenerzeugungseinheit 2023 ausgegeben. Wie weiter oben beschrieben, handelt es sich bei den Zustandsdaten S um Daten, die einem Zustand in dem Q-Lernvorgang entsprechen, und umfassen diese einen jeden der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 zum Zeitpunkt des Schritts S11. Auf diese Weise lässt sich aus dem nichtlinearen Reibungskompensator 111 ein eingestellter PD(S) für den Positionsfehler erhalten, welcher einer Kreis-Geometrie entspricht, wenn die Kompensationskoeffizienten Anfangswerte darstellen.
  • Wie weiter oben beschrieben, werden die Koeffizienten c, d des nichtlinearen Reibungskompensators 111 im Ausgangszustand S0 ursprünglich durch einen Benutzer eingestellt.
  • Der Wert PD(so) des Positionsfehlers in dem Zustand S0 zu dem Zeitpunkt, da der Q-Lernvorgang das erste mal gestartet wird, wird durch das Subtrahierglied 102 gewonnen, indem die Servomotor-Regeleinrichtung 100 durch das Auswertungsprogramm in Betrieb genommen wird. Die Positionsbefehlserzeugungseinheit 101 gibt aufeinanderfolgend den Positionsbefehl in einer durch das Auswertungsprogramm spezifizierten Kreis-Geometrie aus. Der Positionsbefehlswert, welcher der Geometrie entspricht, die einen Kreis darstellt, wird von der Positionsbefehlserzeugungseinheit 101 ausgegeben und das Subtrahierglied 102 gibt eine Differenz zwischen dem Positionsbefehlswert und einer von dem Integrator 108 ausgegebenen Detektionsposition als Positionsfehler PD(S0) an die Maschinenlernvorrichtung 200 aus.
  • In Schritt S12 erzeugt die Aktionsdatenerzeugungseinheit 2023 neue Aktionsdaten A, um die erzeugten neuen Aktionsdaten A über die Aktionsdatenausgabeeinheit 203 an die Servomotor-Regeleinrichtung 100 auszugeben. Die Aktionsdatenerzeugungseinheit 2023 gibt die neuen Aktionsdaten basierend auf der weiter oben beschriebenen Messung aus. Die Servomotor-Regeleinrichtung 100, welche die Aktionsdaten A empfangen hat, treibt die Werkzeugmaschine einschließlich des Servomotors gemäß dem Zustand S' an, in welchem ein jeder der auf den aktuellen Zustand S bezogenen Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 basierend auf den empfangenen Aktionsdaten korrigiert wird. Wie weiter oben beschrieben, entsprechen diese Aktionsdaten der Aktion A in dem Q-Lernvorgang.
  • In Schritt S13 erfasst die Zustandsdatenerfassungseinheit 201 in dem neuen Zustand S' den von Subtrahierglied 102 kommenden Positionsfehler PD(S') und die von dem nichtlinearen Reibungskompensator 111 kommenden Kompensationskoeffizienten c, d. Auf diese Weise erfasst die Zustandsdatenerfassungseinheit 201 den eingestellten PD(S') für den Positionsfehler, welcher einer Kreis-Geometrie entspricht, wenn es sich bei den Kompensationskoeffizienten um die von dem nichtlinearen Reibungskompensator 111 kommenden Kompensationskoeffizienten c, d in dem Zustand S' handelt. Die erfassten Zustandsdaten werden an die Belohnungsausgabeeinheit 2021 ausgegeben.
  • In Schritt S14 bestimmt die Belohnungsausgabeeinheit 2021 die Größenbeziehung zwischen dem Wert f(PD(S')) des Positionsfehlers in dem Zustand S' und dem Wert f(PD(S)) des Positionsfehlers in dem Zustand S. Wenn es zutrifft, dass f(PD(S'))>f(PD(S)) ist, stellt die Belohnungsausgabeeinheit 2021 die Belohnung in Schritt S15 auf einen negativen Wert ein. Wenn es zutrifft, dass f(PD(S'))<f(PD(S)) ist, stellt die Belohnungsausgabeeinheit 2021 die Belohnung in Schritt S16 auf einen positiven Wert ein. Wenn es zutrifft, dass f(PD(S'))=f(PD(S)) ist, stellt die Belohnungsausgabeeinheit 2021 die Belohnung in Schritt S17 auf Null ein. Die Belohnungsausgabeeinheit 2021 kann eine Gewichtung in Bezug auf den negativen Wert und den positiven Wert der Belohnung vornehmen.
  • Wenn irgendeiner von Schritt S15, Schritt S16 und Schritt S17 endet, aktualisiert die Wertfunktionsaktualisierungseinheit 2022 in Schritt 18 die in der Wertfunktionsspeichereinheit 204 abgespeicherte Wertfunktion Q basierend auf dem in einem dieser Schritte berechneten Belohnungswert. Danach kehrt die Verarbeitung zu Schritt 11 zurück und es wird die oben beschriebene Verarbeitung wiederholt. Dadurch stellt sich die Wertfunktion Q auf einen angemessenen Wert ein. Die oben beschriebene Verarbeitung kann mit einem Zustand enden, in dem die Verarbeitung eine vorbestimmte Anzahl von Malen oder während einer vorbestimmten Zeitdauer wiederholt worden ist. Obwohl hier die Online-Aktualisierung für den Schritt S18 beispielhaft beschrieben ist, können stattdessen ebenso gut auch die Batch-Aktualisierung oder die Mini-Batch-Aktualisierung durchgeführt werden.
  • Wie weiter oben beschrieben, weist die vorliegende Ausführungsform durch die in Bezug auf 11 beschriebene Betriebsweise eine Wirkung auf, die in der Lage ist, eine angemessene Wertfunktion zum Anpassen der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111 zu erzielen, indem die Maschinenlernvorrichtung 200 dazu verwendet wird, die Optimierung der Kompensationskoeffizienten c, d für die Vorsteuerung zu vereinfachen. Als Nächstes wird die Betriebsweise zum Zeitpunkt der Erzeugung von Optimierungsaktionsdaten durch die Optimierungsaktionsdatenausgabeeinheit 205 unter Bezugnahme auf ein Ablaufdiagramm aus 12 beschrieben. Als Erstes erhält in Schritt S21 die Optimierungsaktionsdatenausgabeeinheit 205 die in der Wertfunktionsspeichereinheit 204 abgespeicherte Wertfunktion Q. Die Wertfunktion Q ist, wie weiter oben beschrieben, im Zuge der Durchführung des Q-Lernvorgangs durch die Wertfunktionsaktualisierungseinheit 2022 aktualisiert worden.
  • In Schritt S22 generiert die Optimierungsaktionsdatenausgabeeinheit 205 die Optimierungsaktionsdaten basierend auf der Wertfunktion Q, um die erzeugten Optimierungsaktionsdaten an den nichtlinearen Reibungskompensator 111 der Servomotor-Regeleinrichtung 100 auszugeben.
  • Durch die in Bezug auf 12 beschriebene Betriebsweise werden in der vorliegenden Ausführungsform die Optimierungsaktionsdaten basierend auf der Wertfunktion Q generiert, die durch Lernen durch die Maschinenlernvorrichtung 200 bestimmt wird, und kann die Anpassung der Kompensationskoeffizienten c, d des nichtlinearen Reibungskompensators 111, die aktuell durch die Servomotor-Regeleinrichtung 100 eingestellt wird, basierend auf den Optimierungsaktionsdaten vereinfacht werden und kann der Wert des Positionsfehlers verringert werden.
  • Die durch die Maschinenlernvorrichtung gemäß der vorliegenden Ausführungsform erzielten Auswirkungen werden weiter unten unter Bezugnahme auf 13 und 14 beschrieben. 13 ist ein Diagramm, das einen Bewegungspfad des Tischs vor der Parameteranpassung eines nichtlinearen Reibungskompensators durch den Maschinenlernvorgang zeigt. 14 ist ein Diagramm, das einen Bewegungspfad des Tischs nach der Parameteranpassung des nichtlinearen Reibungskompensators durch den Maschinenlernvorgang zeigt. 13 und 14 zeigen gleichermaßen einen Bewegungspfad, welcher gegeben ist, wenn sich der in dem Regelziel enthaltene Tisch gemäß einer Sinuswellenform in der X-Achsenrichtung oder der Y-Achsenrichtung bewegt, wie dies in 5 gezeigt ist. Wie in 13 gezeigt, kommt es, bevor der Parameter des nichtlinearen Reibungskompensators 111 durch den Maschinenlernvorgang angepasst wird, wenn die Drehrichtung des Servomotors versucht, sich zu invertieren, zu einer Inversionsverzögerung, wie der durch eine durchgehende Linie gezeigte Bewegungspfad in Bezug auf den durch eine gestrichelte Linie gezeigten Bewegungspfad des Tischs gemäß einer Sinuswellenform veranschaulicht. Diese Inversionsverzögerung tritt aufgrund von nichtlinearer Reibung auf und der Tisch invertiert und bewegt sich nicht unverzüglich. Wie in 14 gezeigt, ist nach vollzogener Anpassung des Parameters des nichtlinearen Reibungskompensators 111 durch den Maschinenlernvorgang die durch die nichtlineare Reibung bedingte Inversionsverzögerung beseitigt und bewegt sich der Tisch in dem sinuswellenförmigen Bewegungspfad wie durch die durchgehende Linie gezeigt. Die Pfeile in 13 und 14 zeigen Inversionspositionen.
  • Wie in 6 gezeigt, tritt selbst dann, wenn sich der in dem Regelziel enthaltene Tisch vor der Anpassung des Parameters des nichtlinearen Reibungskompensators 111 durch den Maschinenlernvorgang, ähnlich wie bei der Bewegung des Tischs in der Sinuswellenform, in einer Dreieckwellenform in der X-Achsenrichtung oder der Y-Achsenrichtung bewegt, die durch die nichtlineare Reibung bedingte Inversionsverzögerung ein, wenn sich die Drehrichtung des Servomotors zu invertieren versucht. Das heißt, die durch die nichtlineare Reibung bedingte Inversionsverzögerung tritt in Bezug auf den dreieckwellenförmigen Bewegungspfad des Tischs auf, welcher in der Positionsbefehlserzeugungseinheit 101 eingestellt ist, und es kommt zu keiner unverzüglichen Inversionsbewegung des Tischs. Jedoch ist nach vollzogener Anpassung des Parameters des nichtlinearen Reibungskompensators 111 durch den Maschinenlernvorgang die durch die nichtlineare Reibung bedingte Inversionsverzögerung beseitigt und bewegt sich der Tisch in dem dreieckwellenförmigen Bewegungspfad wie durch die durchgehende Linie gezeigt.
  • Die Servomotor-Regeleinheit der weiter oben beschriebenen Servomotor-Regeleinrichtung sowie eine jede der in der Maschinenlernvorrichtung enthaltenen Komponenten können durch Hardware, Software oder eine Kombination daraus realisiert sein. Das Servomotor-Regelverfahren, welches durch das Zusammenwirken zwischen einer jeden der in der weiter oben beschriebenen Servomotor-Regeleinrichtung enthaltenen Komponenten durchgeführt wird, kann ebenfalls durch Hardware, Software oder eine Kombination daraus realisiert sein. Die Formulierung „durch Software realisiert“ bedeutet durch Einlesen und Ausführen eines Programms mittels eines Computers realisiert.
  • Das Programm kann unter Verwendung von verschiedenen Arten von nicht-flüchtigen computerlesbaren Medien abgespeichert sein und dem Computer bereitgestellt werden. Die nicht-flüchtigen computerlesbaren Medien umfassen verschiedene Arten von materiellen Speichermedien. Als Beispiele für nicht-flüchtige computerlesbare Medien sind zu nennen: ein magnetisches Aufzeichnungsmedium (beispielsweise ein Festplattenlaufwerk), ein magneto-optisches Aufzeichnungsmedium (beispielsweise eine magneto-optische Speicherplatte), eine CD-ROM (Festwertspeicher), eine beschreibbare CD (CD-R), eine wiederbeschreibbare CD (CD-RW), ein Halbleiterspeicher (beispielsweise ein Festwertspeicher durch Maskenprogrammierung), ein programmierbarer Festwertspeicher (PROM), ein lösch- und programmierbarer Festwertspeicher (EPROM), ein Flash-ROM und ein Direktzugriffsspeicher (RAM).
  • Die oben beschriebene Ausführungsform stellt zwar eine bevorzugte Ausführungsform der vorliegenden Erfindung dar, der Umfang der Erfindung ist jedoch nicht darauf beschränkt. Die vorliegende Erfindung kann auch in einer Ausführungsform umgesetzt sein, bei welcher verschiedene Modifikationen vorgenommen sind, ohne dass dadurch von dem Umfang der vorliegenden Erfindung abgewichen wird.
  • <Wenn die Geschwindigkeitsvorsteuerungsberechnungseinheit 110 auf optional eingestellt ist>
  • In den weiter oben beschriebenen Ausführungsformen wird die Servomotor-Regeleinrichtung 100 mit der Geschwindigkeitsvorsteuerungsberechnungseinheit 110 und mit einer Auslegung beschrieben, in welcher der nichtlineare Reibungskompensator 111 mit der Geschwindigkeitsvorsteuerungsberechnungseinheit 110 parallel geschaltet ist, ohne jedoch darauf beschränkt zu sein. Die Geschwindigkeitsvorsteuerungsberechnungseinheit 110 kann auch eine Option darstellen und die Servomotor-Regeleinrichtung 100 kann unter Umständen die Geschwindigkeitsvorsteuerungsberechnungseinheit 110 nicht umfassen.
  • <Modifikation, bei welcher die Servomotor-Regeleinrichtung die Maschinenlernvorrichtung umfasst>
  • In den weiter oben beschriebenen Ausführungsformen handelt es sich bei der Maschinenlernvorrichtung 200 um eine Vorrichtung, die getrennt von der Servomotor-Regeleinrichtung 100 vorliegt. Ein Teil oder die Gesamtheit der Funktion der Maschinenlernvorrichtung 200 kann durch die Servomotor-Regeleinrichtung 100 realisiert sein. Das heißt, die Servomotor-Regeleinrichtung 100 kann die Maschinenlernvorrichtung 200 umfassen.
  • <Freiheitsgrad der Systemauslegung>
  • Bei der weiter oben beschriebenen Ausführungsform sind die Maschinenlernvorrichtung 200 und die Servomotor-Regeleinrichtung 100 als eins zu eins zugeordnete Gruppe kommunikativ verbunden. Es ist jedoch beispielsweise eine Maschinenlernvorrichtung 200 über ein Netzwerk 400 kommunikativ mit einer Mehrzahl von Servomotor-Regeleinrichtungen 100 verbunden, um einen Maschinenlernvorgang mit einem jeden der Servomotor-Regeleinrichtungen 100 durchzuführen. Dabei können jeweilige Funktionen der Maschinenlernvorrichtung 200 durch ein verteiltes Verarbeitungssystem realisiert sein, bei welchem die Funktionen zweckmäßigerweise über eine Mehrzahl von Servern verteilt sein können. Die Funktionen der Maschinenlernvorrichtung 200 können durch die Verwendung einer Virtual-Server-Funktion oder dergleichen in einer Cloud realisiert sein. Bei Vorliegen einer Mehrzahl von Maschinenlernvorrichtungen 200-1 bis 200-n, die jeweils einer Mehrzahl von Servomotor-Regeleinrichtungen 100-1 bis 100-n mit derselben Bezeichnung, derselben Spezifikation oder derselben Reihe entsprechen, kann das Servomotor-Regelsystem für eine gemeinsame Nutzung von Lernergebnissen in den Maschinenlernvorrichtungen 200-1 bis 200-n ausgelegt sein. Dadurch lässt sich ein optimaleres Modell einrichten.
  • Bezugszeichenliste
  • 10
    Servomotor-Regelsystem
    100
    Servomotor-Regeleinrichtung
    101
    Positionsbefehlserzeugungseinheit
    102
    Subtrahierglied
    103
    Positionsregeleinheit
    104
    Addierglied
    105
    Subtrahierglied
    106
    Geschwindigkeitsregeleinheit
    107
    Addierglied
    108
    Integrator
    109
    Positionsvorsteuerungsberechnungseinheit
    110
    Geschwindigkeitsvorsteuerungsberechnungseinheit
    111
    nichtlinearer Reibungskompensator
    200
    Maschinenlernvorrichtung
    201
    Zustandsdatenerfassungseinheit
    202
    Lerneinheit
    203
    Aktionsdatenausgabeeinheit
    204
    Wertfunktionsspeichereinheit
    205
    Optimierungsaktionsdatenausgabeeinheit
    300
    Regelziel
    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
    • JP 2016101017 [0005]
    • JP 2015018496 [0005]
    • JP 2004280565 [0005]

Claims (9)

  1. Maschinenlernvorrichtung 200, die dafür ausgelegt ist, einen Maschinenlernvorgang in Bezug auf eine Servomotor-Regeleinrichtung 100 mit einer nichtlinearen Reibungskompensationseinheit 111 durchzuführen, um basierend auf einem Positionsbefehl einen Kompensationswert in Bezug auf nichtlineare Reibung zu erzeugen, wobei die Maschinenlernvorrichtung umfasst: eine Zustandsdatenerfassungseinheit (201) zum Erfassen von Zustandsdaten, die von der Servomotor-Regeleinrichtung kommen, indem bewirkt wird, dass die Servomotor-Regeleinrichtung ein vorbestimmtes Programm ausführt, wobei die Zustandsdaten einen Servozustand mit zumindest einem Positionsfehler und eine Kombination aus Korrekturkoeffizienten der nichtlinearen Reibungskompensationseinheit umfassen; eine Aktionsdatenausgabeeinheit (203) zum Ausgeben von Aktionsdaten, einschließlich Anpassungsdaten der Kombination aus in den Zustandsdaten enthaltenen Kompensationskoeffizienten, an die Servomotor-Regeleinrichtung; eine Belohnungsausgabeeinheit (2021) zum Ausgeben eines verstärkungslernspezifischen Belohnungswerts beruhend auf dem in den Zustandsdaten enthaltenen Positionsfehler; und eine Wertfunktionsaktualisierungseinheit (2022) zum Aktualisieren einer Aktionswertfunktion basierend auf dem von der Belohnungsausgabeeinheit ausgegebenen Belohnungswert, den Zustandsdaten und den Aktionsdaten.
  2. Maschinenlernvorrichtung nach Anspruch 1, wobei die Belohnungsausgabeeinheit den Belohnungswert basierend auf einem Absolutwert des Positionsfehlers ausgibt.
  3. Maschinenlernvorrichtung nach Anspruch 1 oder 2, wobei die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit (110) zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf dem Positionsbefehl umfasst und die nichtlineare Reibungskompensationseinheit mit der Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet ist.
  4. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Maschinenlernvorrichtung ferner eine Optimierungsaktionsdatenausgabeeinheit (205) zum Erzeugen und Ausgeben einer Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit basierend auf einer durch die Wertfunktionsaktualisierungseinheit aktualisierten Wertfunktion umfasst.
  5. Servomotor-Regelsystem, welches umfasst: die Maschinenlernvorrichtung (200) nach einem der Ansprüche 1 bis 4; und eine Servomotor-Regeleinrichtung (100), die eine nichtlineare Reibungskompensationseinheit (111) zum Erzeugen eines Kompensationswerts in Bezug auf nichtlineare Reibung umfasst.
  6. Servomotor-Regelsystem nach Anspruch 5, wobei die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit (110) zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf einem Positionsbefehl umfasst und die nichtlineare Reibungskompensationseinheit mit der Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet ist.
  7. Servomotor-Regeleinrichtung, welche umfasst: die Maschinenlernvorrichtung (200) nach einem der Ansprüche 1 bis 4; und eine nichtlineare Reibungskompensationseinheit (111) zum Erzeugen eines Kompensationswerts in Bezug auf nichtlineare Reibung.
  8. Servomotor-Regeleinrichtung nach Anspruch 7, wobei die Servomotor-Regeleinrichtung ferner eine Geschwindigkeitsvorsteuerungsberechnungseinheit (110) zum Erzeugen eines Geschwindigkeitsvorsteuerungswerts basierend auf einem Positionsbefehl umfasst und die nichtlineare Reibungskompensationseinheit mit einer Geschwindigkeitsvorsteuerungsberechnungseinheit parallel geschaltet ist.
  9. Maschinenlernverfahren einer Maschinenlernvorrichtung (200), die dafür ausgelegt ist, einen Maschinenlernvorgang in Bezug auf eine Servomotor-Regeleinrichtung (100) mit einer nichtlinearen Reibungskompensationseinheit (111) durchzuführen, um basierend auf einem Positionsbefehl einen Kompensationswert in Bezug auf nichtlineare Reibung zu erzeugen, wobei das Maschinenlernverfahren umfasst, dass: Zustandsdaten, die von der Servomotor-Regeleinrichtung kommen, erfasst werden, indem bewirkt wird, dass die Servomotor-Regeleinrichtung ein vorbestimmtes Programm ausführt, wobei die Zustandsdaten einen Servozustand mit zumindest einem Positionsfehler und eine Kombination aus Kompensationskoeffizienten der nichtlinearen Reibungskompensationseinheit umfassen; Aktionsdaten, einschließlich Anpassungsdaten der Kombination aus in den Zustandsdaten enthaltenen Kompensationskoeffizienten, an die Servomotor-Regeleinrichtung ausgegeben werden; und eine Aktionswertfunktion basierend auf einem verstärkungslernspezifischen Belohnungswert, auf den Zustandsdaten und auf den Aktionsdaten, welche auf dem in den Zustandsdaten enthaltenen Positionsfehler beruhen, aktualisiert wird.
DE102018211148.0A 2017-07-18 2018-07-06 Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren Pending DE102018211148A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017138949A JP6538766B2 (ja) 2017-07-18 2017-07-18 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP2017-138949 2017-07-18

Publications (1)

Publication Number Publication Date
DE102018211148A1 true DE102018211148A1 (de) 2019-01-24

Family

ID=64951961

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018211148.0A Pending DE102018211148A1 (de) 2017-07-18 2018-07-06 Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren

Country Status (4)

Country Link
US (1) US10418921B2 (de)
JP (1) JP6538766B2 (de)
CN (1) CN109274314B (de)
DE (1) DE102018211148A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020100316B4 (de) 2019-01-16 2023-06-29 Fanuc Corporation Bestimmungsgerät

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6544219B2 (ja) * 2015-11-30 2019-07-17 オムロン株式会社 制御装置
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6646025B2 (ja) * 2017-09-15 2020-02-14 ファナック株式会社 制御装置及び機械学習装置
JP6519896B1 (ja) * 2018-03-15 2019-05-29 オムロン株式会社 学習装置、学習方法、及びそのプログラム
JP6748135B2 (ja) * 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6982557B2 (ja) * 2018-08-31 2021-12-17 株式会社日立製作所 報酬関数の生成方法及び計算機システム
KR102494187B1 (ko) * 2018-10-12 2023-01-31 미쓰비시덴키 가부시키가이샤 위치 결정 제어 장치 및 위치 결정 방법
JP6978452B2 (ja) * 2019-02-12 2021-12-08 ファナック株式会社 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法
JP7000371B2 (ja) * 2019-03-22 2022-01-19 ファナック株式会社 機械学習装置、制御システム及び機械学習方法
JP7384572B2 (ja) * 2019-05-13 2023-11-21 株式会社東芝 制御装置、制御方法、及びモータ制御システム
JP7305113B2 (ja) * 2019-05-30 2023-07-10 国立大学法人長岡技術科学大学 モータ制御装置、モータ装置および機械学習装置
JP2021002194A (ja) * 2019-06-21 2021-01-07 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP2021040239A (ja) 2019-09-03 2021-03-11 ファナック株式会社 機械学習装置、受信装置及び機械学習方法
CN112083687B (zh) * 2020-09-11 2021-06-11 苏州浩智工业控制技术有限公司 基于现场总线的速度前馈的过象限补偿方法及装置
CN112828678B (zh) * 2021-02-09 2022-03-18 蓝思智能机器人(长沙)有限公司 速度补偿方法、装置和电子设备
CN113325804B (zh) * 2021-06-08 2022-03-29 中国科学院数学与系统科学研究院 一种运动控制系统的q学习扩张状态观测器设计方法
CN113472242B (zh) * 2021-07-05 2022-07-15 江南大学 基于多智能体的抗干扰自适应模糊滑模协同控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280565A (ja) 2003-03-17 2004-10-07 Sanyo Denki Co Ltd モータの制御方法及び装置
JP2015018496A (ja) 2013-07-12 2015-01-29 三菱重工業株式会社 摩擦補償装置及び摩擦補償方法並びにサーボ制御装置
JP2016101017A (ja) 2014-11-21 2016-05-30 株式会社安川電機 モータ制御装置及びモータ制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3465236B2 (ja) * 2000-12-20 2003-11-10 科学技術振興事業団 ロバスト強化学習方式
US7437201B2 (en) * 2003-01-14 2008-10-14 Cullen Christopher P Electric motor controller
JP3943061B2 (ja) * 2003-08-22 2007-07-11 三菱電機株式会社 サーボ制御装置
JP4741637B2 (ja) * 2008-06-30 2011-08-03 ファナック株式会社 サーボモータの駆動制御装置及び駆動制御方法
CN102725956B (zh) * 2010-01-27 2015-07-01 三菱电机株式会社 马达控制装置
JP2013003845A (ja) * 2011-06-16 2013-01-07 Institute Of National Colleges Of Technology Japan 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法
CN105045103B (zh) * 2015-07-27 2018-06-29 台州学院 一种基于LuGre摩擦模型伺服机械手摩擦补偿控制系统及方法
JP6169655B2 (ja) * 2015-07-30 2017-07-26 ファナック株式会社 工作機械、シミュレーション装置、及び機械学習器
JP6106226B2 (ja) * 2015-07-31 2017-03-29 ファナック株式会社 ゲインの最適化を学習する機械学習装置及び機械学習装置を備えた電動機制御装置並びに機械学習方法
JP6193961B2 (ja) * 2015-11-30 2017-09-06 ファナック株式会社 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280565A (ja) 2003-03-17 2004-10-07 Sanyo Denki Co Ltd モータの制御方法及び装置
JP2015018496A (ja) 2013-07-12 2015-01-29 三菱重工業株式会社 摩擦補償装置及び摩擦補償方法並びにサーボ制御装置
JP2016101017A (ja) 2014-11-21 2016-05-30 株式会社安川電機 モータ制御装置及びモータ制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020100316B4 (de) 2019-01-16 2023-06-29 Fanuc Corporation Bestimmungsgerät

Also Published As

Publication number Publication date
US20190028043A1 (en) 2019-01-24
US10418921B2 (en) 2019-09-17
JP6538766B2 (ja) 2019-07-03
JP2019021024A (ja) 2019-02-07
CN109274314B (zh) 2020-04-21
CN109274314A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102019204861B4 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE112018000122T5 (de) Maschinelles-Lernen-Vorrichtung, Korrekturparameter-Anpassungssystem und Maschinelles-Lernen-Verfahren
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
DE102018003769A1 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE112017000153B4 (de) Steuerparameter-Einstellvorrichtung
DE102018133349A1 (de) Verfahren und Vorrichtung zur Momentschätzung
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102019212814A1 (de) Vorrichtung für maschinelles Lernen, Steuersystem und Verfahren für maschinelles Lernen
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102020210120A1 (de) Maschinenlernvorrichtung; steuersystem und maschinenlernverfahren
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102019104169A1 (de) Quadrantenbasierte reibungskompensation für eine schätzung der reifenlast in lenkungssystemen
DE112014006594B4 (de) Anweisungswerterzeugungsvorrichtung
DE102019216190A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen
DE102016007404A1 (de) Servosteuervorrichtung mit Funktion zur Online-Optimierung der Regelungsverstärkung unter Verwendung einer Bewertungsfunktion
DE102020200635A1 (de) Maschinenlernsystem, Steuervorrichtung und Maschinenlernverfahren für das Optimieren von Filterkoeffizienten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication