-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Maschinenlerneinrichtung, die einen Strombefehl für einen Motor lernt, eine Motorsteuereinrichtung und ein Maschinenlernverfahren.
-
2. Beschreibung des zugehörigen Standes der Technik
-
Herkömmlicherweise wird ein Motor in eine Werkzeugmaschine, eine Formmaschine, eine Spritzgießmaschine, eine Industriemaschine, einen Industrie-/Dienstroboter oder dergleichen eingebaut und eine Motorsteuereinrichtung verwendet, die einen solchen Motor steuert. Ferner wird beispielsweise als Motor (Servomotor), der eine d/q-Dreiphasen-Koordinatentransformation einsetzt, häufig ein Dreiphasen-Wechselstrom-Permanentmagnet-Synchronmotor (PMSM) verwendet.
-
8A und 8B sind Diagramme zur Darstellung von Kenndaten eines typischen Motors, wobei 8A eine Beziehung zwischen einem Drehmoment und einer Drehzahl des Motors und 8B eine Beziehung zwischen einem d-Achsenstrom (–Id) und einem q-Achsenstrom (Iq) des Motors darstellt. Wie durch die Kennlinien CL1, CL2 und CL3 in 8A dargestellt, werden beispielsweise, wenn das Drehmoment des Motors in einem stabilen Bereich Ra auf voneinander abweichende Größen tq1, tq2 und tq3 festgelegt wird, die festgelegten Drehmomente tq1, tq2 und tq3 beibehalten und die Drehzahl nimmt zu. Dann wird die Beziehung zwischen –Id und Iq des Motors an Punkten der Bezugszeichen P1, P2 und P3 in 8B festgelegt.
-
Wie durch die Kennlinien CL1, CL2 und CL3 in 8A gezeigt, verringert sich ferner das Drehmoment des Motors jeweils von tq1, tq2 und tq3, wenn die Drehzahl des Motors von dem stabilen Bereich Ra weiter auf einen Bereich Rb ansteigt. Dann ändert sich die Beziehung zwischen –Id und Iq des Motors so, wie durch die Kennlinien CI1, CI2 und CI3 in 8B gezeigt. Demgemäß bestimmt der Motor (Servomotor) einen Stromsteuerparameter gemäß seinen Kenndaten, wofür jedoch eine große Anzahl Schritte erforderlich ist, wobei aufgrund von Änderungen einer Induktivität des Motors durch die Drehzahl und eines Stromwerts oder von Einflüssen einer magnetischen Sättigung und dergleichen das Bestimmen eines optimalen Parameters schwierig ist.
-
Im Übrigen wurde bislang eine Synchronmotorsteuereinrichtung vorgeschlagen, die durch Erhalten eines geeigneten Betriebsbefehls des d-Achsenstroms selbst dann eine schnelle Drehmomentantwort erzielen kann, wenn Faktoren variieren, die eine Temperatur, ein Drehmoment und eine Spannung eines Synchronmotors bestimmen (z. B. offengelegte
japanischen Patentveröffentlichung Nr. 2015-089236 ). Eine solche Synchronmotorsteuereinrichtung umfasst eine Magnetflussschwächungssteuereinheit, die bezüglicher einer Drehzahl und einer Spannung einen d-Achsenstrombefehlswert 1 ausgibt, um durch eine Magnetflussschwächungssteuerung eine Drehung mit hoher Drehzahl zu erreichen, und eine Maximaldrehmomentsteuereinheit, die bezüglich eines q-Achsenstromwerts einen d-Achsenstrombefehlswert 2 ausgibt, um ein maximales Drehmoment zu erzeugen. Darüber hinaus ist sie dafür eingerichtet, die d-Achsenstrombefehlswerte 1 und 2 zu einem endgültigen d-Achsenstrombefehlswert einer d-Achsenstromsteuereinheit zu kombinieren, wobei eine Magnetflussschwächungskorrektureinheit, die ein Eingangssignal und/oder ein Ausgangssignal der Magnetflussschwächungssteuereinheit korrigiert, und eine Drehmomentkorrektureinheit bereitgestellt sind, die ein Eingangssignal der Maximaldrehmomentsteuereinheit korrigiert.
-
Wie vorstehend beschrieben, wurde bislang die Synchronmotorsteuereinrichtung vorgeschlagen, die durch Erhalten eines geeigneten Strombefehls für den Motor selbst dann eine schnelle Drehmomentantwort erzielen kann, wenn Faktoren variieren, die eine Temperatur, ein Drehmoment und eine Spannung des Motors bestimmen.
-
Das Bestimmen eines Stromsteuerparameters gemäß den Kenndaten des Motors erfordert jedoch eine große Anzahl Schritte, wobei beispielsweise aufgrund von Änderungen einer Induktivität des Motors durch eine Drehzahl und eines Stromwerts des Motors oder von Einflüssen einer magnetischen Sättigung und dergleichen das Bestimmen eines optimalen Parameters schwierig ist.
-
Angesichts des Problems der vorstehend beschriebenen herkömmlichen Technik besteht ein Ziel der vorliegenden Erfindung darin, eine Maschinenlerneinrichtung, die einen Strombefehl für einen Motor lernen kann, der in Bezug auf jeden Motor optimal ist, eine Motorsteuereinrichtung und ein Maschinenlernverfahren bereitzustellen.
-
Zusammenfassung der Erfindung
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Maschinenlerneinrichtung bereitgestellt, die einen Strombefehl für einen Motor lernt, wobei die Maschinenlerneinrichtung eine Zustandsüberwachungseinheit, die eine Zustandsgröße überwacht, welche eine Motordrehzahl oder einen Motordrehmomentbefehl des Motors sowie ein Motordrehmoment, einen Motorstrom und/oder eine Motorspannung des Motors umfasst, und eine Lerneinheit umfasst, die basierend auf der durch die Zustandsüberwachungseinheit überwachten Zustandsgröße den Strombefehl für den Motor lernt.
-
Die Maschinenlerneinrichtung kann ferner eine Entscheidungseinheit umfassen, die basierend auf einem Ausgang der Lerneinheit den Strombefehl für den Motor bestimmt. Der Motor kann ein Dreiphasen-Wechselstrom-Synchronmotor sein und der Strombefehl für den Dreiphasen-Wechselstrom-Synchronmotor kann einen d-Achsenstrombefehl und einen q-Achsenstrombefehl umfassen, die elektrisch und magnetisch orthogonal zueinander sind. Das Lernen des d-Achsenstrombefehls und des q-Achsenstrombefehls kann in Bezug auf einen Rotorphasenwinkel des Dreiphasen-Wechselstrom-Synchronmotors durchgeführt werden.
-
Die Lerneinheit kann eine Belohnungsberechnungseinheit, die basierend auf einem Ausgang der Zustandsüberwachungseinheit eine Belohnung berechnet, und eine Wertfunktionsaktualisierungseinheit umfassen, die basierend auf dem Ausgang der Zustandsüberwachungseinheit und einem Ausgang der Belohnungsberechnungseinheit eine auf den Strombefehl für den Motor bezogene Wertfunktion aktualisiert. Die Belohnungsberechnungseinheit kann für jede Motordrehzahl oder jeden Motordrehmomentbefehl für den Motor die Belohnung erhöhen, wenn das Motordrehmoment zunimmt, die Belohnung verringern, wenn der Motorstrom einen vorgegebenen Wert übersteigt, und die Belohnung verringern, wenn die Motorspannung gesättigt ist.
-
Die Lerneinheit kann eine Fehlerberechnungseinheit, die basierend auf dem Ausgang der Zustandsüberwachungseinheit und überwachten Daten einen Fehler berechnet, und eine Fehlermodellaktualisierungseinheit umfassen, die basierend auf dem Ausgang der Zustandsüberwachungseinheit und einem Ausgang der Fehlerberechnungseinheit ein auf den Strombefehl für den Motor bezogenes Fehlermodell aktualisiert. Die Maschinenlerneinrichtung kann ferner ein neuronales Netz umfassen. Der durch die Maschinenlerneinrichtung gelernte Strombefehl für den Motor kann derart ausgelegt sein, dass Daten durch die Mehrzahl Maschinenlerneinrichtungen über ein Kommunikationsmedium gemeinsam genutzt oder untereinander ausgetauscht werden. Die Maschinenlerneinrichtung kann sich in einem Cloud-Server befinden.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Motorsteuereinrichtung bereitgestellt, die die Maschinenlerneinrichtung gemäß dem vorstehend beschriebenen ersten Aspekt, eine Motorantriebseinheit, die den Motor antreibt und steuert, und eine Motorsteuereinheit umfasst, die basierend auf dem durch die Maschinenlerneinrichtung gelernten Strombefehl für den Motor über die Motorantriebseinheit den Strombefehl für den Motor steuert. Die Zustandsüberwachungseinheit kann eine Zustandsgröße überwachen, die die Motordrehzahl oder den Motordrehmomentbefehl des Motors, den Motorstrom und die Motorspannung umfasst, wobei das Motordrehmoment anhand des überwachten Motorstroms und der überwachten Motorspannung berechnet werden kann.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Maschinenlernverfahren zum Lernen eines Strombefehls für einen Motor bereitgestellt, wobei das Maschinenlernverfahren das Überwachen einer Zustandsgröße, die eine Motordrehzahl oder einen Motordrehmomentbefehl des Motors sowie ein Motordrehmoment, einen Motorstrom und/oder eine Motorspannung für den Motor umfasst, und das Lernen des Strombefehls für den Motor basierend auf der überwachten Zustandsgröße umfasst. Das Lernen des Strombefehls für den Motor kann das Berechnen einer Belohnung basierend auf der überwachten Zustandsgröße und das Aktualisieren einer auf den Strombefehl für den Motor bezogenen Wertfunktion basierend auf der überwachten Zustandsgröße und der überwachten Belohnung umfassen. Bei der Belohnungsberechnung kann für jede Motordrehzahl oder jeden Motordrehmomentbefehl die Belohnung erhöht werden, wenn das Motordrehmoment zunimmt, die Belohnung verringert werden, wenn der Motorstrom einen vorgegebenen Wert übersteigt, und die Belohnung verringert werden, wenn die Motorspannung gesättigt ist.
-
Kurzbeschreibung der Zeichnungen
-
Die vorliegende Erfindung geht durch Bezugnahme auf die folgenden zugehörigen Zeichnungen genauer hervor.
-
1 ist ein Blockdiagramm, das schematisch eine Ausführungsform einer Motorsteuereinrichtung der vorliegenden Erfindung darstellt;
-
2 ist ein Blockdiagramm, das ein Beispiel der Motorsteuereinrichtung darstellt, die einen Dreiphasen-Wechselstrommotor steuert, der eine d/q-Dreiphasen-Koordinatentransformation verwendet;
-
3 ist eine Darstellung, die schematisch ein Modell eines Neurons zeigt;
-
4 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netz zeigt, das durch Kombinieren der in 3 gezeigten Neuronen gebildet wird;
-
5A und 5B sind Diagramme zur Darstellung einer Motorstromsteuerung in der Motorsteuereinrichtung der vorliegenden Erfindung;
-
6 ist ein Flussdiagramm zur Darstellung eines Beispiels für eine Verarbeitung in einer in 1 gezeigten Maschinenlerneinrichtung;
-
7 ist ein Blockdiagramm, das schematisch eine andere Ausführungsform der Motorsteuereinrichtung der vorliegenden Erfindung darstellt; und
-
8A und 8B sind Diagramme zur Darstellung von Kenndaten eines üblichen Motors.
-
Genaue Beschreibung
-
Nachstehend sind Ausführungsformen einer Maschinenlerneinrichtung, einer Motorsteuereinrichtung und eines Maschinenlernverfahrens der vorliegenden Erfindung unter Bezugnahme auf die zugehörigen Zeichnungen genauer beschrieben. 1 ist ein Blockdiagramm, das schematisch eine Ausführungsform der Motorsteuereinrichtung der vorliegenden Erfindung darstellt.
-
Wie in 1 gezeigt, soll die Motorsteuereinrichtung gemäß der vorliegenden Ausführungsform einen Motor 11 steuern und umfasst eine Motorsteuereinheit 12, eine Motorantriebseinheit 3 und eine Maschinenlerneinrichtung 2. Der Motor 11 ist ein Motor, der für eine Werkzeugmaschine, eine Formmaschine, eine Spritzgießmaschine, eine Industriemaschine, einen Industrie-/Dienstroboter oder dergleichen verwendet wird. Es wird darauf hingewiesen, dass die Motorsteuereinheit 12, die Motorantriebseinheit 3 und die Maschinenlerneinrichtung 2 als Motorsteuereinrichtung miteinander integriert, aber auch separat bereitgestellt werden können.
-
Wie in 1 gezeigt, soll die Maschinenlerneinrichtung 2 beispielsweise einen in der Motorsteuereinheit 12 festgelegten Strombefehl für den Motor lernen und umfasst eine Zustandsüberwachungseinheit 21, eine Lerneinheit 22 und eine Entscheidungseinheit 25. Die Motorsteuereinheit 12 steuert den Motor 11 über die Motorantriebseinheit 3.
-
Die Zustandsüberwachungseinheit 21 überwacht einen Zustand des Motors 11 (Motorantriebseinheit 3) und die Lerneinheit 22 lernt basierend auf einer durch die Zustandsüberwachungseinheit 21 überwachten Zustandsgröße (Zustandsvariable) einen Strombefehl für den Motor 11. Die durch die Zustandsüberwachungseinheit 21 überwachte Zustandsgröße umfasst beispielsweise eine Motordrehzahl (oder einen Motordrehmomentbefehl) des Motors 11 sowie ein Motordrehmoment, einen Motorstrom und/oder eine Motorspannung für den Motor 11.
-
Die durch die Zustandsüberwachungseinheit 21 überwachte Zustandsgröße, wie etwa eine Motordrehzahl (oder ein Motordrehmomentbefehl) des Motors 11 sowie ein Motordrehmoment, ein Motorstrom und eine Motorspannung des Motors 11, wird beispielsweise von einem Sensor (nicht dargestellt), der an der Motorsteuereinheit 12, der Motorantriebseinheit 3 oder dem Motor 11 bereitgestellt ist, in die Zustandsüberwachungseinheit 21 eingegeben. Ferner kann als Motor 11 beispielsweise ein Dreiphasen-Wechselstrom-Synchronmotor, wie etwa ein PMSM (Dreiphasen-Wechselstrom-Permanentmagnet-Synchronmotor, der eine d/q-Drei phasen-Koordinatentransformation verwendet), eingesetzt werden, und der durch die Lerneinheit 22 gelernte Strombefehl für den Motor 11 kann beispielsweise einen d-Achsenstrombefehl id* und einen q-Achsenstrombefehl iq* umfassen, die elektrisch und magnetisch orthogonal zueinander sind.
-
Die Lerneinheit 22 umfasst eine Belohnungsberechnungseinheit 23, die basierend auf einem Ausgang der Zustandsüberwachungseinheit 21 eine Belohnung berechnet, und eine Wertfunktionsaktualisierungseinheit 24, die basierend auf dem Ausgang der Zustandsüberwachungseinheit 21 und einem Ausgang der Belohnungsberechnungseinheit 23 eine auf den Strombefehl für den Motor 11 bezogene Wertfunktion aktualisiert. Mit anderen Worten, die Belohnungsberechnungseinheit 23 berechnet die Belohnung basierend auf der durch die Zustandsüberwachungseinheit 21 überwachten Zustandsgröße und die Wertfunktionsaktualisierungseinheit 24 aktualisiert die Wertfunktion des Strombefehls für den Motor 11, die basierend auf der durch die Belohnungsberechnungseinheit 23 berechneten Belohnung anhand der Stromzustandsgröße bestimmt wird.
-
Die Belohnungsberechnungseinheit 23 führt beispielsweise für jede Motordrehzahl (oder jeden Motordrehmomentbefehl) des Motors 11 eine Belohnungsberechnung derart durch, dass die Belohnung erhöht wird, wenn das Motordrehmoment zunimmt, die Belohnung verringert wird, wenn der Motorstrom einen vorgegebenen Wert übersteigt, und die Belohnung verringert wird, wenn die Motorspannung gesättigt ist. Es wird darauf hingewiesen, dass die Belohnungsberechnung durch die Belohnungsberechnungseinheit 23 (Erhöhen der Belohnung (Festlegen einer positiven Belohnung) oder Verringern der Belohnung (Festlegen einer negativen Belohnung)) später genauer beschrieben ist. Die Entscheidungseinheit 25 bestimmt den Strombefehl für den Motor 11 basierend auf einem Ausgang der Lerneinheit 22. Mit anderen Worten, die Entscheidungseinheit 25 bestimmt den durch die Lerneinheit 22 gelernten Strombefehl (Betriebsbetrag) des Motors 11 und gibt diesen an die Motorsteuereinheit 12 aus, wobei die Motorsteuereinheit 12 basierend auf dem durch die Maschinenlerneinrichtung 2 gelernten Strombefehl für den Motor 11 über die Motorantriebseinheit 3 den Strombefehl für den Motor 11 steuert.
-
2 ist ein Blockdiagramm, das ein Beispiel der Motorsteuereinrichtung darstellt, die einen Dreiphasen-Wechselstrommotor steuert, der eine d/q-Dreiphasen-Koordinatentransformation verwendet, und soll ein Beispiel der Motorsteuereinrichtung zeigen, die einen PMSM steuert. Bei einem d/q-Koordinatensteuersystem stellt beispielsweise ein d-Achsenstrom eine Erregungsstromkomponente, die dazu verwendet wird, einen Magnetfluss zu erzeugen, und ein q-Achsenstrom eine Ankerstromkomponente dar, die einem Drehmoment einer Last entspricht, wenn eine Richtung eines Magnetpols eines Rotors als d-Achse und eine Achse, die elektrisch und magnetisch orthogonal zur d-Achse ist, als q-Achse festgelegt wird.
-
In 2 bezeichnet das Bezugszeichen iq* einen Motorstrombefehl für die q-Achse (q-Achsenstrombefehl), das Bezugszeichen id* einen Motorstrombefehl für die d-Achse (d-Achsenstrombefehl), ein Bezugszeichen Vq eine Motorspannung der q-Achse (q-Achsenmotorspannung), ein Bezugszeichen Vd eine Motorspannung der d-Achse (d-Achsenmotorspannung), ein Bezugszeichen Lq eine Induktivität der q-Achse (q-Achseninduktivität) und ein Bezugszeichen Ld eine Induktivität der d-Achse (d-Achseninduktivität). Ferner bezeichnet ein Bezugszeichen Ψa eine Rotormagnetflussverkettung, ein Bezugszeichen Kt einen Drehmomentkoeffizienten, ein Bezugszeichen T ein Motordrehmoment, ein Bezugszeichen J ein Trägheitsmoment, ein Bezugszeichen ω eine Winkelbeschleunigung, ein Bezugszeichen ω eine Winkelgeschwindigkeit, wobei demgemäß ω [rad/s] × (60/2π) eine Motordrehzahl [min–1] kennzeichnet.
-
Eine Motorsteuereinrichtung 100 gibt basierend auf dem eingegebenen d-Achsenstrombefehl id* und dem eingegebenen q-Achsenstrombefehl iq* eine Antriebsleistung zum Antreiben des Motors 11 aus. Dadurch werden die d-Achsenspannung Vd und die q-Achsenspannung Vq an den Motor angelegt und ein d-Achsenstrom id und ein q-Achsenstrom iq fließen. Dann gilt für die d-Achsenspannung Vd des Motors, die q-Achsenspannung Vq des Motors, den d-Achsenstrom id des Motors und den q-Achsenstrom iq des Motors eine Spannungsgleichung, die durch die folgende Gleichung [1] ausgedrückt wird.
-
-
Ferner wird ein Motorstrom ia, der eine Vektorsumme des d-Achsenstroms id und des q-Achsenstroms iq ist, durch die folgende Gleichung [2] berechnet:
-
Darüber hinaus kann das Drehmoment T des Motors durch eine Drehmomentgleichung berechnet werden, die durch die folgende Gleichung [3] ausgedrückt wird, wobei eine Polpaarzahl des Motors Pn ist. T = PnΨaiq + Pn(Lq – Ld)idiq (3)
-
Bei herkömmlichen Techniken werden beispielsweise die Rotormagnetflussverkettung Ψa, die q-Achseninduktivität Lq und die d-Achseninduktivität Ld des Motors 11 untersucht, die Winkelgeschwindigkeit ω und der q-Achsenstrom iq anhand der Motordrehzahl und des Befehls des Motordrehmoments (Motordrehmomentbefehl) berechnet, und id, der innerhalb einer begrenzten Spannung und einem begrenzten Strom ein Drehmoment maximiert, wird als Funktion von ω und iq berechnet. Es wird darauf hingewiesen, dass ein für eine solche Berechnungsformel verwendeter Parameter vorab erstellt wird. Im Besonderen ist beispielsweise die folgende Gleichung [4] bekannt.
-
-
Bei der vorliegenden Ausführungsform wird die Winkelgeschwindigkeit ω anhand der Motordrehzahl bestimmt und der Gesamtmotorstrom ia wird als zum Motordrehmomentbefehl proportionaler Wert berechnet. Da ia die Vektorsumme von id und iq ist, werden iq und id, die durch eine Division von ia erzeugt werden, als zu lernende Größe in den Motor eingegeben und die Motorströme iq und id sowie die Motorspannungen Vq und Vd werden gemessen.
-
Dann wird, wie nachstehend beschrieben, für jede Motordrehzahl und jeden Motordrehmomentbefehl eine Belohnung für die eingegebenen Motorströme iq und id bestimmt, wobei ein Befehlswert der Motorströme iq, id gemäß einer solchen Belohnung geändert wird:
- – um in Bezug auf eine Änderung von iq und id positiv zu sein, wenn das Motordrehmoment größer wird, und
- – um in Bezug auf eine Änderung von iq und id negativ zu sein, wenn die Motorspannung einen Spannungsgrenzwert übersteigt.
-
Jede Motordrehzahl kennzeichnet ein diskretes Intervall, wie etwa 0–1 min–1 und 1–2 min–1, und jedes Motordrehmoment kennzeichnet ein diskretes Intervall, wie etwa 0–1 Nm und 1–2 Nm. Ferner kann beim Lernen von iq und id ein Lernen in Bezug auf Φ durchgeführt werden, wobei iq = iacosΦ und id = iasinΦ. Mit anderen Worten, der Strombefehl für den Dreiphasen-Wechselstrom-Synchronmotor (PMSM) 11 umfasst den d-Achsenstrombefehl id* und den q-Achsenstrombefehl iq*, die elektrisch und magnetisch orthogonal zueinander sind, wobei das Lernen von id* und iq* in Bezug auf einen Rotorphasenwinkel Φ des Dreiphasen-Wechselstrom-Synchronmotors 11 durchgeführt werden kann.
-
Im Übrigen weist die Maschinenlerneinrichtung 2 (4) Funktionen zum analytischen Extrahieren, aus einem in die Einrichtung eingegebenen Datensatz, einer nützlichen Regel, einer Wissensdarstellung, eines Entscheidungskriteriums oder dergleichen, welche darin enthalten sind, zum Ausgeben eines Entscheidungsergebnisses und zum Durchführen des Lernens von Wissen (maschinelles Lernen) auf. Es gibt verschiedene Techniken des maschinellen Lernens, die beispielsweise grob in ”überwachtes Lernen”, ”unüberwachtes Lernen” und ”bestärkendes Lernen” eingeteilt werden. Ferner gibt es eine Technik, die als ”tiefes Lernen” bezeichnet wird, bei der eine Extraktion eines Merkmalswerts per se gelernt wird, um diese Techniken auszuführen.
-
Es wird darauf hingewiesen, dass die unter Bezugnahme auf 1 beschriebene Maschinenlerneinrichtung 2 ”bestärkendes Lernen” und die Maschinenlerneinrichtung 4, die später unter Bezugnahme auf 7 beschrieben ist, ”überwachtes Lernen” einsetzt. Solche Maschinenlerneinrichtungen 2 und 4 können einen Universalcomputer oder einen Prozessor verwenden, wenn jedoch beispielsweise eine Universalberechnung in Grafikverarbeitungseinheiten (GPGPUs/General-Purpose computing an Graphics Processing Units), große PC-Cluster oder dergleichen eingesetzt werden, ist eine höhere Verarbeitung möglich.
-
Zunächst ist überwachtes Lernen ein Modell (Fehlermodell), bei dem überwachte Daten, d. h. eine große Menge Datensätze bestimmter Eingänge und Ergebnisse (Label), der Maschinenlerneinrichtung 4 zugeführt werden, um Merkmale in den Datensätzen zu lernen, und ein Modell (Fehlermodell) zum Schätzen der Ergebnisse anhand des Eingangs, mit anderen Worten, ihre Beziehung wird induktiv erworben. Es kann beispielsweise unter Verwendung eines Algorithmus, wie etwa eines nachstehend beschriebenen neuronalen Netzes, ausgeführt werden.
-
Unüberwachtes Lernen ist eine Technik, bei der der Lerneinrichtung lediglich eine große Menge Eingangsdaten zugeführt wird, um zu lernen, wie die Eingangsdaten verteilt sind, und die Einrichtung, die in Bezug auf die Eingangsdaten eine Komprimierung, Sortierung, Formung (Shaping) oder dergleichen durchführt, das Lernen durchführt, ohne dass ihr entsprechende Lehrerausgangsdaten zugeführt werden. Beispielsweise können ähnliche oder gleiche Merkmale in den Datensätzen gruppiert werden und dergleichen. Unter Verwendung dieses Ergebnisses ist es möglich, durch Zuordnen von Ausgängen derart, dass manche Kriterien definiert werden, einen Ausgang vorherzusagen, um das Ergebnis zu optimieren.
-
Es wird darauf hingewiesen, dass es als Zwischenproblemlösung zwischen unüberwachtem Lernen und überwachtem Lernen eine als halbüberwachtes Lernen bezeichnete Technik gibt. Dies entspricht einem Fall, in dem beispielsweise lediglich einige Datensätze von Eingängen und Ausgängen vorhanden sind und die restlichen Daten nur Eingänge sind. Bei der vorliegenden Ausführungsform ist es beim unüberwachten Lernen möglich, das Lernen effizient durchzuführen, indem Daten (Simulationsdaten und dergleichen) verwendet werden, die erhalten werden können, ohne den Motor tatsächlich zu betreiben.
-
Als Nächstes wird das bestärkende Lernen genauer beschrieben. Zunächst wird ein Problem des bestärkenden Lernens wie folgt festgelegt:
- – Der Motor (d. h. ein Motor, der an einer Werkzeugmaschine, einer Formmaschine, einer Spritzgießmaschine, einer Industriemaschine, einem Industrie-/Dienstroboter oder dergleichen montiert ist) überwacht einen Zustand der Umgebung und bestimmt eine Aktion.
- – Die Umgebung ändert sich gemäß einer Regel, wobei ferner eine eigene Aktion die Umgebung ändern kann.
- – Ein Belohnungssignal wird jedes Mal zurückgeführt, wenn eine Aktion durchgeführt wird.
- – Es ist die Summe einer in Zukunft zu erwartenden (diskontierten) Belohnung, die maximiert werden soll.
- – Das Lernen beginnt in einem Zustand, in dem das durch eine Aktion verursachte Ergebnis nicht oder nur unvollständig bekannt ist. Mit anderen Worten, der Motor kann das Ergebnis nur dann als Daten erfassen, wenn er tatsächlich betrieben wird. Kurz gesagt, es ist bevorzugt, die optimale Aktion durch Versuch und Irrtum zu ermitteln.
- – Durch Festlegen eines Zustands, in dem ein früheres Lernen (eine Technik, wie etwa das vorstehend beschriebene überwachte Lernen oder ein inverses bestärkendes Lernen) durchgeführt wird, um eine menschliche Bewegung als Anfangszustand nachzuahmen, kann das Lernen an einem guten Ausgangspunkt begonnen werden.
-
Hierin ist das bestärkende Lernen eine Technik zum Lernen einer geeigneten Aktion, und zwar nicht nur durch Bestimmung oder Sortierung, sondern auch durch das Lernen von Aktionen, basierend auf einer Wechselwirkung, die durch eine Aktion an der Umgebung bereitgestellt wird, d. h. zum Lernen, wie die in der Zukunft erhaltene Belohnung maximiert werden kann. Nachstehend wird die Beschreibung beispielsweise in Bezug auf den Fall des Q-Lernens fortgesetzt, wobei das Maschinenlernverfahren jedoch nicht auf das Q-Lernen beschränkt ist.
-
Das Q-Lernen ist ein Verfahren zum Lernen eines Werts Q(s, a), um eine Aktion a in einem bestimmten Umgebungszustand s auszuwählen. Mit anderen Worten, in einem bestimmten Zustand s kann eine Aktion a mit dem höchsten Wert Q(s, a) als optimale Aktion ausgewählt werden. Zunächst ist der korrekte Wert für den Wert Q(s, a) für ein Paar aus dem Zustand s und der Aktion a jedoch völlig unbekannt. Demgemäß wählt ein Agent (Aktionssubjekt) verschiedene Aktionen a in einem bestimmten Zustand s aus und erhält zu diesem Zeitpunkt eine Belohnung für die Aktion a. Folglich lernt der Agent, eine bessere Aktion auszuwählen, d. h. den korrekten Wert Q(s, a).
-
Ferner ist es erwünscht, als Ergebnis einer Aktion die Summe der in Zukunft erhaltenen Belohnungen zu maximieren, wobei schließlich Q(s, a) = E[Σγ
tr
t] erfüllt werden soll. Hierin wird der erwartete Wert verwendet, wenn sich der Zustand gemäß der optimalen Aktion ändert, und da diese nicht bekannt ist, wird sie während der Durchführung der Ermittlung gelernt. Eine Aktualisierungsformel für einen solchen Wert Q(s, a) kann beispielsweise durch die folgende Gleichung [5] dargestellt werden:
-
Bei der obigen Gleichung [5] stellt st einen Zustand der Umgebung zu einem Zeitpunkt t und at eine Aktion zum Zeitpunkt t dar. Die Aktion at ändert den Zustand in st+1. rt+1 stellt eine Belohnung dar, die durch die Änderung des Zustands erhalten werden kann. Ferner ist der Term, dem max beigefügt ist, der Q-Wert, der mit γ multipliziert wird, wenn die Aktion a mit dem höchsten zu diesem Zeitpunkt bekannten Q-Wert im Zustand st+1 ausgewählt wird. Hierin ist γ ein Parameter, der 0 < γ ≤ 1 erfüllt und als Diskontierungsrate bezeichnet wird. Ferner ist α ein Lernfaktor, der in dem Bereich 0 < α ≤ 1 liegt.
-
Die vorstehende Gleichung [5] stellt ein Verfahren zum Aktualisieren des Bewertungswerts Q(st, at) einer Aktion at im Zustand st basierend auf der als Ergebnis der Aktion at zurückgeführten Belohnung rt+1 dar. Mit anderen Worten, es wird gezeigt, dass, wenn der Bewertungswert Q(st+1, max at+1) der besten Aktion max a im nächsten Zustand basierend auf Belohnung rt+1 + Aktion a größer als der Bewertungswert Q(st, at) der Aktion a im Zustand s ist, Q(st, at) erhöht wird, im Gegensatz dazu wird Q(st, at) verringert, wenn Q(st+1, max at+1) kleiner ist. Mit anderen Worten, sie ist dafür ausgelegt, einen Wert für eine bestimmte Aktion in einem bestimmten Zustand näher an die unverzüglich als Ergebnis zurückgeführte Belohnung und den Wert für die beste Aktion im nächsten Zustand nach dieser Aktion heranzubringen.
-
Hierin umfassen Verfahren zum Darstellen von Q(s, a) auf einem Computer ein Verfahren, bei dem Werte für alle Zustands-/Aktionspaare (s, a) in Form einer Tabelle (Aktionswerttabelle) gespeichert werden, und ein Verfahren, bei dem eine an Q(s, a) angenäherte Funktion erstellt wird. Bei letzterem Verfahren kann die vorstehende Gleichung [5] durch Einstellen von Parametern der Näherungsfunktion unter Verwendung einer Technik, wie etwa einem stochastischen Gradientenabstiegsverfahren, ausgeführt werden. Es wird darauf hingewiesen, dass als Näherungsfunktion ein nachstehend beschriebenes neuronales Netz verwendet werden kann.
-
Hierin kann als Näherungsalgorithmus für eine Wertfunktion beim bestärkenden Lernen ein neuronales Netz verwendet werden. 3 ist eine Darstellung, die schematisch ein Modell eines Neurons zeigt, und 4 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netz zeigt, das durch Kombinieren der in 3 gezeigten Neuronen gebildet wird. Mit anderen Worten, das neuronale Netz wird beispielsweise durch eine Recheneinrichtung, die ein Modell eines in 3 gezeigten Neurons simuliert, einen Speicher und dergleichen gebildet.
-
Wie in 3 gezeigt, gibt das Neuron für eine Mehrzahl Eingänge x (in 3 beispielsweise die Eingänge x1 bis x3) einen Ausgang (Ergebnis) y aus. Jeder der Eingänge x (x1, x2, x3) wird mit einem dem Eingang x entsprechenden Gewicht w (w1, w2, w3) multipliziert. Dadurch gibt das Neuron das Ergebnis y aus, das durch die folgende Gleichung [6] dargestellt ist. Es wird darauf hingewiesen, dass der Eingang x, das Ergebnis y und das Gewicht ω allesamt Vektoren sind. Ferner ist in der untenstehenden Gleichung [6] θ eine systematische Messabweichung und fk eine Aktivierungsfunktion. y = fk(Σ n / i=1xiwi – θ) (6)
-
Bezug nehmend auf 4 wird ein neuronales Netz mit drei Schichten beschrieben, das aus einer Kombination von in 3 gezeigten Neuronen besteht. Wie in 4 gezeigt, wird eine Mehrzahl Eingänge x (hierin beispielsweise Eingang x1 bis Eingang x3) auf der linken Seite des neuronalen Netzes eingegeben und ein Ergebnis y (hierin beispielsweise Ergebnis y1 bis Ergebnis y3) auf der rechten Seite ausgegeben. Im Besonderen werden die Eingänge x1, x2 und x3 mit einem jedem der drei Neuronen N11 bis N13 entsprechenden Gewicht multipliziert und eingegeben. Die zum Multiplizieren dieser Eingänge verwendeten Gewichte sind kollektiv durch W1 dargestellt.
-
Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 4 sind z11 bis z13 kollektiv als Merkmalsvektor Z1 bezeichnet, der als Vektor angesehen werden kann, der durch Extrahieren von Merkmalswerten des Eingangsvektors erhalten wird. Der Merkmalsvektor Z1 ist ein Merkmalsvektor, der zwischen dem Gewicht W1 und dem Gewicht W2 definiert wird. z11 bis z13 werden mit einem jedem der zwei Neuronen N21 und N22 entsprechenden Gewicht multipliziert und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind kollektiv durch W2 dargestellt.
-
Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. In 4 sind z21 und z22 kollektiv durch einen Merkmalsvektor Z2 dargestellt. Der Merkmalsvektor Z2 ist ein Merkmalsvektor, der zwischen dem Gewicht W2 und dem Gewicht W3 definiert wird. z21 und z22 werden mit einem jedem der drei Neuronen N31 bis N33 entsprechenden Gewicht multipliziert und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind kollektiv durch W3 dargestellt.
-
Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Der Betrieb des neuronalen Netzes umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird im Lernmodus das Gewicht W unter Verwendung eines Lerndatensatzes gelernt und im Vorhersagemodus unter Verwendung der Parameter die Aktion eines Roboters bestimmt. Es wird darauf hingewiesen, dass der Einfachheit halber auf die Vorhersage Bezug genommen wird, selbstverständlich sind jedoch verschiedene Aufgaben möglich, wie etwa Erfassung, Klassifizierung, Inferenz und dergleichen.
-
Hier ist es möglich, den Roboter im Vorhersagemodus tatsächlich zu betreiben und dass dieser die erhaltenen Daten unverzüglich lernt, damit sie in der darauffolgenden Aktion reflektiert werden (Online-Lernen), außerdem kann eine Gruppe vorab gesammelter Daten dazu verwendet werden, ein kollektives Lernen durchzuführen und ab dann mit dem Parameter einen Erfassungsmodus auszuführen (Batch-Lernen). Es ist auch ein zwischengelagerter Fall möglich, in dem ein Lernmodus immer dann zwischengeschaltet wird, wenn bis zu einem gewissen Grad Daten angesammelt wurden.
-
Die Gewichte W1 bis W3 können durch ein Error-Backpropagation(Fehlerrückführungs-)Verfahren gelernt werden. Es wird darauf hingewiesen, dass die Fehlerinformationen von rechts eingegeben werden und nach links fließen. Das Error-Backpropagation-Verfahren ist eine Technik zum Einstellen (Lernen) eines jeden Gewichts, um die Differenz zwischen einem Ausgang y, wenn ein Eingang x eingegeben wird, und einem tatsächlichen Ausgang y (Lehrer) für jedes Neuron zu verringern. Ein solches neuronales Netz kann drei oder mehr Schichten aufweisen (als tiefes Lernen bezeichnet). Ferner ist es möglich, Merkmale des Eingangs schrittweise zu extrahieren und nur anhand der Lehrerdaten automatisch eine Recheneinrichtung zu erlangen, die die Ergebnisse zurückführt.
-
Wie vorstehend beschrieben, umfasst die Maschinenlerneinrichtung 2 gemäß der vorliegenden Ausführungsform somit die Zustandsüberwachungseinheit 21, die Lerneinheit 22 und die Entscheidungseinheit 25, um beispielsweise das Q-Lernen durchzuführen. Wie vorstehend beschrieben, ist das auf die vorliegende Erfindung angewandte Maschinenlernverfahren jedoch nicht auf das Q-Lernen beschränkt. Es wird darauf hingewiesen, dass, wie vorstehend beschrieben, das maschinelle Lernen (Maschinenlerneinrichtung 2) durch den Einsatz der GPGPUs, der großen PC-Cluster oder dergleichen ausgeführt werden kann.
-
5A und 5B sind Diagramme zur Darstellung einer Motorstromsteuerung in der Motorsteuereinrichtung der vorliegenden Erfindung, wobei 5A eine Beziehung zwischen den Zustandsgrößen (Motordrehmoment, Motorstrom und Motorspannung) und einer Belohnung und 5B ein Beispiel einer erhaltenen Belohnung RW darstellen soll.
-
Wie in 5A gezeigt, wird eine positive Belohnung festgelegt (Erhöhen der Belohnung), wenn ein Motordrehmoment L1 zunimmt, und eine negative Belohnung festgelegt (Verringern der Belohnung), wenn das Motordrehmoment L1 abnimmt. Außerdem wird eine negative Belohnung festgelegt, wenn ein Motorstrom 12 einen Stromgrenzwert (vorgegebenen Wert) Ilim übersteigt, und eine positive Belohnung festgelegt, wenn der Motorstrom 12 diesen nicht übersteigt. Ferner wird eine negative Belohnung festgelegt, wenn eine Motorspannung L3 einen Spannungssättigungswert (vorgegebenen Wert) Vsat übersteigt, und eine positive Belohnung festgelegt, wenn die Motorspannung L3 diesen nicht übersteigt. Durch Zusammenfassen der auf solche Zustandsgrößen zurückzuführenden Belohnungen wird die in 5B gezeigte Belohnung (Belohnungskurve) RW erhalten.
-
6 ist ein Flussdiagramm zur Darstellung eines Beispiels für eine Verarbeitung in der in 1 gezeigten Maschinenlerneinrichtung. Wie in 6 gezeigt, wird, wenn das maschinelle Lernen startet (Lernstart), in Schritt ST1 die Motordrehzahl (Motordrehmomentbefehl) erhalten, dann fährt das Verfahren mit Schritt ST2 fort und der Motor 11 wird angetrieben. Das Erhalten der Motordrehzahl beispielsweise direkt von der Motorsteuereinheit 12 kann in Schritt ST1 durchgeführt werden. Das Verfahren fährt weiter mit Schritt ST3 fort und es wird bestimmt, ob sich das Motordrehmoment (L1) verringert hat.
-
Wenn in Schritt ST3 bestimmt wird, dass sich das Motordrehmoment nicht erhöht hat (ST3: NEIN), fährt das Verfahren mit Schritt ST4 fort und die Belohnung wird verringert (eine negative Belohnung wird festgelegt), im Gegensatz dazu fährt das Verfahren mit Schritt ST5 fort, wenn bestimmt wird, dass sich das Motordrehmoment erhöht hat (ST3: JA), und die Belohnung wird erhöht (eine positive Belohnung wird festgelegt), dann fährt das Verfahren mit Schritt ST6 fort. In Schritt ST6 wird bestimmt, ob der Motorstrom (L2) einen vorgegebenen Wert (Stromgrenzwert Ilim) übersteigt.
-
Wenn in Schritt ST6 bestimmt wird, dass der Motorstrom den vorgegebenen Wert übersteigt (ST6: JA), fährt das Verfahren mit Schritt ST7 fort und die Belohnung wird verringert, im Gegensatz dazu fährt das Verfahren mit Schritt ST8 fort, wenn bestimmt wird, dass der Motorstrom den vorgegebenen Wert nicht übersteigt (ST6: NEIN), und die Belohnung wird erhöht, dann fährt das Verfahren mit Schritt ST9 fort. In Schritt ST9 wird bestimmt, ob die Motorspannung (L3) gesättigt ist, d. h. ob die Motorspannung die Sättigungsspannung (Vsat) übersteigt.
-
Wenn in Schritt ST9 bestimmt wird, dass die Motorspannung gesättigt ist, d. h. dass die Motorspannung die Sättigungsspannung übersteigt (ST9: JA), fährt das Verfahren mit Schritt ST10 fort und die Belohnung wird verringert, im Gegensatz dazu fährt das Verfahren mit Schritt ST11 fort, wenn bestimmt wird, dass die Motorspannung nicht gesättigt ist, d. h. dass die Motorspannung die Sättigungsspannung nicht übersteigt (ST9: NEIN), und die Belohnung wird erhöht, dann fährt das Verfahren mit Schritt ST12 fort. In Schritt ST12 wird basierend auf der Belohnung in jedem der Schritte ST4, ST5, ST7, ST8, ST10 und ST11 die Aktionswerttabelle aktualisiert und das Verfahren fährt mit Schritt ST13 fort. In Schritt ST13 wird basierend auf der aktualisierten Aktionswerttabelle der Strombefehl für den Motor bestimmt, dann kehrt das Verfahren zu Schritt ST2 zurück und dieselbe Verarbeitung wird wiederholt.
-
Die Schritte ST4, ST5, ST7, ST8, ST10 und ST11 (ST3–ST11) entsprechen der Verarbeitung der Belohnungsberechnungseinheit 23, in der, wie vorstehend beschrieben, basierend auf dem Ausgang der Zustandsüberwachungseinheit 21 eine Belohnung berechnet wird. Außerdem entspricht Schritt ST12 der Verarbeitung der Wertfunktionsaktualisierungseinheit 24, in der, wie vorstehend beschrieben, basierend auf dem Ausgang der Zustandsüberwachungseinheit 21 und dem Ausgang der Belohnungsberechnungseinheit 23 eine auf den Strombefehl für den Motor 11 bezogene Wertfunktion aktualisiert wird. Ferner entspricht Schritt ST13 der Verarbeitung der Entscheidungseinheit 25, in der, wie vorstehend beschrieben, basierend auf dem Ausgang der Wertfunktionsaktualisierungseinheit 24 (Lerneinheit 22) der Strombefehl für den Motor 11 bestimmt wird.
-
Es wird darauf hingewiesen, dass 6 einen Fall zeigt, in dem die Zustandsüberwachungseinheit 21 die Zustandsgröße überwacht, die die Motordrehmomente, den Motorstrom und die Motorspannung allesamt umfasst, die Zustandsüberwachungseinheit 21 kann jedoch auch eine Zustandsgröße überwachen, die wenigstens eine dieser Größen umfasst. Mit anderen Worten, gemäß der vorliegenden Ausführungsform überwacht die Zustandsüberwachungseinheit 21 die Zustandsgröße, die die Motordrehzahl oder den Motordrehmomentbefehl des Motors 11 sowie das Motordrehmoment, den Motorstrom und/oder die Motorspannung umfasst, berechnet die Belohnungsberechnungseinheit 23 eine Belohnung basierend auf dem Ausgang der Zustandsüberwachungseinheit 21 und aktualisiert die Wertfunktionsaktualisierungseinheit 24 eine auf den Strombefehl für den Motor 11 bezogene Wertfunktion basierend auf dem Ausgang der Zustandsüberwachungseinheit 21 und dem Ausgang der Belohnungsberechnungseinheit 23. Dann bestimmt die Entscheidungseinheit 25 den Strombefehl für den Motor 11 basierend auf dem Ausgang der Wertfunktionsaktualisierungseinheit 24. Dadurch wird das Lernen des Strombefehls für den Motor ermöglicht, der optimal für jeden Motor ist (Motordrehzahl und Motordrehmomentbefehl).
-
Gemäß der obigen Beschreibung, beispielsweise in Bezug auf den Motordrehmomentbefehl (Drehmomentbefehl für den Motor), kann die Stromsteuerung (Stromsteuerung des Motors) gelernt werden, die einen minimalen Gesamtstrom ermöglicht. In einem solchen Fall können ein Regelkreis, eine Berechnungsformel und ein den vorstehend beschriebenen ähnliches Divisionsverfahren eingesetzt werden. Ferner wird die Winkelgeschwindigkeit ω anhand der Motordrehzahl bestimmt und beispielsweise der Motorstrom iq als zum Motordrehmomentbefehl proportionaler Wert bestimmt. Mit anderen Worten, wird, wie in der obigen Gleichung [2], in Anbetracht dessen, dass der Motorstrom ia eine Vektorsumme des d-Achsenstroms id und des q-Achsenstroms iq ist, der zu lernende id als Größe in den Motor eingegeben und die Motorströme (Iq und Id) sowie die Motorspannungen (Vq und Vd) können gemessen werden.
-
Dann wird für jede Motordrehzahl und jeden Motordrehmomentbefehl eine Belohnung für den in den Motor einzugebenden id bestimmt und ein Befehlswert des Motorstroms (d-Achsenstrom) id gemäß einer solchen Belohnung geändert (aktualisiert). Insbesondere wird beispielsweise eine positive Belohnung festgelegt, wenn das angewiesene Drehmoment erzeugt wird und die Spannung den Spannungsgrenzwert (Vsat) selbst dann nicht übersteigt, wenn id abnimmt, und eine negative Belohnung festgelegt, wenn keiner der beiden Werte erreicht wird.
-
Ferner ist es auch möglich, das Motordrehmoment anhand eines Stroms zu berechnen, der tatsächlich im Motor fließt (tatsächlicher Motorstrom), und das Motordrehmoment zu steuern. Mit anderen Worten, es ist auch möglich, die Motordrehzahl, die tatsächlichen Motorströme (Iq, Id) und die tatsächlich an den Motor angelegten tatsächlichen Motorspannungen (Vq, Vd) zu messen und das Motordrehmoment in der Annahme zu berechnen, dass das Motordrehmoment proportional zum q-Achsenstrom Iq ist, ohne das Motordrehmoment zu messen. Es wird darauf hingewiesen, dass es auch möglich ist, die vorstehend beschriebene Maximaldrehmomentsteuerung und die Gesamtstromminimalsteuerung unter Verwendung des berechneten Motordrehmoments durchzuführen.
-
7 ist ein Blockdiagramm, das schematisch eine andere Ausführungsform der Motorsteuereinrichtung der vorliegenden Erfindung darstellt, und zeigt eine Motorsteuereinrichtung, die überwachtes Lernen einsetzt. Wie aus einem Vergleich mit der vorstehend beschriebenen 1 hervorgeht, ist die in 7 gezeigte Motorsteuereinrichtung, die überwachtes Lernen einsetzt, derart ausgelegt, dass der in 1 gezeigten Motorsteuereinrichtung, die Q-Lernen (bestärkendes Lernen) einsetzt, überwachte Daten (Daten mit Ergebnissen (Labeln)) zugeführt werden.
-
Wie in 7 gezeigt, umfasst die Maschinenlerneinrichtung 4 in der Motorsteuereinrichtung, die überwachtes Lernen einsetzt, eine Zustandsüberwachungseinheit 41, eine Lerneinheit 42 und eine Entscheidungseinheit 45. Die Lerneinheit 42 umfasst eine Fehlerberechnungseinheit 43 und eine Fehlermodellaktualisierungseinheit 44. Es wird außerdem darauf hingewiesen, dass in der Maschinenlerneinrichtung 4 gemäß der vorliegenden Ausführungsform die Zustandsüberwachungseinheit 41 die Zustandsgröße überwacht, die die Motordrehzahl oder den Motordrehmomentbefehl des Motors 11 sowie das Motordrehmoment, den Motorstrom und/oder die Motorspannung für den Motor 11 umfasst, und die Lerneinheit 42 den Strombefehl für den Motor 11 basierend auf der durch die Zustandsüberwachungseinheit 41 überwachten Zustandsgröße lernt.
-
Wie in 7 gezeigt, umfasst die Lerneinheit 42 die Fehlerberechnungseinheit 43 und die Fehlermodellaktualisierungseinheit 44, wobei die Fehlerberechnungseinheit 43 und die Fehlermodellaktualisierungseinheit 44 jeweils der Belohnungsberechnungseinheit 23 und der Wertfunktionsaktualisierungseinheit 24 in der in 1 gezeigten Motorsteuereinrichtung entsprechen, die Q-Lernen einsetzt. Es besteht jedoch ein Konfigurationsunterschied zu den unter Bezugnahme auf 1 beschriebenen Einheiten, wobei die Fehlerberechnungseinheit 43 gemäß der vorliegenden Ausführungsform einen Eingang externer überwachter Daten empfängt und durch die Fehlermodellaktualisierungseinheit 44 ein Fehlermodell aktualisiert wird, so dass eine Differenz zwischen solchen überwachten Daten und dem Fehlermodell reduziert wird.
-
Mit anderen Worten, die Fehlerberechnungseinheit 43 empfängt einen Ausgang der Zustandsüberwachungseinheit und die überwachten Daten und berechnet einen Fehler zwischen Daten mit Ergebnissen (Labeln) und einem Ausgang des in der Lerneinheit 42 ausgeführten Fehlermodells. Wenn beispielsweise dieselbe Motorsteuereinrichtung dieselbe Industriemaschine, denselben Roboter oder dergleichen veranlasst, denselben Betrieb durchzuführen, können als überwachte Daten Daten mit Labeln, die an dem Tag vor einem vorgegebenen Tag erhalten wurden, anhand derer der Betrieb tatsächlich durchgeführt wird, gespeichert und am vorgegebenen Tag als überwachte Daten der Fehlerberechnungseinheit 43 zugeführt werden.
-
Alternativ ist es auch möglich, durch eine außerhalb der Motorsteuereinrichtung (Industrieroboter, Roboter oder dergleichen) durchgeführte Simulation und dergleichen erhaltene Daten oder Daten mit Labeln einer anderen Motorsteuereinrichtung der Fehlerberechnungseinheit 43 einer solchen Motorsteuereinrichtung über eine Speicherkarte oder eine Kommunikationsleitung als überwachte Daten zuzuführen. Ferner ist es auch möglich, die überwachten Daten (Daten mit Labeln) in einem in die Lerneinheit 42 eingebauten nichtflüchtigen Speicher, wie etwa einem Flash-Speicher, zu speichern und die im nichtflüchtigen Speicher gespeicherten Daten mit Labeln so, wie sie sind, in der Lerneinheit 42 zu verwenden.
-
Gemäß der vorstehenden Beschreibung wird, wenn ein mit der Mehrzahl Motorsteuereinrichtungen ausgestattetes Motorsteuersystem betrachtet wird, beispielsweise jede der Motorsteuereinrichtungen mit der Maschinenlerneinrichtung 2 (4) ausgestattet und die Mehrzahl Maschinenlerneinrichtungen 2 (4), mit der die Mehrzahl Motorsteuereinrichtungen ausgestattet ist, kann Daten über ein Kommunikationsmedium gemeinsam nutzen oder untereinander austauschen. Ferner kann sich die Maschinenlerneinrichtung 2 (4) auch in einem Cloud-Server befinden.
-
Bei der Maschinenlerneinrichtung der vorliegenden Erfindung ist es somit auch möglich, nicht nur ”bestärkendes Lernen”, sondern auch verschiedene Maschinenlernverfahren, wie etwa ”überwachtes Lernen”, ”unüberwachtes Lernen” oder ”halbüberwachtes Lernen” anzuwenden.
-
Die Maschinenlerneinrichtung, die Motorsteuereinrichtung und das Maschinenlernverfahren der vorliegenden Erfindung haben einen solchen Effekt, dass es möglich ist, einen Strombefehl für einen Motor zu lernen, der für jeden Motor optimal ist.
-
Sämtliche Beispiele und die bedingte Sprache, die hierin verwendet sind, sollen dem pädagogischen Zweck dienen, dem Leser dabei zu helfen, die Erfindung und die Konzepte zu verstehen, die durch den Erfinder beigetragen wurden, um den Stand der Technik voranzubringen, und sind weder als Beschränkungen für solche spezifisch angegebenen Beispiele und Gegebenheiten aufzufassen, noch bezieht sich die Ordnung solcher Beispiele in der Beschreibung auf eine Darstellung der Über- oder Unterlegenheit der Erfindung. Obgleich ein oder mehrere Ausführungsformen der vorliegenden Erfindung genau beschrieben wurden, versteht es sich, dass verschiedene Änderungen, Ersetzungen und Abwandlungen daran durchgeführt werden können, ohne vom Gedanken und Umfang der Erfindung abzuweichen.
-
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
-