Numerical control device, numerical control machine tool, machining program generation device, and machining program generation method

By simulating mechanical structure deformation and estimating error direction, and calculating and applying correction amount, the processing error problem caused by mechanical structure deformation is solved, and the processing accuracy is improved.

CN119256277APending Publication Date: 2025-01-03MITSUBISHI ELECTRIC CORP +1
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
CN202280096501.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

The prior art is difficult to effectively reduce processing errors caused by mechanical structure deformation, especially when the direction of movement of the mechanical structure is inconsistent with the direction of processing error, it is difficult to effectively correct through feedback control.

Method used

The model holding part is used to simulate deformation of the mechanical structure. The machining error estimation part estimates the error direction and quantity based on the axis data and the mechanical model. The correction quantity calculation part calculates and outputs the correction quantity to correct the position command. By selecting the appropriate axis, it can be corrected and reduced. Processing error.

Benefits of technology

The processing error caused by mechanical structure deformation is reduced, the processing accuracy is improved, and the accuracy deterioration caused by unnecessary correction is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119256277A_ABST
    Figure CN119256277A_ABST
Patent Text Reader

Abstract

A numerical control device (1a) is a model for simulating deformation of a mechanical structure accompanying movement of the mechanical structure in each of a plurality of axial directions, the numerical control device (1a) being provided with: a model holding unit (13) for holding a mechanical model indicating an error amount, which is an amount of displacement of a tool in each of the axial directions resulting from the deformation of the mechanical structure; a machining error estimation unit (12) that estimates an error direction, which is a direction in which displacement of the tool occurs, among the respective axial directions, and an amount of error in the error direction on the basis of axis data, which is data pertaining to driving of the drive mechanism, and a machine model, and outputs machining error information indicating the estimated error direction and the estimated amount of error; and a correction amount calculation unit (14a) that selects, on the basis of the machining error information, one or more axes to be corrected, and calculates a correction amount to be used for correcting a command output to the drive mechanism relating to the selected axis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a numerical control device for controlling a numerical control machine tool, the numerical control machine tool, a machining program generating device and a machining program generating method. Background Art

[0002] A machine tool is a mechanical device that drives an axis according to a processing program to obtain a desired shape. A machine tool that performs removal processing removes unnecessary parts of a material, thereby processing the material into a target shape. When removing the material, various tools such as drills, milling cutters, end mills, grinding tools, turning tools, discharge wires or discharge electrodes, or lasers are used. The machine tool described above uses a motor and a detector mounted on the axis to perform feedback control to make the trajectory of the tool consistent with the trajectory specified in the processing program.

[0003] When the trajectory of the tool during machining is different from the trajectory specified in the machining program, machining errors will occur. Sometimes, even if the axis is driven according to the instruction, the mechanical structure of the working machine will deform elastically, resulting in machining errors caused by excessive material removal due to the tool biting into the machining surface, or machining errors caused by the tool floating from the machining surface and material remaining. The elastic deformation of the mechanical structure may occur due to the inertial force associated with the acceleration and deceleration of the axis. Sometimes, due to the occurrence of machining errors such as the above, visual machining marks are generated on the surface of the machined product, and the machined product is judged as poor machining during the appearance inspection. Depending on the installation position of the detector, the machining errors such as the above cannot be detected, so sometimes it is impossible to reduce the machining errors through normal feedback control. In response to the above problems, a technology is proposed to predict the machining errors based on the acceleration of the axis and correct the instructions.

[0004] Patent document 1 discloses a motor control device that, when a machining error occurs in a direction different from the movement direction of a mechanical structure due to driving an axis, calculates a correction amount obtained by multiplying the acceleration of the driven axis by a gain, and corrects the position command of the axis to be corrected based on the correction amount.

[0005] Patent Document 1: Japanese Patent Application Publication No. 2016-51398 Summary of the invention

[0006] However, in the technology of the above-mentioned Patent Document 1, the direction in which the machining error is generated and the movement direction of the mechanical structure may not be consistent. In this case, it is difficult for the motor control device to perform correction to reduce the machining error. As described above, in the technology of the above-mentioned Patent Document 1, there is a problem that it is sometimes difficult to reduce the machining error caused by the deformation of the mechanical structure.

[0007] The present invention has been made in view of the above-mentioned circumstances, and an object of the present invention is to obtain a numerical control device capable of reducing machining errors caused by deformation of a mechanical structure.

[0008] In order to solve the above problems and achieve the purpose, the numerical control device of the present invention controls a numerical control machine tool that has a driving mechanism provided for each of a plurality of axes and a mechanical structure that moves by power transmitted from the driving mechanism, and uses a tool installed on the mechanical structure to process a workpiece. The numerical control device of the present invention comprises: a model holding unit that simulates the deformation of the mechanical structure accompanying the movement of the mechanical structure in the directions of each of the plurality of axes, i.e., the directions of the displacement of the tool in the directions of each axis, i.e., the error amount, generated by the deformation of the mechanical structure; a machining error estimating unit that estimates the direction in which the tool is displaced in the directions of each axis, i.e., the error direction, and the error amount in the error direction, based on data related to the driving of the driving mechanism, i.e., the axis data and the mechanical model, and outputs machining error information indicating the estimated error direction and the estimated error amount; and a correction amount calculating unit that selects one or more axes set as the correction object based on the machining error information, and calculates the correction amount used for correcting the command output to the driving mechanism related to the selected axis.

[0009] Effects of the Invention

[0010] The numerical control device according to the present invention has the effect of being able to reduce machining errors caused by deformation of a mechanical structure. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 It is a diagram showing a configuration example of a numerically controlled machine tool according to the first embodiment.

[0012] Figure 2 This is a schematic diagram for explaining the structure of an X-axis drive unit as an axis drive unit constituting the numerical control machine tool according to the first embodiment.

[0013] Figure 3 This is a diagram for explaining an example of the mechanism of occurrence of processing errors in the first embodiment.

[0014] Figure 4 This is a diagram for explaining a first example of the relationship between the deformation of the mechanical structure and the processing error in the first embodiment.

[0015] Figure 5 This is a diagram for explaining a second example of the relationship between the deformation of the mechanical structure and the processing error in the first embodiment.

[0016] Figure 6This is a diagram showing a configuration example of a numerical control device included in the numerical control machine tool according to the first embodiment.

[0017] Figure 7 This is a diagram for explaining an example of processing performed by the numerically controlled machine tool according to the first embodiment.

[0018] Figure 8 It is used to Figure 6 FIG. 2 is a diagram for explaining an example of calculation of a machining error performed by a machining error estimating unit included in the numerical control device shown in FIG.

[0019] Fig. 9 Yes means Figure 6 A diagram showing an example of the configuration of a correction amount calculation unit included in a numerical control device shown in FIG.

[0020] Fig.10 This is a flowchart showing the operation procedure of the numerical control device included in the numerical control machine tool according to the first embodiment.

[0021] Fig.11 This is a diagram showing a configuration example of a correction amount calculation unit included in a correction amount operation unit of a numerical control device according to the second embodiment.

[0022] Fig.12 It is used to Fig.11 A diagram for explaining an example of calculation of a correction amount performed by a correction amount calculation unit shown in FIG.

[0023] Fig.13 This is a diagram showing a configuration example of a correction amount calculation unit included in the numerical control device according to the third embodiment.

[0024] Fig.14 This is a diagram for explaining an example of processing performed by the numerically controlled machine tool according to the third embodiment.

[0025] Fig.15 Yes means Fig.13 FIG. 2 is a diagram showing a configuration example of a correction amount calculation unit included in a correction amount operation unit shown in FIG.

[0026] Fig.16 It is used to Fig.15 A diagram for explaining an example of calculation of a correction amount performed by a correction amount calculation unit shown in FIG.

[0027] Fig.17 It is a diagram showing a configuration example of a numerically controlled machine tool according to a fourth embodiment.

[0028] Fig.18 This is a diagram for explaining an example of calculation of a machining error performed by a numerical control device included in a numerical control machine tool according to the fourth embodiment.

[0029] Fig.19 This is a diagram showing a configuration example of a machining program generating device according to the fifth embodiment.

[0030] Fig. 20 This is a flowchart showing the operation procedure of the machining program generating device according to the fifth embodiment.

[0031] Fig.21 This is a diagram for explaining a first example of a machining program generated by the machining program generating device according to the fifth embodiment.

[0032] Fig. 22 This is a diagram for explaining correction of a machining program performed by a machining program correction unit of the machining program creation device according to the fifth embodiment.

[0033] Fig.23 This is a diagram for explaining the second example of the machining program generated by the machining program generating device involved in the fifth embodiment.

[0034] Fig.24 This is a diagram showing a configuration example of a numerical control device according to a sixth embodiment.

[0035] Fig.25 This is a diagram showing a configuration example of a machine learning device included in a numerical control device according to a sixth embodiment.

[0036] Fig.26 This is a diagram showing a configuration example of a control circuit according to the first to sixth embodiments.

[0037] Fig. 27 This is a diagram showing a configuration example of a dedicated hardware circuit according to the first to sixth embodiments. DETAILED DESCRIPTION

[0038] Hereinafter, a numerical control device, a numerical control machine tool, a machining program generating device, and a machining program generating method will be described in detail based on the drawings.

[0039] Implementation method 1.

[0040] Figure 1: is a diagram showing a structural example of a numerical control machine tool 99a involved in Embodiment 1. The numerical control machine tool 99a is a machine tool that drives axes according to a machining program. The numerical control machine tool 99a is a 5-axis controlled machining center. The numerical control machine tool 99a has an X-axis drive unit 93X, a V-axis drive unit 93V, a Y-axis drive unit 93Y, a Z-axis drive unit 93Z, a B-axis drive unit 93B, a C-axis drive unit 93C, and a spindle 83. The X-axis drive unit 93X and the V-axis drive unit 93V drive the Y-axis drive unit 93Y in the X direction. The Y-axis drive unit 93Y drives the Z-axis drive unit 93Z in the Y direction. The Z-axis drive unit 93Z drives the spindle 83 in the Z direction. The spindle 83 rotates the tool 76. The workpiece 78 as a machining object is set on the worktable 77. The C-axis drive unit 93C rotates the worktable 77 around the Z axis. The B-axis driving unit 93B rotates the C-axis driving unit 93C around the Y-axis.

[0041] The numerical control machine tool 99a moves the spindle 83 through the X-axis drive unit 93X, the V-axis drive unit 93V, the Y-axis drive unit 93Y, and the Z-axis drive unit 93Z, and changes the posture of the workpiece 78 through the B-axis drive unit 93B and the C-axis drive unit 93C, thereby relatively moving the tool 76 and the workpiece 78. The numerical control machine tool 99a moves the tool 76 and the workpiece 78 relatively and rotates the tool 76 to cut the surface of the workpiece 78. The numerical control machine tool 99a removes unnecessary parts from the workpiece 78, thereby processing the workpiece 78 into a target shape.

[0042] The operation performed by the numerical control machine tool 99a is to drive each axis according to the processing program to realize the processing shape of the workpiece 78 through cutting processing. The success of the processing performed by the numerical control machine tool 99a is determined based on whether the benchmark for defining the processing shape of the workpiece 78 is achieved, specifically, whether the pre-designed shape accuracy and surface accuracy are achieved.

[0043] The X-axis drive unit 93X, the V-axis drive unit 93V, the Y-axis drive unit 93Y and the Z-axis drive unit 93Z each cause the driven part to perform a straight-forward motion. The X-axis, the Y-axis, the Z-axis and the V-axis are each a linear feed axis. In the X-axis drive unit 93X, the V-axis drive unit 93V, the Y-axis drive unit 93Y and the Z-axis drive unit 93Z, the rotational motion of the motor 71, each of which is an actuator, is converted into a straight-forward motion in the driving direction of each linear feed axis by the feed screw 73. The B-axis drive unit 93B and the C-axis drive unit 93C each cause the driven part to rotate. The B-axis and the C-axis are each a rotating axis. In the B-axis drive unit 93B and the C-axis drive unit 93C, the rotational motion of the motor 71 is each transmitted to the driven part using a reducer such as a gear. In the X-axis drive unit 93X, the V-axis drive unit 93V, the Y-axis drive unit 93Y, and the Z-axis drive unit 93Z, the driven parts of the linear motion are supported by the linear guide mechanism 72. In the B-axis drive unit 93B and the C-axis drive unit 93C, the driven parts of the rotational motion are supported by bearings.

