WO2018105085A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2018105085A1
WO2018105085A1 PCT/JP2016/086599 JP2016086599W WO2018105085A1 WO 2018105085 A1 WO2018105085 A1 WO 2018105085A1 JP 2016086599 W JP2016086599 W JP 2016086599W WO 2018105085 A1 WO2018105085 A1 WO 2018105085A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
drive shaft
movement amount
drive
speed
Prior art date
Application number
PCT/JP2016/086599
Other languages
English (en)
French (fr)
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 DE112016007507.3T priority Critical patent/DE112016007507T5/de
Priority to PCT/JP2016/086599 priority patent/WO2018105085A1/ja
Priority to CN201680091352.XA priority patent/CN110035867B/zh
Priority to JP2017516527A priority patent/JP6180688B1/ja
Priority to US16/465,864 priority patent/US11003159B2/en
Publication of WO2018105085A1 publication Critical patent/WO2018105085A1/ja

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/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/12Adaptive control, i.e. adjusting itself to have a performance which is optimum according to a preassigned criterion
    • 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/402Numerical 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 positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • 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/416Numerical 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 of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37077Relative movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37436Prediction of displacement, relative or absolute, motion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42044Adapt model as function of difference between real and calculated position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49176Compensation of vibration of machine base due to slide movement

