DE112018007687T5 - Machine learning device, numerical control device, machine tool, and machine learning method - Google Patents

Machine learning device, numerical control device, machine tool, and machine learning method Download PDF

Info

Publication number
DE112018007687T5
DE112018007687T5 DE112018007687.3T DE112018007687T DE112018007687T5 DE 112018007687 T5 DE112018007687 T5 DE 112018007687T5 DE 112018007687 T DE112018007687 T DE 112018007687T DE 112018007687 T5 DE112018007687 T5 DE 112018007687T5
Authority
DE
Germany
Prior art keywords
workpiece
chuck
unit
position command
axis direction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112018007687.3T
Other languages
German (de)
Inventor
Yuta Kato
Taichi ISHIDA
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112018007687T5 publication Critical patent/DE112018007687T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2270/00Details of turning, boring or drilling machines, processes or tools not otherwise provided for
    • B23B2270/12Centering of two components relative to one another
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B31/00Chucks; Expansion mandrels; Adaptations thereof for remote control
    • B23B31/02Chucks
    • B23B31/24Chucks characterised by features relating primarily to remote control of the gripping means
    • 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/402Numerical 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 arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • 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/49Nc machine tool, till multiple
    • G05B2219/49184Compensation for bending of workpiece, flexible workpiece

Abstract

Ein Maschinelles-Lernen-Gerät (20), welches einen Positionsbefehl (53) an eine Treibereinheit (37) lernt, welche ein Beladerspannfutter (32) bewegt, wenn ein Werkstück (40) zwischen dem Beladerspannfutter (32), welches das Werkstück (40) greift und weitergibt, und einem Drehfutter (31), welches greift, um das Werkstück (40) entgegenzunehmen, übergeben wird, umfasst: eine Zustandsbeobachtungseinheit (25), welche als Zustandsvariablen (56) den Positionsbefehl (53) an die Treibereinheit (37) und Feedback-Daten von der Treibereinheit (37) beobachtet; und eine Lerneinheit (21), welche den Positionsbefehl (53), welcher einen Versatz einer Übergabeposition des Werkstücks (40) zwischen dem Beladerspannfutter (32) und dem Drehfutter (31) reduziert, in Abhängigkeit eines Datensatzes lernt, welcher basierend auf den Zustandsvariablen (56) erzeugt ist.A machine learning device (20) which learns a position command (53) to a driver unit (37) which moves a loader chuck (32) when a workpiece (40) is between the loader chuck (32), which the workpiece (40 ) grips and forwards, and a lathe chuck (31), which grips in order to receive the workpiece (40), is transferred, comprises: a state monitoring unit (25) which sends the position command (53) to the driver unit (37) as state variables (56) ) and feedback data from the driver unit (37) observed; and a learning unit (21) which learns the position command (53), which reduces an offset of a transfer position of the workpiece (40) between the loader chuck (32) and the lathe chuck (31), as a function of a data set which is based on the state variables ( 56) is generated.

Description

BereichArea

Die vorliegende Erfindung betrifft ein Maschinelles-Lernen-Gerät, welches Operationen des Übergebens eines Werkstücks lernt, ein numerisches Steuerungsgerät, ein Maschinenwerkzeug und ein Maschinenlernverfahren.The present invention relates to a machine learning apparatus which learns operations of handing over a workpiece, a numerical control apparatus, a machine tool, and a machine learning method.

Hintergrundbackground

Bei einem Maschinenwerkzeug, wie beispielsweise einer Drehmaschine, bewegt während einer Operation des Übergebens eines Werkstücks zwischen einem Spannfutter, welches das Werkstück greift und das Werkstück weitergibt, und einem Spannfutter, welches das Werkstück greift, um das Werkstück entgegenzunehmen, ein Belader, welcher das Werkstück befördert, das Werkstück, welches durch das weitergebende Spannfutter gegriffen ist, an eine Werkstückübergabeposition. In einigen Fällen kann das Werkstück nicht zu der Mittenposition eines Spannfutterbereichs des Spannfutters, welches das Werkstück entgegennimmt, bewegt werden, weil, wenn das Werkstück ein längliches Werkstück ist, das Werkstück gekrümmt ist oder beispielsweise weil das Spannfutter versagt, das Werkstück zu greifen. Weil beim Übergeben eines Werkstücks, wie oben geschrieben, die Übergabe scheitern kann, wenn die Übergabeposition gegenüber einer geeigneten Position versetzt ist, wird eine Technologie zum Reduzieren oder Verhindern eines Versatzes einer Übergabeposition gewünscht.In a machine tool such as a lathe, during an operation of transferring a workpiece between a chuck that grips the workpiece and passes the workpiece, and a chuck that grips the workpiece to receive the workpiece, a loader that the workpiece conveys the workpiece, which is gripped by the transferring chuck, to a workpiece transfer position. In some cases, the workpiece cannot be moved to the center position of a chuck portion of the chuck receiving the workpiece because, when the workpiece is an elongated workpiece, the workpiece is curved or, for example, because the chuck fails to grip the workpiece. Because, when handing over a workpiece, as described above, the handover may fail if the handover position is offset from a suitable position, a technology for reducing or preventing an offset of a handover position is desired.

Ein Beladersteuerungsgerät, welches in Patentliteratur 1 beschrieben ist, erzeugt eine Funktion der Korrelation zwischen einem Versatzwert einer Werkstückübergabeposition und einem Motordrehmoment eines Servomotors, welcher einen Belader treibt, schätzt einen Versatzwert der Übergabeposition basierend auf der Korrelation und einem gemessenen Motordrehmoment und korrigiert die Übergabeposition basierend auf dem geschätzten Versatzwert.A loader control apparatus described in Patent Literature 1 generates a function of the correlation between an offset value of a workpiece transfer position and a motor torque of a servomotor driving a loader, estimates an offset value of the transfer position based on the correlation and a measured motor torque, and corrects the transfer position based on the estimated offset value.

Zi tierungslisteCitation list

PatentliteraturPatent literature

Patentliteratur 1: japanische Patentanmeldung, Veröffentlichungsnummer 2002-187040 Patent Literature 1: Japanese Patent Application, Publication Number 2002-187040

ZusammenfassungSummary

Technisches ProblemTechnical problem

Weil jedoch in der oben genannten Patentliteratur 1 die Funktion, welche die Korrelation ausdrückt, eine fixe Funktion ist, nimmt die Wahrscheinlichkeit des Scheiterns der Übergabe eines Werkstücks selbst nach Wiederholungen der Operation der Übergabe des Werkstücks nicht ab.However, in the above-mentioned Patent Literature 1, since the function expressing the correlation is a fixed function, the possibility of failure of the transfer of a workpiece does not decrease even after repetitions of the operation of transferring the workpiece.

Die vorliegende Erfindung wurde in Anbetracht des Obigen gemacht und ein Ziel davon ist es, ein Maschinelles-Lernen-Gerät bereitzustellen, welches fähig ist, die Wahrscheinlichkeit des Scheiterns des Übergebens eines Werkstücks zu reduzieren, indem Operationen des Übergebens eines Werkstücks gelernt werden.The present invention has been made in view of the above, and an object thereof is to provide a machine learning apparatus capable of reducing the possibility of failing to handover a workpiece by learning operations of handing over a workpiece.

Lösung des Problemsthe solution of the problem

Um die vorgenannten Probleme zu lösen und das Ziel zu erreichen, stellt ein Aspekt der vorliegenden Erfindung ein Maschinelles-Lernen-Gerät bereit, welches einen Positionsbefehl an eine Treibervorrichtung lernt, welche ein erstes Spannfutter bewegt, wenn ein Werkstück zwischen dem ersten Spannfutter, welches das Werkstück greift und weitergibt, und einem zweiten Spannfutter, welches greift, um das Werkstück entgegenzunehmen, übergeben wird. Das Maschinelles-Lernen-Gerät umfasst: eine Zustandsbeobachtungseinheit zum Beobachten, als einer Zustandsvariable, des Positionsbefehls an die Treibervorrichtung und von Feedback-Daten von der Treibervorrichtung; und eine Lerneinheit zum Lernen des Positionsbefehls, welcher einen Versatz einer Übergabeposition des Werkstücks zwischen dem ersten Spannfutter und dem zweiten Spannfutter reduziert, in Abhängigkeit eines Datensatzes, welcher basierend auf der Zustandsvariable erzeugt ist.In order to solve the aforementioned problems and achieve the object, one aspect of the present invention provides a machine learning device that learns a position command to a driving device that moves a first chuck when a workpiece is between the first chuck having the Workpiece grips and passes on, and a second chuck, which grips in order to receive the workpiece, is transferred. The machine learning apparatus includes: a state observation unit for observing, as a state variable, the position command to the driving device and feedback data from the driving device; and a learning unit for learning the position command, which reduces an offset of a transfer position of the workpiece between the first chuck and the second chuck, depending on a data set which is generated based on the state variable.

Vorteilhafte Wirkungen der ErfindungAdvantageous Effects of the Invention

Ein Maschinelles-Lernen-Gerät gemäß der vorliegenden Erfindung bewirkt eine Reduktion der Wahrscheinlichkeit des Scheiterns der Übergabe eines Werkstücks, indem Operationen des Übergebens eines Werkstücks gelernt werden.A machine learning apparatus according to the present invention has the effect of reducing the likelihood of failure of the handover of a workpiece by learning operations of handing over a workpiece.

FigurenlisteFigure list

  • 1 ist ein Diagramm, welches eine Konfiguration eines Maschinenbearbeitungssystems gemäß einer Ausführungsform zeigt. 1 Fig. 13 is a diagram showing a configuration of a machining system according to an embodiment.
  • 2 ist ein Diagramm, welches eine Konfiguration eines Steuerungssystems zeigt, welches ein numerisches Steuerungsgerät gemäß der Ausführungsform umfasst. 2 Fig. 13 is a diagram showing a configuration of a control system including a numerical control device according to the embodiment.
  • 3 ist ein Ablaufdiagramm, welches Operationsprozeduren des Maschinenbearbeitungssystems gemäß der Ausführungsform zeigt. 3 Fig. 13 is a flow chart showing operation procedures of the machining system according to the embodiment.
  • 4 ist ein Diagramm zum Erklären eines ersten Lernbeispiels, welches durch ein Maschinelles-Lernen-Gerät gemäß der Ausführungsform durchgeführt wird. 4th Fig. 13 is a diagram for explaining a first learning example performed by a machine learning device according to the embodiment.
  • 5 ist ein Diagramm zum Erklären eines zweiten Lernbeispiels, welches durch das Maschinelles-Lernen-Gerät gemäß der Ausführungsform durchgeführt wird. 5 Fig. 13 is a diagram for explaining a second learning example performed by the machine learning apparatus according to the embodiment.
  • 6 ist ein Diagramm zum Erklären von Relativpositionen eines Drehfutters eines Maschinenwerkzeugs gemäß der Ausführungsform und eines Werkstücks. 6th Fig. 13 is a diagram for explaining relative positions of a lathe chuck of a machine tool according to the embodiment and a workpiece.
  • 7 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration des numerischen Steuerungsgeräts gemäß der Ausführungsform zeigt. 7th Fig. 13 is a diagram showing an example of a hardware configuration of the numerical control apparatus according to the embodiment.

Beschreibung von AusführungsformenDescription of embodiments

Ein Maschinelles-Lernen-Gerät, ein numerisches Steuerungsgerät, ein Maschinenwerkzeug und ein Maschinenlernverfahren gemäß Ausführungsformen der vorliegenden Erfindung werden nachfolgend im Detail mit Bezug zu den Zeichnungen beschrieben. Es ist zu beachten, dass die vorliegende Erfindung nicht auf die Ausführungsformen begrenzt ist.A machine learning device, a numerical control device, a machine tool, and a machine learning method according to embodiments of the present invention will be described below in detail with reference to the drawings. It should be noted that the present invention is not limited to the embodiments.

AusführungsformEmbodiment

1 ist ein Diagramm, welches eine Konfiguration eines Maschinenbearbeitungssystems gemäß einer Ausführungsform zeigt. 1 zeigt ein Maschinenbearbeitungssystem 1, gesehen in der Vertikalrichtung. In der vorliegenden Ausführungsform wird ein Fall beschrieben, in welchem die Vertikalrichtung eine Y-Achsen-Richtung ist und die Horizontalrichtungen, welche die Richtungen der Bewegung eines Werkstücks 40 sind, eine X-Achsen-Richtung und eine Z-Achsen-Richtung sind. 1 Fig. 13 is a diagram showing a configuration of a machining system according to an embodiment. 1 shows a machining system 1 seen in the vertical direction. In the present embodiment, a case will be described in which the vertical direction is a Y-axis direction and the horizontal directions which are the directions of movement of a workpiece 40 are an X-axis direction and a Z-axis direction.

Das Maschinenbearbeitungssystem 1 umfasst ein Maschinenwerkzeug 2, welches ein Werkstück 40 maschinenbearbeitet, und ein Steuerungssystem 3, welches die Operation des Maschinenwerkzeugs 2 steuert. Beispiele für das Maschinenwerkzeug 2 umfassen eine Drehmaschine und ein Maschinenbearbeitungszentrum. Nachfolgend wird ein Fall beschrieben, in welchem das Maschinenwerkzeug 2 eine Drehmaschine ist.The machine processing system 1 comprises a machine tool 2, which is a workpiece 40 and a control system 3 that controls the operation of the machine tool 2. Examples of the machine tool 2 include a lathe and a machining center. The following describes a case where the machine tool 2 is a lathe.

Das Maschinenwerkzeug 2 umfasst eine Dreheinheit 35, ein Beladerspannfutter 32, welches ein erstes Spannfutter ist, ein Drehfutter 31, welches ein zweites Spannfutter ist, und einen Belader 36, welcher eine Beförderungsvorrichtung zum Befördern eines Werkstücks 40 ist. Die Operation des Beladers 36 wird durch das Steuerungssystem 3 gesteuert. Das Beladerspannfutter 32 ist mit dem Belader 36 verbunden und bewegt sich zusammen mit dem Belader 36. Das Beladerspannfutter 32 ist fähig, ein Werkstück 40 zu greifen, welches ein Objekt ist, das der Maschinenbearbeitung zu unterziehen ist. Beispiele für das Beladerspannfutter 32 umfassen ein Dreibackenspannfutter und eine Spannzange. Wenn eine Maschinenbearbeitung eines Werkstücks 40 gestartet wird, übergibt das Beladerspannfutter 32 das Werkstück 40 an das Drehfutter 31, und nach dem Abschluss der Maschinenbearbeitung des Werkstücks 40 nimmt das Beladerspannfutter 32 das Werkstück 40 von dem Drehfutter 31 entgegen.The machine tool 2 comprises a rotating unit 35 , a loader chuck 32 , which is a first chuck, a lathe chuck 31 which is a second chuck, and a loader 36 , which is a conveying device for conveying a workpiece 40 is. The operation of the loader 36 is controlled by the control system 3. The loader chuck 32 is with the loader 36 connected and moves together with the loader 36 . The loader chuck 32 is capable of a workpiece 40 to grasp what is an object to be machined. Examples of the loader chucks 32 include a three-jaw chuck and a collet. When machining a workpiece 40 is started, the loader chuck transfers 32 the workpiece 40 to the lathe chuck 31 , and after finishing the machining of the workpiece 40 takes the loader chuck 32 the workpiece 40 from the lathe chuck 31 opposite.

Die Dreheinheit 35 dreht sich um die Z-Achse, welche eine Hauptachse ist, als eine Drehachse. Das Drehfutter 31 ist mit der Dreheinheit 35 verbunden und dreht sich zusammen mit der Dreheinheit 35. Das Drehfutter 31 ist fähig, ein Werkstück 40 zu greifen. Beispiele für das Drehfutter 31 umfassen ein Dreibackenspannfutter und eine Spannzange. Wenn das Werkstück 40 maschinenbearbeitet wird, dreht sich die Dreheinheit 35 mit dem Drehfutter 31, welches das Werkstück 40 greift, um das Werkstück 40 zu drehen. Ein Beispiel für die Dreheinheit 35 ist eine Drehmaschinenvorrichtung.The turntable 35 rotates around the Z axis, which is a major axis, as a rotation axis. The lathe chuck 31 is with the turntable 35 connected and rotates together with the turntable 35 . The lathe chuck 31 is capable of a workpiece 40 to grab. Examples of the lathe chuck 31 include a three-jaw chuck and a collet. When the workpiece 40 is being machined, the turntable rotates 35 with the lathe chuck 31 which the workpiece 40 reaches out to the workpiece 40 to turn. An example of the turntable 35 is a lathe device.

