-
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) 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) Bei der weiter oben beschriebenen Maschinenlernvorrichtung gemäß Punkt (1) kann die Belohnungsausgabeeinheit den Belohnungswert basierend auf einem Absolutwert des Positionsfehlers ausgeben.
- (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) 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) 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) 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) 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) 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) 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 a
i, b
j der Geschwindigkeitsvorsteuerungsberechnungseinheit
110 handelt es sich um Konstanten, welche vorab dergestalt eingestellt werden, dass 0 ≤ i ≤ m für a
i und 0 ≤ j ≤ n für b
j erfüllt sind. Bei den Größen m, n handelt es sich um vorab eingestellte natürliche Zahlen.
-
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.
-
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) r
t] 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, r
t 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.
-
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
eine Funktion zum Berechnen eines integrierten Werts durch Gewichten des Absolutwerts des Positionsfehlers über die Zeit
eine Funktion zum Berechnen eines integrierten Werts der 2n-ten (n ist eine natürliche Zahl) Potenz des Positionsfehlers
∫e
2ndt (n ist eine natürliche Zahl), oder
eine Funktion zum Berechnen des Maximalwerts des Absolutwerts des Positionsfehlers
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]