WO2020208783A1 - Numerical control device - Google Patents

Numerical control device Download PDF

Info

Publication number
WO2020208783A1
WO2020208783A1 PCT/JP2019/015841 JP2019015841W WO2020208783A1 WO 2020208783 A1 WO2020208783 A1 WO 2020208783A1 JP 2019015841 W JP2019015841 W JP 2019015841W WO 2020208783 A1 WO2020208783 A1 WO 2020208783A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
model
runout
processing unit
correction
Prior art date
Application number
PCT/JP2019/015841
Other languages
French (fr)
Japanese (ja)
Inventor
泰一 石田
秀明 平光
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201980095057.5A priority Critical patent/CN113711143A/en
Priority to JP2019555997A priority patent/JP6719684B1/en
Priority to PCT/JP2019/015841 priority patent/WO2020208783A1/en
Publication of WO2020208783A1 publication Critical patent/WO2020208783A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia

Definitions

  • the present invention relates to a numerical control device that controls an industrial machine.
  • Some machine tools which are industrial machines, have a drive shaft such as a spindle, which is a mechanism for changing the rotation angle of the work or tool that is the object to be machined.
  • the numerical control device that controls such a machine tool controls the drive shaft.
  • the numerical control device may be referred to as an NC (Numerical Control) device.
  • Patent Document 1 discloses an NC device that controls a spindle of a machine tool.
  • the spindle may cause an error between the operation according to the command and the actual operation due to the structure of the spindle.
  • Such an error caused by the structure of the mechanism is called a mechanical error.
  • Mechanical errors that occur in the spindle include mechanical errors caused by runout, which is a phenomenon in which the position of the rotating shaft deviates from the original position.
  • the conventional NC apparatus disclosed in Patent Document 1 is required to correct mechanical errors due to runout with high accuracy.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device capable of highly accurate correction of mechanical errors caused by a shift in the position of a rotating shaft.
  • the numerical control device controls a motor which is a drive source of a mechanism for rotating a tool or a work in a machine tool for machining a work using a tool.
  • the numerical control device has a temporary model setting unit and a mechanism for setting a temporary model of mechanical error due to center runout by obtaining a model function representing runout, which is a phenomenon in which the position of the rotation axis of the mechanism shifts.
  • a fitting processing unit that obtains an error model, which is a model of mechanical error, by fitting a model function to the measurement data that is the result of measuring the operation of, and a correction unit that corrects commands to the motor based on the error model. Be prepared.
  • the numerical control device has the effect of enabling highly accurate correction of mechanical errors caused by the displacement of the rotation axis.
  • the figure explaining the runout error and the periodic error in the spindle controlled by the NC apparatus shown in FIG. A block diagram showing a runout error processing unit included in the NC device shown in FIG.
  • the figure which shows the structure for detecting the rotation angle of the spindle controlled by the NC apparatus shown in FIG. The first figure explaining the runout error in the spindle controlled by the NC apparatus shown in FIG.
  • the figure which shows the example of the screen displayed on the display part of the NC apparatus shown in FIG. A block diagram showing a hardware configuration of an NC device according to a first embodiment of the present invention.
  • FIG. 1 is a diagram showing an NC device 1 according to a first embodiment of the present invention and a machine tool 2 controlled by the NC device 1.
  • the machine tool 2 processes the work 5 using a tool.
  • the machine tool 2 has a linear drive shaft 3 that changes the relative position between the work 5 and the tool by a linear motion, and a spindle 4 that changes the rotation angle of the tool or the work 5 by a rotary motion.
  • FIG. 1 shows a spindle 4 for rotating the work 5.
  • the main shaft 4 has a shaft 37 which is a rotation shaft. In FIG. 1, the illustration of the tool is omitted.
  • the linear drive shaft 3 is formed by the servomotor 32 that is the drive source of the linear drive shaft 3, the servo amplifier 31 that operates the servomotor 32, the ball screw 33 that is rotated by driving the servomotor 32, and the ball screw 33 that is rotated. It has a moving body 34 that moves in an axial direction parallel to the central axis of the ball screw 33.
  • the linear drive shaft 3 is a mechanism that converts the rotational motion of the ball screw 33 into a linear motion.
  • the servo amplifier 31 operates the servomotor 32 according to the axis command output from the NC device 1.
  • the NC device 1 controls the servomotor 32 by outputting an axis command to the servo amplifier 31.
  • the spindle 4 has a spindle motor 36 that is a drive source of the spindle 4 and a spindle amplifier 35 that operates the spindle motor 36.
  • the chuck 38 fixes the work 5 to the shaft 37, which is the output shaft of the spindle motor 36.
  • the spindle 4 is a mechanism for rotating the work 5 attached to the shaft 37.
  • the spindle amplifier 35 operates the spindle motor 36 according to the axis command output from the NC device 1.
  • the NC device 1 controls the spindle motor 36 by outputting an axis command to the spindle amplifier 35.
  • the NC device 1 includes a program acquisition unit 10 for acquiring a machining program, a program analysis unit 11 for analyzing the acquired machining program, and an axis command generation unit 12 for generating an axis command based on the analysis result by the program analysis unit 11. And have.
  • the axis command generation unit 12 generates an axis command for the linear drive shaft 3 and an axis command for the spindle 4.
  • the axis command generation unit 12 outputs the generated axis command to the adder 18 and the correction amount determination unit 16.
  • the NC device 1 includes a data acquisition unit 13 for acquiring measurement data of machine error, an input unit 14 for receiving an operation for inputting information, a data processing unit 15 for executing measurement data processing, and a display for displaying information. It has a part 20 and.
  • the data processing unit 15 has a runout error processing unit 21 that is responsible for data processing for runout error correction, and a periodic error processing unit 22 that is responsible for data processing for periodic error correction. The details of the runout error processing unit 21 and the periodic error processing unit 22 will be described later.
  • the mechanical error of the spindle 4 is measured by a measuring device.
  • the data acquisition unit 13 acquires measurement data which is a measurement result by the measuring device.
  • Information about the processing in the data processing unit 15 is input to the input unit 14 by the operation of the user of the NC device 1.
  • the data processing unit 15 executes data processing based on the measurement data fetched 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 the error data that is the result of the data processing to the error data storage unit 17.
  • the error data storage unit 17 stores the error data.
  • the correction amount determination unit 16 determines the 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 the correction amount, which is an angle for canceling the deviation from the commanded rotation angle of 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 with respect to the spindle 4.
  • the correction amount determining unit 16 and the adder 18 function as a correction unit for correcting a command to the spindle motor 36.
  • the adder 18 outputs an axis command after the correction amount has been added to the drive command unit 19.
  • the drive command unit 19 outputs a shaft command for the spindle 4 to the spindle amplifier 35. Note that the NC device 1 can correct the axis command to the spindle 4 even when the spindle 4 is a mechanism for rotating the tool, as in the case where the spindle 4 is a mechanism for rotating the work 5.
  • the NC device 1 also corrects the shaft command for the linear drive shaft 3 by the correction amount determining unit 16 and the adder 18.
  • the description of the correction of the axis command with respect to the linear drive shaft 3 will be omitted.
  • FIG. 2 is a diagram illustrating a runout error and a periodic error in the spindle 4 controlled by the NC device 1 shown in FIG.
  • the spindle 4 causes runout due to the uneven weight of the chuck 38, the work 5, or the tool.
  • Center runout is a phenomenon in which the position of the shaft 37 deviates from the original position. Due to the runout, the rotation center position of the shaft 37 shifts in the direction perpendicular to the center axis of the shaft 37.
  • the error due to the runout of the spindle 4 is a main component of the mechanical error generated in the spindle 4.
  • the above-mentioned measuring device divides the angle range of one rotation of the spindle 4 into a plurality of parts, and measures the error between the actual rotation angle of the shaft 37 and the command angle for each division point.
  • the NC device 1 corrects the command angle based on the error model obtained from the measurement data or the interpolation data obtained from the measurement data. In this way, the NC device 1 can reduce the mechanical error of the spindle 4 based on the measurement data of the error at each division point.
  • the NC device 1 corrects the runout error by correcting the command position or the command angle based on the measurement data of the error for each division point.
  • the period of the waveform representing the runout error shown in FIG. 2 is synchronized with the rotation period of the spindle 4.
  • the period of the runout error shown in FIG. 2 coincides with the rotation period of the spindle 4.
  • the mechanical error that occurs in the spindle 4 includes a runout error component and a periodic error component that is an error that occurs periodically.
  • the periodic error of the spindle 4 is caused by the 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 commanded position. In FIG. 1, the position detector in the spindle motor 36 is not shown.
  • periodic error correction refers to defining an error model as an arbitrary waveform and defining an arbitrary period to periodically correct the error.
  • the periodic error has a characteristic of vibrating in a period shorter than the period of the runout error.
  • the NC device 1 corrects the mechanical error of the spindle 4 by using both the runout error correction, which is a correction for the runout error component, and the periodic error correction, which is a correction for the periodic error component.
  • the data acquisition unit 13 acquires measurement data of an error at each division point for the spindle 4.
  • the runout error processing unit 21 executes data processing for correcting the runout error based on the measurement data.
  • the error data storage unit 17 stores error data which is an error model or interpolated data obtained by data processing in the runout error processing unit 21. The details of the runout error processing unit 21 will be described later.
  • the data acquisition unit 13 acquires the measurement data of the periodic error generated in the spindle 4.
  • the periodic error processing unit 22 executes data processing for correcting the periodic error based on the measured data.
  • the periodic error processing unit 22 determines an arbitrary period based on the measurement data, and obtains error data for periodic correction.
  • the error data storage unit 17 stores the error data obtained by the data processing in the periodic error processing unit 22.
  • the correction amount determination unit 16 reads out the error amount corresponding to the command position in the axis command from the error data storage unit 17 for the runout error correction of the spindle 4 and the periodic error correction of the spindle 4.
  • the correction amount determination unit 16 obtains the value of the correction amount corresponding to the command position by sign-inverting the value of the read error amount.
  • the correction amount determination unit 16 determines the correction amount corresponding to the command position for the runout error correction and the periodic error correction.
  • the correction amount determination unit 16 obtains the sum of the correction amount for the runout error correction and the correction amount for the periodic error correction for the spindle 4, and outputs the obtained sum to the adder 18.
  • the NC device 1 sets the sum of the correction amount for the runout error correction and the correction amount for the periodic error correction as the correction amount for correcting the mechanical error, and the spindle 4 is set. Correct the axis command of.
  • FIG. 3 is a block diagram showing a runout error processing unit 21 included in the NC device 1 shown in FIG.
  • the runout error processing unit 21 has a tentative model setting unit 23 that sets a tentative model of the mechanical error by obtaining a model function representing a phenomenon that is a factor of the mechanical error that can occur in the mechanism.
  • the runout error processing unit 21 has a fitting processing unit 24 that obtains an error model that is a model of mechanical error by fitting a model function to the measurement data that is the result of measuring the operation of the mechanism.
  • the runout error processing unit 21 has an interpolation processing unit 25 that executes an interpolation processing of measurement data.
  • the NC device 1 sets a tentative model in consideration of the structure of the mechanism, and obtains an error model by fitting the model function of the tentative model to the measurement data.
  • the period of the model function is synchronized with the rotation period of the shaft 37.
  • the NC device 1 determines the correction amount for pitch error correction based on the error model.
  • the NC device 1 makes it possible to determine the correction amount by spline interpolation of the measurement data when the error model deviates from the actual error or when it is difficult to set the temporary model.
  • FIG. 4 is a diagram showing a configuration for detecting a rotation angle of the spindle 4 controlled by the NC device 1 shown in FIG.
  • FIG. 4 shows a shaft 37 and a position detector 40 of the spindle 4 shown in FIG.
  • the position detector 40 has a light emitting diode 41 which is a light emitting body, a fixed slit 42, and a photodiode 43 which is a light receiving body.
  • the photodiode 43 detects the light from the light emitting diode 41.
  • the fixed slit 42 is arranged between the light emitting diode 41 and the photodiode 43.
  • the fixed slit 42 is provided with an A-phase slit 45 and a B-phase slit 46, respectively, 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 passing through the A-phase slit 45 and a B-phase signal indicating a detection result of light passing through the B-phase slit 46.
  • a turntable 44 that rotates together with the shaft 37 is attached to the shaft 37.
  • the center of the turntable 44 coincides with the axis of the shaft 37.
  • the turntable 44 rotates about the shaft 37.
  • a plurality of teeth arranged at equal intervals are provided on the outer circumference of the turntable 44. The light from the light emitting diode 41 is blocked from entering the photodiode 43 by reaching the teeth, and enters the photodiode 43 when passing between the teeth.
  • the position detector 40 counts the number of teeth that have passed in front of both the A-phase slit 45 and the B-phase slit 46 based on the number of pulses of the A-phase signal and the number of pulses of the B-phase signal.
  • the position detector 40 detects the rotation angle of the shaft 37 based on the number of teeth counted.
  • 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 first diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG.
  • FIG. 6 is a second diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG. 5 and 6 show changes in the positional relationship between the position detector 40 and the turntable 44.
  • FIG. 5 shows the state of the turntable 44 when the runout does not occur, when one of the plurality of teeth 47 of the turntable 44 is detected by the position detector 40.
  • the point O is the center of the turntable 44 when runout does not occur.
  • FIG. 6 shows the turntable 44 when runout occurs.
  • the point C is the center of the turntable 44 when runout occurs.
  • the amount of movement of the rotating disk 44 due to the runout that is, the length between the points O and C is "d".
  • one tooth 48 different from the above-mentioned tooth 47 is detected by the position detector 40 among the plurality of teeth of the turntable 44.
  • the angle between the teeth 47 and the teeth 48 corresponds to an error E, which is a mechanical error of the spindle 4 due to the runout of the spindle motor 36.
  • FIG. 7 is a third diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG.
  • the tentative model set in the tentative model setting unit 23 will be described by taking the modeling of the runout phenomenon shown in FIG. 6 as an example.
  • the X-axis which is the first axis
  • the Y-axis which is the second axis
  • the origin of the X-axis and the Y-axis is the point O.
  • FIG. 7 shows circles 51 and 52 in which the planar shape of the turntable 44 is simplified.
  • the circle 51 represents the turntable 44 when the runout does not occur.
  • the circle 52 represents the turntable 44 when runout occurs.
  • the radii of the circles 51 and 52 are "P", respectively.
  • the center point of the circle 51 coincides with the point O.
  • the amount of movement of the rotating disk 44 due to the runout is “d”.
  • the center point of the turntable 44 moves due to runout.
  • the point C which is the center of the circle 52, is the center point of the rotating disk 44 when runout occurs. It is assumed that the point C moves along the circle 53 due to the runout.
  • the circle 53 is a circle whose center is the point O and whose radius is “d”. It is assumed that the point C goes around the circle 53 once while the shaft 37 makes one rotation due to the phenomenon of center runout.
  • the circle 51 is represented by the following equation (1). Further, the circle 53 is represented by the following equation (2).
  • ⁇ COC' ⁇ , assuming that the line segment OC'and the line segment C'C are perpendicular to each other.
  • is the angle formed by the line segment OC connecting the points C and O, which are the center points moved by the runout, and the X-axis.
  • the circle 52 is represented by the following equation (3).
  • the point A which is the intersection of the circle 52 and the Y-axis, represents the position of the tooth 48 shown in FIG.
  • the point B' which is the intersection of the extension line of the line segment C'C and the circle 52 at Y> 0, represents the position of the tooth 47 shown in FIG.
  • the length of the line segment AB is expressed by the following equation (4).
  • equation (4) "AB” represents the length of the line segment AB
  • O'C represents the length of the line segment O'C
  • OC' represents the length of the line segment OC'. ..
  • Equation (7) represents a model function for the mechanical error of the spindle 4 due to the runout of the spindle motor 36.
  • the temporary model setting unit 23 shown in FIG. 3 sets a model function as shown in the above equation (7) in the temporary model for the mechanical error due to the phenomenon of runout. In this way, the temporary model setting unit 23 can set the temporary model by simple modeling for the phenomenon of runout.
  • the temporary model setting unit 23 performs processing until the temporary model is set according to the input operation by the user.
  • the tentative model setting unit 23 generates a tentative model using the condition values input by the user.
  • the condition values are the above-mentioned "P" and "d” and the like.
  • the tentative model setting unit 23 may set the tentative model by acquiring a model function created by an external device of the NC device 1.
  • the temporary model setting unit 23 may make the locus of the point C due to the runout not only a circle but also an ellipse.
  • the temporary model setting unit 23 may be able to appropriately set the shape indicating the locus of the point C according to the characteristics of the spindle motor 36.
  • the fitting processing unit 24 performs fitting by the least squares method.
  • the above equation (7) is a multivariable function with " ⁇ ", " ⁇ " and "P'" as arguments.
  • the above equation (7) can be rewritten as the following equation (8).
  • M is an integer of 2 or more.
  • ⁇ i is a rotation angle according to the command, and is a rotation angle at the i-th point, which is one of the division points.
  • Z i is been an error measured in the i-th point.
  • the fitting processing unit 24 performs fitting by obtaining " ⁇ " and "P'" that minimize the function of "J” shown in the following equation (9).
  • the fitting processing unit 24 obtains a non-linear error model by the non-linear least squares method.
  • the Gauss-Newton method which is a typical nonlinear least squares method, can be used.
  • a method other than the Gauss-Newton method may be used.
  • the fitting processing unit 24 outputs the error model obtained by fitting to the error data storage unit 17.
  • the fitting processing unit 24 can also obtain an error model by fitting a polynomial of one variable to the measurement data instead of fitting to the above-mentioned tentative model.
  • the fitting processing unit 24 may obtain an error model close to the actual error by fitting with a polynomial.
  • Equation (10) is a polynomial with " ⁇ " as a variable.
  • Ck represents the coefficient of the k-th order term.
  • N is an integer of 2 or more.
  • K is a variable representing an integer from 0 to n.
  • the fitting processing unit 24 performs fitting by finding " kk " that minimizes the function of "J” shown in the following equation (11).
  • the fitting processing unit 24 can obtain “c k " by a known least squares method.
  • the value of "n”, which is the highest degree of the polynomial, is preset in the fitting processing unit 24.
  • the value of "n” may be set by an input operation by the user.
  • the NC device 1 can perform highly accurate correction of mechanical error by enabling selection between correction based on fitting by a tentative model and correction by fitting by a polynomial.
  • the fitting processing unit 24 may add a regularization term to the error model which is a polynomial.
  • the fitting processing unit 24 can obtain the following equation (12) by adding a regularization term to the above equation (11).
  • the fitting processing unit 24 performs fitting by finding " kk " that minimizes the function of "J” shown in the equation (12).
  • " ⁇ " is a regularization parameter.
  • the value of “ ⁇ ” is set in advance in the fitting processing unit 24.
  • the value of " ⁇ ” may be set by an input operation by the user. Overfitting, which can occur as the value of "n” increases, occurs when each coefficient of the polynomial becomes excessive.
  • the addition of the regularization term has the effect of preventing each coefficient from becoming excessive.
  • the fitting processing unit 24 can effectively suppress overfitting by adding a regularization term. As a result, the fitting processing unit 24 can obtain a highly versatile error model.
  • the degree of the polynomial used for spline interpolation is preset in the interpolation processing unit 25.
  • An arbitrary order can be set in the interpolation processing unit 25. The order may be set by an input operation by the user.
  • the interpolation processing unit 25 outputs the interpolation data obtained by spline interpolation to the error data storage unit 17.
  • the NC device 1 corrects the pitch error by spline interpolation of the measurement data when the error model obtained by the fitting processing unit 24 deviates from the actual error or when it is difficult to set the temporary model. be able to.
  • the NC device 1 can perform highly accurate correction of mechanical error by enabling selection between correction based on the above error model and correction based on spline interpolation.
  • the NC device 1 selects one of the correction based on the above error model obtained by the fitting processing unit 24 and the correction based on the above spline interpolation by the interpolation processing unit 25, and corrects the pitch error. Can be done.
  • the NC device 1 can select a correction based on the error model and a correction based on the spline interpolation according to the input operation to the input unit 14 by the user.
  • the NC device 1 selects one of the first error model, which is an error model obtained by fitting the tentative model, and the second error model, which is the error model obtained by fitting the polynomial model. Make it selectable.
  • the NC device 1 can select a correction based on the first error model and a correction based on the second error model for the correction based on the error model according to the input operation to the input unit 14 by the user. it can.
  • the interpolation processing unit 25 may be capable of performing linear interpolation of measurement data separately from spline interpolation.
  • the NC apparatus 1 can select either spline interpolation or linear interpolation for the correction based on the result of the interpolation processing.
  • the NC device 1 can select a correction based on spline interpolation and a correction based on linear interpolation according to an input operation to the input unit 14 by the user.
  • the NC device 1 performs arbitrary correction from the correction based on the first error model, the correction based on the second error model, the correction based on spline interpolation, and the correction based on linear interpolation. You can select and correct the runout error.
  • FIG. 8 is a diagram showing an example of a screen displayed on the display unit 20 included in the NC device 1 shown in FIG.
  • linear interpolation represents a correction format based on the above linear interpolation.
  • Spline interpolation represents a correction format based on the above spline interpolation.
  • Polynomial fitting represents a correction form based on the above second error model.
  • Tempoary model fitting represents a correction format based on the above-mentioned first error model. The user refers to the content displayed on the screen of the display unit 20 and specifies one of the correction formats by the operation of the input unit 14.
  • the run-out error processing unit 21 When the run-out error processing unit 21 receives a signal corresponding to the input operation from the input unit 14, it outputs error data for performing the specified correction to the error data storage unit 17.
  • the error data storage unit 17 stores the interpolation data as the error data, which is the result of linear interpolation by the interpolation processing unit 25.
  • the error data storage unit 17 stores the interpolation data as the error data, which is the result of spline interpolation by the interpolation processing unit 25.
  • the error data storage unit 17 stores a second error model as error data.
  • the error data storage unit 17 stores the first error model as error data.
  • the correction amount determination unit 16 determines the correction amount for the run-out error correction based on the error data read from the error data storage unit 17. As a result, the NC device 1 selects an arbitrary correction and corrects the runout error. Further, when “polynomial fitting" is specified, the NC device 1 may determine whether or not the regularization term is added by input by the user.
  • the display unit 20 may acquire the measurement data and the correction amount data based on the error model from the fitting processing unit 24, and display the measurement data and the correction amount data.
  • the correction amount data is obtained by sign inversion of the error data.
  • the display unit 20 may acquire the measurement data and the correction amount data based on the interpolation processing from the interpolation processing unit 25 and display the measurement data and the correction amount data. As a result, the user can confirm the effect of the correction on the measured error for each correction format.
  • the NC device 1 changes the value of the error amount displayed on the screen with respect to the error amount based on the second error model in accordance with the input operation of changing the value of "n" which is the highest degree of the polynomial. May be. As a result, the user can adjust the value of "n” while checking the amount of error.
  • the NC device 1 sets the value of the amount of error displayed on the screen of the second error model to which the regularization term is added as the input operation changes the value of the regularization parameter “ ⁇ ”. It may be changed. As a result, the user can adjust the value of " ⁇ " while checking the amount of error.
  • the NC device 1 may sample the command angle when the runout error is corrected and the command angle when the runout error is not corrected for the spindle 4.
  • the user can judge the effect of the improvement by the run-out error correction by confirming the difference between the two command angles based on the sampling result.
  • the user may measure the rotation angle when the runout error is corrected and the rotation angle when the runout error is not corrected by a measuring device, and confirm both rotation angles based on the measurement result. ..
  • Each functional unit of the NC device 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 the first embodiment, by using hardware.
  • FIG. 9 is a block diagram showing a hardware configuration of the NC device 1 according to the first embodiment of the present invention.
  • the NC device 1 includes a CPU (Central Processing Unit) 61 that executes various processes, a RAM (Random Access Memory) 62 that includes a data storage area, a ROM (Read Only Memory) 63 that is a non-volatile memory, and an external storage device. Has 64 and. Further, the NC device 1 has an input interface 65 for inputting information to the NC device 1, an input device 66 for receiving an input operation, and a display 67 for displaying information on the screen.
  • the parts shown in FIG. 9 are connected to each other via a bus 68.
  • the CPU 61 executes a program 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 by using the CPU 61. Will be done.
  • the external storage device 64 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the external storage device 64 stores the numerical control program and various information.
  • the function of the error data storage unit 17 shown in FIG. 1 is realized by using the external storage device 64.
  • the ROM 63 is a boot loader such as a BIOS (Basic Input / Output System) or UEFI (Unified Extensible Firmware Interface), which is a program for basic control of a computer or controller which is an NC device 1, and controls hardware.
  • BIOS Basic Input / Output System
  • UEFI Unified Extensible Firmware Interface
  • the software or program is stored.
  • the numerical control program may be stored in the ROM 63.
  • the program stored in the ROM 63 and the external storage device 64 is loaded into the RAM 62.
  • the CPU 61 develops a numerical control program in the RAM 62 and executes various processes.
  • the input interface 65 is a connection interface with an external device of the NC device 1.
  • the function of the data acquisition unit 13 shown in FIG. 1 is realized by using the input interface 65.
  • the input device 66 is a device for inputting information, such as a keyboard or a pointing device.
  • the function of the input unit 14 shown in FIG. 1 is realized by using the 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 by using the display 67.
  • the numerical control program may be stored in a storage medium that can be read by a computer.
  • the NC device 1 may store the numerical control program stored in the storage medium in the external storage device 64.
  • the storage medium may be a portable storage medium that is a flexible disk, or a flash memory that is a semiconductor memory.
  • the numerical control program may be installed from another computer or server device to the computer or controller that becomes the NC device 1 via the communication network.
  • the function of the NC device 1 may be realized by a processing circuit which is dedicated hardware.
  • 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.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • Some of the functions of the NC device 1 may be realized by dedicated hardware, and some of the functions may be realized by software or firmware.
  • the NC device 1 is not limited to an external device of the machine tool 2, and may be included in the machine tool 2. Each functional unit of the NC device 1 is not limited to one integrated in one device, and may be distributed in a plurality of devices.
  • the NC device 1 may be realized by using one device, or may be realized by using a plurality of devices.
  • the method of correcting the runout error by the NC device 1 may be applied to the control of an industrial machine other than the machine tool 2.
  • the NC device 1 sets a tentative model in consideration of the structure of the mechanism by obtaining a model function representing a phenomenon that can occur in the mechanism, and fits the model function to the measurement data.
  • the NC device 1 can correct the mechanical error with high accuracy by fitting the temporary model.
  • the NC device 1 can reduce the burden required for measuring the error as compared with the case where the correction accuracy is improved by increasing the number of division points.
  • the NC device 1 can perform highly accurate correction of mechanical error by making it possible to select between correction based on the fitting of the tentative model, correction based on the fitting of the polynomial, and correction based on spline interpolation. ..
  • the NC device 1 has an effect that it is possible to correct the mechanical error caused by the displacement of the rotation axis with high accuracy.
  • the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

