-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die Erfindung betrifft ein maschinelles Lernverfahren und eine maschinelle Lernvorrichtung, einen Betriebsbefehl für einen Elektromotor einlernend, und eine Werkzeugmaschine, welche die maschinelle Lernvorrichtung enthält.
-
2. Stand der Technik
-
Bei Einsatz einer Werkzeugmaschine für eine Bearbeitung wird zur Verbesserung der Bearbeitungsgenauigkeit die Vermeidung einer Überlast, einer Überhitzung und von Vibrationen angestrebt. Im Stand der Technik haben Maschinenbediener die Vorschubgeschwindigkeit des Werkzeuges oder die Geschwindigkeit der Spindel geändert oder die Temperatur korrigiert, um so die Bearbeitungsgenauigkeit entsprechend der persönlichen Erfahrung zu verbessern.
-
Die internationale Patentanmeldung
WO2014/115395A beschreibt eine Werkzeugmaschine, die eingerichtet ist für eine Korrektur einer Spindelgeschwindigkeit oder eine Änderung der Schneidtiefe bei Detektion von Vibrationen (”chatter vibration”). Die internationale Patentanmeldung
WO2015/087455A beschreibt eine numerische Steuerung, die eingerichtet ist für eine Änderung der Beschleunigung eines Elektromotors beim Betrieb in Abhängigkeit von der Trägheit eines Werkstückes, einer am Elektromotor anliegenden Last etc.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Im Stand der Technik erfolgt allerdings ein vorgegebenes Korrekturverfahren entsprechend spezifischen Bedingungen, was der Verwirklichung einer hohen Bearbeitungspräzision unter allen Bedingungen entgegensteht. Es besteht Bedarf an der Steuerung einer Werkzeugmaschine, welche keine Korrekturoperation durch eine Bedienungsperson erfordert und welche immer in der Lage ist, eine Bearbeitung mit hoher Genauigkeit auszuführen.
-
Gemäß der Erfindung wird eine maschinelle Lernvorrichtung bereitgestellt zum Einlernen eines Betriebsbefehls an einen Elektromotor, wobei die maschinelle Lernvorrichtung aufweist: eine Statusüberwachungseinrichtung, welche folgende Größen überwacht: den Betrag der in einen Elektromotor eingespeisten Leistung, die Temperatur des Elektromotors, die Last am Elektromotor und Vibrationen des Elektromotors als Statusvariable; und eine Lerneinrichtung, welche einen Betriebsbefehl an einen Elektromotor erlernt entsprechend einem Satz von Trainingsdaten, welche auf Basis der Statusvariablen erstellt werden.
-
Bei einem bevorzugten Ausführungsbeispiel der Erfindung hat die Lerneinrichtung eine Nutzenberechnungseinrichtung, welche einen Nutzen berechnet entsprechend dem Betrag der eingespeisten Leistung, der Temperatur, der Last und der Vibrationen sowie eine Funktionsaktualisierungseinrichtung, welche eine Funktion zum Bestimmen des Betriebsbefehls auf Basis des Nutzens aktualisiert.
-
Bei einem bevorzugten Ausführungsbeispiel der Erfindung ist die Nutzenberechnungseinheit eingerichtet, den Nutzen zu berechnen auf Basis einer Differenz zwischen dem Betrag der eingespeisten Leistung und einem vorgegebenen Betrag für die eingespeiste Leistung, einer Differenz der Temperatur zu einer vorgegebenen Temperatur, einer Differenz der Last zu einer vorgegebenen Last, und einer Differenz der Vibration zu einer vorgegebenen Vibration.
-
Gemäß einer bevorzugten Ausgestaltung der Erfindung ist die Funktionsaktualisierungseinrichtung eingerichtet, auf Basis des Nutzens eine Aktionswerttabelle zu aktualisieren.
-
Gemäß einem bevorzugten Ausführungsbeispiel der Erfindung ist die Nutzenberechnungseinrichtung eingerichtet, den Nutzen zu berechnen auf Basis einer Differenz des Betrages der eingespeisten Leistung und eines vorgegebenen Betrages bezüglich der eingespeisten Leistung, einer Differenz der Temperatur und einer vorgegebenen Temperatur, einer Differenz der Last und einer vorgegebenen Last und einer Differenz der Vibration und einer vorgegebenen Vibration.
-
Bei einem bevorzugten Ausführungsbeispiel ist die Funktionsaktualisierungseinrichtung eingerichtet, auf Basis des Nutzens eine Aktionswerttabelle zu aktualisieren.
-
Ein bevorzugtes Ausführungsbeispiel der Erfindung hat eine Lerneinrichtung, die eingerichtet ist, den Betriebsbefehl entsprechend einem Satz von Trainingsdaten zu lernen, welche für eine Mehrzahl von Elektromotoren erstellt sind.
-
Ein bevorzugtes Ausführungsbeispiel der Erfindung lehrt eine Werkzeugmaschine mit der maschinellen Lernvorrichtung, einer Antriebs- bzw. Drehwelle, die durch zumindest einen ersten Elektromotor angetrieben ist, und einer Spindel, die durch zumindest einen zweiten Elektromotor angetrieben ist, wobei in der Werkzeugmaschine die maschinelle Lernvorrichtung weiterhin aufweist eine Entscheidungseinrichtung, welche auf Basis von Ergebnissen des Lernens der Lerneinrichtung zumindest eine der folgenden Maßnahmen ausführt: eine Vorschubgeschwindigkeitskorrektur, eine Spindelgeschwindigkeitskorrektur, eine Korrektur der Zeitkonstanten bezüglich Beschleunigung/Abbremsung und eine Positionskorrektur, und wobei die Werkzeugmaschine eingerichtet ist, den ersten elektrischen Motor und den zweiten elektrischen Motor entsprechend einem Betriebsbefehl zu steuern, der durch die Entscheidungseinrichtung korrigiert ist.
-
Bei einem bevorzugten Ausführungsbeispiel der Erfindung ist die Statusüberwachungseinrichtung eingerichtet, die Temperatur und Vibration eines Spindelkopfes als zusätzliche Statusvariable zu überwachen und die Nutzenberechnungseinrichtung ist eingerichtet, den Nutzen zu berechnen unter Berücksichtigung der Differenz der Temperatur des Spindelkopfes und einer vorgegebenen Temperatur und einer Differenz der Vibration des Spindelkopfes und einer vorgegebenen Vibration.
-
Gemäß der Erfindung wird ein maschinelles Lernverfahren bereitgestellt, welches einen Betriebsbefehl für einen elektrischen Motor erlernt, wobei das maschinelle Lernverfahren folgende Überwachungen aufweist: des Betrages der einem Elektromotor zugeführten Leistung, der Temperatur des Elektromotors, der Last des Elektromotors und einer Vibration des Elektromotors als Statusvariable sowie das Lernen eines Betriebsbefehls für den elektrischen Motor entsprechend einem Satz von Trainingsdaten, welche entsprechend den Statusvariablen erstellt sind.
-
KURZBESCHREIBUNG DER FIGUREN
-
Diese und weitere Ziele, Merkmale und Vorteile der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen gemäß den Figuren.
-
1 ist ein Blockdiagramm eines Beispiels für den Aufbau einer beispielhaften Werkzeugmaschine.
-
2 ist ein Flussdiagramm des Ablaufs eines Lernprozesses in einer maschinellen Lernvorrichtung.
-
3 zeigt schematisch ein neuronales Modell.
-
4 zeigt schematisch ein drei-schichtiges neuronales Netzwerkmodell.
-
BESCHREIBUNG IM EINZELNEN
-
Nachfolgend werden Ausführungsbeispiele der Erfindung mit Blick auf die Figuren näher erläutert. 1 zeigt beispielhaft ein Blockdiagramm eines Beispiels für die Konfiguration einer Werkzeugmaschine nach einem Ausführungsbeispiel. Eine Werkzeugmaschine 1 hat einen Elektromotor 2 und eine maschinelle Lernvorrichtung 4, welche einen Betriebsbefehl für den Elektromotor 2 erlernt.
-
Ein Elektromotor 2 ist für jede Achse der Werkzeugmaschine 1 vorgesehen. Der beispielhafte Elektromotor 2 wird eingesetzt zum Antrieb eines Spindelkopfes 5, an dem ein Werkzeug angebracht ist. Der Elektromotor 2 kann auch eingesetzt werden zum Antrieb einer Antriebswelle zur Bewegung des Spindelkopfes 5 oder einer Drehwelle zum Drehen entsprechend jeweiliger Axialrichtungen in einem im Arbeitsraum stationären Koordinatensystem. Andererseits kann der Elektromotor 2 auch eingesetzt werden zum Antrieb einer Drehwelle zur Bewegung eines Tisches, auf welchem ein Werkstück angeordnet ist, im Arbeitsraum oder zum Drehen einer Drehwelle. Der Begriff ”elektrischer Motor” oder ”Elektromotor” beinhaltet in dieser Beschreibung mehrere Elektromotoren 2 in einer Werkzeugmaschine 1, also insbesondere sowohl für eine Spindel eingesetzte Elektromotoren als auch für Vorschubwellen eingesetzte Elektromotoren.
-
Die Steuerung 3 ist ein Digitalrechner mit einer CPU, Speichern und Schnittstellen. Die CPU führt Prozesse aus zur Implementierung verschiedener Funktionen der Steuerung 3. Der Speicher hat insbesondere ein ROM, RAM und einen nicht-flüchtigen Speicher. Der ROM speichert ein Systemprogramm zur Steuerung der Funktionen der Steuerung 3. Der RAM wird eingesetzt zur zeitweisen Speicherung von Detektionswerten verschiedener Sensoren, Rechenergebnissen der CPU etc. Der nicht-flüchtige Speicher speichert ein Steuerprogramm zum Erstellen eines Befehls an einen Elektromotor 2 sowie verschiedene Parameter etc.
-
Entsprechend 1 hat die Steuerung 3 eine Temperaturmesseinrichtung 31, eine Vibrationsmesseinrichtung 32, eine Lastmesseinrichtung 33, eine Leistungsmesseinrichtung 34, eine Beurteilungseinrichtung 35 und eine Befehlserstellungseinrichtung 36.
-
Die Temperaturmesseinrichtung 31 misst die Temperatur des Elektromotors 2. Die Temperaturmesseinrichtung 31 misst die Temperatur des Elektromotors 2 auf Basis des Ausgangswertes eines Temperatursensors (nicht dargestellt), welcher an einer Stelle des Elektromotors 2 angeordnet ist, wo eine Temperaturänderung detektierbar ist, beispielsweise am Gehäuse des Elektromotors 2. Gemäß einem Ausführungsbeispiel kann die Temperaturmesseinrichtung 31 eingerichtet sein, einen separat vorgesehenen Temperatursensor einzusetzen, um zusätzlich die Temperatur des Spindelkopfes 5 zu messen.
-
Die Vibrationsmesseinrichtung 32 misst die Vibration des Elektromotors 2 auf Basis eines Ausgabewertes eines Vibrationssensors. Bei einem Ausführungsbeispiel kann die Vibrationsmesseinrichtung 32 eingerichtet sein, einen gesondert vorgesehenen Vibrationssensor einzusetzen, um zusätzlich die Vibration am Spindelkopf 5 zu messen.
-
Die Lastmesseinrichtung 33 misst die Last am Elektromotor 2. Beispielsweise kann die Lastmesseinrichtung 33 die Last berechnen aufgrund des Betrages des dem Elektromotor 2 zugeführten Stromes, wenn der Elektromotor 2 eine vorgegebene Operation ausführt.
-
Die Leistungsmesseinrichtung 34 misst den Betrag der von einem Verstärker (nicht dargestellt) der Steuerung 3 einem Elektromotor 2 zugeführter Leistung.
-
Die Beurteilungseinrichtung 35 berechnet die Differenzen zwischen einer Mehrzahl von durch die Steuerung 3 gewonnenen Messwerten und den jeweiligen Messwerten zugeordneten Vergleichswerten und gibt entsprechende Beurteilungsdaten aus. Die beurteilten Messwerte enthalten die Temperatur des Elektromotors 2, wie durch die Temperaturmesseinrichtung 31 gemessen, die Vibration des Elektromotors 2, wie durch die Vibrationsmesseinrichtung 32 gemessen, die Last des Elektromotors, wie durch die Lastmesseinrichtung 33 gemessen, und die durch die Leistungsmesseinrichtung 34 gemessene Leistung.
-
Der Vergleichswert bezüglich der Temperatur des elektrischen Motors 2 wird so eingestellt, dass er einer Temperatur entspricht, bei welcher der elektrische Motor 2 überhitzt. Der Vergleichswert bezüglich der Vibration des Elektromotors 2 wird so eingestellt, dass er einer sogenannten Flattervibration (”chatter vibration”) entspricht. Der Vergleichswert bezüglich der Last des Elektromotors 2 wird so eingestellt, dass er einem Überlastzustand des Motors entspricht. Der Vergleichswert bezüglich des Betrages der in den Elektromotor 2 eingespeisten Leistung wird so eingestellt, dass er dem Grenzwert der Leistungskapazität entspricht.
-
Auf diese Weise ermöglichen die durch die Beurteilungseinrichtung 35 erstellten Beurteilungsdaten eine Feststellung bezüglich einer Überhitzung des elektrischen Motors 2, einer Überlast, einer Überschreitung der Leistungskapazität und bezüglich des Auftretens von Flattervibrationen.
-
Bei dem Ausführungsbeispiel, in welchem die Temperaturmesseinrichtung 31 eingerichtet ist zum Messen der Temperatur des Spindelkopfes 5, ist die Beurteilungseinrichtung 35 zusätzlich eingerichtet, die Differenz zwischen der Temperatur des Spindelkopfes 5 und einer entsprechend gewählten Temperatur zu bestimmen. Bei dem Ausführungsbeispiel, in welchem die Temperaturmesseinrichtung 31 eingerichtet ist zum Messen der Vibration des Spindelkopfes 5 ist die Beurteilungseinrichtung 35 zusätzlich eingerichtet, die Differenz zwischen der Vibration des Spindelkopfes 5 und einem entsprechend zugeordneten Wert zu bestimmen.
-
Die Befehlserstellungseinrichtung 36 erstellt einen Betriebsbefehl für den elektrischen Motor 2. Die Befehlserstellungseinrichtung 36 führt dies entsprechend einem Betriebsprogramm aus sowie aufgrund von Parametern, die in einem nicht-flüchtigen Speicher abgelegt sind. Der durch die Befehlserstellungseinrichtung 36 erstellte Betriebsbefehl wird gegebenenfalls gemäß einem Korrekturprozess korrigiert, welcher durch die Entscheidungseinrichtung 46 der maschinellen Lernvorrichtung 4 bestimmt wird, wie weiter unten noch näher erläutert wird.
-
Die maschinelle Lernvorrichtung 4 wird eingesetzt zum Erlernen eines Betriebsbefehls an einen elektrischen Motor 2 entsprechend dem Status (Zustand) der Werkzeugmaschine 1. Gemäß 1 enthält die maschinelle Lernvorrichtung 4 eine Statusüberwachungseinrichtung 41, eine Beurteilungsdatengewinnungseinheit 42, eine Lerneinrichtung 43 und eine Entscheidungseinrichtung 46.
-
Die Statusüberwachungseinrichtung 41 überwacht den Betrag der in einen Elektromotor 2 eingespeisten Leistung, die Temperatur des Elektromotors 2, die Last am Elektromotor 2 und die Vibration des Elektromotors 2 als Statusvariable. Bei einem Ausführungsbeispiel ist die Statusüberwachungseinrichtung 41 eingerichtet, zusätzlich Temperatur und Vibration des Spindelkopfes 5 als zusätzliche Statusvariable zu überwachen.
-
Die Beurteilungsdatengewinnungseinrichtung 42 gewinnt von der Beurteilungseinrichtung 35 Beurteilungsdaten entsprechend den Statusvariablen (Messwerten), welche durch die Statusüberwachungseinrichtung 41 überwacht werden.
-
Die Lerneinrichtung 43 lernt einen Betriebsbefehl an den Elektromotor 2 entsprechend einem Satz von Trainingsdaten, welche auf Basis der Statusvariablen erstellt werden.
-
Die Entscheidungseinrichtung 46 korrigiert einen Betriebsbefehl an den elektrischen Motor 2 auf Basis der Lernergebnisse der Lerneinrichtung 43. Die Entscheidungseinrichtung 46 ist eingerichtet, zumindest eine der nachfolgenden Korrekturen vorzunehmen: eine Vorschubgeschwindigkeitskorrektur, eine Spindelgeschwindigkeitskorrektur, eine Korrektur der Zeitkonstanten bezüglich Beschleunigung/Abbremsung und eine Positionskorrektur.
-
Bei der maschinellen Lernvorrichtung 4 kann es sich um einen von der Steuerung 3 getrennten Digitalrechner handeln oder sie kann in die Steuerung 3 integriert sein. Im letzteren Fall führt die maschinelle Lernvorrichtung 4 das maschinelle Lernen aus unter Verwendung der CPU und des Speichers der Steuerung 3.
-
Bei einem Ausführungsbeispiel kann die maschinelle Lernvorrichtung 4 an einem Ort vorgesehen werden, welcher vom Elektromotor 2 und der Steuerung 3 entfernt ist. In diesem Falle ist die maschinelle Lernvorrichtung 4 über ein Netzwerk an die Steuerung 3 angeschlossen. Andererseits kann die maschinelle Lernvorrichtung 4 auch in einem Cloud-Server realisiert sein.
-
Entsprechend 1 enthält die Lerneinrichtung 43 eine Nutzenberechnungseinrichtung 44 und eine Funktionsaktualisierungseinrichtung 45.
-
Die Nutzenberechnungseinrichtung 44 berechnet einen Nutzen auf Basis von Beurteilungsdaten der Messwerte, die durch die Beurteilungsdatengewinnungseinrichtung 42 gewonnen werden.
-
Die Funktionsaktualisierungseinrichtung 45 aktualisiert eine Funktion zum Bestimmen eines Betriebsbefehls an den elektrischen Motor 2 auf Basis des durch die Nutzenberechnungseinrichtung 44 berechneten Nutzens. Bei einem Ausführungsbeispiel kann die Funktionsaktualisierungseinrichtung 44 eingerichtet sein, auf Basis des zuvor erwähnten Nutzens eine Aktionswerttabelle zu ändern. Die Aktionswerttabelle ist eine Referenztabelle und verknüpft die Statusvariablen und diesen jeweils zugeordnete Aktionswerte.
-
Mit Bezug auf 2 soll nun ein maschinelles Lernverfahren gemäß einem Ausführungsbeispiel näher erläutert werden, welches durch die maschinelle Lernvorrichtung 4 ausgeführt wird.
-
In Schritt S201 wird die Aktionswerttabelle aktualisiert. Bei Ausführung des Schrittes S201 wird irgendein Anfangswert in die Aktionswerttabelle eingegeben. In Schritt S202 ermittelt die Entscheidungseinrichtung 46 den Betrag der Korrektur des Betriebsbefehls entsprechend den Statusvariablen. In der anfänglichen Stufe des maschinellen Lernens kann die Entscheidungseinrichtung 46 den Betrag der Korrektur des Betriebsbefehls willkürlich bestimmen.
-
In Schritt S203 wird ermittelt, ob eine Anormalität in der Werkzeugmaschine 1 aufgetreten ist. Dabei bedeutet eine ”Anormalität” in der Werkzeugmaschine 1 zumindest einen der folgenden Zustände: einen Zeitpunkt, zu dem der Betrag der in den Elektromotor 2 eingespeisten Leistung einen zulässigen Wert überschreitet, einen Zustand, bei dem die Last am Elektromotor 2 zu groß ist, einen Zustand, in dem die Temperatur des Elektromotors zu hoch ist, einen Zustand, in dem in der Werkzeugmaschine 1 eine Flattervibration auftritt, und einen Zustand, in dem die Temperatur des Spindelkopfes 5 zu hoch ist. Die Beurteilung in Schritt S203 erfolgt auf Basis der durch die Beurteilungseinrichtung 35 der Steuerung 3 erstellten Beurteilungsdaten.
-
Ist keine Anormalität aufgetreten (wenn das Ergebnis der Beurteilung in Schritt S203 nein ist), geht das Verfahren zu Schritt S204, wo die Nutzenberechnungseinrichtung 44 den Nutzen für diese Aktion (Korrektur des Betriebsbefehls) erhöht. Wenn andererseits eine Anormalität aufgetreten ist (wenn das Ergebnis der Beurteilung in Schritt S203 ja ist), geht das Verfahren zu Schritt S205, wo die Nutzenberechnungseinrichtung 44 den Nutzen für diese Aktion absenkt.
-
Nach Berechnung des Nutzens in Schritt S204 oder S205 geht das Verfahren zurück zu Schritt S201, wo die Aktionswerttabelle aktualisiert wird. Der Prozess von Schritt S201 zu Schritt S205 wird wiederholt, bis ein hinreichender Lerneffekt durch das maschinelle Lernen gewonnen ist.
-
Nunmehr wird die maschinelle Lernvorrichtung 4 im Detail näher erläutert. Die maschinelle Lernvorrichtung 4 hat eine Funktion, um aus dem in die Vorrichtung eingegebenen Datensatz nützliche Regeln oder wissenswerte Ausdrücke, Beurteilungskriterien etc. durch Analyse zu extrahieren und sie gibt die Ergebnisse der Beurteilung ab und lernt das Wissen. Diesbezüglich sind verschiedene Techniken gegeben und grob können diese eingeteilt werden in ”überwachtes Lernen”, ”nicht überwachtes Training” und ”Verstärkungslernen”. Bei Anwendung dieser Techniken gibt es eine Besonderheit, die mit ”Tiefenlernen” (”deep learning”) bezeichnet wird, mit welcher auch die Extraktion von Merkmalsquantitäten erlernt wird.
-
”Überwachtes Lernen” ergibt eine große Menge an Sätzen von bestimmten Daten für Eingaben und Resultate (Kennzeichnungen) und damit können die Merkmale solcher Datensätze erlernt werden und es kann induktiv ein Modell gewonnen werden zum Vorhersagen von Ergebnissen aus Eingaben, das heißt die Relationen.
-
Beim vorliegenden Ausführungsbeispiel ist es möglich, dies für die Einrichtung zum Korrigieren eines Befehls für den Elektromotor aus dem Betrag der in den Elektromotor eingespeisten Leistung, der Temperatur, der Last, Vibration des Motors etc. zu verwenden. Ein weiter unten näher erläutertes neuronales Netzwerk oder ein anderer Algorithmus kann hierfür verwendet werden.
-
”Nicht überwachtes Lernen” bedeutet eine große Menge nur an Eingangsdaten in die Lernvorrichtung zum Erlernen der Verteilung der Eingangsdaten. Ohne Ausgabe entsprechender überwachter Ausgangsdaten lehrt diese Technik den Vorrichtungen eine Kompression, Klassifizierung, Formung etc. der Eingangsdaten. Ein sogenanntes Clustering ist möglich bei Partien mit ähnlichen Eigenschaften in solchen Datensätzen. Durch Vorgabe bestimmter Kriterien für die Ergebnisse ist es möglich, eine Vorhersage des Ausgangs zu verwirklichen durch optimale Zuordnung. Als ein Zwischenstadium zwischen ”nicht überwachtem Lernen” und ”überwachtem Lernen” gibt es das sogenannte ”semi-überwachte Lernen”. Dies ist geeignet, wenn nur für einen Teil der Daten Sätze von Eingabe- und Ausgabedaten vorliegen und der Rest der Daten nur aus Eingabedaten besteht. Beim vorliegenden Ausführungsbeispiel ist es möglich, durch nicht überwachtes Lernen Daten zu verwenden, die gewonnen werden können, ohne dass der Elektromotor 2 tatsächlich in Betrieb ist, wobei das Einlernen sehr effizient erfolgt.
-
Die Probleme beim Verstärkungslernen sind die folgenden:
- – Die Steuerung 3 des Elektromotors 2 überwacht den Zustand der Umgebung und bestimmt eine Aktion.
- – Die Umgebung ändert sich gemäß einer bestimmten Regel. Auch verursachen eigene Aktionen Änderungen der Umgebung.
- – Ein Nutzensignal ergibt sich aus jeder Aktion.
- – Was zu maximieren ist, ist die Gesamtheit der Nutzen in der Zukunft.
- – Das Lernen startet von einem Zustand, in welchem das Ergebnis einer Aktion vollständig unbekannt ist oder nur unvollständig bekannt ist. Die Steuerung 3 kann das Ergebnis erst nach einem tatsächlichen Betrieb des Elektromotors gewinnen. Das bedeutet, es ist erforderlich, durch ”Versuch und Irrtum” die optimale Aktion zu suchen.
- – Es ist auch möglich, das Lernen im Voraus auszuführen mit Vorgabe einer menschlichen Operation (eine Technik wie beim oben genannten überwachten Lernen oder bei einem inversen Verstärkungslernen) für den Ausgangszustand und damit das Lernen von einem guten Startpunkt ausgehend zu starten.
-
”Verstärkungslernen” ist ein Verfahren zum Lernen von Aktionen, ohne dass dabei eine Einschränkung auf eine Beurteilung oder eine Klassifizierung vorliegt, um eine geeignete Aktion auf Basis von Interaktionen mit Aktionen in der gegebenen Umgebung zu erlernen zur Maximierung des in der Zukunft zu erwartenden Nutzens. Beim vorliegenden Ausführungsbeispiel ist es möglich, eine Aktion zu ermitteln, welche einen Effekt in der Zukunft hat. Die nachfolgende Erläuterung bezieht sich auf den Fall des sogenannten Q-Lernens, jedoch ist die Erfindung nicht darauf beschränkt.
-
Q-Lernen ist ein Verfahren zum Erlernen eines Wertes Q(s, a) mit Auswahl einer Aktion ”a” in einem bestimmten Zustand ”s” der Umgebung. In einem bestimmten Zustand ”s” kann die Aktion ”a” mit dem höchsten Wert Q(s, a) als die am meisten geeignete Aktion ausgewählt werden. Zunächst allerdings ist der genaue Wert für Q(s, a) für die Kombination eines Zustandes ”s” und einer Aktion ”a” völlig unbekannt. Deshalb wählt ein Agent (Aktionsgröße) unterschiedliche Aktionen ”a” unter bestimmten Zuständen ”s” und erhält einen Nutzen für die Aktionen ”a” zu den Zeitpunkten. Damit kann der Agent eine bessere Aktion auswählen, d. h. den richtigen Wert Q(s, a) erlernen.
-
Es wird angestrebt, den Gesamtwert der Nutzen, die für die Zukunft im Ergebnis der Aktionen gewonnen werden, zu maximieren, es wird also Q(s, a) = E[Σγtrt] angestrebt, also eine optimale Aktion mit zugehörigem Zustand. Dies ist anfänglich unbekannt und muss mit Ausführung einer Recherche erlernt werden. Zum Aktualisieren des Wertes Q(s, a) kann beispielsweise der folgende Ausdruck verwendet werden.
-
-
Hier bedeutet st den Zustand der Umgebung zur Zeit ”t” und at bedeutet eine Aktion zum Zeitpunkt ”t”. Aufgrund der Aktion at ändert sich der Zustand in st+1. rt+1 bedeutet den Nutzen aufgrund der Änderung des Zustandes. Der Term mit dem Index ”max” ist das Produkt aus dem Q-Wert, multipliziert mit γ bei Auswahl der Aktion ”a” mit dem höchsten Q-Wert im Zustand st+1, der zu dem Zeitpunkt bekannt ist. ”y” ist ein Parameter mit Werten 0 < γ ≤ 1 und wird üblicherweise als ”Abschlagsrate” bezeichnet. ”α” ist ein Lernkoeffizient und es gilt 0 < α ≤ 1.
-
Diese Gleichung skizziert das Verfahren zum Aktualisieren des ermittelten Wertes Q(st, at) bei der Aktion at im Zustand st entsprechend dem Nutzen rt+1, welcher im Ergebnis der Aktion at rückgemeldet wird. Ist der evaluierte Wert Q(st+1, max at+1) bei der besten Aktion ”max a” im nachfolgenden Zustand aufgrund des sich ergebenden Nutzens rt+1 bei der Aktion ”a” größer als der evaluierte Wert Q(st, at) der Aktion ”a” im Zustand ”s”, wird der Wert Q(st, at) vergrößert, während im umgekehrten Fall der Wert Q(st, at) kleiner gemacht wird. Der Wert einer bestimmten Aktion mit einem bestimmten Zustand wird also angenähert an den unmittelbar als Ergebnis rückgemeldeten Nutzen und den Wert der besten Aktion im nächsten Zustand.
-
Als Verfahren zum Gewinnen von Q(s, a) mit einem Rechner können die Werte für alle Zustand/Aktion-Paare (s, a) in Form einer Tabelle (Aktionswerttabelle) gehalten werden, oder auch das Verfahren mit einer Funktion (Algorithmus) zum Annähern von Q(s, a). Beim letztgenannten Verfahren kann die oben genannte Aktualisierungsgleichung realisiert werden durch Justierung der Parameter der Approximationsfunktion durch das Verfahren des stochastischen absteigenden Gradienten oder durch andere Techniken. Für die Approximationsfunktion kann auch das weiter unten erläuterte neuronale Netzwerk eingesetzt werden.
-
Als Algorithmus zum Approximieren der Wertefunktion mit überwachtem Lernen, nicht überwachtem Lernen oder Verstärkungslernen kann ein neuronales Netzwerk eingesetzt werden. Ein neuronales Netzwerk wird durch ein Prozessorsystem, einen Speicher etc. konfiguriert zur Simulation eines Neuronenmodells entsprechend 3.
-
Gemäß
3 geben Neuronenausgänge ”y” entsprechend einer Mehrzahl von Eingängen ”x” aus (beim dargestellten Beispiel Eingang x
1 bis Eingang x
3). Die Eingänge x
1 bis x
3 werden mit Wichtungen ”w” multipliziert (w
1 bis w
3), die den Eingängen ”x” zugeordnet sind. Dementsprechend geben die Neuronen die Ausgänge ”y” entsprechend der nachfolgenden Gleichung aus. Die Eingänge ”x”, die Ausgänge ”y” und die Wichtungen ”w” sind Vektoren.
wobei θ die Bias und f
k eine Aktivierungsfunktion sind.
-
Nunmehr soll ein neuronales Netzwerk mit drei Schichten von Wichtungen mit Blick auf 4 näher erläutert werden, welches gewonnen wird durch Zusammenfügung obiger Neuronen. 4 ist eine schematische Darstellung eines neuronalen Netzwerkes mit den drei Wichtungsschichten D1 bis D3.
-
Entsprechend 4 werden auf der linken Seite des neuronalen Netzwerkes mehrere Eingänge ”x” (hier beispielsweise die Eingänge x1 bis x3) eingegeben, während auf der rechten Seite Ergebnisse ”y” ausgegeben werden (hier beispielsweise die Ergebnisse y1 bis y3).
-
Die Eingänge (im Sinne von Eingaben) x1 bis x3 werden entsprechend den drei Neuronen N11 bis N13 gewichtet. Die diesen Eingängen zugeordneten Wichtungen sind insgesamt mit ”w1” bezeichnet.
-
Die Neuronen N11 bis N13 geben z11 bis z13 aus. Diese Ausgänge z11 bis z13 sind mit ”Merkmalsvektoren z1” insgesamt bezeichnet und sind Vektoren, welche die Merkmalsgrößen der Eingabevektoren wiedergeben. Die Merkmalsvektoren z1 liegen zwischen den Wichtungen w1 und w2.
-
z11 bis z13 sind Eingänge, die entsprechend den zwei Neuronen N21, N22 gewichtet sind. Die Wichtungen, mit denen diese Merkmalsvektoren multipliziert werden, sind insgesamt mit ”w2” bezeichnet.
-
Die Neuronen N21 bzw. N22 geben z21 bzw. z22 aus. Diese sind insgesamt mit ”Merkmalsvektoren z2” bezeichnet. Diese Merkmalsvektoren z2 liegen zwischen den Wichtungen w2 und w3.
-
Die Merkmalsvektoren z21, z22 werden nach der Wichtung in die drei Neuronen N31 bis N33 eingegeben. Die an diesen Merkmalsvektoren vorgenommenen Wichtungen sind insgesamt mit ”w3” bezeichnet.
-
Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus.
-
Der Betrieb des neuronalen Netzwerkes beinhaltet einen Lernmodus und einen Wertvorhersagemodus. Im Lernmodus wird ein Lerndatensatz verwendet zum Einlernen einer Wichtung ”w” und dieser Parameter wird verwendet zur Korrektur eines Befehls an einen Elektromotor im Vorhersagemodus (der Einfachheit halber wird hier der Begriff ”Vorhersage” verwendet, jedoch sind auch andere Aufgaben möglich, wie Detektion, Klassifizierung, Erklärung etc.).
-
Im Vorhersagemodus ist es auch möglich, in der nachfolgenden Aktion die Daten unmittelbar einzulernen und wiederzugeben, welche durch den tatsächlichen Betrieb des Elektromotors gewonnen werden (sogenanntes ”Online”-Lernen) und es kann eine Gruppe von Daten verwendet werden, welche im Voraus für das Lernen gesammelt werden und anschließend können diese Parameter für einen Detektionsmodus (sogenanntes Bündel-Lernen; batch) verwendet werden. Jedes Mal, wenn solche Zwischendaten akkumuliert werden, wird der Lernmodus zwischengeschaltet.
-
Die Wichtungen w1 bis w3 können erlernt werden mit dem Verfahren der sogenannten Backpropagation (Rückpropagierung). Informationen bezüglich des Fehlers werden von rechts eingegeben und strömen nach links. Das Verfahren der Backpropagation ist eine Technik zum Einstellen (Lernen) der jeweiligen Wichtungen für die verschiedenen Neuronen, so dass die Differenz zwischen einem Ausgang ”y” bei einem Eingang ”x” und dem richtigen Ausgang ”y” (überwacht) kleiner wird.
-
Ein solches neuronales Netzwerk kann drei oder mehr Schichten aufweisen (bei vielen Schichten: ”Tiefenlernen”). Ein Prozessorsystem für die Merkmalsextraktion bezüglich der Eingänge in Stufen und für die Regression der Ergebnisse kann aus den so überwachten Daten automatisch gewonnen werden.
-
Dementsprechend hat eine maschinelle Lernvorrichtung 4 gemäß dem vorliegenden Ausführungsbeispiel nach 1 eine Statusüberwachungseinrichtung 41, eine Lerneinrichtung 43 und eine Entscheidungseinrichtung 46 zum Ausführen des vorstehend erläuterten Q-Lernens. Das maschinelle Lernen im Zusammenhang mit der vorliegenden Erfindung ist aber nicht auf das Q-Lernen beschränkt. Bei überwachtem Lernen entspricht die Wertfunktion dem Lernmodell und der Nutzen entspricht dem Fehler.
-
Es besteht eine komplexe Korrelation zwischen der Mehrzahl der Statusvariablen, die beim vorliegenden Ausführungsbeispiel überwacht werden. Steigt beispielsweise die Vorschubgeschwindigkeit der Werkzeugmaschine an, steigt auch die Last am Elektromotor 2 und das Auftreten von Flattervibrationen ist begünstigt. Steigen die Vibrationen am Elektromotor 2, wird die Positionierungspräzision des Spindelkopfes schlechter. Steigt die Temperatur des Spindelkopfes 5 an, fällt die Positionierungspräzision aufgrund der Wärmeausdehnung ab. Auf diese Weise beeinflussen sich die Statusvariablen in komplexer Weise wechselseitig und dadurch kann die Bearbeitungspräzision leiden.
-
Mit der maschinellen Lernvorrichtung und dem maschinellen Lernverfahren gemäß dem oben beschriebenen Ausführungsbeispiel aber kann die maschinelle Lernvorrichtung 4 einen geeigneten Betriebsbefehl für einen Elektromotor 2 entsprechend den Statusvariablen erlernen, so dass in jeglicher Situation eine passende Korrektur der Bearbeitung ausgeführt werden kann. Deshalb besteht mit diesem Ausführungsbeispiel keine Notwendigkeit, dass eine Bedienungsperson eine Korrektur ausführen muss. Eine geeignete Korrektur erfolgt hingegen automatisch, so dass in jedem Falle eine hohe Bearbeitungspräzision erreicht wird.
-
Bei einem Ausführungsbeispiel kann die Lerneinrichtung auch eingerichtet sein, einen Betriebsbefehl entsprechend einem Satz von Trainingsdaten zu erlernen, welcher für eine Mehrzahl von Werkzeugmaschinen erstellt wird. Die Lerneinrichtung kann einen Satz Trainingsdaten gewinnen aus mehreren Sätzen für Elektromotoren im selben Arbeitsbereich oder sie kann einen Satz Trainingsdaten einsetzen, der bezüglich mehrerer unabhängiger Elektromotoren in unterschiedlichen Arbeitsbereichen zusammengestellt ist, um für einen Elektromotor den passenden Betriebsbefehl zu erlernen.
-
Oben wurden Ausführungsbeispiele näher erläutert, bei denen das sogenannte Verstärkungslernen und ein neuronales Netzwerk für das maschinelle Lernen näher erläutert wurden, jedoch können auch andere bekannte Verfahren, wie beispielsweise die Genexpressionsprogrammierung, die funktionslogische Programmierung, eine Supportvektormaschine etc. für das maschinelle Lernen eingesetzt werden.
-
Oben wurden verschiedene Ausführungsbeispiele der Erfindung näher beschrieben, jedoch versteht eine Fachperson, dass andere Ausführungsbeispiele gleichermaßen eingesetzt werden können, um die Merkmale und Wirkungen der Erfindung zu realisieren. Insbesondere können Komponenten der obigen Ausführungsbeispiele weggelassen oder ersetzt werden oder es können Merkmale hinzugefügt werden, ohne den Bereich der Erfindung zu verlassen. Auch können Merkmale der näher beschriebenen Ausführungsbeispiele wahlweise miteinander kombiniert werden, um die Erfindung zu verwirklichen.
-
Mit der maschinellen Lernvorrichtung und dem maschinellen Lernverfahren gemäß der Erfindung wird ein Betriebsbefehl für einen Elektromotor entsprechend einem Satz von Trainingsdaten erlernt, welcher auf Basis von Statusvariablen erstellt wird. Deshalb muss eine Bedienungsperson keine Korrektur ausführen. Der Elektromotor wird entsprechend der Situation passend gesteuert. Mit einer erfindungsgemäßen Werkzeugmaschine werden die Elektromotoren zum Antrieb der Spindel und der Antriebswellen passend entsprechend der Situation gesteuert, so dass jeweils eine hochpräzise Bearbeitung erreicht wird.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2014/115395 A [0003]
- WO 2015/087455 A [0003]