DE102019213924B4 - Motorsteuervorrichtung - Google Patents

Motorsteuervorrichtung Download PDF

Info

Publication number
DE102019213924B4
DE102019213924B4 DE102019213924.8A DE102019213924A DE102019213924B4 DE 102019213924 B4 DE102019213924 B4 DE 102019213924B4 DE 102019213924 A DE102019213924 A DE 102019213924A DE 102019213924 B4 DE102019213924 B4 DE 102019213924B4
Authority
DE
Germany
Prior art keywords
speed
controller
machine learning
control device
parameter
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.)
Active
Application number
DE102019213924.8A
Other languages
English (en)
Other versions
DE102019213924A1 (de
Inventor
Ryoutarou TSUNEKI
Satoshi Ikai
Takaki Shimoda
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 DE102019213924A1 publication Critical patent/DE102019213924A1/de
Application granted granted Critical
Publication of DE102019213924B4 publication Critical patent/DE102019213924B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/0285Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks and fuzzy logic
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B21/00Common features of fluid actuator systems; Fluid-pressure actuator systems or details thereof, not covered by any other group of this subclass
    • F15B21/02Servomotor systems with programme control derived from a store or timing device; Control devices therefor
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B21/00Common features of fluid actuator systems; Fluid-pressure actuator systems or details thereof, not covered by any other group of this subclass
    • F15B21/08Servomotor systems incorporating electrically operated control means
    • F15B21/087Control strategy, e.g. with block diagram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36521Select by combination of detected force, acceleration, speed, work rate
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41021Variable gain
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42152Learn, self, auto tuning, calibrating, environment adaptation, repetition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Fluid Mechanics (AREA)
  • Analytical Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Feedback Control In General (AREA)
  • Numerical Control (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

Motorsteuervorrichtung (200), die eine für das Steuern eines Servomotors oder Spindelmotors einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine konfigurierte Steuereinrichtung umfasst, wobei die Motorsteuervorrichtung (200) umfasst:einen Wechselbestimmungsteil (300) oder eine erste Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Wechselbestimmungsteil (300), wobei der Wechselbestimmungsteil (300) konfiguriert ist zum Bestimmen einer Wechselbedingung der Steuereinrichtung basierend auf Positionsinformationen zu einer Achse für die Steuerung der Motorsteuervorrichtung (200),einen Maschinelles-Lernen-Teil (500) oder eine zweite Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Maschinelles-Lernen-Teil (500), wobei der Maschinelles-Lernen-Teil (500) konfiguriert ist zum Einstellen eines oder mehrerer Parameter für die Steuereinrichtung durch ein maschinelles Lernen für jede der Wechselbedingungen, undeinen Parameterspeicherteil (400) oder eine dritte Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Parameterspeicherteil (400), wobei der Parameterspeicherteil (400) konfiguriert ist zum Speichern des durch den Maschinelles-Lernen-Teil (500) für jede der Wechselbedingungen eingestellten Parameters,wobei, wenn der Wechselbestimmungsteil (300) die Wechselbedingung nach einer Einstellung des Parameters bestimmt, er den eingestellten Parameter in Entsprechung zu der Wechselbedingung in der Steuereinrichtung verwendet.

Description

  • HINTERGRUND DER ERFINDUNG
  • Erfindungsfeld
  • Die vorliegende Erfindung betrifft eine Motorsteuervorrichtung.
  • Stand der Technik
  • Es ist eine allgemeine Motorsteuervorrichtung bekannt, die eine Servoverstärkung wie etwa eine Positionsschleifenverstärkung und eine Geschwindigkeitsschleifenverstärkung sowie einen Parameter wie etwa eine Beschleunigung/Verlangsamung-Zeitkonstante in Abhängigkeit von Bearbeitungsbedingungen, Steuerbedingungen usw. einstellt. Alternativ dazu umfasst eine bekannte Technik für eine Motorsteuervorrichtung für das Verwenden von optimalen Parametern in Abhängigkeit von Bearbeitungsbedingungen, Steuerbedingungen und ähnlichem das Einstellen und Ändern von Parametern in einer Rückkopplungssteuereinrichtung und/oder einer Vorwärtskopplungssteuereinrichtung zu optimalen Parametern basierend auf Bearbeitungsbedingungen, Steuerbedingungen und ähnlichem und das Wechseln zwischen einer Vielzahl von zuvor vorgesehenen Rückkopplungssteuereinrichtungen und/oder Vorwärtskopplungssteuereinrichtungen in Abhängigkeit von Bearbeitungsbedingungen, Steuerbedingungen und ähnlichem.
  • In einem Beispiel gibt das Patentdokument 1 ein Steuerverstärkung-Wechselverfahren an, mit dem eine Steuerverstärkung für das Steuern eines Motors in Abhängigkeit von dem Vorhandensein oder der Abwesenheit eines Spiels gewechselt werden kann.
  • Das Patentdokument 2 gibt eine Numerische-Steuerung-Vorrichtung an, die Parametertabellen mit darin gespeicherten optimalen Parameterwerten für entsprechende Steuerbedingungen enthält, um optimale Servoparameter in Abhängigkeit von Steuerbedingungen zu setzen, und eine Parametertabelle basierend auf einem Befehl zum Wechseln eines Parameters während der Ausführung eines Numerische-Steuerung (Numerical Control bzw. NC)-Programms auswählen und setzen kann.
    • Patentdokument 1: Ungeprüfte japanische Patentanmeldung mit der Veröffentlichungsnummer JP H08 - 263 143 A
    • Patentdokument 2: Ungeprüfte japanische Patentanmeldung mit der Veröffentlichungsnummer JP H11 - 231 914 A
  • Die US 5 936 366 A offenbart ein Verfahren und Vorrichtung zur Servoeinstellung, wobei die Schwankung der Abweichungen der tatsächlichen Positionen eines sich bewegenden Körpers von den entsprechenden Sollpositionen quantitativ als Servoregelungsfehler bewertet wird, auf der Grundlage des Servoregelungsfehlers wird entschieden, ob ein rückgekoppeltes Regelsystem schwingt, auf der Grundlage des Ergebnisses der Entscheidung, ob das rückgekoppelte Regelsystem schwingt, werden die eingestellten Werte der Parameter, die die Eigenschaften eines geschlossenen Regelkreises oder eines in dem rückgekoppelten Regelsystem enthaltenen Steuerelements ausdrücken, angepasst, und die Werte der Parameter werden auf optimale Werte eingestellt, die sich geringfügig von den Werten unterscheiden, die ein Schwingen des rückgekoppelten Regelsystems verursachen würden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In der Technik gemäß dem Patentdokument 1 wird jedoch ein Parameter selbst grundsätzlich fixiert. Sobald der Parameter fixiert ist, kann der Parameter anschließend nicht in Abhängigkeit von einer Betriebsumgebung oder ähnlichem fein eingestellt werden.
  • Insbesondere wird in der Technik gemäß dem Patentdokument 1 eine Steuerverstärkung einfach in Abhängigkeit von dem Vorhandensein oder der Abwesenheit eines Spiels zwischen zwei Werten geschaltet und können die zwei Werte nicht in Abhängigkeit von zum Beispiel der Größe des Spiels eingestellt werden.
  • In der Technik gemäß dem Patentdokument 1 wird also ein zu Beginn gesetzter Parameterwert nicht eingestellt und kann dementsprechend in einem Fall, in dem sich die Betriebsumgebung einer Werkzeugmaschine ändert, eine mit der Änderung einhergehende Verschlechterung in der Qualität der Bearbeitung oder Steuerung nicht unterdrückt werden.
  • Das Patentdokument 2 gibt eine Technik an, in der ein optimaler Parameter in Abhängigkeit von einer Steuerbedingung gesetzt wird. Der Parameter wird jedoch nur während einer Fast-Forward-Verarbeitung und während eines Schneidens geändert.
  • Weiterhin ist bekannt, dass sich die Eigenschaften einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine in Abhängigkeit von der Achsenposition ändern. Zum Beispiel unterscheiden sich in einer Werkzeugmaschine, die eine Kugelumlaufspindel verwendet, die Resonanzfrequenz und die Steifigkeit der Werkzeugmaschine in einem Fall, in dem die Achse an dem Rand der Kugelumlaufspindel positioniert ist, und in einem Fall, in dem die Achse in der Mitte positioniert ist.
  • In einem in 10 gezeigten Beispiel ist die Länge einer Kugelumlaufspindel 8033 auf 1 gesetzt, ist der Endpunkt der Kugelumlaufspindel 8033 auf der Seite einer Kopplung 8031 zu einem Ursprung 0 gesetzt und ist die Achsenposition in Entsprechung zu der Position eines Tisches 804 zu x gesetzt. In diesem Fall wird eine Axialsteifigkeit Kt durch eine Berechnung mit der Formel (1) gemäß dem folgenden nicht-Patentdokument erhalten, wobei Ks die Steifigkeit einer Schraubachse, d.h. der Kugelumlaufspindel 8033, wiedergibt, Kn die Steifigkeit einer Mutter 8032 wiedergibt und Kb die Steifigkeit eines Lagers (nicht gezeigt) wiedergibt.
    [Gleichung 1] 1 K t 1 K s + 1 K b + 1 K n
    Figure DE102019213924B4_0001
  • <nicht-Patentdokument>
  • „Design and Control of Precision Positioning and Feed Drive systems“ von Atsushi Matsubara, 2008, Morikita Publishing Co., Ltd.
  • Im Fall einer einzelnen Verankerung, d.h. wenn eine Schraubachse auf einer Motorseite in der Schubrichtung (Axialrichtung) und der Radialrichtung (Drehrichtung) fixiert ist und die Schraubachse auf der dem Motor gegenüberliegenden Seite nur in der Radialrichtung beschränkt ist, wird der Wert Ks in der Formel (1) durch eine Berechnung mit der Formel (2) erhalten, wobei E ein Längselastizitätsmodul der Schraubachse (Stahl) angibt und AS eine Schraubachsenschnittfläche angibt.
    [Gleichung 2] K s = E A s x
    Figure DE102019213924B4_0002
  • In dem Fall einer doppelten Verankerung, d.h. wenn eine Schraubachse auf der Motorseite und der dem Motor gegenüberliegenden Seite in der Schubrichtung und der Radialrichtung fixiert ist, kann der Wert Ks in der Formel (1) durch eine Berechnung in der Formel (3) erhalten werden.
    [Gleichung 3] 1 1 K s + 1 K b = 1 1 K b + x E A s + 1 1 K b + l x E A s
    Figure DE102019213924B4_0003
    Wie oben beschrieben, hängt die Axialsteifigkeit in jedem Fall von der Achsenposition ab.
  • Dagegen kann bei einem Zwei-Trägheiten-Modell der Kugelumlaufspindel 8033 der Wert einer Antiresonanzfrequenz ωa durch eine Berechnung mit der Formel (4) erhalten werden, wobei J eine Trägheit eines Servomotors 800 und der Kugelumlaufspindel 8033 angibt, M die Masse des Tisches 804 angibt und R [m/rad] einen Wandlungskoeffizienten von einer Drehung zu einer linearen Bewegung angibt.
    [Gleichung 4] ω a = K t / M
    Figure DE102019213924B4_0004
  • Der Wert der Resonanzfrequenz ωn wird durch eine Berechnung mit der Formel (5) unter Verwendung eines Trägheitsverhältnisses α=R2M/J erhalten.
    [Gleichung 5] ω n = 1 + α ω a
    Figure DE102019213924B4_0005
  • Wie weiter oben beschrieben, hängen die Resonanzfrequenz und die Antiresonanzfrequenz von der Axialsteifigkeit ab und variieren somit in Abhängigkeit von der Achsenposition.
  • Weil also die Steifigkeit, die Resonanzfrequenz und die Antiresonanzfrequenz einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine in Abhängigkeit von der Achsenposition variieren, wird ein Parameter für zum Beispiel eine Rückkopplungssteuereinrichtung oder eine Vorwärtskopplungssteuereinrichtung für jede Achsenposition eingestellt, damit eine Motorsteuervorrichtung eine hohe Performanz bei der Steuerung erzielt, und wird die Einstellung des Parameters geändert oder wird eine Steuereinrichtung zu der den Parameter verwendenden Steuereinrichtung in Abhängigkeit von der Achsenposition gewechselt. Weder das Patentdokument 1 noch das Patentdokument 2 machen Angaben dazu, dass ein Parameter für zum Beispiel eine Rückkopplungssteuereinrichtung oder eine Vorwärtskopplungssteuereinrichtung (nachfolgend einfach als „Steuereinrichtung“ bezeichnet) für jede Achsenposition eingestellt wird und der Parametersatz in einer Steuereinrichtung geändert wird oder alternativ dazu eine Steuereinrichtung zu einer den Parameter verwendenden Steuereinrichtung in Abhängigkeit von der Achsenposition gewechselt wird.
  • Zweck der vorliegenden Erfindung ist es, eine Motorsteuervorrichtung vorzusehen, die einen oder mehrere auf eine Steuereinrichtung anzuwendende Parameter oder eine Steuereinrichtung mittels eines maschinellen Lernens in Abhängigkeit von einem Positionsbefehlswert oder der durch eine Positionserfassungseinrichtung erfassten Achsenposition einstellen kann und weiterhin den Parameter oder die Steuereinrichtung für jede Achsenposition durch das Speichern der durch das maschinelle Lernen eingestellten Parameter wechseln kann.
  • (1) Eine Motorsteuervorrichtung (zum Beispiel die weiter unten beschriebene Motorsteuervorrichtung 200) gemäß der vorliegenden Erfindung enthält eine Steuereinrichtung, die konfiguriert ist zum Steuern eines Servomotors oder eines Spindelmotors einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine. Die Motorsteuervorrichtung enthält einen Wechselbestimmungsteil (zum Beispiel die weiter unten beschriebene Wechselbestimmungsvorrichtung 300) oder eine erste Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Wechselbestimmungsteil, einen Maschinelles-Lernen-Teil (zum Beispiel die weiter unten beschriebene Maschinelles-Lernen-Vorrichtung 500) oder eine zweite Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Maschinelles-Lernen-Teil, und einen Parameterspeicherteil (zum Beispiel die weiter unten beschriebene Parameterspeichervorrichtung 400) oder eine dritte Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Parameterspeicherteil. Der Wechselbestimmungsteil ist konfiguriert zum Bestimmen einer Wechselbedingung der Steuereinrichtung basierend auf Positionsinformationen auf einer Achse für die Steuerung der Motorsteuervorrichtung. Der Maschinelles-Lernen-Teil ist konfiguriert zum Einstellen eines oder mehrerer Parameter für die Steuereinrichtung mittels eines maschinellen Lernens für jede der Wechselbedingungen. Der Parameterspeicherteil ist konfiguriert zum Speichern des durch den Maschinelles-Lernen-Teil für jede der Wechselbedingungen eingestellten Parameters. Wenn der Wechselbestimmungsteil die Wechselbedingung nach einer Einstellung des Parameters bestimmt, verwendet er den eingestellten Parameter in Entsprechung zu der Wechselbedingung in der Steuereinrichtung.
  • (2) Die Motorsteuervorrichtung gemäß (1) kann umfassen: einen Positionsbefehl-Berechnungsteil (zum Beispiel den weiter unten beschriebenen Positionsbefehl-Berechnungsteil 1011), der konfiguriert ist zum Erzeugen eines Positionsbefehls in Bezug auf die Achse; einen Positionserfassungsteil, der konfiguriert ist zum Erfassen einer Position in Bezug auf die Achse; eine Positionssteuereinrichtung (zum Beispiel den weiter unten beschriebenen Positionssteuerteil 2014), der konfiguriert ist zum Erzeugen eines Geschwindigkeitsbefehls unter Verwendung des Positionsbefehls und von Rückkopplungsinformationen zu der durch den Positionserfassungsteil erfassten Position, einen Geschwindigkeitserfassungsteil, der konfiguriert ist zum Erfassen der Geschwindigkeit und eine Geschwindigkeitssteuereinrichtung (zum Beispiel den weiter unten beschriebenen Geschwindigkeitssteuerteil 2017), der konfiguriert ist zum Erzeugen eines Drehmomentbefehls unter Verwendung des durch die Positionssteuereinrichtung erzeugten Geschwindigkeitsbefehls und von Rückkopplungsinformationen zu der durch den Geschwindigkeitserfassungsteil erfassten Geschwindigkeit. Der Maschinelles-Lernen-Teil kann einen oder mehrere Parameter für die Positionssteuereinrichtung oder die Geschwindigkeitssteuereinrichtung für jede der Wechselbedingungen einstellen.
  • (3) Die Motorsteuervorrichtung gemäß (1) kann umfassen: einen Geschwindigkeitsbefehl-Erzeugungsteil, der konfiguriert ist zum Erzeugen des Geschwindigkeitsbefehls; einen Geschwindigkeitserfassungsteil, der konfiguriert ist zum Erfassen der Geschwindigkeit; und eine Geschwindigkeitssteuereinrichtung, die konfiguriert ist zum Erzeugen eines Drehmomentbefehls unter Verwendung des Geschwindigkeitsbefehls und von Rückkopplungsinformationen zu der durch den Geschwindigkeitserfassungsteil erfassten Geschwindigkeit. Der Maschinelles-Lernen-Teil kann einen oder mehrere Parameter für die Geschwindigkeitssteuerung für jede der Wechselbedingungen einstellen.
  • (4) Die Motorsteuervorrichtung gemäß (1) kann eine Positionsvorwärtskopplung-Steuereinrichtung (zum Beispiel den weiter unten beschriebenen Positionsvorwärtskopplung-Steuerteil 2020) und/oder eine Geschwindigkeitsvorwärtskopplung-Steuereinrichtung (zum Beispiel den weiter unten beschriebenen Geschwindigkeitsvorwärtskopplung-Steuerteil 2021) enthalten. Die Positionsvorwärtskopplung-Steuereinrichtung ist konfiguriert zum Erzeugen von Positionsvorwärtskopplungsinformationen unter Verwendung des Positionsbefehls, und die Geschwindigkeitsvorwärtskopplungssteuereinrichtung ist konfiguriert zum Erzeugen von Geschwindigkeitsvorwärtskopplungsinformationen unter Verwendung des Positionsbefehls. Der Maschinelles-Lernen-Teil kann einen oder mehrere Parameter für die Positionsvorwärtskopplung-Steuereinrichtung und/oder die Geschwindigkeitsvorwärtskopplung-Steuereinrichtung für jede der Wechselbedingungen erzeugen.
  • (5) In der Motorsteuervorrichtung gemäß einem von (1) bis (4) kann der Maschinelles-Lernen-Teil eine Vielzahl von verschiedenen Typen von Parametern für eine der Wechselbedingungen einstellen und kann der Wechselbestimmungsteil einen aus der Vielzahl von Parametern ausgewählten Parameter in der Steuereinrichtung verwenden.
  • Die vorliegende Erfindung sieht eine Motorsteuervorrichtung vor, die einen oder mehrere Parameter für die Verwendung in einer Steuereinrichtung oder eine Steuereinrichtung mittels eines maschinellen Lernens in Abhängigkeit von einem Positionsbefehlswert oder von den durch eine Positionserfassungseinrichtung erfassten Achsenpositionsinformationen einstellen kann und weiterhin den Parameter oder die Steuereinrichtung für jede Achsenposition wechseln kann, indem sie die durch das maschinelle Lernen eingestellten Parameter speichert.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das die Gesamtkonfiguration eines Motorsteuersystems einschließlich einer Motorsteuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. 2 ist ein Blockdiagramm, das die Konfiguration eines Maschinelles-Lernen-Teils in einer Maschinelles-Lernen-Vorrichtung gemäß der vorliegenden Erfindung zeigt. 3 ist ein Blockdiagramm, das die Gesamtkonfiguration der Motorsteuervorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt. 4A ist ein Blockdiagramm, das die Konfiguration eines Positionssteuerteils in der Motorsteuervorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. 4B ist ein Blockdiagramm, das die Konfiguration eines Geschwindigkeitssteuerteils in der Motorsteuervorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. 5 ist ein Flussdiagramm, das den Betrieb einer Wechselbestimmungsvorrichtung in der ersten Ausführungsform der vorliegenden Erfindung zeigt. 6 ist ein Blockdiagramm, das die Gesamtkonfiguration einer Motorsteuervorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt. 7 ist ein Blockdiagramm, das die Gesamtkonfiguration einer Motorsteuervorrichtung gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt. 8A ist ein Blockdiagramm, das die Konfiguration eines Positionsvorwärtskopplung-Steuerteils in der Motorsteuervorrichtung gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt. 8B ist ein Blockdiagramm, das die Konfiguration eines Geschwindigkeitsvorwärtskopplung-Steuerteils in der Motorsteuervorrichtung gemäß der dritten Ausführungsform der vorliegenden Erfindung zeigt. 9 ist ein Blockdiagramm, das die Gesamtkonfiguration einer Motorsteuervorrichtung gemäß einer vierten Ausführungsform der vorliegenden Erfindung zeigt. 10 ist ein Blockdiagramm, das eine Werkzeugmaschine mit einem darin enthaltenen Servomotor, der ein Beispiel für ein Steuerziel einer Motorsteuervorrichtung ist, teilweise zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden einige Ausführungsformen der vorliegenden Erfindung im Detail mit Bezug auf die Zeichnungen beschrieben.
  • [1 Erste Ausführungsform]
  • [1.1 Gesamtkonfiguration]
  • 1 ist ein Blockdiagramm, das ein Motorsteuersystem gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Wie in 1 gezeigt, umfasst ein Motorsteuersystem 10 eine CNC (Computerized Numerical Control)-Vorrichtung 100, eine Motorsteuervorrichtung 200, eine Wechselbestimmungsvorrichtung 300, eine Parameterspeichervorrichtung 400 und eine Maschinelles-Lernen-Vorrichtung 500. Eine direkte Verbindung über eine Verbindungsschnittstelle oder eine Verbindung über ein Netzwerk ist zwischen der CNC-Vorrichtung 100 und der Motorsteuervorrichtung 200, der Motorsteuervorrichtung 200 und der Wechselbestimmungsvorrichtung 300, der Wechselbestimmungsvorrichtung 300 sowie der Parameterspeichervorrichtung 400 und der Parameterspeichervorrichtung 400 und der Maschinelles-Lernen-Vorrichtung 500 vorgesehen, wodurch eine wechselseitige Kommunikation verfügbar ist. Es ist zu beachten, dass das Netzwerk zum Beispiel ein in einem Werk vorgesehenes LAN, das Internet, ein öffentliches Telefonnetz oder eine Kombination aus diesen ist. Das Netzwerk ist nicht auf ein spezifisches Kommunikationssystem, eine drahtgebundene Verbindung oder eine drahtlose Verbindung beschränkt.
  • Die CNC-Vorrichtung 100 berechnet einen Positionsbefehlswert einer Vorschubachse und einen Geschwindigkeitsbefehlswert einer Spindel basierend auf einem Bearbeitungsprogramm und gibt einen Befehl einschließlich des erzeugten Positionsbefehlswerts und einen Befehl einschließlich des erzeugten Geschwindigkeitsbefehlswerts zu der Motorsteuervorrichtung 200 aus, um einen Motor wie etwa einen Servomotor oder einen Spindelmotor einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine zu steuern, um dadurch die durch die Werkzeugmaschine, den Roboter oder die Industriemaschine durchgeführte Bearbeitung zu steuern.
  • Die Motorsteuervorrichtung 200 erzeugt einen Positionsbefehl, einen Geschwindigkeitsbefehl und einen Drehmomentbefehl durch entsprechende Steuereinrichtungen, die in der Motorsteuervorrichtung 200 selbst enthalten sind, basierend auf dem Positionsbefehlswert oder dem Geschwindigkeitsbefehlswert von der CNC-Vorrichtung 100 und gibt diese Befehle zu einem Motor wie etwa einem Servomotor oder einem Spindelmotor aus, um dadurch den Motor zu steuern. Die Motorsteuervorrichtung 200 führt eine Positionssteuerung, eine Geschwindigkeitssteuerung und eine Stromsteuerung unter Verwendung von zum Beispiel einer PI-Steuerung basierend auf dem Positionsbefehlswert von der CNC-Vorrichtung 100 durch, um einen Antriebsstrom für den Motor in der Vorschubachse zu erzeugen. In einem Beispiel erzeugt die Motorsteuervorrichtung 200 einen Geschwindigkeitsbefehl basierend auf dem Positionsfehler zwischen dem Positionsbefehl und der Positionsrückkopplung, der durch den an dem Motor vorgesehenen Codierer in der Vorschubachse erfasst wird (Positionssteuerung), erzeugt einen Drehmomentbefehl für den Motor in der Vorschubachse basierend auf dem berechneten Geschwindigkeitsbefehl und den Rückkopplungsinformationen zu der durch den Codierer erfassten Geschwindigkeit (Geschwindigkeitssteuerung) und erzeugt einen Antriebsstrom für den Motor in der Vorschubachse basierend auf dem berechneten Drehmomentbefehl (Stromsteuerung).
  • In einem Beispiel gibt die Motorsteuervorrichtung 200 Achsenpositionsinformationen zu der Wechselbestimmungsvorrichtung 300 basierend auf dem Positionsbefehl oder der Positionsrückkopplung aus. Die Motorsteuervorrichtung 200 erhält weiterhin Parameter für die Verwendung in den oben genannten Steuereinrichtungen von der Parameterspeichervorrichtung 400 über die Wechselbestimmungsvorrichtung 300 und erhält weiterhin Wechselinformationen für das Wechseln der Steuereinrichtungen und der zu verwendenden Parameter in Abhängigkeit von der Achsenposition von der Wechselbestimmungsvorrichtung 300. Die Konfiguration der Motorsteuervorrichtung 200 wird im Folgenden mit Bezug auf 3 erläutert.
  • Die Schaltbestimmungsvorrichtung 300 bestimmt eine Wechselbedingung für das Wechseln der Steuereinrichtung und der in der Motorsteuervorrichtung 200 zu verwendenden Parameter basierend auf den von der Motorsteuervorrichtung 200 erhaltenen Achsenpositionsinformationen und gibt basierend auf der Bestimmung die Wechselinformationen, die angeben, welche Steuereinrichtung und welcher Parameter aktuell durch die Motorsteuervorrichtung 200 zu verwenden sind, zu der Motorsteuervorrichtung 200 aus. Die Wechselbestimmungsvorrichtung 300 erhält weiterhin den oben beschriebenen Parameter von der Parameterspeichervorrichtung 400 und gibt weiterhin den Parameter zu der Motorsteuervorrichtung 200 aus.
  • Die Parameterspeichervorrichtung 400 erhält von der Maschinelles-Lernen-Vorrichtung 500 den in der Steuereinrichtung der Motorsteuervorrichtung 200 zu verwendenden Parameter und speichert diesen. Die Parameterspeichervorrichtung 400 gibt weiterhin den durch die Parameterspeichervorrichtung 400 gespeicherten Parameter zu der Wechselbestimmungsvorrichtung 300 aus.
  • Die Maschinelles-Lernen-Vorrichtung 500 stellt den in jeder der Steuereinrichtungen der Motorsteuervorrichtung 200 zu verwendenden Parameter mittels eines maschinellen Lernens für jede oben genannte Wechselbedingung ein und gibt den eingestellten Parameter zu der Parameterspeichervorrichtung 400 aus. Die Maschinelles-Lernen-Vorrichtung 500 enthält eine Vielzahl von Maschinelles-Lernen-Teilen 510 in Entsprechung zu jeweils den Wechselbedingungen. Es ist zu beachten, dass die folgende Beschreibung auf einem Beispiel einer Wechselbedingung für das Wechseln des Parameters basierend auf einer Vielzahl von Teilen von vorgegebenen Positionsinformationen (zum Beispiel Position x=0, 0,1,0,2 usw. (Meter)) beruht. 1 zeigt das Beispiel, wobei angenommen wird, dass der Bereich der Achsenposition durch einen Schwellwert in n Teile unterteilt ist, und jeder geteilte Bereich jeweils einer Wechselbedingung entspricht, wobei die Maschinelles-Lernen-Vorrichtung 500 n Einheiten von Maschinelles-Lernen-Teilen und insbesondere einen Maschinelles-Lernen-Teil 510_1, einen Maschinelles-Lernen-Teil 510_2 bis einen Maschinelles-Lernen-Teil 510_n basierend auf der oben genannten Annahme enthält. Das Motorsteuersystem und die Motorsteuervorrichtung gemäß der vorliegenden Erfindung werden nachfolgend hinsichtlich ihrer Konfiguration, ihres Betriebs usw. beschrieben, wobei der Einfachheit halber angenommen wird, dass der Bereich der Achsenposition in n Teile unterteilt ist und die Parameter in der Motorsteuervorrichtung 200 derart gesetzt werden, dass die Anzahl der Parameter der Anzahl der geteilten Teile entspricht.
  • Im Folgenden wird ein Beispiel eines Verstärkungslernens als das maschinelle Lernen gemäß dieser Ausführungsform beschrieben. Es ist zu beachten, dass das maschinelle Lernen gemäß der Erfindung nicht auf ein Verstärkungslernen beschränkt ist und dass die Erfindung auch auf ein beliebiges anderes maschinelles Lernen (zum Beispiel auf ein überwachtes Lernen) angewendet werden kann.
  • Bevor die einzelnen Funktionsblöcke in der Maschinelles-Lernen-Vorrichtung 500 beschrieben werden, wird erst einmal der Grundmechanismus des Verstärkungslernens erläutert. Ein Agent (entspricht der Maschinelles-Lernen-Vorrichtung 500 dieser Ausführungsform) beobachtet den Zustand einer Umgebung und wählt eine bestimmte Aktion aus, und die Umgebung ändert sich basierend auf der Aktion. Wenn sich die Umgebung ändert, wird eine Art von Belohnung gegeben und lernt der Agent eine bessere Auswahl eine Aktion (Entscheidungsfindung). Ein überwachtes Lernen sieht vollständig korrekte Antworten vor, während ein Verstärkungslernen in vielen Fällen Belohnungen eines fragmentarischen Werts basierend auf einer Änderung in einem Teil der Umgebung vorsieht. Der Agent lernt deshalb eine Aktion auszuwählen, um die gesamte zukünftige Belohnung zu maximieren.
  • Wie oben beschrieben, werden in dem Verstärkungslernen geeignete Aktionen durch das Lernen von Aktionen basierend auf der wechselseitigen Interaktion anhand der Aktionen in der Umgebung gelernt, d.h. mittels einer Lernmethode zum Maximieren einer zukünftigen Belohnung. Das bedeutet, dass in dieser Ausführungsform Aktionsinformationen zum Reduzieren eines Positionsfehlers ausgewählt werden, sodass also eine die Zukunft beeinflussende Aktion erhalten wird.
  • Für das Verstärkungslernen sind verschiedene Lernmethoden verfügbar. Im Folgenden wird ein beispielhaftes Q-Lernen beschrieben, das eine Methode für das Lernen eines Werts Q(s, a) zum Auswählen einer Aktion a in einem Zustand s einer bestimmten Umgebung ist. Zielsetzung des Q-Lernens ist es, in einem bestimmten Zustand s die Aktion a, die den höchsten Wert Q(s, a) aufweist, als die optimale Aktion innerhalb der möglichen Aktionen a auszuwählen.
  • Wenn jedoch das Q-Lernen zu Beginn gestartet wird, ist für die Kombination des Zustands s und der Aktion a keiner der korrekten Werte des Werts Q(s, a) bekannt. Deshalb wählt der Agent verschiedene Aktionen a in einem Zustand s aus und wählt eine bessere Aktion basierend auf der für die Aktion a zu dieser Zeit gegebenen Belohnung aus, um dadurch den korrekten Wert Q(s, a) zu lernen.
  • Zielsetzung der Maximierung der gesamten zukünftigen Belohnung ist es, schließlich die folgende Gleichung zu erfüllen: Q(s, a)=E[Σ(yt)rt]. in der Gleichung gibt E[ ] einen erwarteten Wert wieder, gibt t die Zeit wieder, gibt γ einen als Nachlassfaktor bezeichneten Parameter (weiter unten beschrieben) wieder, gibt rt eine Belohnung zu der Zeit t wieder und gibt Σ eine Summe zu der Zeit t wieder. Der erwartete Wert in der Gleichung entspricht dem erwarteten Wert für einen Fall, in dem sich ein Zustand aufgrund der optimalen Aktion ändert. Weil die optimale Aktion in dem Prozess des Q-Lernens unbekannt ist, wird das Verstärkungslernen durchgeführt, während durch das Durchführen von verschiedenen Aktionen nach der optimalen Aktion gesucht wird. Eine Aktualisierungsformel eines derartigen Werts Q(s, a) wird zum Beispiel durch die Gleichung 6 ausgedrückt.
    [Gleichung 6] Q ( s t + 1 , a t + 1 ) Q ( s t , a t ) + α ( r t + 1 + γ m a x Q α ( s t + 1 , α ) Q ( s t , a t ) )
    Figure DE102019213924B4_0006
  • In der Formel 6 gibt St den Zustand der Umgebung zu der Zeit t wieder und gibt at die Aktion zu der Zeit t wieder. Die Aktion at ändert den Zustand zu St+1. in der Gleichung 6 gibt rt+1 die durch die Änderung des Zustands erhaltene Belohnung an. Der Term mit „max“ wird durch das Multiplizieren des Werts Q mit γ erhalten, wenn die Aktion a mit dem zu diesem Zeitpunkt bekannten höchsten Wert Q in dem Zustand St+1 ausgewählt wird. Dabei ist γ, das als Nachlassfaktor bezeichnet wird, ein Parameter von 0<γ≤1. Weiterhin ist α, das eine Lernrate ist, in dem Bereich von 0<α≦1 gesetzt.
  • Die Gleichung 6 gibt die Methode zum Aktualisieren des Werts Q(St, at) der Aktion at in dem Zustand St basierend auf der erhaltenen Belohnung rt+1 als ein Ergebnis der durchgeführten Aktion at an. Die Aktualisierungsformel gibt an, dass, wenn der Wert maxa Q(St+1, a) der besten Aktion in dem nächsten Zustand St+1 durch die Aktion at größer ist als der Wert Q(St, at) der Aktion at in dem Zustand St, der Wert Q(St, at) erhöht wird, und wenn der Wert maxa Q(St+1, at) kleiner ist als der Wert Q(St, at), der Wert Q(St, at) vermindert wird. Das heißt, dass der Wert einer bestimmten Aktion in einem bestimmten Zustand näher zu dem Wert der besten Aktion in dem nächsten Zustand gebracht wird. Obwohl eine derartige Differenz von dem Nachlassfaktor γ und der Belohnung rt+1 abhängt, wird der Wert der besten Aktion in einem bestimmten Zustand im Grunde in diesem System zu dem Wert der Aktion in dem vorausgehenden und zu dem bestimmten Zustand führenden Zustand fortgepflanzt.
  • Als eine Methode für das Q-Lernen kann ein Lernen durchgeführt werden, nachdem eine Tabelle in Bezug auf Q(s, a) für alle Zustand-Aktion-Paare (s, a) vorbereitet wurde. Weil die Anzahl der Zustände zu groß ist, um die Werte von Q(s, a) für alle Zustand-Aktion-Paare zu erhalten, kann es unter Umständen lange dauern, bis das Q-Lernen vollständig durchgeführt wurde.
  • Deshalb kann eine wohlbekannte Technik verwendet werden, die als DQN (Deep Q-Network) bezeichnet wird. Insbesondere kann in einer Aktion-Wert-Funktion Q, die mit einem geeigneten neuronalen Netz konfiguriert ist, ein Parameter des neuronalen Netzes eingestellt werden und kann eine Wertfunktion Q unter Verwendung des geeigneten neuronalen Netzes angenähert werden, um dadurch den Wert Q(s, a) zu berechnen. Die Verwendung von DQN ermöglicht es, die für das vollständige Durchführen des Q-Lernens erforderliche Zeit zu verkürzen. Es ist zu beachten, dass DQN in dem folgenden nicht-Patentdokument beispielhaft im Detail beschrieben wird.
  • <nicht-Patentdokument>
  • „Human-level control through deep reinforcement learning“ von Volodymyr Mnih1 [online], [Suche vom 17. Januar 2017 auf der folgenden Website: <URL:http://files.davidqiu.com/research/naturel14236.pdf>
  • Die Maschinelles-Lernen-Vorrichtung 500 führt das oben beschriebene Q-Lernen durch. 2 ist ein Blockdiagramm, das die für alle Maschinelles-Lernen-Teile 510 gemeinsamen Funktionsblöcke zeigt. Der Maschinelles-Lernen-Teil 510 enthält einen Zustandsinformationen-Erhaltungsteil 511, einen Lernteil 512, einen Aktionsinformationen-Ausgabeteil 513, einen Wertfunktion-Speicherteil 514 und einen Optimale-Aktion-Informationen-Ausgabeteil 515. Der Lernteil 512 enthält einen Belohnungsausgabeteil 5121, einen Wertfunktion-Aktualisierungsteil 5122 und einen Aktionsinformationen-Erzeugungsteil 5123.
  • Der Zustandsinformationen-Erhaltungsteil 511 erhält von der Motorsteuervorrichtung 200 Zustandsinformationen s, die als Rückkopplungsinformationen bei einer Rückkopplung dienen, und einen Befehl einschließlich der Positionsfehlerinformationen der Motorsteuervorrichtung 200, die bei einer Ausführung des vorgegebenen Bewertungsprogramms erhalten werden, basierend auf dem in der Steuereinrichtung in der Motorsteuervorrichtung 200 zu verwendenden Parameter. Die Zustandsinformationen S entsprechen einem Umgebungszustand S in dem Q-Lernen. Der Zustandsinformationen-Erhaltungsteil 511 gibt die erhaltenen Zustandsinformationen S zu dem Lernteil 512 aus. Es ist zu beachten, dass ein Verstärkungslernen wie etwa ein Q-Lernen als Referenz in dem letzten Teil der vorliegenden Beschreibung beschrieben wird.
  • Der Lernteil 512 ist die Einheit, die konfiguriert ist zum Lernen des Werts Q(S, A) in einem Fall, in dem eine bestimmte Aktion A in einer Umgebung in Verbindung mit einem bestimmten Zustand S ausgewählt wird. Unter der „Aktion A“ ist insbesondere eine Aktion zum Einstellen eines optimalen Parameters in Bezug auf den Zustand S wie etwa in einer Rückkopplung zu verstehen. Der Lernteil 512 enthält den Belohnungsausgabeteil 5121, den Wertfunktion-Aktualisierungsteil 5122 und den Aktionsinformationen-Erzeugungsteil 5123.
  • Der Belohnungsausgabeteil 5121 berechnet eine Belohnung r für den Fall, dass die Aktion A in dem Zustand S ausgewählt wird, unter Verwendung einer vorbestimmten Bewertungsfunktion basierend auf dem Zustand S. Dabei gibt PD(S) den Satz der Positionsfehlerwerte (Positionsfehlersatz) in Entsprechung zu Zustandsvariablen in dem Zustand S an, und gibt PD(S') den Positionsfehlersatz in Entsprechung zu Zustandsvariablen in dem Zustand S', zu dem sich der Zustand S durch die Aktion A geändert hat, an. Der durch eine Berechnung basierend auf einer vorgegebenen Bewertungsfunktion f(PD(s)) erhaltene Wert dient als der Wert des Positionsfehlers in dem Zustand S. Dabei ist unter einem „Satz der Positionsfehlerwerte“ der Satz von Positionsfehlerwerten zu verstehen, der durch eine Berechnung in dem in n Teile wie oben beschrieben geteilten Achsenpositionsbereich erhalten wird.
  • Beispiele der „Bewertungsfunktion f“ sind:
    • eine Funktion zum Berechnen eines integrierten Werts von absoluten Positionsfehlerwerten, ausgedrückt durch: | e ] dt;
      Figure DE102019213924B4_0007
    • eine Funktion zum Berechnen eines integrierten Werts durch das Gewichten von absoluten Positionsfehlerwerten in der Zeit, ausgedrückt durch: t | e ] dt;
      Figure DE102019213924B4_0008
    • eine Funktion zum Berechnen eines integrierten Werts von 2n (n ist eine natürliche Zahl), der zu absoluten Positionsfehlerwerten erhöht ist, ausgedrückt durch: e 2 n dt ( n ist eine nat u ¨ rliche Zahl ) ;
      Figure DE102019213924B4_0009
      und
    • eine Funktion zum Berechnen des maximalen Werts von absoluten Positionsfehlerwerten, ausgedrückt durch: Max { | e | }
      Figure DE102019213924B4_0010
  • Die vorliegende Erfindung ist jedoch nicht darauf beschränkt.
  • Die „Belohnung r“ wird wie folgt gesetzt. Ein negativer Wert wird als ein Belohnungswert gesetzt, wenn der Zustand S durch die Aktion zu dem Zustand S' korrigiert wird und der Positionsfehlerwert in dem Zustand S' größer als der Positionsfehlerwert in dem Zustand S vor der Korrektur durch die Aktion A größer ist.
  • Dagegen wird ein positiver Wert als ein Belohnungswert gesetzt, wenn der Positionsfehlerwert in dem durch die Aktion A korrigierten Zustand S' kleiner als der Positionsfehlerwert in dem Zustand S vor der Korrektur durch die Aktion A ist.
  • Der Wertfunktion-Aktualisierungsteil 5122 führt das Q-Lernen basierend auf dem Zustand S, der Aktion A, dem Zustand S', der erhalten wird, wenn die Aktion A auf den Zustand S angewendet wird, und dem Belohnungswert r durch, um die durch den Wertfunktion-Speicherteil 514 gespeicherte Aktion-Wert-Funktion Q zu aktualisieren. Es ist zu beachten, dass bei einem Neulernen eines oder mehrerer Parameter der durch die Parameterspeichervorrichtung 400 gespeicherte Parameter als ein Standardwert am Beginn des Q-Lernens gesetzt werden kann.
  • Der Aktionsinformationen-Erzeugungsteil 5123 wählt die Aktion A für den Prozess des Q-Lernens in Bezug auf den aktuellen Zustand S aus. Der Aktionsinformationen-Erzeugungsteil 5123 erzeugt Aktionsinformationen A, sodass die Aktion (in Entsprechung zu der Aktion A in dem Q-Lernen) für das Korrigieren des in der Steuereinrichtung der Motorsteuervorrichtung 200 zu verwendenden Parameters in dem Prozess des Q-Lernens durchgeführt wird, und gibt die erzeugten Aktionsinformationen A zu dem Aktionsinformationen-Ausgabeteil 513 aus. Insbesondere gibt in diesem Beispiel der Aktionsinformationen-Erzeugungsteil 5123 zu dem Aktionsinformationen-Ausgabeteil 513 die Aktion A zum Erhöhen oder Vermindern des in dem Zustand S in einer Steuereinrichtung zu verwendenden Parameters inkrementell aus (zum Beispiel ungefähr 0,01). Die Aktionsinformationen A dienen als Parameterkorrekturinformationen.
  • Wenn der Zustand zu dem Zustand S' versetzt wird, weil der in einer Steuereinrichtung zu verwendende Parameter erhöht oder vermindert wird, und dann eine positive Belohnung (eine Belohnung mit einem positiven Wert) erhalten wird, kann der Aktionsinformationen-Erzeugungsteil 5123 als die nächsten Aktionsinformationen A' eine Maßnahme zum Auswählen der Aktion A' für das Vermindern des Positionsfehlerwerts ergreifen, etwa durch das inkrementelle Erhöhen oder Vermindern des in einer Steuereinrichtung zu verwendenden Parameters wie in der vorausgehenden Aktion.
  • Wenn umgekehrt eine negative Belohnung (eine Belohnung mit einem negativen Wert) erhalten wird, kann der Aktionsinformationen-Erzeugungsteil 5123 als die nächste Aktion A' eine Maßnahme zum Auswählen der Aktion A' für das Vermindern des Positionsfehlers im Vergleich zu dem vorausgehenden Wert etwa durch das inkrementelle Vermindern oder Erhöhen, umgekehrt zu der vorausgehenden Aktion, des in einer Steuereinrichtung zu verwendenden Parameters ergreifen.
  • Der Aktionsinformationen-Ausgabeteil 513 ist eine Einheit, die konfiguriert ist zum Senden von Parameterkorrekturinformationen, die als die durch den Lernteil 512 ausgegebenen Aktionsinformationen A dienen, zu einer Steuereinrichtung der Motorsteuervorrichtung 200. Wie oben beschrieben stellt die Motorsteuervorrichtung 200 den aktuellen Zustand S, d.h. den aktuell gesetzten Parameter für eine Steuereinrichtung, basierend auf den Aktionsinformationen A fein ein, wodurch der Zustand S zu dem nächsten Zustand S' (d.h. dem korrigierten Parameter) versetzt wird.
  • Der Wertfunktion-Speicherteil 514 ist eine Speichereinrichtung, die konfiguriert ist zum Speichern der Wertfunktion Q. In einem Beispiel kann die Wertfunktion Q als eine Tabelle (nachfolgend als eine Aktion-Wert-Tabelle bezeichnet) für jeweils den Zustand S und die Aktion A gespeichert werden. Die durch den Wertfunktion-Speicherteil 514 gespeicherte Wertfunktion Q wird durch den Wertfunktion-Aktualisierungsteil 5122 aktualisiert.
  • Der Optimale-Aktion-Informationen-Ausgabeteil 515 erzeugt Aktionsinformationen a (nachfolgend als „optimale Aktionsinformationen“ bezeichnet), die die Motorsteuervorrichtung 200 veranlassen, eine Aktion zum Maximieren des Werts Q(s, a) basierend auf der Wertfunktion Q durchzuführen, die durch das durch den Wertfunktion-Aktualisierungsteil 5122 durchgeführte Q-Lernen aktualisiert wurde.
  • Insbesondere erhält der Optimale-Aktion-Information-Ausgabeteil 515 die durch den Wertfunktion-Speicherteil 514 gespeicherte Wertfunktion Q. Die Wertfunktion Q wurde durch das durch den Wertfunktion-Aktualisierungsteil 5122 durchgeführte Q-Lernen wie oben beschrieben aktualisiert. Der Optimale-Aktion-Information-Ausgabeteil 515 erzeugt die Aktionsinformationen basierend auf der Wertfunktion Q und gibt die erzeugten Aktionsinformationen zu der Parameterspeichervorrichtung 400 aus.
  • Wie oben beschrieben, speichert die Parameterspeichervorrichtung 400 die Parameter, die in den Steuereinrichtungen der Motorsteuervorrichtung 200 zu verwenden sind und durch das maschinelle Lernen in der Maschinelles-Lernen-Vorrichtung 500 eingestellt wurden. Die Motorsteuervorrichtung 200 kann also betrieben werden, um einen Positionsfehlerwert unter Verwendung eines oder mehrerer durch die Parameterspeichervorrichtung 400 gespeicherter Parameter zu reduzieren.
  • Wie oben beschrieben, enthält die Maschinelles-Lernen-Vorrichtung 500 gemäß der vorliegenden Erfindung die Vielzahl von Maschinelles-Lernen-Teilen 510, die jeweils Wechselbedingungen entsprechen, und kann somit die in den Steuereinrichtungen der Motorsteuervorrichtung 200 zu verwendenden Parameter durch ein maschinelles Lernen für entsprechende Wechselbedingungen einstellen.
  • Jeder der Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n führt ein maschinelles Lernen in Entsprechung zu jedem der n Teile der geteilten Bereiche der Achsenposition durch. Die Gesamtheit des maschinellen Lernens der Maschinelle-Lernen-Vorrichtung 500 wird auf die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n mittels der folgenden Methode verteilt.
  • Wenn der Bereich der Achsenposition in n Teile wie etwa in x0(=0)≦x<x1, x1≦x<x2 bis xn-1≦x<xn geteilt ist und die durch die Maschinelles-Lernen-Vorrichtung 500 von der Motorsteuervorrichtung 200 erhaltenen Rückkopplungsinformationen die Achsenpositionsinformationen enthalten, die angeben, dass die Achsenposition in dem Bereich von x0(=0)≦x<x1 ist, bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_1 zu lernen sind. Insbesondere wenn die Achsenposition basierend auf den aktuellen Achsenpositionsinformationen während des Betriebs eines Bewertungsbearbeitungsprogramms in dem oben genannten Bereich von x0(=0)≦x<x1 ist, bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_1 zu lernen sind.
  • Wenn die durch die Maschinelles-Lernen-Vorrichtung 500 von der Motorsteuervorrichtung 200 erhaltenen Rückkopplungsinformationen die Achsenpositionsinformationen enthalten, die angeben, dass die Achsenposition in dem Bereich von x1<x<x2 ist, bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_2 zu lernen sind. Insbesondere wenn die Achsenposition basierend auf den aktuellen Achsenpositionsinformationen während des Betriebs des Bewertungsbearbeitungsprogramms in dem oben genannten Bereich von x1≦x<x2 ist, bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_2 zu lernen sind.
  • Und wenn die durch die Maschinelles-Lernen-Vorrichtung 500 von der Motorsteuervorrichtung 200 erhaltenen Rückkopplungsinformationen die Achsenpositionsinformationen enthalten, die angeben, dass die Achsenposition in dem Bereich von xj-1≦x<xi ist (1 ≦i<n), bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_i zu lernen sind. Insbesondere wenn die Achsenposition in dem oben beschriebenen Bereich von xi-1≦x<xi ist, bestimmt die Maschinelles-Lernen-Vorrichtung 500, dass die Rückkopplungsinformationen durch den Maschinelles-Lernen-Teil 510_i zu lernen sind.
  • Es ist zu beachten, dass das Bewertungsbearbeitungsprogramm gesetzt ist, um den Bereich von x0≦x<xn abzudecken. Dadurch werden Parameter in Entsprechung zu allen Abschnitten x0(=0)≦x<x1, x1≦x<x2 bis xn-1≦x<xn erzeugt.
  • Nach dem maschinellen Lernen gibt der Optimale-Aktion-Informationen-Ausgabeteil 515 des Maschinelles-Lernen-Teils 510_1 die Wechselbedingung, die angibt, dass, wenn die Achsenposition in dem Bereich von x0(=0)≦x<x1 ist, die Steuereinrichtung den durch den Maschinelles-Lernen-Teil 510_1 erzeugten Parameter verwendet, zusammen mit dem Parameter zu der Parameterspeichervorrichtung 400 aus. Der Optimale-Aktion-Informationen-Ausgabeteil 515 des Maschinelles-Lernen-Teils 510_2 gibt die Wechselbedingung, die angibt, dass, wenn die Achsenposition in dem Bereich von x1≦x<x2 ist, die Steuereinrichtung den durch den Maschinelles-Lernen-Teil 510_2 erzeugten Parameter verwendet, zusammen mit dem Parameter zu der Parameterspeichervorrichtung 400 aus. Und der Optimale-Aktion-Informationen-Ausgabeteil 515 des Maschinelles-Lernen-Teils 510_i (1 ≦i<n) gibt die Wechselbedingung, die angibt, dass, wenn die Achsenposition in dem Bereich von xn-1≦x<x1 ist, die Steuereinrichtung den durch den Maschinelles-Lernen-Teil 510_i erzeugten Parameter verwendet, zusammen mit dem Parameter zu der Parameterspeichervorrichtung 400 aus.
  • [1.2 Motorsteuervorrichtung]
  • 3 ist ein Blockdiagramm, das ein Konfigurationsbeispiel der Motorsteuervorrichtung 200 zeigt. Der einfacheren Darstellung halber zeigt 3 weiterhin einen Positionsbefehl-Erzeugungsteil 1011, der in der CNC-Vorrichtung 100, der Wechselbestimmungsvorrichtung 300 und der Parameterspeichervorrichtung 400 enthalten ist. Es ist zu beachten, dass der Positionsbefehl-Erzeugungsteil 1011 der CNC-Vorrichtung 100 ein Funktionsblock ist, der konfiguriert ist zum Erzeugen eines Positionsbefehlswerts basierend auf einem Bearbeitungsprogramm.
  • Wie in 3 gezeigt, enthält die Motorsteuervorrichtung 200 einen Subtrahierer 2013, einen Positionssteuerteil 2014, einen Subtrahierer 2016, einen Geschwindigkeitssteuerteil 2017 und einen Integrator 2019. Die Komponenten der Motorsteuervorrichtung 200 sind jeweils für jeden Spindelmotor und jeden Servomotor vorgesehen.
  • Der Subtrahierer 2013 erhält den Positionsbefehlswert von der CNC-Vorrichtung 100 (dem Positionsbefehl-Erzeugungsteil 1011), berechnet eine Differenz zwischen dem Positionsbefehlswert und der für die Position rückgekoppelten Erfassungsposition und gibt die Differenz als einen Positionsfehler zu dem Positionssteuerteil 2014 aus.
  • Der Positionssteuerteil 2014 gibt zu dem Subtrahierer 2016 als einen Geschwindigkeitsbefehlswert einen durch das Multiplizieren des Positionsfehlers mit einer Positionsverstärkung KP erhaltenen Wert aus.
  • 4A zeigt die Konfiguration des Positionssteuerteils 2014. Der Positionssteuerteil 2014 enthält einen Positionssteuerteil 2014_1, einen Positionssteuerteil 2014_2 bis einen Positionssteuerteil 2014_n. Der Positionssteuerteil 2014_1 gibt zu dem Subtrahierer 2016 einen Wert, der durch das Multiplizieren des Positionsfehlers mit einer Positionsverstärkung KP1 erhalten wird, als einen Geschwindigkeitsbefehlswert aus. Der Positionssteuerteil 2014_2 gibt zu dem Subtrahierer 2016 einen Wert, der durch das Multiplizieren des Positionsfehlers mit einer Positionsverstärkung KP2 erhalten wird, als einen Geschwindigkeitsbefehlswert aus. Der Positionssteuerteil 2014_n gibt zu dem Subtrahierer 2016 einen Wert, der durch das Multiplizieren des Positionsfehlers mit einer Positionsverstärkung KPn erhalten wird, als einen Geschwindigkeitsbefehlswert aus.
  • Diese Positionsverstärkungen KP1, KP2 bis KPn sind die jeweils durch die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n der Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter. Diese Parameter werden durch die Maschinelles-Lernen-Vorrichtung 500 zu der Parameterspeichervorrichtung 400 ausgegeben, durch die Parameterspeichervorrichtung 400 zu der Wechselbestimmungsvorrichtung 300 ausgegeben und durch die Wechselbestimmungsvorrichtung 300 jeweils zu den Positionssteuerteilen 2014_1, 2014_2 bis 2014_n ausgegeben.
  • Nachdem die durch die Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter zu den Positionssteuerteilen 2014_1, 2014_2 bis 2014_n gesetzt wurden, werden die gesetzten Parameter nicht während der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten tatsächlichen Bearbeitung geändert.
  • Wie weiter unten beschrieben, bestimmt die Wechselbestimmungsvorrichtung 300 die Wechselbedingung basierend auf den Achsenpositionsinformationen und gibt an die Motorsteuervorrichtung 200 als die Wechselinformationen in Entsprechung zu dem Bestimmungsergebnis die Informationen aus, die angeben, welcher der Positionssteuerteile 2014_1, 2014_2 bis 2014_n als der Positionssteuerteil 2014 der Motorsteuervorrichtung 200 zu verwenden ist. Deshalb wird in der Motorsteuervorrichtung 200 der Positionssteuerteil 2014 zu einem der Positionssteuerteile 2014_1, 2014_2 bis 2014_n gewechselt.
  • Der Subtrahierer 2016 berechnet eine Differenz zwischen der Ausgabe des Positionssteuerteils 2014 und einem Geschwindigkeitserfassungswert in den Geschwindigkeitsrückkopplungsinformationen und gibt die Differenz als einen Geschwindigkeitsfehler zu dem Geschwindigkeitssteuerteil 2017 aus.
  • Der Geschwindigkeitssteuerteil 2017 addiert den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer proportionalen Verstärkung KV erhaltenen Wert und den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer integralen Verstärkung Kiv erhaltenen Integralwert und gibt den resultierenden Wert als einen Drehmomentbefehlswert zu dem Servomotor 800 aus.
  • 4B zeigt die Konfiguration des Geschwindigkeitssteuerteils 2017. Der Geschwindigkeitssteuerteil 2017 enthält einen Geschwindigkeitssteuerteil 2017_1, einen Geschwindigkeitssteuerteil 2017_2 bis einen Geschwindigkeitssteuerteil 2017_n.Der Geschwindigkeitssteuerteil 2017_1 addiert den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer proportionalen Verstärkung KV1 erhaltenen Wert und den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer integralen Verstärkung Kiv1 erhaltenen Integralwert und gibt den resultierenden Wert als einen Drehmomentbefehlswert zu dem Servomotor 800 aus. Der Geschwindigkeitssteuerteil 2017_2 addiert den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer proportionalen Verstärkung KV2 erhaltenen Wert und den durch das Multiplizieren des Geschwindigkeitsfehlers mit einem integralen Wert Kiv2 erhaltenen Integralwert und gibt den resultierenden Wert als einen Drehmomentbefehlswert zu dem Servomotor 800 aus. Der Geschwindigkeitssteuerteil 2017_n addiert den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer proportionalen Verstärkung KVn erhaltenen Wert und den durch das Multiplizieren des Geschwindigkeitsfehlers mit einer integralen Verstärkung Kivn erhaltenen Integralwert und gibt den resultierenden Wert als einen Drehmomentbefehlswert zu dem Servomotor 800 aus.
  • Diese proportionalen Verstärkungen KV1, KV2 bis KVn sind die jeweils durch die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n der Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter. Entsprechend sind die integralen Verstärkungen Kiv1, Kiv2 bis Kivn die jeweils durch die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n der Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter. Diese Parameter werden durch die Maschinelles-Lernen-Vorrichtung 500 zu der Parameterspeichervorrichtung 400 ausgegeben, durch die Parameterspeichervorrichtung 400 zu der Wechselbestimmungsvorrichtung 300 ausgegeben und durch die Wechselbestimmungsvorrichtung 300 zu jeweils den Geschwindigkeitssteuerteilen 2017_1, 2017_2 bis 2017_n ausgegeben.
  • Nachdem die durch die Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter zu den Geschwindigkeitssteuerteilen 2017_1, 2017_2 bis 2017_n gesetzt wurden, werden die gesetzten Parameter nicht während der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten tatsächlichen Bearbeitung geändert.
  • Wie weiter unten beschrieben, bestimmt die Wechselbestimmungsvorrichtung 300 die Wechselbedingung basierend auf den Achsenpositionsinformationen und gibt an die Motorsteuervorrichtung 200 als die Wechselinformationen in Entsprechung zu dem Bestimmungsergebnis die Informationen aus, die angeben, welcher der Geschwindigkeitssteuerteile 2017_1, 2017_2 bis 2017n als der Geschwindigkeitssteuerteil 2017 der Motorsteuervorrichtung 200 zu verwenden ist. Dadurch wird in der Motorsteuervorrichtung 200 der Geschwindigkeitssteuerteil 2017 zu einem der Geschwindigkeitssteuerteile 2017_1, 2017_2 bis 2017_n gewechselt.
  • Es ist zu beachten, dass die Maschinelles-Lernen-Vorrichtung 500 sowohl die in dem Positionssteuerteil 2014 zu verwendenden Parameter als auch die in dem Geschwindigkeitssteuerteil 2017 zu verwendenden Parameter wie oben beschrieben einstellt, wobei die Maschinelles-Lernen-Vorrichtung 500 alternativ dazu auch nur die erstgenannten oder zweitgenannten dieser Parameter einstellen kann.
  • 10 ist ein Blockdiagramm, das eine Werkzeugmaschine einschließlich des Servomotor s800 zeigt, der ein Beispiel für ein Steuerziel 700 der Motorsteuervorrichtung 200 ist. Die Motorsteuervorrichtung 200 bewegt den Tisch 804 über einen Kopplungsmechanismus 803 durch den Servomotor 800, um ein an dem Tisch 804 montiertes Werkstück zu bearbeiten. Der Kopplungsmechanismus 803 umfasst die mit dem Servomotor 800 verbundene Kopplung 8031, die an der Kopplung 8031 fixierte Kugelumlaufspindel 8033 und die auf die Kugelumlaufspindel 8033 geschraubte Mutter 8032. Bei einem drehenden Antrieb des Servomotors 800, bewegt sich die auf die Kugelumlaufspindel 8033 geschraubte Mutter 8032 in der Axialrichtung der Kugelumlaufspindel 8033. Der Tisch 804 bewegt sich, wenn sich die Mutter 8032 bewegt.
  • Die Drehwinkelposition des Servomotors 800, der das Steuerziel 700 ist, wird durch einen Drehcodierer 801 erfasst, der zu dem Servomotor 800 gehört und als ein Positionserfassungsteil dient. Das erfasste Signal wird als der für die Geschwindigkeit rückzukoppelnde Geschwindigkeitserfassungswert verwendet. Der Geschwindigkeitserfassungswert wird einer Integration durch den Integrator 2019 unterworfen, und der resultierende Wert wird als ein für die Position rückzukoppelnder Positionserfassungswert verwendet. Alternativ dazu wird im Fall eines Servomotors 800 mit einer linearen Skala der Positionsrückkopplungswert der linearen Skala anstelle des Integralwerts der Geschwindigkeitserfassungswerte des Integrators 2019 als der Positionserfassungswert verwendet. Die Motorsteuervorrichtung 200 ist wie weiter oben beschrieben konfiguriert.
  • [1.3 Beziehung der Achsenposition zu der Resonanzfrequenz und der Steifigkeit]
  • Weil wie weiter oben beschrieben die Übertragungseigenschaften von einem Drehmoment zu einer Position in Abhängigkeit von der Achsenposition variieren, wird der Parameter in zum Beispiel einer Rückkopplung-Steuereinrichtung oder einer Vorwärtskopplung-Steuereinrichtung für jede Achsenposition durch ein maschinelles Lernen eingestellt und wird der Parameter in Abhängigkeit von der Achsenposition gewechselt, um eine hohe Performanz bei der Steuerung zu erzielen. Weil also die Steifigkeit, die Resonanzfrequenz und die Antiresonanzfrequenz einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine in Abhängigkeit von der Achsenposition variieren, muss der Parameter für jede Achsenposition eingestellt werden, um eine hohe Performanz der Steuerung zu erzielen, und muss der Parameter oder die den Parameter verwendende Steuereinrichtung in Abhängigkeit von den für die Achsenposition relevanten Wechselbedingungen gewechselt werden. Die folgende Beschreibung bezieht sich auf den Betrieb der Wechselbestimmungsvorrichtung 300 in 3 für das Wechseln des Positionssteuerteils 2014 und des Geschwindigkeitssteuerteils 2017 in Abhängigkeit von den von der Motorsteuervorrichtung 200 erhaltenen Achsenpositionsinformationen. Es ist zu beachten, dass nachfolgend ein Beispiel beschrieben wird, in dem der Parameter basierend auf einer Vielzahl von Teilen von vorgegebenen Positionsinformationen (zum Beispiel den Positionen x1=0, 0,1,0,2 usw. (Meter)) gewechselt wird.
  • [1.4 Betrieb der Wechselbestimmungsvorrichtung]
  • 5 ist ein Flussdiagramm, das ein Beispiel für den Betrieb in der Steuereinrichtung-Wechselverarbeitung der Wechselbestimmungsvorrichtung 300 zeigt.
  • In Schritt S1 erhält die Wechselbestimmungsvorrichtung 300 eine Position x der Achse von der Motorsteuervorrichtung 200.
  • In Schritt S2 wird i=0 (x0=0) als ein Standardwert gesetzt.
  • Wenn in Schritt S3 die Position x der Achse ein Schwellwert xi oder größer und kleiner als ein Schwellwert xi+1 ist (S3: JA), schreitet die Verarbeitung zu Schritt S4 fort. Wenn die Position x der Achse den Schwellwert xi+1 überschreitet (S3: NEIN), schreitet die Verarbeitung zu Schritt S5 fort.
  • In Schritt S4 gibt die Wechselbestimmungsvorrichtung 300 an die Motorsteuervorrichtung 200 die Wechselinformationen aus, die angeben, dass ein Positionssteuerteil 2014_i+1 als der Positionssteuerteil 2014 zu verwenden ist, und/oder die Wechselinformationen, die angeben, dass ein Geschwindigkeitssteuerteil 2017_i+1 als der Geschwindigkeitssteuerteil 2017 zu verwenden ist. Insbesondere wenn die Maschinelles-Lernen-Vorrichtung 500 die Parameter für den Positionssteuerteil 2014 einstellt und der Positionssteuerteil 2014 n Einheiten von Steuereinrichtungen der Positionssteuerteile 2014_1, 2014_2 bis 2014_n enthält, gibt die Wechselbestimmungsvorrichtung 300 an die Motorsteuervorrichtung 200 die Wechselinformationen aus, die angeben, dass der Positionssteuerteil 2014_i+1 als der Positionssteuerteil 2014 zu verwenden ist. Wenn die Maschinelles-Lernen-Vorrichtung 500 die Parameter für den Geschwindigkeitssteuerteil 2017 einstellt und der Geschwindigkeitssteuerteil 2017 n Einheiten von Steuereinrichtungen der Geschwindigkeitssteuerteile 2017_1, 2017_2 bis 2017_n enthält, gibt die Wechselbestimmungsvorrichtung 300 an die Motorsteuervorrichtung 200 die Wechselinformationen aus, die angeben, dass der Geschwindigkeitssteuerteil 2017­_i+1 als der Geschwindigkeitssteuerteil 2017 zu verwenden ist. Danach kehrt die Verarbeitung zu Schritt S1 zurück.
  • in Schritt S5 wird 1 zu i addiert. Danach kehrt die Verarbeitung zu Schritt S3 zurück.
  • Es ist zu beachten, dass der Positionssteuerteil 2014 und der Geschwindigkeitssteuerteil 2017, die während des Betriebs der Motorsteuervorrichtung 200 zu verwenden sind, gemäß dem oben beschriebenen Fluss bestimmt werden, wobei der Positionssteuerteil 2014 und der Geschwindigkeitssteuerteil 2017 während der durch eine Werkzeugmaschine, einen Roboter oder einer Industriemaschine durchgeführten tatsächlichen Bearbeitung nicht gewechselt werden. Dadurch kann eine Variation in der Qualität der Bearbeitung durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine vermieden werden.
  • [2 Zweite Ausführungsform]
  • 6 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer Motorsteuervorrichtung 200A in einem Motorsteuersystem 10A gemäß der zweiten Ausführungsform zeigt. Der einfacheren Darstellung halber werden im Folgenden nur die Unterschiede zwischen dem Motorsteuersystem 10A und der Motorsteuervorrichtung 200A einerseits und dem Motorsteuersystem 10 und der Motorsteuervorrichtung 200 andererseits beschrieben und wird auf eine Beschreibung der jeweils gleichen Konfigurationen verzichtet.
  • In der Motorsteuervorrichtung 200 gemäß der ersten Ausführungsform enthält der Positionssteuerteil 2014 die Vielzahl von Positionssteuerteilen wie etwa die Positionssteuerteile 2014_1, 2014_2 bis 2014_n und enthält der Geschwindigkeitssteuerteil 2017 die Vielzahl von Geschwindigkeitssteuerteilen wie etwa die Geschwindigkeitssteuerteile 2017_1, 2017_2 bis 2017_n.Mit dieser Konfiguration wechselt in dem Motorsteuersystem 10 in Abhängigkeit von auf den Achsenpositionsinformationen basierenden Wechselbedingungen die Wechselbestimmungsvorrichtung 300 die Steuereinrichtung zwischen den Positionssteuerteilen 2014_1 , 2014_2 bis 2014_n und wechselt weiterhin die Steuereinrichtung zwischen den Geschwindigkeitssteuerteilen 2017_1, 2017_2 bis 2017_n.
  • Und obwohl in der Motorsteuervorrichtung 200A gemäß dieser Ausführungsform der Geschwindigkeitssteuerteil 2017 die Vielzahl von Geschwindigkeitssteuerteilen wie etwa die Geschwindigkeitssteuerteile 2017_1, 2017_2 bis 2017_n enthält, enthält ein Positionssteuerteil 2014A keine Vielzahl von Positionssteuerteilen. Mit dieser Konfiguration stellt in dem Motorsteuersystem 10A die Maschinelles-Lernen-Vorrichtung 500 einen oder mehrere Parameter für den Geschwindigkeitssteuerteil 2017 für jede Wechselbedingung ein und stellt keinen Parameter für den Positionssteuerteil 2014A ein. Eine Wechselbestimmungsvorrichtung 300A wechselt die Steuereinrichtung zwischen den Geschwindigkeitssteuerteilen 2017_1, 2017_2 bis 2017_n in Abhängigkeit von auf den Achsenpositionsinformationen basierenden Wechselbedingungen und wechselt die Steuereinrichtung des Positionssteuerteils 2014A nicht.
  • [3 Dritte Ausführungsform]
  • 7 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer Motorsteuervorrichtung 200B in einem Motorsteuersystem 10B gemäß der dritten Ausführungsform zeigt. Der einfacheren Darstellung halber werden im Folgenden nur die Unterschiede zwischen dem Motorsteuersystem 10B und der Motorsteuervorrichtung 200B einerseits und dem Motorsteuersystem 10 und der Motorsteuervorrichtung 200 andererseits beschrieben und wird auf eine Beschreibung der jeweils gleichen Konfigurationen verzichtet.
  • Die Motorsteuervorrichtung 200B enthält einen Positionsvorwärtskopplung-Steuerteil 2010 und einen Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 zusätzlich zu den in der Motorsteuervorrichtung 200 enthaltenen Komponenten.
  • Der Positionsvorwärtskopplung-Steuerteil 2020 führt die durch eine Übertragungsfunktion Ff(s) in der Gleichung (7) ausgedrückte Positionsvorwärtsberechnungsverarbeitung durch und gibt den resultierenden Wert zu einem Addierer 2015 aus.
    [Gleichung 7] F ƒ ( s ) = b 10 + b 11 s + b 12 s 2 + a 10 + a 11 2 + a 12 s 2 +
    Figure DE102019213924B4_0011
  • 8A zeigt die Konfiguration des Positionsvorwärtskopplung-Steuerteils 2020. Der Positionsvorwärtskopplung-Steuerteil 2020 enthält n Einheiten von Steuereinrichtungen wie etwa einen Positionsvorwärtskopplung-Steuerteil 2020_1, einen Positionsvorwärtskopplung-Steuerteil 2020_2 bis einen Positionsvorwärtskopplung-Steuerteil 2020_n. Der Positionsvorwärtskopplung-Steuerteil 2020_1 führt die durch Ff1(s) ausgedrückte Positionsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Ff(s) durch und gibt den resultierenden Wert zu dem Addierer 2015 aus. Der Positionsvorwärtskopplung-Steuerteil 2020_2 führt die durch Ff2(s) ausgedrückte Positionsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Ff(s) durch und gibt den resultierenden Wert zu dem Addierer 2015 aus. Der Positionsvorwärtskopplung-Steuerteil 2020_n führt die durch Ffn(s) ausgedrückte Positionsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Ff(s) durch und gibt den resultierenden Wert zu dem Addierer 2015 aus.
  • Die Koeffizienten dieser Übertragungsfunktionen Ff1(s), Ff2(s) bis Ffn(s) sind die jeweils durch die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n der Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter. Diese Parameter werden durch die Maschinelles-Lernen-Vorrichtung 500 zu der Parameterspeichervorrichtung 400 ausgegeben, werden durch die Parameterspeichervorrichtung 400 zu der Wechselbestimmungsvorrichtung 300 ausgegeben und werden durch die Wechselbestimmungsvorrichtung 300 jeweils zu den Positionsvorwärtskopplung-Steuerteilen 2020_1, 2020_2 bis 2020_n ausgegeben.
  • Eine Wechselbestimmungsvorrichtung 300B bestimmt die Wechselbedingung basierend auf den Achsenpositionsinformationen und gibt an die Motorsteuervorrichtung 200B als die Wechselinformationen in Entsprechung zu der als das Bestimmungsergebnis dienenden Wechselbedingung die Informationen aus, die angeben, welcher der Positionsvorwärtskopplung-Steuerteile 2020_1, 2020_2 bis 2020_n als der Positionsvorwärtskopplung-Steuerteil 2020 der Motorsteuervorrichtung 200B zu verwenden ist. Dadurch wird in der Motorsteuervorrichtung 200B der Positionsvorwärtskopplung-Steuerteil 2020 zu einem der Positionsvorwärtskopplung-Steuerteile 2020_1, 2020_2 bis 2020_n gewechselt.
  • Nachdem die durch die Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter zu den Positionsvorwärtskopplung-Steuerteilen 2020_1, 2020_2 bis 2020_n gesetzt wurden, werden die Parameter während der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten tatsächlichen Bearbeitung nicht geändert.
  • Der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 führt die durch eine Übertragungsfunktion Gf(s) in der Gleichung (8) ausgedrückte Geschwindigkeitsvorwärtskopplungsberechnungsverarbeitung durch und gibt den resultierenden Wert zu einem Addierer 2018 aus
    [Gleichung 8] G ƒ ( s ) = b 20 + b 21 s + b 22 s 2 + a 20 + a 21 s + a 22 s 2 +
    Figure DE102019213924B4_0012
  • 8B zeigt die Konfiguration des Geschwindigkeitsvorwärtskopplung-Steuerteils 2021. Der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 enthält einen Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_1, einen Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_2 bis einen Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_n. Der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_1 führt die durch Gf1(s) ausgedrückte Geschwindigkeitsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Gf(s) durch und gibt den resultierenden Wert zu dem Addierer 2018 aus. Der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_2 führt die durch Gf2(s) ausgedrückte Geschwindigkeitsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Gf(s) durch und gibt den resultierenden Wert zu dem Addierer 2018 aus. Der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021_n führt die durch Gfn(s) ausgedrückte Geschwindigkeitsvorwärtskopplungberechnungsverarbeitung als die Übertragungsfunktion Gf(s) durch und gibt den resultierenden Wert zu dem Addierer 2018 aus.
  • Die Koeffizienten in diesen Übertragungsfunktionen Gf1(s), Gf2(s) bis Gfn(s) sind Parameter, die jeweils durch die Maschinelles-Lernen-Teile 510_1, 510_2 bis 510_n der Maschinelles-Lernen-Vorrichtung 500 eingestellt werden. Diese Parameter werden durch die Maschinelles-Lernen-Vorrichtung 500 zu der Parameterspeichervorrichtung 400 ausgegeben, durch die Parameterspeichervorrichtung 400 zu der Wechselbestimmungsvorrichtung 300 ausgegeben und durch die Wechselbestimmungsvorrichtung 300 jeweils zu den Geschwindigkeitsvorwärtskopplung-Steuerteilen 2021_1, 2021_2 bis 2021_n ausgegeben.
  • Nachdem die durch die Maschinelles-Lernen-Vorrichtung 500 eingestellten Parameter zu den Geschwindigkeitsvorwärtskopplung-Steuerteilen 2021_1, 2021_2 bis 2021_n gesetzt wurden, werden die gesetzten Parameter während der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten tatsächlichen Bearbeitung nicht geändert.
  • Die Wechselbestimmungsvorrichtung 300B bestimmt die Wechselbedingung basierend auf den Achsenpositionsinformationen und gibt zu der Motorsteuervorrichtung 200B als die Wechselinformationen in Entsprechung zu dem Bestimmungsergebnis die Informationen aus, die angeben, welcher der Geschwindigkeitsvorwärtskopplung-Steuerteile 2021_1, 2021_2 bis 2021_n als der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 der Motorsteuervorrichtung 200 zu verwenden ist. Dadurch wird in der Motorsteuervorrichtung 200B der Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 zu einem der Geschwindigkeitsvorwärtskopplung-Steuerteile 2021_1, 2021_2 bis 2021_n gewechselt.
  • Es ist zu beachten, dass die Maschinelles-Lernen-Vorrichtung 500 sowohl die in dem Positionsvorwärtskopplung-Steuerteil 2020 zu verwendenden Parameter als auch die in dem Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 zu verwendenden Parameter oder alternativ dazu nur die erstgenannten oder zweitgenannten dieser Parameter einstellen kann.
  • Die Wechselbestimmungsvorrichtung 300B kann beide Steuereinrichtungen wechseln, d.h. die Steuereinrichtung zwischen den Positionsvorwärtskopplung-Steuerteilen 2020_1, 2020_2 bis 2020_n wechseln und die Steuereinrichtung zwischen den Positionsvorwärtskopplung-Steuerteilen 2021_1, 2021_2 bis 2021_n wechseln, oder kann alternativ dazu nur die erstgenannte oder nur die zweitgenannte wechseln.
  • [4 Ausführungsform]
  • 9 ist ein Blockdiagramm, das ein Konfigurationsbeispiel einer Motorsteuervorrichtung 200C in einem Motorsteuersystem 10C gemäß der vierten Ausführungsform zeigt. Der einfacheren Darstellung halber werden im Folgenden nur die Unterschiede zwischen dem Motorsteuersystem 10C und der Motorsteuervorrichtung 200C einerseits und dem Motorsteuersystem 10 und der Motorsteuervorrichtung 200 andererseits beschrieben und wird auf eine Beschreibung der jeweils gleichen Konfigurationen verzichtet.
  • In jedem der Motorsteuersysteme 10 bis 10B stellt die Maschinelles-Lernen-Vorrichtung 500 einen oder mehrere Parameter für jede Steuereinrichtung in Abhängigkeit von jeder Wechselbedingung ein und wird jeder eingestellte Parameter zu jedem aus der Vielzahl von Steuerteilen in dem Positionssteuerteil 2014, dem Geschwindigkeitssteuerteil 2017, dem Positionsvorwärtskopplung-Steuerteil 2020 und dem Geschwindigkeitsvorwärtskopplung-Steuerteil 2021 gesetzt. Danach bestimmt jede der Wechselbestimmungsvorrichtungen 300 bis 300B eine Wechselbedingung basierend auf den Achsenpositionsinformationen und gibt zu jeder der Motorsteuervorrichtungen 200 bis 200B die Wechselinformationen aus, die angeben, dass die Steuereinrichtung in Entsprechung zu dem Bestimmungsergebnis innerhalb der Vielzahl von Steuerteilen auszuwählen ist.
  • Weiterhin enthält in der Motorsteuervorrichtung 200C gemäß der vierten Ausführungsform jeder des Positionssteuerteils 2014C, des Geschwindigkeitssteuerteils 2017C, des Positionsvorwärtskopplung-Steuerteils 2020C und des Geschwindigkeitsvorwärtskopplung-Steuerteils 2021C einen Steuerteil. Eine Wechselbestimmungsvorrichtung 300C bestimmt eine Wechselbedingung basierend auf den Achsenpositionsinformationen, wählt einen oder mehrere Parameter für jede Steuereinrichtung in Entsprechung zu dem Bestimmungsergebnis aus einer Vielzahl von Parametern aus und setzt den Parameter jeweils zu dem Positionssteuerteil 2014C, dem Geschwindigkeitssteuerteil 2017C, dem Positionsvorwärtskopplung-Steuerteil 2020C und dem Geschwindigkeitsvorwärtskopplung-Steuerteil 2021C.
  • 9 zeigt einen Aspekt, in dem die Wechselbestimmungsvorrichtung 300C die in dem Positionsvorwärtskopplung-Steuerteil 2020C und dem Geschwindigkeitsvorwärtskopplung-Steuerteil 2021C zu verwendenden Parameter auswählt und die entsprechenden Parameter zu dem Positionsvorwärtskopplung-Steuerteil 2020C und dem Geschwindigkeitsvorwärtskopplung-Steuerteil 2021C gesetzt werden. Die Erfindung ist jedoch nicht darauf beschränkt. Die Wechselbestimmungsvorrichtung 300C kann einen oder mehrere Parameter für die Verwendung in einem beliebigen Steuerteil innerhalb des Positionssteuerteils 2014C, des Geschwindigkeitssteuerteils 2017C, des Positionsvorwärtskopplung-Steuerteils 2020C und des Geschwindigkeitsvorwärtskopplung-Steuerteils 2021C auswählen und kann den Parameter in dem Steuerteil setzen.
  • [5 Modifikationen]
  • [5.1 Modifikation 1]
  • In jeder der oben beschriebenen Ausführungsformen ist die Maschinelles-Lernen-Vorrichtung 500 konfiguriert zum Einstellen eines Parameters oder eines Satzes von Parametern für eine Wechselbedingung und zum Setzen des einen Parameters oder des einen Satzes von Parametern zu jedem Steuerteil. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. In einem Beispiel können eine Vielzahl von Parametern für eine Wechselbedingung in Abhängigkeit von dem Qualitätsgrad der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten Bearbeitung eingestellt werden und kann die Parameterspeichervorrichtung 400 die Vielzahl von Typen von Parametern speichern. In diesem Fall kann in einem Beispiel jede der Wechselbestimmungsvorrichtungen 300 bis 300C mit einer Anzeigevorrichtung (nicht gezeigt) konfiguriert sein, um die Vielzahl von Typen von Parametern anzuzeigen, sodass ein Benutzer einen beliebigen Parameter über einen an der Anzeigevorrichtung vorgesehenen Eingabeteil wie etwa ein Berührungspaneel auswählt, um den ausgewählten Parameter zu jedem der Steuerteile zu setzen. Wenn ein Parameter durch das erneute Durchführen des maschinellen Lernens aktualisiert wird, kann die Parameterspeichervorrichtung 400 eine neue Versionszahl zuweisen und zusätzlich speichern, um eine Versionssteuerung von Parametern durchzuführen, anstatt bereits gespeicherte Parameter zu überschreiben. Auf diese Weise können die Parameter der letzten Version in einem normalen Fall verwendet werden und können die zuvor gesetzten Parameter als der optimale Wert verwendet werden, zum Beispiel wenn eine Anormalität auftritt.
  • [5.2 Modifikation 2]
  • In jeder der oben beschriebenen Ausführungsformen wird ein zuvor gesetztes Bewertungsprogramm ausgeführt, sodass die Maschinelles-Lernen-Vorrichtung 500 ein maschinelles Lernen durchführt und dadurch die Parameter eingestellt werden. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Die Parameter können durch ein maschinelles Lernen während der durch eine Werkzeugmaschine, einen Roboter oder eine Industriemaschine durchgeführten tatsächlichen Bearbeitung eingestellt werden.
  • [5.3 Modifikation 3]
  • In jeder der oben beschriebenen Ausführungsformen sind die Motorsteuervorrichtungen 200 bis 200C, die Wechselbestimmungsvorrichtungen 300 bis 300C, die Parameterspeichervorrichtung 400 und die Maschinelles-Lernen-Vorrichtung 500 als jeweils individuelle Vorrichtungen konfiguriert. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. In einem Gehäuse, in dem eine der Motorsteuervorrichtungen 200 bis 200C enthalten ist, kann auch wenigstens eine der Wechselbestimmungsvorrichtungen 300 bis 300C, der Parameterspeichervorrichtung 400 und der Maschinelles-Lernen-Vorrichtung 500 aufgenommen sein.
  • Jede der oben beschriebenen Komponenten in den Motorsteuervorrichtungen und den Motorsteuersystemen kann durch Hardware, Software oder eine Kombination aus denselben realisiert werden. Das durch die Zusammenwirkung der oben beschriebenen Komponenten ausgeführte Steuerverfahren in den Motorsteuervorrichtungen und den Motorsteuersystemen kann auch durch Hardware, Software oder eine Kombination aus diesen realisiert werden. Unter einer Realisierung durch Software ist zu verstehen, dass ein Computer ein Programm liest und ausführt.
  • Programme werden unter Verwendung von verschiedenen Typen von nicht-transitorischen, computerlesbaren Medien gespeichert und können zu einem Computer zugeführt werden. Nicht-transitorische, computerlesbare Medien umfassen verschiedene Typen von greifbaren Speichermedien. Beispiele für nicht-transitorische, computerlesbare Medien sind: ein magnetisches Aufzeichnungsmedium (z.B. eine Diskette, ein Magnetband, ein Festplattenlaufwerk); ein magnetooptisches Aufzeichnungsmedium (z.B. eine magnetooptische Platte); eine CD-ROM; eine CD-R; eine CD-R/W; und ein Halbleiterspeicher (z.B. ein Masken-ROM, ein PROM (ein programmierbarer ROM), ein EPROM (ein löschbarer ROM), ein Flash-ROM und ein RAM). Programme werden zu einem Computer durch verschiedene Typen von transitorischen computerlesbaren Medien zugeführt. Beispiele für transitorische, computerlesbare Medien sind ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Ein transitorisches, computerlesbares Medium kann ein Programm zu einem Computer über einen drahtgebundenen Kommunikationspfad wie etwa einen Draht und einen Lichtwellenleiter oder einen drahtlosen Kommunikationspfad zuführen.
  • Bezugszeichenliste
  • 10, 10A, 10B, 10C
    Motorsteuersystem
    100
    CNC-Vorrichtung
    200, 200A, 200B, 200C
    Motorsteuervorrichtung
    300, 300A, 300B, 300C
    Wechselbestimmungsvorrichtung
    400
    Parameterspeichervorrichtung
    500
    Maschinelles-Lernen-Vorrichtung
    2014
    Positionssteuerteil
    2017
    Geschwindigkeitssteuerteil
    2020
    Positionsvorwärtskopplung-Steuerteil
    2021
    Geschwindigkeitsvorwärtskopplung-Steuertei

Claims (5)

  1. Motorsteuervorrichtung (200), die eine für das Steuern eines Servomotors oder Spindelmotors einer Werkzeugmaschine, eines Roboters oder einer Industriemaschine konfigurierte Steuereinrichtung umfasst, wobei die Motorsteuervorrichtung (200) umfasst: einen Wechselbestimmungsteil (300) oder eine erste Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Wechselbestimmungsteil (300), wobei der Wechselbestimmungsteil (300) konfiguriert ist zum Bestimmen einer Wechselbedingung der Steuereinrichtung basierend auf Positionsinformationen zu einer Achse für die Steuerung der Motorsteuervorrichtung (200), einen Maschinelles-Lernen-Teil (500) oder eine zweite Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Maschinelles-Lernen-Teil (500), wobei der Maschinelles-Lernen-Teil (500) konfiguriert ist zum Einstellen eines oder mehrerer Parameter für die Steuereinrichtung durch ein maschinelles Lernen für jede der Wechselbedingungen, und einen Parameterspeicherteil (400) oder eine dritte Kommunikationseinrichtung, die konfiguriert ist zum Kommunizieren mit dem Parameterspeicherteil (400), wobei der Parameterspeicherteil (400) konfiguriert ist zum Speichern des durch den Maschinelles-Lernen-Teil (500) für jede der Wechselbedingungen eingestellten Parameters, wobei, wenn der Wechselbestimmungsteil (300) die Wechselbedingung nach einer Einstellung des Parameters bestimmt, er den eingestellten Parameter in Entsprechung zu der Wechselbedingung in der Steuereinrichtung verwendet.
  2. Motorsteuervorrichtung (200) nach Anspruch 1, wobei die Motorsteuervorrichtung (200) umfasst: einen Positionsbefehl-Erzeugungsteil (1011), der konfiguriert ist zum Erzeugen eines Positionsbefehls in Bezug auf die Achse, einen Positionserfassungsteil, der konfiguriert ist zum Erfassen einer Position in Bezug auf die Achse, eine Positionssteuereinrichtung (2014), die konfiguriert ist zum Erzeugen eines Geschwindigkeitsbefehls unter Verwendung des Positionsbefehls und von Rückkopplungsinformationen zu der durch den Positionserfassungsteil erfassten Position, einen Geschwindigkeitserfassungsteil, der konfiguriert ist zum Erfassen einer Geschwindigkeit, und eine Geschwindigkeitssteuereinrichtung (2017), die konfiguriert ist zum Erzeugen eines Drehmomentbefehls unter Verwendung des durch die Positionssteuereinrichtung erzeugten Geschwindigkeitsbefehls und von Rückkopplungsinformationen zu der durch den Geschwindigkeitserfassungsteil erfassten Geschwindigkeit, wobei der Maschinelles-Lernen-Teil (500) einen Parameter für die Positionssteuereinrichtung (2014) oder die Geschwindigkeitssteuereinrichtung (2017) für jede der Wechselbedingungen einstellt.
  3. Motorsteuervorrichtung (200) nach Anspruch 1, wobei die Motorsteuervorrichtung (200) umfasst: einen Geschwindigkeitsbefehl-Erzeugungsteil, der konfiguriert ist zum Erzeugen des Geschwindigkeitsbefehls, einen Geschwindigkeitserfassungsteil, der konfiguriert ist zum Erfassen der Geschwindigkeit, und eine Geschwindigkeitssteuereinrichtung, die konfiguriert ist zum Erzeugen eines Drehmomentbefehls unter Verwendung des Geschwindigkeitsbefehls und von Rückkopplungsinformationen zu der durch den Geschwindigkeitserfassungsteil erfassten Geschwindigkeit, wobei der Maschinelles-Lernen-Teil (500) einen Parameter für die Geschwindigkeitssteuereinrichtung für jede der Wechselbedingungen einstellt.
  4. Motorsteuervorrichtung (200) nach Anspruch 1, wobei die Motorsteuervorrichtung (200) umfasst: eine Positionsvorwärtskopplung-Steuereinrichtung (2020) und/oder eine Geschwindigkeitsvorwärtskopplung-Steuereinrichtung (2021), wobei die Geschwindigkeitsvorwärtskopplung-Steuereinrichtung (2020) konfiguriert ist zum Erzeugen von Positionsvorwärtskopplungsinformationen unter Verwendung des Positionsbefehls und wobei die Geschwindigkeitsvorwärtskopplung-Steuereinrichtung (2021) konfiguriert ist zum Erzeugen von Geschwindigkeitsvorwärtskopplungsinformationen unter Verwendung des Positionsbefehls, wobei der Maschinelles-Lernen-Teil (500) einen oder mehrere Parameter für die Positionsvorwärtskopplung-Steuereinrichtung (2020) und/oder die Geschwindigkeitsvorwärtskopplung-Steuereinrichtung (2021) für jede der Wechselbedingungen einstellt.
  5. Motorsteuervorrichtung (200) nach einem der Ansprüche 1 bis 4, wobei der Maschinelles-Lernen-Teil (500) eine Vielzahl von verschiedenen Typen von Parametern für eine der Wechselbedingungen einstellt, und der Wechselbestimmungsteil (300) einen aus der Vielzahl von Parametern in der Steuereinrichtung ausgewählten Parameter verwendet.
DE102019213924.8A 2018-09-21 2019-09-12 Motorsteuervorrichtung Active DE102019213924B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018177726A JP6806746B2 (ja) 2018-09-21 2018-09-21 モータ制御装置
JP2018-177726 2018-09-21

Publications (2)

Publication Number Publication Date
DE102019213924A1 DE102019213924A1 (de) 2020-04-02
DE102019213924B4 true DE102019213924B4 (de) 2023-02-09

Family

ID=69781642

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019213924.8A Active DE102019213924B4 (de) 2018-09-21 2019-09-12 Motorsteuervorrichtung

Country Status (4)

Country Link
US (1) US10739734B2 (de)
JP (1) JP6806746B2 (de)
CN (1) CN110941242B (de)
DE (1) DE102019213924B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7021160B2 (ja) * 2019-09-18 2022-02-16 株式会社東芝 ハンドリング装置、ハンドリング方法及びプログラム
JP7484382B2 (ja) * 2020-04-24 2024-05-16 横河電機株式会社 制御装置、制御方法および制御プログラム
DE112021003494T5 (de) * 2020-08-24 2023-04-20 Fanuc Corporation Steuervorrichtung für elektromotor, maschinensystem und steuerverfahren

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263143A (ja) 1995-03-23 1996-10-11 Fanuc Ltd 外乱オブザーバを用いた制御ゲイン切り替え方式
US5936366A (en) 1997-09-25 1999-08-10 Toshiba Kikai Kabushiki Kaisha Servo adjustment method and apparatus thereof
JPH11231914A (ja) 1998-02-12 1999-08-27 Toyoda Mach Works Ltd 数値制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62203203A (ja) * 1986-03-03 1987-09-07 Sumitomo Electric Ind Ltd サ−ボ回路
JPH0720905A (ja) * 1993-07-02 1995-01-24 Toei Denki Kk サーボ制御装置
ATE171551T1 (de) * 1994-04-08 1998-10-15 Siemens Ag Einrichtung zur kompensation von nichtlinearitäten an maschinenachsen
US5751585A (en) * 1995-03-20 1998-05-12 Electro Scientific Industries, Inc. High speed, high accuracy multi-stage tool positioning system
JP3252695B2 (ja) * 1996-03-01 2002-02-04 松下電器産業株式会社 電動機制御装置
JP2000293234A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd モータ制御ゲイン切替方法
CN100470433C (zh) * 2003-04-11 2009-03-18 三菱电机株式会社 伺服控制器
JP4575508B1 (ja) * 2009-05-20 2010-11-04 ファナック株式会社 デュアル位置フィードバック制御を行うサーボ制御装置
JP5816812B2 (ja) * 2011-06-07 2015-11-18 パナソニックIpマネジメント株式会社 モータ駆動装置
JP5850960B2 (ja) * 2014-02-06 2016-02-03 ファナック株式会社 位置検出器の内挿誤差を補正するモータ制御装置
JP5919329B2 (ja) * 2014-06-12 2016-05-18 ファナック株式会社 制御軸切換えを行う数値制御装置
JP5987081B1 (ja) * 2015-04-02 2016-09-06 ファナック株式会社 基準軸を切り替えて学習制御を行うサーボ制御装置
JP6457369B2 (ja) * 2015-09-30 2019-01-23 ファナック株式会社 パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置
JP6140331B1 (ja) * 2016-04-08 2017-05-31 ファナック株式会社 主軸または主軸を駆動するモータの故障予知を学習する機械学習装置および機械学習方法、並びに、機械学習装置を備えた故障予知装置および故障予知システム
CN106357192A (zh) * 2016-09-05 2017-01-25 桂林电子科技大学 电流自适应控制降低开关磁阻电机转矩脉动的方法与系统
JP6457472B2 (ja) * 2016-12-14 2019-01-23 ファナック株式会社 制御システム及び機械学習装置
WO2018151215A1 (ja) * 2017-02-20 2018-08-23 株式会社安川電機 制御装置及び制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263143A (ja) 1995-03-23 1996-10-11 Fanuc Ltd 外乱オブザーバを用いた制御ゲイン切り替え方式
US5936366A (en) 1997-09-25 1999-08-10 Toshiba Kikai Kabushiki Kaisha Servo adjustment method and apparatus thereof
JPH11231914A (ja) 1998-02-12 1999-08-27 Toyoda Mach Works Ltd 数値制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MNIH, Volodymyr [u.a.]: Human-level control through deep reinforcement learning. In: Nature, Bd. 518, 2015, H. 7540, S. 529-533. - ISSN 0028-0836 (P), 1476-4687 (E). DOI: 10.1038/nature14236.

Also Published As

Publication number Publication date
US20200096955A1 (en) 2020-03-26
US10739734B2 (en) 2020-08-11
JP2020047228A (ja) 2020-03-26
DE102019213924A1 (de) 2020-04-02
CN110941242A (zh) 2020-03-31
CN110941242B (zh) 2024-04-02
JP6806746B2 (ja) 2021-01-06

Similar Documents

Publication Publication Date Title
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102019213924B4 (de) Motorsteuervorrichtung
DE102009058443B4 (de) Trägheitsschätzsteuerungseinrichtung und Steuerungssystem
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102019204861B4 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102018211148A1 (de) Maschinenlernvorrichtung, servomotor- regeleinrichtung, servomotor-regelsystem und maschinenlernverfahren
DE102018003769A1 (de) Vorrichtung für maschinelles Lernen, Servosteuersystem und Verfahren zum maschinellen Lernen
DE102018203956B4 (de) Maschinelle Lernvorrichtung, Servosteuerungsvorrichtung, Servosteuerungssystem und maschinelles Lernverfahren
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102018004048B4 (de) Steuerung und Maschinenlernvorrichtung
US11592789B2 (en) Output device, control device, and method for outputting evaluation functions and machine learning results
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters
DE102019202701A1 (de) Einstelleinrichtung und Einstellverfahren
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102020203758A1 (de) Maschinenlernvorrichtung, steuervorrichtung und verfahren zummaschinenlernen
DE102018000788A1 (de) Servosteuereinheit
DE102020122373A1 (de) Vorrichtung für maschinelles Lernen, Servosteuervorrichtung, Servosteuersystem und Verfahren für maschinelles Lernen
US11029650B2 (en) Machine learning device, control system, and machine learning method
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102020201613A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung und Verfahren zum Festlegen eines Suchbereichs für maschinelles Lernen
DE102019216190A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Bewertungsfunktionswerts
DE102015008246A1 (de) Numerische Steuerung mit Werkzeugspitzenpunktsteuerungsfunktion
DE102017217270B4 (de) Servomotorsteuervorrichtung, Servomotorsteuerverfahren und Programm zum Steuern eines Servomotors

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final