Wenn die Dreheinheit 35 mit einem Werkstück 40 beladen wird, greift das Maschinenwerkzeug 2 ein Ende des Werkstücks 40 mit dem Beladerspannfutter 32. In diesem Zustand bewegt sich der Belader 36 entlang der negativen X-Achsen-Richtung und stoppt an einer Position, welche dem Drehfutter 31 gegenüberliegt (s0). Dann bewegt sich der Belader 36 entlang der negativen Z-Achsen-Richtung. Auf diese Weise bewegt der Belader 36 des Werkstück 40 zu einer Position, an welcher das Drehfutter 31 das Werkstück 40 greifen kann (s1). Die Position des Beladers 36, an welcher das Drehfutter 31 das Werkstück 40 greifen kann, ist eine gewünschte Übergabeposition. Das Maschinenwerkzeug 2 startet eine Schließoperation des Drehfutters 31 unter Verwendung einer Hilfsfunktion, beispielsweise M-Codes (s2), und wartet, bis die Schließoperation des Drehfutters 31 abgeschlossen ist (s3). Durch das Schließen des Drehfutters 31 greift das Drehfutter 31 das andere Ende des Werkstücks 40.When the turntable 35 with a workpiece 40 is loaded, the machine tool 2 grips one end of the workpiece 40 with the loader chuck 32 . In this state the loader moves 36 along the negative X-axis direction and stops at a position that corresponds to the lathe chuck 31 opposite (s0). Then the loader moves 36 along the negative Z-axis direction. In this way the loader moves 36 of the workpiece 40 to a position where the lathe chuck 31 the workpiece 40 can grab (s1). The position of the loader 36 on which the lathe chuck 31 the workpiece 40 can grab is a desired transfer position. The machine tool 2 starts a closing operation of the lathe chuck 31 using an auxiliary function such as M codes (s2) and waits for the chuck closing operation 31 is complete (s3). By closing the lathe chuck 31 grips the lathe chuck 31 the other end of the workpiece 40 .

Danach startet das Maschinenwerkzeug 2 eine Öffnungsoperation des Beladerspannfutters 32 (s4) und wartet, bis die Öffnungsoperation des Beladerspannfutters 32 abgeschlossen ist (s5). Der Belader 36 bewegt sich dann entlang der positiven Z-Achsen-Richtung. Auf diese Weise zieht sich der Belader 36 in der Richtung weg von dem Werkstück 40 zurück (s6) und bewegt sich ferner entlang der positiven X-Achsen-Richtung.Thereafter, the machine tool 2 starts an opening operation of the loader chuck 32 (s4) and waits for the loader chuck opening operation 32 is complete (s5). The loader 36 then moves along the positive Z-axis direction. In this way the loader pulls itself 36 in the direction away from the workpiece 40 back (s6) and further moves along the positive X-axis direction.

Wenn die Maschinenbearbeitung des Werkstücks 40 abgeschlossen ist, entlädt das Maschinenwerkzeug 2 das Werkstück 40 aus der Dreheinheit 35 durch Prozesse in der umgekehrten Reihenfolge der oben beschriebenen Prozesse s0 bis s6. In diesem Fall ist jeder der Prozesse s0 bis s6 ein Prozess in der umgekehrten Richtung. Daher sind in jedem der Prozesse s0 bis s6 die Bewegungsrichtungen des Beladers 36 beim Beladen und Entladen zueinander entgegengesetzt. Beim Entladen werden die Schließoperation des Beladerspannfutters 32 und die Öffnungsoperation des Drehfutters 31 durchgeführt.When machining the workpiece 40 is completed, the machine tool 2 unloads the workpiece 40 from the turntable 35 by processes in the reverse order of the above-described processes s0 to s6. In this case, each of the processes s0 to s6 is a process in the reverse direction. Therefore, in each of the processes s0 to s6, the directions of movement are Loader 36 opposite to each other when loading and unloading. When unloading, the loading chuck closing operation 32 and the chuck opening operation 31 carried out.

Beim Entladen bewegt sich der Belader 36 insbesondere entlang der negativen X-Achsen-Richtung und bewegt sich ferner in der Richtung zu dem Werkstück 40. Das Beladerspannfutter 32 startet dann eine Schließoperation. Wenn die Schließoperation abgeschlossen ist, startet das Drehfutter 31 eine Öffnungsoperation. Wenn die Öffnungsoperation abgeschlossen ist, zieht sich der Belader 36 in der Richtung weg von dem Werkstück 40 zurück und bewegt sich ferner entlang der positiven X-Achsen-Richtung.The loader moves during unloading 36 in particular along the negative X-axis direction and further moves in the direction towards the workpiece 40 . The loader chuck 32 then starts a closing operation. When the closing operation is completed, the lathe chuck starts 31 an opening operation. When the opening operation is complete, the loader pulls 36 in the direction away from the workpiece 40 back and further moves along the positive X-axis direction.

Weil die Prozesse zum Beladen der Dreheinheit 35 mit einem Werkstück 40 und die Prozesse zum Entladen eines Werkstücks 40 aus der Dreheinheit 35 ähnliche Prozesse sind, werden nachfolgend Prozesse zum Beladen der Dreheinheit 35 mit einem Werkstück 40 erklärt.Because the processes for loading the turntable 35 with a workpiece 40 and the processes for unloading a workpiece 40 from the turntable 35 When the processes are similar, the following will be processes for loading the turntable 35 with a workpiece 40 explained.

Das Maschenwerkzeug 2 hat einige Eigenschaften, die für Maschinen spezifisch sind, die ein Werkstück 40 greifen, befördern und dergleichen. Daher liegt eine Beziehung, die durch die für Maschinen spezifischen Eigenschaften verursacht sind, zwischen einem Positionsbefehl an das Beladerspannfutter 32 und der tatsächlichen Position des Beladerspannfutters 32 in der X-Achsen-Richtung vor. Selbst wenn ein geeigneter Positionsbefehl zur Verwendung zum Beladen eines Werkstücks 40 vorgesehen ist, kann daher die Position des Werkstücks 40 in der X-Achsen-Richtung versetzt sein, wenn das Beladerspannfutter 32 das Werkstück 40 an das Drehfutter 31 übergibt, und das Werkstück 40 kann ein Ende 30 des Drehfutters 31 auf der positiven Seite in der Z-Achsen-Richtung treffen. In diesem Fall kann das Beladerspannfutter 32 das Werkstück 40 nicht an das Drehfutter 31 übergeben.The mesh tool 2 has some properties that are specific to machines that produce a workpiece 40 grab, carry and the like. Therefore, there is a relationship caused by machine-specific characteristics between a position command to the loader chuck 32 and the actual position of the loader chuck 32 in the X-axis direction. Even if an appropriate position command to be used to load a workpiece 40 is provided, therefore the position of the workpiece 40 be offset in the X-axis direction when the loader chuck 32 the workpiece 40 to the lathe chuck 31 passes, and the workpiece 40 can end 30th of the lathe chuck 31 meet on the positive side in the Z-axis direction. In this case the loader chuck 32 the workpiece 40 not on the lathe chuck 31 to hand over.

In der vorliegenden Ausführungsform lernt ein numerisches Steuerungsgerät 10 (NC-Gerät), welches später beschrieben wird und in dem Steuerungssystem 3 enthalten ist, die Position des Beladerspannfutters 32 in der X-Achsen-Richtung, wenn das Beladerspannfutter 32 ein Werkstück 40 an das Drehfutter 31 übergibt. Daher reduziert das numerische Steuerungsgerät 10 die Wahrscheinlichkeit des Scheiterns des Übergebens eines Werkstücks 40 durch Lernen von Positionsbefehlen an das Beladerspannfutter 32. Wenn die Stellung und Form eines Werkstücks 40, welches durch das Beladerspannfutter 32 gegriffen ist, bei jedem Greifen des Werkstücks 40 gleich sind, entspricht die Position des Werkstücks 40 in der X-Achsen-Richtung der Position des Beladerspannfutters 32 in der X-Achsen-Richtung. Daher werden in der vorliegenden Ausführungsform ein Versatzwert des Beladerspannfutters 32 in der X-Achsen-Richtung und ein Versatzwert eines Werkstücks 40 in der X-Achsen-Richtung synonym verwendet.In the present embodiment, a numerical control device learns 10 (NC device), which will be described later and included in the control system 3, the position of the loader chuck 32 in the X-axis direction when the loader chuck 32 a workpiece 40 to the lathe chuck 31 hands over. Therefore, the numerical control device reduces 10 the likelihood of failure to submit a workpiece 40 by learning position commands to the loader chuck 32 . When the position and shape of a workpiece 40 , which through the loader chuck 32 is gripped every time the workpiece is gripped 40 are the same, corresponds to the position of the workpiece 40 in the X-axis direction of the position of the loader chuck 32 in the X-axis direction. Therefore, in the present embodiment, an offset value of the loader chuck becomes 32 in the X-axis direction and an offset value of a workpiece 40 used synonymously in the X-axis direction.

Als Nächstes wird eine Konfiguration des numerischen Steuerungsgerät 10 beschrieben, welches die Operation des Maschinenwerkzeugs 2 steuert. 2 ist ein Diagramm, welches eine Konfiguration des Steuerungssystems zeigt, welches das numerische Steuerungsgerät gemäß der Ausführungsform umfasst. Das Steuerungssystem 3 umfasst das numerische Steuerungsgerät 10, eine Treibereinheit 37 und einen Servomotor 38.Next is a configuration of the numerical control device 10 which controls the operation of the machine tool 2. 2 Fig. 13 is a diagram showing a configuration of the control system including the numerical control apparatus according to the embodiment. The control system 3 includes the numerical control device 10 , a driver unit 37 and a servo motor 38 .

Das numerische Steuerungsgerät 10 ist ein Computer, welcher die Position des Beladers 36 steuert, indem ein Positionsbefehl 53 an die Treibereinheit 37 gesendet wird. Der Positionsbefehl 53, welchen das numerische Steuerungsgerät 10 an die Treibereinheit 37 sendet, ist ein Befehl, welcher die Position des Beladers 36 angibt, und umfasst einen Positionsbefehl in der X-Achsen-Richtung und einen Positionsbefehl in der Z-Achsen-Richtung. Das numerische Steuerungsgerät 10 steuert die Übergabe eines Werkstücks 40 von dem Beladerspannfutter 32 zu dem Drehfutter 31 und, wenn die Übergabe scheitert, ändert den Positionsbefehl 53 in der X-Achsen-Richtung an das Beladerspannfutter 32, um die Übergabe erneut zu steuern. Das numerische Steuerungsgerät 10 lernt einen geeigneten Positionsbefehl 53 in der X-Achsen-Richtung an das Beladerspannfutter 32 basierend auf einem Positionsbefehl 53 in der X-Achsen-Richtung an das Beladerspannfutter 32 und basierend darauf, ob das Ergebnis einer Übergabe, bei der der Positionsbefehl 53 in der X-Achsen-Richtung verwendet wird, Scheitern oder Erfolg war.The numerical control device 10 is a computer that shows the position of the loader 36 controls by a position command 53 to the driver unit 37 is sent. The position command 53 which the numerical control device 10 to the driver unit 37 is a command that determines the position of the loader 36 and includes a position command in the X-axis direction and a position command in the Z-axis direction. The numerical control device 10 controls the transfer of a workpiece 40 of the loader chuck 32 to the lathe chuck 31 and if the handover fails, change the position command 53 in the X-axis direction to the loader chuck 32 to control the handover again. The numerical control device 10 learns a suitable position command 53 in the X-axis direction to the loader chuck 32 based on a position command 53 in the X-axis direction to the loader chuck 32 and based on whether the result of a handover at which the position command 53 used in the X-axis direction, failure or success.

Die Treibereinheit 37 ist eine Treibervorrichtung zum Bewegen des Beladers 36 durch Treiben des Servomotors 38. Die Treibereinheit 37 berechnet einen Stromwert, welcher an den Servomotor 38 zu übertragen ist, basierend auf dem Positionsbefehl 53 von dem numerischen Steuerungsgerät 10. Die Treibereinheit 37 treibt den Servomotor 38 durch Übertragen eines dem Positionsbefehl 53 zugeordneten Stroms an den Servomotor 38. Die Treibereinheit 37 überträgt einen Feedback(FB)-Strom 55 an das numerische Steuerungsgerät 10, welcher Daten ist, welche den an den Servomotor 38 zu übertragenden Strom angeben. Der FB-Strom 55 ist ein Beispiel für Feedback-Daten von der Treibereinheit 37 an das numerische Steuerungsgerät 10.The driver unit 37 is a driving device for moving the loader 36 by driving the servo motor 38 . The driver unit 37 calculates a current value which is sent to the servo motor 38 to be transmitted based on the position command 53 from the numerical control device 10 . The driver unit 37 drives the servo motor 38 by transmitting one of the position commands 53 assigned current to the servomotor 38 . The driver unit 37 transmits a feedback (FB) stream 55 to the numerical control device 10 which data is which is sent to the servo motor 38 Specify the current to be transmitted. The FB stream 55 is an example of feedback data from the driver unit 37 to the numerical control device 10 .

Wenn Information, welche die Drehgeschwindigkeit des Servomotors 38 angibt, von einem Messgeber 39 übertragen wird, berechnet die Treibereinheit 37 eine FB-Position 54, welche Daten ist, welche die aktuelle Position des Werkstücks 40 angeben, basierend auf der Drehgeschwindigkeit und überträgt die FB-Position 54 an das numerische Steuerungsgerät 10. Die FB-Position 54 ist ein Beispiel für die Feedback-Daten von der Treibereinheit 37 an das numerische Steuerungsgerät 10.If information about the speed of rotation of the servomotor 38 indicating from an encoder 39 is transferred, the driver unit calculates 37 an FB position 54 which data is which is the current position of the workpiece 40 based on the rotation speed and transmits the FB position 54 to the numerical Control device 10 . The FB position 54 is an example of the feedback data from the driver unit 37 to the numerical control device 10 .

Der Servomotor 38 ist mit dem Belader 36 verbunden und bewegt den Belader 36 in Abhängigkeit des Stroms von der Treibereinheit 37. Der Servomotor 38 umfasst einen Servomotor zum Bewegen des Beladers 36 in der X-Achsen-Richtung und einen Servomotor zum Bewegen des Beladers 36 in der Z-Achsen-Richtung. Der Messgeber 39, welcher die Drehgeschwindigkeit des Servomotors 38 detektiert, ist an jedem Servomotor 38 für die X-Achsen-Richtung und für die Z-Achsen-Richtung befestigt. Der Messgeber 39 überträgt an die Treibereinheit 37 eine Information, welche die detektierte Drehgeschwindigkeit angibt.The servo motor 38 is with the loader 36 connected and moves the loader 36 depending on the current from the driver unit 37 . The servo motor 38 includes a servo motor for moving the loader 36 in the X-axis direction and a servo motor for moving the loader 36 in the Z-axis direction. The measuring transducer 39 , which is the speed of rotation of the servomotor 38 detected is on every servo motor 38 for the X-axis direction and for the Z-axis direction. The measuring transducer 39 transmits to the driver unit 37 information indicating the detected rotational speed.