Definitions

  • the present invention relates to a numerical control device that controls a machine tool according to a machining program.
  • the operation of the drive shaft causes machine vibration, which may degrade machining accuracy or machined surface quality.
  • the moving direction of the object moved by the drive shaft is different from the vibration direction of mechanical vibration, even if feedback control is performed on the drive shaft to suppress an error in the moving direction of the object moved by the drive shaft, It is impossible to suppress an error of mechanical vibration having a direction different from the moving direction of the object to be moved by the shaft. For this reason, there has been proposed a technique for suppressing vibration caused by the operation of the drive shaft and in a direction different from the moving direction of the drive shaft.
  • Patent Document 1 discloses a linear motor control method that detects the relative position or relative speed between a movable body and a movable body using a position or speed detector and controls the position or speed of the movable body. ing.
  • a linear motor vibration compensation model including a linear motor vibration model including a gravity center position transfer function and a rotation amount transfer function and a vibration compensator transfer function is used.
  • the thrust of the movable body is input, and the position of the center of gravity of the movable body and the displacement detected by the detector by the rotation of the movable body are output.
  • the linear motor vibration model outputs a relative position that is the sum of the moving body gravity center position and the displacement caused by the rotation of the movable body.
  • the vibration compensator transfer function receives a displacement detected by the detector by the rotation of the movable body as an input, and outputs a thrust compensation value. And the vibration which appears in a relative position is compensated by giving the thrust which is the difference of a thrust and a thrust compensation value to a linear motor vibration model.
  • the driving force when moving the workpiece propagates as a reaction force, and there is vibration generated in a structure other than the workpiece.
  • the relative position of the tool with respect to the workpiece becomes vibrational, which causes a problem that the machining accuracy or the quality of the machined surface is deteriorated.
  • This invention is made in view of the above, Comprising: It aims at obtaining the numerical control apparatus which can suppress the vibration which generate
  • the numerical controller of the present invention uses the first drive signal to perform the first movement of the first object to be moved by the first drive shaft.
  • the first prediction unit that predicts the amount and the first drive signal
  • the second movement amount of the second object in the three-dimensional space caused by the driving force of the first drive shaft is predicted.
  • a second prediction unit the numerical control device corrects the first drive signal with the correction amount and a correction amount calculation unit that calculates the correction amount of the first drive signal based on the first movement amount and the second movement amount.
  • a first correction signal output unit that outputs a first corrected drive signal to a drive unit that drives the first drive shaft.
  • the numerical control device has an effect that vibration generated in a structure other than a workpiece can be suppressed.
  • a diagram schematically showing an example of the configuration of a machine tool 1 is a block diagram showing an example of a functional configuration of a numerical control apparatus according to a first embodiment of the present invention.
  • 1 is a block diagram schematically showing an example of a functional configuration of a drive shaft movement amount prediction unit according to the first exemplary embodiment of the present invention.
  • 1 is a block diagram schematically showing an example of a functional configuration of a non-drive-target object movement amount prediction unit according to the first exemplary embodiment of the present invention;
  • the flowchart which shows an example of the procedure of the vibration suppression process of the numerical control apparatus concerning Embodiment 1 of this invention.
  • the flowchart which shows an example of the process sequence in the drive-axis movement amount estimation part concerning Embodiment 1 of this invention.
  • FIG. 1 is a block diagram representing a functional configuration of a numerical controller according to a first embodiment of the present invention using a state space model.
  • the block diagram which expressed the functional structure of the numerical control apparatus by Embodiment 1 of this invention using the state space model
  • the machine tool which has the outline shown by FIG. 1, The figure which shows an example of the simulation result of the vibration amplitude of a perpendicular direction about the relative position of the tool on the basis of the workpiece
  • FIG. 3 is a block diagram showing an example of a functional configuration of a numerical control device according to a second embodiment of the present invention.
  • the flowchart which shows an example of the procedure of the vibration suppression process of the numerical control apparatus concerning Embodiment 2 of this invention.
  • 1 is a diagram illustrating an example of a hardware configuration when the functions of the numerical control devices according to the first and second embodiments are realized by a computer.
  • FIG. 1 is a diagram schematically illustrating an example of the configuration of a machine tool.
  • the machine tool 1 holds a bed 2 as a base and a workpiece 3 to be processed, and holds a work table 4 that can move in a horizontal direction and can rotate in a horizontal plane, and a tool 5, and moves in a vertical direction. It has a possible head 6 and a column 7 which is fixed to the bed 2 and supports the head 6.
  • a numerical control device is connected to the machine tool 1, and the work table 4 moves in the horizontal direction or rotates in a horizontal plane according to an instruction from the numerical control device, or the head 6 moves in the vertical direction. 3 is processed into a desired shape.
  • the driving force when moving the work table 4 is propagated as a reaction force, and vibrations are generated in structures other than the work 3.
  • An example of a structure that generates vibration is the column 7.
  • the relative position of the tool 5 with respect to the workpiece 3 vibrates.
  • FIG. 2 is a block diagram showing an example of the functional configuration of the numerical control apparatus according to the first embodiment of the present invention.
  • the numerical control device 10 is a device that outputs a drive signal to the drive shaft 31 of the machine tool 1 in accordance with a machining program for machining a workpiece.
  • the drive shaft 31 is a shaft for moving the work table 4 or the head 6 of FIG. 1 via the drive unit, and includes a translation drive shaft or a rotation drive shaft.
  • the drive unit includes a motor.
  • the drive shaft 31 is connected to an encoder 32 that detects the position and speed of the drive target.
  • the numerical control apparatus 10 calculates a predicted movement amount of a non-driving object associated with the movement of the drive shaft 31 and a drive shaft movement amount prediction unit 11 that is a first prediction unit that calculates a predicted movement amount of the drive shaft 31.
  • a non-driving object movement amount prediction unit 12 that is a second prediction unit, a correction amount calculation unit 13 that calculates a correction amount of a drive signal, a position feedback compensation unit 14 that calculates a position feedback compensation value, and speed feedback
  • a speed feedback compensation unit 15 that calculates a compensation value and a correction signal output unit 16 that calculates a corrected drive signal are provided.
  • the numerical control apparatus 10 accompanies the movement of the drive signal input unit 51 that receives the drive signal, the parameter that expresses the model used to predict the movement amount of the first object that is moved by the drive shaft 31, and the movement of the drive shaft 31.
  • a movement amount prediction parameter input unit 52 that receives a parameter expressing a model used for prediction of a movement amount of the second object that is not driven; and a feedback parameter input unit 53 that receives input of position and speed feedback parameters.
  • the object other than the drive target is a member constituting the machine tool 1 other than the object that is the movement target of the drive shaft 31.
  • the objects that are not driven are the head 6 and the column 7.
  • the drive shaft movement amount prediction unit 11 includes a parameter representing a model used when predicting the displacement of the drive shaft 31 received from the movement amount prediction parameter input unit 52, a drive signal received from the drive signal input unit 51, and a correction amount calculation. Using the correction amount received from the unit 13 and a model determined in advance, the drive shaft movement amount that is the first movement amount of the first object to be moved by the drive shaft 31 is predicted. Examples of the drive axis movement amount of the first object include at least one of the position, displacement, speed, acceleration, posture, posture change, posture change speed, and posture change acceleration of the object. In the following description, the case where the predicted drive axis position and the predicted drive axis speed are used as the drive axis movement amount will be described as an example.
  • the drive axis movement amount prediction unit 11 passes the calculated drive axis predicted position and the drive axis predicted speed to the correction amount calculation unit 13, passes the calculated drive axis predicted position to the position feedback compensation unit 14, and calculates the calculated drive axis predicted speed. To the speed feedback compensation unit 15.
  • the non-driving object movement amount prediction unit 12 includes a parameter representing a model used when predicting the non-driving object movement amount received from the movement amount prediction parameter input unit 52, a drive signal received from the drive signal input unit 51, A second object other than the target to be moved by the drive shaft 31 in the three-dimensional space generated due to the drive force of the drive shaft 31 using a correction model received from the correction amount calculation unit 13 and a predetermined model.
  • the movement amount of the non-driving object which is the second movement amount, is predicted.
  • the non-driving object movement amount prediction unit 12 passes the calculated non-driving object movement amount to the correction amount calculation unit 13.
  • the amount of movement of the non-driven object includes relative displacement that is the displacement of the relative position of the tool 5 with respect to the position of the workpiece 3, and the relative speed that is the speed of the relative position of the tool 5 with respect to the position of the workpiece 3.
  • the relative acceleration which is the acceleration of the relative position of the tool 5 with respect to the position of the workpiece 3
  • the change in the relative posture which is the posture of the tool 5 with respect to the posture of the workpiece 3
  • the movement amount of the non-drive target object when the movement amount of the non-drive target object is predicted, the movement amount in a three-dimensional space in a direction different from the movement direction of the drive shaft 31 may be predicted. Specifically, the displacement in the direction different from the moving direction of the first object that the drive shaft 31 moves, the speed in the direction different from the moving direction of the first object that the drive shaft 31 moves, and the first that the drive shaft 31 moves.
  • the non-drive target object movement amount prediction unit 12 uses at least one of the position, speed, acceleration, and drive force of the drive shaft 31 commanded to the drive shaft 31 as a part of the input, It is composed of a state space model in which displacement, speed, acceleration, posture change, posture change speed or posture change acceleration are part of the output or part of the internal state.
  • a state space model that can represent a multi-input / multi-output system, the vibration of the second object is simultaneously suppressed in multiple directions such as vibration in the same direction as the drive shaft 31 and vibration in a direction different from the drive shaft 31. Will be able to.
  • a simulation based on a finite element method or a dynamic model is used.
  • system identification can be performed by measuring a relative displacement when the drive shaft 31 is operated in advance.
  • system identification it is possible to improve the accuracy of the model by using an additional sensor only when measuring in advance.
  • the embodiment is not limited to these methods.
  • the correction amount calculation unit 13 is driven according to a model determined in advance from the drive axis movement amount received from the drive axis movement amount prediction unit 11 and the non-drive target object movement amount received from the non-drive target object movement amount prediction unit 12.
  • the correction amount to the signal is calculated. This correction amount calculation processing is for considering the influence of the movement amount of the second object caused by the driving force of the drive shaft 31 on the first object.
  • the correction amount calculation unit 13 passes the calculated correction amount to the drive axis movement amount prediction unit 11, the non-drive target object movement amount prediction unit 12, and the correction signal output unit 16.
  • a feedback gain is calculated in advance by designing an optimal regulator based on the model of the non-drive target object movement amount prediction unit 12, and the calculated non-drive target object movement amount is multiplied by the gain. can do.
  • the embodiment is not limited to this.
  • the position feedback compensation unit 14 is determined in advance from parameters used for position feedback compensation received from the feedback parameter input unit 53, a predicted drive axis position received from the drive axis movement amount prediction unit 11, and a feedback position received from the encoder 32. A position feedback compensation value is calculated according to the model. The position feedback compensation unit 14 passes the calculated position feedback compensation value to the speed feedback compensation unit 15.
  • the speed feedback compensation unit 15 is a parameter used for speed feedback compensation received from the feedback parameter input unit 53, a drive axis predicted speed received from the drive axis movement amount prediction unit 11, a position feedback compensation value received from the position feedback compensation unit 14, A speed feedback compensation value is calculated according to a predetermined model from the feedback speed received from the encoder 32.
  • the speed feedback compensation unit 15 passes the calculated speed feedback compensation value to the correction signal output unit 16.
  • the correction signal output unit 16 calculates a corrected drive signal from the drive signal received from the drive signal input unit 51, the correction amount received from the correction amount calculation unit 13, and the speed feedback compensation value received from the speed feedback compensation unit 15. .
  • the correction signal output unit 16 passes the calculated corrected drive signal to the drive unit that drives the drive shaft 31.
  • the drive signal input unit 51 receives an input of the drive signal, and passes the drive signal to the drive axis movement amount prediction unit 11, the non-drive target object movement amount prediction unit 12, and the correction signal output unit 16.
  • the movement amount prediction parameter input unit 52 receives an input of a non-driving object movement amount prediction parameter representing a model used for prediction of the non-driving object movement amount.
  • the movement amount prediction parameter input unit 52 passes the non-driving object movement amount prediction parameter to the non-driving object movement amount prediction unit 12.
  • the movement amount prediction parameter input unit 52 receives an input of a drive shaft movement amount prediction parameter representing a model used for prediction of the drive shaft movement amount, and passes the drive axis movement amount prediction parameter to the drive shaft movement amount prediction unit 11. May be.
  • the movement amount prediction parameter input unit 52 passes the non-driving object movement amount prediction parameter to the non-driving object movement amount prediction unit 12, and sends the driving shaft movement amount prediction parameter to the driving shaft movement amount prediction unit 11. Take the case of passing as an example.
  • the feedback parameter input unit 53 receives input of a position compensation parameter used for position feedback compensation and a speed compensation parameter used for speed feedback compensation. Further, the feedback parameter input unit 53 passes the position compensation parameter to the position feedback compensation unit 14 and passes the speed compensation parameter to the speed feedback compensation unit 15.
  • the drive shaft 31 receives the corrected drive signal from the correction signal output unit 16, drives the workpiece 3 or the tool 5, and transmits the movement or rotation of the drive shaft 31 to the encoder 32.
  • the encoder 32 acquires the feedback position and the feedback speed of the drive shaft 31 from the displacement generated between the movable portion (not shown) and the fixed portion inside the encoder 32 as the drive shaft 31 operates.
  • the encoder 32 passes the feedback position to the position feedback compensation unit 14 and passes the feedback speed to the speed feedback compensation unit 15.
  • FIG. 3 is a block diagram schematically illustrating an example of a functional configuration of the drive shaft movement amount prediction unit according to the first embodiment of the present invention.
  • the drive shaft movement amount prediction unit 11 includes a drive shaft state amount addition unit 111 that calculates a change in the drive shaft state amount, and a drive shaft state amount update unit that calculates a drive shaft state amount at the next time when there is no input signal. 112, a drive shaft state quantity holding unit 113 that holds a change amount of the drive shaft state quantity and a drive shaft state quantity at the next time, a drive shaft position extraction unit 114 that extracts a predicted drive axis position, and a predicted drive axis speed And a drive shaft speed extraction unit 115 for extracting.
  • the drive shaft state quantity is a physical quantity used when predicting the drive shaft movement amount. For example, when the position is predicted, the position and speed as the drive shaft state quantity are held. The prediction of the next position is performed by adding the previous position to a value obtained by multiplying the time difference from the previous time by the speed. In addition to the position and speed as the drive shaft state quantity, it is also possible to hold acceleration. In this case, the change in speed from the previous time to the next time is calculated from the acceleration, and the next position is predicted using the average of the calculated speeds. Alternatively, the position command and speed command to the drive shaft 31 can be used as the next position and speed as they are. However, the embodiment is not limited to these.
  • the drive shaft state quantity adding unit 111 sets a change amount given to the drive shaft state quantity by a difference between the drive signal received from the drive signal input unit 51 and the correction amount received from the correction amount calculation unit 13 as a predetermined model. Therefore, it is calculated and passed to the drive shaft state quantity holding unit 113.
  • the drive shaft state quantity update unit 112 receives the drive shaft state quantity from the drive shaft state quantity holding unit 113, calculates the drive shaft state quantity at the next time when there is no input signal, and stores the drive shaft state quantity in the drive shaft state quantity holding unit 113. hand over.
  • the drive shaft state quantity holding unit 113 passes the drive shaft state quantity to the correction amount calculation unit 13, the drive shaft position extraction unit 114, and the drive shaft speed extraction unit 115.
  • the drive shaft position extraction unit 114 extracts the drive shaft predicted position from the drive shaft state quantity and passes it to the position feedback compensation unit 14.
  • the drive shaft speed extraction unit 115 extracts the drive shaft predicted speed from the drive shaft state quantity and passes it to the speed feedback compensation unit 15.
  • the drive shaft movement amount prediction unit 11 calculates the drive shaft state amount and the drive shaft predicted position from the difference between the drive signal from the drive signal input unit 51 and the correction amount from the correction amount calculation unit 13. And predict the drive shaft predicted speed. Then, the drive shaft state amount is output to the correction amount calculation unit 13, the drive shaft predicted position is output to the position feedback compensation unit 14, and the drive shaft predicted speed is output to the speed feedback compensation unit 15.
  • FIG. 4 is a block diagram schematically illustrating an example of a functional configuration of the non-drive-target-object moving amount prediction unit according to the first embodiment of the present invention.
  • the non-driving object movement amount prediction unit 12 calculates the non-driving object state amount addition unit 121 that calculates the change of the non-driving object state amount, and the non-driving object state amount at the next time when there is no input signal.
  • the non-drive target object state quantity is a physical quantity used when the non-drive target object movement amount is predicted.
  • the position and speed that are the non-drive target object state quantities are held.
  • the prediction of the next position is performed by adding the previous position to a value obtained by multiplying the time difference from the previous time by the speed.
  • acceleration it is also possible to hold acceleration in addition to the position and speed that are the non-driven object state quantities.
  • the change in speed from the previous time to the next time is calculated from the acceleration, and the next position is predicted using the average of the calculated speeds.
  • the embodiment is not limited to these.
  • the non-driving object state quantity adding unit 121 determines in advance a change amount that the difference between the driving signal received from the driving signal input unit 51 and the correction amount received from the correction amount calculating unit 13 gives to the non-driving object state quantity. It is calculated according to the given model and passed to the non-driving object state quantity holding unit 123.
  • the non-driving object state quantity update unit 122 receives the non-driving object state quantity from the non-driving object state quantity holding unit 123, calculates the non-driving object state quantity at the next time when there is no input signal, It is passed to the non-drive target object state quantity holding unit 123.
  • the non-driving object state quantity holding unit 123 includes a change amount that the difference between the drive signal received from the non-driving object state quantity adding unit 121 and the correction amount gives to the non-driving object state quantity, and a non-driving object state quantity update unit.
  • the non-driving object state quantity at the next time when there is no input signal received from 122 is stored as the non-driving object state quantity at the next time.
  • the non-driving object state quantity holding unit 123 passes the non-driving object state quantity to the correction amount calculation unit 13.
  • the non-drive target object movement amount prediction unit 12 calculates the non-drive target object state amount from the difference between the drive signal from the drive signal input unit 51 and the correction amount from the correction amount calculation unit 13. Predict. Then, the non-driving object state amount is output to the correction amount calculation unit 13.
  • FIG. 5 is a flowchart illustrating an example of a procedure of vibration suppression processing of the numerical controller according to the first embodiment of the present invention.
  • the flow of processing for the functional configuration of the numerical controller 10 in FIG. 2 will be described.
  • the movement amount prediction parameter input unit 52 receives the input of the drive axis movement amount prediction parameter and the non-drive target object movement amount prediction parameter.
  • the drive axis movement amount prediction unit 11 and the non-drive target object movement amount prediction unit 12 respectively receive the drive axis movement amount prediction parameter and the drive target non-object movement amount prediction parameter from the movement amount prediction parameter input unit 52.
  • the drive shaft movement amount prediction parameter is information necessary for the drive shaft movement amount prediction unit 11 to calculate the drive shaft predicted position and the drive shaft predicted speed using a state space model.
  • the non-driving object movement amount prediction parameter is information necessary for the non-driving object movement amount prediction unit 12 to calculate the non-driving object movement amount using the state space model.
  • the feedback parameter input unit 53 receives input of position compensation parameters and speed compensation parameters.
  • the position feedback compensation unit 14 and the velocity feedback compensation unit 15 receive the position compensation parameter and the velocity compensation parameter from the feedback parameter input unit 53, respectively.
  • step S ⁇ b> 103 the drive shaft movement amount prediction unit 11 passes the initial drive shaft movement amount to the correction amount calculation unit 13.
  • step S ⁇ b> 104 the non-driving object movement amount prediction unit 12 passes the initial non-driving object movement amount to the correction amount calculation unit 13.
  • step S105 it is confirmed whether or not a drive signal is input to the drive signal input unit 51.
  • the entire process is ended.
  • step S106 the correction amount calculation unit 13 determines the drive axis movement amount and the non-drive target object movement amount. Based on the above, the correction amount is calculated.
  • step S107 the drive axis movement amount prediction unit 11 predicts the drive axis prediction position and the drive axis prediction speed based on the drive signal from the drive signal input unit 51 and the correction amount calculated in step S106. To do.
  • step S108 the non-driving object movement amount prediction unit 12 predicts the non-driving object movement amount based on the drive signal and the correction amount.
  • step S109 the drive shaft movement amount prediction unit 11 passes the drive shaft predicted position to the position feedback compensation unit 14, and passes the drive shaft predicted speed to the speed feedback compensation unit 15.
  • step S ⁇ b> 110 the drive axis movement amount prediction unit 11 passes the predicted drive axis prediction position and the predicted drive axis speed to the correction amount calculation unit 13.
  • step S ⁇ b> 111 the non-drive target object movement amount prediction unit 12 passes the predicted non-drive target object movement amount to the correction amount calculation unit 13.
  • the predicted drive axis position, predicted drive axis speed, and non-drive target object movement amount are used when the next drive signal is input.
  • step S112 the encoder 32 acquires feedback information of the drive shaft 31.
  • the feedback information includes a feedback position and a feedback speed.
  • step S ⁇ b> 113 the encoder 32 passes the feedback information of the drive shaft 31 to the position feedback compensation unit 14 and the speed feedback compensation unit 15.
  • the encoder 32 passes the feedback position to the position feedback compensation unit 14 and passes the feedback speed to the speed feedback compensation unit 15.
  • step S114 the position feedback compensation unit 14 determines the position feedback compensation value based on the predicted drive axis position received in step S109, the feedback position received in step S113, and the position compensation parameter received in step S102. Is calculated. Then, the position feedback compensation unit 14 passes the position feedback compensation value to the speed feedback compensation unit 15.
  • step S115 the speed feedback compensation unit 15 receives the predicted drive shaft speed received in step S109, the feedback speed received in step S113, the position feedback compensation value received in step S114, and the speed received in step S102. Based on the compensation parameter, a speed feedback compensation value is calculated. Then, the speed feedback compensation unit 15 passes the speed feedback compensation value to the correction signal output unit 16.
  • the correction signal output unit 16 subtracts the correction amount calculated by the correction amount calculation unit 13 from the drive signal from the drive signal input unit 51, and further uses the speed feedback compensation value calculated by the speed feedback compensation unit 15. Addition is performed to calculate a corrected drive signal.
  • step S ⁇ b> 116 the correction signal output unit 16 passes the corrected drive signal to the drive shaft 31. Thereafter, the process returns to step S105, and the process from step S106 to step S116 is repeated while the drive signal is input.
  • FIG. 6 is a flowchart illustrating an example of a processing procedure in the drive shaft movement amount prediction unit according to the first embodiment of the present invention. Here, the processing will be described according to the functional configuration of the drive shaft movement amount prediction unit 11 of FIG.
  • step S131 the drive shaft state quantity adding unit 111, the drive shaft state quantity updating unit 112, and the drive shaft state quantity holding unit 113 receive the drive axis movement amount prediction parameter from the movement amount prediction parameter input unit 52.
  • step S ⁇ b> 132 the drive shaft state quantity holding unit 113 passes the initial value of the drive shaft state quantity to the correction amount calculation unit 13.
  • step S133 it is confirmed whether or not a drive signal is input to the drive signal input unit 51. If no drive signal is input to the drive signal input unit 51, that is, if No in step S133, the entire process is terminated.
  • step S134 the drive shaft state quantity adding unit 111 receives the drive signal from the drive signal input unit 51.
  • the correction amount from the correction amount calculation unit 13 is received, and the change amount of the drive shaft state amount due to the signal obtained by subtracting the correction amount from the drive signal is calculated.
  • the drive shaft movement amount prediction parameter received in step S131 is used.
  • step S135 the drive shaft state quantity updating unit 112 receives the drive shaft state quantity from the drive shaft state quantity holding unit 113, and calculates an update value of the drive shaft state quantity at the next time when there is no input signal. .
  • the drive shaft movement amount prediction parameter received in step S131 is used.
  • step S136 the drive shaft state quantity holding unit 113 stores a drive shaft state quantity that is the sum of the change amount of the drive shaft state quantity and the updated value of the drive shaft state quantity at the next time when there is no input signal. . Further, the drive shaft state quantity holding unit 113 passes the updated value of the drive shaft state quantity to the drive shaft position extraction unit 114 and the drive shaft speed extraction unit 115.
  • step S137 the drive shaft position extraction unit 114 extracts the drive shaft predicted position from the drive shaft state quantity and passes it to the position feedback compensation unit 14.
  • step S 138 the drive shaft speed extraction unit 115 extracts the drive shaft predicted speed from the drive shaft state quantity and passes it to the speed feedback compensation unit 15.
  • step S 139 the drive shaft state amount holding unit 113 passes the drive shaft state amount to the correction amount calculation unit 13.
  • FIG. 7 is a flowchart illustrating an example of a processing procedure in the non-drive-target-object moving amount prediction unit according to the first embodiment of the present invention.
  • the processing will be described according to the functional configuration of the non-drive-target-object movement amount prediction unit 12 in FIG.
  • step S151 the non-driving object state quantity adding unit 121, the non-driving object state quantity updating unit 122, and the non-driving object state quantity holding unit 123 are transferred from the movement amount prediction parameter input unit 52. A state quantity prediction parameter is received.
  • step S152 the non-driving object state quantity holding unit 123 passes the initial value of the non-driving object state quantity to the correction amount calculation unit 13.
  • step S153 it is confirmed whether or not a drive signal is input to the drive signal input unit 51. If there is no input of the drive signal to the drive signal input unit 51, that is, if No in step S153, the entire process is terminated.
  • step S153 if there is a drive signal input to the drive signal input unit 51, that is, if Yes in step S153, the non-drive target object state amount adding unit 121 drives the drive signal from the drive signal input unit 51 in step S154.
  • the signal and the correction amount from the correction amount calculation unit 13 are received, and the change amount of the non-driving object state amount caused by the signal obtained by subtracting the correction amount from the drive signal is calculated.
  • the non-driving object state quantity prediction parameter received in step S151 is used.
  • step S155 the non-driving object state quantity update unit 122 receives the non-driving object state quantity from the non-driving object state quantity holding unit 123 and receives the non-driving object state quantity at the next time when there is no input signal. An updated value of the state quantity is calculated.
  • step S156 the driving target non-object state quantity holding unit 123 is the sum of the change amount of the driving target non-object state quantity and the updated value of the non-driving target object state quantity at the next time when there is no input signal. Stores out-of-target object state quantities.
  • step S157 the non-driving object state quantity holding unit 123 passes the non-driving object state quantity to the correction amount calculation unit 13.
  • the process in the non-drive-target object movement amount prediction unit 12 ends.
  • FIG. 8 is a block diagram representing the functional configuration of the numerical control apparatus according to the first embodiment of the present invention using a state space model.
  • the movement amount prediction parameter input unit 52 and the feedback parameter input unit 53 of FIG. 2 are omitted.
  • the internal components shown in FIG. 3 are represented by a state space model.
  • the internal components shown in FIG. It is expressed by Furthermore, the interaction 60 between the drive shaft 31, the tool, and the workpiece is expressed in the output destination of the correction signal from the correction signal output unit 16.
  • the interaction 60 is expressed by state space models Am1, Bm1, Am2, and Bm2. Further, the position detection by the encoder 32 is expressed by Cpm1, and the speed detection by the encoder 32 is expressed by Cvm1.
  • Am1 and Bm1 represent the relationship between the driving force and the operation of the driving shaft 31 in a state space model.
  • Am2 and Bm2 represent the displacement of the tool and the workpiece caused by the driving force of the driving shaft 31.
  • the relationship between the relative displacement, which is the difference between the two, and the driving force is expressed by a state space model.
  • the signal u is a drive signal
  • the signal p is a predicted drive axis position
  • the signal v is a predicted drive axis speed
  • the signal um is a corrected drive signal output by the correction signal output unit 16.
  • the signal xm1 (ti) is an internal state quantity of the drive shaft 31 at the time ti
  • the signal xm2 (ti) is a relative displacement state quantity that is a difference between the displacement of the tool and the workpiece at the time ti. is there.
  • the signal pm is the drive shaft position detected by the encoder 32
  • the signal vm is the drive shaft speed detected by the encoder 32.
  • Each signal transmitted through the signal line in FIG. 8 has a relationship of the following expressions (1) to (4).
  • x1 (t2) A1 ⁇ x1 (t1) + B1 ⁇ u
  • x2 (t2) A2 ⁇ x2 (t1) + B2 ⁇ u
  • p Cp1 ⁇ x1 (t1)
  • v Cv1 ⁇ x1 (t1) (4)
  • FIG. 9 is a block diagram representing the functional configuration of the numerical control apparatus according to the first embodiment of the present invention using a state space model.
  • FIG. 9 represents a configuration essentially equivalent to FIG. 8 according to the results of the equations (10) to (12).
  • FIG. 9 is a diagram for making the effects easier to understand than in FIG.
  • the drive shaft state quantity adding unit 111 and the non-driving object state quantity adding unit 121 in FIG. 8 are expressed as a state quantity adding unit 111 a, and the driving shaft state quantity updating unit 112 and the non-drive target object state quantity are represented.
  • the update unit 122 is expressed as a state quantity update unit 112a, and the drive shaft state quantity holding unit 113 and the non-drive target object state quantity holding unit 123 are expressed as a state quantity holding unit 113a.
  • the state space models Am1 and Am2 are expressed as the state space model Am
  • the state space models Bm1 and Bm2 are expressed as the state space model Bm.
  • the state quantity xm (t2) of the drive shaft 31, the tool, and the workpiece can be transformed as shown in Expression (14) by developing the following expression.
  • p Cp ⁇ x (t1)
  • Equation (18) The control law applied to the internal state quantities of the drive shaft movement amount prediction unit 11 and the non-drive target object movement amount prediction unit 12 in Equation (18) is as shown in Equation (18). It will be reflected in the mutual relationship. In other words, if a control law that suppresses vibration of the non-drive target object is applied to the internal state quantities of the drive shaft movement amount prediction unit 11 and the non-drive target object movement amount prediction unit 12, the actual drive shaft 31 and tool In the mutual relationship between the tool and the workpiece, the relative vibration between the tool and the workpiece can be suppressed.
  • FIG. 10 is a diagram showing an example of a simulation result of vibration amplitude in the vertical direction with respect to the relative position of the tool with respect to the workpiece when the workpiece is moved in the horizontal direction in the machine tool having the outline shown in FIG. It is.
  • the horizontal axis indicates time
  • the vertical axis indicates relative vibration.
  • a curve L1 in this figure indicates the vibration amplitude in the vertical direction when the present embodiment is applied
  • a curve L2 indicates the vibration amplitude in the vertical direction when the present embodiment is not applied.
  • the bed 2, the work 3, the work table 4, the tool 5, the head 6, and the column 7 each have a mass, and a dynamic model in which the connection between each element is viscous and elastic is constructed. The simulation was conducted.
  • the configuration in which the numerical control device 10 includes the position feedback compensation unit 14 and the velocity feedback compensation unit 15 has been described.
  • the position feedback compensation unit 14 and the velocity feedback are provided.
  • the compensation unit 15 may not be included.
  • FIG. 11 is a block diagram schematically showing another example of the functional configuration of the numerical controller according to the first embodiment of the present invention.
  • the numerical control apparatus 10 has a configuration in which the position feedback compensation unit 14 and the velocity feedback compensation unit 15 are deleted as compared with the configuration of FIG.
  • the same components as those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted.
  • the correction signal output unit 16 outputs to the drive shaft 31 a corrected drive signal obtained by subtracting the correction amount output from the correction amount calculation unit 13 from the drive signal received from the drive signal input unit 51. To do.
  • FIG. 12 is a diagram representing the functional configuration of the numerical control device of FIG. 11 using a state space model.
  • the numerical control device 10 in FIG. 12 has a configuration in which the position feedback compensation unit 14, the speed feedback compensation unit 15, the drive shaft position extraction unit 114, the drive shaft speed extraction unit 115, and the encoder 32 are deleted. is there.
  • the position feedback compensation unit 14 and the velocity feedback compensation unit 15 are included according to the equations (19) to (23). The same effect as the configuration can be obtained.
  • linear state space model has been described here, the embodiment is not limited to this, and a non-linear state space model may be used.
  • the non-driving object movement amount prediction unit 12 uses the state space model or the like as the non-driving object movement amount that is the displacement of the second object that is not the operation target of the drive shaft 31.
  • the correction amount calculation unit 13 performs correction so as to suppress the non-driving object movement amount using information including the non-driving object movement amount and the gain previously determined by the optimum regulator. Calculate the amount.
  • the relative displacement of the tool relative to the workpiece position, the relative speed of the tool relative to the workpiece position, the relative acceleration of the tool relative to the workpiece position, and the workpiece orientation are used as the movement amount of the non-driven object.
  • the tool has at least one of a relative posture change of the tool, a relative posture change speed of the tool based on the workpiece posture, and a relative posture change acceleration of the tool based on the workpiece posture. It becomes possible to suppress relative vibration.
  • the vibration direction of the tool is different from the movement direction of the drive shaft 31 by predicting the displacement in the three-dimensional space in a direction different from the movement direction of the drive shaft 31. Even in this case, vibration can be suppressed.
  • the non-drive target object movement amount prediction unit 12 uses at least one of the drive position, drive speed, drive acceleration, and drive force commanded to the drive shaft 31 as a part of the input, and the displacement of the non-drive target object , Speed, acceleration, posture change, posture change speed, and posture change acceleration are configured by a state space model in which a part of the output or a part of the internal state is used. Since the state space model can hold a plurality of non-driving object movement amounts as models, the vibration of the non-driving object includes vibrations in multiple directions such as vibration in the same direction as the drive shaft 31 and vibration in a direction different from the drive shaft 31. It becomes possible to suppress at the same time. In addition, vibrations of a plurality of objects can be suppressed.
  • the numerical control device 10 with the movement amount prediction parameter input unit 52, it is possible to use movement amount prediction parameters according to environmental changes, aging deterioration, machine differences, and the like. As a result, it is possible to suppress vibrations according to environmental changes, aging deterioration, individual machine differences, and the like.
  • the case where the tool is fixed and the workpiece is moved is taken as an example.
  • the present embodiment is not limited to this, and the case where the workpiece is fixed and the tool is moved.
  • the present embodiment can be applied.
  • the case where a workpiece is machined with a tool in the machine tool 1 has been described as an example.
  • the present embodiment is not limited to this, and an assembly operation is performed with a robot hand. In this case, the present embodiment can be applied.
  • FIG. FIG. 13 is a block diagram which shows an example of a function structure of the numerical control apparatus concerning Embodiment 2 of this invention.
  • a first drive shaft 31a and a second drive shaft 31b are connected to the numerical controller 10a.
  • a first encoder 32a that detects the position and speed of the drive target is connected to the first drive shaft 31a, and a second encoder 32b that detects the position and speed of the drive target is connected to the second drive shaft 31b. Is connected.
  • the numerical control apparatus 10a includes a drive shaft movement amount prediction unit 11 that is a first prediction unit that calculates a predicted movement amount of the first drive shaft 31a, and a second object that accompanies the movement of the first drive shaft 31a.
  • a non-driving object movement amount prediction unit 12 that is a second prediction unit that calculates a predicted movement amount, a correction amount calculation unit 13 that calculates a correction amount of the first drive signal, and a first position feedback compensation value.
  • the first position feedback compensation unit 14a to calculate, the first speed feedback compensation unit 15a to calculate the first speed feedback compensation value, and the first correction signal output unit 16a to calculate the first corrected drive signal. And comprising.
  • the numerical controller 10a also calculates a trajectory calculation unit 17 that calculates the trajectories of the first drive shaft 31a and the second drive shaft 31b, and a first that calculates the movement amount of the corrected first drive shaft 31a.
  • the corrected first drive shaft movement amount calculation unit 18 which is a calculation unit, the position on the locus corresponding to the command of the corrected first drive shaft 31a, and the second drive shaft 31b corresponding to the position on the locus.
  • a corrected command position calculation unit 19 that is a second calculation unit that calculates the position, velocity, and acceleration of the first position feedback, a second position feedback compensation unit 14b that calculates a second position feedback compensation value, and a second velocity feedback
  • a second speed feedback compensation unit 15b that calculates a compensation value and a second correction signal output unit 16b that calculates a second corrected drive signal are provided.
  • the numerical controller 10a receives a first drive signal input unit 51a that receives a first drive signal that drives the first drive shaft 31a, and a second drive signal that drives the second drive shaft 31b.
  • Parameters representing a model used for predicting the amount of movement of the second object to be moved by the second drive signal input unit 51b and the first drive shaft 31a, and not being driven by the movement of the first drive shaft 31a A movement amount prediction parameter input unit 52 that receives a parameter representing a model used for prediction of the movement amount of the second object, and a feedback parameter input unit 53 that receives input of position and speed feedback parameters.
  • the drive shaft movement amount prediction unit 11 receives parameters from the first drive signal input unit 51a and parameters representing a model used when predicting the displacement of the first drive shaft 31a received from the movement amount prediction parameter input unit 52.
  • the driving axis movement amount which is the first movement amount of the first object, is predicted using a model determined in advance from the driving signal 1 and the correction amount received from the correction amount calculation unit 13.
  • the drive axis movement amount prediction unit 11 passes the calculated drive axis prediction position and the drive axis prediction speed to the correction amount calculation unit 13, and passes the calculated drive axis prediction position to the first position feedback compensation unit 14a.
  • the predicted axis speed is passed to the first speed feedback compensation unit 15a.
  • the non-driving object movement amount prediction unit 12 receives a parameter representing a model used when predicting the non-driving object movement amount received from the movement amount prediction parameter input unit 52 and the first driving signal input unit 51a.
  • a non-driving object movement amount that is the second movement amount is predicted using a model determined in advance from the drive signal 1 and the correction amount received from the correction amount calculation unit 13.
  • the non-driving object movement amount prediction unit 12 passes the calculated non-driving object movement amount to the correction amount calculation unit 13.
  • the correction amount calculation unit 13 is driven according to a model determined in advance from the drive axis movement amount received from the drive axis movement amount prediction unit 11 and the non-drive target object movement amount received from the non-drive target object movement amount prediction unit 12.
  • the correction amount to the signal is calculated.
  • the correction amount calculation unit 13 uses the calculated correction amount as a drive shaft movement amount prediction unit 11, a non-drive target object movement amount prediction unit 12, a first correction signal output unit 16a, and a corrected first drive shaft movement amount calculation unit. Pass to 18.
  • a feedback gain is calculated in advance by designing an optimal regulator based on the model of the non-drive target object movement amount prediction unit 12, and the calculated non-drive target object movement amount is multiplied by the gain. can do.
  • the embodiment is not limited to this.
  • the first position feedback compensation unit 14a receives the parameters used for position feedback compensation received from the feedback parameter input unit 53, the drive axis predicted position received from the drive axis movement amount prediction unit 11, and the first received from the first encoder 32a.
  • a first position feedback compensation value is calculated according to a predetermined model from the feedback position.
  • the first position feedback compensation unit 14a passes the calculated first position feedback compensation value to the first speed feedback compensation unit 15a.
  • the first speed feedback compensation unit 15a receives parameters used for speed feedback compensation received from the feedback parameter input unit 53, the drive axis predicted speed received from the drive axis movement amount prediction unit 11, and the first position feedback compensation unit 14a.
  • a first speed feedback compensation value is calculated according to a predetermined model from the first position feedback compensation value and the first feedback speed received from the first encoder 32a.
  • the first speed feedback compensation unit 15a passes the calculated first speed feedback compensation value to the first correction signal output unit 16a.
  • the first correction signal output unit 16a receives the first drive signal received from the first drive signal input unit 51a, the correction amount received from the correction amount calculation unit 13, and the first received from the first speed feedback compensation unit 15a. From the speed feedback compensation value, a first corrected drive signal is calculated. The first correction signal output unit 16a passes the calculated first corrected drive signal to the drive unit that drives the first drive shaft 31a.
  • the locus calculation unit 17 receives the first drive signal of the first drive shaft 31a received from the first drive signal input unit 51a and the second of the second drive shaft 31b received from the second drive signal input unit 51b.
  • the loci of the first drive shaft 31a and the second drive shaft 31b are calculated according to a predetermined model from the drive signals.
  • the trajectory calculation unit 17 passes the calculated trajectory to the corrected command position calculation unit 19.
  • the corrected first drive shaft movement amount calculation unit 18 includes the first drive signal of the first drive shaft 31a received from the first drive signal input unit 51a and the correction amount received from the correction amount calculation unit 13. The amount of movement of the corrected first drive shaft 31a is calculated according to a predetermined model. The corrected first drive shaft movement amount calculation unit 18 passes the calculated corrected movement amount of the first drive shaft 31a to the corrected command position calculation unit 19.
  • the corrected command position calculator 19 receives the first drive shaft 31a and the second drive shaft 31b received from the track calculator 17 and the corrected first drive shaft movement amount calculator 18 after the correction.
  • the position on the trajectory corresponding to the corrected command of the first drive shaft 31a is calculated according to a predetermined model based on the amount of movement of the one drive shaft 31a, and further corresponds to the position on the trajectory.
  • the position, speed, and acceleration of the second drive shaft 31b are calculated.
  • the corrected command position calculation unit 19 passes the position of the second drive shaft 31b corresponding to the position on the trajectory to the second position feedback compensation unit 14b, and the second drive shaft 31b corresponding to the position on the trajectory. Is passed to the second speed feedback compensation unit 15b, and the acceleration of the second drive shaft 31b corresponding to the position on the trajectory is passed to the second correction signal output unit 16b.
  • the second position feedback compensation unit 14b includes parameters used for position feedback compensation received from the feedback parameter input unit 53, the position of the second drive shaft 31b on the locus received from the corrected command position calculation unit 19, and the second A second position feedback compensation value is calculated according to a predetermined model from the second feedback position received from the encoder 32b.
  • the second position feedback compensation unit 14b passes the calculated second position feedback compensation value to the second speed feedback compensation unit 15b.
  • the second speed feedback compensation unit 15b uses parameters used for speed feedback compensation received from the feedback parameter input unit 53, the speed of the second drive shaft 31b on the locus received from the corrected command position calculation unit 19, and the second A second speed feedback compensation value is calculated according to a predetermined model from the second position feedback compensation value received from the position feedback compensation unit 14b and the second feedback speed received from the second encoder 32b.
  • the second speed feedback compensation unit 15b passes the calculated second speed feedback compensation value to the second correction signal output unit 16b.
  • the second correction signal output unit 16b receives the acceleration of the second drive shaft 31b corresponding to the position on the locus received from the corrected command position calculation unit 19 and the second speed received from the second speed feedback compensation unit 15b. A second corrected drive signal is calculated from the feedback compensation value. The second correction signal output unit 16b passes the calculated second corrected drive signal to the drive unit that drives the second drive shaft 31b.
  • the first drive signal input unit 51a receives an input of the first drive signal to the first drive shaft 31a, and uses the first drive signal as the drive axis movement amount prediction unit 11 and the non-drive target object movement amount prediction. To the unit 12, the first correction signal output unit 16a, the trajectory calculation unit 17, and the corrected first drive shaft movement amount calculation unit 18.
  • the second drive signal input unit 51b receives an input of the drive signal to the second drive shaft 31b and passes the second drive signal to the locus calculation unit 17.
  • the movement amount prediction parameter input unit 52 receives an input of a non-driving object movement amount prediction parameter representing a model used for prediction of the non-driving object movement amount.
  • the movement amount prediction parameter input unit 52 passes the non-driving object movement amount prediction parameter to the non-driving object movement amount prediction unit 12.
  • the movement amount prediction parameter input unit 52 receives a drive shaft movement amount prediction parameter representing a model used for prediction of the drive shaft movement amount, and passes the drive axis movement amount prediction parameter to the drive shaft movement amount prediction unit 11. Good.
  • the feedback parameter input unit 53 includes a first position compensation parameter used for position feedback compensation of the first drive shaft 31a, a first speed compensation parameter used for speed feedback compensation of the first drive shaft 31a, and a second An input of a second position compensation parameter used for position feedback compensation of the drive shaft 31b and a second speed compensation parameter used for speed feedback compensation of the second drive shaft 31b is received. Further, the feedback parameter input unit 53 passes the first position compensation parameter to the first position feedback compensation unit 14a, passes the first speed compensation parameter to the first speed feedback compensation unit 15a, and performs the second position compensation. The parameter is passed to the second position feedback compensation unit 14b, and the second speed compensation parameter is passed to the second speed feedback compensation unit 15b.
  • the first drive shaft 31a and the second drive shaft 31b receive the first corrected drive signal from the first correction signal output unit 16a and the second corrected drive signal from the second correction signal output unit 16b, respectively. Receiving and driving the workpiece 3 or the tool 5. Further, the first drive shaft 31a and the second drive shaft 31b are moved or rotated by the first encoder 32a and moved or rotated by the second encoder 32b. Tell each rotation.
  • the first encoder 32a is driven by a first displacement of the first drive shaft 31a from a displacement generated between a movable portion (not shown) and a fixed portion inside the first encoder 32a in accordance with the operation of the first drive shaft 31a.
  • the feedback position and the first feedback speed are obtained.
  • the first encoder 32a passes the first feedback position to the first position feedback compensation unit 14a, and passes the first feedback speed to the first speed feedback compensation unit 15a.
  • the second encoder 32b acquires the second feedback position and the second feedback speed of the second drive shaft 31b, passes the second feedback position to the second position feedback compensation unit 14b, The second feedback speed is passed to the second speed feedback compensation unit 15b.
  • the drive shaft state amount addition unit 111 of the drive shaft movement amount prediction unit 11 receives the first drive signal from the first drive signal input unit 51a, and the drive shaft position extraction unit 114 The drive axis predicted position is passed to the first position feedback compensation unit 14a, and the drive shaft speed extraction unit 115 passes the drive axis predicted speed to the first speed feedback compensation unit 15a.
  • the non-drive-target object state amount adding unit 121 of the non-drive-target object movement amount prediction unit 12 receives the first drive signal from the first drive signal input unit 51a.
  • FIG. 14 is a flowchart illustrating an example of a procedure of vibration suppression processing of the numerical control device according to the second embodiment of the present invention.
  • the flow of processing for the functional configuration of the numerical controller 10a of FIG. 13 will be described.
  • step S201 to step S204 the same processing as the processing from step S101 to step S104 in FIG. 5 of the first embodiment is performed. That is, the drive shaft movement amount prediction unit 11 and the non-drive target object movement amount prediction unit 12 receive the drive shaft movement amount prediction parameter and the drive target non-object movement amount prediction parameter from the movement amount prediction parameter input unit 52, respectively.
  • the first position feedback compensation unit 14a and the second position feedback compensation unit 14b receive the position compensation parameter from the feedback parameter input unit 53
  • the first speed feedback compensation unit 15a and the second speed feedback compensation unit. 15 b receives a speed compensation parameter from the feedback parameter input unit 53.
  • the position compensation parameter includes a first position compensation parameter and a second position compensation parameter
  • the speed compensation parameter includes a first speed compensation parameter and a second speed compensation parameter.
  • step S205 it is confirmed whether there is an input of the first drive signal to the first drive signal input unit 51a. If there is no input of the first drive signal to the first drive signal input unit 51a, that is, if No in step S205, the entire process is terminated.
  • step S206 the correction amount calculation unit 13 determines the drive shaft movement amount and the drive. A correction amount is calculated based on the untargeted object movement amount.
  • step S207 the drive shaft movement amount prediction unit 11 determines the drive shaft predicted position and the drive shaft predicted position based on the first drive signal from the first drive signal input unit 51a and the correction amount calculated in step S206. Predict the predicted drive shaft speed.
  • step S208 the non-driving object movement amount prediction unit 12 predicts the non-driving object movement amount based on the first drive signal and the correction amount.
  • step S209 the drive shaft movement amount prediction unit 11 passes the drive shaft predicted position to the first position feedback compensation unit 14a, and passes the drive shaft predicted speed to the first speed feedback compensation unit 15a.
  • step S ⁇ b> 210 the drive axis movement amount prediction unit 11 passes the predicted drive axis prediction position and the predicted drive axis speed to the correction amount calculation unit 13.
  • step S ⁇ b> 211 the driving target non-object movement amount prediction unit 12 passes the predicted driving target non-object movement amount to the correction amount calculation unit 13.
  • the predicted drive axis position, predicted drive axis speed, and non-drive target object movement amount are used when the next drive signal is input.
  • the first encoder 32a acquires the first feedback information of the first drive shaft 31a.
  • the first feedback information includes a first feedback position and a first feedback speed.
  • the first encoder 32a passes the first feedback information of the first drive shaft 31a to the first position feedback compensation unit 14a and the first speed feedback compensation unit 15a.
  • the first encoder 32a passes the first feedback position to the first position feedback compensation unit 14a, and passes the first feedback speed to the first speed feedback compensation unit 15a.
  • step S214 the first position feedback compensation unit 14a receives the predicted drive axis position received in step S209, the first feedback position received in step S213, and the first position compensation parameter received in step S202. Based on the above, a first position feedback compensation value is calculated. Then, the first position feedback compensation unit 14a passes the first position feedback compensation value to the first speed feedback compensation unit 15a.
  • step S215 the first speed feedback compensation unit 15a receives the predicted drive shaft speed received in step S209, the first feedback speed received in step S213, and the first position feedback compensation received in step S214. Based on the value and the first speed compensation parameter received in step S202, a first speed feedback compensation value is calculated. Then, the first speed feedback compensation unit 15a passes the first speed feedback compensation value to the first correction signal output unit 16a.
  • the first correction signal output unit 16a subtracts the correction amount calculated by the correction amount calculation unit 13 from the first drive signal from the first drive signal input unit 51a, and further performs first speed feedback.
  • the first corrected feedback signal calculated by the compensation unit 15a is added to calculate the first corrected drive signal.
  • the first correction signal output unit 16a passes the first corrected drive signal to the first drive shaft 31a.
  • step S217 the trajectory calculation unit 17 calculates the trajectories of the first drive shaft 31a and the second drive shaft 31b according to the original command.
  • the original command is a drive signal that has not been corrected.
  • the first drive signal of the first drive shaft 31a received from the first drive signal input unit 51a, and the second drive signal input. It is the 2nd drive signal of the 2nd drive shaft 31b received from part 51b.
  • step S218 the corrected first drive shaft movement amount calculation unit 18 receives the first drive signal of the first drive shaft 31a from the first drive signal input unit 51a, and receives the first drive signal from the correction amount calculation unit 13. The correction amount is received, and the corrected movement amount of the first drive shaft 31a is calculated.
  • the corrected command position calculation unit 19 receives the trajectories of the first drive shaft 31a and the second drive shaft 31b from the trajectory calculation unit 17, and receives the first drive shaft movement amount calculation unit 18 from the corrected first drive shaft movement amount calculation unit 18.
  • the corrected movement amount of the drive shaft 31a is received.
  • the corrected command position calculation unit 19 calculates a corrected command position, which is a point corresponding to the corrected moving amount of the first drive shaft 31a on the locus, from these pieces of information.
  • the corrected command position calculation unit 19 calculates a corrected position, a corrected speed, and a corrected acceleration of the second drive shaft 31b at the corrected command position.
  • step S221 the second encoder 32b acquires second feedback information of the second drive shaft 31b.
  • the second feedback information includes the second feedback position and the second feedback speed of the second drive shaft 31b.
  • step S222 the second encoder 32b passes the second feedback information of the second drive shaft 31b to the second position feedback compensation unit 14b and the second speed feedback compensation unit 15b.
  • the second encoder 32b passes the second feedback position to the second position feedback compensation unit 14b, and passes the second feedback speed to the second speed feedback compensation unit 15b.
  • step S223 the second position feedback compensation unit 14b receives the corrected position of the second drive shaft 31b calculated in step S220, the second feedback position received in step S222, and the step S202. Based on the second position compensation parameter, a second position feedback compensation value is calculated. Then, the second position feedback compensation unit 14b passes the second position feedback compensation value to the second speed feedback compensation unit 15b.
  • step S224 the second speed feedback compensation unit 15b calculates the corrected speed of the second drive shaft 31b calculated in step S220, the second feedback speed received in step S222, and calculated in step S223. Based on the second position feedback compensation value thus obtained and the second speed compensation parameter received in step S202, a second speed parameter compensation value is calculated. Then, the second speed feedback compensation unit 15b passes the second speed feedback compensation value to the second correction signal output unit 16b.
  • the second correction signal output unit 16b adds the second speed feedback compensation value to the corrected acceleration of the second drive shaft 31b calculated in step S220, and outputs the second corrected drive signal. Calculate and pass to the second drive shaft 31b. Thereafter, the process returns to step S205, and the processes from step S206 to step S225 are repeated while the first drive signal is input.
  • the details of the process in the drive axis movement amount prediction unit 11 are the same as those in the flowchart of FIG. 6 in the first embodiment, and the details of the process in the non-drive target object movement amount prediction unit 12 are in the first embodiment. This is the same as the flowchart of FIG.
  • the first drive signal of the first drive shaft 31a when the first drive signal of the first drive shaft 31a is corrected to suppress vibration, the first drive signal and the second drive shaft that are the original commands are suppressed.
  • the command of the second drive shaft 31b is corrected so that the second drive signal of 31b stays on the locus formed by the first drive shaft 31a and the second drive shaft 31b.
  • the command of the second drive shaft 31b is corrected according to the first drive shaft 31a, but the embodiment is not limited to this.
  • the command is corrected in accordance with the first drive shaft 31a. It may be.
  • the present embodiment the case where a workpiece is machined with a tool in the machine tool 1 has been described as an example.
  • the present embodiment is not limited to this, and an assembly operation is performed with a robot hand. In this case, the present embodiment can be applied.
  • FIG. 15 is a diagram illustrating an example of a hardware configuration when the functions of the numerical control devices according to the first and second embodiments are realized by a computer.
  • the numerical control devices 10 and 10a include an arithmetic device 71 such as a CPU (Central Processing Unit) that performs arithmetic processing, a memory 72 that the arithmetic device 71 uses for a work area, a storage device 73 that stores software such as a machining program, a user, , An input device 74 that is an input interface, a display device 75 that displays information to the user, and a communication device 76 having a communication function with the machine tool 1.
  • arithmetic device 71 such as a CPU (Central Processing Unit) that performs arithmetic processing
  • a memory 72 that the arithmetic device 71 uses for a work area
  • a storage device 73 that stores software such as a machining program
  • An input device 74 that is an input interface
  • a display device 75 that displays information
  • the functions of the signal output unit 16b, the locus calculation unit 17, the corrected first drive axis movement amount calculation unit 18, and the corrected command position calculation unit 19 are realized by software, firmware, or a combination of software and firmware.
  • Software or firmware is described as a program and stored in the memory 72.
  • the calculation device 71 reads out and executes the program stored in the memory 72, thereby realizing the function of each unit.
  • the memory 72 includes non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EEPROM (Electrically Erasable Programmable ROM), magnetic disk, flexible disk, optical disk, compact disk, Applicable to DVD (Digital Versatile Disk).
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory EEPROM (Electrically Erasable Programmable ROM)
  • magnetic disk flexible disk
  • optical disk Compact disk
  • Applicable to DVD Digital Versatile Disk
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.

