Numerical control device

文档序号:310922 发布日期:2021-11-26 浏览:5次 中文

阅读说明:本技术 数控装置 (Numerical control device ) 是由 石田泰一 平光秀明 于 2019-04-11 设计创作,主要内容包括:NC装置在使用刀具对工件进行加工的工作机械中对使刀具或者工件旋转动作的机构的驱动源即电动机进行控制。NC装置具有:临时模型设定部(23),其求出表示机构所具有的旋转轴的位置偏移的现象即芯振动的模型函数,由此对通过芯振动产生的机械误差的临时模型进行设定;拟合处理部(24),其使模型函数与对机构的动作进行测定得到的结果即测定数据进行拟合,由此求出机械误差的模型即误差模型;以及校正部,其基于误差模型对向电动机的指令进行校正。(An NC apparatus controls a motor, which is a driving source of a mechanism for rotating a tool or a workpiece, in a machine tool for machining the workpiece using the tool. The NC device has: a temporary model setting unit (23) which sets a temporary model of a mechanical error caused by core vibration by obtaining a model function representing core vibration, which is a phenomenon of positional displacement of a rotary shaft of a mechanism; a fitting processing unit (24) that fits a model function to measurement data that is a result of measuring the operation of the mechanism, thereby obtaining an error model that is a model of mechanical errors; and a correction unit that corrects the command to the motor based on the error model.)

1. A numerical control device for controlling a motor, which is a drive source of a mechanism for rotating a tool or a workpiece, in a machine tool for machining the workpiece by using the tool,

the numerical control device is characterized by comprising:

a temporary model setting unit that sets a temporary model of a mechanical error caused by core vibration by obtaining a model function of the core vibration, which is a phenomenon in which a rotation axis of the mechanism is displaced;

a fitting processing unit that fits the model function to measurement data that is a result of measuring an operation of the mechanism, and thereby obtains an error model that is a model of the mechanical error; and

and a correction unit that corrects the command to the motor based on the error model.

2. The numerical control apparatus according to claim 1,

an interpolation processing unit for performing spline interpolation of the measurement data,

the correction unit performs a selected one of correction based on the error model and correction based on the spline interpolation.

3. The numerical control apparatus according to claim 1,

the fitting processing unit obtains a 1 st error model as the error model and obtains a 2 nd error model by fitting a polynomial to the measurement data,

the correction unit performs a selected one of correction based on the 1 st error model and correction based on the 2 nd error model.

4. The numerical control apparatus according to claim 3,

the fitting processing unit finds the 2 nd error model by fitting the measurement data with the polynomial to which a regularization term is added.

5. The numerical control apparatus according to any one of claims 1 to 4,

the measurement device includes a display unit that displays the measurement data and data of the correction amount based on the error model.

6. The numerical control apparatus according to any one of claims 1 to 5,

the period of the model function is synchronized with the rotation period of the rotation axis.

7. The numerical control apparatus according to any one of claims 1 to 6,

the center point of the rotary disk attached to the rotary shaft when the core vibration does not occur is set to coincide with the origin of the 1 st and 2 nd axes which are 2 axes perpendicular to each other,

setting a radius of the rotary disk to be P, setting a distance between the center point moved by the core vibration and the origin to be d, and setting P/d to be P', setting an angle formed by a line segment connecting the center point moved by the core vibration and the origin and the 1 st axis to be theta, and setting a variation amount generated by the core vibration, which represents an angle in a direction of the center point with reference to the origin, to be thetaAnd with the mechanical error set to alpha,

the model function is represented by the following formula (1),

[ formula 1 ]

8. The numerical control apparatus according to any one of claims 1 to 7,

n is set to an integer of 2 or more, the fitting processing section assumes the error model as an nth-order polynomial,

regarding 1 i-th point which is a division point when an angle range in which the rotation axis is rotated is divided into m, where m is a variable representing an integer greater than or equal to 2 and k is a variable representing an integer from 0 to n, a command angle which is a rotation angle corresponding to a command is set to θiLet the measured error be ziAnd setting the nth-order polynomial with theta as a variable to f (theta), and setting the k-order term in the nth-order polynomialIs set as ckIn the case of (a) in (b),

the fitting processing unit obtains c that minimizes J expressed by the following formula (2)kThereby fitting the nth order polynomial to the determined error,

[ formula 2 ]

9. The numerical control apparatus according to claim 8,

n is set to an integer of 2 or more, the fitting processing section assumes the error model as an nth-order polynomial,

m is an integer greater than or equal to 2, k is an integer from 0 to n, and regarding the ith point which is 1 of the division points when the angular range of the rotation of the rotating shaft is divided into m, the command angle which is the rotation angle corresponding to the command is set as thetaiAnd z represents the measured erroriAnd the nth-order polynomial with theta as a variable is set as f (theta), and the coefficient of the k-order term in the nth-order polynomial is set as ckWhen the regularization parameter is set to λ,

