-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Werkzeugmaschine und insbesondere eine Werkzeugmaschine, die eine optimale Geschwindigkeitsverteilung bei der Steuerung jeder Achse erzeugt.
-
2. Beschreibung des Standes der Technik
-
Bei einer herkömmlichen Bearbeitung einer Komponente, einer Form oder dergleichen wird ein Bearbeitungsprogramm erstellt und eine Werkzeugmaschine wird anhand des erstellten Bearbeitungsprogramms gesteuert, um die Bearbeitung durchzuführen. Eine Bearbeitungsgeschwindigkeit zur Durchführung der Bearbeitung wird als Bewegungsgeschwindigkeit einer Achse in einem Bearbeitungsprogramm angewiesen, die eine Maximalgeschwindigkeit der relativen Bewegung (Werkzeugbewegung) zwischen einem Werkzeug und einem Bearbeitungsobjekt ist. Tatsächlich jedoch werden Bewegungsdaten, in welchen eine Bewegungsgeschwindigkeit jeder Achse entsprechend einer Beschleunigungs-/Verlangsamungszeitkonstante jeder Achse variiert wird, an eine Werkzeugmaschine zum Zeitpunkt des Beginns einer Bearbeitung oder in einem Eckenteil oder einem Kurventeil oder dergleichen ausgegeben. Ferner haben Bearbeitungsobjekte ihre Bearbeitungssollzeit, aber ein Bediener einer Werkzeugmaschine stellt eine solche Bearbeitungszeit durch Ändern einer Beschleunigungs-/Verlangsamungszeitkonstante oder Ändern einer Vorschubgeschwindigkeit eines Werkzeugs ein, wie in einem Programm angewiesen, während die Genauigkeit der Bearbeitungsoberfläche eines Bearbeitungsobjekts geprüft wird.
-
Als bekannte Technik in Verbindung mit der Einstellung von Parametern in einer solchen Bearbeitung offenbart die
Japanische Patentanmeldung mit der Offenlegungsnummer 2003-058218 ein Parametereinstellverfahren, in dem mehrere Arten von Parametern, die in der Bearbeitung einstellbar sind, erstellt und als Parametersatz verwendet werden. Ferner offenbart die
Japanische Patentanmeldung mit der Offenlegungsnummer 2006-043836 ein Einstellverfahren für Bearbeitungsbedingungen, in dem die Erstellung von Bearbeitungspfadinformationen und die Einstellung von Bearbeitungsbedingungen zur Verkürzung einer Bearbeitungszeit unter Berücksichtigung einer Bearbeitungsgenauigkeit unter Verwendung eines Bearbeitungsmusters durchgeführt wird.
-
Im Allgemeinen kann eine Erhöhung einer gesamten Bearbeitungsgeschwindigkeit derart erzielt werden, dass eine angewiesene Geschwindigkeit oder eine Beschleunigung zur Steuerung eines Werkzeugs bei der Durchführung einer Bearbeitung zur Gänze erhöht ist. Wenn andererseits eine Bewegungsgeschwindigkeit oder eine Beschleunigung eines Werkzeugs an einem Eckenteil oder nahe einem Kurventeil zu hoch eingestellt ist, besteht eine Wahrscheinlichkeit, dass ein tatsächlicher Werkzeugpfad von einem angewiesenen Pfad abweicht.
-
8A und 8B sind schematische Darstellungen, die ein Beispiel zeigen, in dem ein tatsächlicher Pfad von einem Werkzeugpfad abweicht, der von einem Bearbeitungsprogramm angewiesen ist.
-
In verschiedenen Bearbeitungen, wie Dreh-, dargestellt in 8A, und Bohrbearbeitung, dargestellt in 8B, tritt die Abweichung eines Pfades infolge eines Überlaufs, nach innen Drehens oder dergleichen an einem Eckenteil oder nahe einem Kurventeil auf, wenn eine Geschwindigkeit oder eine Beschleunigung eines Werkzeugs erhöht wird.
-
Wenn eine solche Abweichung eines Pfades eintritt, kommt es zu einer Verringerung in der Genauigkeit einer Bearbeitungsoberfläche oder zum Auftreten eines Bearbeitungsfehlers (9A), zum Bruch eines Werkzeugs aufgrund eines Eingriffs mit einem Werkstück (9B) oder dergleichen. Ein Einstellen einer Geschwindigkeit oder einer Beschleunigung zur Verkürzung einer Bearbeitungszeit unter Berücksichtigung jedes Elements, das mit der Bewegung einer Achse verknüpft ist, um ein solches Phänomen zu verhindern, ist für einen Bediener sehr aufwändig und kann dennoch nicht imstande sein, eine Geschwindigkeit oder eine Beschleunigung zu optimieren.
-
Als Reaktion auf solche Probleme können die bekannten Techniken, die in der
Japanischen Patentanmeldung mit der Offenlegungsnummer 2003-058218 und der
Japanischen Patentanmeldung mit der Offenlegungsnummer 2006-043836 offenbart sind, nur Situationen bewältigen, die an einen erstellten Parametersatz oder ein Bearbeitungsmuster angepasst sind, und können nicht flexibel unterschiedliche Situationen bewältigen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Angesichts der obengenannten Umstände hat die vorliegende Erfindung zur Aufgabe, eine Werkzeugmaschine bereitzustellen, die eine optimale Geschwindigkeitsverteilung bei der Steuerung jeder Achse erzeugt.
-
In der vorliegenden Erfindung wird ein Änderungsausmaß von einer Position einer Achse einer Werkzeugmaschine zu einem bestimmten Zeitpunkt zu einer Position der Achse im nächsten Moment erhalten. Ein solches Änderungsausmaß sind Daten, die als Befehlsimpuls bezeichnet werden, der von einer numerischen Steuerung ausgegeben wird. Üblicherweise kann kein optimales Änderungsausmaß erhalten werden, da ein Ingenieur eines Werkzeugmaschinenherstellers eine Beschleunigungs-/Verlangsamungszeitkonstante jeder Achse bei der Durchführung einer Einstellung festlegt. Daher wird ein Bewegungsausmaß einer Achse optimiert, um die Geschwindigkeitsverteilung auf einem speziellen Werkzeugpfad zu erzeugen und eine Verkürzung jeder Bearbeitungszeit und eine Verbesserung einer Bearbeitungsgenauigkeit zu erzielen.
-
Gemäß einer Ausführungsform der vorliegenden Erfindung treibt eine Werkzeugmaschine mindestens eine Achse anhand eines angewiesenen Pfades eines Werkzeugs an, der von einem Programm angewiesen wird, um eine Bearbeitung eines Werkstücks auszuführen. Die Werkzeugmaschine enthält: einen Betriebsauswertungsabschnitt, der einen Betrieb der Werkzeugmaschine auswertet, um Auswertungsdaten auszugeben; und eine Maschinenlernvorrichtung, die einen Maschinenlernprozess einer Bestimmung eines Bewegungsausmaßes der Achse durchführt. Die Maschinenlernvorrichtung hat einen Zustandsbeobachtungsabschnitt, der als Zustandsdaten Daten gewinnt, die mindestens eine Position der Achse der Werkzeugmaschine und die Auswertungsdaten, die vom Betriebsauswertungsabschnitt ausgegeben werden, enthalten, einen Kompensationsbedingungen-Einstellungsabschnitt, der eine Kompensationsbedingung einstellt, einen Kompensationsberechnungsabschnitt, der eine Kompensation anhand der Zustandsdaten berechnet, die durch den Zustandsbeobachtungsabschnitt gewonnen werden, einen Bewegungsausmaßeinstellungs-Lernabschnitt, der den Maschinenlernprozess der Bestimmung des Bewegungsausmaßes der Achse durchführt, und einen Bewegungsausmaß-Ausgabeabschnitt, der das Bewegungsausmaß der Achse anhand eines Maschinenlernprozessergebnisses des Maschinenlernprozesses der Bestimmung des Bewegungsausmaßes der Achse durch den Bewegungsausmaßeinstellungs-Lernabschnitt und der Zustandsdaten bestimmt, sodass eine Verteilung von Bewegungsgeschwindigkeiten des Werkzeugs optimal wird, und das bestimmte Bewegungsausmaß ausgibt. Der Bewegungsausmaßeinstellungs-Lernabschnitt ist zum Durchführen des Maschinenlernprozesses der Bestimmung des Bewegungsausmaßes der Achse anhand des bestimmten Bewegungsausmaßes der Achse, der Zustandsdaten, die vom Zustandsbeobachtungsabschnitt nach einem Betrieb der Werkzeugmaschine anhand des ausgegebenen Bewegungsausmaßes der Achse gewonnen werden, und der vom Kompensationsberechnungsabschnitt berechneten Kompensation gestaltet.
-
Der Kompensationsberechnungsabschnitt kann zum Berechnen einer positiven Kompensation gestaltet sein, wenn eine kombinierte Geschwindigkeit der Achse erhöht wird oder wenn die Bearbeitungsgenauigkeit verbessert ist, und zum Berechnen einer negativen Kompensation, wenn das Werkzeug vom angewiesenen Pfad abweicht.
-
Die Werkzeugmaschine kann mit mindestens einer anderen Werkzeugmaschine verbunden sein und wechselseitig das Maschinenlernprozessergebnis mit der anderen Werkzeugmaschine austauschen oder teilen.
-
Der Bewegungsausmaßeinstellungs-Lernabschnitt kann zum Durchführen des Maschinenlernprozesses unter Verwendung des einstellten Bewegungsausmaßes der Achse und einer Auswertungsfunktion, in der die vom Zustandsbeobachtungsabschnitt gewonnenen Zustandsdaten durch ein Argument ausgedrückt sind, gestaltet sein, sodass die Kompensation maximal ist.
-
Gemäß einer anderen Ausführungsform der vorliegenden Erfindung simuliert ein Simulationsapparat eine Werkzeugmaschine, die mindestens eine Achse anhand eines angewiesenen Pfades eines Werkzeugs antreibt, wie durch ein Programm angewiesen, um eine Bearbeitung eines Werkstücks durchzuführen. Der Simulationsapparat enthält: einen Betriebsauswertungsabschnitt, der einen Simulationsbetrieb der Werkzeugmaschine auswertet, um Auswertungsdaten auszugeben; und eine Maschinenlernvorrichtung, die einen Maschinenlernprozess einer Bestimmung eines Bewegungsausmaßes der Achse durchführt. Die Maschinenlernvorrichtung hat einen Zustandsbeobachtungsabschnitt, der als Zustandsdaten simulierte Daten, die mindestens eine Position der Achse der Werkzeugmaschine enthalten, und die Auswertungsdaten, die vom Betriebsauswertungsabschnitt ausgegeben werden, gewinnt, einen Kompensationsberechnungsabschnitt, der eine Kompensation anhand der Zustandsdaten berechnet, die vom Zustandsbeobachtungsabschnitt gewonnen werden, einen Bewegungsausmaßeinstellungs-Lernabschnitt, der den Maschinenlernprozess der Bestimmung des Bewegungsausmaßes der Achse durchführt, und einen Bewegungsausmaß-Ausgabeabschnitt, der das Bewegungsausmaß der Achse anhand eines Maschinenlernprozessergebnisses des Maschinenlernprozesses der Bestimmung des Bewegungsausmaßes der Achse durch den Bewegungsausmaßeinstellungs-Lernabschnitt und der Zustandsdaten bestimmt, sodass eine Verteilung von Bewegungsgeschwindigkeiten des Werkzeugs optimal wird, und das bestimmte Bewegungsausmaß ausgibt. Der Bewegungsausmaßeinstellungs-Lernabschnitt ist zum Durchführen des Maschinenlernprozesses der Bestimmung des Bewegungsausmaßes der Achse anhand des bestimmten Bewegungsausmaßes der Achse, der Zustandsdaten, die vom Zustandsbeobachtungsabschnitt nach dem Simulationsbetrieb der Werkzeugmaschine anhand des ausgegebenen Bewegungsausmaßes der Achse gewonnen werden, und der vom Kompensationsberechnungsabschnitt berechneten Kompensation gestaltet.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung hat eine Maschinenlernvorrichtung einen Maschinenlernprozess einer Einstellung eines Bewegungsausmaßes mindestens einer Achse einer Werkzeugmaschine durchgeführt.
-
Die Maschinenlernvorrichtung enthält: einen Lernergebnisspeicherabschnitt, der ein Maschinenlernprozessergebnis einer Bestimmung des Bewegungsausmaßes der Achse speichert; einen Zustandsbeobachtungsabschnitt, der Zustandsdaten gewinnt, die mindestens eine Position der Achse der Werkzeugmaschine enthalten; und einen Bewegungsausmaß-Ausgabeabschnitt, der das Bewegungsausmaß der Achse anhand des Maschinenlernprozessergebnisses, das im Lernergebnisspeicherabschnitt gespeichert ist, und der Zustandsdaten bestimmt, sodass eine Verteilung von Bewegungsgeschwindigkeiten eines Werkzeugs der Werkzeugmaschine optimal wird, und das bestimmte Bewegungsausmaß ausgibt.
-
Gemäß einer Ausführungsform der vorliegenden Erfindung wird es möglich, durch die Einführung eines Maschinenlernprozesses in die Bestimmung eines optimalen Bewegungsausmaßes jeder Achse, die Geschwindigkeitsverteilung zu erhalten und die Bearbeitung eines Werkstücks in einem kürzeren Zeitraum und mit höherer Bearbeitungsgenauigkeit zu erzielen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obengenannten und andere Aufgaben und Merkmale der vorliegenden Erfindung gehen aus den Beschreibungen der folgenden Ausführungsformen mit Bezugnahme auf die beiliegenden Zeichnungen hervor, in welchen;
-
1A und 1B schematische Darstellungen sind, die jeweils ein Beispiel zeigen, in dem die Geschwindigkeitsverteilung einer Werkzeugmaschine gemäß der vorliegenden Erfindung optimiert ist;
-
2 eine schematische Darstellung zur Beschreibung des Grundkonzepts eines bestärkenden Lernalgorithmus ist;
-
3 eine bildliche Darstellung bezüglich des Maschinenlernprozesses der Werkzeugmaschine gemäß einer Ausführungsform der vorliegenden Erfindung ist;
-
4 eine schematische Darstellung zur Beschreibung sämtlicher Daten ist, die in der Ausführungsform der vorliegenden Erfindung gehandhabt werden;
-
5 ein Funktionsblockdiagramm der Werkzeugmaschine gemäß der Ausführungsform der vorliegenden Erfindung ist;
-
6 ein Ablaufdiagramm zur Beschreibung des Ablaufs des Maschinenlernprozesses ist, der von einem Bewegungsausmaßeinstellungs-Lernabschnitt in der Maschinenlernvorrichtung von 5 durchgeführt wird;
-
7 ein Funktionsblockdiagramm eines Simulationsapparats gemäß der Ausführungsform der vorliegenden Erfindung ist;
-
8A und 8B schematische Darstellungen zur Beschreibung der Abweichung eines Werkzeugpfades in der Bearbeitung eines Werkstücks sind; und
-
9A und 9B schematische Darstellungen zum Beschreiben eines Problems sind, das durch die Abweichung eines Werkzeugpfades verursacht wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1A und 1B sind schematische Darstellungen, die jeweils ein Beispiel zeigen, in dem die Geschwindigkeitsverteilung einer Werkzeugmaschine gemäß der vorliegenden Erfindung optimiert ist.
-
In jeder von 1A und 1B gibt ein gestrichelter Kreis eine Größe einer angewiesenen Geschwindigkeit (d. h., eine Größe einer Geschwindigkeit vor dem Lernprozess) an jedem Punkt eines angewiesenen Pfads an und ein voller Kreis gibt eine Größe einer optimierten Geschwindigkeit (d. h., eine Größe einer Geschwindigkeit nach dem Lernprozess) an jedem Punkt des angewiesenen Pfades an.
-
In der vorliegenden Erfindung ist eine Maschinenlernvorrichtung, die als künstliche Intelligenz dient, in eine Werkzeugmaschine eingeführt, die ein Werkstück bearbeitet, und ein Maschinenlernprozess wird über ein Bewegungsausmaß jeder Achse der Werkzeugmaschine bei der Bearbeitung des Werkstücks anhand eines Bearbeitungsprogramms durchgeführt, wodurch die Geschwindigkeit (das Bewegungsausmaß) jeder Achse der Werkzeugmaschine eingestellt wird, um zu einem bestimmten Zeitpunkt in der Bearbeitung des Werkstücks optimal zu sein, wie in 1A und 1B dargestellt. In der Einstellung des Bewegungsausmaßes jeder Achse wird die Verteilung optimaler Geschwindigkeiten erhalten, wobei das Ziel eine schnellere und sanftere Bewegung eines Werkzeugs und keine Abweichung von einem Werkzeugpfad in einem größeren Ausmaß ist. Somit wird die Bearbeitung des Werkstücks mit höherer Bearbeitungsgenauigkeit in einem kürzeren Zeitraum erzielt.
-
Es folgt eine kurze Beschreibung des Maschinenlernprozesses, der in eine Werkzeugmaschine gemäß der vorliegenden Erfindung eingeführt wird.
-
(1) Maschinenlernprozess
-
Im Allgemeinen ist ein Maschinenlernprozess in verschiedene Algorithmen klassifiziert, wie überwachtes Lernen und nicht überwachtes Lernen, seinem Ziel oder Bedingungen entsprechend. Die vorliegende Erfindung hat zur Aufgabe, ein Bewegungsausmaß jeder Achse einer Werkzeugmaschine in der Bearbeitung eines Werkstücks anhand eines Bearbeitungsprogramms zu lernen. Unter Berücksichtigung der Tatsache, dass es schwierig ist, anhand eines ausgegebenen Bewegungsausmaßes jeder Achse explizit anzugeben, welche Art von Aktion (Einstellung eines Bewegungsausmaßes jeder Achse) in Bezug auf einen Bewegungspfad eines Werkzeugs angemessen durchgeführt werden kann, wird ein bestärkender Lernalgorithmus verwendet, in dem eine Maschinenlernvorrichtung automatisch eine Aktion zum Erreichen einer Aufgabe nur mit Akzeptanz einer Kompensation lernt.
-
2 ist eine schematische Darstellung zur Beschreibung des Grundkonzepts eines bestärkenden Lernalgorithmus.
-
Im bestärkenden Lernprozess werden ein Agentlernprozess und eine Aktion durch die Interaktionen zwischen einem Agenten (einer Maschinenlernvorrichtung), der als lernendes Subjekt dient, und einer Umgebung (Steuerungszielsystem), die als Steuerungsziel dient, gefördert. Insbesondere werden die folgenden Interaktionen zwischen dem Agenten und der Umgebung durchgeführt.
- (1) Der Agent beobachtet einen Umgebungszustand st zu einem bestimmten Zeitpunkt.
- (2) Der Agent wählt eine Aktion at, die der Agent ausführen darf, anhand eines Beobachtungszustands und eines früheren Lernprozesses aus und führt diese aus.
- (3) Der Umgebungszustand st wird in einen nächsten Zustand st+1 geändert, sobald die Aktion at durchgeführt ist.
- (4) Der Agent akzeptiert eine Kompensation rt+1 anhand der Zustandsänderung infolge der Aktion at.
- (5) Der Agent fährt mit dem Lernprozess anhand des Zustandes st, der Aktion at, der Kompensation rt+1 und eines Ergebnisses eines früheren Lernprozesses fort.
-
Beim Lernen des obenstehenden Prozesses (5) erlangt der Agent die Abbildung eines beobachteten Zustands st, einer Aktion at und einer Kompensation rt+1 als Referenzinformation zur Bestimmung eines Ausmaßes einer Kompensation, die der Agent in der Zukunft erhalten darf. Wenn zum Beispiel die Anzahl von Zuständen, die der Agent haben darf, jedes Mal m ist und die Anzahl von Aktionen, die der Agent durchführen darf, n ist, erhält der Agent eine zweidimensionale Anordnung von m × n, in der Kompensationen rt+1 entsprechend einem Paar von Zuständen st und Aktionen at gespeichert sind, durch wiederholtes Durchführen von Aktionen.
-
Mit einer Wertfunktion (Auswertungsfunktion), die anzeigt, bis zu welchem Grad ein aktueller Zustand oder eine Aktion anhand der der oben gewonnenen Abbildung wertvoll ist, aktualisiert dann der Agent die Wertfunktion (Auswertungsfunktion), während wiederholt Aktionen durchgeführt werden, um eine optimale Aktion einem Zustand entsprechend zu lernen.
-
Eine ”Zustandswertfunktion” ist eine Wertfunktion, die anzeigt, bis zu welchem Grad ein bestimmter Zustand st wertvoll ist. Die Zustandswertfunktion wird als Funktion unter Verwendung eines Zustands als Argument angegeben und anhand einer Kompensation aktualisiert, die in Bezug auf eine Aktion in einem gewissen Zustand, einen Wert eines zukünftigen Zustands, der mit der Aktion geändert wird, oder dergleichen beim Lernen aus wiederholten Aktionen erhalten wird. Die Aktualisierungsformel der Zustandswertfunktion ist gemäß einem bestärkenden Lernalgorithmus definiert. Zum Beispiel ist beim TB-(Temporal-Differenz)Lernprozess, der als einer von bestärkenden Lernalgorithmen angegeben ist, die Zustandswertfunktion durch die folgende Formel (1) definiert. Es ist zu beachten, dass in der folgenden Formel (1), α als Lernkoeffizient bezeichnet ist, γ als Diskontrate bezeichnet ist und der Lernkoeffizient und die Diskontrate so definiert sind, dass sie innerhalb von 0 < α ≤ 1 bzw. 0 < γ ≤ 1 liegen. V(st) ← V(st) + α[rt+1 + γV(st+1) – V(st)] (1)
-
Zusätzlich ist eine ”Aktionswertfunktion” eine Wertfunktion, die angibt, bis zu welchem Grad eine Aktion a
t in einem bestimmten Zustand s
t wertvoll ist. Die Aktionswertfunktion ist als Funktion unter Verwendung eines Zustands und einer Aktion als Argumente angegeben und wird anhand einer Kompensation aktualisiert, die in Bezug auf eine Aktion in einem gewissen Zustand, einen Aktionswert eines zukünftigen Zustands, der mit der Aktion geändert wird, oder dergleichen beim Lernen aus wiederholten Aktionen erhalten wird. Die Aktualisierungsformel der Aktionswertfunktion ist gemäß einem Verstärkungslernalgorithmus definiert. Zum Beispiel ist beim Q-Lernen, der einer von typischen bestärkenden Lernalgorithmen ist, die Aktionswertfunktion durch die folgende Formel (2) definiert. Es ist zu beachten, dass in der folgenden Formel (2) α als Lernkoeffizient bezeichnet ist, γ als Diskontrate bezeichnet ist und der Lernkoeffizient und die Diskontrate so definiert sind, dass sie innerhalb von 0 < α ≤ 1 bzw. 0 < γ ≤ 1, liegen.
-
Es ist zu beachten, dass als Verfahren zum Speichern einer Wertfunktion (Auswertungsfunktion) als Lernergebnis ein Verfahren, das eine überwachte Lernvorrichtung, wie eine SVM (Support Vector Machine) und ein neurales Netzwerk eines Mehrfach-Wertausgangs, die einen Wert (eine Auswertung) mit einem Zustand st und einer Aktion at als Eingaben ausgibt, wenn zum Beispiel der Zustand s viele Zustände einnimmt, oder dergleichen neben einem Verfahren, das eine Näherungsfunktion verwendet, und einem Verfahren, das eine Anordnung verwendet, zur Verfügung steht.
-
Ferner wird bei der Auswahl einer Aktion in der obenstehenden Verarbeitung (2) eine Aktion at, durch die eine Kompensation (rt+1 + rt+2 + ...) in der Zukunft maximal wird, in einem aktuellen Zustand st (eine Aktion zum Ändern zu einem wertvollsten Zustand, wenn eine Zustandswertfunktion verwendet wird, oder eine wertvollste Aktion in dem Zustand, wenn eine Aktionswertfunktion verwendet wird) mittels einer Wertfunktion (Auswertungsfunktion) ausgewählt, die durch eine früheren Lernprozess generiert wird. Es ist zu beachten, dass während des Lernprozesses ein Agent eine zufällige Aktion mit einer konstanten Wahrscheinlichkeit für den Zweck auswählen kann, das Lernen bei der Auswahl einer Aktion in der obengenannten Verarbeitung (2) zu fördern (ε-Greedy-Methode).
-
Wie oben beschrieben, wird das Lernen durch wiederholtes Ausführen der obenstehenden Verarbeitung (1) bis (5) gefördert. Selbst in einer neuen Umgebung kann nach beendetem Lernprozess in einer gewissen Umgebung das Lernen gefördert werden, so dass eine Anpassung an die neue Umgebung durch zusätzliches Lernen erfolgt. Daher wird der Lernprozess, wie in der vorliegenden Erfindung, bei der Bestimmung einer Geschwindigkeit (eines Bewegungsausmaßes) jeder Achse einer Werkzeugmaschine zu einem bestimmten Zeitpunkt in der Bearbeitung eines Werkstücks anhand eines Bearbeitungsprogramms angewendet. Selbst wenn daher der Lernprozess bei der Steuerung einer neuen Werkzeugmaschine angewendet wird, wird zusätzlich ein neues Bearbeitungsprogramm als eine neue Umgebung anhand des Lernens einer Geschwindigkeit (eines Bewegungsausmaßes) jeder Achse der Werkzeugmaschine zu der bestimmten Zeit in der Vorbearbeitung eines Werkstücks gelernt, wodurch es möglich wird, den Lernprozess der Geschwindigkeit (des Bewegungsausmaßes) jeder Achse zu der bestimmten Zeit in einem kurzen Zeitraum durchzuführen.
-
Zusätzlich verwendet der bestärkende Lernprozess ein System, in dem mehrere Agenten durch ein Netzwerk oder dergleichen miteinander verbunden sind und Informationen über Zustände s, Aktionen a, Kompensationen r oder dergleichen zwischen den Agenten geteilt und bei jedem Lernprozess angewendet werden, wodurch jeder der Agenten einen verteilten bestärkenden Lernprozess unter Berücksichtigung der Umgebungen der anderen Agenten durchführt, so dass ein effizienter Lernprozess durchgeführt werden kann. Wenn mehrere Agenten (Maschinenlernvorrichtungen), die mehrere Umgebungen steuern (Werkzeugmaschinen, die als Steuerungsziele dienen), einen verteilten Maschinenlernprozess in einem Zustand durchführen, in dem sie miteinander durch ein Netzwerk oder dergleichen verbunden sind, können die Werkzeugmaschinen in der vorliegenden Erfindung auch effizient eine Geschwindigkeit (ein Bewegungsausmaß) jeder Achse zu einem bestimmten Zeitpunkt in der Bearbeitung eines Werkstücks anhand eines Bearbeitungsprogramms lernen.
-
Es ist zu beachten, dass, obwohl verschiedene Methoden, wie ein Q-Lernprozess, eine SARSA-Methode, ein TD-Lernprozess und eine AC-Methode allgemein als bestärkende Lernalgorithmen bekannt sind, jeder der obengenannten bestärkenden Algorithmen in der vorliegenden Erfindung angewendet werden kann. Da jeder der bestärkenden Lernalgorithmen allgemein bekannt ist, wird auf eine ausführliche Beschreibung in der Patentschrift verzichtet.
-
Es folgt eine Beschreibung auf der Basis einer speziellen Ausführungsform der Werkzeugmaschine der vorliegenden Erfindung, in die eine Maschinenlernvorrichtung eingeführt ist.
-
(2) Ausführungsform
-
3 ist eine schematische Darstellung, die ein Bild bezüglich des Maschinenlernprozesses der Bestimmung einer Geschwindigkeit (eines Bewegungsausmaßes) jeder Achse zu einem bestimmten Zeitpunkt in einer Werkzeugmaschine zeigt, in die eine Maschinenlernvorrichtung, die als künstliche Intelligenz dient, gemäß einer Ausführungsform der vorliegenden Erfindung eingeführt ist. Es ist zu beachten, dass 3 nur Konfigurationen zeigt, die zum Beschreiben des Maschinenlernprozesses durch die Werkzeugmaschine gemäß der Ausführungsform notwendig sind.
-
In der Ausführungsform werden eine Bewegungsrichtung eines Werkzeugs, ein Abweichungsausmaß von einem Werkzeugpfad, eine aktuelle Geschwindigkeit jeder Achse, eine aktuelle Beschleunigung jeder Achse und dergleichen in die Maschinenlernvorrichtung 20 als Informationen eingegeben, um die Maschinenlernvorrichtung 20 zu veranlassen, eine Umgebung (einen Zustand st im oben beschriebenen ”(1) Maschinenlernprozess”) zu spezifizieren. Jeder dieser Werte enthält Daten, die von jedem Abschnitt der Werkzeugmaschine 1 gewonnen wurden, und Daten, die durch einen Betriebsauswertungsabschnitt 3 anhand der gewonnenen Daten berechnet werden.
-
4 ist eine schematische Darstellung zur Beschreibung sämtlicher Daten bezüglich einer Werkzeugmaschine 1 gemäß der Ausführungsform.
-
In der Werkzeugmaschine 1, wird ein angewiesener Pfad, der durch Analyse eines Bearbeitungsprogramms erhalten wird, in einem Speicher (nicht dargestellt) gespeichert. Außer einer Achsenposition (xt, zt) jeder Achse, einer Bewegungsgeschwindigkeit (δxt-1, δzt-1) jeder Achse und einer Beschleunigung (δxt-1–δxt-2, δzt-1–δzt-2) jeder Achse zum Zeitpunkt t, die von der Werkzeugmaschine 1 erhalten werden, enthalten die oben beschriebenen Eingangsdaten Daten, die durch den Betriebsauswertungsabschnitt 3 anhand sämtlicher oben beschriebener Daten berechnet werden, wie eine Strecke d, über die jede Achsenposition vom angewiesenen Pfad abweicht.
-
Es ist zu beachten, dass 4 ein Beispiel sämtlicher Eingangsdaten in einem zweidimensionalen X-Z Koordinatensystem zeigt. Wenn die Werkzeugmaschine jedoch drei oder mehr Achsen hat, kann die Anzahl der Dimensionen von Eingangsdaten passend erhöht werden, um der Anzahl von Achsen gerecht zu werden.
-
In der Ausführungsform gibt die Maschinenlernvorrichtung 20 ein Bewegungsausmaß jeder Achse zu einem nächsten Moment (ein aktueller Zyklus im Steuerzyklus eines Steuergeräts) als Ausgangsdaten an eine Umgebung aus (eine Aktion at im oben beschriebenen ”(1) Maschinenlernprozess”). Es ist zu beachten, dass in der Ausführungsform ein Bewegungsausmaß jeder Achse, das bei einem bestimmten Zyklus ausgegeben wird, ohne Verzögerung innerhalb des Zyklus von einem Servomotor verbraucht (bewegt) wird, der jede Achse antreibt. Daher wird das Bewegungsausmaß (Ausgabe bei konstantem Steuerzyklus) in der Folge als Bewegungsgeschwindigkeit eines Werkzeugs gehandhabt.
-
Zusätzlich wird in der Ausführungsform eine Erhöhung in der kombinierten Geschwindigkeit entsprechender Achsen (positive Kompensation), eine Bewegung in einer entgegengesetzten Richtung zu einer angewiesenen Richtung (negative Kompensation), eine Abweichung von einem Werkzeugpfad (negative Kompensation), ein Überschreiten einer Maximalgeschwindigkeit (negative Kompensation) oder dergleichen als Kompensation (eine Kompensation rt im oben beschriebenen ”(1) Maschinenlernprozess”) verwendet, die der Maschinenlernvorrichtung 20 übermittelt wird. Die Kompensation wird durch den Betriebsauswertungsabschnitt 3 anhand eines Erreichungsgrades jeder Kompensation anhand von Eingangsdaten, Ausgangsdaten oder dergleichen berechnet. Es ist zu beachten, dass ein Bediener gemäß dem Bearbeitungsinhalt eines Bearbeitungsprogramms in der Werkzeugmaschine 1 passend einstellen kann, welche Daten zur Bestimmung der Kompensation verwendet werden. Zum Beispiel kann bei einer Bohrbearbeitung eine unvollständige Bildung eines Lochs als negative Kompensation definiert sein.
-
Ferner führt in der Ausführungsform die Maschinenlernvorrichtung 20 einen Maschinenlernprozess anhand von Eingangsdaten, Ausgangsdaten und einer oben beschriebenen Kompensation durch. Im Maschinenlernprozess ist ein Zustand st durch die Kombination von Eingangsdaten zu einem bestimmten Zeitpunkt t definiert, die Ausgabe eines Bewegungsausmaßes, die in Bezug auf den definierten Zustand st durchgeführt wird, ist einer Aktion at äquivalent und ein Wert, der von Eingangsdaten, die infolge der Ausgabe des Bewegungsausmaßes aufgrund der Aktion at erhalten werden, ausgewertet und berechnet wird, ist einer Kompensation rt+1 äquivalent. Wie im oben beschriebenen ”(1) Maschinenlernprozess” werden der Zustand st, die Aktion at und die Kompensation rt+1 bei der Aktualisierungsformel einer Wertfunktion (Auswertungsfunktion) entsprechend einem Maschinenlernalgorithmus angewendet, um den Lernprozess zu fördern.
-
Es folgt eine Beschreibung der Funktion der Werkzeugmaschine 1 der Ausführungsform unter Bezugnahme auf das Funktionsblockdiagramm von 5.
-
5 ist ein Funktionsblockdiagramm der Werkzeugmaschine der Ausführungsform.
-
Die Werkzeugmaschine 1 der Ausführungsform ist mit Konfigurationen und peripherem Gerät (nicht dargestellt) bereitgestellt, die als Standard in der Werkzeugmaschine bereitgestellt sind, wie einem Antriebsabschnitt (nicht dargestellt), z. B. einem Servomotor, der jede Achse in der Bearbeitung eines Werkstücks antreibt, und einem Servosteuerabschnitt (nicht dargestellt), der den Servomotor steuert, einem numerischen Steuerabschnitt 2, der den Antriebsabschnitt und das periphere Gerät antreibt, einem Betriebsauswertungsabschnitt 3, der den Betrieb der Werkzeugmaschine anhand des Betriebs des Antriebsabschnitts oder des peripheren Geräts und sämtlicher Daten, die vom numerischen Steuerabschnitt 2 gewonnen werden, auswertet, und einer Maschinenlernvorrichtung 20, die als künstliche Intelligenz dient, die den Maschinenlernprozess durchführt.
-
Wenn die Konfigurationen der Werkzeugmaschine, dargestellt im Blockdiagramm von 5 mit den Elementen des bestärkenden Lernprozesses, dargestellt in 2, verglichen werden, entspricht die Maschinenlernvorrichtung 20 von 5 dem ”Agenten” von 2 und ein gesamtes Gebilde, das den Antriebsabschnitt, das periphere Gerät, den numerischen Steuerabschnitt 2 oder dergleichen enthält, das in der Werkzeugmaschine 1 von 5 bereitgestellt ist, entspricht der ”Umgebung” von 2. Es ist zu beachten, dass angenommen wird, dass die Werkzeugmaschine 1 mit den Konfigurationen allgemeiner Werkzeugmaschinen bereitgestellt ist, und es wird auf eine ausführliche Beschreibung von Konfigurationen, die nicht jene sind, die insbesondere für eine Beschreibung des Betriebs des Maschinenlernprozesses in der vorliegenden Erfindung notwendig sind, verzichtet.
-
Der numerische Steuerabschnitt 2 analysiert ein Bearbeitungsprogramm, das aus einem Speicher (nicht dargestellt) gelesen oder durch ein Eingabegerät (nicht dargestellt) oder dergleichen eingegeben wird, und steuert jeden Abschnitt der Werkzeugmaschine 1 anhand von Steuerdaten, die als Ergebnis der Analyse erhalten werden. Im Allgemeinen führt der numerische Steuerabschnitt 2 eine Steuerung anhand eines Analyseergebnisses des Bearbeitungsprogramms aus. In der Ausführungsform wird jedoch die Steuerung jeder Achse, die das Werkzeug der Werkzeugmaschine 1 antreibt, gemäß einem Bewegungsausmaß jeder Achse ausgeführt, das von der Maschinenlernvorrichtung 20 ausgegeben wird.
-
Der Betriebsauswertungsabschnitt 3 wertet ein Bewegungsausmaß jeder Achse der Werkzeugmaschine, das von der Maschinenlernvorrichtung 20 ausgegeben wird, bei jedem Steuerzyklus anhand einer Position jeder Achse der Werkzeugmaschine 1, die vom numerischen Steuerabschnitt 2 gewonnen wird, einem angewiesenen Pfad eines Werkzeugs, der von einem Bearbeitungsprogramm angewiesen wird, das durch den numerischen Steuerabschnitt 2 analysiert wird, einer Vorschubgeschwindigkeit (Maximalgeschwindigkeit) eines Werkzeugs, die von dem Bearbeitungsprogramm angewiesen wird, oder dergleichen aus und benachrichtigt dann die Maschinenlernvorrichtung 20 über ein Auswertungsergebnis. Die Auswertung einer Aktion durch den Betriebsauswertungsabschnitt 3 wird zum Berechnen einer Kompensation im Lernprozess der Maschinenlernvorrichtung 20 verwendet.
-
Beispiele für die Auswertung einer Aktion enthalten den Winkel zwischen einer Bewegungsrichtung anhand eines Bewegungsausmaßes jeder Achse der Werkzeugmaschine 1 und einer Bewegungsrichtung eines angewiesenen Pfades, der durch ein Bearbeitungsprogramm angewiesen wird, nahe einer aktuellen Position eines Werkzeugs, der durch Positionen entsprechender Achsen der Werkzeugmaschine 1 erfasst wird, ein Abweichungsausmaß einer aktuellen Position eines Werkzeugs von einem angewiesenen Pfad und die Differenz zwischen einer Bewegungsgeschwindigkeit anhand von Bewegungsausmaßen entsprechender Achsen und einer Maximalgeschwindigkeit, die durch ein Bearbeitungsprogramm angewiesen wird, nahe einer aktuellen Position eines Werkzeugs. Eine Aktion kann jedoch in jeder Weise ausgewertet werden, solange die Auswertung der Qualität der Aktion, die von der Maschinenlernvorrichtung 20 ausgegeben wird, ermöglicht wird.
-
Die Maschinenlernvorrichtung 20, die den Maschinenlernprozess durchführt, ist mit einem Zustandsbeobachtungsabschnitt 21, einem Zustandsdatenspeicherabschnitt 22, einem Kompensationsbedingungen-Einstellungsabschnitt 23, einem Kompensationsberechnungsabschnitt 24, einem Bewegungsausmaßeinstellungs-Lernabschnitt 25, einem Lernergebnisspeicherabschnitt 26 und einem Bewegungsausmaß-Ausgabeabschnitt 27 bereitgestellt. Die Maschinenlernvorrichtung 20 kann im Inneren der Werkzeugmaschine 1 bereitgestellt sein oder kann in einem Personal Computer oder dergleichen außerhalb der Werkzeugmaschine 1 bereitgestellt sein.
-
Der Zustandsbeobachtungsabschnitt 21 beobachtet physikalische Größendaten bezüglich der Werkzeugmaschine 1 über den numerischen Steuerabschnitt 2 und gewinnt die beobachteten physikalischen Größendaten im Inneren der Maschinenlernvorrichtung 20. Zusätzlich gewinnt der Zustandsbeobachtungsabschnitt 21 ein Auswertungsergebnis eines Betriebs durch den Betriebsauswertungsabschnitt 3 im Inneren der Maschinenlernvorrichtung 20. Die beobachteten und gewonnenen physikalischen Größendaten enthalten neben Positionen, Geschwindigkeiten und Beschleunigungen entsprechender Achsen, wie oben beschrieben, Temperatur, Strom, Spannung, Druck, Zeit, Drehmoment, Kraft, Verbrauchsleistung, einen Berechnungswert, der durch Durchführen der arithmetischen Verarbeitung jeder physikalischen Menge berechnet wird, oder dergleichen. Zusätzlich enthält das Auswertungsergebnis des Betriebs durch den Betriebsauswertungsabschnitt 3 den Winkel zwischen einem angewiesenen Pfad und einer Bewegungsrichtung eines Werkzeugs, den Grad, in dem eine aktuelle Position eines Werkzeugs von einem Werkzeugpfad abweicht, die Differenz zwischen einer Bewegungsgeschwindigkeit eines Werkzeugs und einer angewiesenen Maximalgeschwindigkeit oder dergleichen.
-
Der Zustandsdatenspeicherabschnitt 22 empfängt und speichert Zustandsdaten und gibt die gespeicherten Zustandsdaten an den Kompensationsberechnungsabschnitt 24 und den Bewegungsausmaßeinstellungs-Lernabschnitt 25 aus. Die Zustandsdaten, die in den Zustandsdatenspeicherabschnitt 22 eingegeben werden, können Daten sein, die durch den letzten Verarbeitungsbetrieb gewonnen werden, oder Daten, die durch einen früheren Verarbeitungsbetrieb gewonnen werden. Zusätzlich ist es auch möglich, dass der Zustandsdatenspeicherabschnitt 22 Zustandsdaten empfängt und speichert, die in einer anderen Werkzeugmaschine 40 oder einem Intensivmanagementsystem 30 gespeichert sind, oder es ist möglich, dass die Zustandsdatenspeicherabschnitt 22 Zustandsdaten, die im Zustandsdatenspeicherabschnitt 22 gespeichert sind, an eine andere Werkzeugmaschine 40 oder das Intensivmanagementsystem 30 ausgeben.
-
Der Kompensationsbedingungen-Einstellungsabschnitt 23 stellt Bedingungen für gegebene Kompensationen in Maschinenlernprozess ein, die von einem Bediener oder dergleichen eingestellt werden. Positive und negative Kompensationen sind gegeben und können passend eingestellt werden. Zusätzlich kann eine Eingabe in den Kompensationsbedingungen-Einstellungsabschnitt 23 durch einen Personal Computer, ein Tablet-Gerät oder dergleichen durchgeführt werden, das im Intensivmanagementsystem verwendet wird. Mit einer Eingabe über eine MDI-(Manual Data Input, manuelle Dateneingabe)Vorrichtung, nicht dargestellt, der Werkzeugmaschine 1 wird es jedoch möglich, Bedingungen für gegebene Kompensationen leicht einzustellen.
-
Der Kompensationsberechnungsabschnitt 24 analysiert Zustandsdaten, die vom Zustandsbeobachtungsabschnitt 21 oder Zustandsdatenspeicherabschnitt 22 eingegeben werden, anhand von Bedingungen, die vom Kompensationsbedingungen-Einstellungsabschnitt 23 eingestellt werden, und gibt berechnete Kompensationen an den Bewegungsausmaßeinstellungs-Lernabschnitt 25 aus.
-
In der Folge wird ein Beispiel von Kompensationsbedingungen beschrieben, die vom Kompensationsbedingungen-Einstellungsabschnitt 23 in der Ausführungsform eingestellt werden.
-
(Kompensation 1: Erhöhung der kombinierten Geschwindigkeit entsprechender Achsen (positive Kompensation und negative Kompensation))
-
Da die Zykluszeit der Bearbeitung besser wird, wenn eine kombinierte Geschwindigkeit entsprechender Achsen eine frühere kombinierte Geschwindigkeit entsprechender Achsen übersteigt, ist eine positive Kompensation gemäß einem steigende Grad der Geschwindigkeit gegeben.
-
Da andererseits ein Fehler oder dergleichen in der Werkzeugmaschine 1 auftritt, wenn eine kombinierte Geschwindigkeit entsprechender Achsen eine angewiesene Maximalgeschwindigkeit überschreitet oder wenn eine Geschwindigkeit jeder Achse eine Maximalgeschwindigkeit jeder Achse überschreitet, die in der Werkzeugmaschine 1 eingestellt ist, ist eine negative Kompensation gemäß einem Überschussgrad der Geschwindigkeit gegeben.
-
(Kompensation 2: Bewegung in eine andere als die angewiesene Richtung)
-
Angesichts eines Winkels, der zwischen einer Bewegungsrichtung eines Werkzeugs anhand eines Bewegungsausmaßes jeder Achse der Werkzeugmaschine 1 und einer Bewegungsrichtung eines angewiesenen Pfades„ der von einem Bearbeitungsprogramm angewiesen wird, nahe einer aktuellen Position des Werkzeugs gebildet ist, der von einer Position jeder Achse der Werkzeugmaschine 1 erfasst wird, ist, wenn sich die Bewegungsrichtung des Werkzeugs deutlich von dem angewiesenen Pfad unt4erscheidet, der durch das Bearbeitungsprogramm angewiesen wird, eine negative Kompensation gemäß einem Grad der Differenz gegeben. Als ein Beispiel einer negativen Kompensation, wenn ein Winkel, der zwischen einer Bewegungsrichtung eines Werkzeugs und einer Bewegungsrichtung eines angewiesenen Pfades gebildet ist, größer als ein vorgeschriebener Winkel ist (zum Beispiel innerhalb ±45 Grad), kann ein Wert, der durch Multiplizieren der Differenz mit einem vorgeschriebenen Koeffizienten erhalten wird, als negative Kompensation gegeben sein. Wenn der Winkel einfach 180 Grad (in einer Richtung, die der Bewegungsrichtung des angewiesenen Pfades entgegengesetzt ist), kann zusätzlich eine negative Kompensation gegeben sein.
-
(Kompensation 3: Abweichung vom Werkzeugpfad)
-
Wenn eine aktuelle Position eines Werkzeugs von einem angewiesenen Pfad abweicht, der durch ein Bearbeitungsprogramm angewiesen wird, ist eine negative Kompensation gemäß einem Grad der Abweichung gegeben. Das heißt, ein Abweichungsgrad kann auf der Streckenlänge zwischen einer aktuellen Position eines Werkzeugs und einem angewiesenen Pfad beruhen, um eine negative Kompensation zu erhalten.
-
Der Bewegungsausmaßeinstellungs-Lernabschnitt 25 führt einen Maschinenlernprozess (bestärkenden Lernprozess) anhand von Zustandsdaten, die Eingangsdaten oder dergleichen enthalten, einem Ergebnis einer Einstellung eines Bewegungsausmaßes jeder Achse der Werkzeugmaschine 1, die von ihm selbst ausgeführt wird, und einer vom Kompensationsberechnungsabschnitt berechneten Kompensation 24 durch.
-
Hier ist im Maschinenlernprozess, der durch den Bewegungsausmaßeinstellungs-Lernabschnitt 25 durchgeführt wird, ein Zustand st durch die Kombination von Zustandsdaten zu einem bestimmten Zeitpunkt t definiert und die Bestimmung eines Bewegungsausmaßes jeder Achse gemäß dem definierten Zustand st ist einer Aktion at äquivalent, ein Bewegungsausmaß jeder Achse, das durch den Bewegungsausmaß-Ausgabeabschnitt 27 bestimmt wird, der später beschrieben wird, wird an den numerischen Steuerabschnitt 2 ausgegeben, und ein Wert, der durch den Kompensationsberechnungsabschnitt 24 anhand von Daten berechnet wird, die erhalten werden, wenn jede Achse der Werkzeugmaschine 1 anhand des bestimmten Bewegungsausmaßes jeder Achse durch den numerischen Steuerabschnitt 2 bewegt wird, ist einer Kompensation rt+1 äquivalent. Eine Wertfunktion, die im Lernprozess verwendet wird, wird gemäß einem angewandten Lernalgorithmus bestimmt. Wenn zum Beispiel ein Q-Lernprozess verwendet wird, ist es nur notwendig, eine Aktionswertfunktion Q(st, at) gemäß der obenstehenden Formel (2) zu aktualisieren, um den Lernprozess zu fördern.
-
Es folgt eine Beschreibung mit Bezugnahme auf das Ablaufdiagramm von 6 des Ablaufs des Maschinenlernprozesses, der durch die Bewegungsausmaßeinstellungs-Lernabschnitt 25 durchgeführt wird. In der Folge wird anschließend die Verarbeitung gemäß den entsprechenden Schritten erklärt.
-
(Schritt SA01) Wenn der Maschinenlernprozess startet, gewinnt der Zustandsbeobachtungsabschnitt 21 Daten bezüglich eines Arbeitszustands der Werkzeugmaschine 1.
-
(Schritt SA02) Der Bewegungsausmaßeinstellungs-Lernabschnitt 25 spezifiziert einen aktuellen Zustand St anhand der Daten bezüglich des Arbeitszustands, die vom Zustandsbeobachtungsabschnitt 21 gewonnen werden.
-
(Schritt SA03) Der Bewegungsausmaßeinstellungs-Lernabschnitt 25 wählt eine Aktion at (Bestimmung eines Bewegungsausmaßes jeder Achse) anhand eines früheren Lernergebnisses und des Zustand St, der in Schritt SA02 spezifiziert wurde.
-
(Schritt SA04) Die in Schritt SA03 ausgewählte Aktion at wird durchgeführt.
-
(Schritt SA05) Der Zustandsbeobachtungsabschnitt 21 gewinnt Daten bezüglich eines Bearbeitungszustands, die einen Zustand der Werkzeugmaschine 1 zeigen. In dieser Stufe ändert sich der Zustand der Werkzeugmaschine 1 mit einem zeitlichen Übergang von Zeitpunkt t zum Zeitpunkt t + 1 infolge der in Schritt SA04 durchgeführten Aktion at.
-
(Schritt SA06) Der Kompensationsberechnungsabschnitt 24 berechnet eine Kompensation rt+1 anhand der Daten über das Auswertungsergebnis, die in Schritt SA05 gewonnen wurden.
-
(Schritt SA07) Der Bewegungsausmaßeinstellungs-Lernabschnitt 25 fördert den Maschinenlernprozess anhand des in Schritt SA02 spezifizierten Zustands, der in Schritt SA03 gewählten Aktion at und der in Schritt SA06 berechneten Kompensation rt+1 und kehrt dann zu Schritt SA02 zurück.
-
Unter erneuter Bezugnahme auf 5 speichert der Lernergebnisspeicherabschnitt 26 ein Lernergebnis des Bewegungsausmaßeinstellungs-Lernabschnitts 25. Ferner, wenn ein Lernergebnis wieder vom Bewegungsausmaßeinstellungs-Lernabschnitt 25 verwendet wird, gibt der Lernergebnisspeicherabschnitt 26 ein gespeichertes Lernergebnis an den Bewegungsausmaßeinstellungs-Lernabschnitt 25 aus. Wie oben beschrieben, kann ein Lernergebnis so gespeichert werden, dass eine Wertfunktion entsprechend einem zu verwendenden Maschinenlernprozess in einer überwachten Lernvorrichtung gespeichert wird, wie einer SVM und einem neuralen Netzwerk einer Näherungsfunktion, einer Anordnung oder einem Mehrfachwertausgang oder dergleichen.
-
Es ist zu beachten, dass es auch möglich ist, dass der Lernergebnisspeicherabschnitt 26 Lernergebnis empfängt und speichert, das in einer anderen Werkzeugmaschine 40 oder dem Intensivmanagementsystem 30 gespeichert ist, oder für den Lernergebnisspeicherabschnitt 26 möglich ist, ein Lernergebnis, das im Lernergebnisspeicherabschnitt 26 gespeichert ist, an eine andere Werkzeugmaschine 40 oder das Intensivmanagementsystem 30 auszugeben.
-
Der Bewegungsausmaß-Ausgabeabschnitt 27 bestimmt ein Bewegungsausmaß jeder Achse anhand eines Lernergebnisses des Bewegungsausmaßeinstellungs-Lernabschnitts 25 und aktueller Zustandsdaten. Hier entspricht die Bestimmung eines Bewegungsausmaßes jeder Achse der ”Aktion a”, die im Maschinenlernprozess verwendet wird. Als Verfahren zum Bestimmen von Bewegungsausmaßen entsprechender Achsen kann zum Beispiel die Kombination von Bewegungsausmaßen entsprechender Achsen in positiver und negativer Richtung (Aktion 1: (X-Achsen-Bewegungsausmaß, Z-Achsen-Bewegungsausmaß) = (1, 0), Aktion 2: (X-Achsen-Bewegungsausmaß, Z-Achsen-Bewegungsausmaß) = (2, 0), ..., Aktion n: (X-Achsen-Bewegungsausmaß, Z-Achsen-Bewegungsausmaß) = (δxmax, δzmax)) im Voraus als wählbare Aktion vorbereitet werden und eine Aktion, durch die eine maximale Kompensation in der Zukunft anhand eines früheren Lernergebnisses erhalten wird, kann gewählt werden. Zusätzlich kann eine ε-Greedy-Methode, wie oben beschrieben, zum Auswählen einer zufälligen Aktion mit einer vorgeschriebenen Wahrscheinlichkeit zum Fördern des Lernprozesses verwendet werden.
-
Danach gibt der Bewegungsausmaß-Ausgabeabschnitt 27 das bestimmte Bewegungsausmaß jeder Achse an den numerischen Steuerabschnitt 2 aus. Dann treibt der numerische Steuerabschnitt 2 jede Achse der Werkzeugmaschine 1 anhand des Bewegungsausmaßes jeder Achse an, das vom Bewegungsausmaß-Ausgabeabschnitt 27 ausgegeben wird.
-
Dann wertet der Betriebsauswertungsabschnitt 3 ein Antriebsergebnis jeder Achse erneut aus, die Maschinenlernvorrichtung 20 gewinnt en Auswertungsergebnis und eine aktuelle Situation der Werkzeugmaschine 1 und ein Lernprozess wird wiederholt unter Verwendung eingegebener Zustandsdaten durchgeführt. Somit ist das Erreichen eines ausgezeichneteren Lernergebnisses möglich.
-
Wenn die optimale Verteilung von Bewegungsgeschwindigkeiten an jeder Position auf einem Bewegungspfad infolge des Lernprozesses der Maschinenlernvorrichtung 20, wie oben beschrieben, bestätigt ist, beendet die Maschinenlernvorrichtung 20 den Lernprozess. Data, die durch Sammeln eines Bewegungsausmaßes (Befehlsimpulses) jeder Achse über eine Runde eines Werkzeugpfades erhalten werden, die von der Maschinenlernvorrichtung 20 ausgegeben werden, den Lernprozess beendet hat, sind Bewegungsdaten auf einem Werkzeug äquivalent.
-
Wenn die Werkzeugmaschine tatsächlich eine Bearbeitung unter Verwendung von Lerndaten durchführt, für die der Lernprozess beendet wurde, kann die Maschinenlernvorrichtung 20 einen Wiederholungsbetrieb unter Verwendung der Lerndaten, für die der Lernprozess beendet wurde, als solche durchführen, sodass kein neuer Lernprozess durchgeführt wird.
-
Zusätzlich kann die Maschinenlernvorrichtung 20, die den Lernprozess beendet hat (oder die Maschinenlernvorrichtung 20, in welcher beendete Lerndaten auf andere Maschinenlernvorrichtungen 20 im Lernergebnisspeicherabschnitt 26 kopiert wurden) an einer anderen Werkzeugmaschine 40 befestigt werden, um einen Wiederholungsbetrieb Verwendung der Lerndaten, für die der Lernprozess beendet wurde, als solche durchzuführen.
-
Ferner, wenn die Maschinenlernvorrichtung 20, die in einem Zustand, in dem die Lernfunktion den Lernprozess beendet hat, gültig gehalten wird, um die Bearbeitung eines Werkstücks fortzusetzen, an einer anderen Werkzeugmaschine 40 befestigt wird, ist es für die Maschinenlernvorrichtung 20 auch möglich, eine individuelle Differenz, eine profane Änderung oder dergleichen zu lernen, die für jede Werkzeugmaschine anders ist, und einen Betrieb durchzuführen, während nach einem besseren Bearbeitungspfad für die Werkzeugmaschine gesucht wird.
-
Es ist zu beachten, dass, wenn ein Lernbetrieb unter Verwendung der numerischen Steuerabschnitt 2 der Werkzeugmaschine, wie oben beschrieben, durchgeführt wird, der numerische Steuerabschnitt 2 einen Lernprozess anhand der virtuellen Bearbeitung eines Werkstücks durchführen kann, ohne die Werkzeugmaschine 1 tatsächlich zu betreiben. Zusätzlich, wie in 7 dargestellt, kann die Maschinenlernvorrichtung 20 in einen Simulationsapparat 4 integriert werden, der mit einem Simulationsabschnitt 5 bereitgestellt ist, der separat den Betrieb der Werkzeugmaschine simuliert, um einen Lernbetrieb anhand eines Simulationsergebnisses des Simulationsabschnitts 5 durchzuführen. In jedem Fall, da ein Bewegungsausmaß, das eine große Abweichung eines angewiesenen Pfades bewirkt, wahrscheinlich in der Anfangsphase des Lernprozesses ausgegeben wird, ist es wünschenswert, dass ein Werkstück nicht wirklich bearbeitet wird.
-
Ferner kann die Maschinenlernvorrichtung 20 der Werkzeugmaschine 1 den Maschinenlernprozess alleine durchführen. Wenn jedoch jede von mehreren Werkzeugmaschinen 1 ferner mit einem Abschnitt bereitgestellt ist, der zum Kommunizieren mit einer Außenseite verwendet wird, wird es möglich, Zustandsdaten, die in jedem der Zustandsdatenspeicherabschnitte 22 gespeichert sind, und ein Lernergebnis, das in jedem der Lernergebnisspeicherabschnitte 26 gespeichert ist, zu senden/zu empfangen und zu teilen. Somit ist ein effizienterer Maschinenlernprozess möglich. Wenn zum Beispiel ein Lernprozess mit einem Bewegungsausmaß durchgeführt wird, das innerhalb eines vorgeschriebenen Bereichs variiert, wird der Lernprozess parallel zwischen mehreren Werkzeugmaschinen 1 derart gefördert, dass Zustandsdaten und Lerndaten zwischen den Werkzeugmaschinen 1 ausgetauscht werden, während ein Werkstück mit verschiedenen Bewegungsausmaßen bearbeitet wird, die innerhalb eines vorgeschriebenen Bereichs variieren. Somit ist ein effizienter Lernprozess möglich.
-
Für einen Austausch von Zustandsdaten und Lerndaten zwischen mehreren Werkzeugmaschinen 1, wie oben beschrieben, kann eine Kommunikation über einen Hostrechner, wie das Intensivmanagementsystem 30, durchgeführt werden, die Werkzeugmaschinen 1 können direkt miteinander kommunizieren oder es kann ein Cloud verwendet werden. Zum Handhaben großer Datenmengen ist vorzugsweise ein Kommunikationsabschnitt mit einer höheren Kommunikationsgeschwindigkeit bereitgestellt.
-
Die Ausführungsform der vorliegenden Erfindung ist oben beschrieben. Die vorliegende Erfindung ist jedoch nicht nur auf das Beispiel der obenstehenden Ausführungsform beschränkt und kann in verschiedenen Aspekten mit passenden Modifizieren ausgeführt werden.
-
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 2003-058218 [0003, 0008]
- JP 2006-043836 [0003, 0008]