This NC device controls a motor that is a drive source of a mechanism for rotating a tool or a workpiece in a machine tool that processes the workpiece by using the tool. The NC device comprises: a temporary model setting unit (23) which obtains a model function representing center deviation, which is a phenomenon in which the position of the rotation axis of the mechanism shifts, and sets a temporary model of a mechanical error due to the center deviation; a fitting processing unit (24) which obtains an error model that is a model of the mechanical error, by fitting the model function to measurement data that is a result of measuring the operation of the mechanism; and a correction unit which corrects a command to the motor on the basis of the error model.

Description

数値制御装置Numerical control device
 本発明は、産業用機械を制御する数値制御装置に関する。 The present invention relates to a numerical control device that controls an industrial machine.
 産業用機械である工作機械には、加工対象物であるワークまたは工具の回転角度を変化させるための機構である主軸等の駆動軸を有するものがある。かかる工作機械を制御する数値制御装置は、駆動軸を制御する。なお、以下の説明では、数値制御装置をNC(Numerical Control)装置と称することがある。特許文献1には、工作機械が有する主軸を制御するNC装置が開示されている。 Some machine tools, which are industrial machines, have a drive shaft such as a spindle, which is a mechanism for changing the rotation angle of the work or tool that is the object to be machined. The numerical control device that controls such a machine tool controls the drive shaft. In the following description, the numerical control device may be referred to as an NC (Numerical Control) device. Patent Document 1 discloses an NC device that controls a spindle of a machine tool.