the fitting processing unit obtains c that minimizes J expressed by the following formula (3)kThereby fitting the nth order polynomial to the determined error,

[ formula 3 ]

Technical Field

The present invention relates to a numerical control device for controlling an industrial machine.

Background

A machine tool, which is an industrial machine, includes a drive shaft such as a spindle, which is a mechanism for changing a rotation angle of a workpiece or a tool, which is an object to be processed. A numerical control device that controls the machine tool controls the drive shaft. In the following description, the numerical control device is sometimes referred to as an nc (numerical control) device. Patent document 1 discloses an NC apparatus that controls a spindle of a machine tool.

Patent document 1: japanese laid-open patent publication No. 2-309401

Disclosure of Invention

In the control of the drive shaft by the NC apparatus, for example, an error may occur between an operation in accordance with a command and an actual operation due to a structure of the main shaft. As described above, an error due to the configuration that the mechanism has is referred to as a mechanical error. The mechanical error generated in the spindle is a mechanical error caused by core vibration, which is a phenomenon in which the position of the rotary shaft is shifted from the original position. In order to realize high-precision machining by a machine tool, the conventional NC apparatus disclosed in patent document 1 is required to correct a mechanical error caused by core vibration with high precision.

The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a numerical control device capable of correcting a mechanical error caused by a positional deviation of a rotary shaft with high accuracy.

In order to solve the above-described problems and achieve the object, a numerical control device according to the present invention controls a motor, which is a driving source of a mechanism for rotating a tool or a workpiece, in a machine tool for machining the workpiece using the tool. The numerical control device according to the present invention includes: a temporary model setting unit that sets a temporary model of a mechanical error caused by core vibration by obtaining a model function of the core vibration, which is a phenomenon that a rotation axis of a mechanism is displaced; a fitting processing unit that fits a model function to measurement data that is a result of measuring the operation of the mechanism, and thereby obtains an error model that is a model of a mechanical error; and a correction unit that corrects the command to the motor based on the error model.

ADVANTAGEOUS EFFECTS OF INVENTION

The numerical control device according to the present invention has an effect of enabling highly accurate correction of a mechanical error caused by a positional deviation of a rotary shaft.

Drawings

Fig. 1 is a diagram showing an NC apparatus and a machine tool controlled by the NC apparatus according to embodiment 1 of the present invention.

Fig. 2 is a diagram illustrating a core oscillation error and a cycle error in the spindle controlled by the NC apparatus shown in fig. 1.

Fig. 3 is a block diagram showing a core vibration error processing unit included in the NC apparatus shown in fig. 1.

Fig. 4 is a diagram showing a configuration for detecting a rotation angle in the spindle controlled by the NC apparatus shown in fig. 1.

Fig. 5 is a view 1 illustrating a core vibration error in the spindle controlled by the NC apparatus shown in fig. 1.

Fig. 6 is a view 2 illustrating a core vibration error in the spindle controlled by the NC apparatus shown in fig. 1.

Fig. 7 is a 3 rd view for explaining a core vibration error in the spindle controlled by the NC apparatus shown in fig. 1.

Fig. 8 is a diagram showing an example of a screen displayed on the display unit included in the NC apparatus shown in fig. 1.

Fig. 9 is a block diagram showing a hardware configuration of an NC apparatus according to embodiment 1 of the present invention.

Detailed Description

A numerical control device according to an embodiment of the present invention will be described in detail below with reference to the drawings. The present invention is not limited to the embodiments.

Embodiment 1.

Fig. 1 is a diagram showing an NC apparatus 1 according to embodiment 1 of the present invention and a machine tool 2 controlled by the NC apparatus 1. The machine tool 2 machines a workpiece 5 using a tool. The work machine 2 includes: a linear drive shaft 3 that changes the relative position of the workpiece 5 and the tool by linear motion; and a spindle 4 that changes a rotation angle of the tool or the workpiece 5 by a rotational motion. Fig. 1 shows a spindle 4 for rotating a workpiece 5. The spindle 4 has a shaft 37 as a rotation shaft. In fig. 1, the cutter is not shown.

The linear drive shaft 3 has: a servo motor 32 which is a drive source of the linear drive shaft 3; a servo amplifier 31 for operating a servo motor 32; a ball screw 33 rotated by driving of the servo motor 32; and a moving body 34 that moves in an axial direction parallel to the central axis of the ball screw 33 by rotation of the ball screw 33. The linear drive shaft 3 is a mechanism for converting the rotational motion of the ball screw 33 into a linear motion. The servo amplifier 31 operates the servo motor 32 in accordance with an axis command output from the NC apparatus 1. The NC apparatus 1 outputs an output shaft command to the servo amplifier 31 to control the servo motor 32.