Das numerische Steuerungsgerät 10 umfasst eine Maschinenbearbeitungssteuerungsprogramm-Speichereinheit 11, eine Analyseeinheit 12, eine Steuerungseinheit 13, eine Speichereinheit 14 und ein Maschinelles-Lernen-Gerät 20. Die Maschinenbearbeitungssteuerungsprogramm-Speichereinheit 11 speichert Maschinenbearbeitungssteuerungsprogramme, die zur Maschinenbearbeitung eines Werkstücks 40 verwendet werden. Ein Maschinenbearbeitungssteuerungsprogramm umfasst einen Beladungsbefehl 61 zum Beladen der Dreheinheit 35 mit einem Werkstück 40, einen Maschinenbearbeitungsbefehl zur Maschinenbearbeitung des Werkstücks 40 und einen Entladungsbefehl zum Entladen des Werkstücks 40 aus der Dreheinheit 35. In 2 ist ein Beladungsbefehl 61 gezeigt. Unter diesen Befehlen sind der Beladungsbefehl 61 und der Entladungsbefehl dedizierte Befehle zum Übergeben eines Werkstücks 40. Der Beladungsbefehl 61 wird an die Analyseeinheit 12 in Form eines G-Codes 51 zum Positionieren des Beladers 36 übertragen.The numerical control device 10 comprises a machining control program storage unit 11 , an analysis unit 12 , a control unit 13 , a storage unit 14th and a machine learning device 20th . The machining control program storage unit 11 stores machining control programs that are used to machine a workpiece 40 be used. A machining control program includes a loading command 61 for loading the turntable 35 with a workpiece 40 , a machining command for machining the workpiece 40 and an unload command for unloading the workpiece 40 from the turntable 35 . In 2 is a loading order 61 shown. Among these commands are the loading command 61 and the unload command has dedicated commands for transferring a workpiece 40 . The loading order 61 is sent to the analysis unit 12 in the form of a G code 51 for positioning the loader 36 transfer.

Die Analyseeinheit 12 analysiert die Maschinenbearbeitungssteuerungsprogramme. Die Analyseeinheit 12 bestimmt, ob ein analysierter Befehl ein dedizierter Befehl ist oder nicht, und, wenn der analysierte Befehl ein dedizierter Befehl ist, beispielsweise der Beladungsbefehl 61, erzeugt basierend auf dem G-Code 51 eine Übergabepositionsinformation 52, welche die Position angibt, an welcher ein Werkstück 40 zu übergeben ist. Insbesondere erzeugt die Analyseeinheit 12 die Übergabepositionsinformation 52 basierend auf einem Befehl zum Positionieren des Beladers 36, welcher in dem G-Code 51 enthalten ist. Die Übergabepositionsinformation 52 ist eine Information über die Position, an welcher das Werkstück 40 zwischen dem Beladerspannfutter 32 und dem Drehfutter 31 übergeben wird. Insbesondere ist die Übergabepositionsinformation 52 ein Endpunkt des Beladers 36. Bei der ersten Übergabe eines Werkstücks 40 ist eine Information, die für die Übergabeoperation verwendet wird, durch Argumente des dedizierten Befehls eingestellt.The analysis unit 12 analyzes the machining control programs. The analysis unit 12 determines whether or not a parsed command is a dedicated command, and if the parsed command is a dedicated command, for example, the load command 61 , generates transfer position information based on the G code 51 52 which indicates the position at which a workpiece 40 is to be handed over. In particular, the analysis unit generates 12 the transfer position information 52 based on a command to position the loader 36 , which is contained in the G code 51. The transfer position information 52 is information about the position at which the workpiece 40 between the loader chuck 32 and the lathe chuck 31 is passed. In particular, the transfer position information 52 an end point of the loader 36 . When handing over a workpiece for the first time 40 is information used for the delivery operation set by arguments of the dedicated command.

Der dedizierte Befehl umfasst die folgenden Befehlsargumente (A1) bis (A5):

  • (A1) der Endpunkt des Beladers 36, welcher die Übergabepositionsinformation 52 des Werkstücks 40 ist;
  • (A2) ein Referenzstromwert A, welcher eine Referenz zum Bestimmen ist, ob das Werkstück 40 bei der Übergabe anschlägt oder nicht;
  • (A3) ein Rückzugswert Lz des Beladers 36, wenn bestimmt wurde, dass das Werkstück 40 angeschlagen ist;
  • (A4) die Richtung und ein Bewegungswert Lx, in welche und mit welchem der Belader 36 während des Lernens bewegt wird; und
  • (A5) eine maximale Bewegungsdistanz Lmax in eine Richtung während des Lernens.
The dedicated command includes the following command arguments (A1) through (A5):
  • (A1) the end point of the loader 36 , which is the transfer position information 52 of the workpiece 40 is;
  • (A2) a reference current value A, which is a reference for determining whether the workpiece is 40 hits or not at handover;
  • (A3) a retraction value Lz of the loader 36 when it has been determined that the workpiece 40 is posted;
  • (A4) the direction and a movement value Lx in which and with which the loader 36 is moved while learning; and
  • (A5) a maximum moving distance Lmax in one direction during learning.

Die Übergabepositionsinformation 52 des vorgenannten (A1) umfasst eine X-Koordinate und eine Z-Koordinate. Der Referenzstromwert A von (A2) ist ein Wert zum Bestimmen, ob die Übergabe in einem abnormalen Zustand ist oder nicht, und wird mit dem FB-Strom 55 verglichen, welcher ein Strom ist, der an den Servomotor 38 geschickt wird. Ein Fall, in welchem ein FB-Strom 55 an den Servomotor 38 geschickt wird, der größer als der Referenzstromwert A ist, ist ein solcher abnormaler Zustand, in welchem das Werkstück 40 das Drehfutter 31 an einer Position trifft, die von der Übergabeposition der Übergabe durch das Drehfutter 31 verschieden ist. Ein Beispiel für die Position, an welcher das Werkstück 40 etwas anderes als die Übergabeposition der Übergabe durch das Drehfutter 31 trifft, ist das Ende 30 des Drehfutters 31, wie oben genannt. Der Rückzugswert Lz von (A3) ist eine Distanz, um welche das Werkstück 40 entlang der Z-Achsen-Richtung zurückbewegt wird, wenn das Werkstück 40 das Ende 30 getroffen hat und die Bewegung des Werkstücks 40 stoppte.The transfer position information 52 of the aforementioned (A1) includes an X coordinate and a Z coordinate. The reference current value A of (A2) is a value for determining whether or not the handover is in an abnormal state, and is matched with the FB current 55 compared which is a current that is sent to the servo motor 38 is sent. A case in which an FB stream 55 to the servo motor 38 which is larger than the reference current value A is such an abnormal state in which the workpiece 40 the lathe chuck 31 meets at a position that is different from the transfer position of the transfer by the lathe chuck 31 is different. An example of the position at which the workpiece 40 something other than the transfer position of the transfer by the lathe chuck 31 hits, is the end 30th of the lathe chuck 31 , as mentioned above. The retraction value Lz of (A3) is a distance by which the workpiece 40 is moved back along the Z-axis direction when the workpiece 40 the end 30th has hit and the movement of the workpiece 40 stopped.

Wenn ein Werkstück 40 das Ende 30 getroffen hat und seine Bewegung stoppte, lernt das Maschinelles-Lernen-Gerät 20 den Positionsbefehl 53. Der Bewegungswert Lx von (A4) ist eine Distanz, um welche das Werkstück 40 während des Lernens in der X-Achsen-Richtung bewegt wird. Das Werkstück 40 wird um den Bewegungswert Lx in der X-Achsen-Richtung bewegt und dann zu dem Drehfutter 31 in der Z-Achsen-Richtung bewegt. Das Werkstück 40 wird jeweils um den Bewegungswert Lx bewegt, bis die Position, an welche das Werkstück 40 für die Übergabe bewegt wurde, innerhalb eines erlaubten Bereichs liegt. Des Weiteren ist die Bewegungsdistanz Lmax von (A5) ein Distanzlimit, um welches das Werkstück 40 während des Lernens in der X-Achsen-Richtung bewegt wird. Selbst während des Lernens wird das Werkstück 40 daher nicht weiter als die Bewegungsdistanz Lmax bewegt.When a workpiece 40 the end 30th and has stopped moving, the machine learning device is learning 20th the position command 53 . The movement value Lx of (A4) is a distance that the workpiece 40 is moved in the X-axis direction during learning. The workpiece 40 is moved by the amount of movement Lx in the X-axis direction and then to the lathe chuck 31 moved in the Z-axis direction. The workpiece 40 is moved by the movement value Lx until the position to which the workpiece 40 was moved for the transfer is within an allowed range. Furthermore, the movement distance Lmax of (A5) is a distance limit by which the workpiece 40 while learning in the X-axis Direction is moved. Even while learning, the workpiece becomes 40 therefore does not move further than the moving distance Lmax.

Die Analyseeinheit 12 sendet die Übergabepositionsinformation 52 von (A1) und den Rückzugswert Lz von (A3) an die Steuerungseinheit 13. Die Analyseeinheit 12 sendet zudem die Werte der Befehlsargumente von (A2), (A4) und (A5), die oben beschrieben sind, an das Maschinelles-Lernen-Gerät 20. Es ist zu beachten, dass die Analyseeinheit 12 nicht auf den Fall begrenzt ist, in welchem die Werte der Befehlsargumente von dem dedizierten Befehl erhalten werden, und kann den Befehlsargumenten zugeordnete Werte aus Parametern erhalten. In diesem Fall werden die den Befehlsargumenten zugeordneten Werte als Parameter in der Speichereinheit 14 gespeichert.The analysis unit 12 sends the transfer position information 52 from (A1) and the retraction value Lz from (A3) to the control unit 13 . The analysis unit 12 also sends the values of the command arguments of (A2), (A4) and (A5) described above to the machine learning device 20th . It should be noted that the analysis unit 12 is not limited to the case where the values of the command arguments are obtained from the dedicated command, and may obtain values associated with the command arguments from parameters. In this case, the values assigned to the command arguments are stored as parameters in the storage unit 14th saved.

Die Steuerungseinheit 13 erzeugt einen Positionsbefehl 53 in Abhängigkeit der Übergabepositionsinformation 52, die von der Analyseeinheit 12 gesendet wurde, oder in Abhängigkeit einer Aktion 58, welche durch das Maschinelles-Lernen-Gerät 20 bereitgestellt wurde. Die Aktion 58 ist der nächste Positionsbefehl 53 in der X-Achsen-Richtung. Die Steuerungseinheit 13 sendet den Positionsbefehl 53 an die Treibereinheit 37 und das Maschinelles-Lernen-Gerät 20. Nach dem Empfang einer Mitteilung von dem Maschinelles-Lernen-Gerät 20, welche angibt, dass die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist, steuert die Steuerungseinheit 13 die weitere Operation des Übergebens des Werkstücks 40.The control unit 13 generates a position command 53 depending on the transfer position information 52 by the analysis unit 12 was sent, or depending on an action 58 which through the machine learning device 20th was provided. The action 58 is the next position command 53 in the X-axis direction. The control unit 13 sends the position command 53 to the driver unit 37 and the machine learning device 20th . After receiving a message from the machine learning device 20th , which indicates the position to which the workpiece 40 is within the permitted range, the control unit controls 13 the further operation of handing over the workpiece 40 .

Nach dem Empfang einer Mitteilung von dem Maschinelles-Lernen-Gerät 20, welche angibt, dass die Position, an welche des Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist, bewegt die Steuerungseinheit 13 das Werkstück 40 um den Rückzugswert Lz in der Z-Achsen-Richtung zurück und erzeugt einen Positionsbefehl 53 in Abhängigkeit der Aktion 58.After receiving a message from the machine learning device 20th which indicates that the position to which of the workpiece 40 is outside the permitted range, the control unit moves 13 the workpiece 40 by the retraction value Lz in the Z-axis direction and generates a position command 53 depending on the action 58 .

Das Maschinelles-Lernen-Gerät 20 umfasst eine Zustandsbeobachtungseinheit 25 und eine Lerneinheit 21. Die Zustandsbeobachtungseinheit 25 erhält von der Analyseeinheit 12 den Referenzstromwert A von (A2) der Befehlsargumente und die Lerneinheit 21 erhält von der Analyseeinheit 12 den Bewegungswert Lx von (A4) und die Bewegungsdistanz Lmax von (A5) der Befehlsargumente.The machine learning device 20th comprises a condition monitoring unit 25th and a learning unit 21st . The condition observation unit 25th received from the analysis unit 12 the reference current value A of (A2) of the command arguments and the learning unit 21st received from the analysis unit 12 the movement value Lx of (A4) and the movement distance Lmax of (A5) of the command arguments.

Die Zustandsbeobachtungseinheit 25 erhält die Positionsbefehle 53 in der X-Achsen-Richtung und in der Z-Achsen-Richtung von der Steuerungseinheit 13, die FB-Positionen 54 in der X-Achsen-Richtung und in der Z-Achsen-Richtung von der Treibereinheit 37 und die FB-Ströme 55 in der X-Achsen-Richtung und in der Z-Achsen-Richtung von der Treibereinheit 37.The condition observation unit 25th receives the position commands 53 in the X-axis direction and in the Z-axis direction from the control unit 13 who have favourited FB positions 54 in the X-axis direction and in the Z-axis direction from the driver unit 37 and the FB currents 55 in the X-axis direction and in the Z-axis direction from the driver unit 37 .

Zum Bestimmen, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht, verwendet die Zustandsbeobachtungseinheit 25 die Positionsbefehle 53 in der X-Achsen-Richtung und in der Z-Achsen-Richtung, die FB-Positionen 54 in der X-Achsen-Richtung und in der Z-Achsen-Richtung und die FB-Ströme 55 in der X-Achsen-Richtung und in der Z-Achsen-Richtung. Alternativ kann die Zustandsbeobachtungseinheit 25 basierend auf dem Positionsbefehl 53 in der X-Achsen-Richtung, der FB-Position 54 in der X-Achsen-Richtung und dem FB-Strom 55 in der X-Achsen-Richtung bestimmen, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht. Weiter alternativ kann die Zustandsbeobachtungseinheit 25 basierend auf dem Positionsbefehl 53 in der Z-Achsen-Richtung, der FB-Position 54 in der Z-Achsen-Richtung und dem FB-Strom 55 in der Z-Achsen-Richtung bestimmen, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht. Weiter alternativ kann die Zustandsbeobachtungseinheit 25 basierend auf der FB-Position 54 in der Z-Achsen-Richtung und dem Positionsbefehl 53 in der Z-Achsen-Richtung ohne Verwendung des FB-Stroms 55 in der Z-Achsen-Richtung bestimmen, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht.To determine whether the position to which the workpiece 40 is moved within the allowable range or not, the state observation unit uses 25th the position commands 53 in the X-axis direction and in the Z-axis direction, the FB positions 54 in the X-axis direction and in the Z-axis direction and the FB currents 55 in the X-axis direction and in the Z-axis direction. Alternatively, the condition monitoring unit 25th based on the position command 53 in the X-axis direction, the FB position 54 in the X-axis direction and the FB current 55 in the X-axis direction determine whether the position at which the workpiece 40 moved is within the allowable range or not. As a further alternative, the condition monitoring unit 25th based on the position command 53 in the Z-axis direction, the FB position 54 in the Z-axis direction and the FB current 55 in the Z-axis direction determine whether the position at which the workpiece 40 moved is within the allowable range or not. As a further alternative, the condition monitoring unit 25th based on the FB position 54 in the Z-axis direction and the position command 53 in the Z-axis direction without using the FB current 55 in the Z-axis direction determine whether the position at which the workpiece 40 moved is within the allowable range or not.

Zudem, wenn die Lerneinheit 21 die Positionsbefehle 53 an die Treibereinheit 37 lernt, beobachtet die Zustandsbeobachtungseinheit 25 den Positionsbefehl 53 in der X-Achsen-Richtung, die FB-Position 54 in der X-Achsen-Richtung und den FB-Strom 55 in der X-Achsen-Richtung als Zustandsvariablen 56 und sendet die Zustandsvariablen 56, welche Ergebnisse der Beobachtung sind, an die Lerneinheit 21. Daher umfassen die Zustandsvariablen 56, die von der Zustandsbeobachtungseinheit 25 an die Lerneinheit 21 übertragen werden, den Positionsbefehl 53 in der X-Achsen-Richtung, die FB-Position 54 in der X-Achsen-Richtung und den FB-Strom 55 in der X-Achsen-Richtung.In addition, if the learning unit 21st the position commands 53 to the driver unit 37 learns, observes the condition monitoring unit 25th the position command 53 in the X-axis direction, the FB position 54 in the X-axis direction and the FB current 55 in the X-axis direction as state variables 56 and sends the state variables 56 which results of the observation are to the learning unit 21st . Hence the state variables include 56 by the condition observation unit 25th to the learning unit 21st are transmitted, the position command 53 in the X-axis direction, the FB position 54 in the X-axis direction and the FB current 55 in the X-axis direction.