特開平2-309401号公報JP-A-2-309401
 NC装置による駆動軸の制御において、例えば主軸は、主軸の構造に起因して、指令に従った動作と実際の動作との間に誤差を生じることがある。このように、機構が持つ構造に起因して生じる誤差は、機械誤差と称される。主軸において生じる機械誤差には、回転軸の位置が本来の位置からずれる現象である芯振れに起因する機械誤差が挙げられる。工作機械による高精度な加工を可能とするために、上記特許文献1に開示される従来のNC装置は、芯振れに起因する機械誤差を高精度に補正することが求められている。 In the control of the drive shaft by the NC device, for example, the spindle may cause an error between the operation according to the command and the actual operation due to the structure of the spindle. Such an error caused by the structure of the mechanism is called a mechanical error. Mechanical errors that occur in the spindle include mechanical errors caused by runout, which is a phenomenon in which the position of the rotating shaft deviates from the original position. In order to enable high-precision machining by a machine tool, the conventional NC apparatus disclosed in Patent Document 1 is required to correct mechanical errors due to runout with high accuracy.
 本発明は、上記に鑑みてなされたものであって、回転軸の位置がずれることに起因する機械誤差の高精度な補正を可能とする数値制御装置を得ることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to obtain a numerical control device capable of highly accurate correction of mechanical errors caused by a shift in the position of a rotating shaft.
 上述した課題を解決し、目的を達成するために、本発明にかかる数値制御装置は、工具を用いてワークを加工する工作機械において工具またはワークを回転動作させる機構の駆動源であるモータを制御する。本発明にかかる数値制御装置は、機構が有する回転軸の位置がずれる現象である芯振れを表すモデル関数を求めることによって、芯振れによる機械誤差の仮モデルを設定する仮モデル設定部と、機構の動作を測定した結果である測定データにモデル関数をフィッティングさせることによって機械誤差のモデルである誤差モデルを求めるフィッティング処理部と、誤差モデルに基づいてモータへの指令を補正する補正部と、を備える。 In order to solve the above-mentioned problems and achieve the object, the numerical control device according to the present invention controls a motor which is a drive source of a mechanism for rotating a tool or a work in a machine tool for machining a work using a tool. To do. The numerical control device according to the present invention has a temporary model setting unit and a mechanism for setting a temporary model of mechanical error due to center runout by obtaining a model function representing runout, which is a phenomenon in which the position of the rotation axis of the mechanism shifts. A fitting processing unit that obtains an error model, which is a model of mechanical error, by fitting a model function to the measurement data that is the result of measuring the operation of, and a correction unit that corrects commands to the motor based on the error model. Be prepared.
 本発明にかかる数値制御装置は、回転軸の位置がずれることに起因する機械誤差の高精度な補正が可能となるという効果を奏する。 The numerical control device according to the present invention has the effect of enabling highly accurate correction of mechanical errors caused by the displacement of the rotation axis.
本発明の実施の形態1にかかるNC装置と、NC装置によって制御される工作機械とを示す図The figure which shows the NC apparatus which concerns on Embodiment 1 of this invention, and the machine tool controlled by NC apparatus. 図1に示すNC装置によって制御される主軸における芯振れ誤差と周期誤差とについて説明する図The figure explaining the runout error and the periodic error in the spindle controlled by the NC apparatus shown in FIG. 図1に示すNC装置が有する芯振れ誤差処理部を示すブロック図A block diagram showing a runout error processing unit included in the NC device shown in FIG. 図1に示すNC装置によって制御される主軸のうち回転角度の検出のための構成を示す図The figure which shows the structure for detecting the rotation angle of the spindle controlled by the NC apparatus shown in FIG. 図1に示すNC装置によって制御される主軸における芯振れ誤差について説明する第1の図The first figure explaining the runout error in the spindle controlled by the NC apparatus shown in FIG. 図1に示すNC装置によって制御される主軸における芯振れ誤差について説明する第2の図The second figure explaining the runout error in the spindle controlled by the NC apparatus shown in FIG. 図1に示すNC装置によって制御される主軸における芯振れ誤差について説明する第3の図FIG. 3 for explaining the runout error in the spindle controlled by the NC device shown in FIG. 図1に示すNC装置が有する表示部に表示される画面の例を示す図The figure which shows the example of the screen displayed on the display part of the NC apparatus shown in FIG. 本発明の実施の形態1にかかるNC装置のハードウェア構成を示すブロック図A block diagram showing a hardware configuration of an NC device according to a first embodiment of the present invention.
 以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 The numerical control device according to the embodiment of the present invention will be described in detail below with reference to the drawings. The present invention is not limited to this embodiment.
実施の形態1.
 図1は、本発明の実施の形態1にかかるNC装置1と、NC装置1によって制御される工作機械2とを示す図である。工作機械2は、工具を用いてワーク5を加工する。工作機械2は、ワーク5と工具との相対位置を直線運動によって変化させる直線駆動軸3と、工具またはワーク5の回転角度を回転運動によって変化させる主軸4とを有する。図1には、ワーク5を回転させる主軸4を示している。主軸4は、回転軸であるシャフト37を有する。図1では、工具の図示を省略している。