The main shaft 4 has: a spindle motor 36 which is a drive source of the spindle 4; and a spindle amplifier 35 that operates a spindle motor 36. The chuck 38 fixes the workpiece 5 to a shaft 37 as an output shaft of the spindle motor 36. The main spindle 4 is a mechanism for rotating the workpiece 5 attached to the shaft 37. The spindle amplifier 35 operates a spindle motor 36 in accordance with an axis command output from the NC apparatus 1. The NC apparatus 1 outputs an output shaft command to the spindle amplifier 35 to control the spindle motor 36.

The NC apparatus 1 includes: a program acquisition unit 10 that acquires a machining program; a program analysis unit 11 that analyzes the acquired machining program; and an axis command generating unit 12 that generates an axis command based on the analysis result of the program analyzing unit 11. The axis command generating unit 12 generates an axis command for the linear drive axis 3 and an axis command for the main axis 4. The axis command generating unit 12 outputs the generated axis command to the adder 18 and the correction amount determining unit 16.

The NC apparatus 1 includes: a data acquisition unit 13 for acquiring measurement data of the mechanical error; an input unit 14 that accepts an operation for information input; a data processing unit 15 for executing processing of measurement data; and a display unit 20 for displaying information. The data processing unit 15 includes: a core vibration error processing unit 21 that performs data processing related to correction of the core vibration error; and a cycle error processing unit 22 that performs data processing related to cycle error correction. Details of the core vibration error processing unit 21 and the cycle error processing unit 22 will be described later.

The mechanical error of the spindle 4 is measured by a measuring instrument. In fig. 1, the measurement device is not shown. The data acquiring unit 13 inputs measurement data, which is a measurement result obtained by the measurement device. Information related to processing in the data processing unit 15 is input to the input unit 14 by an operation of a user of the NC apparatus 1. The data processing unit 15 performs data processing based on the measurement data introduced from the data acquisition unit 13 and the information input to the input unit 14. The display unit 20 displays information related to processing in the data processing unit 15.

The data processing unit 15 outputs error data, which is a result of the data processing, to the error data storage unit 17. The error data storage unit 17 stores error data. The correction amount determination unit 16 determines a correction amount for correcting the mechanical error based on the error data read from the error data storage unit 17. The correction amount determination unit 16 determines a correction amount, which is an angle for canceling the deviation from the specified rotation angle, with respect to the spindle 4. The correction amount determination unit 16 outputs the determined correction amount to the adder 18.

The adder 18 adds the determined correction amount to the value of the command angle for the main shaft 4. The correction amount determining unit 16 and the adder 18 function as a correcting unit that corrects the command to the spindle motor 36. The adder 18 outputs the added axis command subjected to the correction amount to the drive command unit 19. The drive command unit 19 outputs an axial command for the spindle 4 to the spindle amplifier 35. In the case of a mechanism in which the spindle 4 rotates a tool, the NC apparatus 1 can correct an axis command for the spindle 4, as in the case of a mechanism in which the spindle 4 rotates the workpiece 5.

The NC apparatus 1 corrects the axis command for the linear drive axis 3 by the correction amount determining unit 16 and the adder 18. In embodiment 1, the correction of the axis command for the linear drive shaft 3 is omitted from description.

Next, the core vibration error correction and the cycle error correction will be explained. Fig. 2 is a diagram illustrating a core oscillation error and a cycle error of the spindle 4 controlled by the NC apparatus 1 shown in fig. 1. The spindle 4 generates core vibration due to imbalance in the weight of the chuck 38, the workpiece 5, or the tool. The core vibration is a phenomenon in which the position of the shaft 37 is shifted from the original position. The rotational center position of the shaft 37 is shifted in a direction perpendicular to the center axis of the shaft 37 due to the core vibration. An error caused by the core vibration of the spindle 4 becomes a main component of a mechanical error generated in the spindle 4. The measuring instrument divides an angular range of 1 rotation of the spindle 4 into a plurality of angular ranges, and measures an error between an actual rotation angle and a command angle of the shaft 37 for each division point. The NC apparatus 1 corrects the command angle based on an error model obtained from the measurement data or interpolation data obtained from the measurement data. As described above, the NC apparatus 1 can reduce the machine error of the spindle 4 based on the measurement data of the error for each division point. The NC apparatus 1 corrects the command position or the command angle based on the measurement data of the error for each division point, thereby performing the core vibration error correction.

Here, the cycle of the waveform representing the core vibration error shown in fig. 2 is synchronized with the rotation cycle of the spindle 4. The period of the core vibration error shown in fig. 2 coincides with the rotation period of the spindle 4.

The mechanical error generated in the main shaft 4 includes a core vibration error component and a periodic error component which is an error periodically generated. The cycle error of the spindle 4 is caused by a position detector attached to the spindle motor 36. The position detector detects the rotation angle of the spindle motor 36. The spindle amplifier 35 drives the spindle motor 36 so that the value of the rotation angle detected by the position detector follows the command position. In fig. 1, the position detector in the spindle motor 36 is not shown. In the following description, the periodic error correction means that an error model is determined as an arbitrary waveform, and an arbitrary period is determined to periodically correct an error. As shown in fig. 2, the period error has a characteristic of vibrating at a period shorter than that of the core vibration error. The NC apparatus 1 corrects a mechanical error by using both the core vibration error correction, which is a correction relating to the core vibration error component, and the cycle error correction, which is a correction relating to the cycle error component, with respect to the spindle 4.

