Numerical control device, learning device and learning method
Patent Information
- Application Number
- DE112018008027
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2018-10-31
- Publication Date
- 2025-09-11
- Estimated Expiration
- 2038-10-31
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Area
[0001] The present invention relates to a numerical control apparatus, a learning apparatus, and a learning method for estimating a value of thermal displacement of a machine tool. background
[0002] Machine tools are machining devices that perform machining, including subtractive machining and bending machining, by applying force or energy to a workpiece using a tool. Such a machine tool generally has multiple drive axes. The drive axes each include, for example, a motor and one or more components connected to the motor. The machine tool includes a spindle axis, which is a drive axis for rotating a tool or a workpiece, and a feed axis, which is a drive axis for adjusting a relative position of the tool and the workpiece. All drive axes of the machine tool are controlled by a numerical control device.The numerical control device gives the drive axis a command regarding a relative position of the tool with respect to the workpiece, and the drive axis operates based on the command, thereby bringing the tool and the workpiece into contact with each other, thus performing machining.
[0003] On the other hand, when the machine tool is subjected to thermal deformation due to heat sources existing inside and outside the machine tool, thermal misalignment occurs between the tool and the workpiece. Thermal misalignment is an error in a machining position caused by a change in the temperature of the machine tool. Examples of typical factors that cause temperature changes in the machine tool include a change in the ambient temperature of the machine tool and heat generated by the motor. When a temperature distribution of a component, such as a shaft and a head of the spindle axis, becomes uneven due to these factors, the component warps, and thus the parallelism and perpendicularity of the machine tool are reduced.In addition, the thermal displacement is generated by an expansion of a shaft of the spindle axis, a ball screw and the like due to temperature changes.
[0004] Thermal displacement causes machining errors. Examples of measures to reduce thermal displacement of a machine tool include measures such as installing the machine tool in a constant-temperature room so that no temperature change is caused to the machine tool, or equipping the machine tool with a cooling device. Although taking these measures can keep the temperature of the machine tool constant regardless of conditions inside and outside the machine tool, it is necessary to provide a constant-temperature room for the machine tool; and in a case where there is a component that requires cooling by a cooling device, thermal displacement due to thermal deformation of the component cooled by the cooling device cannot be prevented; both are problematic.
[0005] As another measure for reducing thermal displacement of the machine tool, there is a method in which a command value generated by a numerical control device is corrected in advance by a value corresponding to the thermal displacement. In this method, a correction value that compensates for thermal displacement is obtained using operation data, sensor data, and the like of the machine tool and is added to a command value. This makes it possible to reduce machining errors caused by thermal displacement without limiting the machine tool installation environment and machine components, which is advantageous.
[0006] Patent Literature 1 proposes a technique in which a mathematical equation expressing a relationship between operating state data and a thermal displacement value of a machine tool is learned, the thermal displacement value is calculated using the mathematical equation and the operating state data, and a machining position of the machine tool is corrected using the calculated thermal displacement value. In the method according to Patent Literature 1, mathematical equations of various operating states are repeatedly learned, and thermal displacement values estimated in units of a sampling time are summed within a predetermined period of time, thereby calculating the thermal displacement value.
[0007] Patent Literature 2 discloses a machine learning apparatus that can optimize an equation for estimating an amount of thermal displacement of a machine element based on an operating state of the machine element.
[0008] Patent Literature 3 discloses a method for correcting thermal displacement in a machine tool. Citation listPatent literature Patent literature 1: JP 2018 - 111 145 A Patent literature 2: DE 10 2018 200 150 A1 Patent literature 3: DE 601 16 192 T2 SummaryTechnical problem
[0009] However, in the method described in Patent Literature 1, operation state data is used as learning data, which is always in units of a specific time period and is not synchronized with an operation sequence of the machine tool. Therefore, learning is not performed correctly when data indicating different trends regarding a change in the thermal offset value over time is included in the learning data. For example, when a condition affecting the thermal offset value changes, the trend of temperature changes inside and outside the machine tool, which affects the thermal offset, also changes. The trend of temperature changes inside and outside the machine tool, which affects the thermal offset, is hereinafter referred to as a thermal trend.Specific examples of changes in conditions that cause changes in thermal tendency include a change in the state of a motor from rotating to paused and a change in the state of a coolant from dispensing to stopping. In such a situation where the conditions change, the thermal tendency generated in a machine element of the machine tool also changes. If multiple learning data of time periods are used, the time periods included in and shorter than a time period in which the thermal tendency changes, a mathematical equation for the entire time period in which the thermal tendency changes cannot be learned from these learning data.Therefore, in the method described in Patent Literature 1, the mathematical equation for obtaining the value of thermal offset is obtained using such learning data, so that a relationship between a temperature and a value of thermal offset cannot be accurately learned, which is problematic.
[0010] The present invention has been made in view of the above, and its object is to obtain a numerical control apparatus capable of accurately learning a relationship between a temperature and a value of thermal displacement. Solution to the problem
[0011] The object is achieved by a numerical control device having the features of patent claim 1, by a learning device having the features of patent claim 10 and by a learning method having the features of patent claim 11. Advantageous developments of the invention are defined in the dependent claims.
[0012] One aspect of the present invention relates to a numerical control apparatus that controls a machine tool and includes: a data generation unit that determines a first time period, which is a time period of learning data used for learning a relationship between a temperature of the machine tool and a value of thermal displacement of the machine tool, based on operation data indicating a content of an operation of the machine tool, and that generates, based on the determined first time period, the learning data including temperature data indicating a temperature of the machine tool, offset data indicating an offset of the machine tool, and the operation data.The numerical control device further includes a learning unit that learns the relationship between the temperature of the machine tool and the value of the thermal displacement of the machine tool using the learning data, thereby generating a learning model.
[0013] Another aspect of the present invention relates to a learning device comprising: a data generation unit that determines a first time period, which is a time period of learning data used for learning a relationship between a temperature of a machine tool and a thermal displacement value of the machine tool, based on operation data indicating a content of an operation of the machine tool, and that generates, based on the determined first time period, the learning data including temperature data indicating a temperature of the machine tool, displacement data indicating a displacement of the machine tool, and the operation data; and a learning unit that learns the relationship between a temperature of the machine tool and a thermal displacement value of the machine tool using the learning data, thereby generating a learning model.
[0014] Another aspect of the present invention relates to a learning method performed by a numerical control device that controls a machine tool, the method comprising: a data generation step of determining a first period of time, which is a period of time of learning data used for learning a relationship between a temperature of the machine tool and a value of thermal displacement of the machine tool, based on operation data indicating a content of an operation of the machine tool, and generating, based on the first period of time, the learning data including temperature data indicating a temperature of the machine tool, displacement data indicating an displacement of the machine tool, and the operation data;and a learning step of learning the relationship between a temperature of the machine tool and a value of the thermal displacement of the machine tool using the learning data, thereby generating a learning model.; Advantageous effects of the invention
[0015] The articles according to the present invention enable a relationship between a temperature and a value of a thermal offset to be accurately learned. Short description of drawings Fig. 1 is a block diagram showing an exemplary configuration of a numerical control apparatus according to an embodiment of the present invention. Fig. 2 is a diagram showing an example configuration of a machine tool. Fig. 3 is a diagram showing an exemplary configuration of a processing circuit. Fig. Figure 4 is a diagram showing changes in states of typical machine elements that affect the thermal tendency of the machine tool. Fig. 5 is a diagram showing an example in which temperature data in a portion of a duration Tw1 is resampled from a time t1 to a time t2. Fig. 6 is a diagram showing an example in which temperature data in a portion of a duration Tw2 is resampled from time t2 to time t3. Fig. Figure 7 is a model diagram of a neural network. Fig. 8 is a flowchart showing an example of a learning processing procedure performed by the numerical control device. Fig. 9 is a flowchart showing an example of a thermal displacement value estimation processing procedure performed by the numerical control device. Description of embodiments
[0016] Hereinafter, a numerical control apparatus, a learning apparatus, and a learning method according to an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to the embodiment. Embodiment.
[0017] Fig. Figure 1 is a block diagram showing an exemplary configuration of a numerical control device according to an embodiment of the present invention. A numerical control device 1 according to the present embodiment can be connected to a machine tool 2. Fig. 1 shows a state in which the numerical control device 1 is connected to the machine tool 2. The numerical control device 1 controls the machine tool 2 based on a machining program 3. The machining program 3 is a series of commands to be given to the numerical control device 1 in order for the machine tool 2 to perform a desired operation. Fig. 1 shows an example in which the machining program 3 is given from outside the numerical control device 1, but this is not a limitation, and the machining program may be stored within the numerical control device 1.
[0018] Fig. 2 is a diagram showing an exemplary configuration of the machine tool 2. In the present embodiment, an example will be described in which the machine tool 2 is a cutting machine tool. However, the machine tool 2 to which a learning method according to the present embodiment is applied is not limited to the cutting machine tool, and the number of drive axes of the machine tool 2 is not limited to the number shown in FIG. Fig. 2 example shown.
[0019] The machine tool 2 includes a spindle axis 21, feed axes 22-1 to 22-3, a coolant device 27, a cooling device 28, a temperature sensor 29, and a displacement sensor 30. In the machine tool 2, the spindle axis 21 rotates based on a command from the numerical control device 1, and a tool attached to the spindle axis 21 rotates with the rotation of the spindle axis 21, thereby performing cutting of a workpiece fixed to a table (not shown). The feed axes 22-1 to 22-3 operate based on a command from the numerical control device 1 so that relative positions of the tool and the workpiece are set to positions defined by the command.
[0020] The spindle axis 21 includes a machine element 23, which has one or more components, and a spindle motor 24. The machine element 23 is, for example, a moving mechanism, a shaft, or a tool system. The feed axis 22-1 includes a feed axis mechanism 25-1 and a feed axis motor 26-1. The feed axis 22-2 includes a feed axis mechanism 25-2 and a feed axis motor 26-2. The feed axis 22-3 includes a feed axis mechanism 25-3 and a feed axis motor 26-3. Hereinafter, each of the feed axes 22-1 to 22-3 is referred to as a feed axis 22 unless individually distinguished; each of the feed axis mechanisms 25-1 to 25-3 is referred to as a feed axis mechanism 25 unless individually distinguished. and each of the feed axis motors 26-1 to 26-3 is referred to as a feed axis motor 26 unless individually distinguished.The feed axis mechanism 25 is, for example, a clutch, a ball screw or a table.
[0021] The feed axis 22-1 is a drive axis that determines a position in an X-axis direction, the feed axis 22-2 is a drive axis that determines a position in a Y-axis direction, and the feed axis 22-3 is a drive axis that determines a position in a Z-axis direction. The definitions of an X-axis, a Y-axis, and a Z-axis are as follows: for example, an axial direction of a tool is aligned with the Z-axis, a tool running direction in a plane perpendicular to the axial direction of a tool is defined as the X-axis, and a direction perpendicular to both the X-axis and the Z-axis is defined as the Y-axis.
[0022] The cooling device 28 cools at least some of the spindle motor 24, the feed axis motors 26-1 to 26-3, the machine element 23, and the feed axis mechanisms 25-1 to 25-3. The cooling device 27 cools a machining section. The machining section is a machining area in the machine tool 2 in which the tool machines the workpiece.
[0023] The temperature sensor 29 periodically detects the temperature of the machine tool 2 and outputs temperature data indicating the detected temperature to the numerical control device 1. One data detection period of the temperature sensor 29 is referred to as a temperature detection period. Although in Fig. 2, a temperature sensor 29 is shown, generally, a plurality of temperature sensors 29 are provided and installed at a plurality of locations inside and outside the machine tool. Examples of a location as a target of temperature detection by a temperature sensor 29 include the spindle motor 24, the feed-axis motors 26-1 to 26-3, one or more components constituting the machine element 23 and the feed-axis mechanisms 25-1 to 25-3, a tank (not shown) of the coolant device 27, and a location around the machine tool 2. In a case where the target of temperature detection by the temperature sensor 29 is located around the machine tool 2 or the like, the temperature detected by the temperature sensor 29 is not the temperature of the component of the machine tool 2 itself. However, such a case is also referred to herein as the temperature of the machine tool 2.Specific examples of the location targeted for temperature detection by the temperature sensor 29 include a table, a bed, a column, and a spindle axis head. Multiple temperature sensors 29 may be installed in one component.
[0024] The offset sensor 30 detects the value of an offset generated between the tool and the workpiece in the machining section of the machine tool 2 and outputs a detection result in the form of thermal offset data to the numerical control device 1. The offset sensor 30 is a sensor capable of detecting an offset in at least one axis direction. Multiple offset sensors 30 can be installed to detect offsets in multiple axis directions.
[0025] The machine tool 2 further includes one or more sensors (not shown) for detecting an operating state of the machine tool 2, and the sensors output a detection result of the operating state of the machine tool 2 to the numerical control device 1 in the form of operating state data. The operating state data is information including a position, a speed, and / or a current of the spindle motor 24 and / or the drive-axis motors 26-1 to 26-3.
[0026] A relationship between a temperature and a thermal displacement value will now be described. The thermal displacement value is the displacement value generated between the tool and the workpiece due to a component of the machine tool 2 warping or expanding due to the influence of temperature changes inside and outside the machine tool 2. Examples of a factor that causes the temperature changes of the machine tool 2 include heat generated by driving the motors of the machine tool 2, frictional heat of the respective drive axis of the machine tool 2, cooling by the coolant device 27, cutting heat generated by cutting, cooling by the cooling device 28, and the ambient temperature.
[0027] The numerical control device 1 of the present embodiment outputs to the machine tool 2 an operation command, which is a command including a corrected thermal offset value obtained by estimating a thermal offset value of the machine tool 2 and adding a correction value that compensates for the estimated thermal offset value to a control command for controlling the machine tool 2. If the thermal offset value cannot be accurately estimated, the accuracy of correcting the command by the numerical control device 1 is correspondingly reduced, resulting in a machining error. The numerical control device 1 according to the present embodiment generates learning data in operation units, which will be described later, and learns the thermal offset value so that the thermal offset value can be accurately estimated.The operation sequence unit indicates a period in which the thermal tendency of the machine tool 2 is constant. The details of the operation sequence unit will be described later. Next, a configuration and operation of the numerical control device 1 according to the present embodiment will be described.
[0028] As in Fig. 1, the numerical control device 1 includes a data collection unit 11, a learning unit 12, a control unit 13, a data selection unit 14, a thermal displacement estimation unit 15, and a thermal displacement correction unit 16.
[0029] As a data generation unit, the data collection unit 11 determines a first time period, which is a time period of learning data used for learning a relationship between a temperature of the machine tool 2 and a thermal displacement value of the machine tool 2, based on operation data, and generates the learning data including temperature data, displacement data, and the operation data based on the first time period. The operation data is data indicating the content of the operation of the machine tool 2 and is information indicating an analysis result of the machining program 3, the operation state data, and the control command. In detail, the data collection unit 11 receives the temperature data output from the temperature sensors 29 of the machine tool 2 and the thermal displacement data output from the displacement sensor 30 of the work machine 2.The data collection unit 11 further receives the operation data from the control unit 13. The control command is a command that causes the tool and the workpiece to perform a desired operation by means of the motors of the machine tool 2. The analysis result of the machining program 3 is information indicating the operation of the machine tool 2, including the revolution number, which is the rotation speed of the spindle motor 24, and the speed of the feed axis motor 26. Specifically, the analysis result includes information indicating, for example, a revolution number command (rotation speed command) to the spindle axis 21, a position command to the feed axis 22, a speed command to the feed axis 22, a tool number, a coolant injection command, and / or a coolant stop command.
[0030] Further, the data collection unit 11 generates learning data using the temperature data, the thermal offset data, and the operation data, and outputs the learning data to the learning unit 12. Specifically, the data collection unit 11 divides the temperature data and the thermal offset data into operation units using the information of the operation data, thereby generating divided data, and performs resampling so that a certain number of sampling points are present in each piece of the divided data with different durations, thereby generating the learning data. The details of the resampling will be described later. Here, it is assumed that time periods in which respective data are input to the data collection unit 11 are all equal, and the time allocated as units of respective data input to the data collection unit 11 is equal in the time periods.Therefore, the data collection unit 11 monitors the operation data, and when a change in the operation data occurs that satisfies a condition of a division point between the operation units described later, a point of change is set as the end of the learning data, and the temperature data, thermal offset data, and operation data that are input next form the beginning of the next learning data. Alternatively, the data collection unit 11 may store the temperature data, thermal offset data, and operation data together with a time stamp.In a case where such a time stamp is added to the data, the time stamp is defined as a time stamp attached to the temperature data, the thermal offset data, and the operation data, and in a case where such a time stamp is not attached to the data, the time stamp is defined as a time stamp at which the data collection unit 11 receives the data.
[0031] Using the learning data received from the data collection unit 11, the learning unit 12 learns the relationship between the temperature of the machine tool 2 and the thermal displacement value of the machine tool 2, thereby generating a learning model, and outputs the generated learning model to the thermal displacement estimation unit 15. The control unit 13 analyzes a command described in the machining program 3. Furthermore, the control unit 13 receives the operating state data from the machine tool 2 and, based on the operating state data and the command described in the machining program 3, generates a control command that causes the spindle motor 24 and the feed axis motors 26-1 to 26-3 to perform an operation corresponding to the command described in the machining program 3.Since a general method can be used as a method for generating control commands related to the operation of the spindle motor 24 and the feed axis motors 26-1 to 26-3, a detailed description thereof will be omitted. The control unit 13 outputs the generated control command to the thermal displacement correction unit 16. Furthermore, the control unit 13 outputs the operation data, which is information including the analysis result of the machining program 3, the operation state data, and the control command, to the data collection unit 11 and the data selection unit 14.
[0032] The data selection unit 14 determines a second time period, which is a time period of estimation data used to estimate the thermal displacement, based on the operation data, and generates the estimation data including the temperature data and the operation data based on the determined second time period. In detail, the data selection unit 14 receives and acquires the temperature data from the temperature sensors 29 of the machine tool 2. Further, the data selection unit 14 acquires the operation data from the control unit 13. The data selection unit 14 divides the temperature data into sections of operation units analyzed from the operation data, and outputs the divided temperature data in the form of estimation data to the thermal displacement estimation unit 15.At this time, like the data collection unit 11, the data selection unit 14 performs resampling so that a certain number of sampling points are present in each of the divided data having different durations, thereby generating the estimated data.
[0033] The thermal displacement estimation unit 15 estimates the value of the thermal displacement generated in the machine tool 2 using the learning model generated by the learning unit 12 and the estimation data received from the data selection unit 14. Specifically, the thermal displacement estimation unit 15 calculates the value of the thermal displacement by inputting the estimation data input from the data selection unit 14 into a mathematical equation indicating the learning model generated by the learning unit 12.In addition, the thermal offset estimation unit 15 performs a process on the calculated thermal offset value which is the reverse of the resampling performed by the data selection unit 14, and thereby an output period of the thermal offset value in the thermal offset estimation unit 15 is synchronized with a temperature detection period of the temperature sensors 29, and the thermal offset value after the process which is the reverse of the resampling is output to the thermal offset correction unit 16.
[0034] The thermal displacement correction unit 16 corrects the control command to the machine tool 2 with a correction value calculated from the thermal displacement value estimated by the thermal displacement estimation unit 15. Specifically, the thermal displacement correction unit 16 adds a correction value that compensates for the thermal displacement value estimated by the thermal displacement estimation unit 15 to the control command generated by the control unit 13, and outputs the control command including the added correction value to the machine tool 2 as an operation command.Specifically, the thermal offset correction unit 16 adds, to a position command in each axis direction included in the control command, a value serving as the correction value obtained by multiplying the value of the thermal offset in each axis direction estimated by the thermal offset estimation unit 15 by -1. In another example, a value obtained by multiplying the value of the thermal offset in each axis direction estimated by the thermal offset estimation unit 15 by a negative coefficient preset in the thermal offset correction unit 16 is calculated as the correction value. According to yet another example, a correction value corresponding to the estimated value of the thermal offset is calculated based on a lookup table preset in the thermal offset correction unit 16.
[0035] Next, a hardware configuration of the numerical control device 1 will be described. The data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15, and the thermal displacement correction unit 16, which are shown in Fig. 1 are implemented by a processing circuit. The processing circuit may be a circuit including a processor or may be dedicated hardware.
[0036] When the processing circuit is the circuit including a processor, the processing circuit is, for example, a processing circuit having a configuration shown in Fig. 3 is shown. Fig. 3 is a diagram showing an exemplary configuration of the processing circuit. A processing circuit 200 includes a processor 201 and a memory 202. When the data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15, and the thermal displacement correction unit 16 are configured by the Fig. 3, these are realized by the processor 201, which reads and executes a program stored in the memory 202. That is, when the data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15 and the thermal displacement correction unit 16 are controlled by the Fig. 3, its functions are realized using a program, which is software. The memory 202 is also used as a work area for the processor 201. The processor 201 is a central processing unit (CPU) or the like. The memory 202 corresponds, for example, to a non-volatile or volatile semiconductor memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, or a magnetic floppy disk.
[0037] When the processing circuit that implements the data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15, and the thermal displacement correction unit 16 is dedicated hardware, the processing circuit is, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15, and the thermal displacement correction unit 16 can be implemented by combining the processing circuit including a processor and the dedicated hardware. The data collection unit 11, the learning unit 12, the control unit 13, the data selection unit 14, the thermal displacement estimation unit 15 and the thermal displacement correction unit 16 can be realized by a plurality of processing circuits.
[0038] Next, an operation of the numerical control device 1 according to the present embodiment will be described. First, the operation flow will be described. Fig. 4 is a diagram showing changes in states of typical machine elements that affect the thermal tendency of the machine tool 2. Fig. Figure 4 shows an example of temporal transitions of operating states of the spindle axis 21, the feed axis 22, the coolant device 27, and the cooling device 28, which are components of the machine tool 2, and a program operating state. The horizontal axis in Fig. 4 represents time. The program operation state indicates whether the program operation is in progress. What is meant by the program operation is that the machine tool 2 operates under the control of the machining program 3 by the numerical control device 1. In cutting, for example, operations are performed according to the following sequence: a program operation is performed, which causes the machine tool 2 to perform a certain machining operation; and, when the program operation is completed, an operation such as replacing the workpiece is performed by an operator; and then a program operation for a next machining operation is performed.
[0039] In the Fig. In the example shown in Figure 4, in a time period between a time t1 and a time t3, a tool #1 is mounted on the spindle axis 21 and the spindle motor 24 rotates at a rotational speed of 1000 revolutions per minute. Fig. 4 indicates a sequence of letters, expressed by S, and numbers, for example, "S1000", the rotational speed of the spindle motor 24 and S represents the spindle motor 24 and the numerical value following S indicates a rotational speed. In Fig. 4, the rotational speed is indicated by the number of revolutions, which is the number of revolutions per minute. During the period between time t1 and time t3, the shaft of the spindle axis 21 expands due to heat generated by the spindle motor 24 and frictional heat of a bearing of the spindle axis 21.
[0040] During a period between time t3 and time t4, the spindle motor 24 pauses, so that the spindle axis 21 itself does not generate heat. During a period between time t4 and time t7, a tool #2 is attached to the spindle axis 21, and the spindle motor 24 rotates at a rotational speed of 3000 revolutions per minute. Because the spindle axis 21 also generates heat during the period between time t4 and time t7, thermal offset occurs. However, because the tool and rotational speed are different from those during the period between time t1 and time t3, the heat generation tendency is different from that during the period between time t1 and time t3.As described above, it can be seen that the thermal tendency of the spindle axis 21 is not always constant and varies depending on the attached tool, the number of revolutions, and the like.
[0041] Like the spindle axis 21, the operating state of the feed axis 22, the coolant device 27, and the cooling device 28 also changes, so that the thermal tendency varies depending on the operating sequence. For example, in the feed axis 22, the feed axis motor 26 rotates at a rotational speed of 100 revolutions per minute during a period between time t1 and time t2, and during a period between time t2 and time t3, the feed axis motor 26 rotates at a rotational speed of 200 revolutions per minute. Fig. 4, a series of letters expressed by F and numbers such as "F100" indicates the rotational speed of the feed axis motor 26, and F represents the feed axis motor 26, and the numerical value following F indicates a rotational speed. In the feed axis 22, because the rotational speed of the feed axis motor 26 during the period between time t1 and time t2 is different from that during the period between time t2 and time t3, the amount of heat generated therein is different. The temperatures of a portion cooled by a coolant and its surroundings change depending on whether the coolant device 27 discharges the coolant. The temperatures of a portion cooled by the cooling device 28 and its surroundings also change depending on whether the cooling device 28 is operating.
[0042] In addition, because the program operation ends after time t7, a door of the machining section can be opened and closed, and layout changes such as workpiece replacement can be performed, and the thermal environment of the machine tool is different from that during the program operation. As described above, the tendency of the thermal displacement generated in the machine tool 2 is different between a period from time t1 to time t2, a period from time t2 to time t3, ..., and a period after time t7 in which the program operation is stopped.
[0043] In the present embodiment, sections in which the machine tool 2 performs different operations, such as the section from time t1 to time t2, the section from time t2 to time t3, ..., and the section after time t7 in which the program operation is stopped, are each defined as an operation unit. The data collection unit 11 of the numerical control device 1 according to the present embodiment determines a section to serve as an operation unit based on the operation data received from the control unit 13. In detail, a time point at which the content of the operation changes is obtained from the operation data, and the time point is used as a division point in determining the section to serve as the operation unit. That is,The first time period, which is the time period of the learning data, is determined using a time point at which the operating state of at least one of the machine elements included in the machine tool 2 changes as the division point. Then, the data collection unit 11 divides the temperature data, the thermal displacement data, and the operation data into sectional units, which are to serve as the operation sequence units.
[0044] As described above, the operation data includes the analysis result of the machining program 3, the operation state data, and the control command. Generally, the rotation speed of the spindle motor 24 and the rotation speed of the feed axis motor 26 are respectively included in the analysis result of the machining program 3, the control command, and the operation state data, so that the data collection unit 11 can obtain the rotation speed of the spindle motor 24 and the rotation speed of the feed axis motor 26 based on the analysis result of the machining program 3, the control command, or the operation state data. Information indicating whether the cooling device 27 and the cooling device 28 are operating is included in the operation state data.Alternatively, when the numerical control device 1 controls these devices, the control command also includes commands regarding their operating states, so that the data collection unit 11 can know the operating states of the coolant device 27 and the cooling device 28 from the control command. For learning, the operating states of each motor, the coolant device 27, and the cooling device 28 are also included in the control command and are also included in the operating state data, which is a result of the control. Only either the command or the result can be used for learning, but it is expected that a learning model with higher performance will be generated if the operating state data of the machine tool 2 and the command value are learned for learning.
[0045] Although Fig. 4 shows changes in states of the components of the machine tool 2 for each type of component, the machine tool 2 generally includes a plurality of feed axes 22. Furthermore, a plurality of cooling devices 28 may be provided depending on the number of machine elements of the machine tool 2. In such a case, the respective data at a time at which the state of a respective component changes may be divided into operation units.
[0046] The section durations, as first time durations, ie durations, of the data divided into section units do not have to be equal. For example, in the Fig. In the example shown in Figure 4, a duration Tw1 from time t1 to time t2 and a duration Tw2 from time t2 to time t3 are different from each other. In a case where the durations of the sections are not equal, the number of sampling points in the data contained in each section is also not equal among the sections. If the number of sampling points is different among the sections, a learning process performed by the learning unit 12 becomes complicated.
[0047] Therefore, in the present embodiment, as shown in the Fig. 4 and Fig. 5, the data collection unit 11 resamples the temperature data and the thermal displacement data divided into sections so that the learning data corresponding to the respective sections has the same number of sampling points, thereby generating the learning data. That is, the data collection unit 11 resamples the temperature data and the displacement data so that the number of sampling points in the data constituting the learning data is the same among the learning data, thereby generating the learning data. Fig. 5 shows an example of resampling the temperature data for a portion of a duration Tw1 from time t1 to time t2, and Fig. Figure 6 shows an example of resampling the temperature data for a portion of a duration Tw2 from time t2 to time t3. The number of sampling points in the portion from time t1 to time t2 shown in Fig. 5, is L1, and the number of sampling points in the section from time t2 to time t3 shown in Fig. 6, is L2. Regarding the temperature data, temperature detection is performed at predetermined time intervals; therefore, the longer the duration of a section, the greater the number of sample points in the temperature data for the section. As shown in the Fig. 4 to 6, the duration Tw2 is longer than the duration Tw1, so L2 has a larger value than L1.
[0048] As in the Fig. 5 and Fig. 6, the data collection unit 11 performs resampling such that the number of sampling points in the section from time t1 to time t2 and the number of sampling points in the section from time t2 to time t3 are each L. As the resampling method, a general method can be used, and there are no particular restrictions on the resampling method. The data collection unit 11 resamples the thermal displacement data in the same manner as for the temperature data. The data collection unit 11 may also resample the operation data, but because the operation data is used to divide the temperature data and the thermal displacement data according to each operation content, it is sufficient if the data is in operation units, and there is no need to resample it.
[0049] Next, the learning by the learning unit 12 will be described. The learning unit 12 generates a learning model for the thermal offset value using the learning data received from the data collection unit 11. The learning model is, for example, a mathematical polynomial expressed by the following formula (1). [Formula 1] dx=∑j=1L∑i=1NaiTi,j+C1dy=∑j=1L∑i=1NbiTi,j+C2dz=∑j=1L∑i=1NciTi,j+C3
[0050] In formula (1), N denotes the number of temperature sensors 29, L denotes the number of sampling points in a learning data, and d x , d y and d z denotes values of the thermal displacement in the X-, Y-, and Z-axis directions. Furthermore, j denotes the time, which is discretized in units of sample points and expressed by a number, T i,j denotes temperature data of an i-th temperature sensor 29 at time j, and a i , b i , ci , C1, C2, and C3 denote model parameters. i denotes the number of the temperature sensor 29 for identifying the temperature sensor 29.
[0051] The learning unit 12 identifies the model parameters in the above formula (1) using the learning data. A known identification method, such as a least squares method, can be used as a method for identifying model parameters. The learning unit 12 performs grouping so that data having the same data value for determining the operation unit in the operation data is classified into the same group, and identifies model parameters for each group using the associated learning data. This allows a learning model to be constructed for each operation content. The learning model is not limited to the mathematical polynomial according to the above-described formula (1) and may be another mathematical formula.
[0052] Another example of a learning method is a method that uses a neural network, which is one of the machine learning methods. Using a neural network, it is possible to express the relationship between temperature data and thermal offset data with a single learning model, without considering the operating process content or constructing a learning model for each individual operating process content. Fig. 7 is a model diagram of the neural network. Fig. Figure 7 shows a network structure including an input layer that receives temperature data as input, an output layer that outputs thermal offset data, and one or more intermediate layers that propagate signals from the input layer to the output layer. The input / output relationship of nodes included in each layer is expressed by the following formula (2). [Formula 2] yk=f(∑mwm,kxm,k+bk)
[0053] In formula (2) x m,k a signal input from an m-th node to a k-th node, and y k denotes a signal output by the k-th node. Furthermore, w m,k a weighting coefficient of the m-th node and the k-th node, b kdenotes the bias of the k-th node and f denotes an activation function. For the activation function f, for example, a sigmoid function or a normalized linear function can be used. With the Fig. 7, the relationship between the temperature data contained in the learning data and the value of the thermal offset can be learned using a learning method based on a backpropagation method. Although the learning model has been described here, which, as in Fig. If, as shown in Figure 7, a multilayer perceptron neural network is used, a convolutional neural network can be used. As another example, a recurrent neural network can be used.
[0054] Next, a learning process and a thermal displacement correction process of the numerical control device 1 are described. Fig. 8 is a flowchart showing an example of a learning processing procedure performed by the numerical control device 1. The data collection unit 11 of the numerical control device 1 collects temperature data, thermal offset data, and operation data, and generates learning data (step S1). Specifically, the data collection unit 11 acquires the temperature data and thermal offset data from the machine tool 2 and acquires the operation data from the control unit 13. As described above, the data collection unit 11 divides the respective data into operation units, respectively, and generates learning data by resampling the divided temperature data and divided thermal offset data.
[0055] The learning unit 12 learns the relationship between the temperature data and the thermal offset data from the learning data generated by the data collection unit 11, thereby generating a learning model (step S2). Through the above process, a learning model is generated in which the relationship between the temperature data and the thermal offset data is learned. By performing the above learning operation for various operations, the numerical control device 1 constructs a learning model in which the relationship between the temperature data and the thermal offset data is learned for various operations.
[0056] Next, the thermal offset correction process is described. Fig.9 is a flowchart showing an example of a thermal displacement value estimation processing procedure performed by the numerical control device 1. The data selection unit 14 of the numerical control device 1 acquires temperature data and operation data and generates estimation data (step S11). Specifically, the data selection unit 14 acquires the temperature data from the machine tool 2 and acquires the operation data from the control unit 13. Like the data collection unit 11, the data selection unit 14 then determines the time period of the section data, which is the second time period, based on the operation data. A time point at which the operation state of at least one machine element among the machine elements included in the machine tool 2 changes is used as the division point in determining the second time period.The data selection unit 14 divides the operation data and the temperature data into operation units, resamples the divided temperature data, and outputs the resampled data and the divided operation data to the thermal displacement estimation unit 15 as estimated data. That is, the data selection unit 14 resamples the temperature data so that the number of sampling points in the data constituting the section data is the same among the estimated data, thereby generating the estimated data.
[0057] The thermal offset estimation unit 15 estimates a thermal offset value using the estimation data and the learning model (step S12). The learning model is input from the learning unit 12 to the thermal offset estimation unit 15. The thermal offset estimation unit 15 outputs the estimated thermal offset value to the thermal offset correction unit 16. The thermal offset estimation unit 15 performs a process on the calculated thermal offset value that is the reverse of the resampling performed by the data selection unit 14, thereby synchronizing an output period of the thermal offset value in the thermal offset estimation unit 15 with a temperature detection period of the temperature sensors 29.Here, it is assumed that the temperature detection period of the temperature sensors 29 and the output period of the control command are the same, and that the thermal displacement estimation unit 15 performs the reverse process to the resampling so that the output period of the thermal displacement value is synchronized with the output period of the control command.
[0058] Next, the thermal offset correction unit 16 adds a correction value that compensates for the thermal offset value to the control command (step S13). Specifically, the thermal offset correction unit 16 adds a correction value that compensates for the thermal offset value to the control command received from the control unit 13 and outputs a result obtained by adding the correction value to the machine tool 2 as an operation command. Through the above process, the numerical control device 1 can perform a process of correcting the control command by the thermal offset value. Therefore, the numerical control device 1 can reduce the machining error caused by the thermal offset.
[0059] As described above, in the numerical control apparatus 1 according to the present embodiment, the data collection unit 11 generates the learning data by dividing the temperature data and the thermal displacement data into operation units, and the learning unit 12 learns the relationship between the temperature and the thermal displacement value from the learning data. Further, in the numerical control apparatus 1 according to the present embodiment, the data selection unit 14 generates the estimation data by dividing the temperature data into operation units, and the thermal displacement estimation unit 15 estimates the thermal displacement value using the estimation data and the learning model. Therefore, it is possible to generate a highly accurate learning model suitable for the content of the operation in operation units. That is,, the numerical control device 1 according to the present embodiment can accurately learn the relationship between the temperature and the thermal offset value, and thereby accurately estimate the thermal offset value. Therefore, the numerical control device 1 according to the present embodiment can improve the accuracy of estimating the thermal offset value compared to an example in which a learning model is created using data in units of a certain time period without considering the content of the operation. Therefore, the numerical control device 1 according to the present embodiment can correct the control command using a thermal offset value estimated with high estimation accuracy, so that the machining error can be reduced.
[0060] In the present embodiment, the machine tool 2 has been described, which has a configuration in which a workpiece is cut by rotating a tool, but a machining tool to which the present invention can be applied is not limited thereto. For example, the effect similar to that of the present embodiment can be achieved by a machine tool having a configuration in which a tool is stationary and a workpiece is rotated, such as a lathe.
[0061] Furthermore, in the present embodiment, the relationship between the temperature and the thermal offset value is learned, and the thermal offset value is estimated using the detected temperature and the learning model. Without being limited thereto, a relationship between the thermal offset value and a position and / or rotational speed of each drive axis may be learned in addition to the temperature, and the thermal offset value may be estimated using the temperature, position, and / or rotational speed of each drive axis and the learning model.
[0062] In the above description, an example was described in which the temperature sensors 29 and the displacement sensor 30 are components of the machine tool 2, however, the temperature sensors 29 and the displacement sensor 30 may at least partially be sensors that are later provided on the machine tool 2 instead of being components of the factory machine 2.
[0063] In the above description, the numerical control device 1 also generates the learning model, but the data collection unit 11 and the learning unit 12 may be included in a learning device separate from the numerical control device 1. In such a case, the learning device receives the operation data from the numerical control device 1 and receives the temperature data and thermal displacement data from the machine tool 2. The data collection unit 11 and the learning unit 12 of the learning device perform operations similar to those in the above-described example. The learning device outputs the learning model generated by the learning unit 12 to the numerical control device 1. Alternatively, the learning unit 12 may be included in a learning device separate from the numerical control device 1.In such a case, the operation data and the learning data are input into the learning device from the numerical control device 1, and the learning device outputs the learning model to the numerical control device 1.
[0064] The configurations described in the above embodiment are merely examples of the content of the present invention and may be combined with other known technologies, and parts thereof may be omitted or modified without departing from the spirit of the present invention. List of reference symbols 1 numerical control device; 2 machine tools; 3 machining program; 11 Data collection unit; 12 learning units; 13 control unit; 14 Data selection unit; 15 Thermal displacement estimation unit; 16 Thermal offset correction unit; 21 spindle axis; 22-1 to 22-3 feed axis; 23 machine element; 24 spindle motor; 25-1 to 25-3 feed axis mechanism; 26-1 to 26-3 feed axis motor; 27 coolant device; 28 cooling device; 29 Temperature sensor; 30 offset sensor.
Claims
[1] Numerical control device (1) which controls a machine tool (2), the device (1) comprising: a data generation unit (11) which determines a first time period, which is a time period of learning data used for learning a relationship between a temperature of the machine tool (2) and a value of the thermal offset of the machine tool (2), based on operation data indicating a content of an operation sequence of the machine tool (2), and which, based on the determined first time period, generates the learning data comprising temperature data indicating a temperature of the machine tool (2), offset data indicating an offset of the machine tool (2), and the operation data; and a learning unit (12) which learns the relationship between a temperature of the machine tool (2) and a value of the thermal displacement of the machine tool (2) using the learning data, thereby generating a learning model. [2] Numerical control device (1) according to claim 1, comprising: a data selection unit (14) which determines a second time period, which is a time period of estimation data used for estimating a thermal offset, based on the operating data, and which generates the estimation data including the temperature data and the operating data based on the determined second time period; a thermal offset estimation unit (15) which estimates a value of a thermal offset generated in the machine tool (2) using the learning model generated by the learning unit (12) and the estimation data; and a thermal displacement correction unit (16) which corrects a control command to the machine tool (2) with a correction value calculated from the thermal displacement value estimated by the thermal displacement estimation unit (15). [3] Numerical control device (1) according to claim 2, wherein, in determining the second time period, a point in time at which an operating state of at least one machine element of machine elements included in the machine tool (2) changes is used as the division point. [4] The numerical control apparatus (1) according to claim 2 or 3, wherein the data selecting unit (14) for generating the estimated data performs resampling of the temperature data so that a number of sampling points in data constituting the estimated data is the same among the estimated data. [5] Numerical control device (1) according to one of claims 1 to 4, wherein, in determining the first time period, a point in time at which an operating state of at least one machine element of machine elements included in the machine tool (2) changes is used as the division point. [6] The numerical control apparatus (1) according to any one of claims 1 to 3, wherein the data generating unit (11) for generating the learning data performs resampling of the temperature data and the offset data so that a number of sampling points in data constituting the learning data is the same among the learning data. [7] Numerical control device (1) according to one of claims 1 to 6, comprising: a control unit (13) which generates a control command for controlling the machine tool (2), wherein the operating data includes the control command, an analysis result which is a result of analyzing a machining program, and operating state data which indicates a detection result of an operating state of the machine tool (2). [8] Numerical control device (1) according to claim 7, wherein the operating state data includes a position and / or a speed and / or a current of a motor included in the machine tool (2). [9] The numerical control device (1) according to claim 7 or 8, wherein the analysis result includes information indicating a revolution number command to a spindle axis (21), a position command to a feed axis (22-1 to 22-3), a speed command to the feed axis (22-1 to 22-3), a tool number, a coolant injection command, and / or a coolant stop command. [10] Learning device, comprising: a data generation unit (11) which determines a first time period, which is a time period of learning data used for learning a relationship between a temperature of a machine tool (2) and a value of the thermal offset of the machine tool (2), based on operation data indicating a content of an operation of the machine tool (2), and which, based on the determined first time period, generates the learning data comprising temperature data indicating a temperature of the machine tool (2), offset data indicating an offset of the machine tool (2), and the operation data; and a learning unit (12) which learns the relationship between a temperature of the machine tool (2) and a value of the thermal displacement of the machine tool (2) using the learning data, thereby generating a learning model. [11] A learning method performed by a numerical control device (1) controlling a machine tool (2), the method comprising: a data generation step of determining a first time period, which is a time period of learning data used for learning a relationship between a temperature of the machine tool (2) and a value of the thermal displacement of the machine tool (2), based on operation data indicating a content of an operation of the machine tool (2), and generating, based on the first time period, the learning data including temperature data indicating a temperature of the machine tool (2), displacement data indicating an displacement of the machine tool (2), and the operation data; and a learning step of learning the relationship between a temperature of the machine tool (2) and a value of the thermal offset of the machine tool (2) using the learning data, thereby generating a learning model.
Citation Information
Patent Citations
machine learning apparatus for a machine tool and thermal displacement compensation apparatus
DE102018200150A1
Method for correcting thermal displacement in a machine tool
DE60116192T2
Mechanical learning device of machine tool and thermal displacement correction device
JP2018111145A
JP002018111145A