[0044] In the numerical control machine tool 99a, the movement of the tool 76 in the three-dimensional space of XYZ, that is, the movement of the tool 76 with three degrees of freedom, is realized by the X-axis, Y-axis, Z-axis, and V-axis, i.e., the linear feed axis. In the numerical control machine tool 99a, the movement of the workpiece 78 with two degrees of freedom is realized by the B-axis and C-axis, i.e., the rotation axis. As a result, in the numerical control machine tool 99a, a total of five degrees of freedom of movement are realized.

[0045] Next, the X-axis drive unit 93X, the V-axis drive unit 93V, the Y-axis drive unit 93Y, the Z-axis drive unit 93Z, the B-axis drive unit 93B, and the C-axis drive unit 93C, which are the drive units constituting the numerical control machine tool 99a, are described. Here, the structure of the drive unit is described by taking the X-axis drive unit 93X as an example. The structures of the V-axis drive unit 93V, the Y-axis drive unit 93Y, and the Z-axis drive unit 93Z are the same as those of the X-axis drive unit 93X. The structures of the B-axis drive unit 93B and the C-axis drive unit 93C are the same as those of the X-axis drive unit 93X, except that there is a difference between linear motion and rotational motion.

[0046] Figure 2 1 is a schematic diagram for explaining the structure of an X-axis drive unit 93X as an axis drive unit constituting the numerical control machine tool 99a according to the first embodiment. Figure 2 As shown, the numerical control machine tool 99a includes a numerical control device 1a for controlling the numerical control machine tool 99a, a servo control unit 6, and a mechanical device unit 96. The mechanical device unit 96 includes a drive mechanism 97 and a mechanical structure 98. Figure 2 The servo control unit 6 and Figure 2The driving mechanism 97 shown constitutes the X-axis driving unit 93X. The mechanical structure 98 is a driven unit driven by the X-axis driving unit 93X. The mechanical structure 98 is moved by the power transmitted from the driving mechanism 97. The numerical control machine tool 99a processes the workpiece 78 using the tool 76 attached to the mechanical structure 98.

[0047] The driving mechanism 97 plays the following role, that is, converting the rotational motion of the motor 71 of the X-axis into a linear motion, and supporting the structure for the conversion. In the X-axis driving unit 93X, the rotational motion of the motor 71 is transmitted to the feed screw 73 via the coupling 74, and converted into a linear motion via the nut 80 and the reducer 79. The linear motion of the feed screw 73 is constrained by the support bearings 75a and 75b. Through the linear motion of the nut 80, the tool 76 is driven in the X direction together with the support body 90 that supports the X-axis. The support body 90 is a general term for the Z-axis and the structure for supporting it, which is sandwiched between the tool 76 and the nut 80. The driving mechanism 97 is set with respect to multiple axes respectively.

[0048] Each axis drive unit of the V-axis drive unit 93V, the Y-axis drive unit 93Y, and the Z-axis drive unit 93Z has the same structure as the X-axis drive unit 93X. In addition, the range of the mechanical structure 98 is different depending on the axis. For example, if the drive mechanism 97 of the Z-axis does not have the function of transforming the movement of the motor 71 of the X-axis when viewed from the X-axis, it is included in the mechanical structure 98 of the X-axis. Each axis drive unit of the B-axis drive unit 93B and the C-axis drive unit 93C has a worm gear mechanism that reduces the rotational motion instead of the feed screw 73. In addition, the B-axis drive unit 93B and the C-axis drive unit 93C each have a bearing that supports the driven part that performs the rotational motion instead of the straight-advance guide mechanism 72.

[0049] The numerical control device 1a controls the mechanical device part 96. The numerical control device 1a outputs the position command Xc of the X axis to the servo control unit 6. The position command Xc represents the position calculated by the numerical control device 1a according to the machining program, and represents the position of the driven part under the desired control state. The position feedback Xd is the position data obtained by multiplying the rotation angle of the motor 71 detected by the rotation angle detector 82 installed on the motor 71 by the thread pitch of the feed thread 73. The position feedback Xd is input to the numerical control device 1a via the servo control unit 6. The numerical control device 1a performs feedback control on the drive mechanism 97 so that the error between the position feedback Xd and the position command Xc becomes smaller. The servo control unit 6 outputs the motor current Ix corresponding to the position command Xc to the motor 71, thereby driving the drive mechanism 97. A mechanical structure 98 including a tool 76 as a control object is connected to the drive mechanism 97.

[0050] The servo control unit 6 performs feedback control to make the position feedback Xd consistent with the position command Xc. However, even if feedback control is performed, sometimes an error will occur between the tip position of the tool 76 and the processing point of the workpiece 78 during processing, and material cutting residue or overcutting will occur in the workpiece 78, thereby causing processing errors.

[0051] Next, the mechanism of the machining error in the numerically controlled machine tool 99a will be described. Here, the following case is taken as an example, that is, the rotation angle of the B-axis driving unit 93B is 0 degrees, the rotation angle of the C-axis driving unit 93C is 0 degrees, and the workpiece 78 is mounted horizontally.

[0052] Figure 3 FIG. 1 is a diagram for explaining an example of a mechanism of occurrence of a machining error in the first embodiment. Figure 3 , a processing error caused by deformation of the support body 90 generated by the movement of the X-axis drive unit 93X is shown, and a processing error that cannot be addressed by feedback control. Figure 3 In FIG. 1 , the mechanical structure 98 in an ideal state where no deformation occurs is indicated by a dotted line.

[0053] When the X-axis drive unit 93X is accelerating or decelerating, the driving force of the motor 71 is transmitted to the support body 90 via the feed screw 73. When the rigidity of the support body 90 is insufficient, the driving force of the motor 71 is transmitted to the support body 90, thereby deforming the support body 90. Due to this deformation, the tool 76 is displaced in the Z direction. The rotation angle detector 82 of the X-axis drive unit 93X can detect the error of the X-axis drive unit 93X generated in the X direction, but on the other hand, it cannot detect the error generated in the Z direction. In addition, this deformation occurs outside the Z-axis drive unit 93Z, so it cannot be detected by the rotation angle detector 82 of the Z-axis drive unit 93Z.

[0054] As a result, since the deformation of the support body 90 cannot be detected by the rotation angle detector 82 of any axis, the feedback control does not work for the deformation. Due to the deformation of the support body 90, the tool 76 bites into the workpiece 78 and generates a processing error. The tool 76 performs a rotational motion, so when interfering with the workpiece 78, the material is scraped from the surface of the workpiece 78 into a circular shape. The generation of the processing error generates a circular processing mark, i.e., a processing error shape. The processing error shape is a shape generated on the processing surface due to the processing error.

[0055] Figure 4 1 is a diagram for explaining a first example of the relationship between the deformation of the mechanical structure 98 and the processing error in the first embodiment. Figure 42 shows an example in which machining is performed using a cylindrical tool 76 called a straight end mill while moving the spindle 83 in the X direction. The moving direction 21 of the tool 76 is the X direction. Figure 4 The machining error shape 20 shown is Figure 4 An example of the shape of a machining error generated when the X-axis drive unit 93X is decelerated at the deceleration position shown. Figure 4 , the XY plane shape of the machining error shape 20 when the machining error shape 20 is observed from the Z direction and the XZ cross section of the machining error shape 20 when the machining error shape 20 is cut along the AA' line. Figure 4 , for reference, a change in shape of the mechanical structure 98 when the spindle 83 is moved in the X direction is schematically shown.

[0056] At the deceleration position, due to the inertial force accompanying the deceleration of the X-axis drive unit 93X, the mechanical structure 98 is deformed in a manner inclined backward in the motion direction 21. Due to the deformation of the mechanical structure 98, the tool 76 sinks into the workpiece 78. The tool 76 sinks into the workpiece 78, whereby the surface of the workpiece 78 is scraped more than necessary. Therefore, at the position where the X-axis drive unit 93X decelerates, a machining error shape 20 that is recessed than the surrounding area is formed. The XY plane shape of the machining error shape 20 is a circle having the same diameter as the outer diameter of the tool 76.

[0057] Figure 5 2 is a diagram for explaining a second example of the relationship between the deformation of the mechanical structure 98 and the processing error in the first embodiment. Figure 5 In, also with Figure 4 Similarly, an example is shown in which machining is performed using the tool 76 which is a straight end mill while moving the spindle 83 in the X direction. The moving direction 21 of the tool 76 is the X direction. Figure 5 The machining error shape 20 shown is Figure 5 An example of the shape of machining errors generated when the X-axis drive unit 93X is accelerated at the acceleration position shown. Figure 5 , the XY plane shape of the machining error shape 20 when the machining error shape 20 is observed from the Z direction, and the XZ cross section of the machining error shape 20 when the machining error shape 20 is cut along the AA' line. Figure 5 , for reference, a change in the posture of the mechanical structure 98 when the spindle 83 is moved in the X direction is schematically shown.

[0058] At the acceleration position, due to the inertial force accompanying the acceleration of the X-axis drive unit 93X, the mechanical structure 98 is deformed in a manner tilted forward in the motion direction 21. Due to the deformation of the mechanical structure 98, the tool 76 floats from the workpiece 78. The tool 76 floats from the workpiece 78, whereby the surface of the workpiece 78 is cut and remains. Therefore, at the position where the X-axis drive unit 93X is accelerated, a machining error shape 20 that is convex than the surroundings is formed. The XY plane shape of the machining error shape 20 is a circle with the same diameter as the outer diameter of the tool 76.

[0059] In addition, Figures 3 to 5 In order to explain the mechanism of the occurrence of processing errors in an easy-to-understand manner, the shape change of the mechanical structure 98 is emphasized. The size of the shape change that occurs in actual processing is, for example, less than or equal to a few hundred microns in a CNC machine tool 99a that processes metals, and less than or equal to a few microns in a high-precision CNC machine tool 99a. It is difficult to visually confirm the posture change of the mechanical structure 98 at the moment when the processing error occurs. However, in the case of a metal processing surface, even if the processing error is about a few microns, the processing error will be felt as a clear feature of the processing surface in the human eye due to changes in the reflection and interference of light. Therefore, sometimes, even if the accuracy of the size is within the design tolerance, the quality of the processing surface observed by the human eye is judged to be insufficient and regarded as poor processing. In the case of poor processing surface quality, the processing is repeated and the workpiece 78 that becomes a defect is discarded, so it is not preferred. As an example of a processing error that gives a feature to the appearance of the processing surface as described above, a stripe pattern caused by the vibration of the mechanical structure 98 or a stripe pattern caused by quadrant protrusions caused by friction is cited.

[0060] exist Figures 3 to 5 , an example of machining error caused by acceleration and deceleration when the motion direction 21 is the X direction is shown. When the motion direction 21 is the Y direction, or when the motion direction 21 is the Z direction, machining error caused by deformation of the mechanical structure 98 also occurs through the same mechanism as when the motion direction 21 is the X direction.

[0061] Figure 6 FIG. 2 is a diagram showing a configuration example of a numerical control device 1a included in a numerical control machine tool 99a according to the first embodiment. Figure 6, a numerical control device 1a and a servo control unit 6 are shown. A machining program created by computer-aided manufacturing (CAM) software or a conversational program creation device is input to the numerical control device 1a. The numerical control device 1a has: a machining program input unit 10 that receives the machining program; an instruction value generation unit 11 that generates position instructions for each axis, i.e., instruction values; a machining error estimation unit 12 that estimates machining errors; a model holding unit 13 that holds a mechanical model; a correction amount calculation unit 14a that calculates correction amounts; and an instruction value output unit 15 that outputs position instructions for each axis, i.e., instruction values.