The data acquisition unit 13 acquires measurement data of an error for each division point with respect to the spindle 4. The core vibration error processing unit 21 executes data processing for correcting the core vibration error based on the measurement data. The error data storage unit 17 stores error data, which is an error model or interpolation data obtained by the data processing performed by the core vibration error processing unit 21. The core vibration error processing unit 21 will be described in detail later.

The data acquisition unit 13 acquires measurement data of a cycle error occurring in the spindle 4. The cycle error processing unit 22 executes data processing for cycle error correction based on the measurement data. The cycle error processing unit 22 determines an arbitrary cycle based on the measurement data, and obtains error data for periodic correction. The error data storage unit 17 stores error data obtained by the data processing performed by the cycle error processing unit 22.

The correction amount determining unit 16 reads an error amount corresponding to a command position in the axis command from the error data storage unit 17 with respect to the core vibration error correction of the spindle 4 and the cycle error correction of the spindle 4. The correction amount determination unit 16 obtains a value of the correction amount corresponding to the command position by inverting the sign of the read value of the error amount. The correction amount determination unit 16 determines a correction amount corresponding to the command position for the core vibration error correction and the cycle error correction. The correction amount determination unit 16 obtains the sum of the correction amount for correcting the core vibration error and the correction amount for correcting the period error with respect to the spindle 4, and outputs the obtained sum to the adder 18. As described above, the NC apparatus 1 sets the sum of the correction amount for the core vibration error correction and the correction amount for the cycle error correction as the correction amount for correcting the mechanical error, and corrects the axis command regarding the spindle 4.

Next, the core vibration error processing unit 21 will be explained. Fig. 3 is a block diagram showing the core vibration error processing unit 21 included in the NC apparatus 1 shown in fig. 1. The core vibration error processing unit 21 includes a temporary model setting unit 23 that calculates a model function representing a phenomenon that is a factor of a mechanical error that can occur in the mechanism, thereby setting a temporary model of the mechanical error. The core vibration error processing unit 21 includes a fitting processing unit 24 that fits a model function to measurement data that is a result of measuring the operation of the mechanism, and thereby obtains an error model that is a model of the mechanical error. The core vibration error processing unit 21 includes an interpolation processing unit 25 that performs interpolation processing of measurement data.

The NC apparatus 1 sets a temporary model in consideration of the structure of the mechanism, and obtains an error model by fitting a model function of the temporary model to measurement data. The period of the model function is synchronized with the period of rotation of the shaft 37. The NC apparatus 1 determines a correction amount for pitch error correction based on the error model. When the error model deviates from the actual error or when the setting of the provisional model is difficult, the NC apparatus 1 can determine the correction amount by spline interpolation of the measurement data.

Next, the processing performed by the core vibration error processing unit 21 will be described. Fig. 4 is a diagram showing a configuration for detecting a rotation angle in the spindle 4 controlled by the NC apparatus 1 shown in fig. 1. In fig. 4, the shaft 37 and the position detector 40 among the main shafts 4 shown in fig. 1 are shown. The position detector 40 has a light emitting body, i.e., a light emitting diode 41, a fixed slit 42, and a light receiving body, i.e., a photodiode 43.

The photodiode 43 detects light from the light emitting diode 41. The fixing slit 42 is disposed between the light emitting diode 41 and the photodiode 43. The fixed slits 42 are provided with an a-phase slit 45 and a B-phase slit 46 through which light can pass. The photodiode 43 detects light that has passed through the a-phase slit 45 and light that has passed through the B-phase slit 46. The photodiode 43 outputs an a-phase signal indicating a detection result of light having passed through the a-phase slit 45 and a B-phase signal indicating a detection result of light having passed through the B-phase slit 46.

A rotary disk 44 is attached to the shaft 37 to rotate together with the shaft 37. The center of the rotating disk 44 coincides with the axial center of the shaft 37. The rotary disk 44 rotates about the shaft 37. A plurality of teeth arranged at equal intervals are provided on the outer periphery of the rotating disk 44. Light from the light emitting diode 41 reaches the teeth, is blocked from entering the photodiode 43, and enters the photodiode 43 when passing between the teeth.

The position detector 40 counts the number of teeth before passing through both the a-phase slit 45 and the B-phase slit 46 based on the pulse number of the a-phase signal and the pulse number of the B-phase signal. The position detector 40 detects the rotation angle of the shaft 37 based on the count value of the teeth. The position detector 40 detects the rotation direction of the shaft 37 based on the phase difference between the a-phase signal and the B-phase signal.