Abstract

数値制御装置(10)は、第1の駆動信号を用いて、第1の駆動軸が移動させる対象の第1の物体の第1の移動量を予測する駆動軸移動量予測部(11)と、第1の駆動信号を用いて、第1の駆動軸の駆動力に起因して生じる3次元空間での第2の物体の第2の移動量を予測する駆動対象外物体移動量予測部(12)と、第1の移動量と第2の移動量とに基づいて第1の駆動信号の補正量を算出する補正量算出部(13)と、第1の駆動信号を補正量で補正した第1の補正後駆動信号を第1の駆動軸を駆動する駆動部に出力する第1の補正信号出力部(16)と、を備える。

Description

数値制御装置
 本発明は、加工プログラムにしたがって工作機械を制御する数値制御装置に関する。
 工作機械で加工を実施する際、駆動軸の動作が機械振動の原因となり、加工精度または加工面品位を悪化させる場合がある。特に、駆動軸が移動させる物体の移動方向と機械振動の振動方向とが異なる場合に、駆動軸にフィードバック制御を実施して駆動軸が移動させる物体の移動方向の誤差を抑制しても、駆動軸が移動させる物体の移動方向と方向が異なる機械振動の誤差を抑制することができない。このため、駆動軸の動作が原因で生じる振動であって、駆動軸の移動方向と異なる方向の振動について抑制する技術が提案されている。
 例えば、特許文献1には、可動体と被可動体との相対位置または相対速度を、位置または速度の検出器によって検出し、可動体の位置または速度を制御するリニアモータの制御方法が開示されている。この制御方法では、重心位置伝達関数および回転量伝達関数を含むリニアモータ振動モデルと、振動補償器伝達関数と、を含むリニアモータ振動補償モデルが使用される。リニアモータ振動モデルでは、可動体の推力が入力され、可動体重心位置と、可動体の回転によって検出器に検出される変位と、が出力される。また、リニアモータ振動モデルは、動体重心位置と可動体の回転による変位の和である相対位置を出力する。振動補償器伝達関数は、可動体の回転によって検出器に検出される変位を入力とし、推力補償値を出力する。そして、推力と推力補償値との差である推力をリニアモータ振動モデルに与えることで、相対位置に現れる振動が補償される。