Die Übergabeposition des Werkstücks 40 kann gegenüber der Mittenposition des Drehfutters 31 in der X-Achsen-Richtung in Abhängigkeit der Form des Werkstücks 40 versetzt sein. Zudem, in einem Fall, in welchem die Übergabeposition, an welcher das Werkstück 40 durch das Beladerspannfutter 32 übergeben wird, nicht geeignet ist, kann die Übergabeposition des Werkstücks 40 von der Mittenposition des Drehfutters 31 in der X-Achsen-Richtung versetzt sein. In diesen Fällen ist es wahrscheinlicher, dass das Werkstück 40 das Drehfutter 31 an einer Position trifft, die von der Übergabeposition der Übergabe durch das Drehfutter 31 verschieden ist, und an einer Position stoppt, an welcher das Werkstück 40 durch das Drehfutter 31 nicht gegriffen werden kann.The transfer position of the workpiece 40 can opposite the center position of the lathe chuck 31 in the X-axis direction depending on the shape of the workpiece 40 be offset. In addition, in a case in which the transfer position at which the workpiece 40 through the loader chuck 32 is not suitable, the transfer position of the workpiece 40 from the center position of the lathe chuck 31 be offset in the X-axis direction. In these cases it is more likely that the workpiece 40 the lathe chuck 31 meets at a position different from the transfer position of the Transfer through the lathe chuck 31 is different, and stops at a position where the workpiece 40 through the lathe chuck 31 cannot be grasped.

In einem Fall, in welchem das Werkstück 40 das Drehfutter 31 an einer Position trifft, die von der Übergabeposition verschieden ist, ist die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs. In einem Fall, in welchem das Werkstück 40 beim Bewegen zu der Übergabeposition an dem Drehfutter 31 reibt, ist die Position, an welche das Werkstück 40 bewegt wurde, ebenfalls außerhalb des erlaubten Bereichs.In a case where the workpiece 40 the lathe chuck 31 hits at a position that is different from the transfer position is the position at which the workpiece 40 moved outside the permitted range. In a case where the workpiece 40 when moving to the transfer position on the lathe chuck 31 rubs is the position at which the workpiece 40 was moved, also outside the permitted area.

In einem abnormalen Fall, in welchem die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist, erhöht sich die Last auf den Belader 36 in der X-Achsen-Richtung und/oder der Z-Achsen-Richtung. In dem Fall, in welchem die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist, nimmt daher der an den Servomotor 38 geschickte Strom zu und der FB-Strom 55 nimmt ebenfalls zu. Daher bestimmt die Zustandsbeobachtungseinheit 25 basierend auf einem Ergebnis eines Vergleichs zwischen dem Referenzstromwert A und dem FB-Strom 55, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht. In einem normalen Fall, in welchem die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist, stoppt das Werkstück 40 an der Übergabeposition der Übergabe durch das Drehfutter 31, und daher nimmt die Last auf den Belader 36 nicht zu und der FB-Strom 55 nimmt nicht zu.In an abnormal case in which the position to which the workpiece 40 moved is outside the permitted range, the load on the loader increases 36 in the X-axis direction and / or the Z-axis direction. In the case where the position to which the workpiece 40 moved is outside the permitted range, the servomotor therefore picks up 38 sent stream to and the FB stream 55 also increases. Therefore, the state observer determines 25th based on a result of comparison between the reference current value A and the FB current 55 whether the position to which the workpiece 40 moved is within the allowable range or not. In a normal case, in which the position to which the workpiece 40 is within the permitted range, the workpiece will stop 40 at the transfer position of the transfer by the lathe chuck 31 , and therefore takes the load on the loader 36 not too and the FB current 55 does not increase.

Zudem, in einem abnormalen Fall, in welchem die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist, stimmen die dem Positionsbefehl 53 zugeordnete Position des Beladers 36 und die der FB-Position 54 entsprechende Position des Beladers 36 innerhalb einer bestimmten Zeitdauer nicht überein. Daher bestimmt die Zustandsbeobachtungseinheit 25 basierend auf einem Ergebnis eines Vergleichs zwischen dem Positionsbefehl 53 und der FB-Position 54, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht. Die Zustandsbeobachtungseinheit 25 sendet das Ergebnis der Bestimmung darüber, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht, an die Steuerungseinheit 13.In addition, in an abnormal case in which the position to which the workpiece 40 is outside the permitted range, the position command is correct 53 assigned position of the loader 36 and that of the FB position 54 corresponding position of the loader 36 does not match within a certain period of time. Therefore, the state observer determines 25th based on a result of comparison between the position command 53 and the FB position 54 whether the position to which the workpiece 40 moved is within the allowable range or not. The condition observation unit 25th sends the result of the determination of whether the position to which the workpiece 40 is within the permitted range or not to the control unit 13 .

Die Lerneinheit 21 lernt eine Aktion 58, welche der nächste Positionsbefehl 53 ist, in Abhängigkeit der Zustandsvariablen 56. Mit anderen Worten lernt die Lerneinheit 21 einen Positionsbefehl 53, bei dem der Versatzwert der Übergabeposition der Übergabe des Werkstücks 40 durch den Belader 36 reduziert ist.The learning unit 21st learns an action 58 which the next position command 53 is, depending on the state variables 56 . In other words, the unit learns 21st a position command 53 , at which the offset value of the transfer position of the transfer of the workpiece 40 by the loader 36 is reduced.

Insbesondere lernt die Lerneinheit 21 eine Aktion 58 in Abhängigkeit eines Datensatzes, welcher basierend auf den Zustandsvariablen 56 erzeugt wurde, welche den Positionsbefehl 53, die FB-Position 54 und den FB-Strom 55 umfassen. Die Lerneinheit 21 umfasst eine Funktionsaktualisierungseinheit 22 und eine Belohnungsberechnungseinheit 23.In particular, the learning unit learns 21st an action 58 depending on a data record, which is based on the state variables 56 was generated, which the position command 53 who have favourited FB position 54 and the FB stream 55 include. The learning unit 21st comprises a function update unit 22nd and a reward calculation unit 23 .

Die Belohnungsberechnungseinheit 23 berechnet eine Belohnung 57 basierend auf den Zustandsvariablen 56. Die Belohnungsberechnungseinheit 23 berechnet eine Differenz zwischen der Position, die durch den Positionsbefehl 53 angegeben ist, und der FB-Position 54 basierend auf den Zustandsvariablen 56 und extrahiert aus den Zustandsvariablen 56 den FB-Strom 55. Die Belohnungsberechnungseinheit 23 erhöht die Belohnung 57, wenn die Differenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 gleich oder kleiner als ein Grenzwert ist und der FB-Strom 55 gleich oder kleiner als der Referenzstromwert A ist. In diesem Fall vergrößert die Belohnungsberechnungseinheit 23 die Belohnung 57 mit kleiner werdender Differenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 und mit kleiner werdendem FB-Strom 55. Die Lerneinheit 21 sendet die berechnete Belohnung 57 an die Funktionsaktualisierungseinheit 22. In der nachfolgenden Beschreibung kann die Differenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 auch als eine Positionsdifferenz bezeichnet sein.The reward calculation unit 23 calculates a reward 57 based on the state variables 56 . The reward calculation unit 23 calculates a difference between the position given by the position command 53 and the FB position 54 based on the state variables 56 and extracted from the state variables 56 the FB stream 55 . The reward calculation unit 23 increases the reward 57 when the difference between that specified by the position command 53 specified position and the FB position 54 is equal to or less than a limit value and the FB current 55 is equal to or less than the reference current value A. In this case, the reward calculation unit enlarges 23 the reward 57 as the difference between the position command becomes smaller 53 specified position and the FB position 54 and with decreasing FB current 55 . The learning unit 21st sends the calculated reward 57 to the function update unit 22nd . In the following description, the difference between the position command 53 specified position and the FB position 54 also be referred to as a positional difference.

Die Funktionsaktualisierungseinheit 22 speichert eine Funktion zum Bestimmen einer Aktion 58 und aktualisiert die Funktion zum Bestimmen einer Aktion 58 basierend auf der Belohnung 57. Ein Beispiel für die Funktion zum Bestimmen einer Aktion 58 ist eine Aktionswertfunktion Q(st,at), welche später beschrieben wird. Die Funktionsaktualisierungseinheit 22 der Ausführungsform aktualisiert die Aktionswertfunktion Q(s,a) so, dass der Versatzwert der Übergabeposition jedes Mal abnimmt, wenn die Operation des Übergebens eines Werkstücks 40 durch das Maschinenwerkzeug 2 wiederholt wird. Die Funktionsaktualisierungseinheit 22 berechnet eine Aktion 58 unter Verwendung der aktualisierten Aktionswertfunktion Q(s,a). Die Funktionsaktualisierungseinheit 22 sendet die berechnete Aktion 58 an die Steuerungseinheit 13 und sendet zuvor gelernte Daten, zum Lernen verwendete Daten und zur Steuerung des Beladers 36 notwendige Daten an die Speichereinheit 14. Ein Beispiel für die gelernten Daten ist ein Positionsbefehl 53 für die nächste Übergabe, der berechnet wurde, als eine Übergabe erfolgreich war, und ein Beispiel für die zum Lernen verwendeten Daten ist die Aktionswertfunktion Q(s,a), die durch die Lerneinheit 21 zum Lernen verwendet wurde. Ein Beispiel für die zum Steuern des Beladers 36 verwendeten Daten ist ein Rückzugswert Lz. Die Speichereinheit 14 speichert die zuvor gelernten Daten, die zum Lernen verwendeten Daten und die zum Steuern des Beladers 36 durch die Steuerungseinheit 13 erforderlichen Daten.The feature update unit 22nd stores a function for determining an action 58 and updates the function for determining an action 58 based on the reward 57 . An example of the function for determining an action 58 is an action value function Q (s t , a t ) which will be described later. The feature update unit 22nd of the embodiment updates the action value function Q (s, a) so that the offset value of the transfer position decreases every time the operation of transferring a workpiece 40 is repeated by the machine tool 2. The feature update unit 22nd calculates an action 58 using the updated action value function Q (s, a). The feature update unit 22nd sends the calculated action 58 to the control unit 13 and sends previously learned data, data used for learning and for controlling the loader 36 necessary data to the storage unit 14th . An example of the learned data is a position command 53 for the next handover that was calculated when a handover was successful, and an example of the data used for learning is the action value function Q (s, a) given by the Learning unit 21st was used for learning. An example for controlling the loader 36 used data is a retraction value Lz. The storage unit 14th saves the previously learned data, the data used for learning and the data used to control the loader 36 by the control unit 13 necessary data.

Als Nächstes werden Operationsprozeduren des Maschinenbearbeitungssystems 1 erklärt. 3 ist ein Ablaufdiagramm, welches die Operationsprozeduren des Maschinenbearbeitungssystems gemäß der Ausführungsform zeigt. Nach dem Lesen eines Beladungsbefehls 61, wenn die Übergabe des Werkstücks 40 die erste Übergabe ist, d. h., in einem ungelernten Fall, startet das numerische Steuerungsgerät 10 das Bewegen des Beladers 36 zu der Übergabeposition, welche durch das Befehlsargument des oben beschriebenen (A1) angegeben ist (Schritt ST1). In diesem Fall überträgt die Steuerungseinheit 13 einen Positionsbefehl 53 an die Treibereinheit 37 und die Zustandsbeobachtungseinheit 25. Hierdurch bewegt sich der Belader 36 in der X-Achsen-Richtung und bewegt sich dann in der Z-Achsen-Richtung und dabei greift das Beladerspannfutter 32 das Werkstück 40.Next are operating procedures of the machining system 1 explained. 3 Fig. 13 is a flow chart showing the operation procedures of the machining system according to the embodiment. After reading a loading command 61 when handing over the workpiece 40 the first handover is, that is, in an unskilled case, the numerical control device starts 10 moving the loader 36 to the handover position indicated by the command argument of the above-described (A1) (step ST1). In this case the control unit transmits 13 a position command 53 to the driver unit 37 and the condition observation unit 25th . This causes the loader to move 36 in the X-axis direction and then moves in the Z-axis direction while engaging the loader chuck 32 the workpiece 40 .

Wenn das Werkstück 40 beginnt sich zu bewegen, erhält die Treibereinheit 37 die FB-Position 54 und den FB-Strom 55 in bestimmten Intervallen und sendet die FB-Position 54 und den FB-Strom 55 an die Zustandsbeobachtungseinheit 25. Die Zustandsbeobachtungseinheit 25 überwacht daher den Positionsbefehl 53, die FB-Position 54 und den FB-Strom 55.When the workpiece 40 starts moving, the driver unit receives 37 the FB position 54 and the FB stream 55 at certain intervals and sends the FB position 54 and the FB stream 55 to the condition monitoring unit 25th . The condition observation unit 25th therefore monitors the position command 53 who have favourited FB position 54 and the FB stream 55 .

Die Zustandsbeobachtungseinheit 25 bestimmt, ob der FB-Strom 55 der X-Achse und der Z-Achse jeweils gleich oder kleiner als der Referenzstromwert A ist oder nicht (Schritt ST2). Es ist zu beachten, dass Referenzstromwerte A unterschiedlicher Werte für die X-Achse und die Z-Achse verwendet werden können.The condition observation unit 25th determines whether the FB current 55 of the X-axis and the Z-axis is equal to or smaller than the reference current value A, respectively, or not (step ST2). It should be noted that reference current values A of different values can be used for the X-axis and the Z-axis.

Wenn der FB-Strom 55 der X-Achse oder der Z-Achse größer als ein Referenzstromwert A wird, bevor das Werkstück 40 die Übergabeposition erreicht (Schritt ST2: Nein), sendet die Zustandsüberwachungseinheit 25 an die Lerneinheit 21 Zustandsvariablen 56, welche Positionsbefehle 53 in der X-Achsen-Richtung und in der Z-Achsen-Richtung, FB-Positionen 54 in der X-Achsen-Richtung und in der Z-Achsen-Richtung und FB-Ströme 55 in der X-Achsen-Richtung und in der Z-Achsen-Richtung umfassen. Zudem informiert die Zustandsbeobachtungseinheit 25 die Steuerungseinheit 13 darüber, dass die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist.When the FB current 55 the X-axis or the Z-axis becomes larger than a reference current value A before the workpiece 40 reaches the transfer position (step ST2: no), the status monitoring unit sends 25th to the learning unit 21st State variables 56 which position commands 53 in the X-axis direction and in the Z-axis direction, FB positions 54 in the X-axis direction and in the Z-axis direction and FB currents 55 in the X-axis direction and in the Z-axis direction. The condition monitoring unit also provides information 25th the control unit 13 about that the position at which the workpiece 40 moved is outside the permitted range.