Fig. 5 is a view 1 illustrating a core vibration error in the spindle 4 controlled by the NC apparatus 1 shown in fig. 1. Fig. 6 is a view 2 illustrating a core vibration error in the spindle 4 controlled by the NC apparatus 1 shown in fig. 1. In fig. 5 and 6, a change in the positional relationship between the position detector 40 and the rotary table 44 will be described. In the case where a mechanical error caused by core vibration of spindle motor 36 is generated in spindle 4, rotary disk 44 moves together with shaft 37, whereby the positional relationship of position detector 40 and rotary disk 44 changes.

Fig. 5 shows a state in which 1 tooth 47 out of a plurality of teeth of the rotary disk 44 is detected by the position detector 40, with respect to the rotary disk 44 in a case where no core vibration occurs. Point O is set to the center of the rotating disk 44 in the case where no core vibration occurs.

In fig. 6, a rotating disk 44 is shown in the case where core vibration occurs. Point C is the center of the rotating disk 44 in the case where the core vibration occurs. In the example shown in fig. 6, the amount of movement of the rotating disk 44 by the core vibration, i.e., the length between the point O and the point C, is set to "d". In addition, 1 tooth 48 different from the above-described tooth 47 among the plurality of teeth of the rotary disk 44 is detected by the position detector 40 due to the movement of the rotary disk 44. The angle between the teeth 47 and 48 corresponds to the mechanical error of the spindle 4, i.e., the error E, due to the core vibration of the spindle motor 36.

Fig. 7 is a 3 rd view for explaining a core vibration error in the spindle 4 controlled by the NC apparatus 1 shown in fig. 1. In fig. 7, the temporary model set in the temporary model setting unit 23 will be described by taking a model of the phenomenon of core vibration shown in fig. 6 as an example. In fig. 7, an X axis as a 1 st axis and a Y axis as a 2 nd axis are set as 2 axes perpendicular to each other. The origin of the X-axis and the Y-axis is set to point O. In fig. 7, circles 51 and 52 are shown to simplify the planar shape of the rotating disk 44. Circle 51 indicates the rotating disk 44 in the case where no core vibration occurs. Circle 52 indicates the rotating disk 44 in the case where the core vibration occurs. The radii of the circles 51 and 52 are each set to "P". The center point of the circle 51 coincides with the point O.

In fig. 7, the amount of movement of the rotary disk 44 due to the core vibration is "d" as in fig. 6. The center point of the rotating disk 44 moves due to the core vibration. The center of the circle 52, point C, is the center point of the rotating disk 44 when the core vibration occurs. The point C is set to move along the circle 53 due to the core vibration. Circle 53 is a circle centered at point O and having a radius "d". Due to the phenomenon of core vibration, the circle 53 is set to 1 cycle at the point C during 1 cycle of rotation of the shaft 37.

The circle 51 is represented by the following formula (1). The circle 53 is expressed by the following formula (2).

[ formula 1 ]

x2+y2=P2…(1)

[ formula 2 ]

x2+y2=d2…(2)

Regarding a point C ' on the X axis, a line segment OC ' and a line segment C ' C are perpendicular to each other, and are set to ═ COC ═ θ. Here, θ is an angle formed by a line segment OC connecting a point C, which is a center point moved by the core vibration, and a point O, and the X axis. The circle 52 is represented by the following formula (3). The point a, which is the intersection of the circle 52 and the Y-axis, indicates the position of the tooth 48 shown in fig. 6. The point B 'which is the intersection of the circle 52 and the extension of the line segment C' C of Y > 0 indicates the position of the tooth 47 shown in FIG. 6.

[ formula 3 ]

(x-d cosθ)2+(y-d sinθ)2=P2…(3)

With respect to the point B on the line segment CB', the line segment CB and the line segment AB are perpendicular to each other, and the length of the line segment AB is represented by the following equation (4). In equation (4), "AB" represents the length of the line segment AB, "O 'C" represents the length of the line segment O' C, and "OC '" represents the length of the line segment OC'.

[ formula 4 ]

O′C=OC′=AB=d cosθ…(4)

The length of line segment AC is the radius of circle 52, i.e., "P". If ═ ACB is α, the following formula (5) is satisfied by the above formula 4. In addition, the following formula (6) is established by the formula (5). In equation (5), "AB" represents the length of line segment AB, and "AC" represents the length of line segment AC.

[ FORMULA 5 ]

[ formula 6 ]

Here, "P/d" represented by the above formula (6) is replaced with "P'". In addition, considering the case where the reference position of "θ" is unknown, the "θ" represented by the above formula (6) is replaced with Show is additionally provided withThe phase of (c). By these substitutions, the above formula (6) is expressed by the following formula (7).And a change amount due to the core vibration indicating an angle in the direction of the center point of the rotating disk 44 with respect to the point O.

[ formula 7 ]