特開2002-165474号公報
 ところで、工作機械に発生する振動の中には、ワークを移動させる際の駆動力が反力となって伝播し、ワーク以外の構造体に発生する振動が存在する。このような振動が発生すると、ワークを基準とした場合の工具の相対位置も振動的となり、加工精度または加工面品位を悪化させるという問題が生じる。
 上記の特許文献1の技術では、可動体の移動と回転に起因する相対的振動のみ抑制している。そのため、可動体であるワークを移動させることで工具に駆動力が伝わり工具が振動するような場合に、工具とワークとの間の相対振動を抑制することができないという問題点があった。
 本発明は、上記に鑑みてなされたものであって、ワーク以外の構造物に発生する振動を抑制することができる数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、第1の駆動信号を用いて、第1の駆動軸が移動させる対象の第1の物体の第1の移動量を予測する第1の予測部と、第1の駆動信号を用いて、第1の駆動軸の駆動力に起因して生じる3次元空間での第2の物体の第2の移動量を予測する第2の予測部と、を備える。また、数値制御装置は、第1の移動量と第2の移動量とに基づいて第1の駆動信号の補正量を算出する補正量算出部と、第1の駆動信号を補正量で補正した第1の補正後駆動信号を第1の駆動軸を駆動する駆動部に出力する第1の補正信号出力部と、を備える。
 本発明にかかる数値制御装置は、ワーク以外の構造物に発生する振動を抑制することができるという効果を奏する。