[0062] The machining program input unit 10 outputs the received machining program to the command value generating unit 11. The command value generating unit 11 calculates the position command of each axis based on the machining program. The command value generating unit 11 outputs the position command of each axis to the machining error estimating unit 12 and the command value output unit 15, respectively.

[0063] The mechanical model is a model that simulates the deformation of the mechanical structure 98 accompanying the movement of the mechanical structure 98 in the directions of each of the multiple axes, that is, in the directions of each axis, and represents the displacement amount of the tool 76 in the directions of each axis, that is, the error amount, caused by the deformation of the mechanical structure 98. The machining error estimating unit 12 reads the mechanical model from the model holding unit 13. The servo control unit 6 outputs the position feedback of each axis to the machining error estimating unit 12. The machining error estimating unit 12 estimates the direction in which the displacement of the tool 76 occurs in each axis direction, that is, the error direction, and the error amount in the error direction based on the axis data and the mechanical model, and outputs machining error information representing the estimated error direction and the estimated error amount. The axis data is data related to the driving of the driving mechanism 97. The axis data is data greater than or equal to one of the speed command of each axis, the acceleration command of each axis, and the state amount of the driving mechanism 97 of each axis, that is, the speed or acceleration. The machining error estimating unit 12 outputs the machining error information to the correction amount calculation unit 14a.

[0064] The correction amount calculation unit 14a reads the mechanical model from the model holding unit 13. The correction amount calculation unit 14a selects one or more axes to be corrected based on the machining error information and the mechanical model. The correction amount calculation unit 14a calculates the correction amount used for correcting the command output to the drive mechanism 97 related to the selected axis. The correction amount calculation unit 14a outputs the information of the correction amount of each axis to the command value output unit 15. The command value output unit 15 corrects the position command of each axis based on the correction amount. The command value output unit 15 outputs the corrected position command of each axis to the servo control unit 6.

[0065] Next, an example of processing performed by the numerically controlled machine tool 99a and an example of a machine model will be described. Figure 7 1 is a diagram for explaining an example of processing performed by the numerically controlled machine tool 99a according to the first embodiment. Figure 7 , a machining situation is schematically shown when a machining path in a simple straight line direction is described in a machining program. Figure 7 The dashed arrow shown indicates the trajectory of the front end of the cutter 76. Figure 7 In the figure, a solid arrow indicating the X direction and a solid arrow indicating the Z direction are shown. The direction indicated by the solid arrow indicating the Z direction is called the positive Z direction, and the direction opposite to the positive Z direction is called the negative Z direction. The direction indicated by the solid arrow indicating the X direction is called the positive X direction, and the direction opposite to the positive X direction is called the negative X direction.

[0066] The numerical control machine tool 99a starts the rotation of the tool 76 at the position P1 which is the program start position. The numerical control machine tool 99a moves the tool 76 in the negative Z direction by driving the Z-axis drive unit 93Z. Thus, the numerical control machine tool 99a moves the tool 76 to the upper surface of the workpiece 78, that is, the processing surface. The numerical control machine tool 99a moves the tool 76 in the positive X direction by driving the X-axis drive unit 93X on the processing surface. When moving the tool 76 in the positive X direction, the numerical control machine tool 99a accelerates the X-axis drive unit 93X and then decelerates the X-axis drive unit 93X.

[0067] When the tool 76 reaches position P2, the CNC machine tool 99a stops the X-axis drive unit 93X. The CNC machine tool 99a drives the Z-axis drive unit 93Z to move the tool 76 in the positive Z direction. As a result, the CNC machine tool 99a pulls the tool 76 away from the processing surface. The CNC machine tool 99a stops the rotation of the tool 76 at position P3, which is the program end position, and ends the processing of the workpiece 78. Figure 7 In the case of the processing shown, the mechanical structure 98 is deformed at the position where the X-axis driving unit 93X is decelerated.

[0068] Figure 8 It is used to Figure 6 FIG. 1 is a diagram for explaining an example of calculation of a machining error performed by the machining error estimating unit 12 of the numerical control device 1a shown in FIG. Figure 8 In the diagram, it is indicated that Figure 7 The machining error is caused by the deceleration of the X-axis driving unit 93X in the machining shown. At the deceleration position, the mechanical structure 98 of the X-axis driving unit 93X as the driven part is deformed in a manner inclined backward in the movement direction due to the inertial force associated with the deceleration of the X-axis driving unit 93X. Figure 8The arrow 23 shown indicates the direction of the inertial force on the mechanical structure 98 when the mechanical structure 98 moves in the positive X direction. Due to the deformation of the mechanical structure 98, the tool 76 bites into the workpiece 78 more than necessary. In the CNC machine tool 99a, the tool 76 bites into the workpiece 78, thereby causing a machining error in which the workpiece 78 is cut excessively. Figure 8 In FIG. 1 , the cutter 76 in an ideal state where the mechanical structure 98 is not deformed is indicated by a dotted line.

[0069] The deformation amount of the mechanical structure 98 in the directions of the X-axis, Y-axis and Z-axis as the linear feed axes, that is, in the directions of the respective axes, is obtained by substituting the axis data of the X-axis drive mechanism 97 into the mechanical model. The mechanical model for calculating the error amount in the directions of the respective axes generated by the driving of the X-axis drive unit 93X is as shown in the following equations (1), (2) and (3), and can be described by a transfer function.

[0070] [Formula 1]

[0071]

[0072] [Formula 2]

[0073] Err yx (s)=0 …(2)

[0074] [Formula 3]

[0075]

[0076] Equations (1), (2), and (3) are mechanical models that simulate the deformation of the mechanical structure 98 accompanying the movement of the mechanical structure 98 in the X direction. Err expressed in equation (1) xx (s) represents the displacement of the tool 76 in the X direction caused by the deformation of the mechanical structure 98, that is, the error amount in the X direction caused by the deformation of the mechanical structure 98. Err expressed in formula (2) yx (s) represents the displacement of the tool 76 in the Y direction caused by the deformation of the mechanical structure 98, that is, the error amount in the Y direction caused by the deformation of the mechanical structure 98. Err expressed in formula (3) zx (s) represents the displacement amount of the tool 76 in the Z direction caused by the deformation of the mechanical structure 98, that is, the error amount in the Z direction caused by the deformation of the mechanical structure 98. s is a Laplace operator.

[0077] In X rx The item with a dot "·" above (s) represents the Laplace transform of the speed command. The speed command is represented by the differential of the position command. fxThe item with a dot "·" above (s) represents the Laplace transform of the speed feedback. The speed feedback is the state quantity of the drive mechanism 97, that is, the speed data. The speed feedback is represented by the differential of the position feedback. K xx , K xz is a coefficient for describing the deformation amount of the mechanical structure 98. x1 ,ω x2 represents the frequency used to describe the deformation of the mechanical structure 98. x1 , x2 is an attenuation coefficient used to describe the deformation of the mechanical structure 98. In the numerical control machine tool 99a, no error amount in the Y direction is generated during the driving of the X-axis drive unit 93X. Therefore, as shown in formula (2), Err yx (s) is "0" regardless of the axis data of the X-axis drive mechanism 97. In each of equations (1) and (3), the axis data related to the X-axis, that is, the speed command and the speed feedback are included as variables.

[0078] In the mechanical model shown in equations (1), (2) and (3), the error amount is described in the frequency domain by Laplace transform. The error amount can be transformed into the time domain using a known method such as inverse Laplace transform. In the following description, the machining error refers to the phenomenon related to the displacement of the tool 76 in the time domain. Err xx Indicates the error amount in the X direction when the mechanical structure 98 moves in the X direction. Err yx Indicates the error amount in the Y direction when the mechanical structure 98 moves in the X direction. zx Indicates the error amount in the Z direction when the mechanical structure 98 moves in the X direction. Figure 8 The arrow 24 shown indicates Err xx , Err yx and Err zx The sum of the errors.

[0079] In addition, the mechanical models shown in equations (1), (2) and (3) are examples. The mechanical model is not limited to the models shown in equations (1), (2) and (3). The mechanical model can use a state space model instead of a transfer function. The mechanical model can be described by a function in a time domain. In the mechanical model, an acceleration command can be used instead of a speed command, and an acceleration feedback can be used instead of a speed feedback. Acceleration feedback is data on the state quantity of the drive mechanism 97, that is, acceleration. In addition, in the mechanical model, the difference between the speed command and the speed feedback can be used instead of the difference between the acceleration command and the acceleration feedback. In the data on the speed as the state quantity, the result obtained by each of the multiple servo control units 6 of the numerical control machine tool 99a, or the result obtained by each of the multiple sensors, can be used. In the data on the acceleration as the state quantity, the result obtained by each of the multiple servo control units 6 of the numerical control machine tool 99a, or the result obtained by each of the multiple sensors, can be used.

[0080] K xx , K xz is any real number. x1 ,ω x2 , x1 , x2 is an arbitrary positive real number. The error amount is an arbitrary positive real number. In equations (1) and (3), as the frequency for describing the deformation amount of the single mechanical structure 98, a common frequency ω is used in each axial direction. x1 ,ω x2 In equations (1) and (3), as the attenuation coefficient for describing the deformation amount of the single mechanical structure 98, a common attenuation coefficient ζ is used in each axial direction. x1 , x2 In the mechanical model, different frequencies for each axis direction can be used, and different attenuation coefficients for each axis direction can also be used.

[0081] Err xx , Err yx and Err zx Each takes a positive value when a machining error occurs in which the tool 76 is displaced in the positive X direction relative to the ideal tool position. xx , Err yx and Err zx Each takes a negative value when a machining error occurs in which the tool 76 is displaced in the negative X direction relative to the ideal tool position. zx When the value is positive, the tool 76 floats from the workpiece 78. zx When a negative value is taken, the tool 76 sinks into the workpiece 78 .

[0082] In formulas (1) and (3), an example of a mechanical model including axis data related to the X axis as a variable is shown. As a mechanical model, a mechanical model including axis data related to an axis other than the X axis, i.e., the Y axis, Z axis, B axis, or C axis, as a variable is also set. In the mechanical model including axis data related to the Y axis, Z axis, B axis, or C axis as a variable, a mechanical model representing the error amount in each axis direction of the X direction, the Y direction, and the Z direction is also included, similarly to the mechanical model including axis data related to the X axis as a variable. That is, as a model for simulating the deformation of the mechanical structure 98 accompanied by the movement of the mechanical structure 98 in each direction of the X axis, the Y axis, the Z axis, the B axis, and the C axis, i.e., each axis direction, a mechanical model representing the error amount in each of the X direction, the Y direction, and the Z direction generated by the deformation of the mechanical structure 98 is set in the numerically controlled machine tool 99a. The set mechanical model is stored in the model holding unit 13. In addition, in the numerically controlled machine tool 99a, a mechanical model can be set only for the axis direction in which the error is significant. In the numerically controlled machine tool 99a, only a mechanical model representing the error amount related to the movement of the mechanical structure 98 in the directions of the X-axis, Y-axis, and Z-axis as linear feed axes may be set.

[0083] Fig. 9 Yes means Figure 6 1 is a diagram showing a configuration example of a correction amount calculation unit 14a included in the numerical control device 1a shown in FIG. The machining error estimation unit 12 outputs machining error information indicating the direction in which the displacement of the tool 76 occurs, i.e., the error direction and the error amount in the error direction, to the correction amount calculation unit 14a. The correction amount calculation unit 14a reads the mechanical model from the model holding unit 13. The correction amount calculation unit 14a includes: an axis selection unit 31a that selects one or more axes to be set as the correction object; and a correction amount calculation unit 32a that calculates the correction amount.