Wenn der FB-Strom 55 einer Achse größer als der Referenzstromwert A ist, d. h., wenn die Bewegung zu der Übergabeposition scheitert, stellt die Lerneinheit 21 für den Positionsbefehl 53, der für die Übergabe verwendet wurde, eine Belohnung 57 mit einem kleinen Wert ein. Hierdurch lernt die Lerneinheit 21 einen geeigneten Positionsbefehl 53 in Abhängigkeit der Zustandsvariablen 56 und bestimmt eine Aktion 58, welche der nächste Positionsbefehl 53 ist, derart, dass die Belohnung 57 maximal wird (Schritt ST4a). Die Steuerungseinheit 13 bewegt das Werkstück 40 in der Z-Achsen-Richtung um den Rückzugswert Lz zurück (Schritt ST5). Die Steuerungseinheit 13 startet dann das Bewegen des Beladers 36 zu der Übergabeposition (Schritt ST1). Die Steuerungseinheit 13 bewegt daher das Werkstück 40 in der X-Achsen-Richtung unter Verwendung des Positionsbefehls 53, welcher in Abhängigkeit der Aktion 58 erzeugt wurde, und bewegt dann das Werkstück 40 in der Z-Achsen-Richtung.When the FB current 55 of an axis is greater than the reference current value A, ie if the movement to the transfer position fails, the learning unit stops 21st for the position command 53 used to deliver a reward 57 with a small value one. This is how the learning unit learns 21st a suitable position command 53 depending on the status variables 56 and determine an action 58 which the next position command 53 is, such that the reward 57 becomes maximum (step ST4a). The control unit 13 moves the workpiece 40 back in the Z-axis direction by the retraction amount Lz (step ST5). The control unit 13 then starts moving the loader 36 to the handover position (step ST1). The control unit 13 therefore moves the workpiece 40 in the X-axis direction using the position command 53 which depends on the action 58 and then moves the workpiece 40 in the Z-axis direction.

Wenn in dem Prozess von Schritt ST2 der FB-Strom 55 der X-Achse und der Z-Achse jeweils gleich oder kleiner als der Referenzstromwert A wurde (Schritt ST2: Ja), bestimmt die Zustandsbeobachtungseinheit 25 für die X-Achse und die Z-Achse jeweils, ob die Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 gleich oder kleiner als der Grenzwert ist oder nicht (Schritt ST3).When in the process of step ST2 the FB stream 55 of the X-axis and the Z-axis each became equal to or smaller than the reference current value A (step ST2: Yes), the state observation unit determines 25th for the X-axis and the Z-axis, respectively, whether the position difference between that determined by the position command 53 specified position and the FB position 54 is equal to or less than the limit value or not (step ST3).

Wenn die FB-Position 54 und der Positionsbefehl 53 für die X-Achse bzw. die Z-Achse voneinander verschieden sind (Schritt ST3: Nein), sendet die Zustandsbeobachtungseinheit 25 an die Lerneinheit 21 Zustandsvariablen 56, welche den Positionsbefehl 53 in der X-Achsen-Richtung, die FB-Position 54 in der X-Achsen-Richtung und den FB-Strom 55 in der X-Achsen-Richtung umfassen. Zudem informiert die Zustandsbeobachtungseinheit 25 die Steuerungseinheit 13 darüber, dass die Position, an welche das Werkstück 40 bewegt wurde, außerhalb des erlaubten Bereichs ist. Auf diese Weise werden die oben beschriebenen Prozesse in den Schritten ST4a und ST5 durchgeführt und der Prozess in Schritt ST1 wird weiter durchgeführt.If the FB position 54 and the position command 53 for the X-axis and the Z-axis are different from one another (step ST3: No), the state monitoring unit sends 25th to the learning unit 21st State variables 56 , which the position command 53 in the X-axis direction, the FB position 54 in the X-axis direction and the FB current 55 include in the X-axis direction. The condition monitoring unit also provides information 25th the control unit 13 about that the position at which the workpiece 40 moved is outside the permitted range. In this way, the above-described processes in steps ST4a and ST5 are performed, and the process in step ST1 is further performed.

Nun wird ein Prozess des Lernens einer Aktion 58 durch die Lerneinheit 21 erklärt. Ein Lernalgorithmus, welcher für die Lerneinheit 21 verwendet wird, kann jeder beliebige Lernalgorithmus sein. Vorliegend wird ein Fall erklärt, in welchem bestärkendes Lernen auf den Lernalgorithmus angewendet wird. Beim bestärkenden Lernen beobachtet ein Agent, welcher ein Subjekt einer Aktion in einer Umgebung ist, den aktuellen Zustand, welcher durch Zustandsvariablen 56 angegeben ist, und bestimmt basierend auf dem Ergebnis der Beobachtung eine durchzuführende Aktion 58. Der Agent erhält von der Umgebung als Ergebnis des Auswählens der Aktion 58 eine Belohnung 57 und lernt eine Maßnahme, welche durch eine Reihe von Aktionen 58 die größte Belohnung 57 erhalten kann. Q-Lernen und TD-Lernen sind als typische Techniken des bestärkenden Lernens bekannt. Zum Beispiel, im Falle des Q-Lernens, wird eine typische Formel (Aktionswerttabelle) zum Aktualisieren der Aktionswertfunktion Q(s,a) durch die folgende unten stehende Formel (1) ausgedrückt. Daher ist ein Beispiel für die Aktionswerttabelle die Aktionswertfunktion Q(s,a) der Formel (1).
[Math. 1] Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ max a   Q ( s t + 1 , a ) Q ( s t , a t ) )

Figure DE112018007687T5_0001
Now becomes a process of learning an action 58 through the learning unit 21st explained. A learning algorithm which is used for the learning unit 21st used can be any learning algorithm. A case is explained here in which reinforcement learning is applied to the learning algorithm. In reinforcement learning, an agent who is a subject of an action in an environment observes the current state, which is determined by state variables 56 is specified and determines an action to be taken based on the result of the observation 58 . The agent receives from the environment as a result of choosing the action 58 a reward 57 and learns an action, which through a series of actions 58 the greatest reward 57 can get. Q-learning and TD-learning are known as typical reinforcement learning techniques. For example, in the case of Q learning, a typical formula (action value table) for updating the action value function Q (s, a) is expressed by the following formula (1) below. Therefore, an example of the action value table is the action value function Q (s, a) of the formula (1).
[Math. 1] Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ Max a Q ( s t + 1 , a ) - Q ( s t , a t ) )
Figure DE112018007687T5_0001

In der Formel (1) repräsentiert st eine Umgebung zum Zeitpunkt t und at repräsentiert eine Aktion zum Zeitpunkt t. Durch die Aktion at wird die Umgebung auf st+1 geändert. rt+1 repräsentiert eine Belohnung 57, welche als Ergebnis der Änderung in der Umgebung gegeben wird, γ repräsentiert eine Diskontierungsrate und α repräsentiert einen Lernkoeffizienten. Wenn Q-Lernen angewendet wird, ist die Aktion at der nächste Positionsbefehl 53 der Übergabeoperation.In the formula (1), s t represents an environment at time t and a t represents an action at time t. The action a t changes the environment to s t + 1 . r t + 1 represents a reward 57 given as a result of the change in the environment, γ represents a discount rate and α represents a learning coefficient. When Q-learning is applied, action a t is the next position command 53 the handover operation.

Die Aktualisierungsformel, welche durch die Formel (1) ausgedrückt ist, erhöht den Aktionswert Q, wenn der Aktionswert der besten Aktion a zum Zeitpunkt t+1 größer ist als der Aktionswert Q der zum Zeitpunkt t durchgeführten Aktion a, oder verkleinert den Aktionswert Q im entgegengesetzten Fall. Mit anderen Worten wird die Aktionswertfunktion Q(s,a) so aktualisiert, dass der Aktionswert Q der Aktion a zum Zeitpunkt t näher an dem besten Aktionswert zum Zeitpunkt t+1 ist. Hierdurch entwickelt sich der beste Aktionswert in einer Umgebung sequenziell zu Aktionswerten in vorangehenden Umgebungen.The update formula expressed by the formula (1) increases the action value Q when the action value of the best action a at time t + 1 is larger than the action value Q of the action a performed at time t, or decreases the action value Q im opposite case. In other words, the action value function Q (s, a) is updated so that the action value Q of the action a at time t is closer to the best action value at time t + 1. As a result, the best action value in one environment develops sequentially to action values in previous environments.

Die Belohnungsberechnungseinheit 23 berechnet eine Belohnung 57 basierend auf der Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 und basierend auf dem FB-Strom 55.The reward calculation unit 23 calculates a reward 57 based on the position difference between the position command 53 specified position and the FB position 54 and based on the FB current 55 .

Wie oben beschrieben, erhöht die Belohnungsberechnungseinheit 23 die Belohnung 57, wenn die Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 gleich oder kleiner als ein Grenzwert ist und der FB-Strom 55 gleich oder kleiner als der Referenzstromwert A ist. In diesem Fall gibt die Belohnungsberechnungseinheit 23 beispielsweise eine Belohnung 57 von „1“.As described above, the reward calculation unit increases 23 the reward 57 when the positional difference between that specified by the position command 53 specified position and the FB position 54 is equal to or less than a limit value and the FB current 55 is equal to or less than the reference current value A. In this case, the reward calculation unit gives 23 for example a reward 57 from 1".

Im Gegensatz dazu verkleinert die Belohnungsberechnungseinheit 23 die Belohnung 57, wenn die Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 größer als der Grenzwert ist oder wenn der FB-Strom 55 größer als der Referenzstromwert A ist. In diesem Fall gibt die Belohnungsberechnungseinheit 23 beispielsweise eine Belohnung 57 von „-1“.In contrast, the reward calculation unit downsizes 23 the reward 57 when the positional difference between that specified by the position command 53 specified position and the FB position 54 is greater than the limit or if the FB current 55 is greater than the reference current value A. In this case, the reward calculation unit gives 23 for example a reward 57 from 1".

Wenn die Positionsdifferenz null ist und ein Wert der Änderung des FB-Stroms 55 null ist, stellt die Belohnungsberechnungseinheit 23 die Belohnung 57 beispielsweise auf eine maximale Belohnung. Wenn die Positionsdifferenz gleich oder kleiner als der Grenzwert ist und der FB-Strom 55 die Hälfte des Referenzstromwerts A ist, stellt die Belohnungsberechnungseinheit 23 die Belohnung 57 auf die Hälfte der maximalen Belohnung ein. Ein Beispiel des Falles, in welchem der FB-Strom 55 die Hälfte des Referenzstromwerts A ist, ist ein Fall, in welchem die Übergabe des Werkstücks 40 erfolgreich ist, die Übergabeposition jedoch ein bisschen gegenüber einer gewünschten Position versetzt ist. In einem Fall, in welchem das Werkstück 40 vor dem Erreichen der Übergabeposition an dem Drehfutter 31 reibt, ist der FB-Strom 55 während des Reibens groß. Zudem, in einem Fall, in welchem die Übergabeposition ein bisschen gegenüber einer gewünschten Position versetzt ist, wenn das Drehfutter 31 versucht, das Werkstück 40 in der Mitte der Übergabeposition des Werkstücks 40 zu greifen, nachdem das Werkstück 40 die Übergabeposition erreicht hat, wird das Werkstück 40 gegen das Drehfutter 31 gedrückt und der FB-Strom 55 nimmt zu. In solchen Fällen ist die Übergabeposition innerhalb des erlaubten Bereichs, das Maschinelles-Lernen-Gerät 20 gibt jedoch eine Belohnung 57 mit einem Wert, der zwischen einem Fall liegt, in welchem das Werkstück 40 das Ende 30 nicht trifft, und einem Fall liegt, in welchem das Werkstück 40 das Ende 30 trifft.When the position difference is zero and a value of the change in FB current 55 is zero, represents the reward calculation unit 23 the reward 57 for example, a maximum reward. When the position difference is equal to or less than the limit value and the FB current 55 is half of the reference current value A, the reward calculating unit provides 23 the reward 57 half of the maximum reward. An example of the case where the FB stream 55 is half of the reference current value A, is a case where the handover of the workpiece 40 is successful, but the transfer position is slightly offset from a desired position. In a case where the workpiece 40 before reaching the transfer position on the lathe chuck 31 rubs is the FB current 55 great during rubbing. In addition, in a case where the transfer position is slightly offset from a desired position when the lathe chuck 31 tried the workpiece 40 in the middle of the transfer position of the workpiece 40 to grab after the workpiece 40 has reached the transfer position, the workpiece 40 against the lathe chuck 31 pressed and the FB current 55 increases. In such cases, the handover position is within the permitted range, the machine learning device 20th however, gives a reward 57 with a value between a case in which the workpiece 40 the end 30th does not meet, and there is a case where the workpiece 40 the end 30th meets.

Wenn die Positionsdifferenz größer als der Grenzwert ist oder wenn der FB-Strom 55 größer als der Referenzstromwert A ist, stellt die Belohnungsberechnungseinheit 23 die Belohnung 57 auf eine minimale Belohnung ein. Die Belohnungsberechnungseinheit 23 sendet die berechnete Belohnung 57 an die Funktionsaktualisierungseinheit 22.If the position difference is greater than the limit value or if the FB current 55 is greater than the reference current value A, the reward calculation unit 23 the reward 57 for a minimal reward. The reward calculation unit 23 sends the calculated reward 57 to the function update unit 22nd .

Die Funktionsaktualisierungseinheit 22 aktualisiert die Funktion zum Bestimmen einer Aktion 58 in Abhängigkeit der Belohnung 57, die durch die Belohnungsberechnungseinheit 23 berechnet wurde. Im Falle des Q-Lernens ist die Aktionswertfunktion Q(st,at), die durch die Formel (1) ausgedrückt ist, beispielsweise die Funktion zum Berechnen einer Aktion 58, welche durch die Funktionsaktualisierungseinheit 22 aktualisiert wird.The feature update unit 22nd updates the function for determining an action 58 depending on the reward 57 by the reward calculation unit 23 was calculated. In the case of Q learning, the action value function Q (s t , a t ) expressed by the formula (1) is, for example, the function for calculating an action 58 , which by the function update unit 22nd is updated.

4 ist ein Diagramm zum Erklären eines ersten Lernbeispiels, welches durch das Maschinelles-Lernen-Gerät gemäß der Ausführungsform durchgeführt wird. 4 zeigt Positionen P0 bis P6 des Werkstücks 40 in der X-Achsen-Richtung. Die Position des Werkstücks 40 in der X-Achsen-Richtung, wenn das Werkstück 40 das Ende 30 des Drehfutters 31 trifft, wird als die Position P0 angenommen. In diesem Fall wiederholt das Maschinelles-Lernen-Gerät 20 einen Prozess des Bewegens des Werkstücks 40 zurück entlang der positiven Z-Achsen-Richtung, einen Prozess des Bewegens des Werkstücks 40 zu der nächsten Position in der X-Achsen-Richtung und einen Prozess des Einfügens des Werkstücks 40 entlang der negativen Z-Achsen-Richtung, bis das Werkstück 40 nicht mehr das Ende 30 des Drehfutters 31 trifft. 4th Fig. 13 is a diagram for explaining a first learning example performed by the machine learning device according to the embodiment. 4th shows positions P0 to P6 of the workpiece 40 in the X-axis direction. The position of the workpiece 40 in the X-axis direction when the workpiece 40 the end 30th of the lathe chuck 31 is assumed to be the position P0. In this case, the machine learning device repeats 20th a process of moving the workpiece 40 back along the positive Z-axis direction, a process of moving the workpiece 40 to the next position in the X-axis direction and a process of inserting the workpiece 40 along the negative Z-axis direction until the workpiece 40 no longer the end 30th of the lathe chuck 31 meets.

Insbesondere bewegt das Maschinelles-Lernen-Gerät 20 das Werkstück 40 in der X-Achsen-Richtung in einer Reihenfolge gemäß Position P1, Position P2, Position P3, Position P4, Position P5 und Position P6, welche Positionen in der X-Achsen-Richtung sind. Das Intervall zwischen der Position P0 und der Position P1 ist der Bewegungswert Lx. Auf gleiche Weise sind die Intervalle zwischen der Position P1 und der Position P2, zwischen der Position P2 und der Position P3, zwischen der Position P0 und der Position P4, zwischen der Position P4 und der Position P5 und zwischen der Position P5 und der Position P6 jeweils der Bewegungswert Lx. Zudem sind die Intervalle zwischen der Position P0 und der Position P3 und zwischen der Position P0 und der Position P6 jeweils die Bewegungsdistanz Lmax.In particular, the machine learning device moves 20th the workpiece 40 in the X-axis direction in an order of position P1, position P2, position P3, position P4, position P5 and position P6, which are positions in the X-axis direction. The interval between the position P0 and the position P1 is the movement value Lx. In the same way are the intervals between the position P1 and the position P2, between the position P2 and the position P3, between the position P0 and the position P4, between the position P4 and the position P5 and between the position P5 and the position P6 the movement value Lx. In addition, the intervals between the position P0 and the position P3 and between the position P0 and the position P6 are the moving distance Lmax, respectively.