"α" represented by the above formula (7) is an angle corresponding to the above error E. Equation (7) represents a model function relating to a mechanical error of the spindle 4 generated by the core vibration of the spindle motor 36. The temporary model setting unit 23 shown in fig. 3 sets the model function shown in the above equation (7) to the temporary model with respect to the mechanical error caused by the core vibration phenomenon. As described above, the temporary model setting unit 23 can set the temporary model by simple modeling with respect to the phenomenon of the core vibration.

The temporary model setting unit 23 performs processing up to setting of the temporary model by an input operation performed by the user. The temporary model setting unit 23 generates a temporary model using the condition value input by the user. The condition values are "P" and "d" and the like as described above. The temporary model setting unit 23 can acquire a model function created by a device external to the NC apparatus 1, thereby setting a temporary model. The temporary model setting unit 23 may be an ellipse instead of a circle, as the locus of the point C formed by the core vibration. The temporary model setting unit 23 can appropriately set the shape of the trajectory representing the point C in accordance with the characteristics of the spindle motor 36.

Next, fitting of a temporary model to the measurement data will be described by taking a model function relating to a mechanical error of the spindle 4 caused by the core vibration as an example. The fitting processing unit 24 performs fitting by the least square method. The above formula (7) is represented by the formula,And "P'" is a multivariable function with arguments. The above formula (7) is erased and written as shown in the following formula (8).

[ formula 8 ]

Measuring an error caused by core vibration of the spindle 4 by dividing an angle range of 1 rotation of the spindle 4 by mThe fixed data is { (theta)i,zi) (ii) a i ═ 1, ·, m }. "m" is an integer greater than or equal to 2. "thetai"is a rotation angle corresponding to the command, and the rotation angle at the ith point which is 1 of the division points. "z" isi"is the error measured at the i-th point.

The fitting processing unit 24 obtains a function of "J" represented by the following expression (9) to be minimizedAnd "P'", thereby performing fitting.

[ formula 9 ]

The fitting processing unit 24 obtains a nonlinear error model by a nonlinear least square method. In the fitting performed by the fitting processing unit 24, a gaussian-newton method, which is a representative nonlinear least squares method, can be used. Methods other than the gauss-newton method may be used in the fitting. The fitting processing unit 24 can output the error model obtained by the fitting to the error data storage unit 17.

Instead of fitting to the temporary model described above, the fitting processing unit 24 may fit a 1-variable polynomial to the measurement data to obtain an error model. When the error model obtained by the above equation (9) deviates from the actual error, the fitting processing unit 24 may obtain an error model close to the actual error by fitting a polynomial.

In the fitting by the polynomial equation, the fitting processing unit 24 assumes the error model as an nth-order polynomial equation expressed by the following equation (10). Equation (10) is a polynomial equation in which "θ" is set as a variable. "ck"denotes the coefficient of the term of degree k. "n" is an integer greater than or equal to 2. "k" is set as a variable representing an integer of 0 to n.

[ formula 10 ]

The fitting processing unit 24 obtains "c" that minimizes the function of "J" shown in the following expression (11)k", thereby performing the fitting.

[ formula 11 ]

The fitting processing unit 24 uses "c" as a minimum variablek"linear, so" c "can be obtained by the well-known least square methodk". The fitting processing unit 24 sets a value of "n" which is the highest degree of the polynomial expression in advance. The value of "n" can be set by an input operation performed by the user. The NC apparatus 1 can select correction based on fitting by the temporary model and correction based on fitting by the polynomial expression, thereby making it possible to perform highly accurate correction of the mechanical error.

The fitting processing unit 24 may add a regularization term to the error model of the polynomial. The fitting processing unit 24 can obtain the following expression (12) by adding a regularization term to the expression (11). The fitting processing unit 24 obtains "c" that minimizes the function of "J" shown in equation (12)k", thereby performing the fitting.

[ formula 12 ]

In the above equation (12), "λ" is set as a regularization parameter. The fitting processing unit 24 sets a value of "λ" in advance. The value of "λ" can be set by an input operation performed by the user. Overfitting, which may occur as the value of "n" described above becomes larger, occurs because the coefficients of the polynomial become too large. The additional presence of the regularization term prevents the effect of the coefficients from becoming too large.

The fitting processing unit 24 can effectively suppress overfitting by adding the regularization term. Thus, the fitting processing unit 24 can obtain an error model with high versatility.

Next, the interpolation process performed by the interpolation processing unit 25 will be described. The interpolation processing unit 25 performs the measurement data { (θ)i,zi) (ii) a Spline interpolation of i ═ 1, · · ·, m }. The interpolation processing unit 25 sets the degree of a polynomial to be used for spline interpolation in advance. The interpolation processing unit 25 can set an arbitrary number of times. The number of times can be set by an input operation performed by the user. The interpolation processing unit 25 outputs the interpolation data obtained by spline interpolation to the error data storage unit 17.