工作機械の構成の一例を模式的に示す図 本発明の実施の形態1にかかる数値制御装置の機能構成の一例を示すブロック図 本発明の実施の形態1にかかる駆動軸移動量予測部の機能構成の一例を模式的に示すブロック図 本発明の実施の形態1にかかる駆動対象外物体移動量予測部の機能構成の一例を模式的に示すブロック図 本発明の実施の形態1にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャート 本発明の実施の形態1にかかる駆動軸移動量予測部での処理手順の一例を示すフローチャート 本発明の実施の形態1にかかる駆動対象外物体移動量予測部での処理手順の一例を示すフローチャート 本発明の実施の形態1にかかる数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図 本発明の実施の形態1による数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図 図1に示される概略を有する工作機械において、水平方向にワークを移動させたときのワークを基準とした工具の相対位置について、垂直方向の振動振幅のシミュレーション結果の一例を示す図 本発明の実施の形態1にかかる数値制御装置の機能構成の他の例を模式的に示すブロック図 図11の数値制御装置の機能構成を状態空間モデルを用いて表現した図 本発明の実施の形態2にかかる数値制御装置の機能構成の一例を示すブロック図 本発明の実施の形態2にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャート 実施の形態1および2にかかる数値制御装置の機能をコンピュータで実現する場合のハードウェア構成の一例を示す図
 以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、工作機械の構成の一例を模式的に示す図である。工作機械1は、ベースとなるベッド2と、加工対象であるワーク3を保持し、水平方向に移動可能でまた水平面内で回転可能なワークテーブル4と、工具5を保持し、垂直方向に移動可能なヘッド6と、ベッド2に固定され、ヘッド6を支持するコラム7と、を有する。この工作機械1に数値制御装置が接続され、数値制御装置からの指示に従って、ワークテーブル4が水平方向に移動しもしくは水平面内で回転し、またはヘッド6が垂直方向に移動し、工具5によってワーク3が所望の形状に加工される。
 この工作機械1において、ワークテーブル4を移動させる際の駆動力が反力となって伝播し、ワーク3以外の構造体に振動が発生する。振動が発生する構造体には、コラム7を挙げることができる。このような振動が発生すると、ワーク3を基準とした場合の工具5の相対位置が振動する。以下の実施の形態では、このような振動が発生した場合に、加工精度または加工面品位の悪化を抑制する数値制御装置について説明する。
 図2は、本発明の実施の形態1にかかる数値制御装置の機能構成の一例を示すブロック図である。数値制御装置10は、ワークを加工する加工プログラムにしたがって、工作機械1の駆動軸31に駆動信号を出力する装置である。駆動軸31は、駆動部を介して図1のワークテーブル4またはヘッド6を移動させるための軸であり、並進駆動軸または回転駆動軸を含む。駆動部には、モータが含まれる。駆動軸31には、駆動対象の位置および速度を検出するエンコーダ32が接続される。
 数値制御装置10は、駆動軸31の予測移動量を算出する第1の予測部である駆動軸移動量予測部11と、駆動軸31の移動に伴う駆動対象外の物体の予測移動量を算出する第2の予測部である駆動対象外物体移動量予測部12と、駆動信号の補正量を算出する補正量算出部13と、位置フィードバック補償値を算出する位置フィードバック補償部14と、速度フィードバック補償値を算出する速度フィードバック補償部15と、補正後駆動信号を算出する補正信号出力部16と、を備える。
 また、数値制御装置10は、駆動信号を受け付ける駆動信号入力部51と、駆動軸31により移動させられる第1の物体の移動量の予測に用いるモデルを表現するパラメータおよび駆動軸31の移動に伴う駆動対象外の第2の物体の移動量の予測に用いるモデルを表現するパラメータを受け付ける移動量予測パラメータ入力部52と、位置および速度のフィードバックパラメータの入力を受け付けるフィードバックパラメータ入力部53と、を備える。ここで、駆動対象外の物体は、駆動軸31の移動対象となっている物体以外の工作機械1を構成する部材である。たとえば、駆動軸31がワークテーブル4を移動させるものである場合には、駆動対象外の物体は、ヘッド6、コラム7となる。
 駆動軸移動量予測部11は、移動量予測パラメータ入力部52から受け取る駆動軸31の変位を予測する際に用いるモデルを表現するパラメータと、駆動信号入力部51から受け取る駆動信号と、補正量算出部13から受け取る補正量と、から予め定められたモデルを用いて、駆動軸31が移動させる対象の第1の物体の第1の移動量である駆動軸移動量を予測する。第1の物体の駆動軸移動量には、物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも1つを例示することができる。なお、以下の説明では、駆動軸移動量に、駆動軸予測位置および駆動軸予測速度を用いる場合を例に挙げる。駆動軸移動量予測部11は、算出した駆動軸予測位置および駆動軸予測速度を補正量算出部13に渡し、算出した駆動軸予測位置を位置フィードバック補償部14に渡し、算出した駆動軸予測速度を速度フィードバック補償部15に渡す。
 駆動対象外物体移動量予測部12は、移動量予測パラメータ入力部52から受け取る駆動対象外物体移動量を予測する際に用いるモデルを表現するパラメータと、駆動信号入力部51から受け取る駆動信号と、補正量算出部13から受け取る補正量と、から予め定められたモデルを用いて、駆動軸31の駆動力に起因して生じる3次元空間での駆動軸31が移動させる対象以外の第2の物体の第2の移動量である駆動対象外物体移動量を予測する。駆動対象外物体移動量予測部12は、算出した駆動対象外物体移動量を補正量算出部13に渡す。
 なお、駆動対象外物体移動量には、ワーク3の位置を基準とした工具5の相対位置の変位である相対変位、ワーク3の位置を基準とした工具5の相対位置の速度である相対速度、ワーク3の位置を基準とした工具5の相対位置の加速度である相対加速度、ワーク3の姿勢を基準とした工具5の姿勢である相対姿勢変化、ワーク3の姿勢を基準とした工具5の姿勢変化の速度である相対姿勢変化速度、およびワーク3の姿勢を基準とした工具5の姿勢変化の加速度である相対姿勢変化加速度のいずれかを含むことが望ましい。これらの情報を使用することによって、ワーク3と工具5の間の相対的振動を抑制することが可能となる。
 また、駆動対象外物体移動量を予測する際には、駆動軸31の移動方向と異なる方向の3次元空間での移動量を予測してもよい。具体的には、駆動軸31が移動させる第1の物体の移動方向と異なる方向の変位、駆動軸31が移動させる第1の物体の移動方向と異なる方向の速度、駆動軸31が移動させる第1の物体の移動方向と異なる方向の加速度、駆動軸31が移動させる第1の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化、駆動軸31が移動させる第1の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化速度、あるいは駆動軸31が移動させる第1の物体の回転中心軸と異なる方向の中心軸周りの姿勢変化加速度を予測してもよい。これらの情報を予測することによって、工作機械1の振動方向が駆動軸31の移動させる第1の物体の移動方向と異なる場合でも振動抑制が可能となる。
 さらに、駆動対象外物体移動量予測部12は、駆動軸31に指令される駆動軸31の位置、速度、加速度および駆動力のうちの少なくとも1つを入力の一部とし、第2の物体の変位、速度、加速度、姿勢変化、姿勢変化速度もしくは姿勢変化加速度を出力の一部または内部状態の一部とする状態空間モデルにより構成される。多入力多出力のシステムを表現できる状態空間モデルを用いることで、第2の物体の振動について、駆動軸31と同じ方向の振動および駆動軸31と異なる方向の振動といった複数方向の振動を同時に抑制することができるようになる。
 上述のような、ワーク3と工具5との間の3次元空間内での相対変位を表現可能な状態空間モデルを構築するには、有限要素法または動力学モデルに基づくシミュレーションが用いられる。また、事前に駆動軸31を動作させたときの相対変位を計測しておき、システム同定を行なうこともできる。なお、システム同定を行なう場合、事前に測定するときだけ追加のセンサを使用して計測し、モデルの精度を向上させることもできる。ただし、実施の形態がこれらの方法に限定されるものではない。
 補正量算出部13は、駆動軸移動量予測部11から受け取る駆動軸移動量と、駆動対象外物体移動量予測部12から受け取る駆動対象外物体移動量と、から予め定められたモデルにしたがって駆動信号への補正量を算出する。この補正量の算出処理は、駆動軸31の駆動力に起因して生じる第2の物体の移動量が第1の物体に与える影響を考慮するためのものである。補正量算出部13は、算出した補正量を駆動軸移動量予測部11、駆動対象外物体移動量予測部12および補正信号出力部16に渡す。補正量の算出では、予め、駆動対象外物体移動量予測部12の持つモデルに基づき最適レギュレータの設計でフィードバックゲインを算出しておき、駆動対象外物体移動量に算出しておいたゲインを乗算することができる。ただし、実施の形態がこれに限定されるものではない。
 位置フィードバック補償部14は、フィードバックパラメータ入力部53から受け取る位置フィードバック補償に用いるパラメータと、駆動軸移動量予測部11から受け取る駆動軸予測位置と、エンコーダ32から受け取るフィードバック位置と、から予め定められたモデルにしたがって、位置フィードバック補償値を算出する。位置フィードバック補償部14は、算出した位置フィードバック補償値を速度フィードバック補償部15に渡す。
 速度フィードバック補償部15は、フィードバックパラメータ入力部53から受け取る速度フィードバック補償に用いるパラメータと、駆動軸移動量予測部11から受け取る駆動軸予測速度と、位置フィードバック補償部14から受け取る位置フィードバック補償値と、エンコーダ32から受け取るフィードバック速度と、から予め定められたモデルにしたがって、速度フィードバック補償値を算出する。速度フィードバック補償部15は、算出した速度フィードバック補償値を補正信号出力部16に渡す。
 補正信号出力部16は、駆動信号入力部51から受け取る駆動信号と、補正量算出部13から受け取る補正量と、速度フィードバック補償部15から受け取る速度フィードバック補償値と、から補正後駆動信号を算出する。補正信号出力部16は、算出した補正後駆動信号を、駆動軸31を駆動する駆動部に渡す。
 駆動信号入力部51は、駆動信号の入力を受け付け、駆動軸移動量予測部11、駆動対象外物体移動量予測部12および補正信号出力部16に駆動信号を渡す。
 移動量予測パラメータ入力部52は、駆動対象外物体移動量の予測に用いるモデルを表現する駆動対象外物体移動量予測パラメータの入力を受け付ける。移動量予測パラメータ入力部52は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部12に渡す。駆動対象外物体移動量予測パラメータを用いることで、工作機械1の個体差に合わせた振動抑制が可能となる。また、移動量予測パラメータ入力部52は、駆動軸移動量の予測に用いるモデルを表現する駆動軸移動量予測パラメータの入力を受け付け、駆動軸移動量予測パラメータを駆動軸移動量予測部11に渡してもよい。このように、駆動軸移動量予測パラメータを用いることで、指令との誤差を予測することができ、駆動対象外物体移動量予測パラメータのみを用いる場合に比して、より好適な効果を得ることができる。この明細書では、移動量予測パラメータ入力部52は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部12に渡し、駆動軸移動量予測パラメータを駆動軸移動量予測部11に渡す場合を例に挙げる。
 フィードバックパラメータ入力部53は、位置フィードバック補償に用いる位置補償パラメータと、速度フィードバック補償に用いる速度補償パラメータと、の入力を受け付ける。また、フィードバックパラメータ入力部53は、位置補償パラメータを位置フィードバック補償部14に渡し、速度補償パラメータを速度フィードバック補償部15に渡す。
 駆動軸31は、補正信号出力部16から補正後駆動信号を受け取り、ワーク3または工具5を駆動し、エンコーダ32に駆動軸31の移動または回転を伝える。
 エンコーダ32は、駆動軸31の動作に伴い、エンコーダ32の内部の図示しない可動部と固定部との間に生じる変位から、駆動軸31のフィードバック位置およびフィードバック速度を取得する。エンコーダ32は、フィードバック位置を位置フィードバック補償部14に渡し、フィードバック速度を速度フィードバック補償部15に渡す。
 つぎに、駆動軸移動量予測部11および駆動対象外物体移動量予測部12のさらに詳細な機能構成について説明する。図3は、本発明の実施の形態1にかかる駆動軸移動量予測部の機能構成の一例を模式的に示すブロック図である。
 駆動軸移動量予測部11は、駆動軸状態量の変化を算出する駆動軸状態量加算部111と、入力信号がない場合のつぎの時刻の駆動軸状態量を算出する駆動軸状態量更新部112と、駆動軸状態量の変化量およびつぎの時刻の駆動軸状態量を保持する駆動軸状態量保持部113と、駆動軸予測位置を抽出する駆動軸位置抽出部114と、駆動軸予測速度を抽出する駆動軸速度抽出部115と、を備える。
 ここで、駆動軸状態量は、駆動軸移動量を予測する際に用いる物理量である。たとえば位置を予測する際には、駆動軸状態量となる位置と速度を保持しておく。次回位置の予測は、前回からの時間差に速度を掛けた値に前回位置を加算することによって行われる。また、駆動軸状態量となる位置と速度以外にさらに加速度も保持しておくことも可能である。この場合には、前回の時間から次回の時間までの間の速度の変化を加速度から算出して、算出した速度の平均を用いて次回位置を予測する。あるいは、単に駆動軸31への位置指令と速度指令をそのまま次回の位置と速度とすることもできる。ただし、実施の形態がこれらに限定されるものではない。
 駆動軸状態量加算部111は、駆動信号入力部51から受け取る駆動信号と、補正量算出部13から受け取る補正量と、の差分が駆動軸状態量に与える変化量を、予め定められたモデルにしたがって算出し、駆動軸状態量保持部113に渡す。
 駆動軸状態量更新部112は、駆動軸状態量保持部113から駆動軸状態量を受け取り、入力信号がない場合のつぎの時刻の駆動軸状態量を算出し、駆動軸状態量保持部113に渡す。
 駆動軸状態量保持部113は、駆動軸状態量加算部111から受け取る駆動信号と補正量の差分が駆動軸状態量に与える変化量と、駆動軸状態量更新部112から受け取る入力信号がない場合のつぎの時刻の駆動軸状態量と、の和である駆動軸状態量を格納する。また、駆動軸状態量保持部113は、補正量算出部13、駆動軸位置抽出部114および駆動軸速度抽出部115に駆動軸状態量を渡す。
 駆動軸位置抽出部114は、駆動軸状態量から駆動軸予測位置を抽出し、位置フィードバック補償部14に渡す。
 駆動軸速度抽出部115は、駆動軸状態量から駆動軸予測速度を抽出し、速度フィードバック補償部15に渡す。
 このような構成によって、駆動軸移動量予測部11は、駆動信号入力部51からの駆動信号と、補正量算出部13からの補正量と、の差分から、駆動軸状態量、駆動軸予測位置および駆動軸予測速度を予測する。そして、駆動軸状態量が補正量算出部13に出力され、駆動軸予測位置が位置フィードバック補償部14に出力され、駆動軸予測速度が速度フィードバック補償部15に出力される。
 図4は、本発明の実施の形態1にかかる駆動対象外物体移動量予測部の機能構成の一例を模式的に示すブロック図である。駆動対象外物体移動量予測部12は、駆動対象外物体状態量の変化を算出する駆動対象外物体状態量加算部121と、入力信号がない場合のつぎの時刻の駆動対象外物体状態量を算出する駆動対象外物体状態量更新部122と、駆動対象外物体状態量の変化量およびつぎの時刻の駆動対象外物体状態量を保持する駆動対象外物体状態量保持部123と、を備える。
 ここで、駆動対象外物体状態量は、駆動対象外物体移動量を予測する際に用いる物理量である。たとえば位置を予測する際には、駆動対象外物体状態量となる位置と速度を保持しておく。次回位置の予測は、前回からの時間差に速度を掛けた値に前回位置を加算することによって行われる。また、駆動対象外物体状態量となる位置と速度以外にさらに加速度も保持しておくことも可能である。この場合には、前回の時間から次回の時間までの間の速度の変化を加速度から算出して、算出した速度の平均を用いて次回位置を予測する。ただし、実施の形態がこれらに限定されるものではない。
 駆動対象外物体状態量加算部121は、駆動信号入力部51から受け取る駆動信号と、補正量算出部13から受け取る補正量と、の差分が駆動対象外物体状態量に与える変化量を、予め定められたモデルにしたがって算出し、駆動対象外物体状態量保持部123に渡す。
 駆動対象外物体状態量更新部122は、駆動対象外物体状態量保持部123から駆動対象外物体状態量を受け取り、入力信号がない場合のつぎの時刻の駆動対象外物体状態量を算出し、駆動対象外物体状態量保持部123に渡す。
 駆動対象外物体状態量保持部123は、駆動対象外物体状態量加算部121から受け取る駆動信号と補正量の差分が駆動対象外物体状態量に与える変化量と、駆動対象外物体状態量更新部122から受け取る入力信号がない場合のつぎの時刻の駆動対象外物体状態量と、の和である駆動対象外物体状態量を格納する。また、駆動対象外物体状態量保持部123は、補正量算出部13に駆動対象外物体状態量を渡す。
 このような構成によって、駆動対象外物体移動量予測部12は、駆動信号入力部51からの駆動信号と、補正量算出部13からの補正量と、の差分から、駆動対象外物体状態量を予測する。そして、駆動対象外物体状態量を補正量算出部13に出力する。
 つぎに、実施の形態1による数値制御装置での振動抑制処理について説明する。図5は、本発明の実施の形態1にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャートである。なお、ここでは、図2の数値制御装置10の機能構成についての処理の流れを説明する。
 まず、移動量予測パラメータ入力部52が、駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータの入力を受け付ける。ついで、ステップS101において、駆動軸移動量予測部11および駆動対象外物体移動量予測部12は、移動量予測パラメータ入力部52から、それぞれ駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータを受け取る。駆動軸移動量予測パラメータは、駆動軸移動量予測部11で駆動軸予測位置と駆動軸予測速度とを、状態空間モデルで計算するのに必要な情報である。駆動対象外物体移動量予測パラメータは、駆動対象外物体移動量予測部12で駆動対象外物体移動量を、状態空間モデルで計算するのに必要な情報である。
 また、フィードバックパラメータ入力部53が、位置補償パラメータおよび速度補償パラメータの入力を受け付ける。ついで、ステップS102において、位置フィードバック補償部14および速度フィードバック補償部15は、フィードバックパラメータ入力部53から、それぞれ位置補償パラメータおよび速度補償パラメータを受け取る。
 ついで、ステップS103において、駆動軸移動量予測部11は、初期の駆動軸移動量を補正量算出部13に渡す。また、ステップS104において、駆動対象外物体移動量予測部12は、初期の駆動対象外物体移動量を補正量算出部13に渡す。
 その後、ステップS105において、駆動信号入力部51への駆動信号の入力があるかを確認する。駆動信号入力部51への駆動信号の入力がない場合、すなわちステップS105でNoの場合には、全体の処理を終了する。
 一方、駆動信号入力部51への駆動信号の入力がある場合、すなわちステップS105でYesの場合には、ステップS106において、補正量算出部13は、駆動軸移動量と駆動対象外物体移動量とに基づき、補正量を算出する。
 ついで、ステップS107において、駆動軸移動量予測部11は、駆動信号入力部51からの駆動信号と、ステップS106で算出された補正量と、に基づき、駆動軸予測位置および駆動軸予測速度を予測する。また、ステップS108において、駆動対象外物体移動量予測部12は、駆動信号と補正量とに基づき、駆動対象外物体移動量を予測する。
 その後、ステップS109において、駆動軸移動量予測部11は、駆動軸予測位置を位置フィードバック補償部14に渡し、駆動軸予測速度を速度フィードバック補償部15に渡す。また、ステップS110において、駆動軸移動量予測部11は、予測した駆動軸予測位置および駆動軸予測速度を補正量算出部13に渡す。さらに、ステップS111において、駆動対象外物体移動量予測部12は、予測した駆動対象外物体移動量を補正量算出部13に渡す。これらの駆動軸予測位置、駆動軸予測速度および駆動対象外物体移動量は、つぎの駆動信号の入力の際に使用される。
 ついで、ステップS112において、エンコーダ32は、駆動軸31のフィードバック情報を取得する。フィードバック情報は、フィードバック位置およびフィードバック速度を含む。その後、ステップS113において、エンコーダ32は、駆動軸31のフィードバック情報を位置フィードバック補償部14と速度フィードバック補償部15とに渡す。ここでは、エンコーダ32は、フィードバック位置を位置フィードバック補償部14に渡し、フィードバック速度を速度フィードバック補償部15に渡す。
 ついで、ステップS114において、位置フィードバック補償部14は、ステップS109で受け取った駆動軸予測位置と、ステップS113で受け取ったフィードバック位置と、ステップS102で受け取った位置補償パラメータと、に基づき、位置フィードバック補償値を算出する。そして、位置フィードバック補償部14は、位置フィードバック補償値を速度フィードバック補償部15に渡す。
 その後、ステップS115において、速度フィードバック補償部15は、ステップS109で受け取った駆動軸予測速度と、ステップS113で受け取ったフィードバック速度と、ステップS114で受け取った位置フィードバック補償値と、ステップS102で受け取った速度補償パラメータとに基づき、速度フィードバック補償値を算出する。そして、速度フィードバック補償部15は、速度フィードバック補償値を補正信号出力部16に渡す。
 ついで、補正信号出力部16は、駆動信号入力部51からの駆動信号から、補正量算出部13で算出された補正量を減算し、さらに速度フィードバック補償部15で算出された速度フィードバック補償値を加算して、補正後駆動信号を算出する。そして、ステップS116において、補正信号出力部16は、補正後駆動信号を駆動軸31に渡す。その後は、ステップS105まで戻り、駆動信号が入力される間、ステップS106からステップS116までの処理が繰り返される。
 ここで、駆動軸移動量予測部11での処理の詳細について説明する。図6は、本発明の実施の形態1にかかる駆動軸移動量予測部での処理手順の一例を示すフローチャートである。ここでは、図3の駆動軸移動量予測部11の機能構成にしたがって処理を説明する。
 まず、ステップS131において、駆動軸状態量加算部111、駆動軸状態量更新部112および駆動軸状態量保持部113は、移動量予測パラメータ入力部52から、駆動軸移動量予測パラメータを受け取る。ついで、ステップS132で、駆動軸状態量保持部113は、駆動軸状態量の初期値を補正量算出部13に渡す。
 その後、ステップS133において、駆動信号入力部51への駆動信号の入力があるかを確認する。駆動信号入力部51への駆動信号の入力がない場合、すなわちステップS133でNoの場合には、全体の処理を終了する。
 一方、駆動信号入力部51への駆動信号の入力がある場合、すなわちステップS133でYesの場合には、ステップS134において、駆動軸状態量加算部111は、駆動信号入力部51からの駆動信号と、補正量算出部13からの補正量と、を受け取り、駆動信号から補正量を減算した信号に起因する駆動軸状態量の変化量を算出する。このとき、ステップS131で受け取った駆動軸移動量予測パラメータが使用される。
 ついで、ステップS135において、駆動軸状態量更新部112は、駆動軸状態量保持部113から駆動軸状態量を受け取り、入力信号がない場合のつぎの時刻の駆動軸状態量の更新値を算出する。このとき、ステップS131で受け取った駆動軸移動量予測パラメータが使用される。
 ステップS136において、駆動軸状態量保持部113は、駆動軸状態量の変化量と入力信号がない場合のつぎの時刻の駆動軸状態量の更新値との和である駆動軸状態量を格納する。また、駆動軸状態量保持部113は、駆動軸位置抽出部114および駆動軸速度抽出部115に駆動軸状態量の更新値を渡す。
 その後、ステップS137において、駆動軸位置抽出部114は、駆動軸状態量から駆動軸予測位置を抽出し、位置フィードバック補償部14に渡す。また、ステップS138において、駆動軸速度抽出部115は、駆動軸状態量から駆動軸予測速度を抽出し、速度フィードバック補償部15に渡す。さらに、ステップS139において、駆動軸状態量保持部113は、駆動軸状態量を補正量算出部13に渡す。以上によって、駆動軸移動量予測部11での処理が終了する。
 つぎに、駆動対象外物体移動量予測部12での処理の詳細について説明する。図7は、本発明の実施の形態1にかかる駆動対象外物体移動量予測部での処理手順の一例を示すフローチャートである。ここでは、図4の駆動対象外物体移動量予測部12の機能構成にしたがって処理を説明する。
 まず、ステップS151において、駆動対象外物体状態量加算部121、駆動対象外物体状態量更新部122および駆動対象外物体状態量保持部123は、移動量予測パラメータ入力部52から、駆動対象外物体状態量予測パラメータを受け取る。ついで、ステップS152で、駆動対象外物体状態量保持部123は、駆動対象外物体状態量の初期値を補正量算出部13に渡す。
 その後、ステップS153において、駆動信号入力部51への駆動信号の入力があるかを確認する。駆動信号入力部51への駆動信号の入力がない場合、すなわちステップS153でNoの場合には、全体の処理を終了する。
 一方、駆動信号入力部51への駆動信号の入力がある場合、すなわちステップS153でYesの場合には、ステップS154において、駆動対象外物体状態量加算部121は、駆動信号入力部51からの駆動信号と、補正量算出部13からの補正量と、を受け取り、駆動信号から補正量を減算した信号に起因する駆動対象外物体状態量の変化量を算出する。このとき、ステップS151で受け取った駆動対象外物体状態量予測パラメータが使用される。
 ついで、ステップS155において、駆動対象外物体状態量更新部122は、駆動対象外物体状態量保持部123から駆動対象外物体状態量を受け取り、入力信号がない場合のつぎの時刻の駆動対象外物体状態量の更新値を算出する。
 ステップS156において、駆動対象外物体状態量保持部123は、駆動対象外物体状態量の変化量と入力信号がない場合のつぎの時刻の駆動対象外物体状態量の更新値との和である駆動対象外物体状態量を格納する。
 その後、ステップS157において、駆動対象外物体状態量保持部123が、駆動対象外物体状態量を補正量算出部13に渡す。以上によって、駆動対象外物体移動量予測部12での処理が終了する。
 以下に、本実施の形態での振動抑制処理の効果について説明する。図8は、本発明の実施の形態1にかかる数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図である。図8では、図2の移動量予測パラメータ入力部52とフィードバックパラメータ入力部53とが省略されている。また、駆動軸移動量予測部11については、図3に示す内部構成要素が状態空間モデルで表現され、駆動対象外物体移動量予測部12については、図4に示す内部構成要素が状態空間モデルで表現される。さらに、駆動軸31と工具とワークとの相互作用60を補正信号出力部16からの補正信号の出力先に表現している。相互作用60は、状態空間モデルAm1,Bm1,Am2,Bm2で表現される。また、エンコーダ32による位置の検出をCpm1で表現し、エンコーダ32による速度の検出をCvm1で表現している。
 なお、図8において、図2から図4で説明した構成要素に相当する要素には、同一の符号が付されている。また、Am1およびBm1は、駆動力と駆動軸31の動作の関係を状態空間モデルで表現したものであり、Am2およびBm2は、駆動軸31の駆動力に起因する工具の変位とワークの変位との差分である相対変位と駆動力の関係を状態空間モデルで表現したものである。
 さらに、図8中で、信号x1(ti)は、時刻ti(i=1,2)での駆動軸状態量であり、信号x2(ti)は、時刻tiでの駆動対象外物体状態量である。信号uは、駆動信号であり、信号pは、駆動軸予測位置であり、信号vは、駆動軸予測速度であり、信号umは、補正信号出力部16が出力する補正後駆動信号である。信号xm1(ti)は、時刻tiでの駆動軸31の内部状態量であり、信号xm2(ti)は、時刻tiでの工具の変位とワークの変位との差分である相対変位の状態量である。信号pmは、エンコーダ32で検出される駆動軸位置であり、信号vmは、エンコーダ32で検出される駆動軸速度である。
 図8中の信号線で伝達される各信号には以下の(1)式から(4)式の関係がある。
 x1(t2)=A1・x1(t1)+B1・u ・・・(1)
 x2(t2)=A2・x2(t1)+B2・u ・・・(2)
 p=Cp1・x1(t1) ・・・(3)
 v=Cv1・x1(t1) ・・・(4)
 ここで、(5)式から(9)式とおくことによって、(1)式から(4)式は、(10)式から(12)式の形式にまとめることができる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 Cp=(Cp1 0) ・・・(8)
 Cv=(Cv1 0) ・・・(9)
 x(t2)=A・x(t1)+B・u ・・・(10)
 p=Cp・x(t1) ・・・(11)
 v=Cv・x(t1) ・・・(12)
 図9は、本発明の実施の形態1による数値制御装置の機能構成を状態空間モデルを用いて表現したブロック図である。図9は、(10)式から(12)式の結果に従って、図8と本質的に等価な構成を表現したものである。図9は、図8に比して効果を分かりやすくするための図である。図9では、図8の駆動軸状態量加算部111と駆動対象外物体状態量加算部121とが、状態量加算部111aと表現され、駆動軸状態量更新部112と駆動対象外物体状態量更新部122とが、状態量更新部112aと表現され、駆動軸状態量保持部113と駆動対象外物体状態量保持部123とが、状態量保持部113aと表現される。また、駆動軸31と工具とワークとの相互作用60においては、状態空間モデルAm1,Am2が状態空間モデルAmと表現され、状態空間モデルBm1,Bm2が状態空間モデルBmと表現される。
 図9において、駆動軸移動量予測部11および駆動対象外物体移動量予測部12の内部状態量は、次式(13)で表現される。
 x(t2)=A・x(t1)+B{u-K・x(t1)}
      =(A-B・K)・x(t1)+B・u ・・・(13)
 また、駆動軸31と工具とワークの状態量xm(t2)は、以下の式展開によって、(14)式のように変形できる。
 p=Cp・x(t1)
 v=Cv・x(t1) 
 pm=Cpm・xm(t1)
 vm=Cvm・xm(t1) 
 um=u-K・x(t1)+Kv{v-vm+Kp(p-pm)}
   =u-K・x(t1)+Kv(v-vm)+Kv・Kp(p-pm)
   =u-K・x(t1)+Kv{Cv・x(t1)-Cvm・xm(t1)}+Kv・Kp{Cp・x(t1)-Cpm・xm(t1)}
 xm(t2)=Am・xm(t1)+Bm・um
       =Am xm(t1)+Bm・[u-K・x(t1)+Kv{Cv・x(t1)-Cvm・xm(t1)}+Kv・Kp{Cp・x(t1)-Cpm・xm(t1)}]
       ={Am・xm(t1)-Bm・K・x(t1)}+Bm・u+Bm[Kv{Cv・x(t1)-Cvm・xm(t1)}+Kv・Kp{Cp・x(t1)-Cpm・xm(t1)}] ・・・(14)
 ここで、駆動軸移動量予測部11および駆動対象外物体移動量予測部12の状態空間モデルが、対象とする駆動軸31と工具とワークの状態空間モデルを十分近似できていたとすると、以下の(15)式から(17)式が成立する。その結果、(14)式は、以下の(18)式で表されることになる。
 Cv・x(t1)-Cvm・xm(t1)→0 ・・・(15)
 Cp・x(t1)-Cpm・xm(t1)→0 ・・・(16)
 {Am・xm(t1)-Bm・K・x(t1)}+Bm・u→{A・x(t1)-B・K・x(t1)}+B・u ・・・(17)
 xm(t2)→{A・x(t1)-B・K・x(t1)}+B・u(=x(t2)) ・・・(18)
 これは、駆動軸移動量予測部11および駆動対象外物体移動量予測部12の内部状態量が、駆動軸31と工具とワークの相互関係を精度よく反映していることを意味し、(13)式で駆動軸移動量予測部11および駆動対象外物体移動量予測部12の内部状態量に適用される制御則が、(18)式に示されるように、駆動軸31と工具とワークの相互関係に反映されることとなる。つまり、駆動軸移動量予測部11および駆動対象外物体移動量予測部12の内部状態量に対して、駆動対象外物体の振動を抑制する制御則を適用すれば、実際の駆動軸31と工具とワークの相互関係においても、工具とワークの相対的な振動が抑制可能となる。
 図10は、図1に示される概略を有する工作機械において、水平方向にワークを移動させたときのワークを基準とした工具の相対位置について、垂直方向の振動振幅のシミュレーション結果の一例を示す図である。この図において、横軸は時間を示し、縦軸は相対振動を示している。この図の曲線L1は、本実施の形態が適用される場合の垂直方向の振動振幅を示し、曲線L2は、本実施の形態が適用されない場合の垂直方向の振動振幅を示している。ここでは、ベッド2、ワーク3、ワークテーブル4、工具5、ヘッド6、コラム7のそれぞれが質量を持ち、各要素間の結合が粘性、弾性を持つ動力学モデルを構築し、このモデルに対してシミュレーションを実施した。
 本実施の形態の適用がない場合には、曲線L2に示されるように、ワークを基準とした工具の相対位置について、垂直方向の振動振幅が発生している。一方、本実施の形態の適用がある場合には、曲線L1に示されるように、垂直方向の振動振幅が曲線L2に比して十分に小さくなるとともに、振動の終了時間が曲線L2に比して早まることが分かる。
 なお、上述の説明では、位置フィードバック補償部14および速度フィードバック補償部15が位置および速度の比例制御であるP(Proportional)制御のみを行なっている場合を挙げたが、これに実施の形態が限定されるものではない。たとえば、電流または加速度のフィードバック制御を実施してもよく、P制御のみならず、PI(Proportional-Integral)制御またはPID(Proportional-Integral-Differential)制御を用いてもよい。
 また、上記した説明では、数値制御装置10が位置フィードバック補償部14および速度フィードバック補償部15を含む構成について説明したが、本実施の形態の数値制御装置においては、位置フィードバック補償部14および速度フィードバック補償部15が含まれなくてもよい。
 図11は、本発明の実施の形態1にかかる数値制御装置の機能構成の他の例を模式的に示すブロック図である。数値制御装置10は、図2の構成と比較して、位置フィードバック補償部14と速度フィードバック補償部15とが削除された構成を有する。図2と同一の構成要素には同一の符号を付して、説明を省略する。この例では、補正信号出力部16は、駆動信号入力部51から受け取った駆動信号から、補正量算出部13から出力された補正量を差し引いたものである補正後駆動信号を駆動軸31に出力する。
 図12は、図11の数値制御装置の機能構成を状態空間モデルを用いて表現した図である。図12の数値制御装置10は、図9と比較して、位置フィードバック補償部14、速度フィードバック補償部15、駆動軸位置抽出部114、駆動軸速度抽出部115およびエンコーダ32が削除された構成である。
 この図12において、以下の(19)式から(21)式の関係がある。
 x(t2)=A・x(t1)+B{u-K・x(t1)}
     =(A-B・K)・x(t1)+B・u ・・・(19)
 um=u-K・x(t1) ・・・(20)
 xm(t2)=Am・xm(t1)+Bm・um
      =Am・xm(t1)+Bm{u-K・x(t1)}
      =[Am・xm(t1)-Bm・K・x(t1)]+Bm・u ・・・(21)
 また、駆動軸移動量予測部11および駆動対象外物体移動量予測部12の状態空間モデルが、対象とする駆動軸31と工具とワークの状態空間モデルを十分近似できていたとすると、以下の(22)式が成立する。その結果、(21)式は、以下の(23)式のように近似される。
 [Am・xm(t1)-Bm・K・x(t1)]+Bm・u→[A・x(t1)-B・K・x(t1)]+B・u ・・・(22)
 xm(t2)→[A・x(t1)-B・K・x(t1)]+B・u (=x(t2)) ・・・(23)
 図11と図12に示される位置フィードバック補償部14と速度フィードバック補償部15を含まない構成においても、(19)式から(23)式によって、位置フィードバック補償部14と速度フィードバック補償部15を含む構成と同様の効果が得られる。
 また、ここでは、線形な状態空間モデルを用いて説明したが、実施の形態がこれに限定されるものではなく、非線形な状態空間モデルを用いてもよい。
 以上のように、実施の形態1では、駆動対象外物体移動量予測部12が、駆動軸31の動作対象でない第2の物体の変位である駆動対象外物体移動量を、状態空間モデルなどを用いて3次元空間上で予測し、補正量算出部13が、駆動対象外物体移動量と事前に最適レギュレータで決定したゲインを含む情報を用いて駆動対象外物体移動量を抑制するように補正量を算出する。これによって、ワークを移動させた際に工具が振動するような場合でも、追加の駆動軸または検出器を常設することなく、駆動軸31の移動方向と異なる方向の振動についても抑制することが可能となる。
 具体的には、駆動対象外物体移動量に、ワーク位置を基準とした工具の相対変位、ワーク位置を基準とした工具の相対速度、ワーク位置を基準とした工具の相対加速度、ワーク姿勢を基準とした工具の相対姿勢変化、ワーク姿勢を基準とした工具の相対姿勢変化速度およびワーク姿勢を基準とした工具の相対姿勢変化加速度のうちの少なくとも1つを持つことで、ワークと工具の間の相対的振動を抑制することが可能となる。
 また、駆動対象外物体移動量を予測する際には、駆動軸31の移動方向と異なる方向の3次元空間での変位を予測することで、工具の振動方向が駆動軸31の移動方向と異なる場合でも振動抑制が可能となる。
 さらに、駆動対象外物体移動量予測部12を、駆動軸31に指令される駆動位置、駆動速度、駆動加速度および駆動力のうちの少なくとも1つを入力の一部とし、駆動対象外物体の変位、速度、加速度、姿勢変化、姿勢変化速度および姿勢変化加速度のうちの少なくとも1つを出力の一部もしくは内部状態の一部とする状態空間モデルにより構成する。状態空間モデルは複数の駆動対象外物体移動量をモデルとして保持できるので、駆動対象外物体の振動について、駆動軸31と同じ方向の振動および駆動軸31と異なる方向の振動といった複数方向の振動を同時に抑制可能となる。また、複数の物体の振動を抑制可能となる。
 また、数値制御装置10に移動量予測パラメータ入力部52を備えることで、環境の変化、経年劣化あるいは機械の個体差などに応じた移動量予測パラメータを使用することができる。その結果、環境の変化、経年劣化あるいは機械の個体差などに応じた振動を抑制することが可能となる。
 なお、本実施の形態では、工具を固定しワークを移動させる場合を例に挙げたが、本実施の形態がこれに限定されるものではなく、ワークを固定し工具を移動させるような場合にも、本実施の形態を適用することができる。また、本実施の形態では、工作機械1において工具でワークを加工する場合を例に記載したが、本実施の形態がこれに限定されるものではなく、ロボットのハンドで組立作業を行うような場合にも本実施の形態を適用することができる。