Zum Beispiel, zum Bewegen des Werkstücks 40 zu der Position P1 sendet das Maschinelles-Lernen-Gerät 20 eine Aktion 58 an die Steuereinheit 13, um das Werkstück 40 auf die Position P1 zu laden. Hierdurch veranlasst ein der Aktion 58 zugeordneter Positionsbefehl 53 den Belader 36 dazu, sich in der X-Achsen-Richtung zu bewegen.For example, to move the workpiece 40 the machine learning device sends to position P1 20th an action 58 to the control unit 13 to the workpiece 40 load to position P1. This initiates the action 58 assigned position command 53 the loader 36 to move in the X-axis direction.

Wenn das Werkstück 40 erfolgreich zu dem Drehfutter 31 bewegt wird, ohne das Ende 30 zu treffen, beendet das Maschinelles-Lernen-Gerät 20 die Bewegung des Werkstücks 40 in der X-Achsen-Richtung. Das Maschinelles-Lernen-Gerät 20 gibt einem Positionsbefehl 53 eine geringe Belohnung 57, wenn das Werkstück 40 das Ende 30 trifft, und gibt einem Positionsbefehl 53 eine große Belohnung 57, wenn das Werkstück 40 das Ende 30 nicht getroffen hat.When the workpiece 40 successfully to the lathe chuck 31 is moved without the end 30th to meet ends the machine learning device 20th the movement of the workpiece 40 in the X-axis direction. The machine learning device 20th gives a position command 53 a small reward 57 when the workpiece 40 the end 30th hits, and gives a position command 53 a great reward 57 when the workpiece 40 the end 30th did not hit.

Es ist zu beachten, dass das Maschinelles-Lernen-Gerät 20 das Werkstück 40 an die Positionen P1 bis P6 in einer beliebigen Reihenfolge bewegen kann. Beispielsweise kann das Maschinelles-Lernen-Gerät 20 das Werkstück 40 in der X-Achsen-Richtung in aufsteigender Reihenfolge der Distanz von der Position P0 bewegen, beispielsweise gemäß Position P1, Position P4, Position P2, Position P5, Position P3 und Position P6. Zudem ist das Maschinelles-Lernen-Gerät 20 nicht auf den Fall begrenzt, in welchem sechs Positionen P1 bis P6 als die Positionen in der X-Achsen-Richtung eingestellt sind, und kann fünf oder weniger oder sieben oder mehr Positionen in der X-Achsen-Richtung einstellen.It should be noted that the machine learning device 20th the workpiece 40 can move to positions P1 to P6 in any order. For example, the machine learning device 20th the workpiece 40 move in the X-axis direction in ascending order of distance from position P0, for example according to position P1, position P4, position P2, position P5, position P3 and position P6. In addition, the machine learning device is 20th not limited to the case where six positions P1 to P6 are set as the positions in the X-axis direction, and can set five or less or seven or more positions in the X-axis direction.

Wenn der FB-Strom 55 der X-Achse und der Z-Achse jeweils gleich oder kleiner als der Referenzstromwert A wurde (Schritt ST2: Ja) und die Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 für die X-Achse und die Z-Achse gleich oder kleiner als der Grenzwert wurde (Schritt ST3: Ja), lernt die Lerneinheit 21 eine Aktion 58, welche der nächste Positionsbefehl 53 ist, in Abhängigkeit der Zustandsvariablen 56 (Schritt ST4b). Die Lerneinheit 21 stellt daher für den Positionsbefehl 53, der für die Übergabe verwendet wurde, eine Belohnung 57 mit einem großen Wert ein und bestimmt dann die Aktion 58, welche dem nächsten Positionsbefehl 53 entspricht.When the FB current 55 of the X-axis and the Z-axis respectively became equal to or smaller than the reference current value A (step ST2: Yes) and the positional difference between that determined by the position command 53 specified position and the FB position 54 for the X-axis and the Z-axis became equal to or smaller than the limit value (step ST3: Yes), the learning unit learns 21st an action 58 which the next position command 53 is, depending on the state variables 56 (Step ST4b). The learning unit 21st therefore provides for the position command 53 used to deliver a reward 57 with a large value and then determines the action 58 which the next position command 53 corresponds.

Nachdem das Werkstück 40 zu der Übergabeposition bewegt wurde, informiert die Zustandsbeobachtungseinheit 25 zudem die Steuerungseinheit 13 darüber, dass die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist. Die Steuerungseinheit 13 führt daher den Prozess des Übergebens des Werkstücks 40 zwischen den Spannfuttern durch.After the workpiece 40 has been moved to the transfer position, informs the state monitoring unit 25th also the control unit 13 about that the position at which the workpiece 40 moved is within the permitted range. The control unit 13 therefore performs the process of handing over the workpiece 40 between the chucks.

Insbesondere veranlasst die Steuerungseinheit 13 das Maschinenwerkzeug 2 dazu, die Operationen von Schritt s2 bis s6, die oben beschrieben sind, durchzuführen. Insbesondere startet die Steuerungseinheit 13 die Operation des Schließens des Drehfutters 31 (Schritt ST6) und wartet, bis das Drehfutter 31 geschlossen ist (Schritt ST7). Durch das Schließen des Drehfutters 31 greift das Drehfutter 31 das Werkstück 40.In particular, the control unit initiates 13 the machine tool 2 to perform the operations from steps s2 to s6 described above. In particular, the control unit starts 13 the operation of closing the lathe chuck 31 (Step ST6) and waits for the lathe chuck 31 is closed (step ST7). By closing the lathe chuck 31 grips the lathe chuck 31 the workpiece 40 .

Danach startet die Steuerungseinheit 13 die Operation des Öffnens des Beladerspannfutters 32 (Schritt ST8) und wartet, bis das Beladerspannfutter 32 geöffnet ist (Schritt ST9). Die Steuerungseinheit 13 zieht dann den Belader 36 entlang der positiven Z-Achsen-Richtung zurück (Schritt ST10).Then the control unit starts 13 the operation of opening the loader chuck 32 (Step ST8) and waits for the loader chuck 32 is opened (step ST9). The control unit 13 then pulls the loader 36 back along the Z-axis positive direction (step ST10).

Wenn das Werkstück 40 von dem Drehfutter 31 zu dem Belader 36 entladen wird, lernt das Maschinelles-Lernen-Gerät 20 ebenfalls Positionsbefehle 53 über Prozesse, die denen des Falls ähnlich sind, in welchem das Werkstück 40 von dem Belader 36 auf das Drehfutter 31 geladen wird.When the workpiece 40 from the lathe chuck 31 to the loader 36 is discharged, the machine learning device learns 20th also position commands 53 about processes similar to those of the case in which the workpiece 40 from the loader 36 on the lathe chuck 31 is loaded.

Wie oben beschrieben, wenn eine Übergabe des Werkstücks 40 scheitert, veranlasst das Maschinelles-Lernen-Gerät 20, dass die Übergabe des Werkstücks 40 erneut in Abhängigkeit des Bewegungswerts Lx durchgeführt wird, wodurch eine Korrektur der Übergabeposition ermöglicht wird. Zudem, weil das Maschinelles-Lernen-Gerät 20 die Übergabeposition des Werkstücks 40 lernt, kann ein Scheitern der Übergabe verhindert werden. Zudem, weil das Maschinelles-Lernen-Gerät 20 die Übergabeposition des Werkstücks 40 lernt, ist das Maschinelles-Lernen-Gerät 20 ebenfalls auf eine Umgebung anwendbar, in welcher die Übergabe aufgrund eines geringen Versatzes scheitert, beispielsweise in einem Fall einer Spannzange. Ferner, weil das Maschinelles-Lernen-Gerät 20 veranlassen kann, dass die Übergabe des Werkstücks 40 erneut durchgeführt wird und ein Scheitern der Übergabe verhindern kann, wird die Produktivität des Maschinenwerkzeugs 2 erhöht.As described above, when a handover of the workpiece 40 fails, causes the machine learning device 20th that the handover of the workpiece 40 is carried out again as a function of the movement value Lx, whereby a correction of the transfer position is made possible. In addition, because the machine learning device 20th the transfer position of the workpiece 40 learns one can Failure of the handover can be prevented. In addition, because the machine learning device 20th the transfer position of the workpiece 40 learns is the machine learning device 20th also applicable to an environment in which the handover fails due to a slight offset, for example in the case of a collet. Furthermore, because the machine learning device 20th can cause the handover of the workpiece 40 is performed again and can prevent failure of the handover, the productivity of the machine tool 2 is increased.

Zudem, weil das Maschinelles-Lernen-Gerät 20 die Übergabeposition des Werkstücks 40 basierend auf der Positionsdifferenz zwischen der durch den Positionsbefehl 53 angegebenen Position und der FB-Position 54 bestimmt, ist es nicht erforderlich, eine Spezialvorrichtung oder ein Gerät, wie beispielsweise eine Kamera, zum Prüfen der Übergabe des Werkstücks 40 bereitzustellen. Daher kann die Übergabe mit geringen Kosten geprüft werden.In addition, because the machine learning device 20th the transfer position of the workpiece 40 based on the position difference between the position command 53 specified position and the FB position 54 certain, it is not necessary to use a special device or device, such as a camera, for checking the transfer of the workpiece 40 to provide. Therefore, the handover can be checked at a low cost.

Zudem, wenn die Übergabe des Werkstücks 40 gescheitert ist, führt das Maschinelles-Lernen-Gerät 20 die Übergabe des Werkstücks 40 erneut in Abhängigkeit des Bewegungswerts Lx durch, was die Notwendigkeit zur manuellen Wiederherstellung selbst dann eliminiert, wenn das Werkstück 40 das Ende 30 des Drehfutters 31 trifft. Dies kann die Ausfallzeit verkürzen, wenn das Werkstück 40 geladen wird, und kann eine Verringerung der Produktivität verhindern.In addition, when handing over the workpiece 40 failed, the machine learning device leads 20th the handover of the workpiece 40 again depending on the movement value Lx, eliminating the need for manual recovery even when the workpiece 40 the end 30th of the lathe chuck 31 meets. This can reduce downtime when the workpiece 40 and may prevent productivity from being lowered.

Während in der vorliegenden Ausführungsform der Fall erklärt ist, in welchem das Maschinenwerkzeug 2 das Werkstücks 40 in der X-Achsen-Richtung und in der Z-Achsen-Richtung bewegt, kann das Maschinenwerkzeug 2 das Werkstück 40 in der X-Achsen-Richtung, der Y-Achsen-Richtung und der Z-Achsen-Richtung bewegen. In diesem Fall umfassen Positionsbefehle 53, welche das numerische Steuerungsgerät 10 an die Treibereinheit 37 überträgt, einen Positionsbefehl in der X-Achsen-Richtung, einen Positionsbefehl in der Y-Achsen-Richtung und einen Positionsbefehl in der Z-Achsen-Richtung. Zudem umfasst der Servomotor 38 Servomotoren zum Bewegen des Beladers 36 in der X-Achsen-Richtung, in der Y-Achsen-Richtung und in der Z-Achsen-Richtung. Das Maschinelles-Lernen-Gerät 20 lernt dann Positionsbefehle in der X-Achsen-Richtung, Positionsbefehle in der Y-Achsen-Richtung und Positionsbefehle in der Z-Achsen-Richtung.While, in the present embodiment, the case where the machine tool 2 is the workpiece is explained 40 Moving in the X-axis direction and in the Z-axis direction, the machine tool 2 can move the workpiece 40 move in the X-axis direction, the Y-axis direction, and the Z-axis direction. In this case, include position commands 53 which the numerical control device 10 to the driver unit 37 transmits a position command in the X-axis direction, a position command in the Y-axis direction, and a position command in the Z-axis direction. It also includes the servo motor 38 Servo motors for moving the loader 36 in the X-axis direction, in the Y-axis direction, and in the Z-axis direction. The machine learning device 20th then learns position commands in the X-axis direction, position commands in the Y-axis direction, and position commands in the Z-axis direction.

5 ist ein Diagramm zum Erklären eines zweiten Lernbeispiels, welches durch das Maschinelles-Lernen-Gerät gemäß der Ausführungsform durchgeführt wird. 6 ist ein Diagramm zum Erklären von Relativpositionen des Drehfutters des Maschinenwerkzeugs gemäß der Ausführungsform und eines Werkstücks. Vorliegend wird ein Fall erklärt, in welchem das Maschinenwerkzeug 2 ein Werkstück 40 in der X-Achsen-Richtung, der Y-Achsen-Richtung und der Z-Achsen-Richtung bewegt. Die 5 und 6 zeigen Positionen des Werkstücks 40 in einer XY-Ebene, wenn das Werkstück 40 in der Z-Achsen-Richtung betrachtet wird. 5 Fig. 13 is a diagram for explaining a second learning example performed by the machine learning apparatus according to the embodiment. 6th Fig. 13 is a diagram for explaining relative positions of the rotary chuck of the machine tool according to the embodiment and a workpiece. A case will be explained here in which the machine tool 2 is a workpiece 40 moves in the X-axis direction, the Y-axis direction, and the Z-axis direction. The 5 and 6th show positions of the workpiece 40 in an XY plane when the workpiece 40 is viewed in the Z-axis direction.

Ein in 6 gezeigtes Drehfutter 31A ist ein Beispiel für das Drehfutter 31, welches mit Bezug zu 1 beschrieben ist. Das Drehfutter 31A ist ein Dreibackenspannfutter. Die drei Drehfutter 31A greifen das Werkstück 40, indem sich jedes zu der Mitte Q1 eines kreisförmigen Spannfutterbereichs 45 bewegt.An in 6th shown lathe chuck 31A is an example of the lathe chuck 31 which related to 1 is described. The lathe chuck 31A is a three-jaw chuck. The three lathe chucks 31A grab the workpiece 40 by each moving to the center Q1 of a circular chuck portion 45.

Das numerische Steuerungsgerät 10 erzeugt einen Positionsbefehl 53 zum Einfügen des Werkstücks 40 an der Mitte Q1, jedoch kann das tatsächliche Werkstück 40 an einer Position eingesetzt werden, welche von der Mitte Q1 versetzt ist, beispielsweise wie eine Position P0, und das Ende 30 treffen. Das Maschinelles-Lernen-Gerät 20 lernt daher einen Positionsbefehl 53, mit welchem das Werkstück 40 das Ende 30 nicht trifft.The numerical control device 10 generates a position command 53 for inserting the workpiece 40 at the center Q1, however, the actual workpiece 40 at a position offset from the center Q1 such as a position P0 and the end 30th to meet. The machine learning device 20th therefore learns a position command 53 with which the workpiece 40 the end 30th does not meet.

Es wird angenommen, dass die Position des Werkstücks 40, wenn das Werkstück 40 das Ende 30 des Drehfutters 31A trifft, die Position P0 ist. In diesem Fall wiederholt das Maschinelles-Lernen-Gerät 20 einen Prozess des Zurückbewegens des Werkstücks 40 entlang der positiven Z-Achsen-Richtung, einen Prozess des Bewegens des Werkstücks 40 zu den nächsten Positionen in der X-Achsen-Richtung und in der Y-Achsen-Richtung und einen Prozess des Einfügens des Werkstücks 40 entlang der negativen Z-Achsen-Richtung, bis das Werkstück 40 das Ende 30 des Drehfutters 31A nicht mehr trifft. In diesem Fall berechnet das Maschinelles-Lernen-Gerät 20 die nächste Position, an welche das Werkstück 40 bewegt wird, basierend auf dem Bewegungswert Lx und der Bewegungsdistanz Lmax. Während des Lernens der Bewegungspositionen wird das Werkstück 40 daher an eine Position bewegt, welche durch bestimmte gelernte Richtungen und bestimmte gelernte Bewegungswerte in der XY-Ebene begrenzt ist.It is assumed that the position of the workpiece 40 when the workpiece 40 the end 30th of the lathe chuck 31A hits, the position is P0. In this case, the machine learning device repeats 20th a process of moving the workpiece back 40 along the positive Z-axis direction, a process of moving the workpiece 40 to the next positions in the X-axis direction and in the Y-axis direction and a process of inserting the workpiece 40 along the negative Z-axis direction until the workpiece 40 the end 30th of the lathe chuck 31A no longer hits. In this case, the machine learning device calculates 20th the next position to which the workpiece 40 is moved based on the movement value Lx and the movement distance Lmax. While learning the movement positions, the workpiece is 40 therefore moved to a position which is limited by certain learned directions and certain learned movement values in the XY plane.