When the error model obtained by the fitting processing unit 24 deviates from the actual error or when the setting of the temporary model is difficult, the NC apparatus 1 can correct the pitch error by spline interpolation of the measurement data. The NC apparatus 1 can select the correction by the error model and the correction by the spline interpolation, thereby performing highly accurate correction of the mechanical error.

As described above, the NC apparatus 1 can select one of the correction based on the error model obtained by the fitting processing unit 24 and the correction based on the spline interpolation performed by the interpolation processing unit 25, and perform the pitch error correction. The NC apparatus 1 can select the correction by the error model and the correction by the spline interpolation according to an input operation to the input unit 14 by the user.

The NC apparatus 1 can select one of a 1 st error model, which is an error model obtained by fitting a provisional model, and a 2 nd error model, which is an error model obtained by fitting a polynomial, for correction based on the error model. The NC apparatus 1 can select the correction based on the 1 st error model and the correction based on the 2 nd error model with respect to the correction based on the error model by the input operation to the input unit 14 by the user.

The interpolation processing unit 25 may perform linear interpolation of the measurement data in addition to the spline interpolation. In this case, the NC apparatus 1 can select one of spline interpolation and linear interpolation for correction based on the result of the interpolation processing. The NC apparatus 1 can select the correction by the spline interpolation and the correction by the linear interpolation by the input operation to the input unit 14 by the user.

As described above, the NC apparatus 1 can select any correction from the 1 st error model correction, the 2 nd error model correction, the spline interpolation correction, and the linear interpolation correction, and perform the core vibration error correction.

Fig. 8 is a diagram showing an example of a screen displayed on the display unit 20 included in the NC apparatus 1 shown in fig. 1. In fig. 8, "linear interpolation" indicates a correction form based on the above-described linear interpolation. "spline interpolation" means a correction form based on the spline interpolation described above. "polynomial fit" means a form of correction based on the 2 nd error model described above. "provisional model fitting" means a form of correction based on the 1 st error model described above. The user refers to the contents displayed on the screen of the display unit 20, and specifies 1 of the correction formats by operating the input unit 14.

The core vibration error processing unit 21 outputs error data for performing specified correction to the error data storage unit 17 if a signal corresponding to an input operation is received from the input unit 14. When "linear interpolation" is designated, the interpolation data, which is the result of the linear interpolation performed by the interpolation processing unit 25, is stored as error data in the error data storage unit 17. When "spline interpolation" is designated, the error data storage unit 17 stores, as error data, interpolation data that is a result of spline interpolation performed by the interpolation processing unit 25.

When "polynomial fitting" is specified, the 2 nd error model is stored as error data in the error data storage unit 17. When "provisional model fitting" is designated, the 1 st error model is stored as error data in the error data storage unit 17. The correction amount determination unit 16 determines a correction amount for correcting the core vibration error based on the error data read from the error data storage unit 17. Thus, the NC apparatus 1 selects an arbitrary correction, and performs the core vibration error correction. When "polynomial fitting" is specified, the NC apparatus 1 may determine whether or not the regularization term is added by an input by the user.

The display unit 20 may acquire the measurement data and the data of the correction amount based on the error model from the fitting processing unit 24, and display the measurement data and the data of the correction amount. The data of the correction amount is obtained by inverting the sign of the error data. The display unit 20 may acquire the measurement data and the data of the correction amount by the interpolation processing from the interpolation processing unit 25, and display the measurement data and the data of the correction amount. This allows the user to confirm the effect of correction on the measured error for each correction format.

The NC apparatus 1 can change the error amount displayed on the screen in accordance with an input operation of changing the value of "n" which is the highest degree of the polynomial, with respect to the error amount based on the 2 nd error model. Thus, the user can adjust the value of "n" while checking the error amount. The NC apparatus 1 may change the value of the error amount displayed on the screen in association with an input operation of changing the value of "λ" which is a regularization parameter, with respect to the 2 nd error model to which the regularization term is added. Thus, the user can adjust the value of "λ" while checking the error amount.

The NC apparatus 1 can perform sampling of the command angle in the case where the core vibration error correction is performed and the command angle in the case where the core vibration error correction is not performed with respect to the spindle 4. The user can determine the effect of improvement by the core vibration error correction by confirming the difference between the command angles of the two based on the result of the sampling. The user can measure the rotation angle when the core vibration error correction is performed and the rotation angle when the core vibration error correction is not performed by the measuring instrument, and confirm the rotation angles of the two based on the measurement results.

Next, a hardware configuration of the NC apparatus 1 will be explained. Each functional unit of the NC apparatus 1 shown in fig. 1 is realized by executing a numerical control program, which is a program for executing the numerical control method according to embodiment 1, using hardware.

Fig. 9 is a block diagram showing a hardware configuration of the NC apparatus 1 according to embodiment 1 of the present invention. The NC apparatus 1 includes a cpu (central Processing unit)61 that executes various processes, a ram (random Access memory)62 including a data storage area, a rom (read Only memory)63 that is a nonvolatile memory, and an external storage device 64. The NC apparatus 1 further includes an input interface 65 for inputting information into the NC apparatus 1, an input device 66 for accepting an input operation, and a display 67 for displaying information on a screen. Each portion shown in fig. 9 is connected to each other via a bus 68.