[0084] The axis selection unit 31a selects an axis to be corrected based on the machining error information and the mechanical model. Figure 8 When a machining error occurs, the error directions are X and Z. In this case, the error directions are X and Z and the error amount in the error direction, i.e., Err xx and Err zx The processing error information is input to the axis selection unit 31a. The axis selection unit 31a recognizes that the input processing error information is processing error information related to driving of the X-axis driving unit 93X based on the mechanical model.

[0085] exist Figure 8 In the example shown, Err xxThe error amount component in the direction included in the processing surface among the error amounts indicated by arrow 24. zx The error amount component in the direction perpendicular to the processing surface among the error amounts indicated by arrow 24. xx and Err zx Err xx It does not become a factor of overcutting in the direction perpendicular to the machining surface, or overcutting in the direction perpendicular to the machining surface. In the case of accelerating and decelerating within the radius of the tool 76 by using a tool 76 of a constant radius, even if there is a cutting residue caused by the error component in the direction included in the machining surface, when the cutting residue is processed before and after the part, the cutting residue will also be scraped off. Therefore, the cutting residue caused by the error component in the direction included in the machining surface does not become a machining defect. In addition, even if there is overcutting in the direction included in the machining surface, it does not become a machining error. On the other hand, the machining error caused by the error component in the direction perpendicular to the machining surface causes the cutting residue in the direction perpendicular to the machining surface, or overcutting in the direction perpendicular to the machining surface to occur, which becomes a machining defect and remains. Therefore, the axis selection unit 31a selects the Z direction from the error directions shown in the machining error information, namely the X direction and the Z direction, as the axis set as the correction object.

[0086] As described above, the axis selection unit 31a selects an axis to be corrected based on the mechanical model and the machining error information in each axis direction. The axis selection unit 31a outputs axis information indicating the selected axis to the correction amount calculation unit 32a.

[0087] The correction amount calculation unit 32a receives the machining error information and the axis information. The correction amount calculation unit 32a calculates the correction amount for each axis indicated by the axis information based on the machining error information. Figure 8 In the example shown, the correction amount calculation unit 32a calculates the correction amount for reducing the machining error in the Z direction caused by the driving of the X-axis driving unit 93X based on the axis information indicating the Z direction and the machining error information. That is, the correction amount calculation unit 32a calculates the correction amount Z for correcting the motion of the driven part caused by the Z-axis driving unit 93Z. rc For example, as an example of the calculation of the correction amount, in order to calculate the error amount component in the Z direction, that is, Err zx The driven part moves in the opposite direction, thus making Err zx Offset, cite will - Err zx The correction amount calculation unit 32a calculates a correction amount that can cancel the error amount estimated by the machining error estimation unit 12 for the axis selected as the correction target.

[0088] The correction may be delayed due to a delay in the calculation of the correction amount, a delay in communication, or a response delay of the servo control unit 6 of the Z-axis drive unit 93Z. Alternatively, a correction amount different from the correction amount that can offset the error amount may be calculated. The transfer function until the response of the Z-axis drive unit 93Z to the position command input from the Z-axis drive unit 93Z to the servo control unit 6 is G zm (s), the correction amount calculation unit 32a can use the inverse transfer function of the control system, namely G zm -1 , the output can compensate for the characteristics of the control system, that is, -Err zx G zm -1 The correction amount calculation unit 32a outputs information on the obtained correction amount to the command value output unit 15. The command value output unit 15 corrects the position command of each axis based on the correction amount.

[0089] Next, the operation sequence of the numerical control device 1 a will be described. Fig.10 This is a flowchart showing the operation procedure of the numerical control device 1 a included in the numerical control machine tool 99 a according to the first embodiment.

[0090] In step S1, the machining error estimating unit 12 of the numerical control device 1a reads the mechanical model from the model holding unit 13. In step S2, the machining error estimating unit 12 estimates the error direction and the error amount based on the axis data and the mechanical model, and outputs machining error information. The machining error estimating unit 12 estimates the direction in which the displacement of the tool 76 occurs in each axis direction, that is, the error direction and the error amount in the error direction. The machining error estimating unit 12 outputs machining error information indicating the estimated error direction and the estimated error amount.

[0091] In step S3, the correction amount calculation unit 14a of the numerical control device 1a selects one or more axes to be corrected based on the machining error information through the axis selection unit 31a. In step S4, the correction amount calculation unit 14a calculates the correction amount based on the machining error information through the correction amount calculation unit 32a. The correction amount calculation unit 32a outputs the information of the obtained correction amount to the command value output unit 15.

[0092] In step S5, the command value output unit 15 adds the correction amount to the position command output to the drive mechanism 97 related to the selected axis. The command value output unit 15 adds the correction amount to the position command, thereby correcting the position command. The command value output unit 15 outputs the corrected position command to the servo control unit 6. The numerical control device 1a ends as above. Fig.10 The actions are in the order shown.

[0093] According to the first embodiment, the numerical control device 1a estimates the error direction and the error amount based on the axis data and the mechanical model, and calculates the correction amount. When the numerical control device 1a generates a processing error caused by the deformation of the mechanical structure 98 through the acceleration and deceleration of the axis drive unit of each axis, it is possible to correct only the processing error in the axis direction that affects the processing. The numerical control device 1a does not correct the processing error in the axis direction that does not affect the processing, thereby reducing the deterioration of the processing accuracy caused by unnecessary correction. As described above, the numerical control device 1a and the numerical control machine tool 99a have the effect of reducing the processing error caused by the deformation of the mechanical structure 98.

[0094] Implementation method 2.

[0095] In Embodiment 2, an example of calculating a correction amount that can correct a machining error with high accuracy by simple approximate calculation is described. The structure of the numerical control machine tool 99a involved in Embodiment 2 is the same as the structure of the numerical control machine tool 99a involved in Embodiment 1. In Embodiment 2, the same reference numerals are given to the same structural elements as those in Embodiment 1, and the structure different from Embodiment 1 is mainly described.

[0096] In the first embodiment, the correction amount calculation unit 14a outputs a correction amount that can offset the error amount estimated based on the mechanical model for the axis selected as the correction object. However, sometimes it is difficult to achieve sufficient correction of the machining error by the calculated correction amount due to the delay of the control system. Or, when the inverse transfer function that compensates for the characteristics of the control system is used for the calculation of the correction amount, sometimes the modeling accuracy of the transfer function is low, which affects the accuracy of the correction. When there is a differential term in the inverse transfer function, the correction amount may vibrate.

[0097] In the correction of machining errors, it is important to start the movement for correction without delay at the timing when the machining error actually occurs. Even if overcutting caused by the tool 76 sinking relative to the machining surface occurs once, it cannot be corrected afterwards. On the other hand, in the case where cutting residue occurs due to the tool 76 floating from the machining surface, the tool position is set to an appropriate position while the tool 76 passes over the cutting residue portion, thereby removing the cutting residue portion, so there is room for remedying the machining defect. As described above, regarding overcutting, delay in the correction timing is not allowed. On the other hand, regarding cutting residue, even if a certain amount of delay occurs, the occurrence of machining errors can be avoided.

[0098] Fig.11 1 is a diagram showing a configuration example of a correction amount calculation unit 32b included in a correction amount calculation unit 14a of a numerical control device 1a according to Embodiment 2. In Embodiment 2, the correction amount calculation unit 14a includes Fig. 9The correction amount calculation unit 32a shown is different from the correction amount calculation unit 32b.

[0099] The correction amount calculation unit 32b generates an allowable cutting residue by increasing the correction amount compared to the actual expected error amount. That is, the correction amount calculation unit 32b calculates the correction amount that can be used to process the cutting residue by the movement before and after the correction, while preventing overcutting caused by the movement for correction from occurring and causing cutting residue caused by the movement for correction from occurring.

[0100] The correction amount calculation unit 32b includes a reference correction amount calculation unit 33, a clamping unit 34, and a change rate calculation unit 35. The reference correction amount calculation unit 33 calculates the reference correction amount, which is the reference value of the correction amount, based on the axis information and the processing error information related to each axis direction. zx For example, the reference correction amount is -αErr zx α is an arbitrary real number. The reference correction amount calculation unit 33 sets Err zx Set to negative -Err zx Multiply by α to find -αErr zx The value of α is determined by searching for a condition where no cutting residue occurs while actually performing the correction and measuring the shape after the machining. The reference correction amount calculation unit 33 outputs information on the reference correction amount to the clamping unit 34 .

[0101] The clamping part 34 exceeds the upper limit of the correction amount, i.e., Z rxlim+ The upper limit of the reference correction amount is Z rxlim+ Alternatively, the clamping portion 34 is below the lower limit value Z of the correction amount. rxlim- The lower limit of the reference correction amount is Z rxlim- The absolute value of the upper limit value and the absolute value of the lower limit value may be the same as or different from each other. The clamping portion 34 is not limited to setting both the upper limit value and the lower limit value. It is also possible to set only one of the upper limit value and the lower limit value in the clamping portion 34. It is possible to set -Err at the upper limit value zx The maximum value of Err can be set at the lower limit. zx The correction amount that does not cause a machining error can be obtained through experiments, and the upper limit and lower limit are set based on the obtained correction amount. The clamping unit 34 outputs information on the correction amount after clamping to the change rate calculation unit 35.

[0102] The correction amount calculation unit 14a includes a correction amount calculation unit 32b including a clamping unit 34, and outputs a correction amount after clamping based on at least one of an upper limit value and a lower limit value. The correction amount calculation unit 14a does not output a correction amount greater than the upper limit value or a correction amount less than the lower limit value through the clamping process in the clamping unit 34.

[0103] The rate of change calculation unit 35 calculates the rate of change of the correction amount. The rate of change calculation unit 35 calculates the rate of change when the correction amount is changed from 0 to the correction amount after clamping and the rate of change when the correction amount is changed from the correction amount after clamping to 0. For example, the rate of change calculation unit 35 sets the time when the X-axis drive unit 93X starts to change the acceleration as t=0, and calculates the rate of change when the correction amount is linearly changed relative to the time t until the correction amount after clamping. The rate of change calculation unit 35 can calculate the rate of change by any function such as a linear function, a quadratic function, a trigonometric function, or an exponential function, or can calculate the rate of change by an approximate formula based on a combination of these functions. The rate of change calculation unit 35 outputs the correction amount that changes according to the calculated rate of change.

[0104] Fig.12 It is used to Fig.11 FIG. 1 is a diagram for explaining an example of calculation of a correction amount performed by the correction amount calculation unit 32b shown in FIG. Fig.12 In FIG. 1 , an outline of the approximate calculation of the correction amount performed in the correction amount calculation unit 32 b is represented by a graph. Fig.12 The vertical axis of each curve in (a), (b), and (c) represents the correction amount in the Z direction, that is, Z rc . Fig.12 The horizontal axis of each of the graphs (a), (b), and (c) represents time t.

[0105] exist Fig.12 (a) shows the error component in the Z direction, i.e., Err zx Negative - Err zx The curve of represents the reference correction amount calculated by the reference correction amount calculation unit 33, that is, -αErr zx The numerical control device 1a can perform correction corresponding to the error amount actually generated at the start or end of correction by calculating the reference correction amount in the reference correction amount calculation unit 33, and can eliminate the delay of correction.

[0106] exist Fig.12 (b) shows the curve of the correction amount after the clamping process by the clamping part 34 as a solid line. Here, the upper limit value Z is shown. rxlim+ To-αErr zxResults after clamping The numerical control device 1a does not output a correction amount greater than the upper limit or less than the lower limit by clamping the clamping part 34. Thus, the numerical control device 1a can avoid the occurrence of incompletely processed cutting residues before and after acceleration and deceleration.

[0107] exist Fig.12 In (c), a curve showing the correction amount after the clamping process is shown by a solid line when the correction amount is changed according to the change rate calculated by the change rate calculation unit 35. rxlim+ Until then, the correction amount increases at a constant rate of change. rxlim+ After that, the correction amount decreases at a constant rate of change. The numerical control device 1a changes the correction amount according to the rate of change calculated by the rate of change calculation unit 35, thereby being able to obtain the correction amount by simple calculation.