Insbesondere bewegt das Maschinelles-Lernen-Gerät 20 das Werkstück 40 in einer Reihenfolge gemäß Position P11, Position P12, Position P13, Position P14, Position P15, Position P16, Position P17, Position P18 und Position P19, welche Positionen in der XY-Ebene sind. Die Intervalle zwischen der Position P0 und der Position P11, zwischen der Position P11 und der Position P12, und zwischen der Position P12 und der Position P13 sind jeweils der Bewegungswert Lx. Auf gleiche Weise sind die Intervalle zwischen der Position P0 und der Position P14, zwischen der Position P14 und der Position P15 und zwischen der Position P15 und der Position P16 jeweils der Bewegungswert Lx. Auf gleiche Weise sind die Intervalle zwischen der Position P0 und der Position P17, zwischen der Position P17 und der Position P18 und zwischen der Position P18 und der Position P19 jeweils der Bewegungswert Lx. Zudem sind die Intervalle zwischen der Position P0 und der Position P13, zwischen der Position P0 und der Position P16 und zwischen der Position P0 und der Position P19 jeweils die Bewegungsdistanz Lmax.In particular, the machine learning device moves 20th the workpiece 40 in an order according to position P11, position P12, position P13, position P14, position P15, position P16, position P17, position P18 and position P19, which are positions in the XY plane. The intervals between the position P0 and the position P11, between the position P11 and the position P12, and between the position P12 and the position P13 are respectively the movement value Lx. In the same way, the intervals between the position P0 and the position P14, between the position P14 and the position P15, and between the position P15 and the position P16 are each the movement value Lx. In the same way, the intervals between the position P0 and the position P17, between the position P17 and the position P18, and between the position P18 and the position P19 are each the movement value Lx. In addition, the intervals between the position P0 and the position P13, between the position P0 and the position P16, and between the position P0 and the position P19 are the moving distance Lmax, respectively.

Zudem ist ein Winkel zwischen einer Richtung von der Position P0 zu der Position P13 und einer Richtung von der Position P0 zu der Position P16 ein gelernter Winkel θ, und ein Winkel zwischen einer Richtung von der Position P0 zu der Position P16 und einer Richtung von der Position P0 zu der Position P19 ist der gelernte Winkel θ. Das Maschinelles-Lernen-Gerät 20 wiederholt jeweils einen Prozess des Bewegens des Werkstücks 40 von der Position P0 in einer ersten Richtung um den Bewegungswert Lx und, nachdem das Werkstück 40 um die Bewegungsdistanz Lmax bewegt ist, jeweils einen Prozess des Bewegens des Werkstücks 40 von der Position P0 in einer zweiten Richtung, welche eine Richtung mit dem gelernten Winkel θ zu der ersten Richtung ist, um den Bewegungswert Lx. Wenn eine erste Suche nach einer geeigneten Bewegungsposition des Werkstücks 40 durchgeführt wird, sucht das Maschinelles-Lernen-Gerät 20 daher nach einer geeigneten Bewegungsposition, indem das Werkstück 40 in der ersten Richtung jeweils um den Bewegungswert Lx bis zu der maximalen Bewegungsdistanz Lmax bewegt wird. Wenn in der ersten Richtung keine geeignete Bewegungsposition gefunden wird, führt das Maschinelles-Lernen-Gerät 20 eine Suche, welche der in der ersten Richtung gleich ist, in der zweiten Richtung durch, welche den gelernten Winkel θ bezüglich der ersten Richtung hat. Das Maschinelles-Lernen-Gerät 20 wiederholt jeweils einen Prozess des Suchens nach einer geeigneten Bewegungsposition, während das Werkstück 40 um den Bewegungswert Lx bewegt wird, und einen Prozess des Drehens des gelernten Winkels θ, bis eine Summe der gelernten Winkel θ innerhalb des Spannfutterbereichs 45 einen Wert von 360° übersteigt.In addition, an angle between a direction from the position P0 to the position P13 and a direction from the position P0 to the position P16 is a learned angle θ, and an angle between a direction from the position P0 to the position P16 and a direction from the Position P0 to position P19 is the learned angle θ. The machine learning device 20th repeats a process of moving the workpiece at a time 40 from the position P0 in a first direction by the movement amount Lx and after the workpiece 40 is moved by the moving distance Lmax, each process of moving the workpiece 40 from the position P0 in a second direction, which is a direction with the learned angle θ to the first direction, by the movement amount Lx. When a first search for a suitable movement position of the workpiece 40 is performed, the machine learning device searches 20th therefore seek a suitable moving position by placing the workpiece 40 is moved in the first direction by the movement value Lx up to the maximum movement distance Lmax. If no suitable movement position is found in the first direction, the machine learning device leads 20th perform a search equal to that in the first direction in the second direction which has the learned angle θ with respect to the first direction. The machine learning device 20th each repeats a process of searching for a suitable moving position while the workpiece 40 by the movement amount Lx, and a process of rotating the learned angle θ until a sum of the learned angles θ within the chuck portion 45 exceeds 360 °.

Zum Bewegen des Werkstücks 40 zu der Position P11 sendet das Maschinelles-Lernen-Gerät 20 beispielsweise eine Aktion 58 an die Steuerungseinheit 13, um das Werkstück 40 an der Position P11 zu laden. Hierdurch veranlasst ein der Aktion 85 zugeordneter Positionsbefehl 53 den Belader 36 dazu, sich in der X-Achsen-Richtung und in der Y-Achsen-Richtung zu bewegen.For moving the workpiece 40 the machine learning device sends to position P11 20th for example an action 58 to the control unit 13 to the workpiece 40 to load at position P11. This triggers a position command assigned to action 85 53 the loader 36 to move in the X-axis direction and in the Y-axis direction.

Wenn das Werkstück 40 erfolgreich zu dem Drehfutter 31A bewegt wurde, ohne das Ende 30 zu treffen, beendet das Maschinelles-Lernen-Gerät 20 die Bewegungen des Werkstücks 40 in der X-Achsen-Richtung und in der Y-Achsen-Richtung.When the workpiece 40 successfully to the lathe chuck 31A was moved without the end 30th to meet ends the machine learning device 20th the movements of the workpiece 40 in the X-axis direction and in the Y-axis direction.

Es ist zu beachten, dass das Maschinelles-Lernen-Gerät 20 das Werkstück 40 an die Positionen P11 bis P19 in einer beliebigen Reihenfolge bewegen kann. Beispielsweise kann das Maschinelles-Lernen-Gerät 20 das Werkstück 40 in aufsteigender Reihenfolge der Distanz von der Position P0 bewegen, beispielsweise gemäß Position P11, Position P14, Position P17, Position P12, Position P15, Position P18, Position P13, Position P16 und Position P19. Zudem ist das Maschinelles-Lernen-Gerät 20 nicht auf den Fall begrenzt, in welchem neun Positionen P11 bis P19 als die Positionen in der XY-Ebene eingestellt sind, und kann acht oder weniger oder zehn oder mehr Positionen in der XY-Ebene einstellen.It should be noted that the machine learning device 20th the workpiece 40 can move to positions P11 to P19 in any order. For example, the machine learning device 20th the workpiece 40 move in ascending order of distance from position P0, e.g. according to position P11, position P14, position P17, position P12, position P15, position P18, position P13, position P16 and position P19. In addition, the machine learning device is 20th not limited to the case where nine positions P11 to P19 are set as the positions in the XY plane, and can set eight or less or ten or more positions in the XY plane.

Nun wird eine Hardwarekonfiguration des numerischen Steuerungsgeräts 10 beschrieben. 7 ist ein Diagramm, welches ein Beispiel einer Hardwarekonfiguration des numerischen Steuerungsgeräts gemäß der Ausführungsform zeigt.Now, a hardware configuration of the numerical control apparatus becomes 10 described. 7th Fig. 13 is a diagram showing an example of a hardware configuration of the numerical control apparatus according to the embodiment.

Das numerische Steuerungsgerät 10 kann durch eine in 7 gezeigte Steuerungsschaltung 300 implementiert sein, d. h., einen Prozessor 301 und einen Speicher 302. Beispiele des Prozessors 301 umfassen eine zentrale Verarbeitungseinheit (CPU; auch als zentrales Verarbeitungsgerät, als Verarbeitungsgerät, als Rechengerät, als Mikroprozessor, als Mikrocomputer, als Prozessor oder als digitaler Signalprozessor (DSP) bezeichnet) und ein hochgradig integriertes System. Beispiele für den Speicher 302 umfassen einen Direktzugriffsspeicher (RAM) und einen nur lesbaren Speicher (ROM).The numerical control device 10 can through an in 7th The control circuit 300 shown may be implemented, ie a processor 301 and a memory 302. Examples of the processor 301 include a central processing unit (CPU; also as a central processing device, as a processing device, as a computing device, as a microprocessor, as a microcomputer, as a processor or as a digital signal processor (DSP)) and a highly integrated system. Examples of the memory 302 include random access memory (RAM) and read only memory (ROM).

Das numerische Steuerungsgerät 10 wird durch den Prozessor 301 implementiert, welcher Programme zum Durchführen von Operationen des numerischen Steuerungsgeräts 10, die in dem Speicher 302 gespeichert sind, liest und ausführt. Mit anderen Worten veranlassen diese Programme einen Computer dazu, die Prozeduren oder die Verfahren auszuführen, die durch das numerische Steuerungsgerät 10 durchgeführt werden. Der Speicher 302 wird auch als temporärer Speicher verwendet, wenn der Prozessor 301 diverse Prozesse durchführt.The numerical control device 10 is implemented by the processor 301 which has programs for performing operations of the numerical control apparatus 10 that are stored in the memory 302, reads and executes. In other words, these programs cause a computer to carry out the procedures or processes performed by the numerical control device 10 be performed. The memory 302 is also used as temporary storage when the processor 301 performs various processes.

Es ist zu beachten, dass einige der Funktionen des numerischen Steuerungsgeräts 10 durch dedizierte Hardware implementiert sein können und dass andere durch Software oder Firmware implementiert sein können. Zudem kann das Maschinelles-Lernen-Gerät 20 durch die in 7 gezeigte Steuerungsschaltung 300 implementiert sein.It should be noted that some of the functions of the numerical control device 10 may be implemented by dedicated hardware and that others may be implemented by software or firmware. In addition, the machine learning device 20th through the in 7th control circuit 300 shown may be implemented.

Während in der vorliegenden Ausführungsform basierend auf dem FB-Strom 55 und der Positionsdifferenz bestimmt wird, ob eine Übergabeposition innerhalb des erlaubten Bereichs ist oder nicht, kann die Bestimmung, ob eine Übergabeposition innerhalb des erlaubten Bereichs ist oder nicht, basierend auf der Positionsdifferenz bestimmt werden, ohne den FB-Strom 55 zu verwenden.While in the present embodiment based on the FB current 55 and the position difference is determined whether or not a transfer position is within the allowable range, the determination of whether or not a transfer position is within the allowable range can be can be determined based on the position difference without the FB current 55 to use.

Des Weiteren, während in der vorliegenden Ausführungsform die Positionsbefehle 53 für die Übergabeposition basierend auf dem FB-Strom 55 in der X-Achsen-Richtung und der Positionsdifferenz in der X-Achsen-Richtung gelernt werden, können die Positionsbefehle 53 für die Übergabeposition basierend auf der Positionsdifferenz in der X-Achsen-Richtung gelernt werden, ohne den FB-Strom 55 in der X-Achsen-Richtung zu verwenden.Furthermore, while in the present embodiment, the position commands 53 for the transfer position based on the FB current 55 in the X-axis direction and the position difference in the X-axis direction can be learned, the position commands 53 for the transfer position based on the position difference in the X-axis direction can be learned without the FB current 55 to be used in the X-axis direction.

Es ist zu beachten, dass in einem Fall, in welchem das Drehfutter 31 ein elektrisches Spannfutter ist, der Versatz des Werkstücks 40 auch an dem Drehfutter 31 detektiert werden kann. In diesem Fall kann das Maschinelles-Lernen-Gerät 20 einen Positionsbefehl 53 basierend auf einem Versatz lernen, welcher an dem Drehfutter 31 detektiert wird.It should be noted that in a case where the lathe chuck 31 an electric chuck is the offset of the workpiece 40 also on the lathe chuck 31 can be detected. In this case, the machine learning device can 20th a position command 53 based on an offset, learn which on the lathe chuck 31 is detected.

Während in der vorliegenden Ausführungsform der Fall erklärt ist, in welchem das Maschinelles-Lernen-Gerät 20 ein Maschinenlernen unter Verwendung von bestärkendem Lernen ausführt, kann das Maschinelles-Lernen-Gerät 20 das Maschinenlernen mittels anderer bekannter Verfahren ausführen, beispielsweise mittels einem neuronalen Netzwerk, genetischer Programmierung, funktionaler Logikprogrammierung oder einer Supportvektormaschine.While, in the present embodiment, the case in which the machine learning device 20th performs machine learning using reinforcement learning, the machine learning device can 20th perform machine learning using other known methods, for example using a neural network, genetic programming, functional logic programming, or a support vector machine.

Zudem, während in der vorliegenden Ausführungsform der Fall erklärt ist, in welchem die Steuerungseinheit 13 den Belader 36 basierend auf der Aktion 58 steuert, die von der Lerneinheit 21 gelernt wurde, kann die Steuerungseinheit 13 den Belader 36 steuern, ohne die Aktion 58 zu verwenden. In diesem Fall bestimmt die Steuerungseinheit 13 basierend auf dem Positionsbefehl 53, der FB-Position 54 und dem FB-Strom 55, ob die Position, an welche das Werkstück 40 bewegt wurde, innerhalb des erlaubten Bereichs ist oder nicht, und, wenn der Versatzwert nicht innerhalb des erlaubten Bereichs ist, gibt einen neuen Positionsbefehl 53 aus, bei welchem eine Position gegenüber der durch den Positionsbefehl 53 angegebenen versetzt ist. Die Steuerungseinheit 13 sucht daher nach einer geeigneten Bewegungsposition des Werkstücks 40, indem die Bewegungsposition des Werkstücks 40 Stück für Stück versetzt wird. Insbesondere sorgt die Steuerungseinheit 13 dafür, dass der Versatzwert in den erlaubten Bereich fällt, indem einmal oder mehrfach ein Prozess des Bestimmens des Versatzes und, wenn der Versatzwert nicht innerhalb des erlaubten Bereichs ist, einen Prozess des Ausgebens des neuen Positionsbefehls 53 ausgeführt werden.In addition, while in the present embodiment the case is explained in which the control unit 13 the loader 36 based on the action 58 controls that of the learning unit 21st has been learned, the control unit 13 the loader 36 control without the action 58 to use. In this case, the control unit determines 13 based on the position command 53 , the FB position 54 and the FB stream 55 whether the position to which the workpiece 40 is within the allowable range or not, and if the offset value is not within the allowable range, issues a new position command 53 from which a position is opposite to that given by the position command 53 specified is offset. The control unit 13 therefore searches for a suitable moving position of the workpiece 40 by changing the moving position of the workpiece 40 Is moved piece by piece. In particular, the control unit provides 13 making the offset value fall within the allowable range by performing a process of determining the offset one or more times and, when the offset value is not within the allowable range, a process of issuing the new position command 53 are executed.