Embodiment 1.
FIG. 1 is a diagram showing an NC device 1 according to a first embodiment of the present invention and a machine tool 2 controlled by the NC device 1. The machine tool 2 processes the work 5 using a tool. The machine tool 2 has a linear drive shaft 3 that changes the relative position between the work 5 and the tool by a linear motion, and a spindle 4 that changes the rotation angle of the tool or the work 5 by a rotary motion. FIG. 1 shows a spindle 4 for rotating the work 5. The main shaft 4 has a shaft 37 which is a rotation shaft. In FIG. 1, the illustration of the tool is omitted.
 直線駆動軸3は、直線駆動軸3の駆動源であるサーボモータ32と、サーボモータ32を動作させるサーボアンプ31と、サーボモータ32の駆動によって回転するボールねじ33と、ボールねじ33の回転によってボールねじ33の中心軸に平行な軸方向へ移動する移動体34とを有する。直線駆動軸3は、ボールねじ33の回転運動を直線運動に変換する機構である。サーボアンプ31は、NC装置1から出力される軸指令にしたがってサーボモータ32を動作させる。NC装置1は、サーボアンプ31へ軸指令を出力することによって、サーボモータ32を制御する。 The linear drive shaft 3 is formed by the servomotor 32 that is the drive source of the linear drive shaft 3, the servo amplifier 31 that operates the servomotor 32, the ball screw 33 that is rotated by driving the servomotor 32, and the ball screw 33 that is rotated. It has a moving body 34 that moves in an axial direction parallel to the central axis of the ball screw 33. The linear drive shaft 3 is a mechanism that converts the rotational motion of the ball screw 33 into a linear motion. The servo amplifier 31 operates the servomotor 32 according to the axis command output from the NC device 1. The NC device 1 controls the servomotor 32 by outputting an axis command to the servo amplifier 31.
 主軸4は、主軸4の駆動源である主軸モータ36と、主軸モータ36を動作させる主軸アンプ35とを有する。チャック38は、主軸モータ36の出力軸であるシャフト37にワーク5を固定させる。主軸4は、シャフト37に取り付けられたワーク5を回転させる機構である。主軸アンプ35は、NC装置1から出力される軸指令にしたがって主軸モータ36を動作させる。NC装置1は、主軸アンプ35へ軸指令を出力することによって、主軸モータ36を制御する。 The spindle 4 has a spindle motor 36 that is a drive source of the spindle 4 and a spindle amplifier 35 that operates the spindle motor 36. The chuck 38 fixes the work 5 to the shaft 37, which is the output shaft of the spindle motor 36. The spindle 4 is a mechanism for rotating the work 5 attached to the shaft 37. The spindle amplifier 35 operates the spindle motor 36 according to the axis command output from the NC device 1. The NC device 1 controls the spindle motor 36 by outputting an axis command to the spindle amplifier 35.
 NC装置1は、加工プログラムを取得するプログラム取得部10と、取得された加工プログラムを解析するプログラム解析部11と、プログラム解析部11による解析結果を基に軸指令を生成する軸指令生成部12とを有する。軸指令生成部12は、直線駆動軸3に対する軸指令と主軸4に対する軸指令とを生成する。軸指令生成部12は、生成された軸指令を加算器18と補正量決定部16とへ出力する。 The NC device 1 includes a program acquisition unit 10 for acquiring a machining program, a program analysis unit 11 for analyzing the acquired machining program, and an axis command generation unit 12 for generating an axis command based on the analysis result by the program analysis unit 11. And have. The axis command generation unit 12 generates an axis command for the linear drive shaft 3 and an axis command for the spindle 4. The axis command generation unit 12 outputs the generated axis command to the adder 18 and the correction amount determination unit 16.
 NC装置1は、機械誤差の測定データを取得するデータ取得部13と、情報入力のための操作を受け付ける入力部14と、測定データの処理を実行するデータ処理部15と、情報を表示する表示部20とを有する。データ処理部15は、芯振れ誤差補正についてのデータ処理を担う芯振れ誤差処理部21と、周期誤差補正についてのデータ処理を担う周期誤差処理部22とを有する。芯振れ誤差処理部21と周期誤差処理部22との詳細については後述する。 The NC device 1 includes a data acquisition unit 13 for acquiring measurement data of machine error, an input unit 14 for receiving an operation for inputting information, a data processing unit 15 for executing measurement data processing, and a display for displaying information. It has a part 20 and. The data processing unit 15 has a runout error processing unit 21 that is responsible for data processing for runout error correction, and a periodic error processing unit 22 that is responsible for data processing for periodic error correction. The details of the runout error processing unit 21 and the periodic error processing unit 22 will be described later.
 主軸4の機械誤差は、測定機器によって測定される。図1では、測定機器の図示を省略している。データ取得部13は、測定機器による測定結果である測定データを取り込む。入力部14には、NC装置1のユーザの操作によって、データ処理部15における処理に関する情報が入力される。データ処理部15は、データ取得部13から取り込んだ測定データと入力部14へ入力された情報とを基に、データ処理を実行する。表示部20は、データ処理部15における処理に関する情報を表示する。 The mechanical error of the spindle 4 is measured by a measuring device. In FIG. 1, the illustration of the measuring device is omitted. The data acquisition unit 13 acquires measurement data which is a measurement result by the measuring device. Information about the processing in the data processing unit 15 is input to the input unit 14 by the operation of the user of the NC device 1. The data processing unit 15 executes data processing based on the measurement data fetched 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.
 データ処理部15は、データ処理の結果である誤差データを誤差データ格納部17へ出力する。誤差データ格納部17は、誤差データを格納する。補正量決定部16は、誤差データ格納部17から読み出された誤差データを基に、機械誤差を補正するための補正量を決定する。補正量決定部16は、主軸4について、指令された回転角度とのずれを相殺するための角度である補正量を決定する。補正量決定部16は、決定された補正量を加算器18へ出力する。 The data processing unit 15 outputs the error data that is the result of the data processing to the error data storage unit 17. The error data storage unit 17 stores the error data. The correction amount determination unit 16 determines the 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 the correction amount, which is an angle for canceling the deviation from the commanded rotation angle of the spindle 4. The correction amount determination unit 16 outputs the determined correction amount to the adder 18.
 加算器18は、主軸4に対する指令角度の値に、決定された補正量を加算する。補正量決定部16および加算器18は、主軸モータ36への指令を補正する補正部として機能する。加算器18は、補正量の加算を経た軸指令を駆動指令部19へ出力する。駆動指令部19は、主軸4に対する軸指令を主軸アンプ35へ出力する。なお、NC装置1は、主軸4が工具を回転させる機構である場合も、主軸4がワーク5を回転させる機構である場合と同様に、主軸4に対する軸指令を補正することができる。 The adder 18 adds the determined correction amount to the value of the command angle with respect to the spindle 4. The correction amount determining unit 16 and the adder 18 function as a correction unit for correcting a command to the spindle motor 36. The adder 18 outputs an axis command after the correction amount has been added to the drive command unit 19. The drive command unit 19 outputs a shaft command for the spindle 4 to the spindle amplifier 35. Note that the NC device 1 can correct the axis command to the spindle 4 even when the spindle 4 is a mechanism for rotating the tool, as in the case where the spindle 4 is a mechanism for rotating the work 5.
 NC装置1は、直線駆動軸3についても、補正量決定部16と加算器18とにより軸指令の補正を行う。実施の形態1では、直線駆動軸3に対する軸指令の補正については説明を省略する。 The NC device 1 also corrects the shaft command for the linear drive shaft 3 by the correction amount determining unit 16 and the adder 18. In the first embodiment, the description of the correction of the axis command with respect to the linear drive shaft 3 will be omitted.
 次に、芯振れ誤差補正と周期誤差補正とについて説明する。図2は、図1に示すNC装置1によって制御される主軸4における芯振れ誤差と周期誤差とについて説明する図である。主軸4は、チャック38、ワーク5または工具の重量の偏りに起因して、芯振れを生じる。芯振れは、シャフト37の位置が本来の位置からずれる現象である。芯振れにより、シャフト37の回転中心位置は、シャフト37の中心軸に垂直な方向においてシフトする。主軸4の芯振れによる誤差は、主軸4に生じる機械誤差の主な成分となる。上記の測定機器は、主軸4の1回転の角度範囲を複数に分割して、シャフト37の実際の回転角度と指令角度との誤差を分割点ごとに測定する。NC装置1は、測定データから得られた誤差モデルまたは測定データから得られた補間データを基に指令角度を補正する。このように、NC装置1は、主軸4について、分割点ごとの誤差の測定データを基に機械誤差を低減し得る。NC装置1は、分割点ごとの誤差の測定データを基に指令位置または指令角度を補正することにより、芯振れ誤差補正を行う。 Next, the runout error correction and the periodic error correction will be described. FIG. 2 is a diagram illustrating a runout error and a periodic error in the spindle 4 controlled by the NC device 1 shown in FIG. The spindle 4 causes runout due to the uneven weight of the chuck 38, the work 5, or the tool. Center runout is a phenomenon in which the position of the shaft 37 deviates from the original position. Due to the runout, the rotation center position of the shaft 37 shifts in the direction perpendicular to the center axis of the shaft 37. The error due to the runout of the spindle 4 is a main component of the mechanical error generated in the spindle 4. The above-mentioned measuring device divides the angle range of one rotation of the spindle 4 into a plurality of parts, and measures the error between the actual rotation angle of the shaft 37 and the command angle for each division point. The NC device 1 corrects the command angle based on the error model obtained from the measurement data or the interpolation data obtained from the measurement data. In this way, the NC device 1 can reduce the mechanical error of the spindle 4 based on the measurement data of the error at each division point. The NC device 1 corrects the runout error by correcting the command position or the command angle based on the measurement data of the error for each division point.
 ここで、図2に示される芯振れ誤差を表す波形の周期は、主軸4の回転周期と同期している。図2に示される芯振れ誤差の周期は、主軸4の回転周期と一致している。 Here, the period of the waveform representing the runout error shown in FIG. 2 is synchronized with the rotation period of the spindle 4. The period of the runout error shown in FIG. 2 coincides with the rotation period of the spindle 4.
 主軸4に生じる機械誤差には、芯振れ誤差成分と、周期的に発生する誤差である周期誤差成分とが含まれている。主軸4の周期誤差は、主軸モータ36に取り付けられている位置検出器に起因して生じる。位置検出器は、主軸モータ36の回転角度を検出する。主軸アンプ35は、位置検出器によって検出された回転角度の値が指令位置に追従するように主軸モータ36を駆動する。図1では、主軸モータ36における位置検出器の図示を省略している。以下の説明にて、周期誤差補正とは、誤差モデルを任意の波形と定め、かつ任意の周期を定めて周期的に誤差を補正することを指すものとする。なお、図2に示すように、周期誤差は芯振れ誤差の周期よりも短い周期で振動する特性を有する。NC装置1は、主軸4について、芯振れ誤差成分についての補正である芯振れ誤差補正と周期誤差成分についての補正である周期誤差補正との併用によって、機械誤差を補正する。 The mechanical error that occurs in the spindle 4 includes a runout error component and a periodic error component that is an error that occurs periodically. The periodic error of the spindle 4 is caused by the 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 commanded position. In FIG. 1, the position detector in the spindle motor 36 is not shown. In the following description, periodic error correction refers to defining an error model as an arbitrary waveform and defining an arbitrary period to periodically correct the error. As shown in FIG. 2, the periodic error has a characteristic of vibrating in a period shorter than the period of the runout error. The NC device 1 corrects the mechanical error of the spindle 4 by using both the runout error correction, which is a correction for the runout error component, and the periodic error correction, which is a correction for the periodic error component.
 データ取得部13は、主軸4について、分割点ごとにおける誤差の測定データを取得する。芯振れ誤差処理部21は、かかる測定データを基に、芯振れ誤差補正のためのデータ処理を実行する。誤差データ格納部17は、芯振れ誤差処理部21でのデータ処理によって得られた誤差モデルまたは補間データである誤差データを格納する。芯振れ誤差処理部21の詳細については後述する。 The data acquisition unit 13 acquires measurement data of an error at each division point for the spindle 4. The runout error processing unit 21 executes data processing for correcting the runout error based on the measurement data. The error data storage unit 17 stores error data which is an error model or interpolated data obtained by data processing in the runout error processing unit 21. The details of the runout error processing unit 21 will be described later.
 データ取得部13は、主軸4に生じる周期誤差の測定データを取得する。周期誤差処理部22は、かかる測定データを基に、周期誤差補正のためのデータ処理を実行する。周期誤差処理部22は、測定データを基に任意の周期を定めるとともに、周期的な補正のための誤差データを求める。誤差データ格納部17は、周期誤差処理部22でのデータ処理によって得られた誤差データを格納する。 The data acquisition unit 13 acquires the measurement data of the periodic error generated in the spindle 4. The periodic error processing unit 22 executes data processing for correcting the periodic error based on the measured data. The periodic error processing unit 22 determines an arbitrary period based on the measurement data, and obtains error data for periodic correction. The error data storage unit 17 stores the error data obtained by the data processing in the periodic error processing unit 22.
 補正量決定部16は、主軸4の芯振れ誤差補正と主軸4の周期誤差補正とについて、軸指令における指令位置に対応する誤差量を誤差データ格納部17から読み出す。補正量決定部16は、読み出された誤差量の値を符号反転させることによって、指令位置に対応する補正量の値を求める。補正量決定部16は、芯振れ誤差補正と周期誤差補正とについて、指令位置に対応する補正量を決定する。補正量決定部16は、主軸4について、芯振れ誤差補正のための補正量と周期誤差補正のための補正量との和を求め、求めた和を加算器18へ出力する。このようにして、NC装置1は、芯振れ誤差補正のための補正量と周期誤差補正のための補正量との和を、機械誤差を補正するための補正量に設定して、主軸4についての軸指令を補正する。 The correction amount determination unit 16 reads out the error amount corresponding to the command position in the axis command from the error data storage unit 17 for the runout error correction of the spindle 4 and the periodic error correction of the spindle 4. The correction amount determination unit 16 obtains the value of the correction amount corresponding to the command position by sign-inverting the value of the read error amount. The correction amount determination unit 16 determines the correction amount corresponding to the command position for the runout error correction and the periodic error correction. The correction amount determination unit 16 obtains the sum of the correction amount for the runout error correction and the correction amount for the periodic error correction for the spindle 4, and outputs the obtained sum to the adder 18. In this way, the NC device 1 sets the sum of the correction amount for the runout error correction and the correction amount for the periodic error correction as the correction amount for correcting the mechanical error, and the spindle 4 is set. Correct the axis command of.
 次に、芯振れ誤差処理部21について説明する。図3は、図1に示すNC装置1が有する芯振れ誤差処理部21を示すブロック図である。芯振れ誤差処理部21は、機構に生じ得る機械誤差の要因である現象を表すモデル関数を求めることによって、機械誤差の仮モデルを設定する仮モデル設定部23を有する。芯振れ誤差処理部21は、機構の動作を測定した結果である測定データにモデル関数をフィッティングさせることによって機械誤差のモデルである誤差モデルを求めるフィッティング処理部24を有する。また、芯振れ誤差処理部21は、測定データの補間処理を実行する補間処理部25を有する。 Next, the runout error processing unit 21 will be described. FIG. 3 is a block diagram showing a runout error processing unit 21 included in the NC device 1 shown in FIG. The runout error processing unit 21 has a tentative model setting unit 23 that sets a tentative model of the mechanical error by obtaining a model function representing a phenomenon that is a factor of the mechanical error that can occur in the mechanism. The runout error processing unit 21 has a fitting processing unit 24 that obtains an error model that is a model of mechanical error by fitting a model function to the measurement data that is the result of measuring the operation of the mechanism. In addition, the runout error processing unit 21 has an interpolation processing unit 25 that executes an interpolation processing of measurement data.
 NC装置1は、機構が持つ構造を考慮した仮モデルを設定し、仮モデルのモデル関数を測定データにフィッティングさせることによって誤差モデルを求める。モデル関数の周期は、シャフト37の回転周期と同期している。NC装置1は、誤差モデルを基に、ピッチ誤差補正のための補正量を決定する。NC装置1は、誤差モデルが実際の誤差とは外れる場合、または、仮モデルの設定が困難である場合において、測定データのスプライン補間によって補正量を決定可能とする。 The NC device 1 sets a tentative model in consideration of the structure of the mechanism, and obtains an error model by fitting the model function of the tentative model to the measurement data. The period of the model function is synchronized with the rotation period of the shaft 37. The NC device 1 determines the correction amount for pitch error correction based on the error model. The NC device 1 makes it possible to determine the correction amount by spline interpolation of the measurement data when the error model deviates from the actual error or when it is difficult to set the temporary model.
 以下、芯振れ誤差処理部21による処理について説明する。図4は、図1に示すNC装置1によって制御される主軸4のうち回転角度の検出のための構成を示す図である。図4では、図1に示す主軸4のうちのシャフト37と位置検出器40とを示している。位置検出器40は、発光体である発光ダイオード41と、固定スリット42と、受光体であるフォトダイオード43とを有する。 Hereinafter, the processing by the runout error processing unit 21 will be described. FIG. 4 is a diagram showing a configuration for detecting a rotation angle of the spindle 4 controlled by the NC device 1 shown in FIG. FIG. 4 shows a shaft 37 and a position detector 40 of the spindle 4 shown in FIG. The position detector 40 has a light emitting diode 41 which is a light emitting body, a fixed slit 42, and a photodiode 43 which is a light receiving body.
 フォトダイオード43は、発光ダイオード41からの光を検出する。固定スリット42は、発光ダイオード41とフォトダイオード43との間に配置されている。固定スリット42には、それぞれ光が通過可能なA相スリット45とB相スリット46とが設けられている。フォトダイオード43は、A相スリット45を通過した光とB相スリット46を通過した光とを検出する。フォトダイオード43は、A相スリット45を通過した光の検出結果を示すA相信号とB相スリット46を通過した光の検出結果を示すB相信号とを出力する。 The photodiode 43 detects the light from the light emitting diode 41. The fixed slit 42 is arranged between the light emitting diode 41 and the photodiode 43. The fixed slit 42 is provided with an A-phase slit 45 and a B-phase slit 46, respectively, 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 passing through the A-phase slit 45 and a B-phase signal indicating a detection result of light passing through the B-phase slit 46.
 シャフト37には、シャフト37とともに回転する回転盤44が取り付けられている。回転盤44の中心は、シャフト37の軸心に一致している。回転盤44は、シャフト37を中心に回転する。回転盤44の外周には、等間隔に並べられた複数の歯が設けられている。発光ダイオード41からの光は、歯に到達することによってフォトダイオード43への入射が遮られ、歯と歯の間を通過した場合にフォトダイオード43へ入射する。 A turntable 44 that rotates together with the shaft 37 is attached to the shaft 37. The center of the turntable 44 coincides with the axis of the shaft 37. The turntable 44 rotates about the shaft 37. A plurality of teeth arranged at equal intervals are provided on the outer circumference of the turntable 44. The light from the light emitting diode 41 is blocked from entering the photodiode 43 by reaching the teeth, and enters the photodiode 43 when passing between the teeth.
 位置検出器40は、A相信号のパルス数とB相信号のパルス数とを基に、A相スリット45およびB相スリット46の双方の前を通過した歯の数をカウントする。位置検出器40は、歯のカウント数を基に、シャフト37の回転角度を検出する。位置検出器40は、A相信号とB相信号との位相差を基に、シャフト37の回転方向を検出する。 The position detector 40 counts the number of teeth that have passed in front of both the A-phase slit 45 and the B-phase slit 46 based on the number of pulses of the A-phase signal and the number of pulses of the B-phase signal. The position detector 40 detects the rotation angle of the shaft 37 based on the number of teeth counted. 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.
 図5は、図1に示すNC装置1によって制御される主軸4における芯振れ誤差について説明する第1の図である。図6は、図1に示すNC装置1によって制御される主軸4における芯振れ誤差について説明する第2の図である。図5および図6では、位置検出器40と回転盤44との位置関係の変化について説明する。主軸モータ36の芯振れによる機械誤差が主軸4に生じた場合に、シャフト37とともに回転盤44が移動することによって、位置検出器40と回転盤44との位置関係が変化する。 FIG. 5 is a first diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG. FIG. 6 is a second diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG. 5 and 6 show changes in the positional relationship between the position detector 40 and the turntable 44. When a mechanical error occurs in the spindle 4 due to the runout of the spindle motor 36, the rotary disk 44 moves together with the shaft 37, so that the positional relationship between the position detector 40 and the rotary disk 44 changes.
 図5には、芯振れが生じていない場合における回転盤44について、回転盤44が有する複数の歯のうちの1つの歯47が位置検出器40によって検出されたときの状態を示している。点Oは、芯振れが生じていない場合における回転盤44の中心とする。 FIG. 5 shows the state of the turntable 44 when the runout does not occur, when one of the plurality of teeth 47 of the turntable 44 is detected by the position detector 40. The point O is the center of the turntable 44 when runout does not occur.
 図6には、芯振れが生じた場合における回転盤44を示している。点Cは、芯振れが生じた場合における回転盤44の中心とする。図6に示す例では、芯振れによる回転盤44の移動量、すなわち点Oと点Cとの間の長さは「d」であるものとする。また、回転盤44の移動によって、回転盤44が有する複数の歯のうち、上記の歯47とは異なる1つの歯48が位置検出器40によって検出されたとする。歯47と歯48との間の角度が、主軸モータ36の芯振れによる主軸4の機械誤差である誤差Eに相当する。 FIG. 6 shows the turntable 44 when runout occurs. The point C is the center of the turntable 44 when runout occurs. In the example shown in FIG. 6, it is assumed that the amount of movement of the rotating disk 44 due to the runout, that is, the length between the points O and C is "d". Further, it is assumed that, due to the movement of the turntable 44, one tooth 48 different from the above-mentioned tooth 47 is detected by the position detector 40 among the plurality of teeth of the turntable 44. The angle between the teeth 47 and the teeth 48 corresponds to an error E, which is a mechanical error of the spindle 4 due to the runout of the spindle motor 36.
 図7は、図1に示すNC装置1によって制御される主軸4における芯振れ誤差について説明する第3の図である。図7では、図6に示す芯振れの現象のモデル化を例として、仮モデル設定部23に設定される仮モデルについて説明する。図7において、第1の軸であるX軸と第2の軸であるY軸とは、互いに垂直な2軸とする。X軸とY軸との原点は、点Oとする。また、図7には、回転盤44の平面形状を単純化した円51,52を表している。円51は、芯振れが生じていない場合における回転盤44を表している。円52は、芯振れが生じた場合における回転盤44を表している。また、円51,52の半径はそれぞれ「P」であるものとする。円51の中心点は、点Oに一致している。 FIG. 7 is a third diagram illustrating a runout error in the spindle 4 controlled by the NC device 1 shown in FIG. In FIG. 7, the tentative model set in the tentative model setting unit 23 will be described by taking the modeling of the runout phenomenon shown in FIG. 6 as an example. In FIG. 7, the X-axis, which is the first axis, and the Y-axis, which is the second axis, are two axes that are perpendicular to each other. The origin of the X-axis and the Y-axis is the point O. Further, FIG. 7 shows circles 51 and 52 in which the planar shape of the turntable 44 is simplified. The circle 51 represents the turntable 44 when the runout does not occur. The circle 52 represents the turntable 44 when runout occurs. Further, it is assumed that the radii of the circles 51 and 52 are "P", respectively. The center point of the circle 51 coincides with the point O.
 図7では、図6と同様に、芯振れによる回転盤44の移動量は「d」である。回転盤44の中心点は、芯振れによって移動する。円52の中心である点Cは、芯振れが生じているときにおける回転盤44の中心点である。点Cは、芯振れによって、円53に沿って移動するものとする。円53は、点Oが中心であってかつ半径が「d」である円である。芯振れの現象によって、シャフト37が1回転する間に点Cが円53を1周するものとする。 In FIG. 7, as in FIG. 6, the amount of movement of the rotating disk 44 due to the runout is “d”. The center point of the turntable 44 moves due to runout. The point C, which is the center of the circle 52, is the center point of the rotating disk 44 when runout occurs. It is assumed that the point C moves along the circle 53 due to the runout. The circle 53 is a circle whose center is the point O and whose radius is “d”. It is assumed that the point C goes around the circle 53 once while the shaft 37 makes one rotation due to the phenomenon of center runout.
 円51は、次の式(1)によって表される。また、円53は、次の式(2)によって表される。 The circle 51 is represented by the following equation (1). Further, the circle 53 is represented by the following equation (2).
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000005
 X軸上の点C’について、線分OC’と線分C’Cとが互いに垂直であるとして、∠COC’=θとする。ここで、θは、芯振れによって移動した中心点である点Cと点Oとを結ぶ線分OCとX軸とがなす角度である。円52は、次の式(3)によって表される。なお、円52とY軸との交点である点Aは、図6に示す歯48の位置を表している。Y>0における線分C’Cの延長線と円52との交点である点B’は、図6に示す歯47の位置を表している。 Regarding the point C'on the X-axis, ∠COC'= θ, assuming that the line segment OC'and the line segment C'C are perpendicular to each other. Here, θ is the angle formed by the line segment OC connecting the points C and O, which are the center points moved by the runout, and the X-axis. The circle 52 is represented by the following equation (3). The point A, which is the intersection of the circle 52 and the Y-axis, represents the position of the tooth 48 shown in FIG. The point B', which is the intersection of the extension line of the line segment C'C and the circle 52 at Y> 0, represents the position of the tooth 47 shown in FIG.
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000006
 線分CB’上の点Bについて、線分CBと線分ABとが互いに垂直であるとして、線分ABの長さは、次の式(4)によって表される。式(4)において、「AB」は線分ABの長さ、「O’C」は線分O’Cの長さ、「OC’」は線分OC’の長さをそれぞれ表すものとする。 Regarding the point B on the line segment CB', assuming that the line segment CB and the line segment AB are perpendicular to each other, the length of the line segment AB is expressed 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'. ..
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000007
 線分ACの長さは、円52の半径である「P」である。∠ACB=αとすると、上記の数4により、次の式(5)が成り立つ。また、式(5)により、次の式(6)が成り立つ。式(5)において、「AB」は線分ABの長さ、「AC」は線分ACの長さをそれぞれ表すものとする。 The length of the line segment AC is "P", which is the radius of the circle 52. Assuming that ∠ACB = α, the following equation (5) is established by the above equation 4. Further, the following equation (6) is established by the equation (5). In the formula (5), "AB" represents the length of the line segment AB, and "AC" represents the length of the line segment AC.
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000009
 ここで、上記の式(6)に示す「P/d」を「P’」と置き換える。また、上記の「θ」の基準位置が未知であることを考慮し、上記の式(6)に示す「θ」を「θ+φ」と置き換える。「+φ」は、φの位相が付加されたことを表す。これらの置き換えにより、上記の式(6)は、次の式(7)のように表される。θ+φは、点Oを基準とする回転盤44の中心点の方角を示す角度の、芯振れによる変化量を表す。 Here, "P / d" shown in the above equation (6) is replaced with "P'". Further, considering that the reference position of the above "θ" is unknown, "θ" shown in the above equation (6) is replaced with "θ + φ". “+ Φ” indicates that the phase of φ has been added. By these replacements, the above equation (6) is expressed as the following equation (7). θ + φ represents the amount of change due to runout of the angle indicating the direction of the center point of the rotating disk 44 with respect to the point O.
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000010
 上記の式(7)に示す「α」は、上記の誤差Eに相当する角度である。式(7)は、主軸モータ36の芯振れによる主軸4の機械誤差についてのモデル関数を表す。図3に示す仮モデル設定部23は、芯振れの現象による機械誤差について、上記の式(7)に示すようなモデル関数を、仮モデルに設定する。このように、仮モデル設定部23は、芯振れの現象について、簡易的なモデル化によって仮モデルを設定することができる。 "Α" shown in the above equation (7) is an angle corresponding to the above error E. Equation (7) represents a model function for the mechanical error of the spindle 4 due to the runout of the spindle motor 36. The temporary model setting unit 23 shown in FIG. 3 sets a model function as shown in the above equation (7) in the temporary model for the mechanical error due to the phenomenon of runout. In this way, the temporary model setting unit 23 can set the temporary model by simple modeling for the phenomenon of runout.
 仮モデル設定部23は、ユーザによる入力操作にしたがって、仮モデルを設定するまでの処理を行う。仮モデル設定部23は、ユーザによって入力された条件値を用いて仮モデルを生成する。条件値は、上記の「P」および「d」などである。仮モデル設定部23は、NC装置1の外部の装置によって作成されたモデル関数を取得することによって、仮モデルを設定することとしても良い。なお、仮モデル設定部23は、芯振れによる点Cの軌跡を、円に限られず、楕円としても良い。仮モデル設定部23は、主軸モータ36の特性に応じて、点Cの軌跡を示す形状を適宜設定可能であっても良い。 The temporary model setting unit 23 performs processing until the temporary model is set according to the input operation by the user. The tentative model setting unit 23 generates a tentative model using the condition values input by the user. The condition values are the above-mentioned "P" and "d" and the like. The tentative model setting unit 23 may set the tentative model by acquiring a model function created by an external device of the NC device 1. The temporary model setting unit 23 may make the locus of the point C due to the runout not only a circle but also an ellipse. The temporary model setting unit 23 may be able to appropriately set the shape indicating the locus of the point C according to the characteristics of the spindle motor 36.
 次に、芯振れによる主軸4の機械誤差についてのモデル関数を例として、測定データへの仮モデルのフィッティングについて説明する。フィッティング処理部24は、最小二乗法によるフィッティングを行う。上記の式(7)は、「θ」、「φ」および「P’」を引数とする多変数関数である。上記の式(7)は、次の式(8)のように書き換えられる。 Next, the fitting of the tentative model to the measurement data will be described using a model function for the mechanical error of the spindle 4 due to runout as an example. The fitting processing unit 24 performs fitting by the least squares method. The above equation (7) is a multivariable function with "θ", "φ" and "P'" as arguments. The above equation (7) can be rewritten as the following equation (8).
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000011
 主軸4の1回転の角度範囲をm分割したとして、主軸4の芯振れによる誤差についての測定データが{(θ,z);i=1,・・・,m}であったとする。「m」は2以上の整数とする。「θ」は、指令に応じた回転角度であって、分割点の1つであるi番目のポイントにおける回転角度とする。「z」は、i番目のポイントにおいて測定された誤差とする。 It is assumed that the angle range of one rotation of the spindle 4 is divided into m, and the measurement data for the error due to the runout of the spindle 4 is {(θ i , z i ); i = 1, ..., M}. “M” is an integer of 2 or more. “Θ i ” is a rotation angle according to the command, and is a rotation angle at the i-th point, which is one of the division points. "Z i" is been an error measured in the i-th point.
 フィッティング処理部24は、次の式(9)に示される「J」の関数を最小化させる「φ」および「P’」を求めることにより、フィッティングを行う。 The fitting processing unit 24 performs fitting by obtaining "φ" and "P'" that minimize the function of "J" shown in the following equation (9).
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000012
 フィッティング処理部24は、非線形最小二乗法によって、非線形の誤差モデルを求める。フィッティング処理部24によるフィッティングには、代表的な非線形最小二乗法であるガウス・ニュートン法を用いることができる。フィッティングには、ガウス・ニュートン法以外の方法を用いても良い。フィッティング処理部24は、フィッティングによって求めた誤差モデルを誤差データ格納部17へ出力する。 The fitting processing unit 24 obtains a non-linear error model by the non-linear least squares method. For fitting by the fitting processing unit 24, the Gauss-Newton method, which is a typical nonlinear least squares method, can be used. For fitting, a method other than the Gauss-Newton method may be used. The fitting processing unit 24 outputs the error model obtained by fitting to the error data storage unit 17.
 フィッティング処理部24は、上記の仮モデルへのフィッティングに代えて、1変数の多項式を測定データへフィッティングさせることによって誤差モデルを求めることもできる。フィッティング処理部24は、上記の式(9)によって求めた誤差モデルが実際の誤差から外れたものとなる場合に、多項式によるフィッティングによって、実際の誤差に近い誤差モデルを得られる場合がある。 The fitting processing unit 24 can also obtain an error model by fitting a polynomial of one variable to the measurement data instead of fitting to the above-mentioned tentative 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 with a polynomial.
 多項式によるフィッティングにおいて、フィッティング処理部24は、誤差モデルを、次の式(10)によって表されるn次多項式と仮定する。式(10)は、「θ」を変数とする多項式である。「c」は、k次の項の係数を表す。「n」は2以上の整数とする。「k」は0からnの整数を表す変数とする。 In the fitting by the polynomial, the fitting processing unit 24 assumes that the error model is an nth-order polynomial represented by the following equation (10). Equation (10) is a polynomial with "θ" as a variable. “ Ck ” represents the coefficient of the k-th order term. “N” is an integer of 2 or more. “K” is a variable representing an integer from 0 to n.
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000013
 フィッティング処理部24は、次の式(11)に示される「J」の関数を最小化させる「c」を求めることによって、フィッティングを行う。 The fitting processing unit 24 performs fitting by finding " kk " that minimizes the function of "J" shown in the following equation (11).
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000014
 フィッティング処理部24は、最小化させる変数である「c」が線形となることから、公知の最小二乗法によって「c」を求めることができる。フィッティング処理部24には、多項式の最高次数である「n」の値があらかじめ設定される。「n」の値は、ユーザによる入力操作によって設定されても良い。NC装置1は、仮モデルによるフィッティングに基づいた補正と多項式によるフィッティングによる補正との選択を可能とすることで、機械誤差の高精度な補正を行い得る。 Since the variable "c k " to be minimized is linear, the fitting processing unit 24 can obtain "c k " by a known least squares method. The value of "n", which is the highest degree of the polynomial, is preset in the fitting processing unit 24. The value of "n" may be set by an input operation by the user. The NC device 1 can perform highly accurate correction of mechanical error by enabling selection between correction based on fitting by a tentative model and correction by fitting by a polynomial.
 フィッティング処理部24は、多項式である誤差モデルに正則化項を付加しても良い。フィッティング処理部24は、上記の式(11)に正則化項を付加することによって、次の式(12)を得ることができる。フィッティング処理部24は、式(12)に示される「J」の関数を最小化させる「c」を求めることによって、フィッティングを行う。 The fitting processing unit 24 may add a regularization term to the error model which is a polynomial. The fitting processing unit 24 can obtain the following equation (12) by adding a regularization term to the above equation (11). The fitting processing unit 24 performs fitting by finding " kk " that minimizes the function of "J" shown in the equation (12).
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000015
 上記の式(12)において、「λ」は、正則化パラメータとする。フィッティング処理部24には、あらかじめ「λ」の値が設定される。「λ」の値は、ユーザによる入力操作によって設定されても良い。上記の「n」の値が大きくなるにしたがって生じ得るオーバーフィッティングは、多項式の各係数が過大となることによって発生する。正則化項の付加は、各係数が過大となることを防ぐ効果がある。 In the above equation (12), "λ" is a regularization parameter. The value of "λ" is set in advance in the fitting processing unit 24. The value of "λ" may be set by an input operation by the user. Overfitting, which can occur as the value of "n" increases, occurs when each coefficient of the polynomial becomes excessive. The addition of the regularization term has the effect of preventing each coefficient from becoming excessive.
 フィッティング処理部24は、正則化項の付加によって、オーバーフィッティングを効果的に抑制することができる。これにより、フィッティング処理部24は、汎用性が高い誤差モデルを得ることができる。 The fitting processing unit 24 can effectively suppress overfitting by adding a regularization term. As a result, the fitting processing unit 24 can obtain a highly versatile error model.
 次に、補間処理部25による補間処理について説明する。補間処理部25は、測定データ{(θ,z);i=1,・・・,m}のスプライン補間を行う。補間処理部25には、スプライン補間に用いられる多項式の次数があらかじめ設定される。補間処理部25には、任意の次数を設定することができる。次数は、ユーザによる入力操作によって設定されても良い。補間処理部25は、スプライン補間によって得られた補間データを誤差データ格納部17へ出力する。 Next, the interpolation processing by the interpolation processing unit 25 will be described. The interpolation processing unit 25 performs spline interpolation of the measurement data {(θ i , z i ); i = 1, ..., M}. The degree of the polynomial used for spline interpolation is preset in the interpolation processing unit 25. An arbitrary order can be set in the interpolation processing unit 25. The order may be set by an input operation by the user. The interpolation processing unit 25 outputs the interpolation data obtained by spline interpolation to the error data storage unit 17.
 NC装置1は、フィッティング処理部24によって求めた誤差モデルが実際の誤差から外れたものとなる場合、または、仮モデルの設定が困難である場合において、測定データのスプライン補間によってピッチ誤差補正を行うことができる。NC装置1は、上記の誤差モデルに基づいた補正とスプライン補間に基づいた補正との選択を可能とすることで、機械誤差の高精度な補正を行い得る。 The NC device 1 corrects the pitch error by spline interpolation of the measurement data when the error model obtained by the fitting processing unit 24 deviates from the actual error or when it is difficult to set the temporary model. be able to. The NC device 1 can perform highly accurate correction of mechanical error by enabling selection between correction based on the above error model and correction based on spline interpolation.
 このように、NC装置1は、フィッティング処理部24によって求めた上記の誤差モデルに基づいた補正と、補間処理部25による上記のスプライン補間に基づいた補正との一方を選択して、ピッチ誤差補正を行い得る。NC装置1は、ユーザによる入力部14への入力操作にしたがって、誤差モデルに基づいた補正とスプライン補間に基づいた補正とを選択することができる。 In this way, the NC device 1 selects one of the correction based on the above error model obtained by the fitting processing unit 24 and the correction based on the above spline interpolation by the interpolation processing unit 25, and corrects the pitch error. Can be done. The NC device 1 can select a correction based on the error model and a correction based on the spline interpolation according to the input operation to the input unit 14 by the user.
 NC装置1は、誤差モデルに基づいた補正について、仮モデルのフィッティングによって求めた誤差モデルである第1の誤差モデルと、多項式のフィッティングによって求めた誤差モデルである第2の誤差モデルとの一方を選択可能とする。NC装置1は、ユーザによる入力部14への入力操作にしたがって、誤差モデルに基づいた補正について、第1の誤差モデルに基づいた補正と第2の誤差モデルに基づいた補正とを選択することができる。 Regarding the correction based on the error model, the NC device 1 selects one of the first error model, which is an error model obtained by fitting the tentative model, and the second error model, which is the error model obtained by fitting the polynomial model. Make it selectable. The NC device 1 can select a correction based on the first error model and a correction based on the second error model for the correction based on the error model according to the input operation to the input unit 14 by the user. it can.
 補間処理部25は、スプライン補間とは別に、測定データの直線補間を行い得るものであっても良い。この場合、NC装置1は、補間処理の結果に基づいた補正について、スプライン補間と直線補間との一方を選択可能とする。NC装置1は、ユーザによる入力部14への入力操作にしたがって、スプライン補間に基づいた補正と直線補間に基づいた補正とを選択することができる。 The interpolation processing unit 25 may be capable of performing linear interpolation of measurement data separately from spline interpolation. In this case, the NC apparatus 1 can select either spline interpolation or linear interpolation for the correction based on the result of the interpolation processing. The NC device 1 can select a correction based on spline interpolation and a correction based on linear interpolation according to an input operation to the input unit 14 by the user.
 以上により、NC装置1は、第1の誤差モデルに基づいた補正と、第2の誤差モデルに基づいた補正と、スプライン補間に基づいた補正と、直線補間に基づいた補正とから任意の補正を選択して、芯振れ誤差補正を行うことができる。 As described above, the NC device 1 performs arbitrary correction from the correction based on the first error model, the correction based on the second error model, the correction based on spline interpolation, and the correction based on linear interpolation. You can select and correct the runout error.
 図8は、図1に示すNC装置1が有する表示部20に表示される画面の例を示す図である。図8において、「直線補間」は、上記の直線補間に基づいた補正形式を表す。「スプライン補間」は、上記のスプライン補間に基づいた補正形式を表す。「多項式フィッティング」は、上記の第2の誤差モデルに基づいた補正形式を表す。「仮モデルフィッティング」は、上記の第1の誤差モデルに基づいた補正形式を表す。ユーザは、表示部20の画面に表示された内容を参照して、各補正形式のうちの1つを入力部14の操作によって指定する。 FIG. 8 is a diagram showing an example of a screen displayed on the display unit 20 included in the NC device 1 shown in FIG. In FIG. 8, "linear interpolation" represents a correction format based on the above linear interpolation. "Spline interpolation" represents a correction format based on the above spline interpolation. "Polynomial fitting" represents a correction form based on the above second error model. “Temporary model fitting” represents a correction format based on the above-mentioned first error model. The user refers to the content displayed on the screen of the display unit 20 and specifies one of the correction formats by the operation of the input unit 14.
 芯振れ誤差処理部21は、入力操作に応じた信号を入力部14から受けると、指定された補正を行うための誤差データを誤差データ格納部17へ出力する。「直線補間」が指定された場合、誤差データ格納部17には、誤差データとして、補間処理部25による直線補間の結果である補間データが格納される。「スプライン補間」が指定された場合、誤差データ格納部17には、誤差データとして、補間処理部25によるスプライン補間の結果である補間データが格納される。 When the run-out error processing unit 21 receives a signal corresponding to the input operation from the input unit 14, it outputs error data for performing the specified correction to the error data storage unit 17. When "linear interpolation" is specified, the error data storage unit 17 stores the interpolation data as the error data, which is the result of linear interpolation by the interpolation processing unit 25. When "spline interpolation" is specified, the error data storage unit 17 stores the interpolation data as the error data, which is the result of spline interpolation by the interpolation processing unit 25.
 「多項式フィッティング」が指定された場合、誤差データ格納部17には、誤差データとして、第2の誤差モデルが格納される。「仮モデルフィッティング」が指定された場合、誤差データ格納部17には、誤差データとして、第1の誤差モデルが格納される。補正量決定部16は、誤差データ格納部17から読み出された誤差データを基に、芯振れ誤差補正のための補正量を決定する。これにより、NC装置1は、任意の補正を選択して、芯振れ誤差補正を行う。さらに、「多項式フィッティング」が指定された場合、NC装置1は、ユーザによる入力によって、正則化項の付加の有無を決定しても良い。 When "polynomial fitting" is specified, the error data storage unit 17 stores a second error model as error data. When "temporary model fitting" is specified, the error data storage unit 17 stores the first error model as error data. The correction amount determination unit 16 determines the correction amount for the run-out error correction based on the error data read from the error data storage unit 17. As a result, the NC device 1 selects an arbitrary correction and corrects the runout error. Further, when "polynomial fitting" is specified, the NC device 1 may determine whether or not the regularization term is added by input by the user.
 表示部20は、測定データと、誤差モデルに基づいた補正量のデータとをフィッティング処理部24から取得して、測定データと補正量のデータとを表示しても良い。補正量のデータは、誤差データの符号反転によって得られる。また、表示部20は、測定データと、補間処理に基づいた補正量のデータとを補間処理部25から取得して、測定データと補正量のデータとを表示しても良い。これにより、ユーザは、測定された誤差に対する補正の効果を補正形式ごとに確認することができる。 The display unit 20 may acquire the measurement data and the correction amount data based on the error model from the fitting processing unit 24, and display the measurement data and the correction amount data. The correction amount data is obtained by sign inversion of the error data. Further, the display unit 20 may acquire the measurement data and the correction amount data based on the interpolation processing from the interpolation processing unit 25 and display the measurement data and the correction amount data. As a result, the user can confirm the effect of the correction on the measured error for each correction format.
 NC装置1は、第2の誤差モデルに基づいた誤差量について、多項式の最高次数である「n」の値を変化させる入力操作に伴って、画面に表示される誤差量の値を変化させることとしても良い。これにより、ユーザは、誤差量を確認しながら「n」の値を調整することができる。また、NC装置1は、正則化項が付加された第2の誤差モデルについて、正則化パラメータである「λ」の値を変化させる入力操作に伴って、画面に表示される誤差量の値を変化させることとしても良い。これにより、ユーザは、誤差量を確認しながら「λ」の値を調整することができる。 The NC device 1 changes the value of the error amount displayed on the screen with respect to the error amount based on the second error model in accordance with the input operation of changing the value of "n" which is the highest degree of the polynomial. May be. As a result, the user can adjust the value of "n" while checking the amount of error. In addition, the NC device 1 sets the value of the amount of error displayed on the screen of the second error model to which the regularization term is added as the input operation changes the value of the regularization parameter “λ”. It may be changed. As a result, the user can adjust the value of "λ" while checking the amount of error.
 NC装置1は、主軸4について、芯振れ誤差補正を行った場合における指令角度と芯振れ誤差補正を行わなかった場合における指令角度とのサンプリングを行うこととしても良い。ユーザは、かかるサンプリングの結果を基に双方の指令角度の差分を確認することによって、芯振れ誤差補正による改善の効果を判断することができる。ユーザは、芯振れ誤差補正を行った場合における回転角度と芯振れ誤差補正を行わなかった場合における回転角度とを測定機器によって測定し、測定結果を基に双方の回転角度を確認しても良い。 The NC device 1 may sample the command angle when the runout error is corrected and the command angle when the runout error is not corrected for the spindle 4. The user can judge the effect of the improvement by the run-out error correction by confirming the difference between the two command angles based on the sampling result. The user may measure the rotation angle when the runout error is corrected and the rotation angle when the runout error is not corrected by a measuring device, and confirm both rotation angles based on the measurement result. ..
 次に、NC装置1のハードウェア構成について説明する。図1に示すNC装置1の各機能部は、実施の形態1にかかる数値制御方法を実行するためのプログラムである数値制御プログラムがハードウェアを用いて実行されることによって実現される。 Next, the hardware configuration of the NC device 1 will be described. Each functional unit of the NC device 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 the first embodiment, by using hardware.
 図9は、本発明の実施の形態1にかかるNC装置1のハードウェア構成を示すブロック図である。NC装置1は、各種処理を実行するCPU(Central Processing Unit)61と、データ格納領域を含むRAM(Random Access Memory)62と、不揮発性メモリであるROM(Read Only Memory)63と、外部記憶装置64とを有する。また、NC装置1は、NC装置1への情報の入力のための入力インタフェース65と、入力操作を受け付ける入力デバイス66と、画面において情報を表示するディスプレイ67とを有する。図9に示す各部は、バス68を介して相互に接続されている。 FIG. 9 is a block diagram showing a hardware configuration of the NC device 1 according to the first embodiment of the present invention. The NC device 1 includes a CPU (Central Processing Unit) 61 that executes various processes, a RAM (Random Access Memory) 62 that includes a data storage area, a ROM (Read Only Memory) 63 that is a non-volatile memory, and an external storage device. Has 64 and. Further, the NC device 1 has an input interface 65 for inputting information to the NC device 1, an input device 66 for receiving an input operation, and a display 67 for displaying information on the screen. The parts shown in FIG. 9 are connected to each other via a bus 68.
 CPU61は、ROM63および外部記憶装置64に記憶されているプログラムを実行する。図1に示すプログラム取得部10、プログラム解析部11、軸指令生成部12、データ処理部15、補正量決定部16、加算器18および駆動指令部19の各機能は、CPU61を使用して実現される。外部記憶装置64は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)である。外部記憶装置64は、数値制御プログラムと、各種情報とを記憶する。図1に示す誤差データ格納部17の機能は、外部記憶装置64を使用して実現される。 The CPU 61 executes a program 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 by using the CPU 61. Will be done. The external storage device 64 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The external storage device 64 stores the numerical control program and various information. The function of the error data storage unit 17 shown in FIG. 1 is realized by using the external storage device 64.
 ROM63には、NC装置1であるコンピュータまたはコントローラの基本となる制御のためのプログラムであるBIOS(Basic Input/Output System)あるいはUEFI(Unified Extensible Firmware Interface)といったブートローダであって、ハードウェアを制御するソフトウェアまたはプログラムが記憶されている。なお、数値制御プログラムは、ROM63に記憶されても良い。 The ROM 63 is a boot loader such as a BIOS (Basic Input / Output System) or UEFI (Unified Extensible Firmware Interface), which is a program for basic control of a computer or controller which is an NC device 1, and controls hardware. The software or program is stored. The numerical control program may be stored in the ROM 63.
 ROM63および外部記憶装置64に記憶されているプログラムは、RAM62にロードされる。CPU61は、RAM62に数値制御プログラムを展開して各種処理を実行する。入力インタフェース65は、NC装置1の外部の装置との接続インタフェースである。図1に示すデータ取得部13の機能は、入力インタフェース65を使用して実現される。 The program stored in the ROM 63 and the external storage device 64 is loaded into the RAM 62. The CPU 61 develops a numerical control program in the RAM 62 and executes various processes. The input interface 65 is a connection interface with an external device of the NC device 1. The function of the data acquisition unit 13 shown in FIG. 1 is realized by using the input interface 65.
 入力デバイス66は、キーボードあるいはポインティングデバイスといった、情報入力のためのデバイスである。図1に示す入力部14の機能は、入力デバイス66を使用して実現される。ディスプレイ67は、液晶ディスプレイあるいは有機ELディスプレイといった表示装置である。図1に示す表示部20の機能は、ディスプレイ67を使用して実現される。 The input device 66 is a device for inputting information, such as a keyboard or a pointing device. The function of the input unit 14 shown in FIG. 1 is realized by using the 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 by using the display 67.
 数値制御プログラムは、コンピュータによる読み取りが可能とされた記憶媒体に記憶されたものであっても良い。NC装置1は、記憶媒体に記憶された数値制御プログラムを外部記憶装置64へ格納しても良い。記憶媒体は、フレキシブルディスクである可搬型記憶媒体、あるいは半導体メモリであるフラッシュメモリであっても良い。数値制御プログラムは、他のコンピュータあるいはサーバ装置から通信ネットワークを介して、NC装置1となるコンピュータあるいはコントローラへインストールされても良い。 The numerical control program may be stored in a storage medium that can be read by a computer. The NC device 1 may store the numerical control program stored in the storage medium in the external storage device 64. The storage medium may be a portable storage medium that is a flexible disk, or a flash memory that is a semiconductor memory. The numerical control program may be installed from another computer or server device to the computer or controller that becomes the NC device 1 via the communication network.
 NC装置1の機能は、専用のハードウェアである処理回路によって実現されても良い。処理回路は、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらの組み合わせである。NC装置1の機能は、一部を専用のハードウェアで実現し、他の一部をソフトウェアまたはファームウェアで実現するようにしても良い。 The function of the NC device 1 may be realized by a processing circuit which is dedicated hardware. 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. Some of the functions of the NC device 1 may be realized by dedicated hardware, and some of the functions may be realized by software or firmware.
 NC装置1は、工作機械2の外部の装置に限られず、工作機械2に含まれるものであっても良い。NC装置1の各機能部は、1つの装置に集約されたものに限られず、複数の装置に分散されたものであっても良い。NC装置1は、1つの装置を用いて実現されるものであっても良く、複数の装置を用いて実現されるものであっても良い。なお、NC装置1による芯振れ誤差補正の手法は、工作機械2以外の産業用機械の制御に適用されても良い。 The NC device 1 is not limited to an external device of the machine tool 2, and may be included in the machine tool 2. Each functional unit of the NC device 1 is not limited to one integrated in one device, and may be distributed in a plurality of devices. The NC device 1 may be realized by using one device, or may be realized by using a plurality of devices. The method of correcting the runout error by the NC device 1 may be applied to the control of an industrial machine other than the machine tool 2.
 実施の形態1によると、NC装置1は、機構に生じ得る現象を表すモデル関数を求めることによって、機構が持つ構造を考慮した仮モデルを設定して、測定データにモデル関数をフィッティングさせる。NC装置1は、仮モデルのフィッティングによって、機械誤差の高精度な補正を行うことができる。NC装置1は、分割点の数を多くすることによる補正精度の向上を図る場合と比べて、誤差の測定に要する負担を少なくすることができる。NC装置1は、仮モデルのフィッティングに基づいた補正と、多項式のフィッティングに基づいた補正と、スプライン補間に基づいた補正との選択を可能とすることで、機械誤差の高精度な補正を行い得る。以上により、NC装置1は、回転軸の位置がずれることに起因する機械誤差の高精度な補正が可能となるという効果を奏する。 According to the first embodiment, the NC device 1 sets a tentative model in consideration of the structure of the mechanism by obtaining a model function representing a phenomenon that can occur in the mechanism, and fits the model function to the measurement data. The NC device 1 can correct the mechanical error with high accuracy by fitting the temporary model. The NC device 1 can reduce the burden required for measuring the error as compared with the case where the correction accuracy is improved by increasing the number of division points. The NC device 1 can perform highly accurate correction of mechanical error by making it possible to select between correction based on the fitting of the tentative model, correction based on the fitting of the polynomial, and correction based on spline interpolation. .. As described above, the NC device 1 has an effect that it is possible to correct the mechanical error caused by the displacement of the rotation axis with high accuracy.
 本実施の形態1では、主軸4の芯振れ誤差を補正する場合について説明したが、主軸4以外の駆動軸が回転する場合の芯振れ誤差の補正においても本実施の形態1が適用できることは言うまでもない。 In the first embodiment, the case of correcting the runout error of the spindle 4 has been described, but it goes without saying that the first embodiment can be applied to the correction of the runout error when the drive shafts other than the spindle 4 rotate. No.
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
 1 NC装置、2 工作機械、3 直線駆動軸、4 主軸、5 ワーク、10 プログラム取得部、11 プログラム解析部、12 軸指令生成部、13 データ取得部、14 入力部、15 データ処理部、16 補正量決定部、17 誤差データ格納部、18 加算器、19 駆動指令部、20 表示部、21 芯振れ誤差処理部、22 周期誤差処理部、23 仮モデル設定部、24 フィッティング処理部、25 補間処理部、31 サーボアンプ、32 サーボモータ、33 ボールねじ、34 移動体、35 主軸アンプ、36 主軸モータ、37 シャフト、38 チャック、40 位置検出器、41 発光ダイオード、42 固定スリット、43 フォトダイオード、44 回転盤、45 A相スリット、46 B相スリット、47,48 歯、51,52,53 円、61 CPU、62 RAM、63 ROM、64 外部記憶装置、65 入力インタフェース、66 入力デバイス、67 ディスプレイ、68 バス。 1 NC device, 2 machine machine, 3 linear drive shaft, 4 spindle, 5 work, 10 program acquisition unit, 11 program analysis unit, 12 axis command generation unit, 13 data acquisition unit, 14 input unit, 15 data processing unit, 16 Correction amount determination unit, 17 error data storage unit, 18 adder, 19 drive command unit, 20 display unit, 21 runout error processing unit, 22 periodic error processing unit, 23 temporary model setting unit, 24 fitting processing unit, 25 interpolation Processing unit, 31 servo amplifier, 32 servo motor, 33 ball screw, 34 moving body, 35 spindle amplifier, 36 spindle motor, 37 shaft, 38 chuck, 40 position detector, 41 light emitting diode, 42 fixed slit, 43 photodiode, 44 turntable, 45 A-phase slit, 46 B-phase slit, 47, 48 teeth, 51, 52, 53 yen, 61 CPU, 62 RAM, 63 ROM, 64 external storage device, 65 input interface, 66 input device, 67 display , 68 bus.