実施の形態2.
 図13は、本発明の実施の形態2にかかる数値制御装置の機能構成の一例を示すブロック図である。数値制御装置10aには、第1の駆動軸31aと第2の駆動軸31bとが接続されている。第1の駆動軸31aには、駆動対象の位置および速度を検出する第1のエンコーダ32aが接続され、第2の駆動軸31bには、駆動対象の位置および速度を検出する第2のエンコーダ32bが接続される。
 数値制御装置10aは、第1の駆動軸31aの予測移動量を算出する第1の予測部である駆動軸移動量予測部11と、第1の駆動軸31aの移動に伴う第2の物体の予測移動量を算出する第2の予測部である駆動対象外物体移動量予測部12と、第1の駆動信号の補正量を算出する補正量算出部13と、第1の位置フィードバック補償値を算出する第1の位置フィードバック補償部14aと、第1の速度フィードバック補償値を算出する第1の速度フィードバック補償部15aと、第1の補正後駆動信号を算出する第1の補正信号出力部16aと、を備える。
 また、数値制御装置10aは、第1の駆動軸31aおよび第2の駆動軸31bの軌跡を算出する軌跡算出部17と、補正後の第1の駆動軸31aの移動量を算出する第1の算出部である補正後第1の駆動軸移動量算出部18と、補正後の第1の駆動軸31aの指令に対応する軌跡上位置、および軌跡上の位置に対応する第2の駆動軸31bの位置、速度および加速度を算出する第2の算出部である補正後指令位置算出部19と、第2の位置フィードバック補償値を算出する第2の位置フィードバック補償部14bと、第2の速度フィードバック補償値を算出する第2の速度フィードバック補償部15bと、第2の補正後駆動信号を算出する第2の補正信号出力部16bと、を備える。
 さらに、数値制御装置10aは、第1の駆動軸31aを駆動させる第1の駆動信号を受け付ける第1の駆動信号入力部51aと、第2の駆動軸31bを駆動させる第2の駆動信号を受け付ける第2の駆動信号入力部51bと、第1の駆動軸31aの移動対象の第1の物体の移動量の予測に用いるモデルを表現するパラメータおよび第1の駆動軸31aの移動に伴う駆動対象外の第2の物体の移動量の予測に用いるモデルを表現するパラメータを受け付ける移動量予測パラメータ入力部52と、位置および速度のフィードバックパラメータの入力を受け付けるフィードバックパラメータ入力部53と、を備える。
 駆動軸移動量予測部11は、移動量予測パラメータ入力部52から受け取る第1の駆動軸31aの変位を予測する際に用いるモデルを表現するパラメータと、第1の駆動信号入力部51aから受け取る第1の駆動信号と、補正量算出部13から受け取る補正量と、から予め定められたモデルを用いて、第1の物体の第1の移動量である駆動軸移動量を予測する。なお、実施の形態2でも、駆動軸移動量が、駆動軸予測位置および駆動軸予測速度である場合を例に挙げる。駆動軸移動量予測部11は、算出した駆動軸予測位置および駆動軸予測速度を補正量算出部13に渡し、算出した駆動軸予測位置を第1の位置フィードバック補償部14aに渡し、算出した駆動軸予測速度を第1の速度フィードバック補償部15aに渡す。
 駆動対象外物体移動量予測部12は、移動量予測パラメータ入力部52から受け取る駆動対象外物体移動量を予測する際に用いるモデルを表現するパラメータと、第1の駆動信号入力部51aから受け取る第1の駆動信号と、補正量算出部13から受け取る補正量と、から予め定められたモデルを用いて、第2の移動量である駆動対象外物体移動量を予測する。駆動対象外物体移動量予測部12は、算出した駆動対象外物体移動量を補正量算出部13に渡す。
 補正量算出部13は、駆動軸移動量予測部11から受け取る駆動軸移動量と、駆動対象外物体移動量予測部12から受け取る駆動対象外物体移動量と、から予め定められたモデルにしたがって駆動信号への補正量を算出する。補正量算出部13は、算出した補正量を駆動軸移動量予測部11、駆動対象外物体移動量予測部12、第1の補正信号出力部16aおよび補正後第1の駆動軸移動量算出部18に渡す。補正量の算出では、予め、駆動対象外物体移動量予測部12の持つモデルに基づき最適レギュレータの設計でフィードバックゲインを算出しておき、駆動対象外物体移動量に算出しておいたゲインを乗算することができる。ただし、実施の形態がこれに限定されるものではない。
 第1の位置フィードバック補償部14aは、フィードバックパラメータ入力部53から受け取る位置フィードバック補償に用いるパラメータと、駆動軸移動量予測部11から受け取る駆動軸予測位置と、第1のエンコーダ32aから受け取る第1のフィードバック位置と、から予め定められたモデルにしたがって、第1の位置フィードバック補償値を算出する。第1の位置フィードバック補償部14aは、算出した第1の位置フィードバック補償値を第1の速度フィードバック補償部15aに渡す。
 第1の速度フィードバック補償部15aは、フィードバックパラメータ入力部53から受け取る速度フィードバック補償に用いるパラメータと、駆動軸移動量予測部11から受け取る駆動軸予測速度と、第1の位置フィードバック補償部14aから受け取る第1の位置フィードバック補償値と、第1のエンコーダ32aから受け取る第1のフィードバック速度と、から予め定められたモデルにしたがって、第1の速度フィードバック補償値を算出する。第1の速度フィードバック補償部15aは、算出した第1の速度フィードバック補償値を第1の補正信号出力部16aに渡す。
 第1の補正信号出力部16aは、第1の駆動信号入力部51aから受け取る第1の駆動信号と、補正量算出部13から受け取る補正量と、第1の速度フィードバック補償部15aから受け取る第1の速度フィードバック補償値と、から、第1の補正後駆動信号を算出する。第1の補正信号出力部16aは、算出した第1の補正後駆動信号を、第1の駆動軸31aを駆動する駆動部に渡す。
 軌跡算出部17は、第1の駆動信号入力部51aから受け取る第1の駆動軸31aの第1の駆動信号と、第2の駆動信号入力部51bから受け取る第2の駆動軸31bの第2の駆動信号と、から予め定められたモデルにしたがって、第1の駆動軸31aおよび第2の駆動軸31bの軌跡を算出する。軌跡算出部17は、算出した軌跡を補正後指令位置算出部19に渡す。
 補正後第1の駆動軸移動量算出部18は、第1の駆動信号入力部51aから受け取る第1の駆動軸31aの第1の駆動信号と、補正量算出部13から受け取る補正量と、から予め定められたモデルにしたがって、補正後の第1の駆動軸31aの移動量を算出する。補正後第1の駆動軸移動量算出部18は、算出した補正後の第1の駆動軸31aの移動量を補正後指令位置算出部19に渡す。
 補正後指令位置算出部19は、軌跡算出部17から受け取る第1の駆動軸31aおよび第2の駆動軸31bの軌跡と、補正後第1の駆動軸移動量算出部18から受け取る補正後の第1の駆動軸31aの移動量と、から予め定められたモデルにしたがって、補正後の第1の駆動軸31aの指令に対応する軌跡上の位置を算出し、さらに、軌跡上の位置に対応する第2の駆動軸31bの位置、速度および加速度を算出する。補正後指令位置算出部19は、軌跡上の位置に対応する第2の駆動軸31bの位置を、第2の位置フィードバック補償部14bに渡し、軌跡上の位置に対応する第2の駆動軸31bの速度を、第2の速度フィードバック補償部15bに渡し、軌跡上の位置に対応する第2の駆動軸31bの加速度を第2の補正信号出力部16bに渡す。
 第2の位置フィードバック補償部14bは、フィードバックパラメータ入力部53から受け取る位置フィードバック補償に用いるパラメータと、補正後指令位置算出部19から受け取る軌跡上の第2の駆動軸31bの位置と、第2のエンコーダ32bから受け取る第2のフィードバック位置と、から予め定められたモデルにしたがって、第2の位置フィードバック補償値を算出する。第2の位置フィードバック補償部14bは、算出した第2の位置フィードバック補償値を第2の速度フィードバック補償部15bに渡す。
 第2の速度フィードバック補償部15bは、フィードバックパラメータ入力部53から受け取る速度フィードバック補償に用いるパラメータと、補正後指令位置算出部19から受け取る軌跡上の第2の駆動軸31bの速度と、第2の位置フィードバック補償部14bから受け取る第2の位置フィードバック補償値と、第2のエンコーダ32bから受け取る第2のフィードバック速度と、から予め定められたモデルにしたがって、第2の速度フィードバック補償値を算出する。第2の速度フィードバック補償部15bは、算出した第2の速度フィードバック補償値を第2の補正信号出力部16bに渡す。
 第2の補正信号出力部16bは、補正後指令位置算出部19から受け取る軌跡上の位置に対応する第2の駆動軸31bの加速度と、第2の速度フィードバック補償部15bから受け取る第2の速度フィードバック補償値と、から、第2の補正後駆動信号を算出する。第2の補正信号出力部16bは、算出した第2の補正後駆動信号を、第2の駆動軸31bを駆動する駆動部に渡す。
 第1の駆動信号入力部51aは、第1の駆動軸31aへの第1の駆動信号の入力を受け付け、第1の駆動信号を、駆動軸移動量予測部11、駆動対象外物体移動量予測部12、第1の補正信号出力部16a、軌跡算出部17および補正後第1の駆動軸移動量算出部18に渡す。
 第2の駆動信号入力部51bは、第2の駆動軸31bへの駆動信号の入力を受け付け、第2の駆動信号を軌跡算出部17に渡す。
 移動量予測パラメータ入力部52は、駆動対象外物体移動量の予測に用いるモデルを表現する駆動対象外物体移動量予測パラメータの入力を受け付ける。移動量予測パラメータ入力部52は、駆動対象外物体移動量予測パラメータを駆動対象外物体移動量予測部12に渡す。また、移動量予測パラメータ入力部52は、駆動軸移動量の予測に用いるモデルを表現する駆動軸移動量予測パラメータを受け付け、駆動軸移動量予測パラメータを駆動軸移動量予測部11に渡してもよい。
 フィードバックパラメータ入力部53は、第1の駆動軸31aの位置フィードバック補償に用いる第1の位置補償パラメータと、第1の駆動軸31aの速度フィードバック補償に用いる第1の速度補償パラメータと、第2の駆動軸31bの位置フィードバック補償に用いる第2の位置補償パラメータと、第2の駆動軸31bの速度フィードバック補償に用いる第2の速度補償パラメータと、の入力を受け付ける。また、フィードバックパラメータ入力部53は、第1の位置補償パラメータを第1の位置フィードバック補償部14aに渡し、第1の速度補償パラメータを第1の速度フィードバック補償部15aに渡し、第2の位置補償パラメータを第2の位置フィードバック補償部14bに渡し、第2の速度補償パラメータを第2の速度フィードバック補償部15bに渡す。
 第1の駆動軸31aおよび第2の駆動軸31bは、それぞれ第1の補正信号出力部16aから第1の補正後駆動信号および第2の補正信号出力部16bから第2の補正後駆動信号を受け取り、ワーク3または工具5を駆動する。また、第1の駆動軸31aおよび第2の駆動軸31bは、第1のエンコーダ32aに第1の駆動軸31aの移動または回転、および第2のエンコーダ32bに第2の駆動軸31bの移動または回転をそれぞれ伝える。
 第1のエンコーダ32aは、第1の駆動軸31aの動作に伴い、第1のエンコーダ32aの内部の図示しない可動部と固定部との間に生じる変位から、第1の駆動軸31aの第1のフィードバック位置および第1のフィードバック速度を取得する。第1のエンコーダ32aは、第1のフィードバック位置を第1の位置フィードバック補償部14aに渡し、第1のフィードバック速度を第1の速度フィードバック補償部15aに渡す。
 第2のエンコーダ32bも、同様に、第2の駆動軸31bの第2のフィードバック位置および第2のフィードバック速度を取得し、第2のフィードバック位置を第2の位置フィードバック補償部14bに渡し、第2のフィードバック速度を第2の速度フィードバック補償部15bに渡す。
 なお、駆動軸移動量予測部11および駆動対象外物体移動量予測部12のさらに詳細な機能構成は、実施の形態1の図3および図4に示したものと同様である。ただし、実施の形態2では、駆動軸移動量予測部11の駆動軸状態量加算部111は、第1の駆動信号入力部51aから第1の駆動信号を受け取り、駆動軸位置抽出部114は、第1の位置フィードバック補償部14aに駆動軸予測位置を渡し、駆動軸速度抽出部115は、第1の速度フィードバック補償部15aに駆動軸予測速度を渡す。
 また、実施の形態2では、駆動対象外物体移動量予測部12の駆動対象外物体状態量加算部121は、第1の駆動信号入力部51aから第1の駆動信号を受け取る。
 つぎに、実施の形態2による数値制御装置での振動抑制処理について説明する。図14は、本発明の実施の形態2にかかる数値制御装置の振動抑制処理の手順の一例を示すフローチャートである。なお、ここでは、図13の数値制御装置10aの機能構成についての処理の流れを説明する。
 まず、ステップS201からステップS204では、実施の形態1の図5のステップS101からステップS104の処理と同様の処理が行われる。すなわち、駆動軸移動量予測部11および駆動対象外物体移動量予測部12は、移動量予測パラメータ入力部52から、それぞれ駆動軸移動量予測パラメータおよび駆動対象外物体移動量予測パラメータを受け取る。また、第1の位置フィードバック補償部14aおよび第2の位置フィードバック補償部14bは、フィードバックパラメータ入力部53から、位置補償パラメータを受け取り、第1の速度フィードバック補償部15aおよび第2の速度フィードバック補償部15bは、フィードバックパラメータ入力部53から、速度補償パラメータを受け取る。位置補償パラメータは、第1の位置補償パラメータおよび第2の位置補償パラメータを含み、速度補償パラメータは、第1の速度補償パラメータおよび第2の速度補償パラメータを含む。ついで、駆動軸移動量予測部11は、初期の駆動軸移動量を補正量算出部13に渡し、駆動対象外物体移動量予測部12は、初期の駆動対象外物体移動量を補正量算出部13に渡す。
 ついで、ステップS205において、第1の駆動信号入力部51aへの第1の駆動信号の入力があるか確認する。第1の駆動信号入力部51aへの第1の駆動信号の入力がない場合、すなわちステップS205でNoの場合には、全体の処理を終了する。
 一方、第1の駆動信号入力部51aへの第1の駆動信号の入力がある場合、すなわちステップS205でYesの場合には、ステップS206において、補正量算出部13が、駆動軸移動量と駆動対象外物体移動量とに基づき、補正量を算出する。
 ついで、ステップS207において、駆動軸移動量予測部11は、第1の駆動信号入力部51aからの第1の駆動信号と、ステップS206で算出された補正量と、に基づき、駆動軸予測位置および駆動軸予測速度を予測する。また、ステップS208において、駆動対象外物体移動量予測部12は、第1の駆動信号と補正量とに基づき、駆動対象外物体移動量を予測する。
 その後、ステップS209において、駆動軸移動量予測部11は、駆動軸予測位置を第1の位置フィードバック補償部14aに渡し、駆動軸予測速度を第1の速度フィードバック補償部15aに渡す。また、ステップS210において、駆動軸移動量予測部11は、予測した駆動軸予測位置および駆動軸予測速度を補正量算出部13に渡す。さらに、ステップS211において、駆動対象外物体移動量予測部12は、予測した駆動対象外物体移動量を補正量算出部13に渡す。これらの駆動軸予測位置、駆動軸予測速度および駆動対象外物体移動量は、つぎの駆動信号の入力の際に使用される。
 ついで、ステップS212において、第1のエンコーダ32aは、第1の駆動軸31aの第1のフィードバック情報を取得する。第1のフィードバック情報は、第1のフィードバック位置および第1のフィードバック速度を含む。その後、ステップS213において、第1のエンコーダ32aは、第1の駆動軸31aの第1のフィードバック情報を第1の位置フィードバック補償部14aと第1の速度フィードバック補償部15aとに渡す。ここでは、第1のエンコーダ32aは、第1のフィードバック位置を第1の位置フィードバック補償部14aに渡し、第1のフィードバック速度を第1の速度フィードバック補償部15aに渡す。
 ついで、ステップS214において、第1の位置フィードバック補償部14aは、ステップS209で受け取った駆動軸予測位置と、ステップS213で受け取った第1のフィードバック位置と、ステップS202で受け取った第1の位置補償パラメータと、に基づき、第1の位置フィードバック補償値を算出する。そして、第1の位置フィードバック補償部14aは、第1の位置フィードバック補償値を第1の速度フィードバック補償部15aに渡す。
 その後、ステップS215において、第1の速度フィードバック補償部15aは、ステップS209で受け取った駆動軸予測速度と、ステップS213で受け取った第1のフィードバック速度と、ステップS214で受け取った第1の位置フィードバック補償値と、ステップS202で受け取った第1の速度補償パラメータと、に基づき、第1の速度フィードバック補償値を算出する。そして、第1の速度フィードバック補償部15aは、第1の速度フィードバック補償値を第1の補正信号出力部16aに渡す。
 ついで、第1の補正信号出力部16aは、第1の駆動信号入力部51aからの第1の駆動信号から、補正量算出部13で算出された補正量を減算し、さらに第1の速度フィードバック補償部15aで算出された第1の速度フィードバック補償値を加算して、第1の補正後駆動信号を算出する。そして、ステップS216において、第1の補正信号出力部16aは、第1の補正後駆動信号を第1の駆動軸31aに渡す。
 ついで、ステップS217において、軌跡算出部17は、元の指令での第1の駆動軸31aと第2の駆動軸31bの軌跡を算出する。元の指令は、補正が行われていない駆動信号であり、この例では、第1の駆動信号入力部51aから受け取る第1の駆動軸31aの第1の駆動信号、および第2の駆動信号入力部51bから受け取る第2の駆動軸31bの第2の駆動信号である。
 その後、ステップS218において、補正後第1の駆動軸移動量算出部18は、第1の駆動信号入力部51aから第1の駆動軸31aの第1の駆動信号を受け取り、補正量算出部13から補正量を受け取り、第1の駆動軸31aの補正後の移動量を算出する。
 ついで、補正後指令位置算出部19は、軌跡算出部17から第1の駆動軸31aと第2の駆動軸31bの軌跡を受け取り、補正後第1の駆動軸移動量算出部18から第1の駆動軸31aの補正後の移動量を受け取る。また、ステップS219において、補正後指令位置算出部19は、これらの情報から、軌跡上で補正後の第1の駆動軸31aの移動量に対応する点である補正後指令位置を算出する。さらに、ステップS220において、補正後指令位置算出部19は、補正後指令位置での第2の駆動軸31bの補正後位置、補正後速度および補正後加速度を算出する。
 ついで、ステップS221において、第2のエンコーダ32bは、第2の駆動軸31bの第2のフィードバック情報を取得する。第2のフィードバック情報は、第2の駆動軸31bの第2のフィードバック位置および第2のフィードバック速度を含む。その後、ステップS222において、第2のエンコーダ32bは、第2の駆動軸31bの第2のフィードバック情報を、第2の位置フィードバック補償部14bと第2の速度フィードバック補償部15bとに渡す。ここでは、第2のエンコーダ32bは、第2のフィードバック位置を第2の位置フィードバック補償部14bに渡し、第2のフィードバック速度を第2の速度フィードバック補償部15bに渡す。
 ついで、ステップS223において、第2の位置フィードバック補償部14bは、ステップS220で算出された第2の駆動軸31bの補正後位置と、ステップS222で受け取った第2のフィードバック位置と、ステップS202で受け取った第2の位置補償パラメータと、に基づき、第2の位置フィードバック補償値を算出する。そして、第2の位置フィードバック補償部14bは、第2の位置フィードバック補償値を第2の速度フィードバック補償部15bに渡す。
 その後、ステップS224において、第2の速度フィードバック補償部15bは、ステップS220で算出された第2の駆動軸31bの補正後速度と、ステップS222で受け取った第2のフィードバック速度と、ステップS223で算出された第2の位置フィードバック補償値と、ステップS202で受け取った第2の速度補償パラメータと、に基づき、第2の速度パラメータ補償値を算出する。そして、第2の速度フィードバック補償部15bは、第2の速度フィードバック補償値を第2の補正信号出力部16bに渡す。
 ついで、第2の補正信号出力部16bは、ステップS220で算出された第2の駆動軸31bの補正後加速度に、第2の速度フィードバック補償値を加算して、第2の補正後駆動信号を算出し、第2の駆動軸31bに渡す。その後は、ステップS205まで戻り、第1の駆動信号が入力される間、ステップS206からステップS225までの処理が繰り返される。
 なお、駆動軸移動量予測部11での処理の詳細は、実施の形態1の図6のフローチャートと同様であり、駆動対象外物体移動量予測部12での処理の詳細は、実施の形態1の図7のフローチャートと同様である。
 以上のように、実施の形態2では、第1の駆動軸31aの第1の駆動信号を補正して振動を抑制する場合に、元の指令である第1の駆動信号および第2の駆動軸31bの第2の駆動信号で第1の駆動軸31aおよび第2の駆動軸31bが形成する軌跡上にとどまるように、第2の駆動軸31bの指令を補正する。これによって、振動抑制の効果を得つつ、元の指令に従った第1の駆動軸31aと第2の駆動軸31bが形成する軌跡を実現することができるという効果を有する。
 なお、上記した説明では、第1の駆動軸31aに合わせて第2の駆動軸31bの指令を補正したが、実施の形態がこれに限定されるものではない。複数の駆動軸31を備えた工作機械1で、第3の駆動軸、第4の駆動軸など他の駆動軸が存在する場合にも、第1の駆動軸31aに合わせて指令を補正するようにしてもよい。
 また、本実施の形態では、工作機械1において工具でワークを加工する場合を例に記載したが、本実施の形態がこれに限定されるものではなく、ロボットのハンドで組立作業を行うような場合にも本実施の形態を適用することができる。
 図15は、実施の形態1および2にかかる数値制御装置の機能をコンピュータで実現する場合のハードウェア構成の一例を示す図である。数値制御装置10,10aは、演算処理を行うCPU(Central Processing Unit)といった演算装置71と、演算装置71がワークエリアに用いるメモリ72と、加工プログラムといったソフトウェアを記憶する記憶装置73と、ユーザとの間の入力インタフェースである入力装置74と、ユーザに情報を表示する表示装置75と、工作機械1との通信機能を有する通信装置76と、を備える。
 図2および図13に示した、駆動軸移動量予測部11、駆動対象外物体移動量予測部12、補正量算出部13、位置フィードバック補償部14、第1の位置フィードバック補償部14a、第2の位置フィードバック補償部14b、速度フィードバック補償部15、第1の速度フィードバック補償部15a、第2の速度フィードバック補償部15b、補正信号出力部16、第1の補正信号出力部16a、第2の補正信号出力部16b、軌跡算出部17、補正後第1の駆動軸移動量算出部18および補正後指令位置算出部19の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ72に格納される。演算装置71は、メモリ72に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。メモリ72には、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD(Digital Versatile Disk)が該当する。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 工作機械、2 ベッド、3 ワーク、4 ワークテーブル、5 工具、6 ヘッド、7 コラム、10,10a 数値制御装置、11 駆動軸移動量予測部、12 駆動対象外物体移動量予測部、13 補正量算出部、14 位置フィードバック補償部、14a 第1の位置フィードバック補償部、14b 第2の位置フィードバック補償部、15 速度フィードバック補償部、15a 第1の速度フィードバック補償部、15b 第2の速度フィードバック補償部、16 補正信号出力部、16a 第1の補正信号出力部、16b 第2の補正信号出力部、17 軌跡算出部、18 補正後第1の駆動軸移動量算出部、19 補正後指令位置算出部、31 駆動軸、31a 第1の駆動軸、31b 第2の駆動軸、32 エンコーダ、32a 第1のエンコーダ、32b 第2のエンコーダ、51 駆動信号入力部、51a 第1の駆動信号入力部、51b 第2の駆動信号入力部、52 移動量予測パラメータ入力部、53 フィードバックパラメータ入力部、111 駆動軸状態量加算部、112 駆動軸状態量更新部、113 駆動軸状態量保持部、114 駆動軸位置抽出部、115 駆動軸速度抽出部、121 駆動対象外物体状態量加算部、122 駆動対象外物体状態量更新部、123 駆動対象外物体状態量保持部。