Weil, wie oben beschrieben, gemäß der Ausführungsform ein Positionsbefehl 53, welcher einen Versatz der Übergabeposition eines Werkstücks 40 zwischen den Spannfuttern reduziert oder verhindert, in Abhängigkeit eines Datensatzes gelernt wird, welcher basierend auf den Zustandsvariablen 56 erzeugt ist, kann die Wahrscheinlichkeit des Scheiterns des Übergebens des Werkstücks 40 durch Wiederholen der Operation des Übergebens des Werkstücks 40 reduziert werden.Because, as described above, according to the embodiment, a position command 53 , which is an offset of the transfer position of a workpiece 40 between the chucks is reduced or prevented, depending on a data set which is based on the state variables 56 is generated, the probability of failure of handing over the workpiece may increase 40 by repeating the operation of handing over the workpiece 40 be reduced.

Die in der oben beschriebenen Ausführungsform dargestellten Konfigurationen sind Beispiele der vorliegenden Erfindung und können mit anderen bekannten Technologien kombiniert werden und/oder können teilweise weggelassen oder modifiziert werden, ohne den Umfang der vorliegenden Erfindung zu verlassen.The configurations shown in the embodiment described above are examples of the present invention and can be combined with other known technologies and / or can be partially omitted or modified without departing from the scope of the present invention.

BezugszeichenlisteList of reference symbols

11
Maschinenbearbeitungssystem; 2 Maschinenwerkzeug; 3 Machining system; 2 machine tool; 3
1010
numerische Steuerungsgerät;numerical control device;
1111
Maschinenbearbeitungssteuerungsprogramm-Speichereinheit;Machining control program storage unit;
1212
Analyseeinheit;Analysis unit;
1313
Steuerungseinheit;Control unit;
1414th
Speichereinheit;Storage unit;
2020th
Maschinelles-Lernen-Gerät;Machine learning device;
2121st
Lerneinheit;Learning unit;
2222nd
Funktionsaktualisierungseinheit;Function update unit;
2323
Belohnungsberechnungseinheit;Reward calculation unit;
2525th
Zustandsbeobachtungseinheit;Condition monitoring unit;
3030th
Ende;The End;
31, 31A31, 31A
Drehfutter;Messgeber;Lathe chucks; encoder;
3232
Beladerspannfutter;Loader chucks;
3535
Dreheinheit;Turntable;
3636
Belader;Loader;
3737
Treibereinheit;Driver unit;
3838
Servomotor;Servo motor;
3939
Messgeber;Measuring transducer;
4040
Werkstück;Workpiece;
5252
Übergabepositionsinformation;Transfer position information;
5353
Positionsbefehl;Position command;
5454
FB-Position;FB position;
5555
FB-Strom;FB current;
5656
Zustandsvariable;State variable;
5757
Belohnung;Reward;
5858
Aktion;Action;
6161
Beladungsbefehl.Loading order.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • JP 2002187040 [0004]JP 2002187040 [0004]

Claims (11)

Maschinelles-Lernen-Gerät, welches einen Positionsbefehl an eine Treibervorrichtung lernt, welche ein erstes Spannfutter bewegt, wenn ein Werkstück zwischen dem ersten Spannfutter, welches das Werkstück greift und weitergibt, und einem zweiten Spannfutter, welches greift, um das Werkstück entgegenzunehmen, übergeben wird, wobei das Maschinelles-Lernen-Gerät umfasst: eine Zustandsbeobachtungseinheit zum Beobachten, als einer Zustandsvariable, des Positionsbefehls an die Treibervorrichtung und von Feedback-Daten von der Treibervorrichtung; und eine Lerneinheit zum Lernen des Positionsbefehls, welcher einen Versatz einer Übergabeposition des Werkstücks zwischen dem ersten Spannfutter und dem zweiten Spannfutter reduziert, in Abhängigkeit eines Datensatzes, welcher basierend auf der Zustandsvariablen erzeugt ist.Machine learning device that learns a position command to a driver device that moves a first chuck when a workpiece is passed between the first chuck that grips and passes the workpiece and a second chuck that grips to receive the workpiece , wherein the machine learning device comprises: a state observation unit for observing, as a state variable, the position command to the driving device and feedback data from the driving device; and a learning unit for learning the position command, which reduces an offset of a transfer position of the workpiece between the first chuck and the second chuck, depending on a data set that is generated based on the state variable. Numerisches Steuerungsgerät, umfassend: das Maschinelles-Lernen-Gerät nach Anspruch 1; und eine Steuerungseinheit zum Ausgeben des durch die Lerneinheit gelernten Positionsbefehls an die Treibervorrichtung.Numerical control device comprising: the machine learning device according to Claim 1 ; and a control unit for outputting the position command learned by the learning unit to the driving device. Numerisches Steuerungsgerät nach Anspruch 2, wobei die Feedback-Daten eine Feedback-Position umfassen, welche eine Position einer Beförderungsvorrichtung zum Befördern des Werkstücks angibt, und die Lerneinheit umfasst: eine Belohnungsberechnungseinheit zum Berechnen einer Belohnung basierend auf einer Differenz zwischen einer durch den Positionsbefehl an die Treibervorrichtung angegebenen Position und der Feedback-Position; und eine Funktionsaktualisierungseinheit zum Aktualisieren, basierend auf der Belohnung, einer Funktion zum Bestimmen des Positionsbefehls.Numerical control device according to Claim 2 wherein the feedback data includes a feedback position indicating a position of a conveying device for conveying the workpiece, and the learning unit includes: a reward calculating unit for calculating a reward based on a difference between a position indicated by the position command to the driving device and the Feedback position; and a function update unit for updating, based on the reward, a function for determining the position command. Numerisches Steuerungsgerät nach Anspruch 3, wobei die Feedback-Daten einen Feedback-Strom umfassen, wobei der Feedback-Strom Daten ist, welche einen Strom angeben, der von der Treibervorrichtung ausgegeben wird, damit die Treibervorrichtung das erste Spannfutter bewegt, und die Belohnungsberechnungseinheit die Belohnung basierend auf der Differenz und dem Feedback-Strom berechnet.Numerical control device according to Claim 3 wherein the feedback data includes a feedback current, the feedback current being data indicating a current output from the driving device to make the driving device move the first chuck, and the reward calculating unit calculates the reward based on the difference and calculated from the feedback current. Numerisches Steuerungsgerät nach Anspruch 4, wobei die Belohnungsberechnungseinheit die Belohnung erhöht, wenn die Differenz gleich oder kleiner als ein Grenzwert ist und der Feedback-Strom gleich oder kleiner als ein Referenzstromwert ist, oder die Belohnung verringert, wenn die Differenz größer als der Grenzwert ist oder wenn der Feedback-Strom größer als der Referenzstromwert ist.Numerical control device according to Claim 4 wherein the reward calculating unit increases the reward when the difference is equal to or smaller than a limit value and the feedback current is equal to or smaller than a reference current value, or decreases the reward when the difference is greater than the limit value or when the feedback current is greater than the reference current value. Numerisches Steuerungsgerät nach einem der Ansprüche 3 bis 5, wobei die Funktionsaktualisierungseinheit eine Aktionswerttabelle, welche die Funktion ausdrückt, in Abhängigkeit der Belohnung aktualisiert.Numerical control device according to one of the Claims 3 to 5 wherein the function update unit updates an action value table expressing the function depending on the reward. Numerisches Steuerungsgerät nach Anspruch 4, wobei die Zustandsbeobachtungseinheit bestimmt, dass die Übergabe gescheitert ist, wenn die Differenz größer als ein Grenzwert ist oder wenn der Feedback-Strom größer als ein Referenzstromwert ist, bei Bestimmung, dass die Übergabe gescheitert ist, die Lerneinheit den Positionsbefehl lernt, und bei Bestimmung, dass die Übergabe gescheitert ist, die Steuerungseinheit die Übergabe gemäß dem von der Lerneinheit gelernten Positionsbefehl erneut versucht.Numerical control device according to Claim 4 wherein the state monitoring unit determines that the handover has failed when the difference is greater than a limit value or when the feedback current is greater than a reference current value, upon determining that the handover has failed, the learning unit learns the position command, and upon determination that the handover has failed, the control unit tries the handover again in accordance with the position command learned by the learning unit. Numerisches Steuerungsgerät nach einem der Ansprüche 2 bis 7, wobei die Lerneinheit von Positionsbefehlen an die Treibervorrichtung einen Positionsbefehl in einer ersten Richtung lernt, welche senkrecht zu einer Richtung der Übergabe zwischen dem ersten Spannfutter und dem zweiten Spannfutter ist.Numerical control device according to one of the Claims 2 to 7th wherein the learning unit of position commands to the driving device learns a position command in a first direction which is perpendicular to a direction of transfer between the first chuck and the second chuck. Maschinenwerkzeug, welches durch das numerische Steuerungsgerät nach einem der Ansprüche 2 bis 8 gesteuert und von der Treibervorrichtung getrieben wird.Machine tool, which by the numerical control device according to one of the Claims 2 to 8th is controlled and driven by the driver device. Maschinenlernverfahren zum Lernen eines Positionsbefehls an eine Treibervorrichtung lernt, welche ein erstes Spannfutter bewegt, wenn ein Werkstück zwischen dem ersten Spannfutter, welches das Werkstück greift und weitergibt, und einem zweiten Spannfutter, welches greift, um das Werkstück entgegenzunehmen, übergeben wird, wobei das Maschinenlernverfahren umfasst: einen Zustandsbeobachtungsschritt des Beobachtens, als eine Zustandsvariable, des Positionsbefehls an die Treibervorrichtung und von Feedback-Daten von der Treibervorrichtung; und einen Lernschritt des Lernens des Positionsbefehls, welcher einen Versatz einer Übergabeposition des Werkstücks zwischen dem ersten Spannfutter und dem zweiten Spannfutter reduziert, in Abhängigkeit eines Datensatzes, welcher basierend auf der Zustandsvariablen erzeugt ist.A machine learning method for learning a position command to a driver device that moves a first chuck when a workpiece is learned between the first chuck that grips and relays the workpiece and a A second chuck which grips to receive the workpiece, the machine learning method comprising: a state observation step of observing, as a state variable, the position command to the driving device, and feedback data from the driving device; and a learning step of learning the position command, which reduces an offset of a transfer position of the workpiece between the first chuck and the second chuck, depending on a data set that is generated based on the state variable. Numerisches Steuerungsgerät, welches einen Positionsbefehl an eine Treibervorrichtung ausgibt, welche ein erstes Spannfutter bewegt, wenn ein Werkstück zwischen dem ersten Spannfutter, welches das Werkstück greift und weitergibt, und einem zweiten Spannfutter, welches greift, um das Werkstück entgegenzunehmen, übergeben wird, wobei das numerische Steuerungsgerät umfasst: eine Steuerungseinheit zum Bestimmen eines Versatzes einer Übergabeposition des Werkstücks zwischen dem ersten Spannfutter und dem zweiten Spannfutter basierend auf dem Positionsbefehl an die Treibervorrichtung und Feedback-Daten aus der Treibervorrichtung und zum Ausgeben eines neuen Positionsbefehls, bei dem eine Position gegenüber einer durch den Positionsbefehl angegebenen Position versetzt ist, wenn ein Versatzwert nicht innerhalb eines erlaubten Bereichs ist, wobei, wenn der Versatzwert nicht innerhalb des erlaubten Bereichs ist, die Steuerungseinheit dafür sorgt, dass der Versatzwert in den erlaubten Bereich fällt, indem einmal oder mehrfach ein Prozess des Bestimmens des Versatzes und ein Prozess des Ausgebens des neuen Positionsbefehls durchgeführt werden.Numerical control device that issues a position command to a driving device that moves a first chuck when a workpiece is passed between the first chuck that grips and transfers the workpiece and a second chuck that grips to receive the workpiece, the Numerical control device includes: a control unit for determining an offset of a transfer position of the workpiece between the first chuck and the second chuck based on the position command to the driving device and feedback data from the driving device and for issuing a new position command at which a position is opposite to a position specified by the position command is offset when an offset value is not within an allowed range, where, if the offset value is not within the allowable range, the control unit makes the offset value fall within the allowable range by performing a process of determining the offset and a process of issuing the new position command one or more times.
DE112018007687.3T 2018-07-06 2018-07-06 Machine learning device, numerical control device, machine tool, and machine learning method Pending DE112018007687T5 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/025746 WO2020008633A1 (en) 2018-07-06 2018-07-06 Machine learning device, numerical control device, machine tool, and machine learning method

Publications (1)

Publication Number Publication Date
DE112018007687T5 true DE112018007687T5 (en) 2021-02-25

Family

ID=66324176

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018007687.3T Pending DE112018007687T5 (en) 2018-07-06 2018-07-06 Machine learning device, numerical control device, machine tool, and machine learning method

Country Status (4)

Country Link
JP (1) JP6505341B1 (en)
CN (1) CN112368656B (en)
DE (1) DE112018007687T5 (en)
WO (1) WO2020008633A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6940542B2 (en) * 2019-03-14 2021-09-29 ファナック株式会社 Grip force adjustment device and grip force adjustment system
CN113543912B (en) 2019-04-11 2023-12-26 西铁城时计株式会社 Machine tool and sensing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4458321A (en) * 1981-08-19 1984-07-03 The Charles Stark Draper Laboratory, Inc. Self-teaching robot feedback system
JPH09258814A (en) * 1996-03-22 1997-10-03 Kayaba Ind Co Ltd Device and method for controlling position of assembling robot
JP2002187040A (en) * 2000-12-19 2002-07-02 Murata Mach Ltd Loader control device
US8996175B2 (en) * 2012-06-21 2015-03-31 Rethink Robotics, Inc. Training and operating industrial robots
KR102487493B1 (en) * 2016-03-03 2023-01-11 구글 엘엘씨 Deep machine learning methods and apparatus for robotic grasping

Also Published As

Publication number Publication date
JP6505341B1 (en) 2019-04-24
WO2020008633A1 (en) 2020-01-09
JPWO2020008633A1 (en) 2020-07-27
CN112368656A (en) 2021-02-12
CN112368656B (en) 2021-08-20

Similar Documents

Publication Publication Date Title
DE102018204740B4 (en) Action information learning device, robot control system and action information learning method
DE112013003209B4 (en) Robot control device and robot control method
DE102018001676B4 (en) Robot for learning control with regard to operation of a production line and method for controlling the same
DE102018203702A1 (en) Machine learning device, servo-control device, servo-control system, and machine learning method
EP3623116A1 (en) Method and device for collision-free movement planning of a manipulator
DE102018112360B3 (en) Area-dependent collision detection for a robot manipulator
DE102009023399B4 (en) Position control device
DE3317263A1 (en) MANIPULATOR WITH ADAPTIVE SPEED CONTROLLED RAILWAY MOVEMENT
DE102017009940A1 (en) Robot control device with learning control function
DE102019201758A1 (en) DEVICE FOR MACHINE LEARNING; DEVICE FOR REMOTE CONTROL; SERVO CONTROL SYSTEM; AND METHOD FOR MACHINE LEARNING
DE102019204949A1 (en) MACHINE LEARNING DEVICE, CONTROL DEVICE AND MACHINE LEARNING
DE112018007687T5 (en) Machine learning device, numerical control device, machine tool, and machine learning method
EP3581341A1 (en) Method for operating a robot, data storage having a program code, robot and robot system
DE102018205185A1 (en) control device
DE102018214257B3 (en) robot control
DE102015014485A1 (en) Calibrating a system with a conveyor and at least one robot
WO2019224288A1 (en) Direction-dependent collision detection for a robot manipulator
WO2017129360A1 (en) Controlling a group of robots
DE112020006315B4 (en) ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD AND DEVICE FOR GENERATING LEARNING MODELS
DE102015009892A1 (en) Method and system for controlling a robot
DE102020210823A1 (en) machine control arrangement
DE112014006610B4 (en) Robot control device and robot control method
DE102019201473A1 (en) Machine learning device, servomotor control, servomotor control system and machine learning method
DE112022000313T5 (en) Robot system and workpiece feeding method
DE102019004367B4 (en) ROBOT SYSTEM SET UP TO PERFORM A LEARNING CONTROL

Legal Events

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