Claims (9)

  1.  工具を用いてワークを加工する工作機械において前記工具または前記ワークを回転動作させる機構の駆動源であるモータを制御する数値制御装置であって、
     前記機構が有する回転軸の位置がずれる現象である芯振れを表すモデル関数を求めることによって、前記芯振れによる機械誤差の仮モデルを設定する仮モデル設定部と、
     前記機構の動作を測定した結果である測定データに前記モデル関数をフィッティングさせることによって前記機械誤差のモデルである誤差モデルを求めるフィッティング処理部と、
     前記誤差モデルに基づいて前記モータへの指令を補正する補正部と、
     を備えることを特徴とする数値制御装置。
    A numerical control device that controls a motor that is a drive source of the tool or a mechanism for rotating the work in a machine tool that processes a work using a tool.
    A temporary model setting unit that sets a temporary model of mechanical error due to the center runout by obtaining a model function representing the runout, which is a phenomenon in which the position of the rotation axis of the mechanism shifts.
    A fitting processing unit that obtains an error model that is a model of the mechanical error by fitting the model function to the measurement data that is the result of measuring the operation of the mechanism.
    A correction unit that corrects commands to the motor based on the error model,
    A numerical control device characterized by comprising.
  2.  前記測定データのスプライン補間を行う補間処理部を備え、
     前記補正部は、前記誤差モデルに基づいた補正と前記スプライン補間に基づいた補正とのうち選択された一方を行うことを特徴とする請求項1に記載の数値制御装置。
    It is provided with an interpolation processing unit that performs spline interpolation of the measurement data.
    The numerical control device according to claim 1, wherein the correction unit performs one of a correction based on the error model and a correction based on the spline interpolation.
  3.  前記フィッティング処理部は、前記誤差モデルである第1の誤差モデルを求め、かつ、前記測定データに多項式をフィッティングさせることによって第2の誤差モデルを求め、
     前記補正部は、前記第1の誤差モデルに基づいた補正と前記第2の誤差モデルに基づいた補正とのうち選択された一方を行うことを特徴とする請求項1に記載の数値制御装置。
    The fitting processing unit obtains a first error model, which is the error model, and obtains a second error model by fitting a polynomial to the measurement data.
    The numerical control device according to claim 1, wherein the correction unit performs one of a correction based on the first error model and a correction based on the second error model.
  4.  前記フィッティング処理部は、正則化項が付加された前記多項式を前記測定データにフィッティングさせることによって前記第2の誤差モデルを求めることを特徴とする請求項3に記載の数値制御装置。 The numerical control device according to claim 3, wherein the fitting processing unit obtains the second error model by fitting the polynomial to which a regularization term is added to the measurement data.
  5.  前記測定データと、前記誤差モデルに基づいた補正量のデータとを表示する表示部を備えることを特徴とする請求項1から4のいずれか1つに記載の数値制御装置。 The numerical control device according to any one of claims 1 to 4, further comprising a display unit for displaying the measurement data and the correction amount data based on the error model.
  6.  前記モデル関数の周期は、前記回転軸の回転周期と同期していることを特徴とする請求項1から5のいずれか1つに記載の数値制御装置。 The numerical control device according to any one of claims 1 to 5, wherein the period of the model function is synchronized with the period of rotation of the rotation axis.
  7.  前記回転軸に取り付けられている回転盤について、互いに垂直な2つの軸である第1の軸と第2の軸との原点に、前記芯振れが生じていないときにおける前記回転盤の中心点が一致するとして、
     前記回転盤の半径をP、および前記芯振れによって移動した前記中心点と前記原点との距離をdとして、P/d=P’が成り立ち、前記芯振れによって移動した前記中心点と前記原点とを結ぶ線分と前記第1の軸とがなす角度をθとして、前記原点を基準とする前記中心点の方角を示す角度の前記芯振れによる変化量をθ+φと表し、かつ、前記機械誤差をαとした場合において、
     前記モデル関数は、以下の式(1)によって表されることを特徴とする請求項1から6のいずれか1つに記載の数値制御装置。
    Figure JPOXMLDOC01-appb-M000001
    With respect to the rotary disk attached to the rotary axis, the center point of the rotary disk when the runout does not occur is at the origin of the first axis and the second axis, which are two axes perpendicular to each other. As a match
    P / d = P'is established, where P is the radius of the turntable and d is the distance between the center point moved by the runout and the origin, and the center point moved by the runout and the origin are The angle formed by the line segment connecting the above and the first axis is θ, the amount of change in the angle indicating the direction of the center point with respect to the origin due to the runout is θ + φ, and the mechanical error is expressed as θ + φ. In the case of α
    The numerical control device according to any one of claims 1 to 6, wherein the model function is represented by the following equation (1).
    Figure JPOXMLDOC01-appb-M000001
  8.  nを2以上の整数として、前記フィッティング処理部は、前記誤差モデルをn次多項式と仮定し、
     mを2以上の整数、kを0からnの整数を表す変数として、前記回転軸が回転する角度範囲をm個に分割した場合における分割点の1つであるi番目のポイントについて、指令に応じた回転角度である指令角度をθ、測定された誤差をzとし、かつ、θを変数とする前記n次多項式をf(θ)、前記n次多項式におけるk次の項の係数をcとした場合において、
     前記フィッティング処理部は、次の式(2)によって表されるJを最小化させるcを求めることによって、測定された誤差に前記n次多項式をフィッティングさせることを特徴とする請求項1から7のいずれか1つに記載の数値制御装置。
    Figure JPOXMLDOC01-appb-M000002
    Let n be an integer of 2 or more, and the fitting processing unit assumes that the error model is an nth-order polynomial.
    As a variable representing m as an integer of 2 or more and k as an integer from 0 to n, the command is given for the i-th point, which is one of the division points when the angle range in which the rotation axis rotates is divided into m pieces. The command angle, which is the corresponding rotation angle, is θ i , the measured error is z i , the nth-order polynomial with θ as a variable is f (θ), and the coefficient of the k-th order term in the n-th order polynomial is In the case of kk
    Claims 1 to 7 are characterized in that the fitting processing unit fits the nth-order polynomial to the measured error by obtaining a ck that minimizes J represented by the following equation (2). The numerical control device according to any one of.
    Figure JPOXMLDOC01-appb-M000002
  9.  nを2以上の整数として、前記フィッティング処理部は、前記誤差モデルをn次多項式と仮定し、
     mを2以上の整数、kを0からnの整数として、前記回転軸が回転する角度範囲をm個に分割した場合における分割点の1つであるi番目のポイントについて、指令に応じた回転角度である指令角度をθ、測定された誤差をzとし、かつ、θを変数とする前記n次多項式をf(θ)、前記n次多項式におけるk次の項の係数をc、正則化パラメータをλとした場合において、
     前記フィッティング処理部は、次の式(3)によって表されるJを最小化させるcを求めることによって、測定された誤差に前記n次多項式をフィッティングさせることを特徴とする請求項8に記載の数値制御装置。
    Figure JPOXMLDOC01-appb-M000003
    Let n be an integer of 2 or more, and the fitting processing unit assumes that the error model is an nth-order polynomial.
    When m is an integer of 2 or more and k is an integer of 0 to n, the i-th point, which is one of the division points when the angle range in which the rotation axis rotates is divided into m pieces, is rotated according to a command. a command angle is the angle theta i, the measured error and z i, and the n-th order polynomial for the theta variable f (theta), the coefficient of k-th order term in the polynomial of degree n c k, When the regularization parameter is λ,
    The eighth aspect of the present invention is characterized in that the fitting processing unit fits the nth-order polynomial to the measured error by obtaining a ck that minimizes J represented by the following equation (3). Numerical control device.
    Figure JPOXMLDOC01-appb-M000003