Claims (6)

  1.  第1の駆動信号を用いて、第1の駆動軸が移動させる対象の第1の物体の第1の移動量を予測する第1の予測部と、
     前記第1の駆動信号を用いて、前記第1の駆動軸の駆動力に起因して生じる3次元空間での第2の物体の第2の移動量を予測する第2の予測部と、
     前記第1の移動量と前記第2の移動量とに基づいて前記第1の駆動信号の補正量を算出する補正量算出部と、
     前記第1の駆動信号を前記補正量で補正した第1の補正後駆動信号を前記第1の駆動軸を駆動する駆動部に出力する第1の補正信号出力部と、
     を備えることを特徴とする数値制御装置。
  2.  前記第1の移動量は、前記第1の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
     前記第2の移動量は、前記第2の物体の3次元空間での変位、速度、加速度、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含むことを特徴とする請求項1に記載の数値制御装置。
  3.  前記第1の移動量は、前記第1の物体の位置、変位、速度、加速度、姿勢、姿勢変化、姿勢変化速度および姿勢変化加速度のうち少なくとも一つを含み、
     前記第2の移動量は、前記第1の物体および前記第2の物体のどちらか一方の位置を基準としたときの他方の位置である相対位置の変位を示す相対変位、前記相対位置の速度である相対速度、前記相対位置の加速度である相対加速度、前記第1の物体および前記第2の物体のどちらか一方の姿勢を基準としたときの他方の姿勢である相対姿勢の変化である姿勢変化、前記相対姿勢の姿勢変化の速度である相対姿勢変化速度、および前記相対姿勢の姿勢変化の加速度である相対姿勢変化加速度のうち少なくとも1つを含むことを特徴とする請求項1に記載の数値制御装置。
  4.  前記第2の予測部は、前記第1の駆動軸の位置、速度、加速度および駆動力のうち少なくとも一つを入力の一部とし、前記第2の移動量を出力の一部または内部状態量の一部とする状態空間モデルであることを特徴とする請求項1、2または3に記載の数値制御装置。
  5.  前記第2の予測部で前記第2の移動量を予測する際に用いるモデルを表現する第2の移動量予測パラメータの入力を受け付ける移動量予測パラメータ入力部をさらに備えることを特徴とする請求項1から4のいずれか1つに記載の数値制御装置。
  6.  前記第1の駆動信号および第2の駆動軸への第2の駆動信号から、前記第1の駆動軸および前記第2の駆動軸の軌跡を算出する軌跡算出部と、
     前記第1の駆動信号と前記補正量とから補正後の前記第1の駆動軸の移動量を算出する第1の算出部と、
     前記補正後の前記第1の駆動軸の移動量に対応する前記軌跡上の位置での、前記第2の駆動軸の移動量を算出する第2の算出部と、
     前記第2の駆動軸に前記第2の駆動軸の移動量にしたがって第2の補正後駆動信号を前記第2の駆動軸を駆動する駆動部に出力する第2の補正信号出力部と、
     をさらに備えることを特徴とする請求項1から5のいずれか1つに記載の数値制御装置。
