Numerical control device, machine learning device, and inference device
Patent Information
- Application Number
- CN202080099284.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-08
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2040-12-08
AI Technical Summary
[0009]本发明所涉及的数控装置具有下述效果,即,抑制在加工程序中记载的速度与实际的速度之间的差异。
Smart Images

Figure CN116390831B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to numerical control devices, machine learning devices, and inference devices for controlling machine tools. Background Technology
[0002] In machine tools, high-efficiency processing is required to reduce costs and shorten processing time. Adaptive control is one method for shortening processing time. Adaptive control refers to using signals obtained from sensors to monitor the processing state and changing processing conditions in real time accordingly.
[0003] A CNC device that performs adaptive control is described in Patent Document 1. In the CNC device described in Patent Document 1, the feed speed of the axis is controlled in accordance with the spindle load value of the spindle motor, thereby shortening the cycle time and reducing the machining time.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2017-097701 Summary of the Invention
[0005] However, when controlling the spindle load value accordingly, speed control begins after detecting a change in the spindle load value caused by tool-workpiece contact. The timing of starting speed control is slower than the timing of tool-workpiece contact. That is, sometimes the speed recorded in the machining program deviates from the actual speed.
[0006] The present invention was made in view of the above circumstances, and its purpose is to suppress the difference between the speed recorded in the processing procedure and the actual speed.
[0007] To address the aforementioned issues and achieve the objectives, the CNC device of the present invention includes a speed map creation unit. Based on machining information obtained from controlling the machine tool to perform cutting operations on a workpiece, this unit determines the cutting sections (cutting portions) and non-cutting sections (non-cutting portions) along the cutting path during workpiece cutting, and creates a speed map containing information related to the feed rates in the non-cutting portions and the feed rates in the cutting portions. Furthermore, the CNC device includes a speed map database for storing speed maps and an instruction output unit for generating instructions for the machine tool based on the speed map.
[0008] The effects of the invention
[0009] The CNC device involved in this invention has the following effect: it suppresses the difference between the speed recorded in the machining program and the actual speed. Attached Figure Description
[0010] Figure 1This is a diagram illustrating a structural example of the numerical control device according to Embodiment 1.
[0011] Figure 2 This is a diagram showing an example of machining information generated by the data collection unit of the CNC device according to Embodiment 1.
[0012] Figure 3 This is a diagram illustrating an example of the structure of the speed mapping diagram creation unit of the CNC device according to Embodiment 1.
[0013] Figure 4 This is a diagram showing an example of a speed map created by the speed map creation unit of the CNC device according to Embodiment 1.
[0014] Figure 5 This is a flowchart illustrating an example of the operation of the speed mapping diagram creation unit of the CNC device according to Embodiment 1.
[0015] Figure 6 This is a flowchart illustrating an example of the operation of the instruction output unit of the numerical control device according to Embodiment 1.
[0016] Figure 7 This is a diagram illustrating an example of a machining operation performed using the CNC device described in Embodiment 1.
[0017] Figure 8 It means and Figure 7 The diagram shows the speed mapping corresponding to the processing actions shown.
[0018] Figure 9 This is a diagram illustrating an example of the hardware structure of the numerical control device according to Embodiment 1.
[0019] Figure 10 Figure 1 shows a structural example of the numerical control device according to Embodiment 2.
[0020] Figure 11 Figure 2 shows a structural example of the numerical control device according to Embodiment 2.
[0021] Figure 12 This is a diagram illustrating a structural example of the machine learning device included in the numerical control device according to Embodiment 2.
[0022] Figure 13 This is a diagram illustrating an example of the structure of a neural network.
[0023] Figure 14 This is a flowchart illustrating an example of the operation of the machine learning device involved in Implementation 2.
[0024] Figure 15This is a diagram illustrating a structural example of the inference device in the numerical control device according to Embodiment 2.
[0025] Figure 16 This is a flowchart illustrating an example of the operation of the inference device involved in Embodiment 2. Detailed Implementation
[0026] The numerical control device, machine learning device, and inference device involved in the embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0027] Implementation method 1.
[0028] Figure 1 This diagram illustrates a structural example of the CNC device according to Embodiment 1. The CNC device 100 according to Embodiment 1 includes a data collection unit 101, a speed map creation unit 102, a speed map database 105, a graphical user interface (GUI) unit 106, and an instruction output unit 107. The GUI unit 106 comprises a speed map display unit 108 and a speed map selection unit 109. The CNC device 100 with the structure described above is connected to an amplifier 120 that drives an electric motor of a machine tool (not shown), and generates instructions for controlling the machine tool, which are then output to the amplifier 120.
[0029] exist Figure 1 In the CNC device 100 shown, the speed map creation unit 102 operates differently depending on whether the speed map has been created. Specifically, when the speed map creation is incomplete, the CNC device 100 outputs a speed map creation command to the amplifier 120 according to the machining program 110 and performs speed map creation. Conversely, when the speed map creation is complete, the CNC device 100 outputs a speed map creation command to the amplifier 120.
[0030] The operation of each part of the CNC device 100 will be explained below.
[0031] During machining operations by a machine tool, the data collection unit 101 collects information output by the amplifier 120 via an instruction output unit 107 (described later), and generates machining information 103 based on the collected information. The data collection unit 101 generates machining information 103 even if the creation of a speed map by the speed map creation unit 102 (described later) is not yet complete. Furthermore, the data collection unit 101 may also generate machining information 103 during machining operations regardless of whether the creation of a speed map by the speed map creation unit 102 (described later) is complete.
[0032] The machining information 103 consists of the spindle load value and the movement command value. Detailed information about the machining information 103 will be explained separately. The data collection unit 101 outputs the generated machining information 103 to the speed map creation unit 102.
[0033] The speed map creation unit 102, based on the machining information 103 generated by the data collection unit 101 and a predetermined cutting determination threshold 104, determines at what time during the period from the start of workpiece machining on the machine tool to the end of machining, and creates a speed map based on the determination result. The speed map is information used to improve the speed of non-cutting parts; details will be explained separately. Here, speed refers to the tool feed rate. The speed map creation unit 102 registers the created speed map in the speed map database 105.
[0034] During the initial machining operation, when the speed map creation by the speed map creation unit 102 is not yet complete and no speed map is registered in the speed map database 105, the instruction output unit 107 generates instructions according to the machining program 110 and outputs them to the amplifier 120. Furthermore, during the second and subsequent machining operations, when a speed map is registered in the speed map database 105, the instruction output unit 107 retrieves the speed map from the speed map database 105, generates instructions for moving the tool based on the speed map (i.e., at the speed shown in the speed map), and outputs them to the amplifier 120, thereby shortening the machining time.
[0035] Here, the machine tool does not always perform the same processing on workpieces of the same material. By changing the processing program 110 executed by the CNC device 100 that controls the machine tool, it is possible to process workpieces of various materials under various conditions. Therefore, the speed map creation unit 102 of the CNC device 100 creates speed maps and registers them in the speed map database 105 for various situations determined by the material of the workpiece, the cutting tool used for processing, and the target shape of the resulting object. The user of the CNC device 100 selects the speed map corresponding to the processing action performed by the machine tool from the speed maps registered in the speed map database 105. At this time, the GUI unit 106 is used. That is, the user of the CNC device 100 can select any speed map from the speed maps registered in the speed map database 105 via the GUI unit 106.
[0036] Figure 2 This is a diagram illustrating an example of machining information 103 generated by the data collection unit 101 of the numerical control device 100 according to Embodiment 1.
[0037] like Figure 2As shown, the machining information 103 consists of a spindle load value l and a movement command value p for each time t. The movement command value p is, for example, information specifying the location of the respective movement destination of each axis of the machine tool. The movement command value p can specify the location of the movement destination of any point on the movable part of the machine tool, such as the location of the movement destination of any point on the cutting tool. The unit of time t is the output cycle of the command from the CNC device 100 to the amplifier 120, and time t represents the cumulative time from the start of machining. The spindle load value l and the movement command value p are information fed back from the machine tool via the amplifier 120. Regarding time t, it is not necessary to obtain it from the machine tool via the amplifier 120, but it can also be configured so that time t is also fed back based on the spindle load value l and the movement command value p.
[0038] Figure 3 This is a diagram illustrating an example of the structure of the speed mapping creation unit 102 of the numerical control device 100 according to Embodiment 1.
[0039] The speed map creation unit 102 includes a cutting / non-cutting determination unit 201, a speed map generation unit 202, and a speed map registration unit 204.
[0040] The cutting / non-cutting determination unit 201 determines whether the workpiece is being cut or not based on the machining information 103 and the cutting determination threshold 104. That is, the cutting / non-cutting determination unit 201 determines whether the workpiece is being cut (i.e., the machine tool is cutting it during machining) or not being cut (i.e., the workpiece is not being cut) based on the machining information 103 and the cutting determination threshold 104. The cutting / non-cutting determination unit 201 determines the workpiece to be in a cutting state if the spindle load value contained in the machining information 103 is greater than the cutting determination threshold 104, and determines it to be in a non-cutting state if the spindle load value is less than or equal to the cutting determination threshold 104. The cutting / non-cutting determination unit 201 is a state determination unit.
[0041] The speed mapping generation unit 202 generates a speed mapping map 203 based on the cutting / non-cutting determination result obtained by the cutting / non-cutting determination unit 201 and the machining condition parameters 205. The machining condition parameters 205 include the cutting feed time constant and the cutting feed limit speed. An example of the speed mapping map 203 is shown below. Figure 4 As shown. Figure 4 This is a diagram showing an example of a speed mapping map 203 created by the speed mapping map creation unit 102 of the numerical control device 100 according to Embodiment 1.
[0042] The speed mapping diagram 203 consists of position information for each axis and speed command values at the switching positions of the commanded speeds. The switching positions of the commanded speeds are determined based on the position where the determination result obtained by the cutting / non-cutting determination unit 201 changes; specifically, they are determined based on the switching positions from non-cutting to cutting states, or from cutting states to non-cutting states. The switching position of the commanded speed when switching from non-cutting to cutting states is the position obtained by adding deceleration time to the switching position from non-cutting to cutting states. The switching position of the commanded speed when switching from cutting to non-cutting states is consistent with the switching position from cutting to non-cutting states. That is, the speed mapping diagram 203 consists of the position from cutting to non-cutting states and the target speed (command speed) during non-cutting, the position where deceleration begins before switching from non-cutting to cutting states, and the target speed (command speed) during cutting. The target speed is the tool feed rate described in the machining program 110.
[0043] The speed map registration unit 204 registers the speed map generated by the speed map generation unit 202 into the speed map database 105.
[0044] Figure 5 This is a flowchart illustrating an example of the operation of the speed mapping creation unit 102 of the numerical control device 100 according to Embodiment 1.
[0045] The speed map creation unit 102 first reads the machining information 103 output from the data collection unit 101 (step S11). In this step S11, the speed map creation unit 102 reads one record of the machining information 103. More specifically, the speed map creation unit 102 reads the oldest time group from the groups of time t, spindle load value l, and movement command value p contained in the machining information 103 that were not read in the previously executed step S11.
[0046] Next, in the cutting / non-cutting determination unit 201, the speed mapping creation unit 102 determines the non-cutting portions existing on the cutting path based on the machining information 103 and the cutting determination threshold 104. A non-cutting portion is a region where cutting does not occur. That is, the cutting / non-cutting determination unit 201 uses the machining information 103 and the cutting determination threshold 104 to determine which region of the tool movement path, i.e., the cutting path, will be used for cutting the workpiece, and which region will not be used for cutting the workpiece (step S12). Furthermore, in the following description, for convenience, the region on the cutting path where cutting occurs, specifically, the region where the spindle load value is greater than the cutting determination threshold 104, will be referred to as a cutting portion. Conversely, the region where the spindle load value is less than or equal to the cutting threshold will be referred to as the aforementioned non-cutting portion.
[0047] The cutting / non-cutting determination unit 201 then determines whether the cutting unit or the non-cutting unit has switched, that is, whether the latest determination result in step S12 has switched from the previous determination result in step S12 (step S13). If the cutting unit and the non-cutting unit have not switched (step S13: No), the process returns to step S11, and the machining information 103 is read in again and the cutting / non-cutting determination is performed again.
[0048] When switching between the cutting section and the non-cutting section (step S13: Yes), the speed map generation unit 202 calculates the acceleration and deceleration times (step S14). Here, the acceleration and deceleration times refer to the time it takes for the tool feed rate to accelerate at a determined acceleration and the time it takes for the tool feed rate to decelerate at a determined deceleration. In step S14, at the first point of transition from the non-cutting section to the cutting section, the speed map generation unit 202 calculates the acceleration and deceleration times based on the continuous time of the non-cutting section determined by the decision result in step S12 and the movement command value contained in the machining information 103. For example, the speed map generation unit 202 calculates the deceleration time before the end of the non-cutting section, that is, before the start of the cutting section, by reducing the tool feed rate to a speed suitable for cutting the workpiece. To shorten the machining time, it is preferable that the timing of the tool feed rate becoming a speed suitable for cutting the workpiece coincides with the start timing of the cutting section. On the other hand, based on the relationship between the set value of the cutting determination threshold 104 and the spindle load value, errors may be included in the determination result obtained by the cutting / non-cutting determination unit 201. Therefore, the speed map generation unit 202 can calculate the deceleration time taking into account the aforementioned errors. By setting it in the above manner, it is possible to prevent the deterioration of machining accuracy when errors are included in the determination result obtained by the cutting / non-cutting determination unit 201. Furthermore, the aforementioned "speed suitable for cutting the workpiece" is the feed rate of the tool when cutting the workpiece, specified by the instruction described in the machining program 110. In addition, in step S14, at the second change point from the cutting section to the non-cutting section, the speed map generation unit 202 calculates the time (acceleration time) during which the tool feed rate is accelerated by a determined acceleration after the start of the non-cutting section.
[0049] The speed map generation unit 202 then calculates the command speed after adding the acceleration and deceleration time calculated above, and updates the speed map (step S15). Updating the map involves adding one row to the map.
[0050] If the speed map update process in step S15 is completed, the speed map creation unit 102 checks whether all processing information 103 has been read in, that is, whether the reading of all records of processing information 103 in the repeatedly executed step S11 has been completed (step S16). If the reading is not completed (step S16: No), the process returns to step S11. If the reading is completed (step S16: Yes), the speed map updated in step S15 is registered in the speed map database 105 by the speed map registration unit 204 (step S17).
[0051] After the speed map is created by the speed map creation unit 102, the CNC device 100 uses the created speed map to control the machine tool for machining. If there is a problem with either the machining time or the machining result during machining using the speed map, the speed map creation unit 102 will re-execute the machining process after adjusting the cutting determination threshold 104. Figure 5 The series of processes shown creates a high-precision velocity mapping map.
[0052] Figure 6 This is a flowchart illustrating an example of the operation of the instruction output unit 107 of the numerical control device 100 according to Embodiment 1. Figure 6 The diagram shows the action of the instruction output unit 107 outputting instructions based on the speed map registered in the speed map database 105.
[0053] The instruction output unit 107 first reads a record from the speed map 203 registered in the speed map database 105 (step S21) and obtains the current processing position (step S22). The instruction output unit 107 then confirms whether the current processing position has reached the position shown on the speed map, that is, whether the current processing position has reached the position information shown in the record read in step S21 (hereinafter referred to as the current record) (step S23). If the current processing position has not reached the position shown on the speed map (step S23: No), the instruction output unit 107 creates an instruction based on the speed instruction value of the speed map, that is, an instruction based on the speed instruction value of the current record (step S24). The instruction output unit 107 then outputs the created instruction to the amplifier 120 (step S25). The instruction output unit 107 then determines whether the processing program 110 has ended (step S26). If it has not ended (step S26: No), it returns to step S22. If machining program 110 ends (step S26: Yes), the command output unit 107 terminates its operation. Additionally, in step S23 above, if it is determined that the current machining position has reached the position shown in the speed mapping (step S23: Yes), the command output unit 107 returns to step S21.
[0054] Next, the machining operations performed using the CNC device 100 according to Embodiment 1 will be described. Figure 7 This is a diagram illustrating an example of a machining operation performed using the CNC device 100 according to Embodiment 1. Figure 7 This illustrates an example of speed variation when the CNC device 100 generates instructions using a speed map. If the coordinates of time T1 are set to (X1, Y1), time T2 to (X2, Y2), time T3 to (X3, Y3), and time T4 to (X4, Y4), then... Figure 7 The corresponding velocity mapping diagram becomes Figure 8 As shown.
[0055] like Figure 7 As shown, when the CNC device 100 generates commands using a speed mapping diagram, and the machine tool performs cutting operations, the machine tool begins to accelerate at the switching position from the cutting section to the non-cutting section, accelerating to a speed of v2. Then, the machine tool decelerates back to its original speed v1 until it switches from the non-cutting section to the cutting section.
[0056] When the instruction output unit 107 generates instructions using a speed map, the speed map used is specified by the machining program 110. The instruction output unit 107 generates instructions using the speed map if the speed map specified by the machining program 110 exists in the speed map database 105, and generates instructions according to the machining program 110 if the speed map does not exist.
[0057] Furthermore, if the speed map used is not specified by the machining program 110, speed control using the speed map becomes invalid. Conversely, if the CNC device 100 uses a speed map not specified by the machining program 110 and the user specifies any speed map using the GUI unit 106 (described later), the specified speed map can be used to generate instructions. Furthermore, if the speed map is specified through both the machining program 110 and the GUI unit 106, and the specified speed maps are different, the CNC device 100 can use either the speed map specified by the machining program 110 or the speed map specified using the GUI unit 106. It can be configured so that the user can set which specification is preferred.
[0058] The GUI unit 106 is used when the user specifies the speed map used by the instruction output unit 107 when generating instructions.
[0059] In the GUI unit 106, the speed map display unit 108 displays a list of speed maps registered in the speed map database 105 when the user specifies a speed map. The speed map selection unit 109 receives an operation from the user to select any speed map from the list of speed maps. In this case, the instruction output unit 107 retrieves the speed map selected by the user from the speed map database 105, generates an instruction based on the retrieved speed map, and outputs it to the amplifier 120.
[0060] As described above, the CNC device 100 of this embodiment creates a speed map representing the time variation of the tool feed rate based on the machining action performed by controlling the machine tool according to the machining program 110. After the speed map is created, the machine tool is controlled using the speed map. The speed map includes information on the speed switching position and the speed command value at the speed switching position. According to the CNC device 100, the starting position of the cutting part is determined by comparing the spindle load value and the cutting determination threshold 104, and speed control considering the starting position of the cutting part is performed. Therefore, the speed when feeding the tool to the workpiece can be appropriately controlled, and the difference between the speed recorded in the machining program and the actual speed can be suppressed. As a result, machining accuracy deterioration can be prevented, and machining time can be shortened by increasing the tool feed rate in the non-cutting part.
[0061] Furthermore, in this embodiment, the speed represented by the speed map is set as the feed speed of the tool, but the speed represented by the speed map can also be set as the moving speed of the workpiece or the relative speed between the workpiece and the tool.
[0062] Here, the hardware structure of the CNC device 100 will be described. Figure 9 This is a diagram illustrating an example of the hardware structure of the numerical control device 100 according to Embodiment 1.
[0063] The numerical control device 100, for example, can be controlled by... Figure 9 The processor 91, memory 92, display device 93, input device 94, and interface circuit 95 shown are used to implement this. The processor 91 is a CPU (also known as a Central Processing Unit, processing unit, arithmetic unit, microprocessor, microcomputer, DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). The memory 92 is RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), etc. The display device 93 is a liquid crystal panel, etc. The input device 94 is a keyboard, mouse, etc. The display device 93 and the input device 94 can be a touch panel that integrates them.
[0064] The data collection unit 101, speed map creation unit 102, GUI unit 106, and instruction output unit 107 of the numerical control device 100 are implemented by the processor 91 executing programs for operating as these units. The programs for operating as the data collection unit 101, speed map creation unit 102, GUI unit 106, and instruction output unit 107 are stored in the memory 92. The processor 91 reads the program from the memory 92 and executes it, thereby operating as the data collection unit 101, speed map creation unit 102, GUI unit 106, and instruction output unit 107. When operating as the data collection unit 101 or the instruction output unit 107, the processor 91 utilizes the interface circuit 95. Furthermore, when operating as the GUI unit 106, the processor 91 utilizes the display device 93 and the input device 94. The program stored in the memory 92 can be described as the sequence or method by which the computer executes the data collection unit 101, speed map creation unit 102, GUI unit 106, and instruction output unit 107. The memory 92 is also used as temporary storage when the processor 91 performs various processes. The programs stored in the memory 92 can be provided to the user, for example, by writing them to storage media such as CD (Compact Disc)-ROM or DVD (Digital Versatile Disc)-ROM, or by providing them via a network.
[0065] Additionally, memory 92 is used to implement the speed mapping database 105 of the numerical control device 100. Furthermore, memory 92 is used by the numerical control device 100 to... Figure 1 The machining information 103, cutting judgment threshold 104, and machining program 110 shown are saved and used.
[0066] The interface circuit 95 is used to connect the numerical control device 100 to other devices. An example of other devices in this embodiment is the amplifier 120.
[0067] Furthermore, the hardware structure of the CNC device described in other embodiments is the same as that of CNC device 100.
[0068] Implementation method 2.
[0069] Figure 10 Figure 1 shows a structural example of the CNC device according to Embodiment 2. Figure 11 Figure 2 shows a structural example of the CNC device according to Embodiment 2. Figure 10 and Figure 11The structural elements of the CNC device shown that perform the same function as the CNC device 100 involved in Embodiment 1 are labeled with the same reference numerals as in Embodiment 1. The operation of the structural elements labeled with the same reference numerals as in Embodiment 1 is the same as in Embodiment 1, therefore, the description is omitted.
[0070] The difference between the CNC device in Embodiment 2 and the CNC device 100 in Embodiment 1 is that the cutting determination threshold 104 is learned based on the workpiece material, tool type / material, spindle load value and speed during cutting, and a speed mapping map is created using the learned cutting determination threshold 104. "Tool type / material" refers to information indicating the type and material of the tool.
[0071] Figure 10 The CNC device 100a shown is a structure in which the data collection unit 101 of the CNC device 100 according to Embodiment 1 is replaced with a data collection unit 101a, and a machine learning device 130 is added. The operation of the data collection unit 101a is the same as that of the data collection unit 101 of the CNC device 100, but the difference lies in the generation of machining information 103a. The machining information 103a includes spindle load value, movement command value, workpiece material, and tool type / material. That is, the machining information 103a is a structure in which the workpiece material and tool type / material are added to the machining information 103. In addition, Figure 11 The numerical control device 100b shown is a structure in which the data collection unit 101 of the numerical control device 100 according to Embodiment 1 is replaced with the data collection unit 101a, and an inference device 140 is added. Figure 11 The data collection unit 101a and processing information 103a shown are Figure 10 The data collection unit 101a and processing information 103a shown are the same.
[0072] Figure 10 The CNC device 100a has the following function: the machine learning device 130 learns from the cutting decision threshold 104 to generate a trained model. On the other hand, Figure 11 The CNC device 100b has the following functions: it creates a cutting decision threshold 104 using a trained model generated by an external device, and creates a speed mapping map using the created cutting decision threshold 104. An example of an external device that generates the trained model used by the CNC device 100b is the machine learning device 130 of the CNC device 100a.
[0073] Furthermore, in this embodiment, for convenience, it is described as a numerical control device 100a having a machine learning device 130 and a numerical control device 100b having an inference device 140, but it is also possible for a numerical control device to have both a machine learning device 130 and an inference device 140.
[0074] First, the details of the CNC device 100a for learning the cutting judgment threshold 104 will be explained.
[0075] Figure 12 This is a diagram illustrating a structural example of the machine learning device 130 included in the numerical control device 100a according to Embodiment 2. The machine learning device 130 includes a data acquisition unit 301, a model generation unit 302, and a trained model storage unit 303.
[0076] The data acquisition unit 301 acquires the spindle load value and speed during cutting, workpiece material, tool type / material, and cutting judgment threshold as learning data. The spindle load value during cutting is the spindle load value of the machine tool cutting the workpiece, which is included in the machining information 103a. Whether cutting is in progress is determined by comparing the cutting judgment threshold with the spindle load value. The cutting speed is calculated based on the movement command value included in the machining information 103a. The workpiece material and tool type / material are the workpiece material and tool type / material included in the machining information 103a. The cutting judgment threshold is... Figure 10 The cutting judgment threshold 104 shown is equivalent to the correct data in machine learning. The data acquisition unit 301 outputs the acquired data to the model generation unit 302.
[0077] The model generation unit 302 learns the cutting decision threshold based on learning data created from the combination of spindle load and speed during cutting, workpiece material, tool type / material, and cutting decision threshold output from the data acquisition unit 301. That is, the model generation unit 302 generates a trained model for inferring the optimal cutting decision threshold based on the spindle load and speed during cutting, workpiece material, tool type / material, and cutting decision threshold. Here, the learning data is data that correlates the spindle load and speed during cutting, workpiece material, tool type / material, and cutting decision threshold.
[0078] The learning algorithm used by the model generation unit 302 can employ well-known algorithms such as teacher-assisted learning, teacherless learning, and reinforcement learning. As an example, the application of a neural network will be explained.
[0079] The model generation unit 302, for example, learns the cutting judgment threshold through so-called teacher-led learning, according to a neural network model. Here, teacher-led learning refers to the method of learning the features present in the data by assigning a set of input and result (label) data to a machine learning device, thereby inferring the result based on the input.
[0080] A neural network consists of an input layer composed of multiple neurons, an intermediate layer (hidden layer) composed of multiple neurons, and an output layer composed of multiple neurons. The intermediate layer can be one layer or more or more layers.
[0081] For example, if it is like Figure 13 The three-layer neural network shown in the diagram works as follows: after multiple data inputs are fed to the neurons (X1-X3) of the input layer, each neuron multiplies the input data value by a weight W1 (w11-w16) and outputs it to the neurons (Y1-Y2) of the intermediate layer. In other words, each neuron in the input layer outputs the value obtained by multiplying the input value by the weight W1 to all neurons in the intermediate layer. Similarly, each neuron in the intermediate layer multiplies the input value by the weight W2 (w21-w26) and outputs it to the neurons (Z1-Z3) of the output layer. The neurons in the output layer output the values input from the neurons in the intermediate layer to the outside. This output result changes according to the values of weights W1 and W2.
[0082] In this embodiment, the neural network learns the cutting decision threshold by means of so-called teacher-guided learning, based on learning data created by the data acquisition unit 301, which is a combination of spindle load and speed during cutting, workpiece material, tool type / material and cutting decision threshold.
[0083] That is, the neural network learns by adjusting the weights W1 and W2 in a way that the spindle load value and speed during cutting, workpiece material and tool type / material are input and the output of the output layer is close to the cutting decision threshold.
[0084] The model generation unit 302 generates and outputs a trained model by performing the learning described above.
[0085] The trained model storage unit 303 stores the trained model output from the model generation unit 302.
[0086] Next, use Figure 14 The action of learning the cutting judgment threshold by the machine learning device 130 is explained. Figure 14 This is a flowchart illustrating an example of the operation of the machine learning device 130 according to Embodiment 2.
[0087] In the machine learning device 130, firstly, the data acquisition unit 301 acquires the spindle load value and speed during cutting, workpiece material, tool type / material, and cutting decision threshold (step S31). Furthermore, it is assumed here that the spindle load value and speed during cutting, workpiece material, tool type / material, and cutting decision threshold are acquired simultaneously; however, as long as these data can be input in a related manner, the data can also be acquired at different times.
[0088] Next, the model generation unit 302 performs learning processing, that is, it learns the cutting decision threshold by learning data based on the combination of spindle load value and speed during cutting, workpiece material, tool type / material and cutting decision threshold obtained by the data acquisition unit 301, and generates a trained model (step S32).
[0089] Next, the trained model storage unit 303 stores the trained model generated by the model generation unit 302 (step S33).
[0090] Furthermore, in this embodiment, a CNC device 100a with a machine learning device 130 internally learning a cutting determination threshold has been described. However, the machine learning device 130 may also be an independent device external to the CNC device 100a. For example, the machine learning device 130 may be connected to the CNC device 100a via a network and may be an independent device separate from the CNC device 100a. Additionally, the machine learning device 130 may also reside on a cloud server.
[0091] Next, the details of the CNC device 100b, which infers the cutting decision threshold using a trained model generated by an external machine learning device, will be described. Here, the machine learning device 130 of the CNC device 100a will be used as an example of another device that generates the trained model.
[0092] Figure 15 This diagram illustrates a structural example of the inference device 140 included in the numerical control device 100b according to Embodiment 2. The inference device 140 includes a data acquisition unit 401, an inference unit 402, and a trained model storage unit 403. The trained model storage unit 403 receives and stores the trained model created by the machine learning device 130 of the numerical control device 100a described above.
[0093] The data acquisition unit 401 acquires the spindle load and speed during cutting, the workpiece material, and the tool type / material. The data acquisition unit 401 outputs the acquired data to the inference unit 402.
[0094] The inference unit 402 infers a cutting decision threshold using the trained model stored in the trained model storage unit 403. Specifically, the inference unit 402 inputs the spindle load and speed during cutting, workpiece material, and tool type / material obtained by the data acquisition unit 401 into the trained model, thereby outputting a cutting decision threshold inferred based on this input data (spindle load and speed during cutting, workpiece material, and tool type / material). The inference unit 402 outputs the inferred cutting decision threshold to the speed mapping creation unit 102.
[0095] Furthermore, in this embodiment, the cutting decision threshold is inferred by the inference device 140 of the CNC device 100b using a trained model learned by the machine learning device 130 of the CNC device 100a. However, the learning can also be performed internally within the CNC device 100b. That is, the CNC device 100b is configured to have the same machine learning device as the machine learning device 130 of the CNC device 100a, and the cutting decision threshold is inferred by the inference device 140 using a trained model learned by that machine learning device.
[0096] Next, use Figure 16 The action of inferring the cutting determination threshold by the inference device 140 is explained. Figure 16 This is a flowchart illustrating an example of the operation of the inference device 140 according to Embodiment 2.
[0097] In the inference device 140, firstly, the data acquisition unit 401 acquires the spindle load value and speed during cutting, the workpiece material and the tool type / material (step S41).
[0098] Next, the inference unit 402 inputs the spindle load value and speed during cutting, the workpiece material and the tool type / material into the trained model stored in the trained model storage unit 403 (step S42), and obtains the cutting judgment threshold output from the trained model.
[0099] Next, the inference unit 402 outputs the cutting determination threshold obtained in step S42 to the speed map creation unit 102 (step S43).
[0100] The speed map creation unit 102, having received the cutting determination threshold inferred by the inference device 140 as described above, uses the received cutting threshold to perform the operations described in Embodiment 1 and create a speed map. This allows for setting appropriate cutting determination thresholds for various conditions that affect the machining results, such as spindle load and speed during cutting, workpiece material, and tool type / material. In other words, the cutting determination thresholds used by the speed map creation unit 102 when creating the speed map can be optimized. As a result, the accuracy of machining using the speed map is improved.
[0101] Furthermore, this embodiment describes the application of teacher-assisted learning in the learning algorithm used by the model generation unit 302, but it is not limited to this. Regarding the learning algorithm, in addition to teacher-assisted learning, teacherless learning and other methods can also be applied.
[0102] Furthermore, the model generation unit 302 can learn the cutting judgment threshold based on learning data created for multiple CNC devices. Additionally, the model generation unit 302 can obtain learning data from multiple CNC devices used in the same area, or it can learn the cutting judgment threshold using learning data obtained from multiple CNC devices operating independently in different areas. Furthermore, it is possible to add or remove a CNC device that has obtained the learning data from an object midway through the process. Moreover, the learning device that learns the cutting judgment threshold for a certain CNC device can be applied to other CNC devices, and the trained model can be updated by relearning the cutting judgment threshold for those other CNC devices.
[0103] In addition, the learning algorithm used by the model generation unit 302 can be deep learning, which learns by extracting the feature quantity itself, or it can perform machine learning according to other well-known methods such as genetic programming, functional logic programming, support vector machines, etc.
[0104] The structure shown in the above embodiments is an example, and it can also be combined with other known technologies, and the embodiments can be combined with each other. Without departing from the spirit of the subject, some parts of the structure can be omitted or changed.
[0105] Explanation of the label
[0106] 100, 100a, 100b CNC devices; 101, 101a data collection unit; 102 speed map creation unit; 103, 103a machining information; 104 cutting judgment threshold; 105 speed map database; 106 graphical user interface unit; 107 instruction output unit; 108 speed map display unit; 109 speed map selection unit; 110 machining program; 120 amplifier; 130 machine learning device; 140 inference device; 201 cutting / non-cutting judgment unit; 202 speed map generation unit; 203 speed map; 204 speed map registration unit; 205 machining condition parameters; 301, 401 data acquisition unit; 302 model generation unit; 303, 403 trained model storage unit; 402 inference unit.
Claims
1. A numerical control device, characterized in that, have: The speed mapping creation unit, based on the machining information obtained by controlling the machine tool to cut the workpiece, determines the cutting section (cutting section) and the non-cutting section (non-cutting section) on the cutting path when cutting the workpiece, and creates a speed mapping with information related to the feed rate in the non-cutting section and the feed rate in the cutting section. A velocity mapping database, which stores the velocity mapping; as well as The command output unit generates commands for the working machine based on the speed mapping diagram. When the speed map database contains a machining program or a speed map specified by the user, the instruction output unit generates instructions for the machine based on the machining program or the speed map specified by the user. When the speed map database does not contain the machining program or the speed map specified by the user, the instruction output unit generates instructions for the machine based on the machining program. When different speed maps are specified by the machining program and the user, the instruction output unit generates instructions for the machine based on the speed map specified by the user.
2. The CNC device according to claim 1, characterized in that, The speed map creation unit creates the speed map in such a way that the feed rate is reduced to the feed rate specified by the machining program for cutting until the timing of switching from the non-cutting section to the cutting section is reached.
3. The numerical control device according to claim 1 or 2, characterized in that, The speed mapping includes information on the position of the deceleration start point in the non-cutting section and the feed speed, such that the feed speed is specified by the machining program at the first change point when switching from the non-cutting section to the cutting section.
4. The CNC device according to claim 1 or 2, characterized in that, The machining information includes the spindle load value and movement command value of the machine tool.
5. The CNC device according to claim 4, characterized in that, The velocity mapping creation unit has: The state determination unit determines whether it is the cutting part or the non-cutting part based on the spindle load value and the cutting determination threshold. The velocity map generation unit generates the velocity map based on the determination result obtained by the state determination unit; as well as The speed map registration unit registers the speed map generated by the speed map generation unit in the speed map database.
6. A numerical control device, characterized in that, have: The speed mapping creation unit, based on the machining information obtained by controlling the machine tool to cut the workpiece, determines the cutting section (cutting section) and the non-cutting section (non-cutting section) on the cutting path when cutting the workpiece, and creates a speed mapping with information related to the feed rate in the non-cutting section and the feed rate in the cutting section. A velocity mapping database, which stores the velocity mapping; The command output unit generates commands for the working machine based on the speed map; The model generation unit learns the cutting decision threshold based on the spindle load value and feed rate of the working machine during the cutting of the workpiece, the material of the workpiece, the type and material of the cutting tool used to cut the workpiece, and the cutting decision threshold used by the speed mapping creation unit to determine the cutting part and the non-cutting part, and generates a trained model. as well as The inference unit infers the cutting threshold based on the spindle load and feed rate during workpiece cutting, the material of the workpiece, the type and material of the cutting tool used to cut the workpiece, and the trained model.
7. The CNC device according to claim 6, characterized in that, The speed mapping creation unit creates the speed mapping based on the processing information obtained from the first processing of the workpiece.
8. The CNC device according to claim 6, characterized in that, It has a graphical user interface section for selecting the speed map used for cutting from the speed map maps registered in the speed map database.
9. A machine learning device comprising, in a numerical control device having a speed map creation unit and an instruction output unit, generating a trained model for inferring cutting decision thresholds used in processing where the speed map creation unit determines cutting and non-cutting portions, wherein the speed map creation unit, based on machining information obtained by controlling a machine tool to cut a workpiece, determines the cutting portions (i.e., the cutting portions) and non-cutting portions (i.e., the non-cutting portions) on the cutting path during cutting of the workpiece, and creates a speed map having information related to the feed rates in the non-cutting portions and the feed rates in the cutting portions; and the instruction output unit, based on the speed map, generates instructions for the machine tool. The machine learning device is characterized by having: The data acquisition unit acquires the spindle load and feed rate of the machine tool during the cutting of the workpiece, the material of the workpiece, the type and material of the cutting tool used to cut the workpiece, and the cutting judgment threshold as learning data; and The model generation unit, based on the learning data, uses the spindle load value and feed rate of the machine tool during the cutting of the workpiece, the material of the workpiece, and the type and material of the cutting tool used to cut the workpiece to generate the trained model for inferring the cutting judgment threshold.
10. An inference device in a CNC device having a speed map creation unit and an instruction output unit, wherein the speed map creation unit infers a cutting determination threshold used in the processing of determining cutting portions and non-cutting portions by the speed map creation unit, the speed map creation unit determining, based on machining information obtained by controlling a machine tool to perform cutting machining on a workpiece, the cutting portion and the non-cutting portion on the cutting path when cutting the workpiece, the speed map creation unit creating a speed map having information related to the feed rate in the non-cutting portion and the feed rate in the cutting portion, and the instruction output unit generating instructions for the machine tool based on the speed map. The inference device is characterized by having: The data acquisition unit acquires the spindle load and feed rate of the machine tool during cutting of the workpiece, the material of the workpiece, and the type and material of the cutting tool used in the cutting process; and The inference unit uses a trained model, the spindle load and feed rate of the machine tool when cutting the workpiece obtained by the data acquisition unit, the material of the workpiece, and the type and material of the cutting tool used in the cutting process to infer the cutting determination threshold. The trained model is used to infer the cutting determination threshold using the spindle load and feed rate of the machine tool when cutting the workpiece, the material of the workpiece, and the type and material of the cutting tool used in the cutting process.
Citation Information
Patent Citations
Numerical control device for controlling feed rate by spindle load
JP2017097701A
Numerical control method and apparatus therefor
CN102016733A
Numerical control device
JP2005224942A