PCT/JP2019/015841 2019-04-11 2019-04-11 Numerical control device WO2020208783A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980095057.5A CN113711143A (en) 2019-04-11 2019-04-11 Numerical control device
JP2019555997A JP6719684B1 (en) 2019-04-11 2019-04-11 Numerical control device
PCT/JP2019/015841 WO2020208783A1 (en) 2019-04-11 2019-04-11 Numerical control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/015841 WO2020208783A1 (en) 2019-04-11 2019-04-11 Numerical control device

Publications (1)

Publication Number Publication Date
WO2020208783A1 true WO2020208783A1 (en) 2020-10-15

Family

ID=71402376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015841 WO2020208783A1 (en) 2019-04-11 2019-04-11 Numerical control device

Country Status (3)

Country Link
JP (1) JP6719684B1 (en)
CN (1) CN113711143A (en)
WO (1) WO2020208783A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002500567A (en) * 1996-09-04 2002-01-08 ウィリー,ジョセフ ビー. Apparatus and method for automatically compensating for lateral run-out
WO2010143227A1 (en) * 2009-06-10 2010-12-16 三菱電機株式会社 Numerical controller and numerical control machining system
WO2012057235A1 (en) * 2010-10-27 2012-05-03 株式会社牧野フライス製作所 Numerical control method
JP2017087400A (en) * 2015-11-17 2017-05-25 ローランドディー.ジー.株式会社 Correction method and correction apparatus
JP2019053598A (en) * 2017-09-15 2019-04-04 オークマ株式会社 Numeric control device and numeric control method of machine tool

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731532B2 (en) * 1989-05-24 1995-04-10 オ−クマ株式会社 Numerical control device
CN102033509B (en) * 2011-01-18 2012-10-10 上海交通大学 Virtual error compensation system of numerical control machine
CN105843780B (en) * 2016-04-11 2018-06-26 西安交通大学 A kind of sparse deconvolution method of mechanical structure shock loading identification
CN106774152B (en) * 2016-10-08 2019-03-22 西南交通大学 A kind of modeling method of numerically-controlled machine tool position correlation geometric error item
CN106338970B (en) * 2016-11-17 2018-09-07 沈阳工业大学 A kind of 5-shaft linkage numerical control Servo System of Machine Tools control method
CN110650818B (en) * 2017-05-25 2021-08-27 三菱电机株式会社 Laser processing apparatus
JP6844462B2 (en) * 2017-07-21 2021-03-17 株式会社デンソーウェーブ Angle detector eccentricity error correction method, robot system
CN109506627B (en) * 2018-10-31 2021-05-07 中国资源卫星应用中心 RPC model-based satellite image system error correction method
CN109597315B (en) * 2018-10-31 2020-08-18 华中科技大学 Method, equipment and system for identifying health degradation state of mechanical equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002500567A (en) * 1996-09-04 2002-01-08 ウィリー,ジョセフ ビー. Apparatus and method for automatically compensating for lateral run-out
WO2010143227A1 (en) * 2009-06-10 2010-12-16 三菱電機株式会社 Numerical controller and numerical control machining system
WO2012057235A1 (en) * 2010-10-27 2012-05-03 株式会社牧野フライス製作所 Numerical control method
JP2017087400A (en) * 2015-11-17 2017-05-25 ローランドディー.ジー.株式会社 Correction method and correction apparatus
JP2019053598A (en) * 2017-09-15 2019-04-04 オークマ株式会社 Numeric control device and numeric control method of machine tool

