Numerical control device, machining system, and control method
The numerical control device addresses the challenge of suppressing vibration errors in machine tools by individually adjusting response and vibration errors, ensuring efficient machining time and surface quality through separate error correction units.
Patent Information
- Application Number
- PCT/JP2023/046819
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-26
- Publication Date
- 2025-07-03
AI Technical Summary
Existing numerical control devices struggle to effectively suppress vibration errors in machine tools while maintaining response errors, as they are restricted by the machine tool's vibration characteristics, leading to increased machining time and surface imperfections.
A numerical control device that includes an analysis processing unit, a response error adjustment unit, an acceleration/deceleration processing unit, and a vibration error adjustment unit, which separate and adjust response and vibration errors individually, using correction values to maintain response errors within allowable limits and suppress vibrations by adjusting jerk, acceleration, and speed commands in shorter cycles than the vibration period.
The device achieves effective vibration suppression while maintaining response errors, reducing machining time and improving surface quality by separately adjusting response and vibration errors using correction values.
Smart Images

Figure JP2023046819_03072025_PF_FP_ABST
Abstract
Description
Numerical control device, machining system, and control method
[0001] The present disclosure relates to a numerical control device, a machining system, and a control method for suppressing vibrations of a machine tool.
[0002] A numerical control device controls the drive axes of a machine tool based on commands written in a machining program, causing the machine tool to perform machining while changing the relative position between the workpiece and the tool. The numerical control device controls the drive axes so that they move at a commanded speed along the movement path written in the machining program, but errors occur between the commands and the actual movement of the drive axes.
[0003] For example, there are two types of errors: vibration errors, which are errors caused by the vibration characteristics of machine tools, and response errors, which are errors caused by response delays in servo control systems. Vibration errors are errors caused by specific frequency components, while response errors are errors caused according to the control band of high-frequency components. Vibration errors must be suppressed because they cause scratches and streaks on the machined surface.
[0004] Patent Document 1 discloses a numerical control device that performs vibration suppression of a machine tool by controlling the acceleration and deceleration of a servo motor by calculating and applying a change in acceleration or speed relative to a time axis based on a given acceleration and deceleration pattern in response to a speed command or a position command. The numerical control device disclosed in Patent Document 1 performs acceleration and deceleration processing by processing the command with a convex acceleration and deceleration filter.
[0005] JP 2019-82771 A
[0006] However, the numerical control device disclosed in Patent Document 1 includes an integrator in the filter, which not only blocks specific frequencies but also suppresses high-frequency components, narrowing the bandwidth and making it impossible to separate components resulting from vibration error from components resulting from response error. Therefore, when vibrations are present in the low-frequency range, reducing the vibration error results in an unnecessarily low acceleration, which results in an excessively long machining time. In other words, the numerical control device disclosed in Patent Document 1 faces the problem of being limited by the vibration characteristics of the machine tool in achieving vibration control effects while maintaining response error.
[0007] The present disclosure has been made in consideration of the above, and aims to provide a numerical control device that can obtain a vibration control effect while maintaining response error without being limited by the vibration characteristics of a machine tool.
[0008] To solve the above-mentioned problems and achieve the object, the numerical control device disclosed herein is a numerical control device for controlling a machine tool having multiple drive axes that change the relative position between a workpiece and a tool, and includes: an analysis processing unit that outputs movement data, which is a command that instructs the movement of the drive axes based on a machining program; a response error adjustment unit that outputs a response error correction value that adjusts the response error between a command value and a measurement value based on the movement data; an acceleration / deceleration processing unit that outputs an acceleration / deceleration correction value that is a correction value for the movement data based on the movement data and the response error correction value; and a vibration error adjustment unit that outputs a vibration error correction value that is a correction value for the movement data based on vibration characteristics of the machine tool calculated from measurements or machine tool specifications, the movement data, and the acceleration / deceleration correction value. The vibration error adjustment unit is characterized in that it gradually increases or decreases at least one of the jerk command, acceleration command, and velocity command at a period shorter than the vibration period of the object to be blocked by the machine tool so that the total input amount does not change, while maintaining the amount of change per unit time of the response error to be within a tolerable value.
[0009] According to the present disclosure, it is possible to obtain a vibration damping effect while maintaining a response error without being restricted by the vibration characteristics of the machine tool.
[0010] 5 is a diagram showing the functional configuration of a numerical control device according to a first embodiment;
[0023] a schematic explanatory diagram of a response error and a vibration error;
[0024] a diagram showing an example of jerk, acceleration, and velocity waveforms of an input command to a vibration error adjustment unit;
[0025] a partial enlargement of the dashed line portion of FIG. 3;
[0026] a diagram showing a first example of vibration characteristics of a machine tool;
[0027] a diagram showing a first example of an error waveform when a machine tool having vibration characteristics shown in FIG. 5 is controlled by an input command to a vibration error adjustment unit;
[0028] a diagram showing a second example of an error waveform when a machine tool having vibration characteristics shown in FIG. 5 is controlled by an input command to a vibration error adjustment unit;
[0029] a diagram showing a second example of vibration characteristics of a machine tool;
[0029] a diagram showing a third example of vibration characteristics of a machine tool;
[0029] a diagram showing an error waveform when a machine tool having vibration characteristics as shown in FIG. 9 is controlled by an input command to a vibration error adjustment unit; FIG. 10 shows the error waveform of the vibration error when a machine tool with dynamic characteristics is controlled by an input command to the vibration error adjustment unit. FIG. 11 shows the error waveform of the vibration error when a machine tool with vibration characteristics as shown in FIG. 8 is controlled by a first example of an output command of the vibration error adjustment unit. FIG. 12 shows the error waveform of the vibration error when a machine tool with vibration characteristics as shown in FIG. 8 is controlled by a first example of an output command of the vibration error adjustment unit. FIG. 13 shows the error waveform of the vibration error when a machine tool with vibration characteristics as shown in FIG. 9 is controlled by an input command to the vibration error adjustment unit. FIG. 14 shows the error waveform of the vibration error when a machine tool with vibration characteristics as shown in FIG. 9 is controlled by a first example of an output command of the vibration error adjustment unit. FIG. 15 shows the error waveform of the vibration error when a machine tool with vibration characteristics as shown in FIG. 9 is controlled by a first example of an output command of the vibration error adjustment unit. 18 is an enlarged view of the periphery of the second cutoff band in FIG. 18. FIG. 18 shows the jerk, acceleration, and velocity waveforms of a second example of the output command of the vibration error adjustment unit. FIG. 18 is an enlarged view of the response gain around the second cutoff frequency in a two-stage FIR filter. FIG. 18 shows the functional configuration of a numerical control device according to a second embodiment.2 is a diagram showing the configuration of a control circuit for realizing the functions of the numerical control device according to
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A numerical control device, a machining system, and a control method according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0012] First Embodiment. Figure 1 is a diagram showing the functional configuration of a numerical control device 1A according to a first embodiment. The numerical control device 1A has an analysis processing unit 11, a response error adjustment unit 12, an acceleration / deceleration processing unit 13, and a vibration error adjustment unit 14A. The numerical control device 1A receives a machining program MP and parameters P as input, and outputs control commands to an amplifier 21 provided in a machine tool to be controlled. Although not shown in Figure 1, the machine tool to be controlled that includes the amplifier 21 will be referred to as a machine tool 2 below. The numerical control device 1A may be provided close to the machine tool 2 to be controlled, or may be provided on a remote server.
[0013] The machining program MP is made up of a collection of blocks that command one operation of the machine tool 2, and is written using command codes such as a positioning command (G00) and a cutting command (G01). The machining program MP is also called a numerical control program. Usually, one line of the machining program MP corresponds to one movement command. Hereinafter, each movement command written in the machining program MP will be referred to as a command block.
[0014] Parameter P is a set value according to the dynamic characteristics of machine tool 2, and is a general term for parameters used when numerical control device 1A generates acceleration / deceleration waveforms.
[0015] The numerical control device 1A analyzes the machining program MP, outputs control commands according to the analysis results to the amplifier 21, and controls the machine tool 2 via the amplifier 21, thereby machining the workpiece while controlling the relative position between the object to be machined, called the workpiece, and the tool.
[0016] It is difficult to perfectly match the control command and actual response of the machine tool 2, and errors occur. In many cases, the errors include a response error, which is a component caused by a response delay in the servo control system of the machine tool 2, and a vibration error, which is a component caused by vibration of the machine tool 2. FIG. 2 is a schematic diagram illustrating the response error and the vibration error. As shown in FIG. 2, the error is represented by a composite waveform of the response error and the vibration error. The numerical control device 1A has the function of separating the response error and the vibration error and adjusting them separately.
[0017] The analysis processing unit 11 reads the command blocks of the machining program MP one block at a time and generates movement data by analyzing the movement commands for each drive axis. The movement data is a command that instructs the movement of the drive axis, and includes information such as the start and end point positions of each drive axis in each command block, the movement distance, the movement speed, and the angle between the previous and next command paths. The analysis processing unit 11 outputs the generated movement data to the response error adjustment unit 12.
[0018] The response error adjuster 12 calculates a response error correction value for adjusting the response error between the command value and the measured value based on the movement data output by the analysis processing unit 11 and the parameter P. The parameter P may be, for example, an allowable jerk, an allowable acceleration, or a command velocity, or may be a filter time constant or a filter adjustment gain. The response error adjuster 12 may calculate a jerk time constant as the response error correction value, or may calculate an acceleration time constant as the response error correction value. In order to suppress errors caused by a response delay in servo control, the response error adjuster 12 may adjust the jerk time constant so that the jerk does not exceed a jerk limit value, or may adjust the acceleration time constant so that the acceleration does not exceed an acceleration limit value. Note that the response error adjuster 12 may adjust the jerk and acceleration "after FIR filter processing by the vibration error adjuster 14A," which will be described later, so that they do not exceed the jerk limit value and the acceleration limit value, respectively.
[0019] The response error adjuster 12 may adjust the jerk time constant based on the jerk limit value, or may adjust the jerk time constant based on the acceleration limit value, command speed, filter time constant, filter adjustment gain, etc. In this case, the response error adjuster 12 may adjust the jerk time constant so that it is smaller than half the filter time constant.
[0020] The response error adjuster 12 may adjust the acceleration time constant based on the acceleration limit value, or may adjust the acceleration time constant based on the jerk limit value, command speed, filter time constant, filter adjustment gain, or the like.
[0021] The response error adjustment unit 12 outputs the movement data output by the analysis processing unit 11 and the generated response error correction value to the acceleration / deceleration processing unit 13 .
[0022] The acceleration / deceleration processing unit 13 generates an acceleration / deceleration correction value, which is a correction value for the movement data, based on the movement data and the response error correction value, and outputs the generated acceleration / deceleration correction value to the vibration error adjustment unit 14A.
[0023] The acceleration / deceleration processing unit 13 generates an acceleration / deceleration waveform interpolated as a movement command per unit time of a composite movement command along the movement path, and distributes the acceleration / deceleration waveform to each drive axis to generate a movement command for each drive axis as an acceleration / deceleration correction value. The acceleration / deceleration processing unit 13 may generate an acceleration / deceleration waveform in the composite movement direction based on a jerk time constant and an acceleration time constant so that the movement command per unit time changes smoothly. The acceleration / deceleration processing unit 13 may perform interpolation using a corner passing speed in a deceleration section obtained from the corner passing speed, or may perform interpolation using a command speed in a section other than the deceleration section. The acceleration / deceleration processing unit 13 may smooth the movement path of the machining program MP to shorten the takt time and suppress excessive acceleration. The corner passing speed may also be adjusted so that the machining shape is reproduced with high accuracy without any inward turning beyond the allowable tolerance.
[0024] Based on the acceleration / deceleration correction value output by acceleration / deceleration processing unit 13 and parameter P, vibration error adjustment unit 14A corrects the acceleration / deceleration correction value, which is a command for each drive axis, so as to suppress vibration excitation of machine tool 2, and adjusts the vibration error of machine tool 2. The correction value of the movement data after vibration error adjustment by vibration error adjustment unit 14A has adjusted the vibration error is also called a vibration error correction value.
[0025] Fig. 3 is a diagram showing an example of the jerk, acceleration, and velocity waveforms of the input command to the vibration error adjustment unit 14A. Fig. 4 is a partial enlarged view of the dashed line portion in Fig. 3. As shown in Fig. 4, the input command to the vibration error adjustment unit 14A aims to suppress vibration by inputting the jerk in steps rather than impulses.
[0026] Fig. 5 is a diagram showing a first example of vibration characteristics of the machine tool 2. The first example shown in Fig. 5 represents a case where the damping ratio ξ of the machine tool 2 is sufficiently small. Fig. 6 is a diagram showing a first example of an error waveform when the machine tool having the vibration characteristics shown in Fig. 5 is controlled by an input command to the vibration error adjustment unit 14A. When the machine tool 2 has the vibration characteristics shown in Fig. 5 and the input period T of the jerk as shown in Fig. 4 is equal to the vibration period T of the machine tool 2, n is not equal to (T ≠ T n ) and controlling the machine tool 2 using an input command to the vibration error adjustment unit 14A, the waveforms of the response error and vibration error will be as shown in Figure 6. It can be seen that the vibration error does not become zero but remains while attenuating.
[0027] 7 is a diagram showing a second example of an error waveform when a machine tool having the vibration characteristics shown in FIG. 5 is controlled by an input command to the vibration error adjustment unit 14A. When the machine tool 2 has the vibration characteristics shown in FIG. 5 and the input period T of the jerk shown in FIG. 4 is longer than the vibration period T of the machine tool 2, n (T = T n ) and the machine tool 2 is controlled using an input command to the vibration error adjustment unit 14A, the waveforms of the response error and vibration error are as shown in FIG. n By applying a jerk in accordance with this, the vibration is canceled out and the vibration error is suppressed to nearly zero.
[0028] Next, consider a case where the machine tool 2 has the vibration characteristics shown in Fig. 8. Fig. 8 is a diagram showing a second example of the vibration characteristics of the machine tool 2. In the second example shown in Fig. 8, the vibration period when the vibration characteristics of the machine tool 2 are identified is T n When the vibration period is T n 8, the vibration period of the machine tool 2 is shifted, and the input period T of the jerk as shown in FIG. 4 is changed to the vibration period T of the machine tool 2 before the change. n (T = T n ≠T n In the case of (a), when the machine tool 2 is controlled using an input command to the vibration error adjustment unit 14A, the error waveforms of the response error and vibration error are as shown in FIG.
[0029] Next, consider a case where the machine tool 2 has the vibration characteristics shown in Fig. 9. Fig. 9 is a diagram showing a third example of the vibration characteristics of the machine tool 2. In the third example shown in Fig. 9, the damping coefficient ξ of the machine tool 2 is 0.1, which represents vibration characteristics when it is not sufficiently small. Fig. 10 is a diagram showing an error waveform when the machine tool 2 having the vibration characteristics shown in Fig. 9 is controlled by an input command to the vibration error adjustment unit 14A. When the value of the damping coefficient ξ of the machine tool 2 is relatively large as shown in Fig. 9 and the input period T of the jerk as shown in Fig. 4 is equal to the vibration period T of the machine tool 2, n (T = T n ) and the machine tool 2 is controlled using an input command to the vibration error adjustment unit 14A, the error waveforms of the response error and vibration error are as shown in FIG. n It can be seen that the vibration error does not become 0 but remains even after this, although it is attenuated. In this way, when the vibration period deviates from the time of identification or when the value of the damping coefficient ξ of the machine tool 2 is large, the vibration period T n It is difficult to suppress vibrations with a command that inputs a jerk in accordance with the above. It should be noted that the vibration characteristics of machine tool 2 generally change in damping and vibration period due to aging and changes in the machining position, and the vibration characteristics are determined by simultaneously considering the deviation in the vibration period shown in Figure 8 and the damping shown in Figure 9.
[0030] Therefore, the numerical control device 1A generates a command that increases or decreases at least one of the jerk command, acceleration command, and speed command in stages at a period shorter than the vibration period of the object to be blocked of the machine tool 2 so that the total input amount does not change. Such a command may hereinafter be referred to as an output command of the vibration error adjustment unit 14A.
[0031] 11 is a diagram showing the waveforms of jerk, acceleration, and velocity in a first example of the output command of the vibration error adjusting unit 14A. Note that FIG. 11 is an enlarged view of the portion corresponding to the dashed line in FIG. 4, and the conventional command is shown by a chain line. As shown in FIG. 11, in the output command of the vibration error adjusting unit 14A, the vibration period T n Half the period T n Jerks are applied in multiple stages to match the speed of the 2.0-2.0 mph thrust.
[0032] The command to be increased or decreased in stages may be an acceleration command or a speed command.
[0033] The vibration error adjuster 14A generates a command that does not change the total value of the input amounts. In the jerk command in Fig. 4, the total value S of the jerk input amounts from J1 to J2 is expressed as S = J x T, where J = J1 = J2.
[0034] In this case, the total value S' of the jerk input amount in the output command of the vibration error adjustment unit 14A in FIG. 11 can be expressed as follows:
[0035] S'=J 11 × T1 + (J 11 +J 12 ) × T2 + (J 11 +J 12 +J 13 ) × T + (J 11 +J 12 +J 13 -J 21 ) × T4 + (J 11 +J 12 +J 13 -J 21 -J 22 ) x T5
[0036] T1, T2, T3, T4, and T5 may be periods shorter than the vibration period and opposite in phase to the mechanical vibration. For example, as shown in FIG. n / 2), that is, T1 = T2 = T3 = T4 = T5 = (T n In this case, the output command of the vibration error adjusting unit 14A is generated so that S=S′ holds.
[0037] At the same time, an output command of the vibration error adjuster 14A is generated so that the jerk becomes 0 when the application of the jerk is completed, that is, so that the following formula is established.
[0038] J 11 +J 12 +J 13 -J 21 -J 22 -J 23 =0
[0039] The machine tool 2 has the vibration characteristics shown in FIG. 8, and the input period T of the jerk as shown in FIG. 4 is the vibration period T of the machine tool 2 before the change. n (T = T n ≠T n In the case of (a) and (b), the error waveforms of the vibration errors due to the input of the jerk J1 and J2 shown in FIG. 4 are as shown in FIG. 12. The error waveforms of the vibration errors shown in FIG. 12 are synthesized to obtain the error waveform of the vibration error shown in FIG. 6. If the machine tool 2 has the vibration characteristics shown in FIG. 8 and the vibration period Tn of the machine tool 2 shown in FIG. 11 is a half of the vibration period Tn, n When the jerk is applied in multiple stages in accordance with the jerk / 2, the J 11 , J 12 , J 13 , J 21 , J 22 , J 23 The error waveforms of the vibration errors due to the input of the jerk are as shown in Fig. 13. By gradually inputting a jerk smaller than the input command to the vibration error adjustment unit 14A, the amplitude of the vibration error becomes smaller than the amplitude of the vibration error of the input command to the vibration error adjustment unit 14A.
[0040] Fig. 14 is a diagram showing an error waveform when a machine tool having the vibration characteristics shown in Fig. 8 is controlled by a first example of an output command of vibration error adjustment unit 14A. The first example of the error waveform shown in Fig. 14 shows a case where an output command of vibration error adjustment unit 14A is applied to a machine tool 2 having the vibration characteristics shown in Fig. 8. It can be seen from Fig. 14 that residual vibration is suppressed.
[0041] The machine tool 2 has the vibration characteristics shown in FIG. 9, and the input period T of the jerk as shown in FIG. 4 is equal to the vibration period Tn of the machine tool 2 before the change (T=T n ≠T n 15 shows the error waveform of the vibration error when a machine tool having the vibration characteristics shown in FIG. 9 is controlled by an input command to the vibration error adjustment unit 14A. The error waveform of the vibration error shown in FIG. 10 is obtained by combining the error waveforms of the vibration errors in FIG. 15. When the machine tool 2 has the vibration characteristics shown in FIG. 9 and is controlled by an input command to the vibration error adjustment unit 14A, the error waveform of the vibration error shown in FIG. 10 is obtained. When the machine tool 2 has the vibration characteristics shown in FIG. 9 and is controlled by an input command to the vibration error adjustment unit 14A, the error waveform of the vibration error shown in FIG. 10 is obtained. n When the jerk is applied in multiple stages in accordance with the jerk / 2, the J 11 , J 12 , J 13 , J 21 , J 22 , J 23 The error waveforms of the vibration errors due to the input of the jerk are as shown in Figure 16. Figure 16 is a diagram showing the error waveforms of the vibration errors when the machine tool having the vibration characteristics shown in Figure 9 is controlled by the first example of the output command of the vibration error adjustment unit 14A. By gradually inputting a jerk smaller than the input command to the vibration error adjustment unit 14A, the amplitude of the vibration error becomes smaller than the amplitude of the vibration error of the input command to the vibration error adjustment unit 14A.
[0042] Fig. 17 is a diagram showing an error waveform when a machine tool having the vibration characteristics shown in Fig. 9 is controlled by a first example of an output command of vibration error adjustment unit 14A. The first example of the error waveform shown in Fig. 17 shows a case where an output command of vibration error adjustment unit 14A is applied to a machine tool 2 having the vibration characteristics shown in Fig. 9. It can be seen from Fig. 17 that residual vibration is suppressed.
[0043] Even if the vibration period deviates from the time of identification or the damping coefficient of the machine tool 2 is large, it is possible to suppress vibration by using the output command of the vibration error adjustment unit 14A. The output command of the vibration error adjustment unit 14A adjusts the vibration period T n At least one of the jerk command, acceleration command, and velocity command is increased or decreased in a stepwise manner at a period shorter than the period.
[0044] The vibration error adjustment unit 14A can increase or decrease at least one of the jerk command, acceleration command, and speed command in stages using a filter at a period that is half the vibration period of the object to be blocked so that the total value of the input amount does not change.
[0045] The vibration error adjuster 14A may use a filter to generate its output command, i.e., the vibration error correction value. The vibration error adjuster 14A can adjust the vibration error by passing the command for each drive axis through an FIR filter with a transfer function M(s) expressed by the following equation (1).
[0046]
[0047] Here, T n is the filter time constant, which is expressed as the reciprocal of the frequency of the vibration to be blocked, and corresponds to the vibration period of the vibration to be blocked. n may be the reciprocal n of the natural frequency of the machine tool 2 or the reciprocal of the resonance frequency. Also, α is a filter adjustment gain, which is set within the range of real numbers.
[0048] FIG. 18 is a diagram showing an example of the response gain of the FIR filter of the vibration error adjustment unit 14A. From FIG. 18, it can be seen that the FIR filter has a periodic stopband. The cutoff frequency of the FIR filter can be calculated by finding the solution of |M(jω)| = 0. There are three such cutoff frequencies in any n-th stopband.
[0049] Fig. 19 is an enlarged view of the periphery of the second stop band in Fig. 18. Fig. 19 shows examples of α = 2.6 and α = 1.6. The stop band width and the magnitude of the maximum gain of the stop band, i.e., the cut-off effect, change depending on the value of α, and there is a trade-off between the stop band width and the cut-off effect.
[0050] The vibration error adjustment unit 14A acquires the vibration period, cutoff bandwidth, and maximum allowable gain of the object to be cut off, and sets the FIR filter so that the center of the cutoff bandwidth coincides with the frequency of the vibration period of the object to be cut off and the maximum gain of the cutoff bandwidth is smaller than the maximum allowable gain.
[0051] Also, different FIR filters may be set for each drive axis. In this case, a moving average filter, notch filter, or the like may be added to equalize the delay times of each drive axis to prevent trajectory distortion. As described above, the vibration error adjuster 14A can generate commands using an FIR filter by applying the inverse Laplace transform of the filter to the commands for each drive axis output by the acceleration / deceleration processor 13.
[0052] (Modifications) Next, a modification of the vibration error adjustment unit 14A will be described. The vibration error adjustment unit 14A may increase the number of stages of the jerk waveform in the output command of the vibration error adjustment unit 14A. Fig. 20 is a diagram showing the jerk, acceleration, and velocity waveforms of a second example of the output command of the vibration error adjustment unit 14A. Note that Fig. 20 is an enlarged view of the portion corresponding to the dashed line in Fig. 3, in which the conventional command is shown by a dot-dash line and the output command of the vibration error adjustment unit 14A before the number of stages is increased, i.e., the first example of the output command of the vibration error adjustment unit 14A, is shown by a dashed line. As shown in Fig. 20, even when the number of stages is increased, the vibration period T n The jerk is applied in accordance with half the period of T. n Be late.
[0053] The vibration error adjusting unit 14A may use a filter to generate the output command of the vibration error adjusting unit 14A when the number of stages is increased. The vibration error adjusting unit 14A generates the output command of the vibration error adjusting unit 14A by using a transfer function M kVibration errors can be adjusted by passing the signal through multiple FIR filters (s).
[0054]
[0055] Here, k is the number of stages and is an integer of 2 or more. When i is a value between 0 and k, α i is the filter gain, and α0 = 1. The cutoff frequency of the k-stage multi-FIR filter is |M k (jω)|=0, and there are (2k+1) cutoff frequencies in any n-th stopband. For example, when k=2, there are five cutoff frequencies in each stopband.
[0056] Fig. 21 is an enlarged view of the response gain around the second cutoff frequency in a two-stage FIR filter. Fig. 21 shows the case where k = 2 and n = 2. Fig. 21 shows an example where (α1, α2) = (1.6, 2.9) and α1 = 1.6, and it can be seen that increasing the number of filter stages from k = 1 to k = 2 increases the cutoff effect while maintaining the same cutoff bandwidth.
[0057] The parameter setting of the k-stage multi-FIR filter will be explained. i is set to satisfy the desired bandwidth. The number of stages k and α of the multi-FIR filter are i is set so that the maximum gain within the bandwidth does not exceed the maximum allowable gain so that the desired vibration isolation effect can be obtained. i is set so that the number of stages k is minimized.
[0058] As described above, the numerical control device 1A according to the first embodiment controls the machine tool 2 having a plurality of drive axes that change the relative position between the workpiece and the tool, and includes an analysis processing unit 11 that outputs movement data that is a command that instructs the movement of the drive axes based on the machining program MP, a response error adjustment unit 12 that outputs a response error correction value that adjusts the response error between a command value and a measurement value based on the movement data, an acceleration / deceleration processing unit 13 that outputs an acceleration / deceleration correction value that is a correction value for the movement data based on the movement data and the response error correction value, and a vibration error adjustment unit 14A that outputs a vibration error correction value that is a correction value for the movement data based on the vibration characteristics of the machine tool 2 calculated from measurements or specification values of the machine tool 2, the movement data, and the acceleration / deceleration correction value. The vibration error adjustment unit 14A increases or decreases at least one of the jerk command, acceleration command, and velocity command in a period shorter than the vibration period of the object to be blocked of the machine tool 2 so that the total input amount does not change, while maintaining the amount of change per unit time of the response error to be equal to or less than a tolerance. The above configuration makes it possible to separate response error and vibration error, so that it is possible to obtain vibration control effects while maintaining response error without being restricted by the vibration characteristics of the machine tool 2.
[0059] The vibration error adjusting unit 14A may output a vibration error correction value using a finite impulse response filter. In this case, the transfer function M(s) of the finite impulse response filter is set to T n , and is characterized by being expressed by the above formula (1) when the filter gain is α.
[0060] The vibration error adjustment unit 14A may output a vibration error correction value using a k-stage multiple finite impulse response filter. In this case, the transfer function M k (s) is the vibration period of the object to be blocked, n , the filter gain is α i is expressed by the above formula (2).
[0061] A specific method for adjusting the vibration error by the vibration error adjuster 14A when a vibration error correction value is output using a filter will be described below. The vibration error adjuster 14A acquires the vibration period, cutoff bandwidth, and maximum allowable gain of the object to be cut off, and sets the filter so that the center of the cutoff bandwidth coincides with the frequency of the vibration period of the object to be cut off and the maximum gain of the cutoff bandwidth is smaller than the maximum allowable gain.
[0062] Second Embodiment Fig. 22 is a diagram showing the functional configuration of a numerical control device 1B according to a second embodiment. The numerical control device 1B has an analysis processing unit 11, a response error adjustment unit 12, an acceleration / deceleration processing unit 13, and a vibration error adjustment unit 14B. The numerical control device 1B receives as input a machining program MP, parameters P, and vibration feedback, and outputs a control command to an amplifier 21 provided in a machine tool 2 that is to be controlled. The functions of the analysis processing unit 11, the response error adjustment unit 12, and the acceleration / deceleration processing unit 13 are similar to those of the numerical control device 1A. The numerical control device 1B has a vibration error adjustment unit 14B instead of the vibration error adjustment unit 14A of the numerical control device 1A.
[0063] The vibration error adjustment unit 14B increases or decreases at least one of the jerk command, acceleration command, and velocity command at a period shorter than the vibration period of the object to be blocked, while maintaining the change in response error per unit time to be equal to or less than an allowable value.
[0064] The vibration error adjustment unit 14B adjusts the vibration error based on the vibration feedback of the machine tool 2. The vibration may be detected by calculation from feedback information for each axis held by the numerical control device 1B, or may be calculated from the detection value of an acceleration sensor.
[0065] The vibration error adjustment unit 14B estimates the vibration amplitude at the timing that is the opposite phase to the vibration period of the object to be blocked, and adjusts the vibration error based on the estimated vibration amplitude so that the vibration amplitude at the timing that is the opposite phase becomes 0.
[0066] 23 is a schematic explanatory diagram of a first example of an estimated vibration waveform. The vibration error adjuster 14B may calculate the estimated waveform by a simulation using the feedback waveform and the acceleration / deceleration waveform as inputs.
[0067] FIG. 24 is a schematic diagram illustrating vibration error adjustment. In FIG. 24, the jerk waveform before correction is shown by a dashed line, and the jerk waveform after correction is shown by a solid line. As shown in FIG. 24, the vibration error adjustment unit 14B adjusts the vibration amplitude to zero at a timing that is the opposite phase of the vibration period of the object to be blocked. The vibration error may be adjusted by adjusting the jerk, or the acceleration or speed. The adjustment may also be performed by machine learning or a regression model.
[0068] Fig. 25 is a schematic explanatory diagram of a second example of an estimated vibration waveform. The second example shows an estimated vibration waveform when machine tool 2 is controlled using the corrected command. Comparing the waveform in Fig. 25 with the waveform shown in Fig. 23 shows that vibration is suppressed by correcting the command using vibration feedback.
[0069] As described above, according to the numerical control device 1B of the second embodiment, the vibration error adjustment unit 14B detects the vibration waveform of the machine tool 2, estimates the vibration amplitude at the timing when the vibration period of the object to be blocked is in the opposite phase based on the detected vibration waveform, and outputs a vibration error correction value such that the vibration amplitude at the timing when the vibration period is in the opposite phase is 0 based on the estimated vibration amplitude value.
[0070] Third Embodiment In the third embodiment, a control method will be described. Fig. 26 is a flowchart showing an example of the procedure of the control method according to the third embodiment. The control method described here is executed by the numerical control device 1A described in the first embodiment or the numerical control device 1B described in the second embodiment. Therefore, when the subject of the operations described below can be either the numerical control device 1A or the numerical control device 1B, they will be referred to as the numerical control device 1.
[0071] The numerical control device 1 generates movement data, which is a command for instructing the movement of the drive axis, based on the machining program MP (step S101).
[0072] The numerical control device 1 generates a response error correction value based on the generated movement data (step S102). The response error correction value is expressed as a value that adjusts the response error between the command value and the measured value for the jerk time constant and the acceleration time constant.
[0073] The numerical control device 1 generates an acceleration / deceleration correction value, which is a correction value for the movement data, based on the movement data and the response error correction value (step S103).
[0074] The numerical control device 1 acquires the vibration characteristics of the machine tool 2 (step S104). Specifically, the numerical control device 1 may acquire, as the vibration characteristics of the machine tool 2, a natural frequency or a resonant frequency obtained by frequency analysis of vibrations measured by a sensor such as an accelerometer using an FFT (Fast Fourier Transform) analyzer or the like, or may acquire, as the vibration characteristics of the machine tool 2, a vibration period indicated by the reciprocal of the natural frequency or the resonant frequency. Furthermore, the value indicating the vibration characteristics may be a value calculated from the measured value, or may be a value described in the specifications of the machine tool 2 or the like and may be a default value of a parameter calculated by the manufacturer of the machine tool 2 using a method similar to that described above. When the vibration characteristics are acquired by measurement, it is possible to obtain a value that takes into account individual differences and installation conditions of the machine tool 2.
[0075] The numerical controller 1 generates a vibration error correction value based on the vibration characteristics of the machine tool 2, the movement data, and the acceleration / deceleration correction value (step S105). Specifically, the numerical controller 1 suppresses vibration of the machine tool 2 by setting parameters of the FIR filter so that the vibration frequency of the target to be blocked overlaps with the blocking band. At this time, the numerical controller 1 gradually increases or decreases at least one of the jerk command, acceleration command, and velocity command in a period shorter than the vibration period of the target to be blocked so that the total input amount does not change, while maintaining the amount of change per unit time of the response error within an allowable value. The numerical controller 1B also detects the vibration waveform of the machine tool 2, estimates the vibration amplitude at the timing that is in antiphase with the vibration period of the target to be blocked based on the detected vibration waveform, and generates a vibration error correction value based on the estimated vibration amplitude such that the vibration amplitude at the timing that is in antiphase becomes zero.
[0076] As described above, the control method according to the third embodiment is a control method executed by a numerical control device 1 that controls a machine tool 2 having a plurality of drive axes that change the relative position between a workpiece and a tool, and includes the steps of: outputting movement data, which is a command that instructs the movement of the drive axes based on a machining program MP; outputting a response error correction value that adjusts the response error between a command value and a measurement value based on the movement data; outputting an acceleration / deceleration correction value, which is a correction value for the movement data, based on the movement data and the response error correction value; measuring vibration characteristics of the machine tool 2 or acquiring them from specification values of the machine tool 2; and outputting a vibration error correction value, which is a correction value for the movement data, based on the vibration characteristics, movement data, and acceleration / deceleration correction value, wherein in the step of outputting the vibration error correction value, at least one of the jerk command, acceleration command, and speed command is increased or decreased in stages at a period shorter than the vibration period of the object to be blocked of the machine tool 2 so that the total value of the input amount does not change, while maintaining the amount of change per unit time of the response error to be equal to or less than an allowable value.
[0077] Fourth Embodiment In the fourth embodiment, a machining system 10 will be described. FIG. 27 is a diagram showing the configuration of the machining system 10 according to the fourth embodiment. The machining system 10 includes a numerical control device 1 and a machine tool 2. As described above, the numerical control device 1 may be the numerical control device 1A or the numerical control device 1B. The machine tool 2 includes, for example, an amplifier 21, motors 22-1 and 22-2, drive axes 23-1 and 23-2, a table 24, and a tool 25. A workpiece W is placed on the table 24. The drive axis 23-1 is a table drive axis that moves the table 24, and the drive axis 23-2 is a tool drive axis that rotates the tool 25. Note that, although two drive axes 23-1 and 23-2 are shown here as an example, the machine tool 2 may have drive axes other than those shown. The amplifier 21 converts a control command output by the numerical control device 1 into a current and outputs the current to the motors 22-1 and 22-2. The motors 22-1 and 22-2 rotate using the current output from the amplifier 21. The drive shaft 23-1 converts the rotational motion of the motor 22-1 into the motion of the table 24. The drive shaft 23-2 converts the rotational motion of the motor 22-2 into the motion of the tool 25.
[0078] As described above, the machining system 10 according to the fourth embodiment comprises a machine tool 2 having a plurality of drive axes 23-1, 23-2 that change the relative position between the workpiece W, which is the object to be machined, and the tool 25, and a numerical control device 1 that controls the machine tool 2. The numerical control device 1 comprises an analysis processing unit 11 that outputs movement data, which is a command that instructs the movement of the drive axes 23-1, 23-2 based on the machining program MP, a response error adjustment unit 12 that outputs a response error correction value that adjusts the response error between the command value and the measurement value based on the movement data, an acceleration / deceleration processing unit 13 that outputs an acceleration / deceleration correction value that is a correction value for the movement data based on the movement data and the response error correction value, and vibration error adjustment units 14A, 14B that output a vibration error correction value that is a correction value for the movement data based on the vibration characteristics of the machine tool 2 calculated from measurements or specification values of the machine tool 2, the movement data, and the acceleration / deceleration correction value. The vibration error adjustment units 14A, 14B maintain the amount of change in response error per unit time to be below an allowable value, while gradually increasing or decreasing at least one of the jerk command, acceleration command, and speed command at a period shorter than the vibration period of the object to be blocked on the machine tool 2 so that the total input amount does not change.
[0079] Next, the hardware configuration of the numerical control devices 1A and 1B will be described. The analysis processing unit 11, the response error adjustment unit 12, the acceleration / deceleration processing unit 13, and the vibration error adjustment units 14A and 14B are realized by processing circuits. These processing circuits may be realized by dedicated hardware or may be control circuits using a CPU (Central Processing Unit).
[0080] When the above processing circuits are realized by dedicated hardware, they are realized by a processing circuit 90 shown in Fig. 28. Fig. 28 is a diagram showing dedicated hardware for realizing the functions of the numerical control devices 1A and 1B according to the first and second embodiments. The processing circuit 90 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 combination thereof.
[0081] When the processing circuit is realized by a control circuit using a CPU, the control circuit is, for example, a control circuit 91 having a configuration shown in FIG. 29 . FIG. 29 is a diagram showing the configuration of the control circuit 91 for realizing the functions of the numerical control devices 1A and 1B according to the first and second embodiments. As shown in FIG. 29 , the control circuit 91 includes a processor 92 and a memory 93. The processor 92 is a CPU and is also called a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), etc. The memory 93 is, for example, a non-volatile or volatile semiconductor memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), an electrically programmable programmable read-only memory (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a digital versatile disk (DVD).
[0082] When the above processing circuit is realized by the control circuit 91, it is realized by the processor 92 reading and executing a program corresponding to the processing of each component element, which is stored in the memory 93. The memory 93 is also used as a temporary memory for each process executed by the processor 92. The program executed by the processor 92 may be provided in a state stored in a storage medium, or may be provided via a communication path such as the Internet.
[0083] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.
[0084] 1, 1A, 1B Numerical control device, 2 Machine tool, 10 Machining system, 11 Analysis processing unit, 12 Response error adjustment unit, 13 Acceleration / deceleration processing unit, 14A, 14B Vibration error adjustment unit, 21 Amplifier, 22-1, 22-2 Motor, 23-1, 23-2 Drive shaft, 24 Table, 25 Tool, 90 Processing circuit, 91 Control circuit, 92 Processor, 93 Memory, MP Machining program, P Parameter, W Workpiece.
Claims
1. In a numerical control device that controls a machine tool having a plurality of drive axes for changing the relative position between a workpiece and a tool, an analysis processing unit that outputs movement data which is a command for instructing the movement of the drive axes based on a machining program, a response error adjustment unit that outputs a response error correction value for adjusting the response error between the command value and the measured value based on the movement data, an acceleration / deceleration processing unit that outputs an acceleration / deceleration correction value which is a correction value of the movement data based on the movement data and the response error correction value, and a vibration error adjustment unit that outputs a vibration error correction value which is a correction value of the movement data based on the vibration characteristics of the machine tool measured or calculated from the specification values of the machine tool, the movement data, and the acceleration / deceleration correction value, and the vibration error adjustment unit maintains the change amount per unit time of the response error to be equal to or less than an allowable value, and stepwise increases or decreases at least one of the jerk command, the acceleration command, and the speed command at a period shorter than the vibration period of the cut-off target of the machine tool so that the total value of the input amounts does not change.
2. The numerical control device according to claim 1, wherein the vibration error adjustment unit stepwise increases or decreases at least one of the jerk command, the acceleration command, and the speed command at a period half of the vibration period of the cut-off target by a filter so that the total value of the input amounts does not change.
3. The vibration error adjustment unit outputs the vibration error correction value using a finite impulse response filter, and the transfer function M(s) of the finite impulse response filter has a vibration period T of the cut-off target n , when the filter gain is α, the numerical control device according to claim 1 or 2, characterized in that it is represented by the following mathematical formula (1).
4. The vibration error adjustment unit outputs the vibration error correction value using a k-stage multi finite impulse response filter, and the transfer function M k of the multi finite impulse response filter is such that when the vibration period of the cutoff target is T n、 and the filter gain is α i , the numerical control device according to claim 1 or 2, characterized in that it is represented by the following mathematical formula (2).
5. The vibration error adjustment unit according to any one of claims 1 to 4, wherein the vibration error adjustment unit outputs the vibration error correction value using a filter, obtains the vibration period of the cut-off target, the cut-off bandwidth which is the width of the vibration period of the cut-off target, and the allowable maximum gain, matches the center of the cut-off bandwidth with the frequency of the vibration period of the cut-off target, and sets the filter so that the maximum gain value of the cut-off bandwidth is smaller than the allowable maximum gain.
6. The numerical control device according to claim 1, wherein the vibration error adjustment unit detects the vibration waveform of the machine tool, estimates the vibration amplitude at the timing having an opposite phase to the vibration period of the cut-off target based on the detected vibration waveform, and outputs the vibration error correction value such that the vibration amplitude at the timing having the opposite phase becomes 0 based on the estimated value of the vibration amplitude.
7. A machining system comprising: a machine tool having a plurality of drive axes for changing the relative position between a workpiece and a tool; and a numerical control device for controlling the machine tool, wherein the numerical control device includes: an analysis processing unit that outputs movement data which is a command for instructing the movement of the drive axes based on a machining program; a response error adjustment unit that outputs a response error correction value for adjusting the response error between a command value and a measured value based on the movement data; a acceleration / deceleration processing unit that outputs an acceleration / deceleration correction value which is a correction value of the movement data based on the movement data and the response error correction value; and a vibration error adjustment unit that outputs a vibration error correction value which is a correction value of the movement data based on the vibration characteristics of the machine tool measured or calculated from the specification values of the machine tool, the movement data, and the acceleration / deceleration correction value, and the vibration error adjustment unit maintains the change amount per unit time of the response error to be equal to or less than an allowable value, and increases or decreases at least one of a jerk command, an acceleration command, and a speed command stepwise at a period shorter than the vibration period of the vibration cutoff target of the machine tool so that the total input amount does not change.
8. A control method executed by a numerical control device for controlling a machine tool having a plurality of drive axes for changing the relative position between a workpiece and a tool, the method including: outputting movement data which is a command for instructing the movement of the drive axes based on a machining program; outputting a response error correction value for adjusting the response error between a command value and a measured value based on the movement data; outputting an acceleration / deceleration correction value which is a correction value of the movement data based on the movement data and the response error correction value; measuring the vibration characteristics of the machine tool or obtaining the vibration characteristics from the specification values of the machine tool; outputting a vibration error correction value which is a correction value of the movement data based on the vibration characteristics, the movement data, and the acceleration / deceleration correction value, and in the step of outputting the vibration error correction value, maintaining the change amount per unit time of the response error to be equal to or less than an allowable value, and increasing or decreasing at least one of a jerk command, an acceleration command, and a speed command stepwise at a period shorter than the vibration period of the vibration cutoff target of the machine tool so that the total input amount does not change.
Citation Information
Patent Citations
Cutting adaptive control device for machine tool by detecting vibration
JP1994262486A
Servo controller
JP2009070396A
Numerical control apparatus
JP2016052692A
Electric motor control device and industrial-use mechanical device
WO2016125804A1
Numerical control device, learning device, and chattering vibration suppressing method
WO2022230008A1