[0108] In the above description, the correction amount calculation unit 32b calculates the correction amount based on −Err zx The correction amount is calculated, but the present invention is not limited to this. The correction amount calculation unit 32b may also calculate the correction amount based on −Err which is a correction amount that can compensate for the characteristics of the control system. zx G zm -1 In the above description, the correction amount calculation unit 32b is provided with the clamping unit 34 and the change rate calculation unit 35, but one of the clamping unit 34 and the change rate calculation unit 35 may be omitted in the correction amount calculation unit 32b.

[0109] In the second embodiment, the correction amount calculation unit 14a can output the correction amount when the tool 76 is toward the machined surface in the error direction, and set the correction amount to zero when the tool 76 is away from the machined surface in the error direction. In this case, the numerical control device 1a only corrects the overcutting and does not correct the cutting residue. Thus, the numerical control device 1a can reduce the machining error that becomes a visible scratch in visual observation.

[0110] According to the second embodiment, there is an effect that the numerical control device 1a and the numerical control machine tool 99a can calculate a correction amount capable of correcting a machining error with high accuracy by simple approximate calculation when strict modeling of the machining error is difficult.

[0111] Implementation method 3.

[0112] In Embodiment 3, an example of performing correction time adjustment for maintaining the correction amount for a certain time is described. The structure of the numerical control machine tool 99a involved in Embodiment 3 is the same as the structure of the numerical control machine tool 99a involved in Embodiment 1. In Embodiment 3, the same reference numerals are given to the same structural elements as those in Embodiment 1 or 2, and the structure different from Embodiment 1 or 2 is mainly described.

[0113] Fig.13 14c is a diagram showing a configuration example of a correction amount calculation unit 14c included in a numerical control device 1a according to a third embodiment. Figure 6 and Fig. 9 The correction amount calculation unit 14a shown in the figure has a correction amount calculation unit 14c. The correction amount calculation unit 14c has Fig. 9 The axis selection unit 31a shown in the figure is different from the axis selection unit 31c and the axis selection unit 31c shown in the figure is different from the axis selection unit 31a Fig. 9 The correction amount calculation unit 32a shown is different from the correction amount calculation unit 32c.

[0114] The machining error estimation unit 12 outputs machining error information indicating the direction in which the displacement of the tool 76 occurs, that is, the error direction and the error amount in the error direction, to the correction amount calculation unit 14c. The correction amount calculation unit 14c reads the mechanical model from the model holding unit 13. The axis selection unit 31c selects one or more axes to be set as the correction object based on the machining error information and the mechanical model. The axis selection unit 31c outputs the axis information indicating the selected axis to the correction amount calculation unit 32c. The machining error information and the axis information are input to the correction amount calculation unit 32c. The correction amount calculation unit 32c calculates the correction amount related to each axis indicated by the axis information based on the machining error information.

[0115] Next, an example of processing performed by the numerically controlled machine tool 99 a and an example of calculation of the correction amount will be described. Fig.14 1 is a diagram for explaining an example of processing performed by the numerically controlled machine tool 99a according to the third embodiment. Fig.14 , an example of the trajectory of the tool 76 when the tool 76 is moved in the XY plane to machine the machined surface of the workpiece 78 is shown. Fig.14 The dashed arrows shown indicate the trajectory of the tool 76. In this processing, it is assumed that the tool 76 is not moved in the Z direction.

[0116] The tool 76 starts to move from a processing start position P4 outside the workpiece 78, changes the movement direction at the corner, and moves counterclockwise along a spiral processing path from the outer periphery of the workpiece 78 toward the center of the workpiece 78. The tool 76 processes the surface of the workpiece 78 while moving counterclockwise along the spiral processing path. The tool 76 processes the surface of the workpiece 78 until it reaches a processing end position P5 near the center of the workpiece 78 in the XY plane.

[0117] At the position where the moving direction of the tool 76 changes, the X-axis driving unit 93X or the Y-axis driving unit 93Y accelerates or decelerates. Fig.14 The solid circle 25 shows a machining error shape caused by overcutting of the machined surface. The machining error shape shown by the circle 25 is caused by the tool 76 sinking relative to the machined surface during acceleration and deceleration. Fig.14 The dotted circle 26 shown in the figure represents the machining error shape formed by the cutting residue of the machined surface. The machining error shape represented by the circle 26 is generated when the tool 76 floats from the machined surface during acceleration and deceleration. Fig.14 As shown, the machining error shape indicated by circle 25 is generated in the half of the machined surface on the positive X direction side. The machining error shape indicated by circle 26 is generated in the half of the machined surface on the negative X direction side.

[0118] By driving the X-axis driving unit 93X, Err is generated in the X direction. xx The processing error in the Y direction generates Err yx The machining error generates Err in the Z direction. zx The Y-axis drive unit 93Y generates Err in the X direction. xy The processing error in the Y direction generates Err yy The machining error generates Err in the Z direction. zy The machining error estimation unit 12 calculates the error amount of each machining error based on the axis data and the mechanical model. zx and Err zy Each is the error component in the direction perpendicular to the machined surface. Fig.14 In the case of the machining shown in FIG. 1 , the axis selection unit 31 c selects the Z direction as the axis to be corrected.

[0119] The correction amount calculation unit 32c receives the machining error information and the axis information. The correction amount calculation unit 32c calculates the correction amount for each axis indicated by the axis information based on the machining error information. Fig.14In the example shown, the correction amount calculation unit 32c calculates the correction amount for correcting the machining error in the Z direction caused by the driving of the X-axis driving unit 93X and the machining error in the Z direction caused by the driving of the Y-axis driving unit 93Y based on the axis information indicating the Z direction and the machining error information. That is, the correction amount calculation unit 32c calculates the correction amount Z for correcting the motion of the driven part by the Z-axis driving unit 93Z. rc Perform calculations.

[0120] Fig.15 Yes means Fig.13 The correction amount calculation unit 32c and the correction amount calculation unit 14c are shown in FIG. Fig.11 The correction amount calculation unit 32 b shown in the figure similarly includes a reference correction amount calculation unit 33 , a clamping unit 34 , and a change rate calculation unit 35 . Furthermore, the correction amount calculation unit 32 c includes a correction time adjustment unit 36 ​​.

[0121] The reference correction amount calculation unit 33 calculates a reference correction amount, which is a reference value of the correction amount, based on the axis information and the machining error information related to each axis direction. zx The obtained reference correction amount is -α x Err zx According to Err zy The obtained reference correction amount is -α y Err zy α x , α y The reference correction amount calculation unit 33 outputs information on the reference correction amount to the clamp unit 34 .

[0122] The clamping part 34 exceeds the upper limit of the correction amount, i.e., Z rxlim+ , Z rylim+ The upper limit of the reference correction amount is Z rxlim+ , Z rylim+ Alternatively, the clamping portion 34 is below the lower limit value Z of the correction amount. rxlim- , Z rylim- The lower limit of the reference correction amount is Z rxlim- , Z rylim- Clamping process. rxlim+ It is the upper limit value of the correction amount for the machining error in the Z direction generated by driving the X-axis driving unit 93X. rylim+ It is the upper limit value of the correction amount for the machining error in the Z direction generated by driving the Y-axis driving unit 93Y. rxlim- It is the lower limit value of the correction amount for the machining error in the Z direction generated by driving the X-axis driving unit 93X. rylim-It is the lower limit value of the correction amount for the machining error in the Z direction generated by driving the Y-axis driving unit 93Y. The clamping unit 34 outputs information on the correction amount after clamping to the change rate calculation unit 35 .

[0123] The change rate calculation unit 35 calculates the change rate of the correction amount. The change rate calculation unit 35 outputs the correction amount after the change according to the calculated change rate to the correction time adjustment unit 36. The correction time adjustment unit 36 ​​adjusts the correction amount to be maintained for a certain time when the correction amount reaches the upper limit or lower limit, which is the reference of the clamping process. The correction amount calculation unit 14c includes a correction amount calculation unit 32c including the correction time adjustment unit 36, and thus the correction amount is maintained for a certain time when the correction amount reaches the upper limit or lower limit, which is the reference of the clamping process.

[0124] Fig.16 It is used to Fig.15 FIG. 1 is a diagram for explaining an example of calculation of a correction amount performed by the correction amount calculation unit 32c shown in FIG. Fig.16 In FIG. 1 , an outline of the approximate calculation of the correction amount performed in the correction amount calculation unit 32 c is represented by a curve. Fig.16 The vertical axis of each curve in (a), (b), and (c) represents the correction amount Z in the Z direction. rc . Fig.16 The horizontal axis of each of the graphs (a), (b), and (c) represents time t.

[0125] exist Fig.16 (a) shows the error component in the Z direction, i.e., Err zx , Err zy Negative - Err zx , -Err zy The curve of represents the reference correction amount calculated by the reference correction amount calculation unit 33, that is, -α x Err zx , -α y Err zy The numerical control device 1a can perform correction corresponding to the error amount actually generated at the start or end of correction by calculating the reference correction amount in the reference correction amount calculation unit 33, and can eliminate the delay of correction.

[0126] exist Fig.16 (b) of FIG. 1 shows a curve representing the correction amount after the processing performed by the clamping unit 34 and the processing performed by the change rate calculation unit 35 by a solid line. Fig.16 The solid line curve in (b) shows the correction amount when the correction amount after the clamping process is changed according to the change rate calculated by the change rate calculation unit 35. Here, the correction amount after the clamping process is changed according to the change rate calculated by the Z as the upper limit value. rxlim+ Yes - αx Err zx The result of the correction amount change after the clamping process is obtained, and the Z value which is the upper limit value is set according to the change rate. rylim+ Yes - α y Err zy The result obtained by changing the correction amount after clamping. rxlim+ and Z rylim+ are set to different values. In addition, Z rxlim- and Z rylim- are all set to 0. The numerical control device 1a performs the clamping process in the clamping part 34 so that the correction amount greater than the upper limit value or the correction amount less than the lower limit value is not output. As a result, the numerical control device 1a can avoid the occurrence of incompletely processed cutting residues before and after acceleration and deceleration. The numerical control device 1a changes the correction amount according to the change rate calculated in the change rate calculation part 35, thereby being able to obtain the correction amount through simple calculation.

[0127] exist Fig.16 In (c), a curve representing the correction amount after adjustment by the correction time adjustment unit 36 ​​is represented by a solid line. Fig.16 In the example shown in (c), the correction amount is maintained at Z rxlim+ Time and Fig.16 The correction amount shown by the solid line in (b) is extended compared to the case in which Fig.16 In the example shown in (c), the correction amount is maintained at Z rylim+ Time and Fig.16 The correction amount is maintained at Z. rxlim+ The time and correction amount are maintained at Z rylim+ Here, an example of adjusting the time for which the correction amount is maintained at the upper limit value is shown, but the correction time adjustment unit 36 ​​adjusts the time for which the correction amount is maintained at the lower limit value with respect to the correction amount after the clamping process involved in the lower limit value.

[0128] The numerical control device 1a maintains the correction amount for a certain period of time when the correction amount reaches the upper limit or the lower limit, thereby performing processing of the corner without reducing the correction amount in a portion where processing errors may continuously occur, such as a corner. The numerical control device 1a can avoid the generation of scratches caused by overshoot when the motion for correcting the processing error, i.e., the correction motion, is repeated between short distances. Thus, the numerical control device 1a can prevent the quality of the processed surface from being degraded.

[0129] When a machining error is caused by the rise of the tool 76 from the machining surface, the tool 76 may sink relative to the machining surface due to overshoot when the raised tool 76 returns to the machining surface. The correction amount calculation unit 14c may calculate the correction amount for preventing overcutting of the machining surface caused by overshoot. In this case, the α used for calculating the reference correction amount in the reference correction amount calculation unit 33 is x , α y By setting it to a negative value, the numerical control device 1a can reduce the machining error caused by overshoot.

