DE102016013985A1 - Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung - Google Patents

Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung Download PDF

Info

Publication number
DE102016013985A1
DE102016013985A1 DE102016013985.4A DE102016013985A DE102016013985A1 DE 102016013985 A1 DE102016013985 A1 DE 102016013985A1 DE 102016013985 A DE102016013985 A DE 102016013985A DE 102016013985 A1 DE102016013985 A1 DE 102016013985A1
Authority
DE
Germany
Prior art keywords
unit
learning
control device
command value
errors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102016013985.4A
Other languages
English (en)
Inventor
Yasuo Kawai
Kaname Matsumoto
Tatsuya Senoo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102016013985A1 publication Critical patent/DE102016013985A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0018Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/12Observer control, e.g. using Luenberger observers or Kalman filters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage

Abstract

Eine Vorrichtung für maschinelles Lernen 1, die eine Bedingung im Zusammenhang mit der Anzahl von Korrekturen bezüglich eines Sollwerts in einer Motorsteuervorrichtung lernt, umfasst: eine Zustandsbeobachtungseinheit 11, die eine Zustandsvariable beobachtet, die aus mindestens einem besteht von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine; und eine Lerneinheit 12, die die Bedingung im Zusammenhang mit der Anzahl von Korrekturen lernt, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz verwendet werden.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Vorrichtung für maschinelles Lernen und ein Verfahren zum Lernen einer Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen Sollwert von einem Positionssollwert, Drehzahlsollwert oder einem Stromsollwert, der zum Steuern eines Motors verwendet wird, und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung.
  • 2. Beschreibung des Standes der Technik
  • Die Laufruhe des Vorschubs einer Vorschubachse einer Maschine, wie einer Werkzeugmaschine, kann durch Verwenden der Anzahl von Fehlern zwischen einem Positionssollwert bezüglich eines Rotors eines Motors und einer aktuellen Position eines Vorschubmechanismus, der den Motor zum Betreiben der Vorschubachse und verschiedene daran angefügte Werkzeuge umfasst, quantitativ erfasst werden, und beispielsweise wird die Anzahl der Fehler größer, je mehr sich die Laufruhe des Vorschubs der Vorschubachse der Maschine verschlechtert. Die aktuelle Position des Vorschubmechanismus umfasst eine aktuelle Position einer Bearbeitungseinheit, die durch einen externen Sensor (Linearmaßstab) erhalten wird, wenn eine vollgeschlossene Steuerung (Regelung) angewendet wird, und eine aktuelle Position des Rotors, die durch einen dem Motor bereitgestellten Impulsgeber erhalten wird, wenn eine halbgeschlossene Steuerung angewendet wird.
  • Es gibt verschiedene Verschlechterungsfaktoren in der Laufruhe eines Vorschubs der Vorschubachse der Maschine. Beispielsweise gibt es diejenigen aufgrund des Motors, wie ein bezüglich des Rotors erzeugtes Rastmoment und einer Differenz einer Rotordrehrichtung des Motors, und diejenigen aufgrund einer Motorsteuervorrichtung, wie einem zum Steuern des Motors und der Größe eines Drehmomentsollwerts verwendetes Betriebsprogramm. Außerdem tragen eine Werkstückbearbeitungsbedingung in der den Motor als eine Antriebsquelle aufweisenden Werkzeugmaschine, eine Größe einer Schnittlast während der Bearbeitung durch die Werkzeugmaschine, eine Temperatur der Werkzeugmaschine, Schwingungen, die erzeugt werden, wenn jede der Antriebsachsen in der Werkzeugmaschine arbeitet, die die mehreren Antriebsachsen aufweist, und dergleichen, ebenfalls zu einer Verschlechterung der Laufruhe des Vorschubs der Vorschubachse der Maschine bei.
  • Da beispielsweise eine Drehmomentwelligkeit relativ zu jeder einzelnen Umdrehung eines elektrischen Winkels des Motors einmal auftritt, ist die Verschlechterung der Laufruhe des Vorschubs aufgrund der Drehmomentwelligkeit periodisch.
  • Bislang wird die periodische Verschlechterung der Laufruhe des Vorschubs aufgrund der Drehmomentwelligkeit durch vorausgehendes Kompensieren der Drehmomentwelligkeit mit der Anzahl von Korrekturen in einer Gegenphase reduziert. 11 ist ein Diagramm, das die Kompensation der Drehmomentwelligkeit mit der Anzahl von Korrekturen in der Gegenphase darstellt. In 11 wird die in Bezug auf den Rotor erzeugte Drehmomentwelligkeit durch eine durchgezogene Linie angezeigt, die Anzahl der Drehmomentwelligkeitskorrekturen wird durch eine punktierte Linie angezeigt, und eine Wellenform nach der Kompensation der Drehmomentwelligkeit wird durch eine strichpunktierte Linie angezeigt. Bezüglich der mit Bezug auf den Rotor erzeugten Drehmomentwelligkeit ermöglicht das vorausgehende Überlagern der Anzahl von Drehmomentwelligkeitskorrekturen in der Gegenphase auf den Drehmomentsollwert, dass die Drehmomentwelligkeit eliminiert werden kann, wodurch die Verschlechterung der Laufruhe des Vorschubs reduziert werden kann.
  • Zudem gibt es beispielsweise einen Fall, in dem, wie in der ungeprüften Japanischen Patentschrift (Kokai) Nr. H7-284286 offenbart, zum Reduzieren der durch die Drehmomentwelligkeit verursachten Verschlechterung der Laufruhe des Vorschubs in einer mit einem Drehzahlregler bereitgestellten Drehzahlregelung eine Kompensation mit einem Äquivalent einer Drehmomentschwankung vorgenommen wird, wodurch der Drehmomentsollwert korrigiert wird.
  • Da, wie oben beschrieben, eine Verschlechterung der Laufruhe des Vorschubs aufgrund der Drehmomentwelligkeit periodisch ist, ist es leicht, eine solche Anzahl von Korrekturen in der Gegenphase bezüglich der Drehmomentwelligkeit zu erzeugen, um die Verschlechterung der Laufruhe des Vorschubs zu reduzieren. Jedoch ist die Verschlechterung der Laufruhe des Vorschubs aufgrund der Werkstückbearbeitungsbedingung in der den Motor als Antriebsquelle aufweisenden Werkzeugmaschine, der Größe einer Schnittlast während der Bearbeitung durch die Werkzeugmaschine, der Temperatur der Werkzeugmaschine, den Schwingungen, die erzeugt werden, wenn jede der Antriebsachsen in der Werkzeugmaschine arbeitet, die die mehreren Antriebsachsen aufweist, und dergleichen, in einem gewissen Maße, jedoch nicht periodisch, reproduzierbar. 12 ist ein Diagramm, das die Anzahl von Fehlern darstellt, die nicht periodisch sind. Die Anzahl von Fehlern, die nicht periodisch sind, kann nicht unter Verwendung der Anzahl von Korrekturen in der Gegenphase korrigiert werden, wie etwa die Anzahl von Fehlern aufgrund der Drehmomentwelligkeit.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Hinsichtlich der beschriebenen Probleme ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung für maschinelles Lernen und ein Verfahren, das in der Lage ist, leicht die Anzahl von Fehlern zwischen einem Rotorpositionssollwert bezüglich eines Motors und einer aktuellen Position einer Vorschubmechanismuseinheit zu minimieren, und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung bereitzustellen.
  • Um die oben beschriebene Aufgabe zu erreichen, umfasst eine Vorrichtung für maschinelles Lernen, die eine Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen Sollwert eines Positionssollwerts, eines Drehzahlsollwerts oder eines Stromsollwerts in einer Motorsteuervorrichtung lernt: eine Zustandsbeobachtungseinheit, die eine Zustandsvariable beobachtet, die aus mindestens einem besteht von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine; und eine Lerneinheit, die die Bedingung im Zusammenhang mit der Anzahl von Korrekturen lernt, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz verwendet werden.
  • Der Zustand der Werkzeugmaschine kann mindestens eines von einer Temperatur der Werkzeugmaschine und Schwingungen der Werkzeugmaschine umfassen.
  • Des Weiteren kann die Lerneinheit umfassen: eine Belohnungsberechnungseinheit, die eine Belohnung basierend auf der Anzahl von Fehlern berechnet; und eine Funktionsaktualisierungseinheit, die eine Funktion zum Berechnen der Anzahl von Korrekturen basierend auf der Zustandsvariablen und der Belohnung aktualisiert.
  • Des Weiteren kann die Belohnungsberechnungseinheit dazu eingerichtet sein, die Belohnung zu erhöhen, wenn die Anzahl von Fehlern kleiner als die von der Zustandsbeobachtungseinheit vor der aktuellen Anzahl von Fehlern beobachteten Anzahl von Fehlern ist, und die Belohnung reduzieren, wenn sie größer ist.
  • Des Weiteren kann die Belohnungsberechnungseinheit dazu eingerichtet sein, die Belohnung zu erhöhen, wenn die Anzahl von Fehlern innerhalb eines vorgegebenen Bereichs liegt, und die Belohnung reduzieren, wenn die Anzahl von Fehlern außerhalb des vorgegebenen Bereich liegt.
  • Des Weiteren kann die Funktionsaktualisierungseinheit dazu eingerichtet sein, die Funktion zum Berechnen der Anzahl von Fehlern basierend auf der Zustandsvariablen und der Belohnung und gemäß einem neuronalen Netzwerkmodell zu aktualisieren. Des Weiteren kann die Lerneinheit dazu eingerichtet sein, die Bedingung gemäß dem in Bezug auf die mehreren Motorsteuervorrichtungen erhaltenen Trainingsdatensatz zu lernen.
  • Des Weiteren kann die Lerneinheit umfassen: eine Fehlerberechnungseinheit, die einen Fehler basierend auf der Anzahl von Fehlern berechnet; und eine Lernmodell-Aktualisierungseinheit, die ein Lernmodell zum Berechnen der Anzahl von Fehlern basierend auf der Zustandsvariablen und den Fehlern aktualisiert.
  • Ferner umfasst die Motorsteuervorrichtung, die die wie oben beschriebene Maschinenlernvorrichtung umfasst, des Weiteren: eine Entscheidungsfindungseinheit, die die Anzahl von Korrekturen basierend auf einem durch die Lerneinheit gemäß dem Trainingsdatensatz gelernten Ergebnis und in Erwiderung auf eine Eingabe der aktuellen Zustandsvariablen bestimmt; eine Korrektureinheit, die einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung unter Verwendung der von der Entscheidungsfindungseinheit bestimmten Anzahl von Korrekturen korrigiert; eine Motorstromversorgungseinheit, die eine Antriebsenergie an den Motor basierend auf dem durch die Korrektureinheit korrigierten Sollwert liefert; eine Positionsdetektionseinheit, die die aktuelle Position der Vorschubmechanismuseinheit detektiert; und eine Fehleranzahl-Messeinheit, die die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors und der aktuellen Position misst.
  • Des Weiteren umfasst ein Maschinenlernverfahren zum Lernen einer Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen von einem Positionssollwert, einem Drehzahlsollwert oder einem Stromsollwert in einer Motorsteuervorrichtung: einen Zustandsbeobachtungsschritt des Beobachtens einer Zustandsvariablen, die aus mindestens einem von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine besteht; und einen Lernschritt des Lernens der Bedingung im Zusammenhang mit der Anzahl von Korrekturen, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz verwendet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird durch Bezugnahme auf die folgenden beigefügten Zeichnungen deutlicher verstanden werden:
  • 1 ist ein schematisches Blockschaltbild einer Vorrichtung für maschinelles Lernen gemäß einer Ausführungsform;
  • 2 ist ein Blockschaltbild, das eine Ausgestaltung einer Antriebssollwert-Erzeugungseinheit in einer Motorsteuervorrichtung schematisch darstellt;
  • 3 ist ein Ablaufdiagramm, das einen Betriebsablauf eines Maschinenlernverfahrens gemäß der Ausführungsform darstellt.
  • 4 ist ein schematisches Blockschaltbild der Vorrichtung für maschinelles Lernen, die bestärkendes Lernen gemäß der Ausführungsform verwendet;
  • 5 ist ein Ablaufdiagramm, das einen Betriebsablauf des Maschinenlernverfahrens unter Verwendung des bestärkenden Lernens gemäß der Ausführungsform verwendet;
  • 6 ist ein schematisches Blockschaltbild, das eine Motorsteuervorrichtung darstellt, die die das bestärkende Lernen verwendende Vorrichtung für maschinelles Lernen gemäß der Ausführungsform umfasst;
  • 7 ist ein Ablaufdiagramm, das einen Betriebsablauf der Motorsteuervorrichtung darstellt, die die das bestärkende Lernen verwendende Vorrichtung für maschinelles Lernen gemäß der Ausführungsform umfasst;
  • 8 ist ein schematisches Schaubild, das ein Modell eines Neurons darstellt;
  • 9 ist ein schematisches Schaubild, das ein neuronales Netzwerk mit drei Gewichten von drei Schichten D1 bis D3 darstellt;
  • 10 ist ein schematisches Blockschaltbild, das die Motorsteuervorrichtung darstellt, die die das überwachte Lernen verwendende Vorrichtung für maschinelles Lernen gemäß der Ausführungsform umfasst;
  • 11 ist ein Diagramm, das eine Kompensation einer Drehmomentwelligkeit mit der Anzahl von Korrekturen in einer Gegenphase darstellt; und
  • 12 ist ein Diagramm, das die Anzahl der Fehler, die nicht periodisch sind, darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine Vorrichtung für maschinelles Lernen und ein Verfahren, das die Laufruhe des Vorschubs einer Vorschubachse einer Maschine optimiert, und eine Motorsteuervorrichtung, die die Vorrichtung für maschinelles Lernen umfasst, werden nachfolgend mit Bezug auf die Zeichnungen beschrieben. Es sollte verstanden werden, dass die vorliegende Erfindung nicht auf die Zeichnungen oder die nachfolgend beschriebenen Ausführungsformen beschränkt ist.
  • Die 1 ist ein schematisches Schaubild der Vorrichtung für maschinelles Lernen gemäß einer Ausführungsform. Nachfolgend wird beabsichtigt, dass Bauteile, denen identische Referenzziffern in unterschiedlichen Zeichnungen zugewiesen sind, diejenigen sind, die identische Funktionen aufweisen.
  • Eine Vorrichtung für maschinelles Lernen 1 gemäß der Ausführungsform ist dazu eingerichtet, die Anzahl von Korrekturen für einen beliebigen Sollwert von einem Positionssollwert, einem Drehzahlsollwert oder einem Stromsollwert in einer Motorsteuervorrichtung zu lernen.
  • Die Vorrichtung für maschinelles Lernen 1 umfasst eine Zustandsbeobachtungseinheit 11 und eine Lerneinheit 12.
  • Die Zustandsbeobachtungseinheit 11 beobachtet eine Zustandsvariable, die aus mindestens einem von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine besteht. Die Vorschubmechanismuseinheit umfasst den Motor zum Betreiben der Vorschubachse und verschiedene daran angefügte Werkzeuge. Die aktuelle Position der Vorschubmechanismuseinheit umfasst eine aktuelle Position einer Bearbeitungseinheit, die durch einen externen Sensor (Linearmaßstab) erhalten wird, wenn eine vollgeschlossene Steuerung angewendet wird, und eine aktuelle Position des Rotors, die durch einen Impulsgeber erhalten wird, wenn eine halbgeschlossene Steuerung angewendet wird.
  • Die Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert des Rotors und der Vorschubmechanismuseinheit, wobei die Daten als die Zustandsvariable durch die Zustandsbeobachtungseinheit 11 beobachtet werden, werden als interne Daten des in der Motorsteuervorrichtung gespeicherten Betriebsprogramms verwendet und von der Motorsteuervorrichtung erhalten. Das Betriebsprogramm der Motorsteuervorrichtung und ein beliebiger Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung werden ebenfalls von der Motorsteuervorrichtung erhalten. Des Weiteren werden die Daten in Bezug auf eine Werkstückbearbeitungsbedingung in der die Motorsteuervorrichtung umfassenden Werkzeugmaschine und die Daten in Bezug auf den Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine von der Werkzeugmaschine erhalten. Der Zustand der Werkzeugmaschine umfasst mindestens eines von einer Temperatur der Werkzeugmaschine und Schwingungen der Werkzeugmaschine. Daten in Bezug auf die Temperatur der Werkzeugmaschine werden von einem an einem optionalen Teil in der Werkzeugmaschine bereitgestellten Sensor erhalten. Daten in Bezug auf die Schwingungen der Werkzeugmaschine werden von einem an einem optionalen Teil in der Werkzeugmaschine bereitgestellten Schwingungssensor erhalten.
  • Die Lerneinheit 12 lernt eine Bedingung im Zusammenhang mit der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz zu korrigieren. Des Weiteren kann der Trainingsdatensatz für einen Fall erfasst werden, in dem mehrere Motorsteuervorrichtungen vorhanden sind; in einem solchen Fall lernt die Lerneinheit 12 die Anzahl von Korrekturen, um die Anzahl von Fehlern gemäß dem für die mehreren Motorsteuervorrichtungen erstellten Trainingsdatensatz zu minimieren. Im Übrigen kann die Lerneinheit 12 die Anzahl von Korrekturen, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung verwendet werden, basierend auf einem Ergebnis lernen, das durch eine Lerneinheit in einer Vorrichtung für maschinelles Lernen gelernt wird, die von der mit der Lerneinheit 12 bereitgestellten Vorrichtung für maschinelles Lernen 1 separat vorhanden ist.
  • Der Positionssollwert, der Drehzahlsollwert und der Stromsollwert in der Motorsteuervorrichtung werden mit Bezug auf 2 beschrieben. Die 2 ist ein Blockschaltbild, das eine Ausgestaltung einer Antriebssollwert-Erzeugungseinheit in der Motorsteuervorrichtung schematisch darstellt.
  • Eine Antriebssollwert-Erzeugungseinheit 50, die einen Antriebssollwert erzeugt, um einen Wechselrichter zu steuern, der eine Antriebsenergie zum Antreiben eines als eine Antriebsquelle der Werkzeugmaschine verwendeten Wechselstrommotors liefert, umfasst einen Positionsregelkreis, einen Drehzahlregelkreis und einen Stromregelkreis. In dem Stromregelkreis bildet eine Drehzahlsollwert-Erzeugungseinheit 213 den Drehzahlsollwert basierend auf Informationen (Positions-Feedbackwert) in Bezug auf eine aktuelle Rotorposition eines Drehstrommotors 300, die durch eine an dem Drehstrommotors 300 montierten Positionsdetektionseinheit 16 detektiert wird, und auf dem durch eine Positionssollwert-Erzeugungseinheit (nicht dargestellt) gebildeten Positionssollwert. In dem Drehzahlregelkreis bildet eine Stromsollwert-Erzeugungseinheit 212 den Stromsollwert basierend auf Informationen (Drehzahl-Feedbackwert) in Bezug auf eine Rotordrehzahl des Drehstrommotors 300, die durch eine an dem Drehstrommotor 300 montierten Drehzahldetektionseinheit 18 detektiert wird, und auf dem durch die Drehzahlsollwert-Erzeugungseinheit 213 gebildeten Drehzahlsollwert. In dem Stromregelkreis wird, basierend auf Informationen (Strom-Feedbackwert) in Bezug auf einem von dem Wechselrichter in einer Motorstromversorgungseinheit 15 in den Drehstrommotor 300 fließenden Strom, der durch eine Stromdetektionseinheit 19 detektiert wird, und auf einem durch die Stromsollwert-Erzeugungseinheit 212 gebildeten Stromsollwert der Antriebssollwert (zum Beispiel PWM-Steuersignal) zum Steuern eines Energieumwandlungsvorgangs des Wechselrichters in der Motorstromversorgungseinheit 15 unter Verwendung einer Stromsteuereinheit 211 gebildet. Der Wechselrichter in der Motorstromversorgungseinheit 15 ist beispielsweise ein Wechselrichter für Motorstromversorgung, der durch einen Schaltvorgang eines intern bereitgestellten Schaltelements einen Gleichstrom in einen Wechselstrom umwandelt, und der gemäß dem empfangenen Antriebssollwert den Schaltvorgang des Schaltelements in dem Wechselrichter der Motorstromversorgung 15 steuert, und dadurch einen Umwandlungsvorgang steuert, der den Gleichstrom in Wechselstrom zum Antreiben des Drehstrommotors 300 umwandelt. Der Drehstrommotor 300 arbeitet unter Verwendung des von dem Wechselrichter in der Motorstromversorgungseinheit 15 ausgegebenen Wechselstroms als die Antriebsenergie, sodass das Steuern des von dem Wechselrichter in der Motorstromversorgungseinheit 15 ausgegebenen Wechselstroms ermöglicht, dass eine Drehzahl und ein Drehmoment des Drehstrommotors 300, oder eine Position des Rotors, antriebsgesteuert sind. Der Drehstrommotor 300 wird angetrieben, wodurch ein beweglicher Teil der Werkzeugmaschine angetrieben wird.
  • Somit gibt es als Sollwerte in der Motorsteuervorrichtung den Positionssollwert, den Drehzahlsollwert und den Stromsollwert. Die Anzahl von durch die Lerneinheit 12 gelernten Korrekturen wird dazu verwendet, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung zu korrigieren.
  • Die 3 ist ein Ablaufdiagramm, das einen Betriebsablauf des Maschinenlernverfahrens gemäß der Ausführungsform darstellt. Das Maschinenlernverfahren zum Lernen der Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung umfasst einen Zustandsbeobachtungsschritt S101 und einen Lernschritt S102.
  • Der Zustandsbeobachtungsschritt S101 wird durch die Zustandsbeobachtungseinheit 11 ausgeführt und, d. h., sie beobachtet eine Zustandsvariable, die aus mindestens einem besteht von den Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position des Rotors, dem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, den Daten in Bezug auf eine Werkstückbearbeitungsbedingung in der die Motorsteuervorrichtung umfassende Werkzeugmaschine, und den Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassende Werkzeugmaschine.
  • Der Lernschritt S102 wird durch die Lerneinheit 12 ausgeführt, und, d. h., sie lernt die Bedingung im Zusammenhang mit der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung gemäß dem durch die Zustandsvariable gebildeten Trainingsdatensatz zu korrigieren.
  • Die Lerneinheit 12 kann einen beliebigen Lernalgorithmus verwenden. Die Maschinenlernvorrichtung 1 hat die Funktionen des analytischen Extrahierens, aus einem Satz von in die Vorrichtung eingegebenen Daten, einer nützlichen Regel, einer Wissenspräsentation, eines darin enthaltenen Kriteriums zur Beurteilung oder dergleichen, des Ausgebens eines Ergebnisses der Beurteilung und des Ausführens des Lernens von Wissen.
  • Die Technik ist vielfältig und wird grob als „überwachtes Lernen”, „unüberwachtes Lernen” oder „bestärkendes Lernen” eingestuft. Des Weiteren gibt es eine Technik, die als „Deep-Learning” bezeichnet wird, die das Extrahieren eines Merkmalwerts an sich lernt, um diese Techniken zu verwirklichen. Es wird angemerkt, dass hierin das maschinelle Lernen (Vorrichtung für maschinelles Lernen 1) durch Anwenden von beispielsweise Allzweck-Berechnungen auf Grafikprozessoreinheiten (GPGPU), großen PC-Clustern oder dergleichen verwirklicht wird.
  • Nachfolgend wird beispielhaft ein Fall, in dem bestärkendes Lernen verwendet wird mit Bezug auf die 4 und 5 beschrieben. „Überwachtes Lernen”, „unüberwachtes Lernen” und dergleichen werden später beschrieben.
  • Die 4 ist ein schematisches Blockschaltbild der das bestärkende Lernen verwendenden Vorrichtung für maschinelles Lernen gemäß der Ausführungsform. Die Lerneinheit 12 umfasst eine Belohnungsberechnungseinheit 21 und eine Funktionsaktualisierungseinheit 22. Es wird angemerkt, dass Komponenten außer der Belohnungsberechnungseinheit 21 und der Funktionsaktualisierungseinheit 22 den in 1 dargestellten Komponenten ähnlich sind; daher werden identischen Komponenten identische Bezugsziffern zugewiesen und eine ausführliche Beschreibung davon wird weggelassen.
  • Die Belohnungsberechnungseinheit 21 berechnet eine Belohnung basierend auf der Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Motors, der durch den Motor antriebsgesteuert wird, und einer aktuellen Position des Rotors. Je kleiner die Anzahl von Fehlern ist, umso höher ist die durch die Belohnungsberechnungseinheit 21 bereitgestellte Belohnung, während dabei anerkannt wird, dass die Menge von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung zu korrigieren, einen günstigen Einfluss hat. Beispielsweise kann die Belohnungsberechnungseinheit 21 dazu eingerichtet sein, die Belohnung zu erhöhen, wenn die durch die Beobachtungseinheit 11 beobachtete Anzahl von Fehlern kleiner als die durch die Zustandsbeobachtungseinheit 11 beobachtete Anzahl von Fehlern vor der aktuellen Anzahl von Fehlern ist, und die Belohnung reduzieren, wenn sie größer ist. Des Weiteren kann beispielsweise die Belohnungsberechnungseinheit 21 dazu eingerichtet sein, die Belohnung zu erhöhen, wenn die Anzahl von durch die Zustandsbeobachtungseinheit 11 beobachteten Fehlern innerhalb eines vorgegebenen Bereich liegt, und die Belohnung zu reduzieren, wenn die Anzahl von Fehlern außerhalb des vorgegebenen Bereichs liegt. Der vorgegebene Bereich kann wie angemessenen durch den Bediener festgelegt werden, wobei verschiedene Faktoren, wie die Herstellkosten des Motors und der Werkzeugmaschine, die Nutzungs-Umgebung oder dergleichen in Betracht gezogen werden.
  • Die Funktionsaktualisierungseinheit 22 aktualisiert eine Funktion (Aktionswerttabelle) zum Berechnen der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung zu korrigieren, basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Zustandsvariablen und der durch die Belohnungsberechnungseinheit 21 berechneten Belohnung.
  • Die Lerneinheit 12 kann in einer mehrschichtigen Struktur die durch die Zustandsbeobachtungseinheit 11 beobachtete Zustandsvariable berechnen und die Funktion (Aktionswerttabelle) in Echtzeit aktualisieren. Beispielsweise kann die Funktionsaktualisierungseinheit 22 dazu eingerichtet sein, die Funktion zum Berechnen der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung zu korrigieren, basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Zustandsvariablen und der durch die Belohnungsberechnungseinheit 21 berechneten Belohnung und gemäß einem neuronalen Netzwerkmodell zu aktualisieren. Als ein Verfahren zum Berechnen der Zustandsvariablen in einer mehrschichtigen Struktur ist es beispielsweise möglich, ein neuronales Netzwerk, wie das in 9 dargestellte, das später beschrieben wird, zu verwenden. Die 5 ist ein Ablaufdiagramm, das einen Betriebsablauf des Maschinenlernverfahrens unter Verwendung des bestärkenden Lernens gemäß der Ausführungsform darstellt.
  • Zuerst beobachtet bei Zustandsbeobachtungsschritt S101 die Beobachtungseinheit 11 eine Zustandsvariable, die aus mindestens einem besteht von den Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position der Vorschubmechanismuseinheit, dem Betriebsprogramm der Motorsteuervorrichtung, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung, den Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung umfassenden Werkzeugmaschine und den Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung umfassenden Werkzeugmaschine.
  • Dann berechnet die Belohnungsberechnungseinheit 21 bei Schritt S102-1 eine Belohnung basierend auf der Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Motors, der durch die Motorsteuervorrichtung antriebsgesteuert wird, und einer aktuellen Position des Vorschubmechanismus.
  • Dann aktualisiert die Funktionsaktualisierungseinheit 22 bei Schritt S102-2 die Funktion (Aktionswerttabelle) zum Berechnen der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung zu korrigieren, basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Zustandsvariablen und der durch die Belohnungsberechnungseinheit 21 berechneten Belohnung.
  • Nachfolgend wird die die oben beschriebene Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung beschrieben.
  • Die 6 ist ein schematisches Blockschaltbild, das die Motorsteuervorrichtung, die die das bestärkende Lernen verwendende Vorrichtung für maschinelles Lernen umfasst, gemäß der Ausführungsform darstellt. Nachfolgend wird hier ein Fall beschrieben, in dem die Motorsteuervorrichtung 100 in der Werkzeugmaschine bereitgestellt wird und der Drehstrommotor 300, der als eine Antriebsquelle der Vorschubachse der Werkzeugmaschine dient, durch die Motorsteuervorrichtung 100 gesteuert wird.
  • Die Motorsteuervorrichtung gemäß der Ausführungsform umfasst die oben beschriebene Vorrichtung für maschinelles Lernen 1, eine Entscheidungsfindungseinheit 13, eine Korrektureinheit 14, die Motorstromversorgungseinheit 15, die Positionsdetektionseinheit 16, eine Fehleranzahl-Messeinheit 17, eine Temperaturmesseinheit 31 und eine Schwingungsmesseinheit 32. Es wird angemerkt, dass in 6 die Darstellung der in 2 dargestellten Drehzahldetektionseinheit und Stromdetektionseinheit weggelassen ist. Wie des Weiteren oben beschrieben umfasst die aktuelle Position der Vorschubmechanismuseinheit eine aktuelle Position der Bearbeitungseinheit, die durch einen externen Sensor (Linearmaßstab) erhalten wird, wenn eine vollgeschlossene Steuerung angewendet wird, und eine aktuelle Position des Rotors, die durch einen dem Motor bereitgestellten Impulsgeber erhalten wird, wenn eine halbgeschlossene Steuerung angewendet wird, wohingegen in 6 als die aktuelle Position der Vorschubmechanismuseinheit eine aktuelle Position des Rotors des Motors 300, die durch die dem Motor 300 bereitgestellten Positionsdetektionseinheit 16 (Impulsgeber) detektiert wird, verwendet wird.
  • Die Motorstromversorgungseinheit 15 liefert eine Antriebsenergie an einen Motor 300 basierend auf dem durch die Antriebssollwert-Erzeugungseinheit 50 erzeugten Antriebssollwert. Die Motorstromversorgungseinheit 15 umfasst beispielsweise einen Gleichrichter, der eine von einer Wechselstromquelle gelieferte Wechselstromleistung in eine Gleichstromleistung umwandelt und diese an einen DC-Zwischenkreis ausgibt, und ein Wechselrichter, der mit dem DC-Zwischenkreis verbunden ist, wandelt die Gleichstromleistung in dem DC-Zwischenkreis in eine Wechselstromleistung um und liefert diese an den Drehstrommotor 300. Beispiele für den verwendeten Gleichrichter sind nicht besonders eingeschränkt und umfassen beispielsweise einen Dioden-Gleichrichter, einen PWM-Steuerungsgleichrichter oder dergleichen. Des Weiteren sind Beispiele des Wechselrichters nicht besonders eingeschränkt und sind im Allgemeinen ein Leistungswandler der in Lage ist, AC-DC wechselseitig umzuwandeln, und umfassen beispielsweise einen PWM-Wechselrichter. Der PWM-Wechselrichter besteht aus einer Brückenschaltung, die ein Schaltelement und damit antiparallel verbundenen Dioden umfasst, und ein Schaltvorgang des Schaltelements ist basierend auf dem durch die Antriebssollwert-Erzeugungseinheit 50 erzeugten Antriebssollwert PWM-gesteuert. Mit anderen Worten, der Wechselrichter in der Motorstromversorgungseinheit 15 wandelt die von seitens einem DC-Zwischenkreis gelieferte Gleichstromleistung in eine dreiphasige Wechselstromleistung mit einer gewünschten Spannung und einer gewünschten Frequenz zum Antreiben des Drehstrommotors 300 um, indem der Betrieb des internen Schaltelements basierend auf dem von der Antriebssollwert-Erzeugungseinheit 50 empfangenen Antriebssollwert umgeschaltet wird. Dadurch arbeitet der Drehstrommotor 300 basierend auf der gelieferten Dreiphasen-Wechselstromleistung mit einer variablen Spannung und einer variablen Frequenz. Des Weiteren wird durch Reduzieren der Drehzahl des Drehstrommotors 300 eine Regenerationsleistung erzeugt, jedoch wird in einem solchen Fall basierend auf einem von der Antriebssollwert-Erzeugungseinheit 50 empfangenen Sollwert eine in dem Drehstrommotor 300 erzeugte Wechselstrom-Regenerationsleistung in eine Gleichstromleistung umgewandelt, die zu dem DC-Zwischenkreis zurückkehrt.
  • Die Positionsdetektionseinheit 16 soll eine aktuelle Position des Rotors des Drehstrommotors 300 detektieren und umfasst einen dem Drehstrommotor 300 bereitgestellten Impulsgeber.
  • Die Fehleranzahl-Messeinheit 17 misst die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Drehstrommotors 300, die von der Antriebssollwert-Erzeugungseinheit 50 erhalten wird, und der durch die Positionsdetektionseinheit 16 detektierten aktuellen Position. Daten in Bezug auf die Anzahl von durch die Fehleranzahl-Messeinheit 17 gemessenen Fehlern werden in die Zustandsbeobachtungseinheit 11 in der Vorrichtung für maschinelles Lernen 1 eingegeben.
  • Die Temperaturmesseinheit 31 ist ein Temperatursensor, der an einem optionalen Teil in der mit der Motorsteuervorrichtung 100 bereitgestellten Werkzeugmaschine montiert ist und eine Temperatur der Werkzeugmaschine misst. Die Temperaturmesseinheit 31 kann an mehreren Teilen in der Werkzeugmaschine montiert werden, um eine Temperatur an den mehreren Teilen zu messen. Die Daten in Bezug auf die durch die Temperaturmesseinheit 11 gemessenen Temperaturen werden in die Zustandsbeobachtungseinheit 11 in der Vorrichtung für maschinelles Lernen 1 eingegeben.
  • Die Schwingungsmesseinheit 32 ist ein Schwingungssensor, der an einem optionalen Teil in der die Motorsteuervorrichtung umfassende Werkzeugmaschine montiert ist und die in der Werkzeugmaschine erzeugten Schwingungen misst. Die Schwingungsmesseinheit 32 kann an mehreren Teilen in der Werkzeugmaschine montiert sein, um eine Schwingung an den mehreren Teilen zu messen. Daten in Bezug auf die durch die Schwingungsmesseinheit 32 gemessenen Schwingungen der Werkzeugmaschine werden in die Zustandsbeobachtungseinheit 11 in der Vorrichtung für maschinelles Lernen 1 eingegeben.
  • Wie oben beschrieben umfasst die Vorrichtung für maschinelles Lernen 1 die Zustandsbeobachtungseinheit 11 und die Lerneinheit 12.
  • Die Zustandsbeobachtungseinheit 11 beobachtet eine Zustandsvariable, die aus den Daten in Bezug auf die durch die Fehleranzahl-Messeinheit 17 gemessenen Anzahl von Fehlern, dem Betriebsprogramm der Motorsteuervorrichtung 100, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100, der von der Antriebssollwert-Erzeugungseinheit 50 erhalten wird, den Daten in Bezug auf eine Werkstückbearbeitungsbedingung in der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine, und den Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine besteht. Die beobachtete Zustandsvariable wird als ein Trainingsdatensatz zum Lernen in der Lerneinheit 12 verwendet. Es wird angemerkt, dass hierin die Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine die Daten in Bezug auf die durch die Temperaturmesseinheit 31 gemessenen Temperatur der Werkzeugmaschine und die Daten in Bezug auf durch die Schwingungsmesseinheit 32 gemessenen Schwingungen sind, es können jedoch auch Daten in Bezug auf einen Zustand der Werkzeugmaschine außer den genannten als eine Zustandsvariable verwendet werden. Des Weiteren kann das Betriebsprogramm der Motorsteuervorrichtung 100 von einer Steuereinheit (nicht dargestellt) erhalten werden, die einen Betrieb der Motorsteuervorrichtung 100 vollständig steuert. Außerdem können die Daten in Bezug auf eine Werkstückbearbeitungsbedingung in der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine von einer Steuereinheit (nicht dargestellt) erhalten werden, die einen Betrieb der Motorsteuervorrichtung 100 vollständig steuert, oder sie können alternativ durch einen Bediener über eine Eingabevorrichtung (nicht dargestellt) eingegeben werden.
  • Die Belohnungsberechnungseinheit 21 in der Lerneinheit 12 berechnet eine Belohnung basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Anzahl von Fehlern. Beispielsweise erhöht die Belohnungsberechnungseinheit 21 die Belohnung, wenn die durch die Zustandsbeobachtungseinheit 11 beobachteten Anzahl von Fehlern kleiner als die durch die Zustandsbeobachtungseinheit 11 beobachtete Anzahl von Fehlern vor der aktuellen Anzahl von Fehlern ist, und reduziert die Belohnung, wenn die Anzahl größer ist. Des Weiteren erhöht beispielsweise die Belohnungsberechnungseinheit 21 die Belohnung, wenn die durch die Zustandsbeobachtungseinheit 11 beobachtete Anzahl von Fehlern innerhalb eines vorgegebenen Bereichs liegt und reduziert die Belohnung, wenn die Anzahl von Fehlern außerhalb des vorgegeben Bereichs liegt.
  • Die Funktionsaktualisierungseinheit 22 in der Lerneinheit 12 aktualisiert die Funktion (Aktionswerttabelle) zum Berechnen der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Zustandsvariablen und der durch die Belohnungsberechnungseinheit 21 berechneten Belohnung zu korrigieren.
  • Die Entscheidungsfindungseinheit 13 bestimmt die Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 basierend auf einem durch die Lerneinheit 12 gemäß dem Trainingsdatensatz und in Erwiderung einer Eingabe der aktuellen Zustandsvariablen gelernten Ergebnis zu korrigieren. Da in der vorliegenden Ausführungsform beispielhaft bestärkendes Lernen als ein Lernalgorithmus verwendet wird, aktualisiert die Funktionsaktualisierungseinheit 22 in der Lerneinheit 12, basierend auf der durch die Belohnungsberechnungseinheit 21 in der Lerneinheit 12 berechneten Belohnung, die Funktion zum Berechnen der Anzahl von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 zu korrigieren, und die Entscheidungsfindungseinheit 13 wählt basierend auf der aktualisierten Funktion die Anzahl von Korrekturen aus, für die die höchste Belohnung erhalten wird.
  • Die Korrektureinheit 14 korrigiert einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 unter Verwendung der durch die Entscheidungsfindungseinheit 13 bestimmten Anzahl von Korrekturen. Der Sollwert, der unter Verwendung der Anzahl von Korrekturen korrigiert wird, kann ein beliebiger von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert sein.
  • Die Antriebssollwert-Erzeugungseinheit 50 erzeugt den Antriebssollwert zum Steuern einer Stromversorgung an den Drehstrommotor 300 durch die Motorstromversorgungseinheit 15 basierend auf dem korrigierten Sollwert (einem beliebigen von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert). Eine Ausgestaltung der Antriebssollwert-Erzeugungseinheit 50 in der Motorsteuervorrichtung 100 ist in 2 dargestellt. Mit anderen Worten, die Antriebssollwert-Erzeugungseinheit 50 umfasst den Positionsregelkreis, den Drehzahlregelkreis und den Stromregelkreis. In dem Positionsregelkreis erstellt die Drehzahlsollwert-Erzeugungseinheit 213 den Drehzahlsollwert basierend auf Informationen (Positions-Feedbackwert) in Bezug auf eine aktuelle Rotorposition des Drehstrommotors 300, die durch die an dem Drehstrommotor 300 montierte Positionsdetektionseinheit 16 detektiert wird, und dem durch die Positionssollwert-Erstellungseinheit (nicht dargestellt) erstellten Positionssollwert. In dem Drehzahlregelkreis erstellt die Stromsollwert-Erzeugungseinheit 212 den Stromsollwert basierend auf Informationen (Drehzahl-Feedbackwert) in Bezug auf eine Rotordrehzahl des Drehstrommotors 300, die durch die an dem Drehstrommotor 300 montierte Drehzahldetektionseinheit 18 detektiert wird, und dem durch die Drehzahlsollwert-Erzeugungseinheit 213 erstellten Drehzahlsollwert. In dem Stromregelkreis wird basierend auf Informationen (Strom-Feedbackwert) in Bezug auf einen von dem Wechselrichter in der Motorstromversorgungseinheit 15 in den Drehstrommotor 300 fließenden Strom, der durch die Stromdetektionseinheit 19 detektiert wird, und dem durch die Stromsollwert-Erzeugungseinheit 212 erstellten Stromsollwert der Antriebssollwert (zum Beispiel ein PWM-Signal) zum Antreiben des Wechselrichters in der Motorstromversorgungseinheit 15 unter Verwendung der Stromsteuereinheit 211 erstellt. Wie oben beschrieben ist der Wechselrichter in der Motorstromversorgungseinheit 15 beispielsweise ein PWM-Wechselrichter für die Motorstromversorgung, der eine Gleichstromleistung durch einen Umschaltvorgang eines intern bereitgestellten Schaltelements in eine Wechselstromleistung umwandelt und gemäß dem empfangenen Antriebssollwert den Schaltvorgang des Schaltelements in dem Wechselrichter in der Motorstromversorgungseinheit 15 steuert, und dadurch einen Umwandlungsvorgang, der die Gleichstromleistung in die Wechselstromleistung zum Antreiben des Drehstrommotors 300 umwandelt, steuert. Der Drehstrommotor 300 arbeitet unter Verwendung der von dem Wechselrichter in der Motorstromversorgungseinheit 15 ausgegebenen Wechselstromleistung als die Antriebsleistung, sodass das Steuern der von dem Wechselrichter in der Motorstromversorgungseinheit 15 ausgegebenen Wechselstromleistung ermöglicht, dass eine Drehzahl und ein Drehmoment des Drehstrommotors 300 oder eine Position des Rotors antriebsgesteuert sind. Der Drehstrommotor 300 wird angetrieben, wodurch eine Antriebsachse der Werkzeugmaschine angetrieben wird.
  • Die 7 ist ein Ablaufdiagramm, das einen Betriebsablauf der Motorsteuervorrichtung, die die das bestärkende Lernen verwendende Maschinenlernvorrichtung umfasst, gemäß der Ausführungsform darstellt.
  • Im Allgemeinen wird bei bestärkenden Lernen der Ausgangswert der Aktion willkürlich gewählt. In der Ausführungsform wird bei Schritt S201 die Anzahl von Korrekturen für den Sollwert (einem beliebigen von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert), der die Aktion ist, willkürlich gewählt.
  • Bei Schritt S202 erzeugt die Antriebssollwert-Erzeugungseinheit 50 basierend auf dem unter Verwendung der wie festgelegten Anzahl von Korrekturen korrigierten Sollwert (einem von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert) einen Antriebssollwert zum Steuern einer Drehzahl und eines Drehmoments des Drehstrommotors 300 oder einer Position des Rotors unter Verwendung eines Betriebsprogramms des Drehstrommotors 300, eines Wechselstroms oder einer Wechselstromspannung der Motorstromversorgungseinheit 15 auf Seiten des Drehstrommotors 300 und/oder einer Drehgeschwindigkeit des Drehstrommotors 300 oder dergleichen. Dadurch führt die Motorstromversorgungseinheit 15 einen Leistungsablaufvorgang (Umwandlungsvorgang) zum Umwandeln einer Wechselstromleistung in eine Gleichstromleistung und einen Regenerationsvorgang (inversen Umwandlungsvorgang) zum Umwandeln der Gleichstromleistung in eine Wechselstromleistung aus, und der Drehstrommotor 300 wird durch eine angelieferte Wechselstrom-Antriebsleistung angetrieben. In der Zwischenzeit detektiert die Positionsdetektionseinheit 16 eine aktuelle Position des Rotors des Drehstrommotors 300, die Fehleranzahl-Messeinheit 17 misst die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors des Drehstrommotors 300, der von der Antriebssollwert-Erzeugungseinheit 50 erhalten wird, und der durch die Positionsdetektionseinheit 16 detektierten aktuellen Position, die Drehzahldetektionseinheit 18 detektiert eine Rotordrehzahl des Drehstrommotors 300, und die Stromdetektionseinheit 19 detektiert einen vom dem Wechselrichter in der Motorstromversorgungseinheit 15 in den Drehstrommotor 300 fließenden Strom. Des Weiteren misst die Temperaturmesseinheit 31 eine Temperatur der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine, und die Schwingungsmesseinheit 32 misst die in der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine erzeugte Spannungen.
  • Bei Schritt S203 beobachtet die Zustandsbeobachtungseinheit 11 eine Zustandsvariable, die aus den Daten in Bezug auf die Anzahl von durch die Fehleranzahl-Messeinheit 17 gemessenen Fehlern, dem Betriebsprogramm der Motorsteuervorrichtung 100, einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100, der von der Antriebssollwert-Erzeugungseinheit 50 erhalten wird, den Daten in Bezug auf eine Werkstückbearbeitungsbedingung in der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine, und den Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung 100 umfassenden Werkzeugmaschine besteht.
  • Bei Schritt S204 bestimmt die Zustandsbeobachtungseinheit 11 basierend auf den Daten in Bezug auf die Anzahl von Fehlern, ob die Anzahl von Fehlern innerhalb eines vorgegebenen Bereichs α liegt. Wenn durch die Zustandsbeobachtungseinheit 11 bestimmt wird, dass die Anzahl von Fehlern innerhalb des vorgegebenen Bereichs α liegt, erhöht die Belohnungsberechnungseinheit 21 die Belohnung bei Schritt S205. Wenn im Gegensatz dazu durch die Beobachtungseinheit 11 bestimmt wird, dass die Anzahl von Fehlern außerhalb des vorgegebenen Bereichs α liegt, reduziert die Belohnungsberechnungseinheit 21 die Belohnung bei Schritt S206. Obwohl es in dem in 7 dargestellten Beispiel so eingerichtet wird, dass die Belohnungsberechnungseinheit 21 die Belohnung erhöht, wenn die Anzahl der Fehler innerhalb des vorgegebenen Bereichs α liegt, und die Belohnung reduziert, wenn die Anzahl von Fehlern außerhalb des vorgegebenen Bereichs α liegt, kann es alternativ so eingerichtet werden, dass die Belohnungsberechnungseinheit 21 die Belohnung erhöht, wenn die durch die Zustandsbeobachtungseinheit 11 beobachtete Anzahl von Fehlern kleiner als die durch die Beobachtungseinheit 11 beobachtete Anzahl von Fehlern vor der aktuellen Anzahl von Fehlern ist, und die Belohnung reduziert, wenn die Anzahl größer ist.
  • Bei Schritt S207 aktualisiert die Funktionsaktualisierungseinheit 22 die Funktion zum Berechnen des Betrags von Korrekturen, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 zu korrigieren, basierend auf der durch die Zustandsbeobachtungseinheit 11 beobachteten Zustandsvariablen und der durch die Belohnungsberechnungseinheit 21 berechneten Belohnung.
  • Bei dem anschließenden Schritt S208 wählt die Entscheidungsfindungseinheit 13 basierend auf der bei Schritt S207 aktualisierten Funktion die Anzahl von Korrekturen, für die die höchste Belohnung erhalten wird. Dann kehrt der Prozess zu Schritt S202 zurück und danach werden die Prozesse der Schritte S202 und S208 wiederholt ausgeführt. Dadurch lernt die Vorrichtung für maschinelles Lernen 1 fortgesetzt die Anzahl von Korrekturen, für die die Anzahl von Fehlern minimiert werden kann. Im Übrigen kann der Trainingsdatensatz von den mehreren Motorsteuervorrichtungen 100 erhalten werden, und in einem solchen Fall führt die Lerneinheit 12 die Prozesse der Schritte S201 bis S208 wiederholt gemäß dem in Bezug auf die mehreren Motorsteuervorrichtungen 100 erhaltenen Trainingsdatensatz aus und setzt das Lernen der Anzahl von Korrekturen fort. Bei Erhalt des Trainingsdatensatzes in Bezug auf die mehreren Motorsteuervorrichtungen 100 wird die Lerngenauigkeit der Vorrichtung für maschinelles Lernen 1 verbessert.
  • Als Nächstes wird die Vorrichtung für maschinelles Lernen 1 weiter ausführlich beschrieben. Die Vorrichtung für maschinelles Lernen 1 hat die Funktionen des analytischen Extrahierens, aus einem Satz von in die Vorrichtung eingegebenen Daten, einer nützlichen Regel, einer Wissenspräsentation, eines darin enthaltenen Kriteriums zur Beurteilung oder dergleichen, des Ausgebens eines Ergebnisses der Beurteilung und des Ausführens des Lernens von Wissen. Wie oben beschrieben wird der Lernalgorithmus der Vorrichtung für maschinelles Lernen 1 grob als „überwachtes Lernen”, „unüberwachtes Lernen” oder „bestärkendes Lernen” eingestuft. Des Weiteren gibt es eine Technik, die als „Deep-Learning” bezeichnet wird, die das Extrahieren eines Merkmalwerts an sich lernt, um diese Techniken zu verwirklichen. Es wird angemerkt, dass hierin das maschinelle Lernen (Vorrichtung für maschinelles Lernen 1) durch Anwenden von beispielsweise Allzweck-Berechnungen auf Grafikprozessoreinheiten (GPGPU), großen PC-Clustern oder dergleichen verwirklicht wird.
  • „Überwachtes Lernen” ist ein Modell, das eine große Anzahl von Datensätzen von einigen Eingaben und Ergebnissen (Labels) an die Vorrichtung für maschinelles Lernen 1 bereitstellt, um Merkmale in den Datensätzen zu lernen und die Ergebnisse von der Eingabe abzuleiten, wodurch eine Beziehung rekursiv erfasst werden kann. Bei Anwendung auf die vorliegende Ausführungsform kann überwachtes Lernen in einem Teil zum Berechnen der Anzahl von Korrekturen verwendet werden, die zum Korrigieren von einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuerung verwendet werden. Es kann unter Verwendung eines Algorithmus, wie einem später beschriebenen neuronalen Netzwerk, verwirklicht werden.
  • „Unüberwachtes Lernen” ist eine Technik, die eine große Anzahl von nur Eingabedaten in die Vorrichtung für maschinelles Lernen 1 bereitstellt, um zu lernen, wie die Eingabedaten verteilt werden und eine Vorrichtung zu lernen, die eine Kompression, Sortierung, Gestaltung oder dergleichen in Bezug auf die Eingabedaten, ohne entsprechende Lehrer-Ausgabedaten bereitzustellen, ausführt. Zum Beispiel können ähnliche Merkmale in den Datensätzen geclustert werden. Es ist möglich, unter Verwendung dieses Ergebnisses eine Vorhersage der Ausgabe zu erreichen und diese durch Ausführen einer Zuordnung der Ausgabe derart, dass einige Kriterien bereitgestellt werden, zu optimieren.
  • Des Weiteren gibt es als Zwischenproblemlösung zwischen „unüberwachtem Lernen” und „überwachtem Lernen” eines das als „teilüberwachtes Lernen” bezeichnet wird, das einem Fall entspricht, in dem es nur in einigen Fällen einen Satz von Eingabe- und Ausgabe-Daten gibt und in den übrigen gibt es nur Eingabedaten. In der vorliegenden Erfindung ist es möglich, beim unüberwachten Lernen Daten zu verwenden, die ohne tatsächliches Betreiben der Motorsteuervorrichtung erfasst werden können (zum Beispiel Daten einer Simulation), und ein effizientes Lernen auszuführen.
  • Zunächst wird ein Beispiel beschrieben, in dem der Lernalgorithmus der Vorrichtung für maschinelles Lernen 1 ein bestärkendes Lernen ist.
  • Ein Problem des bestärkenden Lernens wird wie folgt gelöst.
  • Die Motorsteuervorrichtung beobachtet einen Zustand der Umwelt und bestimmt eine Aktion.
  • Die Umwelt ändert sich gemäß irgendeiner Regel, und des Weiteren kann eine eigene Aktion die Umwelt ändern.
  • Ein Belohnungssignal kehrt jedes Mal zurück, wenn eine Aktion ausgeführt ist.
  • Dabei ist es erwünscht, dass die Summe der Belohnungen (Diskontierung) über der Zukunft maximiert ist.
  • Das Lernen startet ab einem Zustand, in dem das durch eine Aktion verursachte Ergebnis vollständig unbekannt oder nur unvollständig bekannt ist. Mit anderen Worten, die Motorsteuervorrichtung kann das Ergebnis als Daten erst erfassen, wenn sie tatsächlich arbeitet. Somit wird bevorzugt, die optimale Aktion durch Ausprobieren zu erforschen.
  • Bei einem Zustand, in dem vorausgehendes Lernen (eine Technik, wie etwa das oben beschriebene überwachte Lernen oder inverse bestärkende Lernen) ausgeführt wird, um eine menschliche Bewegung als einen Ausgangszustand nachzuahmen, kann das Lernen ab einem guten Startpunkt gestartet werden.
  • Das „bestärkende Lernen” ist ein Verfahren zum Lernen einer angemessenen Aktion basierend auf der durch eine Aktion der Umwelt bereitgestellten Interaktion nicht nur durch Bestimmen oder Sortieren, sondern auch durch Lernen einer Aktion, d. h. zu lernen, die in der Zukunft zu erhaltende Belohnung zu maximieren. Dies zeigt an, dass in der vorliegenden Ausführungsform eine solche Aktion, um die Zukunft zu beeinflussen, die das Minimieren eines Fehlers zwischen der Rotorsollposition und der aktuellen Position der Vorschubmechanismuseinheit umfasst, erfasst werden kann. Die Beschreibung wird beispielsweise in Bezug auf den Fall des Q-Lernens fortgesetzt, wobei es jedoch dazu keine Beschränkung gibt.
  • Das Q-Lernen ist ein Verfahren zum Lernen eines Werts Q(s, a), das eine Aktion a in irgendeinem Umweltzustand s wählt. Mit anderen Worten, wenn es irgendeinen Zustand s gibt, kann die höchste Aktion a des Wertes (Q(s, a) als die optimale Aktion gewählt werden. Zu Beginn ist jedoch der korrekte Wert für den Wert Q(s, a) für eine Kombination des Zustands s und der Aktion a vollkommen unbekannt. Folglich wählt ein Agent (Aktionssubjekt) verschiedene Aktionen a unter irgendeinem Zustand s, und für die Aktion a zu diesem Zeitpunkt wird ihm eine Belohnung gegeben. In diesem Fall wählt der Agent eine bessere Aktion, d. h., er setzt das Lernen des Korrekturwerts Q(s, a) fort.
  • Des Weiteren ist es als ein Ergebnis der Aktion erwünscht, die in der Zukunft zu erhaltende Belohnungssumme zu maximieren, und letztlich wird darauf abgezielt, Q(s, a) = E[Σγtrt] werden zu lassen. Hierin wird der erwartete Wert für den Fall genommen, wenn sich der Zustand gemäß der optimalen Aktion verändert, und da er nicht bekannt ist, wird bevorzugt zu lernen, während eine Erforschung durchgeführt wird. Eine Aktualisierungsformel für einen solchen Wert Q(s, a) kann beispielsweise durch Gleichung (1) wie folgt dargestellt werden:
    Figure DE102016013985A1_0002
  • In der obenstehenden Gleichung (1) stellt st einen Zustand der Umwelt zu einem Zeitpunkt t dar, und at stellt eine Aktion zum Zeitpunkt t dar. Die Aktion at ändert den Zustand zu st+1. rt+1 stellt stellt eine Belohnung dar, die über die Änderung des Zustands erzielt werden kann. Des Weiteren ist der Ausdruck mit max der mit γ multiplizierte Q-Wert für den Fall, in dem die Aktion a für den zu diesem Zeitpunkt bekannten höchsten Q-Wert unter dem Zustand st+1 gewählt wird. γ ist ein Parameter mit 0 < γ ≤ 1 und wird als Diskontierungsfaktor bezeichnet. α ist ein Lernfaktor, der im Bereich 0 < α ≤ 1 liegt.
  • Die Gleichung (1) repräsentiert ein Verfahren zum Aktualisieren des Bewertungswerts Q(st, at) der Aktion at in dem Zustand st basierend auf der Belohnung rt+1, die als ein Ergebnis der Aktion at zurückgesendet wurde. Sie zeigt an, dass wenn der Bewertungswert Q(st+1, max at+1) der besten Aktion max a im nächsten Zustand basierend auf der 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, wohingegen wenn er kleiner ist, Q(st, at) ebenfalls reduziert wird. Mit anderen Worten, sie ist so eingerichtet, dass der Wert irgendeiner Aktion in irgendeinem Zustand näher an die Belohnung, die sofort als ein Ergebnis zurückkommt, und an den Wert der besten Aktion im nächsten Zustand basierend auf dieser Aktion gebracht wird.
  • Verfahren zum Darstellen von Q(s, a) auf einem Computer umfassen ein Verfahren, in dem der Wert als eine Tabelle (Aktionswerttabelle) für alle Zustands-Aktions-Paare (s, a) festgehalten wird, und ein Verfahren, in dem eine Funktion nahe bei Q(s, a) erstellt wird. Im letzteren Verfahren kann die oben beschriebene Aktualisierungsformel implementiert werden, indem Parameter der Näherungsfunktion durch eine Technik, wie dem stochastischen Gradientenverfahren, angepasst werden. Die Näherungsfunktion kann ein später beschriebenes neuronales Netzwerk verwenden.
  • Des Weiteren kann als ein Näherungsalgorithmus für die Wertefunktion im überwachten Lernen, unüberwachten Lernen und bestärkenden Lernen ein neuronales Netzwerk verwendet werden. Das neuronale Netzwerk ist beispielsweise aus einer Arithmetikeinheit, einem Speicher oder dergleichen gebildet, die/der ein neuronales Netzwerk implementiert, das ein Modell von Neuronen, wie in 8 dargestellt, imitiert. 8 ist ein schematisches Schaubild, das das Neuronenmodell darstellt. Wie in 8 dargestellt, gibt das Neuron eine Ausgabe y für mehrere Eingaben x aus (beispielhaft hierin, Eingabe x1 bis Eingabe x3 in 8). Jeder der Eingaben x1 bis x3 wird mit einem der Eingabe x entsprechenden Gewicht w (w1 bis w3) multipliziert. In diesem Fall gibt das Neuron die durch Gleichung (2) dargestellte Ausgabe y aus. Die Eingabe x, die Ausgabe y und das Gewicht w sind alle Vektoren; y = fk(Σ n / i=1xiwi – θ) (2) wobei θ ein Bias ist und fk eine Aktivierungsfunktion ist.
  • Nachfolgend wird mit Bezug auf 9 eine Beschreibung eines neuronalen Netzwerks mit dreischichtigen Gewichten gegeben, das eine Kombination der oben beschriebenen Neuronen ist. Die 9 ist ein schematisches Schaubild, das ein neuronales Netzwerk mit dreischichtigen Gewichten von D1 bis D3 darstellt. Wie in 9 dargestellt werden mehrere Eingaben x (beispielhaft hierin Eingabe x1 bis Eingabe x3) von der linken Seite des neuronalen Netzwerks eingegeben und ein Ergebnis y (beispielhaft hierin Ergebnis y1 bis Ergebnis y3) wird von der rechten Seite ausgegeben.
  • Insbesondere werden die Eingabe x1 bis Eingabe x3 mit einem entsprechenden Gewicht multipliziert und in jedes der drei Neuronen N11 bis N13 eingegeben. Die diesen Eingaben auferlegten Gewichte werden insgesamt durch w1 bezeichnet.
  • Die Neuronen N11 bis N13 geben entsprechend z11 bis z13 aus. In 9 werden z11 bis z13 gemeinsam als ein Merkmalsvektor z1 dargestellt und können als ein Vektor betrachtet werden, aus dem der Merkmalswert des Eingabevektors extrahiert wird. Der Merkmalsvektor z1 ist ein Merkmalsvektor zwischen dem Gewicht w1 und dem Gewicht w2. z11 bis z13 werden mit einem entsprechenden Gewicht multipliziert und in jedes der zwei Neuronen N21 und N22 eingegeben. Die diesen Merkmalsvektoren auferlegten Gewichte werden gemeinsam als w2 dargestellt.
  • Die Neuronen N21 und N22 geben z21 beziehungsweise z22 aus. In 9 werden z21 und z22 gemeinsam als ein Merkmalsvektor z2 dargestellt. Der Merkmalsvektor z2 ist ein Merkmalsvektor zwischen dem Gewicht w2 und dem Gewicht w3. Die Merkmalsvektoren z21 und z22 werden mit einem entsprechenden Gewicht multipliziert und in jedes der drei Neuronen N31 bis N33 eingegeben. Die Gewichte, die mit diesen Merkmalsvektoren multipliziert werden, werden gemeinsam als w3 dargestellt.
  • Schließlich geben die Neuronen N31 bis N33 jeweils entsprechend das Ergebnis y1 bis Ergebnis y3 aus.
  • Der Betriebsvorgang des neuronalen Netzwerks umfasst einen Lernmodus und einen Wert-Vorhersagemodus. Beispielsweise wird im Lernmodus das Gewicht w unter Verwendung eines Lerndatensatzes gelernt, und im Vorhersagemodus wird die Aktionsentscheidung der Motorsteuervorrichtung unter Verwendung der Parameter ausgeführt. Es wird angemerkt, dass der Einfachheit halber Bezug auf eine Vorhersage genommen wird, es aber selbstverständlich ist, dass verschiedene Aufgaben, wie eine Erkennung, Klassifikation, Schlussfolgerung und dergleichen möglich sind.
  • Es ist möglich, dass die Motorsteuervorrichtung tatsächlich im Vorhersagemodus betrieben werden kann, um sofort zu lernen und zu bewirken, dass sich die resultierenden Daten in der nachfolgenden Aktion wiederspiegeln(Online-Lernen), und ferner, dass eine Gruppe von vorgesammelten Daten verwendet werden kann, um kollektives Lernen auszuführen und anschließend für eine ganze Weile einen Detektionsmodus mit dem Parameter zu implementieren (Batch-Lernen). Alternativ ist ferner ein dazwischenliegender Fall möglich, in dem ein Lernmodus jedes Mal eingeführt wird, wenn sich Daten bis zu einem gewissen Maß angesammelt haben.
  • Die Gewichte w1 bis w3 können durch ein Fehlerrückführungsverfahren gelernt werden. Die Fehlerinformation tritt von der rechten Seite her ein und fließt zur linken Seite. Das Fehlerrückführungsverfahren ist eine Technik zum Anpassen (Lernen) jedes Gewichts, um so die Differenz zwischen einer Ausgabe y, wenn eine Eingabe x eingegeben wird, und einer wahren Ausgabe y (Lehrer) für jedes Neuron zu minimieren.
  • Ein solches neuronales Netzwerk kann ferner die Schichten bis auf drei oder mehr erhöhen (dies wird als Deep-Learning bezeichnet). Es ist möglich, eine Merkmalsextraktion der Eingabe schrittweise auszuführen und automatisch eine Recheneinheit, die die Ergebnisse zurückführt, von nur den Lehrerdaten zu erfassen.
  • Um demzufolge das oben beschriebene Q-Lernen auszuführen, umfasst die Vorrichtung für maschinelles Lernen 1 gemäß der vorliegenden Ausführungsform die Zustandsbeobachtungseinheit 11, die Lerneinheit 12 und die Entscheidungsfindungseinheit 13, wie beispielsweise in 6 dargestellt. Wie oben beschrieben ist jedoch das auf die vorliegende Erfindung angewendete Maschinenlernverfahren in keiner Weise auf das Q-Lernen beschränkt. Mit anderen Worten, verschiedene Techniken, wie das „überwachte Lernen”, „unüberwachte Lernen”, „teilüberwachte Lernen” oder „bestärkende Lernen”, die für die Vorrichtung für maschinelles Lernen verwendet werden können, können angewendet werden. Es wird angemerkt, dass hierin das maschinelle Lernen (Vorrichtung für maschinelles Lernen 1) beispielsweise durch Anwenden von GPGPU, großen PC-Clustern oder dergleichen verwirklicht werden kann. Wenn beispielsweise überwachtes Lernen angewendet wird, entspricht die Wertefunktion einem Lernmodell und die Belohnung entspricht einem Fehler. Es ist auch möglich, eine Näherungsfunktion unter Verwendung des oben beschriebenen neuronalen Netzwerks als die Aktionswerttabelle zu verwenden, und dies ist besonders effektiv, wenn die Zahl von s und a sehr groß ist.
  • Im Folgenden wird ein Beispiel beschrieben, in dem der Lernalgorithmus der Vorrichtung für maschinelles Lernen 1 überwachtes Lernen ist.
  • Die 10 ist ein schematisches Blockschaltbild, das die Motorsteuervorrichtung, die die das überwachte Lernen verwendende Vorrichtung für maschinelles Lernen umfasst, gemäß der Ausführungsform darstellt. Wie aus einem Vergleich zwischen 10 und 6, wie oben beschrieben, ersichtlich ist, umfasst des Weiteren eine Motorantriebsvorrichtung, die die Motorsteuervorrichtung, die die das überwachte Lernen verwendende Vorrichtung für maschinelles Lernen umfasst, wie in 10 dargestellt, im Vergleich zu der Motorsteuervorrichtung, die die das Q-Lernen (bestärkendes Lernen) verwendende Vorrichtung für maschinelles Lernen umfasst, wie in 6 dargestellt, eine Ergebnis(Label)-Bereitstellungseinheit 40. Des Weiteren umfasst die Vorrichtung für maschinelles Lernen 1 in 10 die Zustandsbeobachtungseinheit 11, eine eine Fehlerberechnungseinheit 23 und eine Lernmodell-Aktualisierungseinheit 24 umfassende Lerneinheit 41, und eine Entscheidungsfindungseinheit 42.
  • In der Motorsteuervorrichtung, die die das überwachte Lernen verwendende Vorrichtung für maschinelles Lernen umfasst, wie in 10 dargestellt, entsprechen die Fehlerberechnungseinheit 23 und die Lernmodell-Aktualisierungseinheit 24 der Belohnungsberechnungseinheit 21 beziehungsweise der Funktionsaktualisierungseinheit 22 in der das Q-Lernen verwendenden Motorsteuervorrichtung, wie in 6 dargestellt. Es wird angemerkt, dass so ausgestaltet wird, dass in die Fehlerberechnungseinheit 23 ein Ergebnis (Label) von der Ergebnisbereitstellungseinheit 40 eingegeben wird. Die andere Ausgestaltung ist derjenigen in 6, wie oben beschrieben, ähnlich, und eine ausführliche Beschreibung davon wird weggelassen. Des Weiteren wird in 10 eine Darstellung der Drehzahldetektionseinheit und der Stromdetektionseinheit, die in 2 dargestellt sind, weggelassen.
  • Die Ergebnisbereitstellungseinheit 40 stellt gekennzeichnete Daten (Ergebnis) an die Fehlerberechnungseinheit 23 der Lerneinheit 41 bereit (gibt sie ein), die Fehlerberechnungseinheit 23 empfängt die gekennzeichneten Daten von der Ergebnisbereitstellungseinheit 40 zusammen mit einem Signal von der Zustandsbeobachtungseinheit 11 und führt eine Fehlerberechnung aus, und des Weiteren aktualisiert die Lernmodell-Aktualisierungseinheit 24 das Lernmodell. Wenn beispielsweise die Prozesse durch die Motorsteuervorrichtung 1 dieselben sind, kann die Ergebnisbereitstellungseinheit 40 beispielsweise die gekennzeichneten Daten festhalten, die an dem Tag vor einem vorbestimmten Tag, an dem die Motorsteuervorrichtung 100 betrieben wird, erhalten werden, und die durch die Ergebnisbereitstellungseinheit 40 festgehaltenen gekennzeichneten Daten der Fehlerberechnungseinheit 23 an dem vorbestimmten Tag bereitstellen.
  • Alternativ können auch Daten, die durch eine außerhalb der Motorsteuervorrichtung 100 ausgeführten Simulation oder dergleichen erhalten werden, oder es können auch gekennzeichnete Daten einer weiteren Motorsteuervorrichtung über eine Speicherkarte oder einen Kommunikationskreis an die Fehlerberechnungseinheit 23 der Motorsteuervorrichtung 100 bereitgestellt werden. Des Weiteren kann alternativ die Ergebnisbereitstellungseinheit 40 durch einen nichtflüchtigen Speicher, wie einem Flash-Speicher, gebildet werden, die Ergebnisbereitstellungseinheit (nichtflüchtiger Speicher) 40 kann in der Lerneinheit 41 untergebracht werden, und die durch die Ergebnisbereitstellungseinheit 40 festgehaltenen gekennzeichneten Daten können als solche durch die Lerneinheit 41 verwendet werden.
  • Um in dem der Motorsteuervorrichtung 100 bereitgestellten Betriebsablauf der Vorrichtung für maschinelles Lernen 1, wie in 10 bereitgestellt, die Anzahl von Korrekturen zu erhalten, die dazu verwendet werden, einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung 100 zu korrigieren, um einen Fehler zwischen dem Rotorpositionssollwert und der aktuellen Position des Vorschubmechanismuseinheit zu minimieren (die Anzahl von Fehlern zu minimieren), berechnet beispielsweise die Fehlerberechnungseinheit 23 aus einem von der Ergebnisbereitstellungseinheit 40 eingegebenen Ergebnis die Fehler basierend auf der Anzahl von Fehlern aufgrund einer Zustandsvariablen und aktualisiert das Lernmodell in der Lernmodell-Aktualisierungseinheit 24.
  • Es wird angemerkt, dass die Vorrichtung für maschinelles Lernen 1 in der vorliegenden Erfindung nicht auf diejenige eingeschränkt ist, die das oben beschriebene bestärkende Lernen (zum Beispiel Q-Lernen) oder das überwachte Lernen verwendet, und es können verschiedene Algorithmen des maschinellen Lernens verwendet werden.
  • Die oben beschriebene Zustandsbeobachtungseinheit 11, die Lerneinheiten 12, 41 und die Entscheidungsfindungseinheiten 13, 42 können beispielsweise in der Form eines Software-Programms oder alternativ als eine Kombination von verschiedenen elektronischen Schaltungen und einem Software-Programm aufgebaut sein. Wenn sie beispielsweise in der Form eines Software-Programms aufgebaut sind, dann wird die Funktion von jeder der oben beschriebenen Einheiten durch Betreiben eines Arithmetikprozessors in der Motorsteuervorrichtung 100 gemäß dem Software-Programm verwirklicht. Alternativ kann die die Zustandsbeobachtungseinheit 11 und die Lerneinheit 12 umfassende Vorrichtung für maschinelles Lernen 1 als integrierte Halbleiterschaltung implementiert werden, in der ein Software-Programm geschrieben ist, das die Funktion einer jeden Einheit verwirklicht. Des Weiteren kann alternativ eine integrierte Halbleiterschaltung, in der ein Software Programm geschrieben ist, das die Funktion von jeder Einheit verwirklicht, in einer Form implementiert werden, die nicht nur die die Zustandsbeobachtungseinheit 11 und die Lerneinheit 12 umfassende Vorrichtung für maschinelles Lernen 1 umfasst, sondern auch die Entscheidungsfindungseinheiten 13, 42. Des Weiteren können ähnlich wie bei üblichen Motorsteuervorrichtungen die Korrektureinheit 14 und die Antriebssollwert-Erzeugungseinheit 50 beispielsweise in der Form eines Software-Programms oder alternativ als eine Kombination von verschiedenen elektronischen Schaltungen und einem Softwareprogramm aufgebaut sein.
  • Des Weiteren wird der maschinelle Lernprozess der vorliegenden Erfindung unter Verwendung von Daten in Bezug auf die Anzahl von Fehlern, die durch die der Motorsteuervorrichtung 100 zum Antriebssteuern des Drehstrommotors 300 grundsätzlich bereitgestellten Fehleranzahl-Messeinheit 17 erhalten werden, Daten in Bezug auf eine Temperatur der die Motorsteuerung 100 umfassenden Werkzeugmaschine, die durch die Temperaturmesseinheit 31 gemessen wird, und Daten in Bezug auf in der die Motorsteuerung 100 umfassenden Werkzeugmaschine erzeugten Schwingungen, die durch die Schwingungsmesseinheit 32 gemessen werden, implementiert, sodass das Bereitstellen einer neuen Hardwarevorrichtung, wie in herkömmlichen Techniken, unnötig ist, und folglich kann der maschinelle Lernprozess der vorliegenden Erfindung auch nachträglich auf eine bestehende Motorsteuervorrichtung angewendet werden. In einem solchen Fall kann ein integrierter Halbleiterschaltkreis, in dem ein Software-Programm geschrieben ist, das die Funktion jeder Einheit der Vorrichtung für maschinelles Lernen 1 und der Entscheidungsfindungseinheiten 13, 42 verwirklicht, in einer bestehenden Motorsteuervorrichtung eingebaut werden, oder alternativ kann ein Software-Programm selbst, das die Funktion einer jeden Einheit der Vorrichtung für maschinelles Lernen 1 und der Entscheidungsfindungseinheiten 13, 42 verwirklicht, zusätzlich in einem Arithmetik-Prozessor in der bestehenden Motorsteuervorrichtung installiert werden. Alternativ kann die Vorrichtung für maschinelles Lernen 1, die die Anzahl von Korrekturen in Bezug auf irgendeine Motorsteuervorrichtung gelernt hat, an einer von dieser separaten Motorsteuervorrichtung montiert sein und kann dazu eingerichtet sein, die Anzahl von Korrekturen in Bezug auf die separate Motorsteuervorrichtung neu zu lernen und zu aktualisieren.
  • Gemäß der vorliegenden Erfindung kann eine Vorrichtung für maschinelles Lernen und ein Verfahren, das in der Lage ist, die Anzahl von Fehlern zwischen einem Rotorpositionssollwert bezüglich einem Motor und einer aktuellen Position einer Vorschubmechanismuseinheit einfach zu minimieren, und eine die Maschinenlernvorrichtung umfassende Motorsteuervorrichtung verwirklicht werden.
  • Gemäß der vorliegenden Erfindung lernt die Vorrichtung für maschinelles Lernen, während die Motorsteuervorrichtung arbeitet und unter einer in einer den Motor als eine Antriebsquelle aufweisenden Werkzeugmaschine bestehenden Werkstückbearbeitungsbedingung gemäß einer Größe einer Schnittlast während der Bearbeitung durch die Werkzeugmaschine, einer Temperatur der Werkzeugmaschine, den Schwingungen, die erzeugt werden, wenn jede der Antriebsachsen in der die mehreren Antriebsachsen aufweisenden Werkzeugmaschine arbeitet, und dergleichen, die Anzahl von Korrekturen bezüglich eines Sollwerts und passt sie an, um die Anzahl von Fehlern zwischen einem Rotorpositionssollwert und einer aktuellen Position zu minimieren, sodass unabhängig von Änderungen in der umgebenden Umwelt, jede Anzahl von Korrekturen in Echtzeit geändert werden kann und die Anzahl von Fehlern entsprechend minimiert werden kann.
  • 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 7-284286 [0006]

Claims (10)

  1. Vorrichtung für maschinelles Lernen (1), die eine Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen Befehl eines Positionssollwerts, eines Drehzahlsollwerts oder eines Stromsollwerts in einer Motorsteuervorrichtung (100) lernt, wobei die Vorrichtung für maschinelles Lernen (1) umfasst: eine Zustandsbeobachtungseinheit (11), die eine Zustandsvariable beobachtet, die aus mindestens einem besteht von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung (100) antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung (100), einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung (100), Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung (100) umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung (100) umfassenden Werkzeugmaschine; und eine Lerneinheit (12, 41), die die Bedingung im Zusammenhang mit der Anzahl von Korrekturen lernt, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsoliwert in der Motorsteuervorrichtung (100) gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz verwendet werden.
  2. Vorrichtung für maschinelles Lernen (1) nach Anspruch 1, wobei der Zustand der Werkzeugmaschine mindestens eines von einer Temperatur der Werkzeugmaschine und Schwingungen der Werkzeugmaschine umfasst.
  3. Vorrichtung für maschinelles Lernen (1) nach Anspruch 1 oder 2, wobei die Lerneinheit (12) umfasst: eine Belohnungsberechnungseinheit (21), die eine Belohnung basierend auf der Anzahl von Fehlern berechnet; und eine Funktionsaktualisierungseinheit (22), die eine Funktion zum Berechnen der Anzahl von Korrekturen basierend auf der Zustandsvariablen und der Belohnung aktualisiert.
  4. Vorrichtung für maschinelles Lernen (1) nach Anspruch 3, wobei die Belohnungsberechnungseinheit (21) die Belohnung erhöht, wenn die Anzahl von Fehlern kleiner als die von der Zustandsbeobachtungseinheit (11) beobachtete Anzahl von Fehlern vor der aktuellen Anzahl von Fehlern ist, und die Belohnung reduziert, wenn sie größer ist.
  5. Vorrichtung für maschinelles Lernen (1) nach Anspruch 3, wobei die Belohnungsberechnungseinheit (21) die Belohnung erhöht, wenn die Anzahl von Fehlern innerhalb eines vorgegebenen Bereichs liegt, und die Belohnung reduziert, wenn die Anzahl von Fehlern außerhalb des vorgegebenen Bereichs liegt.
  6. Vorrichtung für maschinelles Lernen (1) nach einem der Ansprüche 3 bis 5, wobei die Funktionsaktualisierungseinheit (22) die Funktion zum Berechnen der Anzahl von Fehlern basierend auf der Zustandsvariablen und der Belohnung und gemäß einem neuronalen Netzwerkmodell aktualisiert.
  7. Vorrichtung für maschinelles Lernen (1) nach Anspruch 1 oder 2, wobei die Lerneinheit (41) umfasst: eine Fehlerberechnungseinheit (23), die einen Fehler basierend auf der Anzahl von Fehlern berechnet; und eine Lernmodell-Aktualisierungseinheit (24), die ein Lernmodell zum Berechnen der Anzahl von Fehlern basierend auf der Zustandsvariablen und den Fehlern aktualisiert.
  8. Vorrichtung für maschinelles Lernen (1) nach einem der Ansprüche 1 bis 7, wobei die Lerneinheit (12, 41) dazu eingerichtet ist, die Bedingung gemäß dem in Bezug auf die mehreren Motorsteuervorrichtungen (100) erhaltenen Trainingsdatensatz zu lernen.
  9. Motorsteuervorrichtung (100), die die Vorrichtung für maschinelles Lernen (1) nach einem der Ansprüche 1 bis 8 umfasst, und die ferner umfasst: eine Entscheidungsfindungseinheit (13, 42), die die Anzahl von Korrekturen basierend auf einem durch die Lerneinheit (12, 41) gemäß dem Trainingsdatensatz gelernten Ergebnis und in Erwiderung auf eine Eingabe der aktuellen Zustandsvariablen bestimmt; eine Korrektureinheit (14), die einen beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung (100) unter Verwendung der von der Entscheidungsfindungseinheit (13, 42) bestimmten Anzahl von Korrekturen korrigiert; eine Motorstromversorgungseinheit (15), die eine Antriebsenergie an den Motor basierend auf dem durch die Korrektureinheit (14) korrigierten Sollwert liefert; eine Positionsdetektionseinheit (16), die die aktuelle Position der Vorschubmechanismuseinheit detektiert; und eine Fehleranzahl-Messeinheit (17), die die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich des Rotors und der aktuellen Position misst.
  10. Maschinenlernverfahren zum Lernen einer Bedingung im Zusammenhang mit der Anzahl von Korrekturen für einen beliebigen Sollwert von einem Positionssollwert, einem Drehzahlsollwert oder einem Stromsollwert in einer Motorsteuervorrichtung (100), wobei das Verfahren umfasst: einen Zustandsbeobachtungsschritt des Beobachtens einer Zustandsvariablen, die aus mindestens einem besteht von Daten in Bezug auf die Anzahl von Fehlern zwischen dem Positionssollwert bezüglich eines Rotors eines Motors, der durch die Motorsteuervorrichtung (100) antriebsgesteuert wird, und einer aktuellen Position einer Vorschubmechanismuseinheit, einem Betriebsprogramm der Motorsteuervorrichtung (100), einem beliebigen Sollwert von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung (100), Daten in Bezug auf eine Werkstückbearbeitungsbedingung in einer die Motorsteuervorrichtung (100) umfassenden Werkzeugmaschine und Daten in Bezug auf einen Zustand der die Motorsteuervorrichtung (100) umfassenden Werkzeugmaschine; und einen Lernschritt des Lernens der Bedingung im Zusammenhang mit der Anzahl von Korrekturen, die zum Korrigieren eines beliebigen Sollwerts von dem Positionssollwert, dem Drehzahlsollwert oder dem Stromsollwert in der Motorsteuervorrichtung (100) gemäß einem durch die Zustandsvariable gebildeten Trainingsdatensatz verwendet werden.
DE102016013985.4A 2015-11-30 2016-11-23 Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung Pending DE102016013985A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-234054 2015-11-30
JP2015234054A JP6193961B2 (ja) 2015-11-30 2015-11-30 機械の送り軸の送りの滑らかさを最適化する機械学習装置および方法ならびに該機械学習装置を備えたモータ制御装置

Publications (1)

Publication Number Publication Date
DE102016013985A1 true DE102016013985A1 (de) 2017-06-01

Family

ID=58693125

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016013985.4A Pending DE102016013985A1 (de) 2015-11-30 2016-11-23 Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung

Country Status (4)

Country Link
US (1) US9990590B2 (de)
JP (1) JP6193961B2 (de)
CN (1) CN106815642B (de)
DE (1) DE102016013985A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019091551A1 (de) 2017-11-08 2019-05-16 Siemens Aktiengesellschaft Verfahren und vorrichtung für maschinelles lernen in einer recheneinheit
DE102020107623A1 (de) 2020-03-19 2021-09-23 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE102019204861B4 (de) 2018-04-13 2021-09-30 Fanuc Corporation Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE112017001162B4 (de) 2017-11-10 2022-06-15 Mitsubishi Electric Corporation Servosteuerungsvorrichtung

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5969676B1 (ja) * 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械
CN110088775B (zh) * 2016-11-04 2023-11-07 渊慧科技有限公司 使用加强学习的环境预测
JP6474449B2 (ja) * 2017-04-07 2019-02-27 ファナック株式会社 調整装置及び調整方法
JP6530783B2 (ja) * 2017-06-12 2019-06-12 ファナック株式会社 機械学習装置、制御装置及び機械学習プログラム
JP6538766B2 (ja) * 2017-07-18 2019-07-03 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6646025B2 (ja) 2017-09-15 2020-02-14 ファナック株式会社 制御装置及び機械学習装置
JP7229686B2 (ja) 2017-10-06 2023-02-28 キヤノン株式会社 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法
WO2019069649A1 (ja) 2017-10-06 2019-04-11 キヤノン株式会社 制御装置、リソグラフィ装置、測定装置、加工装置、平坦化装置及び物品製造方法
DE102017218811A1 (de) * 2017-10-20 2019-04-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Aktorregelungssystems, Computerprogramm und maschinenlesbares Speichermedium
JP6626064B2 (ja) * 2017-10-31 2019-12-25 ファナック株式会社 試験装置及び機械学習装置
CN109901944B (zh) * 2017-12-07 2024-04-12 北京忆恒创源科技股份有限公司 基于机器学习的读数据错误处理方法与系统
JP6697491B2 (ja) 2018-01-25 2020-05-20 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6711854B2 (ja) 2018-02-22 2020-06-17 ファナック株式会社 故障予測装置及び機械学習装置
JP6748135B2 (ja) 2018-03-19 2020-08-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6734318B2 (ja) 2018-03-23 2020-08-05 ファナック株式会社 駆動装置及び機械学習装置
JP6740278B2 (ja) * 2018-04-13 2020-08-12 ファナック株式会社 機械学習装置、制御装置、及び機械学習方法
JP7031502B2 (ja) 2018-06-07 2022-03-08 オムロン株式会社 制御システム、制御方法、学習装置、制御装置、学習方法及び学習プログラム
US10840840B2 (en) 2018-06-14 2020-11-17 Mitsubishi Electric Corporation Machine learning correction parameter adjustment apparatus and method for use with a motor drive control system
CN112335169B (zh) * 2018-06-21 2022-04-12 三菱电机株式会社 同步旋转机的控制装置及机器学习装置
CN108927806A (zh) * 2018-08-13 2018-12-04 哈尔滨工业大学(深圳) 一种应用于大批量重复性加工的工业机器人学习方法
JP7110953B2 (ja) * 2018-12-03 2022-08-02 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置
DE112018008126T5 (de) * 2018-12-13 2021-07-29 Mitsubishi Electric Corporation Machine-Learning-Vorrichtung, Bearbeitungsprogrammerzeugungsvorrichtung und Machine-Learning-Verfahren
WO2020194685A1 (ja) * 2019-03-28 2020-10-01 三菱電機株式会社 数値制御装置および機械学習装置
JP7311319B2 (ja) * 2019-06-19 2023-07-19 ファナック株式会社 時系列データ表示装置
JP7405537B2 (ja) * 2019-09-05 2023-12-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法
JP6903240B1 (ja) * 2019-09-19 2021-07-14 三菱電機株式会社 モータ制御装置及びモータ制御方法
JP6786012B1 (ja) * 2019-11-29 2020-11-18 三菱電機株式会社 電力変換装置
JP6879434B1 (ja) * 2020-02-25 2021-06-02 三菱電機株式会社 圧縮機、空気調和機、冷凍機および圧縮機制御方法
US11844432B2 (en) 2020-03-27 2023-12-19 La-Z-Boy Incorporated Furniture motion control system
CN111890351A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
CN115189620B (zh) * 2022-09-13 2022-12-06 深圳市恒拓高工业技术股份有限公司 伺服电机的控制方法及控制系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284286A (ja) 1994-04-07 1995-10-27 Fanuc Ltd サーボモータのトルクリップル補正方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3215067B2 (ja) * 1997-03-21 2001-10-02 ファナック株式会社 移動方向反転時の位置補正方法
JP4472506B2 (ja) * 2004-12-15 2010-06-02 学校法人早稲田大学 情報処理システムおよび情報処理方法、並びにプログラム
JP4283214B2 (ja) * 2004-12-16 2009-06-24 ファナック株式会社 機械先端点の制御装置
JP2007164406A (ja) * 2005-12-13 2007-06-28 Oita Univ 学習機構付意思決定システム
JP4612032B2 (ja) * 2007-10-02 2011-01-12 ファナック株式会社 工作機械用制御装置
US8577820B2 (en) * 2011-03-04 2013-11-05 Tokyo Electron Limited Accurate and fast neural network training for library-based critical dimension (CD) metrology

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284286A (ja) 1994-04-07 1995-10-27 Fanuc Ltd サーボモータのトルクリップル補正方式

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019091551A1 (de) 2017-11-08 2019-05-16 Siemens Aktiengesellschaft Verfahren und vorrichtung für maschinelles lernen in einer recheneinheit
US11488035B2 (en) 2017-11-08 2022-11-01 Siemens Aktiengesellschaft Method and device for machine learning in a computing unit
DE112017001162B4 (de) 2017-11-10 2022-06-15 Mitsubishi Electric Corporation Servosteuerungsvorrichtung
DE102019204861B4 (de) 2018-04-13 2021-09-30 Fanuc Corporation Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102020107623A1 (de) 2020-03-19 2021-09-23 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage

Also Published As

Publication number Publication date
JP6193961B2 (ja) 2017-09-06
CN106815642B (zh) 2018-07-06
US20170154283A1 (en) 2017-06-01
US9990590B2 (en) 2018-06-05
JP2017102613A (ja) 2017-06-08
CN106815642A (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
DE102016013985A1 (de) Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung
DE102016012463B4 (de) Maschinelle Lernvorrichtung und Verfahren zum Lernen der voraussichtlichen Lebensdauer eines Leistungsgeräts sowie Lebensdauer-Vorhersagevorrichtung und Motorantriebsvorrichtung umfassend die maschinelle Lernvorrichtung
DE102016012171A1 (de) Maschinelle Lernvorrichtung und Verfahren zum Lernen eines Korrekturwerts in einer Motorstromsteuerung, Korrekturwert-Berechnungsvorrichtung umfassend eine maschinelle Lernvorrichtung und Motorantriebsvorrichtung
DE102016011528B4 (de) Maschinelle Lernvorrichtung zur Optimierung der Zyklusprozesszeit einer Bearbeitungsmaschine, Motorsteuervorrichtung, Bearbeitungsmaschine und maschinelles Lernverfahren
DE102017011754B4 (de) Maschinenlerneinrichtung zum Lernen eines Montagevorgangs und Komponentenmontagesystem
DE102017000536B4 (de) Zellsteuereinheit zum Feststellen einer Ursache einer Anomalie bei einer Fertigungsmaschine
DE102016015017B4 (de) Steuervorrichtung mit Lernfunktion zum Erfassen einer Rauschursache
DE102017006703A1 (de) Maschinenlerneinrichtung, die einen Strombefehl für einen Motor lernt, Motorsteuereinrichtung und Maschinenlernverfahren
DE102016011402A1 (de) Maschinelles Lernverfahren und maschinelle Lernvorrichtung zum Einlernen von Betriebsbefehlen für einen Elektromotor und Werkzeugmaschine mit maschineller Lernvorrichtung
DE102016011526B4 (de) Maschinenlernsystem und Motorsteuersystem mit Funktion des automatischen Justierens eines Parameters
DE102006045820B4 (de) Verfahren und Vorrichtung zur automatischen Einstellung eines Motorreglers
DE102018006946A1 (de) Steuerung und maschinelle lernvorrichtung
DE102017011544A1 (de) Steuerung und maschinelle Lernvorrichtung
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE102018010054A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102016008987A1 (de) Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
DE102016011520B4 (de) Produktionsausrüstung mit Maschinenlernsystem und Montage-und Prüfeinheit
DE102018004048B4 (de) Steuerung und Maschinenlernvorrichtung
DE102016011525B4 (de) Vorrichtung für maschinelles Lernen und Spulen-Produktionsvorrichtung
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE112006000821T5 (de) Steuersystem und Steuerverfahren
DE102016011523A1 (de) Motorantriebsvorrichtung mit vorbeugender Wartungsfunktion eines Gebläsemotors
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102018200794A1 (de) Aktionsinformationslernvorrichtung, aktionsinformationsoptimierungssystem und aktionsinformationslernprogramm

Legal Events

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