Also Published As

Publication number Publication date
JP6719684B1 (en) 2020-07-08
CN113711143A (en) 2021-11-26
JPWO2020208783A1 (en) 2021-04-30

Similar Documents

Publication Publication Date Title
AU2006336718B2 (en) Rotary encoder
JP6149337B1 (en) Surface shape measuring device
JP6143885B2 (en) Method for self-calibrating a rotary encoder
JPH07239716A (en) Position detecting device, position detecting device with correcting function, position detecting method, and correcting method for position detecting device
JP4749154B2 (en) Rotary encoder
JP4014719B2 (en) NC machine tool control apparatus and positioning control method
JP5798824B2 (en) Scale error calculation device, scale error calibration device, and scale error calculation method
JP2017161252A (en) Surface shape measuring method, and surface shape measuring device
JP5275867B2 (en) 5 DOF error measuring device
CN101566466A (en) Profile analysis system and method
US9046384B2 (en) Self-calibration method for angle detector, angle detector, circumferential scale calibration device, and angle detector calibration device
WO2020208783A1 (en) Numerical control device
JP5275866B2 (en) 5 DOF error measuring device
US8712013B2 (en) Motion control system and X-ray measurement apparatus
JP6416983B1 (en) Rotation axis angle calibration method and angle calibration program
JP2007327770A (en) Output signal correcting device and output signal correcting method of digital scale
JP5300831B2 (en) Mechanical angle measuring device
JP6038063B2 (en) Trajectory error display device
WO2024009514A1 (en) Position detection system, actuator, and position detection method
JPH0771954A (en) Method and device for measuring flatness of disc
JPH01270784A (en) Controller for motor
US20220243807A1 (en) Method Of Correcting Angular Transmission Error For Reducer And Robot System
TWI326807B (en)
JP2018128350A (en) Position detector, stage device, and shape measuring device
JP2004020481A (en) Cam profile measuring device and cam profile measuring method

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019555997

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19923775

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19923775

Country of ref document: EP

Kind code of ref document: A1