[0130] According to Embodiment 3, when the correction amount reaches the upper limit or the lower limit, the numerical control device 1a and the numerical control machine tool 99a maintain the correction amount for a certain period of time. Thus, the numerical control device 1a and the numerical control machine tool 99a have the following effect, that is, it is possible to calculate an appropriate correction amount that can reduce the occurrence of scratches in a portion that may continuously generate a machining error.

[0131] Implementation method 4.

[0132] In implementation mode 4, Figure 1 An example of calculation of the correction amount in a numerically controlled machine tool having a different structure from the numerically controlled machine tool 99a shown will be described. Fig.17 1 is a diagram showing a structural example of a numerically controlled machine tool 99d according to Embodiment 4. The numerically controlled machine tool 99d is a machine tool that drives axes according to a machining program. The numerically controlled machine tool 99d is a lathe-type 5-axis compound processing machine having 3 linear feed axes and 2 rotation axes. In Embodiment 4, the same reference numerals are given to the same structural elements as those in Embodiments 1 to 3, and the structures different from Embodiments 1 to 3 are mainly described.

[0133] The numerical control machine tool 99d has an X-axis drive unit 93X, a Y-axis drive unit 93Y, a Z-axis drive unit 93Z, an A-axis drive unit 93A, and a C-axis drive unit 93C. The X-axis, Y-axis, Z-axis, and V-axis are each a linear feed axis. The A-axis and C-axis are each a rotation axis. The numerical control machine tool 99d moves the tool 76 in the X-direction, the Y-direction, and the Z-direction by driving the X-axis drive unit 93X, the Y-axis drive unit 93Y, and the Z-axis drive unit 93Z. The A-axis drive unit 93A rotates the tool 76 around the Y-axis. The C-axis drive unit 93C rotates the workpiece 78 around the Z-axis. The X-axis drive unit 93X has a structure called a tilt axis. The numerical control machine tool 99d moves the tool 76 in the X-direction by driving the X-axis drive unit 93X and the Y-axis drive unit 93Y at the same time.

[0134] CNC machine tool 99d and Figure 1The difference of the numerical control machine tool 99a shown is that it has an A-axis drive unit 93A that rotates the X-axis drive unit 93X as the tilting axis and the tool 76, so that the tool axis direction and the drive axis direction are inconsistent. Therefore, the direction of the processing surface and the error direction of the processing error in the numerical control machine tool 99d are greatly different from those in the numerical control machine tool 99a. In addition, the numerical control device 1a of the numerical control machine tool 99d has the same Figure 6 The numerical control device 1a shown has the same structure.

[0135] Next, a calculation example of a machining error performed by the numerical control device 1 a will be described. Fig.18 1 is a diagram for explaining an example of calculation of a machining error performed by the numerical control device 1a included in the numerical control machine tool 99d according to the fourth embodiment. Fig.18 , the processing surface 41 perpendicular to the tool axis is processed in a state where the angle θ as the A axis is 45 degrees. Arrow 42 indicates the processing direction. The processing direction is an oblique direction between the positive X direction and the negative Z direction. Fig.18 FIG. 2 schematically shows a case where a machining error occurs when the tool 76 sinks relative to the machining surface 41 during machining of the machining surface 41. Fig.18 In FIG. 1 , the cutter 76 in an ideal state where the mechanical structure 98 is not deformed is indicated by a dotted line.

[0136] exist Fig.18 In the processing shown in the figure, the X-axis drive unit 93X, the Y-axis drive unit 93Y and the Z-axis drive unit 93Z are driven simultaneously. By driving the X-axis drive unit 93X, Err xx The processing error in the Y direction generates Err yx The machining error generates Err in the Z direction. zx The Y-axis drive unit 93Y generates Err in the X direction. xy The processing error in the Y direction generates Err yy The machining error generates Err in the Z direction. zy The Z-axis drive unit 93Z drives the X-axis drive unit 93 to generate Err in the X direction. xz The processing error in the Y direction generates Err yz The machining error generates Err in the Z direction. zz processing error.

[0137] In the fourth embodiment, the correction amount calculation unit 14a of the numerical control device 1a has Fig. 9 The axis selection unit 31a has the same configuration as the correction amount calculation unit 14a shown in FIG. The axis selection unit 31a selects one or more axes to be corrected based on the machining error information and the machine model.

[0138] In the CNC machine tool 99d, the total error amount generated in the X direction is Err X The total error amount in the Y direction in the numerically controlled machine tool 99d, i.e., Err Y The total error amount in the Z direction, Err, is obtained by the following equation (5). Z It is obtained by the following formula (6). In addition, Fig.18 The arrow 43 shown indicates Err X , Err Y and Err Z The sum of the errors.

[0139] [Formula 4]

[0140] Err X =Err xx +Err xy +Err xz …(4)

[0141] [Formula 5]

[0142] Err Y =Err yx +Err yy +Err yz …(5)

[0143] [Formula 6]

[0144] Err Z =Err zx +Err zy +Err zz …(6)

[0145] The longer the distance between the center of gravity of the mechanical structure 98 and the driving point of the mechanical structure 98 is, the greater the deformation is likely to occur. Therefore, in the numerical control machine tool 99d, the mechanical structure 98 is likely to be deformed in the X direction and the Z direction due to the driving of the X-axis driving unit 93X and the driving of the Z-axis driving unit 93Z. For example, in Err X and Err Z When one of the two causes a dominant machining error, the correction amount calculation unit 14a can calculate the correction amount in the same manner as in the first or second embodiment. X Contribution and Err Z When the contribution of the correction amount calculation unit 14a produces the same degree of machining error, the correction amount calculation unit 14a needs to calculate the error amount generated in the direction perpendicular to the machining surface 41.

[0146] The error amount Err generated in the direction perpendicular to the processing surface 41 N It is obtained by the following formula (7).

[0147] [Formula 7]

[0148]

[0149] φ satisfies the following formula (8).

[0150] [Formula 8]

[0151]

[0152] The correction amount calculation unit 32a generates Err in a direction perpendicular to the processing surface 41. N In the case of Err N Offset - Err N The correction amount calculation unit 32a uses the following equations (9), (10), and (11) to calculate −Err N The correction amount in the X direction is X rc , the correction amount in the Y direction is Y rc and the correction amount in the Z direction, i.e., Z rc δ is the angle between the X-axis and the Y-axis. Here, δ=π / 4 (rad).

[0153] [Formula 9]

[0154] X rc =-Err N sinθsinδ …(9)

[0155] [Formula 10]

[0156] Y rc =-Err N sinθcosδ …(10)

[0157] [Formula 11]

[0158] Z rc =-Err N cosθ …(11)

[0159] In the above description, the numerical control device 1a has the same configuration as that of the first embodiment, but the present invention is not limited thereto. The configuration of the numerical control device 1a in the fourth embodiment may be the same as that of the second embodiment or the third embodiment.

[0160] According to Embodiment 4, the numerical control device 1a and the numerical control machine tool 99d can calculate an appropriate correction amount even when the tool axis direction and the drive axis direction of the numerical control machine tool 99d are inconsistent.

[0161] Implementation method 5.

[0162] In the fifth embodiment, an example in which a machining program for correcting a machining error is generated by a machining program generating device will be described. Fig.19 This is a diagram showing a configuration example of a machining program generating device 2 according to Embodiment 5. In Embodiment 5, the same components as those of Embodiments 1 to 4 are denoted by the same reference numerals, and configurations different from Embodiments 1 to 4 will be mainly described.

[0163] The machining program generation device 2 is a device for creating a machining program for correcting machining errors of a numerically controlled machine tool. The machining program generation device 2 is an attached program attached to CAM software or a conversational program creation device, etc., for editing a machining program. The machining program generation device 2 implements a change for correcting machining errors on a machining program based on shape data of a designated machining shape, thereby generating a machining program for correcting machining errors. Hereinafter, the machining program before the change is the machining program before the change for correcting machining errors is implemented.

[0164] The machining program generating device 2 comprises: a machining program input unit 10, which receives the machining program before the change; a machining error estimating unit 12, which estimates the machining error; a model holding unit 13, which holds the mechanical model; a correction amount calculating unit 14a, which calculates the correction amount; a simulation unit 51, which simulates the action of the CNC machine tool 99e; and a machining program correcting unit 52, which corrects the machining program before the change according to the correction amount.

[0165] The processing program input unit 10 outputs the received processing program before change to the simulation unit 51 and the processing program correction unit 52, respectively. The simulation unit 51 simulates the behavior of the numerical control device of the numerical control machine tool 99e and the behavior of the servo control device of the numerical control machine tool 99e, that is, the servo control unit 6 of each axis, based on the processing program before change. The simulation unit 51 calculates the axis data based on the processing path analyzed from the processing program before the correction amount is recorded, that is, the processing program before change. The simulation unit 51 uses a known simulation method related to the servo control device to calculate the state quantity of each axis such as position feedback, velocity feedback or acceleration feedback. The simulation unit 51 outputs the state quantity of each axis, that is, the axis data, to the processing error estimation unit 12.

[0166] The machining error estimating unit 12 reads the mechanical model from the model holding unit 13. The machining error estimating unit 12 estimates the direction in which the tool 76 is displaced in each axis direction, that is, the error direction and the error amount in the error direction, based on the axis data and the mechanical model, and outputs machining error information indicating the estimated error direction and the estimated error amount. The machining error estimating unit 12 calculates the error amount in each axis direction similarly to the case of the first embodiment based on the acceleration feedback obtained from the simulation unit 51, for example. The machining error estimating unit 12 outputs the machining error information to the correction amount calculation unit 14a.

[0167] The correction amount calculation unit 14a reads the mechanical model from the model holding unit 13. The correction amount calculation unit 14a selects one or more axes to be corrected based on the machining error information, and calculates the correction amount for correcting the motion generated by the drive mechanism 97 related to the selected axis. Fig. 9 The axis selection unit 31a shown in FIG. 1 selects an axis to be corrected based on the machine model and the machining error information in each axis direction. The correction amount calculation unit 14a selects an axis to be corrected based on the machine model and the machining error information in each axis direction. Fig. 9 The correction amount calculation unit 32a shown calculates the correction amount for each axis indicated by the axis information based on the machining error information. The correction amount calculation unit 32a outputs the information of the calculated correction amount to the machining program correction unit 52.

[0168] The machining program correction unit 52 adds a correction motion for correcting the machining error according to the correction amount to the machining program before the change, thereby correcting the machining program before the change according to the correction amount. The machining program correction unit 52 outputs the machining program after the change to which the correction motion is added, that is, the changed machining program, to the CNC machine tool 99e. The CNC machine tool 99e has Figure 1 The numerical control device of the numerical control machine tool 99e controls the drive mechanism 97 according to the changed processing program. The numerical control device of the numerical control machine tool 99e includes: a processing program input unit, which is input with the changed processing program; an instruction value generating unit, which generates the position instruction of each axis, i.e., the instruction value, according to the changed processing program; and an instruction value output unit, which outputs the position instruction of each axis, i.e., the instruction value, to the servo control unit 6.

[0169] Next, the operation procedure of the machining program generating device 2 will be described. Fig. 20 This is a flowchart showing the operation procedure of the machining program generating device 2 according to the fifth embodiment.

[0170] In step S11 , the simulation unit 51 of the machining program generating device 2 calculates the axis data based on the machining program before change. The simulation unit 51 outputs the axis data to the machining error estimating unit 12 .

[0171] In step S12, the machining error estimating unit 12 reads the mechanical model from the model holding unit 13. In step S13, the machining error estimating unit 12 estimates the error direction and the error amount based on the axis data and the mechanical model, and outputs machining error information. The machining error estimating unit 12 estimates the direction in which the displacement of the tool 76 occurs in each axis direction, that is, the error direction and the error amount in the error direction. The machining error estimating unit 12 outputs machining error information indicating the estimated error direction and the estimated error amount.