The CPU 61 executes programs stored in the ROM 63 and the external storage device 64. The functions of the program acquisition unit 10, the program analysis unit 11, the axis command generation unit 12, the data processing unit 15, the correction amount determination unit 16, the adder 18, and the drive command unit 19 shown in fig. 1 are realized using the CPU 61. The external storage 64 is an HDD (hard Disk drive) or SSD (solid State drive). The external storage device 64 stores a numerical control program and various information. The function of the error data storage section 17 shown in fig. 1 is realized using the external storage device 64.

The ROM 63 stores software or a program for controlling hardware, such as BIOS (Basic Input/Output System) or uefi (universal Extensible Firmware interface), which is a program for performing Basic control of the NC apparatus 1, i.e., a computer or a controller. Further, the numerical control program may be stored in the ROM 63.

Programs stored in the ROM 63 and the external storage device 64 are loaded into the RAM 62. The CPU 61 expands the numerical control program in the RAM 62 to execute various processes. The input interface 65 is a connection interface with a device external to the NC apparatus 1. The function of the data acquisition unit 13 shown in fig. 1 is realized using the input interface 65.

The input device 66 is a device for information input such as a keyboard or a pointing device. The function of the input section 14 shown in fig. 1 is realized using an input device 66. The display 67 is a display device such as a liquid crystal display or an organic EL display. The function of the display unit 20 shown in fig. 1 is realized using the display 67.

The numerical control program may be stored in a computer-readable storage medium. The NC apparatus 1 may store the numerical control program stored in the storage medium to the external storage device 64. The storage medium may be a floppy disk, i.e., a removable storage medium, or a semiconductor memory, i.e., a flash memory. The NC program may be installed from another computer or a server apparatus to a computer or a controller serving as the NC apparatus 1 via a communication network.

The functions of the NC apparatus 1 may be realized by dedicated hardware, i.e., a processing circuit. The processing circuit 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. The functions of the NC apparatus 1 may be implemented partly by dedicated hardware and partly by software or firmware.

The NC apparatus 1 is not limited to an apparatus outside the machine tool 2, and may be included in the machine tool 2. The functional units of the NC apparatus 1 are not limited to being integrated in 1 apparatus, and may be distributed among a plurality of apparatuses. The NC apparatus 1 may be implemented by using 1 apparatus, or may be implemented by using a plurality of apparatuses. The method of correcting the core vibration error by the NC apparatus 1 is applicable to control of industrial machines other than the machine tool 2.

According to embodiment 1, the NC apparatus 1 obtains a model function indicating a phenomenon that can occur in a mechanism, sets a temporary model in consideration of a structure of the mechanism, and fits the model function to measurement data. The NC apparatus 1 can correct the mechanical error with high accuracy by fitting the temporary model. The NC apparatus 1 can reduce the load required for error measurement compared to a case where the correction accuracy is improved by increasing the number of division points. The NC apparatus 1 can select correction by fitting of a temporary model, correction by fitting of a polynomial, and correction by spline interpolation, thereby making it possible to perform highly accurate correction of a mechanical error. As described above, the NC apparatus 1 has an effect of being able to realize highly accurate correction of a mechanical error caused by a positional deviation of the rotation axis.

In embodiment 1, the case of correcting the core vibration error of the main shaft 4 is described, but it is needless to say that embodiment 1 can be applied to the correction of the core vibration error even when the drive shaft other than the main shaft 4 is rotated.

The configuration described in the above embodiment is an example of the content of the present invention, and may be combined with other known techniques, and a part of the configuration may be omitted or modified without departing from the scope of the present invention.

Description of the reference numerals

1 NC device, 2 machine tools, 3 linear drive shafts, 4 spindles, 5 workpieces, 10 program acquisition units, 11 program analysis units, 12-axis command generation units, 13 data acquisition units, 14 input units, 15 data processing units, 16 correction amount determination units, 17 error data storage units, 18 adders, 19 drive command units, 20 display units, 21-core vibration error processing units, 22-cycle error processing units, 23 temporary model setting units, 24 fitting processing units, 25 interpolation processing units, 31 servo amplifiers, 32 servo motors, 33 ball screws, 34 moving bodies, 35 spindle amplifiers, 36 spindle motors, 37 axes, 38 chucks, 40 position detectors, 41 light emitting diodes, 42 fixed slits, 43 photodiodes, 44 rotating disks, 45A phase slits, 46B phase slits, 47, 48 teeth, 51, 52, 53 circles, 61 CPUs, 62 RAMs, 63 ROMs, 64 external storage, 65 input interface, 66 input device, 67 display, 68 bus.

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:加工条件决定辅助装置及机器学习装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类