PCT/JP2016/086599 2016-12-08 2016-12-08 数値制御装置 WO2018105085A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE112016007507.3T DE112016007507T5 (de) 2016-12-08 2016-12-08 Numerische steuervorrichtung
PCT/JP2016/086599 WO2018105085A1 (ja) 2016-12-08 2016-12-08 数値制御装置
CN201680091352.XA CN110035867B (zh) 2016-12-08 2016-12-08 数控装置
JP2017516527A JP6180688B1 (ja) 2016-12-08 2016-12-08 数値制御装置
US16/465,864 US11003159B2 (en) 2016-12-08 2016-12-08 Numerical control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/086599 WO2018105085A1 (ja) 2016-12-08 2016-12-08 数値制御装置

Publications (1)

Publication Number Publication Date
WO2018105085A1 true WO2018105085A1 (ja) 2018-06-14

Family

ID=59604780

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/086599 WO2018105085A1 (ja) 2016-12-08 2016-12-08 数値制御装置

Country Status (5)

Country Link
US (1) US11003159B2 (ja)
JP (1) JP6180688B1 (ja)
CN (1) CN110035867B (ja)
DE (1) DE112016007507T5 (ja)
WO (1) WO2018105085A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10663945B2 (en) 2018-07-05 2020-05-26 Mitsubishi Electric Corporation Numerical control device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH714804A1 (fr) * 2018-03-20 2019-09-30 Willemin Macodel Sa Méthode pour limiter les phénomènes vibratoires à l'interface pièce/outil.

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06113579A (ja) * 1992-09-30 1994-04-22 Mitsubishi Electric Corp 位置制御方法および位置制御装置
JP2006198742A (ja) * 2005-01-21 2006-08-03 Hitachi Via Mechanics Ltd 穴明け加工機
JP2012176456A (ja) * 2011-02-25 2012-09-13 Okuma Corp 構造体の振動抑制装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62213945A (ja) * 1986-03-12 1987-09-19 Toshiba Mach Co Ltd 工作機械の熱変位補正装置
JPH0688192B2 (ja) * 1989-04-21 1994-11-09 株式会社牧野フライス製作所 5軸nc工作機械
JPH0775937A (ja) * 1993-09-07 1995-03-20 Sodick Co Ltd 工作機械及びその制御方法
US5459915A (en) * 1994-04-15 1995-10-24 Devlieg-Bullard, Inc. High accuracy machining station for a multiple spindle rotary indexing machine tool
JP4182311B2 (ja) 1999-11-11 2008-11-19 株式会社安川電機 リニアモータの制御方法とその装置
US6738679B2 (en) * 2000-05-08 2004-05-18 Toshiba Kikai Kabushiki Kaisha Positional control system and positional control method
JP3470754B2 (ja) 2000-11-24 2003-11-25 株式会社安川電機 リニアモータの制御方法およびその制御装置
JP2003175439A (ja) * 2001-12-11 2003-06-24 Mori Seiki Co Ltd Nc工作機械の加工時間推定装置
GB0400144D0 (en) * 2004-01-06 2004-02-11 Renishaw Plc Inspection system
JP4474328B2 (ja) 2005-05-20 2010-06-02 日立ビアメカニクス株式会社 穴明け加工機
JP4532577B2 (ja) * 2008-05-23 2010-08-25 ファナック株式会社 数値制御装置と機上計測装置を有する工作機械
US8700201B2 (en) * 2010-09-13 2014-04-15 Okuma Corporation Vibration suppressing device
JP4927985B1 (ja) * 2010-11-22 2012-05-09 ファナック株式会社 工作機械のテーブル又は工具を移動させる互いに直交した少なくとも二つの送り軸を有するサーボモータの駆動制御装置
JP5908342B2 (ja) * 2012-05-17 2016-04-26 オークマ株式会社 工作機械の加工振動抑制方法及び加工振動抑制装置
CN103853093A (zh) * 2012-11-29 2014-06-11 大连龙泽机械有限公司 车床数控系统
JP5669986B1 (ja) * 2013-12-13 2015-02-18 三菱電機株式会社 数値制御装置および数値制御方法
JP5606658B1 (ja) * 2014-03-17 2014-10-15 三菱電機株式会社 数値制御装置
CN104536380A (zh) * 2014-11-06 2015-04-22 成都迅德科技有限公司 一种数控设备系统
CN105171521B (zh) * 2015-10-13 2017-06-27 北京卫星制造厂 一种基于多次检测和补偿的高精度轴类零件加工方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06113579A (ja) * 1992-09-30 1994-04-22 Mitsubishi Electric Corp 位置制御方法および位置制御装置
JP2006198742A (ja) * 2005-01-21 2006-08-03 Hitachi Via Mechanics Ltd 穴明け加工機
JP2012176456A (ja) * 2011-02-25 2012-09-13 Okuma Corp 構造体の振動抑制装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10663945B2 (en) 2018-07-05 2020-05-26 Mitsubishi Electric Corporation Numerical control device

Also Published As

Publication number Publication date
CN110035867A (zh) 2019-07-19
CN110035867B (zh) 2020-07-28
JPWO2018105085A1 (ja) 2018-12-06
US11003159B2 (en) 2021-05-11
DE112016007507T5 (de) 2019-09-05
US20190302729A1 (en) 2019-10-03
JP6180688B1 (ja) 2017-08-16

Similar Documents

Publication Publication Date Title
JP5209810B1 (ja) イナーシャと摩擦係数とばね定数を同時に推定する機能を備える電動機の制御装置
JP5893666B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP6400750B2 (ja) 学習制御機能を備えた制御システム及び制御方法
JP5078891B2 (ja) 機械における機械要素の移動案内のための方法および装置
JP6483775B2 (ja) 座標測定機の可動部の位置決定
JP2020032481A (ja) ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
KR101688344B1 (ko) 다관절 로봇의 위빙 제어 장치
JP6457569B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
CN111347421A (zh) 用于扭矩估计的方法和装置
JP5366840B2 (ja) 軌跡制御装置
JP6880853B2 (ja) 処理装置、パラメータ調整方法、及びパラメータ調整プログラム
CN110662636B (zh) 减速机角度传递误差辨识系统和减速机角度传递误差辨识方法
JP2019181610A (ja) モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム
WO2018029910A1 (ja) パラレルリンク機構の制御装置
JP5897645B2 (ja) 機械先端点のたわみを低減するサーボ制御装置
JP6180688B1 (ja) 数値制御装置
da Silva et al. Design of mechatronic systems with configuration-dependent dynamics: simulation and optimization
JP2007043884A (ja) 多慣性共振系の振動抑制制御方法及び装置
JP4269150B2 (ja) ロボット制御装置
JP5441944B2 (ja) モータ制御装置
JP5283804B1 (ja) サーボ制御装置
JP6237039B2 (ja) ロボット制御装置およびロボット制御方法
JP6333495B1 (ja) サーボ制御装置
Oueslati et al. Improving the dynamic accuracy of elastic industrial robot joint by algebraic identification approach
CN112512758B (zh) 挠曲量推断装置、机器人控制装置以及挠曲量推断方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017516527

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: 16923565

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16923565

Country of ref document: EP

Kind code of ref document: A1