[0172] In step S14, the correction amount calculation unit 14a of the machining program generation device 2 selects one or more axes to be corrected based on the machining error information through the axis selection unit 31a. In step S15, the correction amount calculation unit 14a calculates the correction amount based on the machining error information through the correction amount calculation unit 32a. The correction amount calculation unit 32a outputs the information of the obtained correction amount to the machining program correction unit 52.

[0173] The machining program correction unit 52 adds the correction motion for correcting the machining error according to the correction amount to the machining program before the change, thereby correcting the machining program before the change according to the correction amount. In step S16, the machining program correction unit 52 outputs the machining program corrected according to the correction amount, that is, the machining program after the change. Fig. 20 The actions are in the order shown.

[0174] Fig.21 FIG. 1 is a diagram for explaining a first example of a machining program generated by the machining program generating device 2 according to the fifth embodiment. Fig.21 , an example of a machining path indicated by a machining program before the change and an example of a machining path indicated by a machining program after the change are shown. Fig.21 The machining pass shown is the machining pass at the corner.

[0175] Fig.21 The path 53 shown is a machining path shown in the machining program before the change. The path 53 is a path that passes through five points, P10, P11, P14, P17, and P18 in sequence. Fig.21 The path 54 shown is a machining path shown in the modified machining program. In the path 54, a path passing through P11, P12, P13, and P14 in sequence is included instead of the straight path between P11 and P14 in the path 53. In addition, in the path 54, a path passing through P14, P15, P16, and P17 in sequence is included instead of the straight path between P14 and P17 in the path 53.

[0176] The machining program correction unit 52 adds P11, which is the point where the tool 76 starts moving in the Z direction toward P12, to the machining program before the change. The machining program correction unit 52 adds a description of the motion that causes the tool 76 to move from P11 to P12, P13, and P14 in sequence to the machining program before the change. The machining program correction unit 52 adds P17, which is the point where the tool 76 ends moving in the Z direction from P16, to the machining program before the change. The machining program correction unit 52 adds a description of the motion that causes the tool 76 to move from P14 to P15, P16, and P17 in sequence to the machining program before the change.

[0177] The machining program correction unit 52 makes the Fig.12 The correction amount calculated by the method described above is reflected on the path passing through P11, P12, P13, and P14 in sequence and the path passing through P14, P15, P16, and P17 in sequence. Fig.21 In FIG. 5 , a path 55 in which a reference correction amount is used instead of the correction amount calculated by the correction amount calculation unit 32 b is indicated by a dotted line as a reference.

[0178] Fig. 22 1 is a diagram for explaining the correction of the machining program performed by the machining program correction unit 52 of the machining program generating device 2 according to the fifth embodiment. Fig. 22 , a machining program 56 as an example of a machining program before the change and a machining program 57 as an example of a machining program after the change are shown. The two parts surrounded by the dotted line in the machining program 57 are each a program added for the correction movement. One of the two parts surrounded by the dotted line is a part in which the correction movement for moving the tool 76 from P11 to P12, P13 and P14 in sequence is recorded. The other of the two parts surrounded by the dotted line is a part in which the correction movement for moving the tool 76 from P14 to P15, P16 and P17 in sequence is recorded.

[0179] The machining program generating device 2 can perform correction time adjustment to maintain the correction amount for a certain period of time, similarly to the third embodiment. Fig.23 This is a diagram for explaining a second example of a machining program generated by the machining program generating device 2 according to the fifth embodiment.

[0180] In the machining program generating device 2, instead of Fig.19 The correction amount calculation unit 14a shown in FIG. Fig.13 The correction amount calculation unit 14c shown in FIG. Fig.15The correction amount calculation unit 14c includes the correction amount calculation unit 32c including the correction time adjustment unit 36, and when the correction amount reaches the upper limit or lower limit, which is a reference for the clamping process, the correction amount is maintained for a certain time.

[0181] For example, when the processing program correction unit 52 is used Fig.21 In the case where the machining path is corrected as shown, two correction movements are performed continuously within a range of 2 mm at the corner. In this case, a short-distance correction movement is repeated at the corner. Fig.23 In the example shown, the machining program creation device 2 calculates the correction amount to be maintained at the upper limit value for a certain period of time by the correction amount calculation unit 14c, thereby combining the two correction movements into one correction movement and adding it to the machining program before change.

[0182] Fig.23 The path 58 shown is a machining path shown in the modified machining program. The path 58 includes a path that sequentially passes through P11, P12, P14, P16, and P17 instead of the path that sequentially passes through P11, P14, and P17 in the path 53.

[0183] When the correction amount reaches the upper limit or the lower limit, the machining program generation device 2 maintains the correction amount for a certain period of time, thereby performing machining of the corner without reducing the correction amount in a portion where machining errors may continuously occur, such as a corner. The machining program generation device 2 can avoid the generation of scratches caused by overshoot when the correction motion is repeated over a short distance. Thus, the machining program generation device 2 can prevent the quality of the machined surface from being degraded.

[0184] According to the fifth embodiment, the machining program generation device 2 estimates the error direction and the error amount based on the axis data and the mechanical model, and calculates the correction amount. When the machining error caused by the deformation of the mechanical structure 98 is generated by the acceleration and deceleration of the axis drive unit of each axis, the machining program generation device 2 can correct only the machining error in the axis direction that affects the machining. The machining program generation device 2 does not correct the machining error in the axis direction that does not affect the machining, thereby reducing the deterioration of the machining accuracy caused by unnecessary correction. As described above, the machining program generation device 2 has the effect of reducing the machining error caused by the deformation of the mechanical structure 98.

[0185] Implementation method 6.

[0186] In Embodiment 6, an example of learning a mechanical model through machine learning is described. Fig.241 is a diagram showing a configuration example of a numerical control device 1f according to Embodiment 6. In Embodiment 6, the same reference numerals are given to the same configuration elements as those in Embodiments 1 to 5, and the configurations different from Embodiments 1 to 5 will be mainly described. Fig.24 The numerical control device 1f, the servo control unit 6 and the mechanical device unit 96 are shown in FIG.

[0187] The numerical control device 1f has Figure 6 The numerical control device 1f has the same structure as the numerical control device 1a shown in the figure, namely, the machining program input unit 10, the command value generating unit 11, the machining error estimating unit 12, the model holding unit 13, the correction amount calculating unit 14a and the command value output unit 15. In addition, the numerical control device 1f has a machine learning device 100 for learning the mechanical model. Here, the numerical control device 1f is a combination of the structure of the numerical control device 1a described in the first embodiment and the machine learning device 100. The numerical control device 1f may also be a combination of the structure of the numerical control device 1a of the second, third or fourth embodiment and the machine learning device 100.

[0188] Axis data, machining condition information, machining error measurement results, and machining error information are input to the machine learning device 100. Axis data for each position of each axis of the numerical control machine tool 99a, i.e., one or more of a position command, a speed command, an acceleration command, a position feedback, a speed feedback, or an acceleration feedback, is input to the machine learning device 100 from the mechanical device unit 96. The axis data can be input to the machine learning device 100 from the servo control unit 6.

[0189] The processing condition information is information related to the processing conditions of the numerical control machine tool 99a. The processing condition information includes information such as the shape of the workpiece 78, the material of the workpiece 78, the tool diameter, the tool material, the tool shape, the number of blades, the feed rate per blade, the rotation speed of the tool 76, the machine structure information, the tool friction information, and the tool usage time. The machine structure information is information that characterizes the structure of the machine structure 98.

[0190] The machining error measurement result is the result obtained by measuring the machining error in actual machining. The machining error measurement result may include the determination result of whether there is a machining error. The determination result of whether there is a machining error may be the result obtained by the operator who uses the CNC machine tool 99a and the like visually determining whether there is a machining error. In the machining error measurement result, information on the size of the machining error extracted from the concave-convex information of the machining surface may be used. The concave-convex information of the machining surface is obtained by using an instrument such as a 3D measuring device (Coordinate Measuring Machine: CMM) or a microscope. Alternatively, in the machining error measurement result, the output signal of an acceleration sensor installed near the tool 76 may be used. In the machining error measurement result, the result obtained by observing the action of the CNC machine tool 99a for simulated machining may be used. For example, when a displacement sensor such as a laser displacement meter is installed instead of the tool 76 for machining, the output signal of the displacement sensor when the CNC machine tool 99a is moved may be used in the machining error measurement result.

[0191] Fig.25 1 is a diagram showing a structural example of a machine learning device 100 included in a numerical control device 1f according to Embodiment 6. The machine learning device 100 includes a state observation unit 101 and a learning unit 102. The state observation unit 101 observes a training data set, a machining error measurement result, and a machining error information as state variables. The training data set is a data set including axis data and machining condition information. The learning unit 102 learns a mechanical model according to the training data set. Specifically, the learning unit 102 learns parameters of the mechanical model such as a coefficient for describing the deformation amount of the mechanical structure 98, a frequency for describing the deformation of the mechanical structure 98, and an attenuation coefficient for describing the deformation of the mechanical structure 98.

[0192] The learning algorithm used by the learning unit 102 may use any algorithm. As an example, the case where reinforcement learning is applied to the learning algorithm used by the learning unit 102 is described. Reinforcement learning is an intelligent agent, i.e., an acting subject, in a certain environment observing the current state and deciding the action to be taken. The intelligent agent obtains rewards from the environment by selecting actions, and learns the countermeasures that obtain the most rewards after a series of actions. As representative methods of reinforcement learning, Q-learning and TD-learning are known. For example, in the case of Q-learning, the general update formula of the action value function Q(s, a), i.e., the action value table, is expressed by the following formula (12). The action value function Q(s, a) represents the value of the action of selecting action "a" based on the environment "s", i.e., the action value Q.

[0193] [Formula 12]

[0194]

[0195] In the above formula (12), “s t+1 " represents the environment at time "t". t " represents the action at time "t". According to the action "a t ", the environment becomes "s t+1 ". t+1 ” represents the reward brought by the change of its environment. “γ” represents the discount rate. “α” represents the learning coefficient. In the case of applying Q learning, the parameters of the mechanical model become the action “a t ”.

[0196] The update formula represented by the above formula (12) is that if the action value of the best action "a" at time "t+1" is greater than the action value Q of the action "a" executed at time "t", the action value Q is increased, and in the opposite case, the action value Q is decreased. In other words, the action value function Q (s, a) is updated in such a way that the action value Q of the action "a" at time "t" is close to the best action value at time "t+1". Thus, the best action value in a certain environment is propagated to the action value in its previous environment in sequence.

[0197] The learning unit 102 includes a reward calculation unit 103 and a function update unit 104. The reward calculation unit 103 calculates rewards based on state variables. The function update unit 104 updates a function for determining parameters of a mechanical model according to the rewards calculated by the reward calculation unit 103.

[0198] Specifically, the reward calculation unit 103 calculates the reward "r" based on the error amount shown in the processing error information and the processing error measurement result. For example, when the processing error measurement result is consistent with the error amount shown in the processing error information, the reward calculation unit 103 increases the reward "r". The reward calculation unit 103 increases the reward "r" by assigning a value of "1" to the reward. In addition, the value of the reward is not limited to "1". In addition, when the processing error measurement result is not consistent with the error amount shown in the processing error information, the reward calculation unit 103 reduces the reward "r". The reward calculation unit 103 reduces the reward "r" by assigning a value of "-1" to the reward. In addition, the value of the reward is not limited to "-1".

[0199] The function updating unit 104 updates the function used to determine the parameters of the mechanical model according to the reward calculated by the reward calculating unit 103. The function update can be performed according to the training data set, for example, by updating the action value table. The action value table is a data set that associates any action with its action value and stores it in the form of a table. For example, in the case of Q learning, the action value function Q(s ) represented by the above formula (12) is t , a t ) is used as a function for determining the parameters of the mechanical model. The machine learning device 100 outputs the mechanical model, which is the learning result of the learning unit 102, to the model storage unit 13.

[0200] The learning unit 102 may collect information on all axes of the numerically controlled machine tool 99a as a training data set to learn the machine model, or may construct a training data set for each axis of the numerically controlled machine tool 99a to learn the machine model for each axis.

[0201] So far, the case where reinforcement learning is applied to the learning algorithm used by the learning unit 102 has been described, but learning other than reinforcement learning may also be applied to the learning algorithm. The learning unit 102 may perform learning using a neural network that uses a training data set as input and a parameter of a mechanical model as output. The learning unit 102 may perform machine learning using a learning algorithm such as deep learning, genetic programming, inductive logic programming, or a support vector machine, for example.

[0202] The learning unit 102 is not limited to being built into the numerical control device 1f. The learning unit 102 may also be implemented by a device outside the numerical control device 1f. In this case, the device that functions as the learning unit 102 may be a device that can be connected to the numerical control device 1f via a network. The device that functions as the learning unit 102 may also be a device that exists on a cloud server.

[0203] According to the sixth embodiment, the numerical control device 1f learns the mechanical model, thereby having the effect of being able to predict the machining error with high accuracy when the conditions for causing the machining error vary in a complex manner depending on the machining conditions.

[0204] Next, the hardware for realizing the numerical control devices 1a and 1f according to the first to sixth embodiments will be described. The processing unit of the numerical control devices 1a and 1f, which are the processing units, is realized by a processing circuit, which includes the machining program input unit 10, the command value generating unit 11, the machining error estimating unit 12, the correction amount calculating units 14a and 14c, the command value output unit 15, and the machine learning device 100. The processing circuit may be a circuit in which a processor executes software, or may be a dedicated circuit.

[0205] In the case where the processing circuit is implemented by software, the processing circuit is, for example, Fig.26 The control circuit shown. Fig.26 2 is a diagram showing a configuration example of a control circuit 200 according to Embodiments 1 to 6. The control circuit 200 includes an input unit 201, a processor 202, a memory 203, and an output unit 204. The input unit 201 is an interface circuit that receives data input from outside the control circuit 200 and gives the data to the processor 202. The output unit 204 is an interface circuit that sends data from the processor 202 or the memory 203 to the outside of the control circuit 200.

[0206] The processing circuit is Fig.26 In the case of the control circuit 200 shown, the processing unit is implemented by software, firmware, or a combination of software and firmware. The software or firmware is described as a program and stored in the memory 203. In the processing circuit, the processor 202 reads and executes the program stored in the memory 203, thereby realizing each function. That is, the processing circuit has a memory 203, and the memory 203 is used to store the program that the processing of the numerical control device 1a, 1f is finally executed. In addition, these programs can be said to make the computer execute the order and method of the numerical control device 1a, 1f.

[0207] The processor 202 is a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, a processor, or a DSP (Digital Signal Processor). The memory 203 is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), or other nonvolatile or volatile semiconductor memory, a magnetic disk, a floppy disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc).

[0208] Fig.26 This is an example of hardware in which each component is realized by a general-purpose processor 202 and a memory 203 , but each component may be realized by a dedicated hardware circuit. Fig. 27 This is a diagram showing a configuration example of the dedicated hardware circuit 205 according to the first to sixth embodiments.

[0209] The dedicated hardware circuit 205 has an input unit 201, an output unit 204, and a processing circuit 206. The processing circuit 206 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit combining them. Each function of the numerical control device 1a, 1f can be implemented by the processing circuit 206 according to the functional category, or each function can be summarized and implemented by the processing circuit 206. In addition, each structural element can be implemented by combining the control circuit 200 and the hardware circuit 205.

[0210] Fig.19 The machining program generating device 2 shown in FIG. Fig.26 The same hardware structure as shown, or Fig. 27 The processing unit 10, the processing error estimation unit 12, the correction amount calculation unit 14a, the simulation unit 51 and the processing program correction unit 52 of the processing unit of the processing program generation device 2 are implemented by a processing circuit. The processing circuit can be a circuit in which a processor executes software or a dedicated circuit.

[0211] exist Fig.25 When the learning unit 102 shown in the figure is realized by a device external to the numerical control device 1f, the device functioning as the learning unit 102 is connected to the numerical control device 1f. Fig.26 The same hardware structure as shown, or Fig. 27 The device that functions as the learning unit 102 is implemented by a processing circuit. The processing circuit may be a circuit in which a processor executes software, or may be a dedicated circuit.

[0212] The structures shown in the above embodiments illustrate an example of the content of the present invention. The structures of the embodiments can be combined with other known technologies. The structures of the embodiments can also be appropriately combined with each other. Part of the structure of the embodiments can be omitted or changed without departing from the scope of the gist of the present invention.

[0213] Description of the label

[0214] 1a, 1f numerical control device, 2 machining program generating device, 6 servo control unit, 10 machining program input unit, 11 command value generating unit, 12 machining error estimating unit, 13 model holding unit, 14a, 14c correction amount calculating unit, 15 command value output unit, 20 machining error shape, 21 movement direction, 23, 24, 42, 43 arrows, 25, 26 circles, 31a, 31c axis selecting unit, 32a, 32b, 32c correction amount calculating unit, 33 reference correction amount calculating unit , 34 clamping unit, 35 change rate calculation unit, 36 correction time adjustment unit, 41 machining surface, 51 simulation unit, 52 machining program correction unit, 53, 54, 55, 58 path, 56, 57 machining program, 71 motor, 72 straight guide mechanism, 73 feed thread, 74 coupling, 75a, 75b support bearing, 76 tool, 77 worktable, 78 workpiece, 79 speed reducer, 80 nut, 82 rotation angle detector, 83 spindle, 90 support body, 93A A-axis driving unit, 93B B-axis driving unit, 93C C-axis driving unit, 93V V-axis driving unit, 93X X-axis driving unit, 93Y Y-axis driving unit, 93Z Z-axis driving unit, 96 mechanical device unit, 97 driving mechanism, 98 mechanical structure, 99a, 99d, 99e CNC working machine, 100 machine learning device, 101 state observation unit, 102 learning unit, 103 feedback calculation unit, 104 function updating unit, 200 control circuit, 201 input unit, 202 processor, 203 memory, 204 output unit, 205 hardware circuit, 206 processing circuit.

Claims

1. A numerical control device for controlling a numerically controlled machine tool having a drive mechanism provided for a plurality of axes and a mechanical structure moved by power transmitted from the drive mechanism, and processing a workpiece using a tool mounted on the mechanical structure, The numerical control device is characterized in that it has: a model holding unit for simulating deformation of the mechanical structure accompanying movement of the mechanical structure in directions of the plurality of axes, i.e., in the directions of the axes, and for holding a mechanical model representing displacement amounts, i.e., error amounts, of the tool in the directions of the axes caused by the deformation of the mechanical structure; a machining error estimating unit that estimates, based on the axis data, which is data related to the driving of the driving mechanism, and the machine model, an error direction, which is a direction in which the tool is displaced among the respective axis directions, and the error amount in the error direction, and outputs machining error information indicating the estimated error direction and the estimated error amount; and A correction amount calculation unit selects one or more of the axes to be corrected based on the machining error information, and calculates a correction amount used for correcting a command output to the drive mechanism related to the selected axis.

2. The numerical control device according to claim 1, characterized in that: The axis data is greater than or equal to one of a speed command of each axis, an acceleration command of each axis, and a state quantity of the drive mechanism of each axis, that is, speed or acceleration.

3. The numerical control device according to claim 1 or 2, characterized in that: The correction amount calculation unit outputs the correction amount after the clamping process is performed.

4. The numerical control device according to claim 3, characterized in that: The correction amount calculation unit maintains the correction amount for a certain period of time when the correction amount reaches an upper limit value or a lower limit value which is a reference of the clamping process.

5. The numerical control device according to any one of claims 1 to 4, characterized in that: The correction amount calculation unit calculates a change rate for changing the correction amount, and outputs the correction amount after changing according to the change rate.

6. The numerical control device according to any one of claims 1 to 5, characterized in that: The correction amount calculation unit outputs a correction amount when the tool faces the machining surface of the workpiece in the error direction, and sets the correction amount to zero when the tool faces away from the machining surface in the error direction.

7. The numerical control device according to any one of claims 1 to 6, characterized in that: have: a state observation unit that observes the axis data, information related to machining conditions of the numerically controlled machine tool, a machining error measurement result, and the machining error information as state variables; and A learning unit learns the mechanical model according to the data set created based on the state variable.

8. A numerically controlled machine tool comprising drive mechanisms provided for a plurality of axes and a mechanical structure that moves by power transmitted from the drive mechanisms, and a tool mounted on the mechanical structure is used to process a workpiece. The numerical control machine tool is characterized by having: a model holding unit for simulating deformation of the mechanical structure accompanying movement of the mechanical structure in directions of the plurality of axes, i.e., in the directions of the axes, and for holding a mechanical model representing displacement amounts, i.e., error amounts, of the tool in the directions of the axes caused by the deformation of the mechanical structure; a machining error estimating unit that estimates, based on the axis data, which is data related to the driving of the driving mechanism, and the machine model, an error direction, which is a direction in which the tool is displaced among the respective axis directions, and the error amount in the error direction, and outputs machining error information indicating the estimated error direction and the estimated error amount; and A correction amount calculation unit selects one or more of the axes to be corrected based on the machining error information, and calculates a correction amount used for correcting a command output to the drive mechanism related to the selected axis.

9. A machining program generating device for generating a machining program for a numerically controlled machine tool that has a driving mechanism provided for a plurality of axes and a mechanical structure that moves by power transmitted from the driving mechanism, and that uses a tool mounted on the mechanical structure to machine a workpiece, The processing program generating device is characterized by having: a model holding unit for simulating deformation of the mechanical structure accompanying movement of the mechanical structure in directions of the plurality of axes, i.e., in the directions of the axes, and for holding a mechanical model representing displacement amounts, i.e., error amounts, of the tool in the directions of the axes caused by the deformation of the mechanical structure; a machining error estimating unit that estimates, based on the axis data related to the driving of the driving mechanism and the machine model, an error direction in which the tool is displaced among the respective axis directions and the error amount in the error direction, and outputs machining error information indicating the estimated error direction and the estimated displacement amount; a correction amount calculation unit that selects one or more of the axes to be corrected based on the machining error information and calculates a correction amount for correcting a motion generated by the drive mechanism related to the selected axis; and A machining program correction unit corrects the machining program according to the correction amount.

10. The machining program generating device according to claim 9, characterized in that: The method further includes a simulation unit that calculates the axis data based on a machining path analyzed from the machining program before the correction amount is described.

11. A method for generating a machining program for a numerically controlled machine tool having a drive mechanism provided for a plurality of axes and a mechanical structure moved by power transmitted from the drive mechanism, and for machining a workpiece using a tool mounted on the mechanical structure, The processing program generation method is characterized by comprising the following steps: reading out a model that simulates the deformation of the mechanical structure accompanying the movement of the mechanical structure in the directions of the plurality of axes, i.e., in the directions of the axes, and a mechanical model that represents the displacement amount, i.e., the error amount, of the tool in the directions of the axes caused by the deformation of the mechanical structure; Based on the axis data related to the driving of the driving mechanism and the mechanical model, the direction in which the tool is displaced among the directions of the axes, i.e., the error direction, and the error amount in the error direction are estimated, and machining error information indicating the estimated error direction and the estimated displacement amount is output; selecting one or more of the axes to be corrected based on the machining error information, and calculating a correction amount for correcting a motion generated by the drive mechanism related to the selected axis; and The processing program is corrected according to the correction amount.

Citation Information

Patent Citations

  • Machining error prediction method in peripheral milling process

    CN102059381A

  • Servo control device

    CN105190462A

  • Error compensation based corner processing precision control method

    CN106338965A

  • Numerical controller

    CN110531701A

  • Machine learning device, correction parameter adjustment device and machine learning method

    CN110832422A