NUMERICAL CONTROL DEVICE
The numerical control device addresses vibrations in machine tools by using state space models to estimate and compensate for vibrations in structures other than the workpiece, enhancing machining accuracy and quality.
Patent Information
- Application Number
- DE112016007507
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2016-12-08
- Publication Date
- 2025-09-25
- Estimated Expiration
- 2036-12-08
AI Technical Summary
Existing machine tools experience vibrations in structures other than the workpiece due to the driving force, leading to reduced machining accuracy and quality, which existing techniques fail to adequately suppress.
A numerical control device with a drive shaft motion amount estimation unit and a non-driven object motion amount estimation unit, utilizing state space models to calculate correction amounts for drive signals, thereby suppressing vibrations in multiple directions, including those different from the drive shaft's movement direction.
Effectively suppresses vibrations between the tool and workpiece, improving machining accuracy and quality by accurately estimating and compensating for vibrations in multiple directions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Area
[0001] The present invention relates to a numerical control device that controls a machine tool according to a machining program. background
[0002] In machining with a machine tool, the operation of a drive shaft may cause mechanical vibration, thus deteriorating machining accuracy or the quality of a machined surface. Specifically, in a case where a movement direction of an object moved by a drive shaft differs from a direction of mechanical vibration, even if feedback control is performed on the drive shaft to suppress deviation in the movement direction of the object moved by the drive shaft, deviation due to mechanical vibration in a direction different from the movement direction of the object moved by the drive shaft still cannot be suppressed. Thus, a technique for suppressing vibration caused by the operation of a drive shaft and generated in a direction different from the movement direction of the drive shaft has been proposed.
[0003] For example, Patent Literature 1 discloses a linear motor control method for controlling a position or a speed of a movable member by detecting a relative position or relative speed between the movable member and a member to be moved using a position or speed detector. This control method uses a linear motor vibration compensation model that includes a linear motor vibration model and a vibration compensation transfer function. The linear motor vibration model includes a center of gravity position transfer function and a rotation degree transfer function. A thrust of the movable member is input to the linear motor vibration model, while the center of gravity position of the movable member and a displacement due to rotation of the movable member detected by the detector are output from the linear motor vibration model.The linear motor vibration model outputs a relative position, which is the sum of the center of gravity position of the movable element and the displacement due to rotation of the movable element. A displacement due to rotation of the movable element detected by the detector is input to the vibration compensation transfer function, while a thrust compensation value is output from the vibration compensation transfer function. A thrust, i.e., the difference between a thrust command and the thrust compensation value, is passed to the linear motor vibration model to compensate for vibrations generated at the relative position. Citation listPatent literature
[0004] Patent literature 1: JP 2002 - 165474 A Brief descriptionTechnical problem
[0005] Vibrations are generated in a machine tool. Some of the vibrations are generated in a structure other than a workpiece because a driving force for moving the workpiece becomes a reaction force and propagates to the structure. When the vibrations are generated as described above, the relative position of a tool with respect to the workpiece oscillates. This leads to a problem in that the machining accuracy or quality of a machined surface deteriorates.
[0006] The above-mentioned technique disclosed in Patent Literature 1 only suppresses relative vibrations caused by movement and rotation of the movable member. Thus, there is a problem in that it is not possible to suppress relative vibrations between a tool and a workpiece, i.e., a movable member, in a case where a driving force is transmitted to the tool when the workpiece is moved, causing the tool to vibrate.
[0007] The present invention has been developed to solve the above-mentioned problems, and an object of the present invention is to provide a numerical control device that can suppress vibrations generated in a structure other than a workpiece. Solution to the problem
[0008] The problem is solved by a numerical control device having the features of patent claim 1. Advantageous effects of the invention
[0009] The numerical control device according to the present invention has an effect in which it is possible to suppress vibrations generated in a structure other than a workpiece. Short description of the drawings Fig. 1 is a diagram schematically illustrating an example of a configuration of a machine tool. Fig. 2 is a block diagram illustrating an example of a functional configuration of a numerical control device according to a first embodiment of the present invention. Fig. 3 is a block diagram schematically illustrating an example of a functional configuration of a drive shaft movement amount estimation unit according to the first embodiment of the present invention. Fig. 4 is a block diagram schematically illustrating an example of a functional configuration of a non-driven object movement amount estimation unit according to the first embodiment of the present invention. Fig. 5 is a flowchart illustrating an example of a vibration suppression processing procedure performed by the numerical control device according to the first embodiment of the present invention. Fig. 6 is a flowchart illustrating an example of a processing flow for the drive shaft movement amount estimation unit according to the first embodiment of the present invention. Fig. 7 is a flowchart illustrating an example of a processing flow for the non-driven object movement amount estimation unit according to the first embodiment of the present invention. Fig. 8 is a block diagram illustrating a functional configuration of the numerical control device according to the first embodiment of the present invention, which is represented using state space models. Fig. 9 is a block diagram illustrating a functional configuration of the numerical control device according to the first embodiment of the present invention, which is represented using state space models. Fig. 10 is a diagram illustrating an example of a simulation result of a vibration amplitude in a vertical direction at a relative position of a tool with respect to a workpiece when the machine tool is operated with the Fig. 1 illustrates the schematic configuration, the workpiece moves in a horizontal direction. Fig. 11 is a block diagram schematically illustrating another example of the functional configuration of the numerical control device according to the first embodiment of the present invention. Fig. 12 is a diagram showing the functional configuration of the numerical control device in Fig. 11, which is reproduced using state space models. Fig. 13 is a block diagram illustrating an example of a functional configuration of a numerical control device according to a second embodiment of the present invention. Fig. 14 is a flowchart illustrating an example of a vibration suppression processing procedure performed by the numerical control device according to the second embodiment of the present invention. Fig. 15 is a diagram illustrating an example of a hardware configuration of the numerical control devices according to the first and second embodiments when the functions of each of the numerical control devices are implemented by a computer. Description of embodiments
[0010] A numerical control device according to embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The present invention is not limited to the embodiments. First embodiment.
[0011] Fig. 1 is a diagram schematically illustrating an example of a configuration of a machine tool. A machine tool 1 includes a bed 2 serving as a base, a work table 4 holding a workpiece 3 to be machined, which is movable in a horizontal direction and rotatable in a horizontal plane, a head 6 holding a tool 5 and movable in a vertical direction, and a column 7 fixed to the bed 2 and supporting the head 6. A numerical control device is connected to the machine tool 1. According to instructions from the numerical control device, the work table 4 moves in the horizontal direction or rotates in the horizontal plane, or the head 6 moves in the vertical direction, and the workpiece 3 is thus machined into a desired shape by the tool 5.
[0012] In the machine tool 1, a driving force for moving the workpiece table 4 becomes a reaction force and propagates to a structure other than the workpiece 3. This causes vibration in the structure. Examples of the structure in which vibration is generated include the column 7. When the above-described vibration is generated, the relative position of the tool 5 with respect to the workpiece 3 vibrates. In an embodiment explained below, a description will be given of the numerical control device that suppresses deterioration in machining accuracy or quality of a machined surface when these vibrations are generated.
[0013] Fig. Figure 2 is a block diagram illustrating an example of a functional configuration of a numerical control device according to a first embodiment of the present invention. A numerical control device 10 is a device that outputs a drive signal to a drive shaft 31 of the machine tool 1 according to a machining program for machining a workpiece. The drive shaft 31 is provided to drive the workpiece table 4 or the head 6 in Fig. 1 by a drive unit. The drive shaft 31 includes a linear drive shaft or a rotary drive shaft. The drive unit includes a motor. A rotary encoder 32 is connected to the drive shaft 31 and detects a position and speed of a driven target.
[0014] The numerical control device 10 includes a drive shaft movement amount estimation unit 11, i.e., a first estimation unit for calculating an estimated movement amount of the drive shaft 31, a non-driven object movement amount estimation unit 12, i.e., a second estimation unit for calculating an estimated movement amount of a non-driven object relative to a movement of the drive shaft 31, a correction amount calculation unit 13 that calculates a correction amount for a drive signal, a position feedback compensation unit 14 that calculates a position feedback compensation value, a speed feedback compensation unit 15 that calculates a speed feedback compensation value, and a correction signal output unit 16 that calculates a corrected drive signal.
[0015] The numerical control device 10 further includes a drive signal input unit 51 that receives a drive signal, a motion amount estimation parameter input unit 52 that receives a parameter representing a model used to estimate a motion amount of a first object moved by the drive shaft 31 and a parameter representing a model used to estimate a motion amount of a second non-driven object relative to the movement of the drive shaft 31, and a feedback parameter input unit 53 that receives inputs of position and speed feedback parameters. In the numerical control device 10, the non-driven object is a component of the machine tool 1 other than the target object to be moved by the drive shaft 31.For example, in a case where the drive shaft 31 is provided for moving the workpiece table 4, the non-driven objects are the head 6 and the column 7.
[0016] The drive shaft movement amount estimation unit 11 estimates a drive shaft movement amount, that is, a first movement amount of a first object to be moved by the drive shaft 31, using a model. The model is determined in advance based on a parameter for representing a model used to estimate a displacement of the drive shaft 31, the parameter received from the movement amount estimation parameter input unit 52, a drive signal received from the drive signal input unit 51, and a correction amount received from the correction amount calculation unit 13.Examples of the movement amount of the drive shaft of the first object may include at least one of the object position, displacement, speed, acceleration, posture, position change of the object, speed of change of its position, and acceleration of change of its position. The following explanation describes an example in which an estimated drive shaft position and an estimated drive shaft speed are used as the movement amount of the drive shaft. The drive shaft movement amount estimation unit 11 sends the calculated estimated drive shaft position and estimated drive shaft speed to the correction amount calculation unit 13, sends the calculated estimated drive shaft position to the position feedback compensation unit 14, and sends the calculated estimated drive shaft speed to the speed feedback compensation unit 15.
[0017] The non-driven object movement amount estimation unit 12 estimates a movement amount of the non-driven object, that is, a second movement amount of a second object other than a target to be moved by the drive shaft 31, using a model, the movement amount being generated in a three-dimensional space due to a driving force of the drive shaft 31. The model is determined in advance based on a parameter for representing a model used to estimate a movement amount of the non-driven object, the parameter received from the movement amount estimation parameter input unit 52, a drive signal received from the drive signal input unit 51, and a correction amount received from the correction amount calculation unit 13.The non-driven object movement amount estimation unit 12 sends the calculated non-driven object movement amount to the correction amount calculation unit 13.
[0018] It is desirable that the movement amount of the non-driven object includes any of a relative displacement, a relative velocity, a relative acceleration, a change in relative position, a speed of change in relative position, and an acceleration of change in relative position. The relative displacement is a displacement of the relative position of the tool 5 with respect to the position of the workpiece 3. The relative velocity is a speed of the relative position of the tool 5 with respect to the position of the workpiece 3. The relative acceleration is an acceleration of the relative position of the tool 5 with respect to the position of the workpiece 3. The change in relative position is a position of the tool 5 with respect to the position of the workpiece 3.The speed of change of the relative position is a speed of change of the position of the tool 5 with respect to the position of the workpiece 3. The acceleration of change of the relative position is an acceleration of change of the position of the tool 5 with respect to the position of the workpiece 3. Using these types of information, it is possible to suppress relative vibrations between the workpiece 3 and the tool 5.
[0019] In addition, it is possible to estimate a movement amount of a non-driven object in a three-dimensional space in a direction other than the movement direction of the drive shaft 31.Specifically, it is also possible to estimate a displacement of the second object in a direction different from the moving direction of the first object moved by the drive shaft 31, a speed thereof in a direction different from the moving direction of the first object moved by the drive shaft 31, an acceleration thereof in a direction different from the moving direction of the first object moved by the drive shaft 31, a change in the posture thereof about the central axis in a direction different from the rotational center axis of the first object moved by the drive shaft 31, a speed of change in the posture thereof about the central axis in a direction different from the rotational center axis of the first object moved by the drive shaft 31, or an acceleration of change in the posture thereof about the central axis in a direction different from the rotational center axis of the first object moved by the drive shaft 31.Estimating these types of information makes it possible to suppress vibrations even in a case where the vibration direction of the machine tool 1 is different from the movement direction of the first object moved by the drive shaft 31.
[0020] Furthermore, the non-driven object motion quantity estimation unit 12 is based on a state-space model in which at least one of the position, speed, acceleration, and driving force of the drive shaft 31 instructed to the drive shaft 31 is used as a part of inputs, and a displacement of the second object, a speed thereof, an acceleration thereof, a change in posture thereof, a speed of change in posture thereof, or an acceleration of change in posture thereof is used as a part of outputs or as a part of the internal state quantity. By using a state-space model that can represent a multi-variable system, the numerical control device 10 can simultaneously estimate vibrations in multiple directions, such as vibrations in multiple directions.Suppress vibrations in a direction equal to the drive shaft 31 and vibrations in a direction different from the drive shaft 31.
[0021] A simulation based on the finite element method or a dynamic model is used to create the state-space model as described above, which is capable of representing a relative displacement between the workpiece 3 and the tool 5 in a three-dimensional space. Furthermore, it is possible to perform system identification in advance by measuring the relative displacement generated when the drive shaft 31 is driven. When performing system identification, an additional sensor is used only for the advance measurement to improve model accuracy. However, the present embodiment is not limited to these methods.
[0022] The correction amount calculation unit 13 calculates a correction amount for a drive signal according to a model determined in advance based on a movement amount of a drive shaft received from the drive shaft movement amount estimation unit 11 and a movement amount of a non-driven object received from the non-driven object movement amount estimation unit 12. This correction amount calculation processing is designed to take into account an influence of the movement amount of the second object generated due to a driving force of the drive shaft 31 on the first object. The correction amount calculation unit 13 sends the calculated correction amount to the drive shaft movement amount estimation unit 11, the non-driven object movement amount estimation unit 12, and the correction signal output unit 16.When calculating the correction amount, a feedback gain is calculated in advance by optimal controller design based on the model of the estimation unit 12 for a movement amount of a non-driven object, to multiply the movement amount of the non-driven object by the calculated feedback gain. However, the present embodiment is not limited to this.
[0023] The position feedback compensation unit 14 calculates a position feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for position feedback compensation, an estimated drive shaft position received from the drive shaft movement amount estimation unit 11, and a feedback position received from the rotary encoder 32. The position feedback compensation unit 14 sends the calculated position feedback compensation value to the speed feedback compensation unit 15.
[0024] The speed feedback compensation unit 15 calculates a speed feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for speed feedback compensation, an estimated drive shaft speed received from the drive shaft movement amount estimation unit 11, a position feedback compensation value received from the position feedback compensation unit 14, and a feedback speed received from the rotary encoder 32. The speed feedback compensation unit 15 sends the calculated speed feedback compensation value to the correction signal output unit 16.
[0025] The correction signal output unit 16 calculates a corrected drive signal based on a drive signal received from the drive signal input unit 51, a correction amount received from the correction amount calculation unit 13, and a speed feedback compensation value received from the speed feedback compensation unit 15. The correction signal output unit 16 sends the calculated corrected drive signal to the drive unit that drives the drive shaft 31.
[0026] The drive signal input unit 51 receives an input of a drive signal and sends the drive signal to the drive shaft movement amount estimation unit 11, the non-driven object movement amount estimation unit 12, and the correction signal output unit 16.
[0027] The motion amount estimation parameter input unit 52 receives an input of a motion amount estimation parameter of a non-driven object representing a model used to estimate a motion amount of the non-driven object. The motion amount estimation parameter input unit 52 sends the non-driven object motion amount estimation parameter to the non-driven object motion amount estimation unit 12. By using the non-driven object motion amount estimation parameter, it is possible to suppress vibrations according to differences between individual machine tools 1.Furthermore, the drive shaft movement amount estimation parameter input unit 52 may receive an input of the drive shaft movement amount estimation parameter representing a model used to estimate the drive shaft movement amount, and send the drive shaft movement amount estimation parameter to the drive shaft movement amount estimation unit 11. Using the drive shaft movement amount estimation parameter as described above, the numerical control device 10 can estimate a deviation from a command and thus achieve more favorable effects compared to the case where only the non-driven object movement amount estimation parameter is used.In the description of the present invention, an example will be described in which the movement amount estimation parameter input unit 52 sends the estimation parameter for a movement amount of a non-driven object to the movement amount of a non-driven object estimation unit 12 and sends the estimation parameter for a movement amount of a drive shaft to the movement amount of a drive shaft estimation unit 11.
[0028] The feedback parameter input unit 53 receives an input of a position compensation parameter to be used for position feedback compensation and an input of a speed compensation parameter to be used for speed feedback compensation. The feedback parameter input unit 53 sends the position compensation parameter to the position feedback compensation unit 14 and sends the speed compensation parameter to the speed feedback compensation unit 15.
[0029] The drive shaft 31 receives a corrected drive signal from the correction signal output unit 16, drives the workpiece 3 or the tool 5, and sends a movement or rotation of the drive shaft 31 to the rotary encoder 32.
[0030] The rotary encoder 32 obtains a feedback position and a feedback speed of the drive shaft 31 based on a displacement generated between a movable portion and a fixed portion (both are not illustrated) within the rotary encoder 32 when the drive shaft 31 is driven. The rotary encoder 32 sends the feedback position to the position feedback compensation unit 14 and sends the feedback speed to the speed feedback compensation unit 15.
[0031] Next, respective functional configurations of the drive shaft movement amount estimation unit 11 and the non-driven object movement amount estimation unit 12 will be described in detail. Fig. 3 is a block diagram schematically illustrating an example of a functional configuration of the drive shaft movement amount estimation unit according to the first embodiment of the present invention.
[0032] The drive shaft movement amount estimation unit 11 includes a drive shaft state amount addition unit 111 that calculates a change in the drive shaft state amount, a drive shaft state amount updating unit 112 that calculates a drive shaft state amount at the next time point in a case where there is no input signal, a drive shaft state amount holding unit 113 that holds therein a change amount in the drive shaft state amount and a drive shaft state amount at the next time point, a drive shaft position extraction unit 114 that extracts an estimated drive shaft position, and a drive shaft speed extraction unit 115 that extracts an estimated drive shaft speed.
[0033] The drive shaft state quantity is a physical quantity to be used to estimate a movement amount of a drive shaft. For example, the drive shaft state quantity holding unit 113 holds a position and a speed serving as a drive shaft state quantity for estimating a position therein. The next position is estimated by adding the previous position to a value obtained by multiplying a time difference from the previous time point by the speed. Furthermore, it is possible to further hold an acceleration in the drive shaft state quantity holding unit 113 in addition to the position and speed serving as a drive shaft state quantity. In this case, a change in speed from the previous time point to the next time point is calculated based on the acceleration, and the average of the calculated speeds is used to estimate the next position.Furthermore, it is possible to simply use a position command and a speed command to the drive shaft 31, since they correspond to the next position and the next speed. However, the present embodiment is not limited to this.
[0034] The drive shaft state quantity addition unit 111 calculates the amount of change in the drive shaft state quantity indicated by a difference between a drive signal received from the drive signal input unit 51 and a correction quantity received from the correction quantity calculation unit 13 according to a predetermined model, and sends the calculated amount of change in the drive shaft state quantity to the drive shaft state quantity holding unit 113.
[0035] The drive shaft state quantity updating unit 112 receives the drive shaft state quantity from the drive shaft state quantity holding unit 113, calculates a drive shaft state quantity at the next time point in a case where there is no input signal, and sends the calculated drive shaft state quantity to the drive shaft state quantity holding unit 113.
[0036] The drive shaft state quantity holding unit 113 stores therein a drive shaft state quantity, that is, the sum of the amount of change in the drive shaft state quantity indicated by a difference between the drive signal and the correction quantity received from the drive shaft state quantity addition unit 111, and the drive shaft state quantity at the next time point in a case where there is no input signal, which drive shaft state quantity is received from the drive shaft state quantity update unit 112. The drive shaft state quantity holding unit 113 sends the drive shaft state quantity to the correction quantity calculation unit 13, the drive shaft position extraction unit 114, and the drive shaft speed extraction unit 115.
[0037] The drive shaft position extraction unit 114 extracts an estimated drive shaft position from the drive shaft state quantity and sends the extracted estimated drive shaft position to the position feedback compensation unit 14.
[0038] The drive shaft speed extraction unit 115 extracts an estimated drive shaft speed from the drive shaft state quantity and sends the extracted estimated drive shaft speed to the speed feedback compensation unit 15.
[0039] Due to such a configuration as described above, the drive shaft movement amount estimation unit 11 estimates a drive shaft state quantity, an estimated drive shaft position, and an estimated drive shaft speed based on a difference between a drive signal received from the drive signal input unit 51 and a correction quantity received from the correction quantity calculation unit 13. The drive shaft state quantity is then output to the correction quantity calculation unit 13. The estimated drive shaft position is output to the position feedback compensation unit 14. The estimated drive shaft speed is output to the speed feedback compensation unit 15.
[0040] Fig. 4 is a block diagram schematically illustrating an example of a functional configuration of the non-driven object movement amount estimation unit according to the first embodiment of the present invention. The non-driven object movement amount estimation unit 12 includes a non-driven object state amount addition unit 121 that calculates a change in the state amount of a non-driven object, a non-driven object state amount update unit 122 that calculates a state amount of a non-driven object at the next time point in a case where there is no input signal, and a non-driven object state amount holding unit 123 that holds therein a change amount in the state amount of a non-driven object and a state amount of a non-driven object at the next time point.
[0041] The state quantity of a non-driven object is a physical quantity used to estimate a movement quantity of the non-driven object. For example, the non-driven object state quantity holding unit 123 holds a position and a speed serving as a state quantity of the non-driven object to estimate a position therein. The next position is estimated by adding the previous position to a value obtained by multiplying a time difference from the previous time point by the speed. Furthermore, it is possible to further hold an acceleration in the non-driven object state quantity holding unit 123 in addition to the position and speed serving as a state quantity of a non-driven object.In this case, a change in speed from the previous time to the next time is calculated based on the acceleration, and the average of the calculated speeds is used to estimate the next position. However, the present embodiment is not limited to this.
[0042] The non-driven object state quantity addition unit 121 calculates the amount of change in the state quantity of a non-driven object, which is indicated by a difference between a drive signal received from the drive signal input unit 51 and a correction quantity received from the correction quantity calculation unit 13, according to a predetermined model, and sends the calculated amount of change in the state quantity of a non-driven object to the non-driven object state quantity holding unit 123.
[0043] The non-driven object state quantity updating unit 122 receives the state quantity of the non-driven object from the non-driven object state quantity holding unit 123, calculates a state quantity of the non-driven object at the next time point in a case where there is no input signal, and sends the calculated state quantity of the non-driven object to the non-driven object state quantity holding unit 123.
[0044] The non-driven object state quantity holding unit 123 stores therein a state quantity of the non-driven object, that is, the sum of the amount of change in the state quantity of the non-driven object, indicated by a difference between the drive signal and the correction quantity received from the non-driven object state quantity addition unit 121, and the state quantity of the non-driven object at the next time point in a case where there is no input signal, the state quantity of the non-driven object being received from the non-driven object state quantity updating unit 122. The non-driven object state quantity holding unit 123 sends the state quantity of the non-driven object to the correction quantity calculation unit 13.
[0045] Due to such a configuration as described above, the non-driven object movement amount estimation unit 12 estimates a state quantity of the non-driven object based on a difference between a drive signal received from the drive signal input unit 51 and a correction quantity received from the correction quantity calculation unit 13. The non-driven object movement amount estimation unit 12 then outputs the estimated state quantity of the non-driven object to the correction quantity calculation unit 13.
[0046] Next, vibration suppression processing in the numerical control device according to the first embodiment will be described. Fig. 5 is a flowchart illustrating an example of a vibration suppression processing sequence performed by the numerical control device according to the first embodiment of the present invention. Here, a description will be given of a processing sequence in the functional configuration of the numerical control device 10 in Fig. 2 listed.
[0047] First, the motion amount estimation parameter input unit 52 receives an input of the drive shaft motion amount estimation parameter and an input of the non-driven object motion amount estimation parameter. Subsequently, at step S101, the drive shaft motion amount estimation unit 11 and the non-driven object motion amount estimation unit 12 receive the drive shaft motion amount estimation parameter and the non-driven object motion amount estimation parameter, respectively, from the motion amount estimation parameter input unit 52. The drive shaft motion amount estimation parameter is necessary information for the drive shaft motion amount estimation unit 11 to calculate an estimated drive shaft position and an estimated drive shaft speed using a state space model.The non-driven object movement amount estimation parameter is necessary information for the non-driven object movement amount estimation unit 12 to calculate a non-driven object movement amount using a state space model.
[0048] The feedback parameter input unit 53 receives an input of a position compensation parameter and an input of a speed compensation parameter. Subsequently, in step S102, the position feedback compensation unit 14 and the speed feedback compensation unit 15 receive the position compensation parameter and the speed compensation parameter, respectively, from the feedback parameter input unit 53.
[0049] Next, at step S103, the drive shaft movement amount estimation unit 11 sends an initial movement amount of the drive shaft to the correction amount calculation unit 13. At step S104, the non-driven object movement amount estimation unit 12 sends an initial movement amount of the non-driven object to the correction amount calculation unit 13.
[0050] Next, in step S105, it is checked whether there is a drive signal input to the drive signal input unit 51. If there is no drive signal input to the drive signal input unit 51, that is, if step S105 is NO, the entire processing is terminated.
[0051] On the other hand, when there is a drive signal input to the drive signal input unit 51, that is, in the case of YES at step S105, the correction amount calculation unit 13 calculates a correction amount based on the movement amount of the drive shaft and the movement amount of the non-driven object at step S106.
[0052] Subsequently, in step S107, the drive shaft movement amount estimation unit 11 estimates an estimated drive shaft position and an estimated drive shaft speed based on the drive signal received from the drive signal input unit 51 and the correction amount calculated in step S106. In step S108, the non-driven object movement amount estimation unit 12 estimates a movement amount of the non-driven object based on the drive signal and the correction amount.
[0053] Next, at step S109, the drive shaft movement amount estimation unit 11 sends the estimated drive shaft position to the position feedback compensation unit 14 and sends the estimated drive shaft speed to the speed feedback compensation unit 15. At step S110, the drive shaft movement amount estimation unit 11 sends the estimated drive shaft position and the estimated drive shaft speed to the correction amount calculation unit 13. Further, at step S111, the non-driven object movement amount estimation unit 12 sends the estimated movement amount of the non-driven object to the correction amount calculation unit 13. These estimated drive shaft position, estimated drive shaft speed, and estimated movement amount of the non-driven object are used when the next drive signal is input.
[0054] Next, at step S112, the rotary encoder 32 receives feedback information from the drive shaft 31. The feedback information includes a feedback position and a feedback speed. Then, at step S113, the rotary encoder 32 sends the feedback information of the drive shaft 31 to the position feedback compensation unit 14 and the speed feedback compensation unit 15. In this example, the rotary encoder 32 sends the feedback position to the position feedback compensation unit 14 and sends the feedback speed to the speed feedback compensation unit 15.
[0055] Subsequently, in step S114, the position feedback compensation unit 14 calculates a position feedback compensation value based on the estimated drive shaft position received in step S109, the feedback position received in step S113, and the position compensation parameter received in step S102. The position feedback compensation unit 14 then sends the calculated position feedback compensation value to the speed feedback compensation unit 15.
[0056] Next, in step S115, the speed feedback compensation unit 15 calculates a speed feedback compensation value based on the estimated 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 compensation parameter received in step S102. The speed feedback compensation unit 15 then sends the calculated speed feedback compensation value to the correction signal output unit 16.
[0057] Subsequently, the correction signal output unit 16 calculates a corrected drive signal by subtracting the correction amount calculated by the correction amount calculation unit 13 from the drive signal received from the drive signal input unit 51, and further adding the speed feedback compensation value calculated by the speed feedback compensation unit 15 to the subtraction result. At step S116, the correction signal output unit 16 sends the corrected drive signal to the drive shaft 31. Thereafter, the process returns to step S105 to repeat the processes of steps S106 to S116 during a period for which a drive signal is input.
[0058] Now, the processing in the estimation unit 11 for a motion quantity of a drive shaft will be described in more detail. Fig. Fig. 6 is a flowchart illustrating an example of a processing flow for the drive shaft movement amount estimation unit according to the first embodiment of the present invention. The processing is subsequently performed according to the functional configuration of the drive shaft movement amount estimation unit 11 in Fig. 3 described.
[0059] First, at step S131, the drive shaft state quantity addition unit 111, the drive shaft state quantity updating unit 112, and the drive shaft state quantity holding unit 113 receive an estimation parameter for a movement quantity of a drive shaft from the movement quantity estimation parameter input unit 52. Next, at step S132, the drive shaft state quantity holding unit 113 sends an initial value of the drive shaft state quantity to the correction quantity calculation unit 13.
[0060] Next, in step S133, it is checked whether there is a drive signal input to the drive signal input unit 51. If there is no drive signal input to the drive signal input unit 51, that is, if step S133 is NO, the entire processing is terminated.
[0061] On the other hand, when a drive signal is input to the drive signal input unit 51, that is, when YES is determined at step S133, the drive shaft state quantity addition unit 111 receives the drive signal from the drive signal input unit 51 and the correction quantity from the correction quantity calculation unit 13, and calculates the amount of change in the drive shaft state quantity caused by a signal obtained by subtracting the correction quantity from the drive signal at step S134. At the time of this calculation, the estimation parameter for a movement quantity of a drive shaft received at step S131 is used.
[0062] Subsequently, in 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 updated value of the drive shaft state quantity at the next time point in a case where no input signal is present. At the time of this calculation, the estimation parameter for a drive shaft movement quantity received in step S131 is used.
[0063] At step S136, the drive shaft state quantity holding unit 113 stores the drive shaft state quantity, that is, the sum of the change amount in the drive shaft state quantity and the updated value of the drive shaft state quantity at the next time point in a case where there is no input signal. The drive shaft state quantity holding unit 113 sends 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.
[0064] Thereafter, at step S137, the drive shaft position extraction unit 114 extracts an estimated drive shaft position from the drive shaft state quantity and sends the extracted estimated drive shaft position to the position feedback compensation unit 14. At step S138, the drive shaft speed extraction unit 115 extracts an estimated drive shaft speed from the drive shaft state quantity and sends the extracted estimated drive shaft speed to the speed feedback compensation unit 15. Further, at step S139, the drive shaft state quantity holding unit 113 sends the drive shaft state quantity to the correction quantity calculation unit 13. After completion of the above steps, the processing in the drive shaft movement quantity estimation unit 11 is terminated.
[0065] Next, the processing in the estimation unit 12 for a movement amount of a non-driven object will be described in more detail. Fig. Fig. 7 is a flowchart illustrating an example of a processing flow for the non-driven object movement amount estimation unit according to the first embodiment of the present invention. The processing is subsequently performed according to the functional configuration of the non-driven object movement amount estimation unit 12 in Fig. 4 described.
[0066] First, at step S151, the non-driven object state quantity addition unit 121, the non-driven object state quantity update unit 122, and the non-driven object state quantity holding unit 123 receive an estimation parameter for a non-driven object state quantity from the movement quantity estimation parameter input unit 52. Next, at step S152, the non-driven object state quantity holding unit 123 sends an initial value of the non-driven object state quantity to the correction quantity calculation unit 13.
[0067] Next, in step S153, it is checked whether there is a drive signal input to the drive signal input unit 51. If there is no drive signal input to the drive signal input unit 51, that is, if step S153 is NO, the entire processing is terminated.
[0068] On the other hand, when a drive signal is input to the drive signal input unit 51, that is, when YES at step S153, the non-driven object state quantity addition unit 121 receives the drive signal from the drive signal input unit 51 and the correction quantity from the correction quantity calculation unit 13, and calculates the amount of change in the non-driven object state quantity caused by a signal obtained by subtracting the correction quantity from the drive signal at step S154. At the time of this calculation, the non-driven object state quantity estimation parameter received at step S151 is used.
[0069] Next, at step S155, the non-driven object state quantity updating unit 122 receives the non-driven object state quantity from the non-driven object state quantity holding unit 123 and calculates an updated value of the non-driven object state quantity at the next time point in a case where there is no input signal.
[0070] At step S156, the non-driven object state quantity holding unit 123 stores therein the state quantity of the non-driven object, that is, the sum of the amount of change in the state quantity of the non-driven object and the updated value of the state quantity of the non-driven object at the next time point in a case where there is no input signal.
[0071] Thereafter, at step S157, the non-driven object state quantity holding unit 123 sends the state quantity of the non-driven object to the correction quantity calculating unit 13. After completion of the above steps, the processing in the non-driven object movement quantity estimating unit 12 is terminated.
[0072] Effects of the vibration suppression processing achieved in the present embodiment are described below. Fig. Fig. 8 is a block diagram illustrating the functional configuration of the numerical control device according to the first embodiment of the present invention, which is represented using state space models. Fig. 8 are illustrations of the movement amount estimation parameter input unit 52 and the feedback parameter input unit 53 in Fig. 2 is omitted. The internal components of the estimation unit 11 for a motion quantity of a drive shaft, which is Fig. 3 are represented by state space models. The internal components of the estimation unit 12 for a motion quantity of a non-driven object, which are shown in Fig. 4 are represented by state-space models. Furthermore, an interaction 60 between the drive shaft 31, a tool, and a workpiece is represented at a location to which a correction signal is output from the correction signal output unit 16. The interaction 60 is represented by state-space models Am1, Bm1, Am2, and Bm2. Position detection performed by the rotary encoder 32 is represented by Cpm1, while speed detection performed by the rotary encoder 32 is represented by Cvm1.
[0073] In Fig. 8 are components that meet the requirements Fig. 2 to 4 are designated by the same reference numerals. Am1 and Bm1 are the state-space models representing a relationship between a driving force and an operation of the drive shaft 31. Am2 and Bm2 are the state-space models representing a relationship between a driving force and a relative displacement, that is, a difference in displacement between a tool and a workpiece caused by the driving force of the drive shaft 31.
[0074] Furthermore, Fig. 8, a signal x1(ti) indicates a drive shaft state quantity at a time ti (i=1, 2), while a signal x2(ti) indicates a state quantity of a non-driven object at the time ti. A signal u indicates a drive signal. A signal p indicates an estimated drive shaft position. A signal v indicates an estimated drive shaft speed. A signal um indicates a corrected drive signal output from the correction signal output unit 16. A signal xm1(ti) indicates an internal state quantity of the drive shaft 31 at the time ti. A signal xm2(ti) indicates a state quantity of relative displacement, that is, a difference in displacement between a tool and a workpiece at the time ti. A signal pm indicates a drive shaft position detected by the rotary encoder 32. A signal vm indicates a drive shaft speed detected by the rotary encoder 32.
[0075] The respective signal lines in Fig. 8 transmitted signals have ratios expressed by the following formulas (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)
[0076] By defining the following formulas (5) to (9), the formulas (1) to (4) can be jointly expressed in the form of the formulas (10) to (12) below. x(t1)=(x1(t1)x2(t1)) A=(A100A2) B=(B1B2) Cp=(Cp1 0) Cv=(Cv1 0) x(t2)=A⋅x(t1)+B⋅u p=Cp⋅x(t1) v=Cv⋅x(t1)
[0077] Fig. 9 is a block diagram illustrating the functional configuration of the numerical control device according to the first embodiment of the present invention, which is represented using state space models. Fig. 9 gives the functional configuration, which is essentially equivalent to the configuration in Fig. 8, according to the results of formulas (10) to (12). Fig. 9 is a diagram to help to compare the effects of Fig. 8 better understand. In Fig. 9, the drive shaft state quantity addition unit 111 and the state quantity addition unit 121 for a non-driven object are in Fig. 8 as a state quantity addition unit 111a. The drive shaft state quantity update unit 112 and the state quantity update unit 122 for a non-driven object in Fig. 8 are represented as a state quantity updating unit 112a. The drive shaft state quantity holding unit 113 and the state quantity holding unit 123 for a non-driven object in Fig. 8 are represented as a state variable holding unit 113a. In the interaction 60 between the drive shaft 31, a tool, and a workpiece, the state space models Am1 and Am2 are represented as a state space model Am, while the state space models Bm1 and Bm2 are represented as a state space model Bm.
[0078] In Fig. 9, the internal state quantity of the estimation unit 11 for a movement quantity of a drive shaft and the estimation unit 12 for a movement quantity of a non-driven object is expressed by the following formula (13). x(t2)=A⋅x(t1)+B{u−K⋅x(t1)}=(A−B⋅K)⋅x(t1)+B⋅u
[0079] A state variable xm(t2) of the drive shaft 31, a tool and a workpiece can be converted into a formula (14) below by expanding the following formulas. 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)}]
[0080] Assuming that the state space model of the drive shaft motion amount estimation unit 11 and the non-driven object motion amount estimation unit 12 can sufficiently approximate the target state space model of the drive shaft 31, a tool, and a workpiece, the following formulas (15) to (17) are established. Consequently, formula (14) can be expressed by the following formula (18). Cv⋅x(t1)−Cvm⋅xm(t1)→0 Cp⋅x(t1)−Cvm⋅xm(t1)→0 {Am⋅xm(t1)−Bm⋅K⋅x(t1)}+Bm⋅u→{A⋅x(t1)−B⋅K⋅x(t1)}+B⋅u xm(t2)→{A⋅x(t1)−B⋅K⋅x(t1)}+B⋅u(=x(t2))
[0081] This indicates that the internal state variables of the drive shaft motion amount estimation unit 11 and the non-driven object motion amount estimation unit 12 accurately reflect the correlation between the drive shaft 31, a tool, and a workpiece. The control law applied to the internal state variables of the drive shaft motion amount estimation unit 11 and the non-driven object motion amount estimation unit 12 in Formula (13) is reflected in the correlation between the drive shaft 31, a tool, and a workpiece, as expressed by Formula (18).That is, when the control law for suppressing vibration of a non-driven object is applied to the internal state quantity of the drive shaft motion quantity estimation unit 11 and the non-driven object motion quantity estimation unit 12, relative vibrations between a tool and a workpiece can be suppressed even in a true correlation between the drive shaft 31, the tool, and the workpiece.
[0082] Fig. 10 is a diagram illustrating an example of a simulation result of a vibration amplitude in a vertical direction at a relative position of a tool with respect to a workpiece when the machine tool is operated with the Fig. 1 illustrates the schematic configuration, the workpiece moves in a horizontal direction. In Fig. 10, the horizontal axis represents time and the vertical axis represents relative oscillations. A curved line L1 in Fig. Fig. 10 shows a vibration amplitude in the vertical direction when applying the present embodiment, while a curved line L2 in Fig. 10 shows a vibration amplitude in the vertical direction when the present embodiment is not applied. In this example, the bed 2, the workpiece 3, the work table 4, the tool 5, the head 6, and the column 7 all had their own mass, and a dynamic model was created in which a connection between the elements was viscosity and elasticity. A simulation was performed on this dynamic model.
[0083] When the present embodiment is not applied, a vibration amplitude in the vertical direction appears at the relative position of the tool with respect to the workpiece, as shown by the curved line L2. On the other hand, it should be understood that when the present embodiment is applied, a vibration amplitude in the vertical direction is sufficiently suppressed to an insignificant extent compared to the curved line L2 and disappears at an earlier time than the curved line L2, as shown by the curved line L1.
[0084] In the above explanations, the case where the position feedback compensation unit 14 and the speed feedback compensation unit 15 only perform P (proportional) control on a position and a speed was described. However, the present embodiment is not limited to this. For example, it is also possible to perform current or acceleration feedback control. Furthermore, it is possible to use not only P control but also PI (proportional-integral) control or PID (proportional-integral-derivative) control.
[0085] In the above explanations, the numerical control device 10 has been described as having the configuration including the position feedback compensation unit 14 and the speed feedback compensation unit 15. However, it is also possible that the numerical control device according to the present embodiment does not include the position feedback compensation unit 14 and the speed feedback compensation unit 15.
[0086] Fig. Figure 11 is a block diagram schematically illustrating another example of the functional configuration of the numerical control device according to the first embodiment of the present invention. The numerical control device 10 has a configuration in which the position feedback compensation unit 14 and the speed feedback compensation unit 15 are different from the configuration in Fig. 2 are omitted. Components belonging to the Fig. 2 are denoted by the same reference numerals, and explanations thereof will be omitted. In this example, the correction signal output unit 16 outputs a corrected drive signal to the drive shaft 31. The corrected drive signal is obtained by subtracting a correction amount output from the correction amount calculation unit 13 from a drive signal received from the drive signal input unit 51.
[0087] Fig. 12 is a diagram showing the functional configuration of the numerical control device in Fig. 11, which is reproduced using state space models. 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 rotary encoder 32 are selected from the group shown in Fig. 9 illustrated configuration are omitted.
[0088] In Fig. 12, relationships are expressed by the following formulas (19) to (21). x(t2)=A⋅x(t1)+B{u−K⋅x(t1)}=(A−B⋅K)⋅x(t1)+B⋅u um=u−K⋅x(t1) xm(t2)=Am⋅xm(t1)+Bm⋅um=Am⋅xm(t1)+Bm{u−K⋅x(t1)}=[Am⋅xm(t1)−Bm⋅K⋅x(t1)]+Bm⋅u
[0089] The following formula (22) is determined under the assumption that the state space model of the drive shaft movement amount estimation unit 11 and the non-driven object movement amount estimation unit 12 can sufficiently approximate the target state space model of the drive shaft 31, a tool, and a workpiece. Consequently, the formula (21) is approximated as expressed by the following formula (23). {Am⋅xm(t1)−Bm⋅K⋅x(t1)}+Bm⋅u→[A⋅x(t1)−B⋅K⋅x(t1)]+B⋅u xm(t2→[A⋅x(t1)−B⋅K⋅x(t1)]+B⋅u(=x(t2)))
[0090] Even in the Fig. 11 and Fig. 12, which does not include the position feedback compensation unit 14 or the speed feedback compensation unit 15, the same effects as those achieved in the configuration of the numerical control device 10 with the position feedback compensation unit 14 and the speed feedback compensation unit 15 can still be achieved by using formulas (19) to (23).
[0091] In the present embodiment, the functional configuration was described using a linear state-space model. However, the present embodiment is not limited to this. A nonlinear state-space model may also be used.
[0092] As described above, in the first embodiment, the non-driven object movement amount estimation unit 12 estimates a movement amount of the non-driven object, that is, a displacement of a second object that is not an operation target for the drive shaft 31 in a three-dimensional space, using a state space model or the like. The correction amount calculation unit 13 calculates a correction amount to suppress the movement amount of the non-driven object using information including the movement amount of the non-driven object and a gain determined in advance by an optimal controller.Based on this calculation, even in a case where a tool vibrates when moving a workpiece, it is still possible to suppress vibrations in a direction other than the direction of movement of the drive shaft 31 without providing an additional drive shaft or a detector.
[0093] Specifically, the motion amount of a non-driven object includes at least one of the relative displacement of a tool with respect to the position of a workpiece, the relative speed of the tool with respect to the position of the workpiece, the relative acceleration of the tool with respect to the position of the workpiece, the change in the relative position of the tool with respect to the position of the workpiece, the speed of change in the relative position of the tool with respect to the position of the workpiece, and the acceleration of change in the relative position of the tool with respect to the position of the workpiece. This makes it possible to suppress relative vibrations between the workpiece and the tool.
[0094] A movement amount of a non-driven object is estimated by estimating a displacement of the non-driven object in a three-dimensional space in a direction different from the moving direction of the drive shaft 31. This makes it possible to suppress vibrations even in a case where a tool vibrates in a direction different from the moving direction of the drive shaft 31.
[0095] Furthermore, the non-driven object motion quantity estimation unit 12 is based on a state space model in which at least one of the drive position, drive speed, drive acceleration, and drive force instructed to the drive shaft 31 is used as a part of inputs, and at least one of the non-driven object's displacement, speed thereof, acceleration thereof, change in posture thereof, speed of change in posture thereof, and acceleration of change in posture thereof is used as a part of outputs or as a part of the internal state quantity. State space models of a plurality of motion quantities of the non-driven object can be maintained. This makes it possible to simultaneously estimate vibrations in multiple directions, such as angular momentum.To suppress vibrations in a direction that is the same as the direction of movement of the drive shaft 31 and vibrations in a direction other than the direction of movement of the drive shaft 31. Furthermore, it is possible to suppress vibrations of multiple objects.
[0096] The numerical control device 10 includes the motion amount estimation parameter input unit 52 and can therefore use a motion amount estimation parameter according to environmental changes, wear of a machine tool over time, differences between individual machine tools, or other factors. Consequently, it is possible to suppress vibrations generated depending on environmental changes, wear of a machine tool over time, differences between individual machine tools, or other factors.
[0097] In the present embodiment, the example in which a workpiece is moved while a tool is stationary was described. However, the present embodiment is not limited to this. The present embodiment is also applicable to a case in which a tool is moved while a workpiece is stationary. In the present embodiment, the example in which a workpiece is machined with a tool in the machine tool 1 was described. However, the present embodiment is not limited to this. The present embodiment is also applicable to a case in which assembly is performed by robot hands. Second embodiment.
[0098] Fig. 13 is a block diagram illustrating an example of a functional configuration of a numerical control device according to a second embodiment of the present invention. A first drive shaft 31a and a second drive shaft 31b are connected to a numerical control device 10a. A first encoder 32a, which detects a position and a speed of a driven target, is connected to the first drive shaft 31a. A second encoder 32b, which detects a position and a speed of a driven target, is connected to the second drive shaft 31b.
[0099] The numerical control device 10a includes the drive shaft movement amount estimation unit 11, that is, a first estimation unit for calculating an estimated movement amount of the first drive shaft 31a, the non-driven object movement amount estimation unit 12, that is, a second estimation unit for calculating an estimated movement amount of a second object relative to a movement of the first drive shaft 31a, the correction amount calculation unit 13 that calculates a correction amount for a first drive signal, a first position feedback compensation unit 14a that calculates a first position feedback compensation value, a first speed feedback compensation unit 15a that calculates a first speed feedback compensation value, and a first correction signal output unit 16a that calculates a first corrected drive signal.
[0100] The numerical control device 10a further includes a path calculation unit 17 for calculating a path of the first drive shaft 31a and a path of the second drive shaft 31b, a calculation unit 18 for a corrected movement amount of the first drive shaft, ie, a first calculation unit for calculating a corrected movement amount of the first drive shaft 31a, a calculation unit 19 for a corrected command position, ie,a second calculation unit for calculating a position on the path corresponding to a corrected command to the first drive shaft 31a, and calculating a position, a speed, and an acceleration of the second drive shaft 31b corresponding to the position on the path; a second position feedback compensation unit 14b that calculates a second position feedback compensation value; a second speed feedback compensation unit 15b that calculates a second speed feedback compensation value; and a second correction signal output unit 16b that calculates a second corrected drive signal.
[0101] Furthermore, the numerical control device 10a includes a first drive signal input unit 51a that receives a first drive signal for driving the first drive shaft 31a, a second drive signal input unit 51b that receives a second drive signal for driving the second drive shaft 31b, the movement amount estimation parameter input unit 52 that receives a parameter for representing a model used to estimate a movement amount of a first object to be moved by the first drive shaft 31a and a parameter for representing a model used to estimate a movement amount of the second non-driven object in relation to the movement of the first drive shaft 31a, and the feedback parameter input unit 53 that receives inputs of position and speed feedback parameters.
[0102] The drive shaft movement amount estimation unit 11 estimates a movement amount of the drive shaft, that is, a first movement amount of the first object, using a model. The model is determined in advance based on a parameter for representing a model used to estimate a displacement of the first drive shaft 31a, the parameter received from the movement amount estimation parameter input unit 52, a first drive signal received from the first drive signal input unit 51a, and a correction amount received from the correction amount calculation unit 13. In the second embodiment, examples of the movement amount of the drive shaft also include an estimated drive shaft position and an estimated drive shaft speed.The drive shaft movement amount estimation unit 11 sends the calculated estimated drive shaft position and estimated drive shaft speed to the correction amount calculation unit 13, sends the calculated estimated drive shaft position to the first position feedback compensation unit 14a, and sends the calculated estimated drive shaft speed to the first speed feedback compensation unit 15a.
[0103] The non-driven object movement amount estimation unit 12 estimates a movement amount of the non-driven object, that is, a second movement amount, using a model. The model is determined in advance based on a parameter for representing a model received from the movement amount estimation parameter input unit 52 and used to estimate a movement amount of a non-driven object, a first drive signal received from the first drive signal input unit 51a, and a correction amount received from the correction amount calculation unit 13. The non-driven object movement amount estimation unit 12 sends the calculated movement amount of the non-driven object to the correction amount calculation unit 13.
[0104] The correction amount calculation unit 13 calculates a correction amount for a drive signal according to a model determined in advance based on a drive shaft movement amount received from the drive shaft movement amount estimation unit 11 and a non-driven object movement amount received from the non-driven object movement amount estimation unit 12. The correction amount calculation unit 13 sends the calculated correction amount to the drive shaft movement amount estimation unit 11, the non-driven object movement amount estimation unit 12, the first correction signal output unit 16a, and the first drive shaft corrected movement amount calculation unit 18.When calculating the correction amount, a feedback gain is calculated in advance by optimal controller design based on the model of the estimation unit 12 for a movement amount of a non-driven object, to multiply the movement amount of the non-driven object by the calculated feedback gain. However, the present embodiment is not limited to this.
[0105] The first position feedback compensation unit 14a calculates a first position feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for position feedback compensation, an estimated drive shaft position received from the drive shaft movement amount estimation unit 11, and a first feedback position received from the first rotary encoder 32a. The first position feedback compensation unit 14a sends the calculated first position feedback compensation value to the first speed feedback compensation unit 15a.
[0106] The first speed feedback compensation unit 15a calculates a first speed feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for speed feedback compensation, an estimated drive shaft speed received from the drive shaft movement amount estimation unit 11, a first position feedback compensation value received from the first position feedback compensation unit 14a, and a first feedback speed received from the first rotary encoder 32a. The first speed feedback compensation unit 15a sends the calculated first speed feedback compensation value to the first correction signal output unit 16a.
[0107] The first correction signal output unit 16a calculates a first corrected drive signal based on a first drive signal received from the first drive signal input unit 51a, a correction amount received from the correction amount calculation unit 13, and a first speed feedback compensation value received from the first speed feedback compensation unit 15a. The first correction signal output unit 16a sends the calculated first corrected drive signal to the drive unit that drives the first drive shaft 31a.
[0108] The path calculation unit 17 calculates a path of the first drive shaft 31a and a path of the second drive shaft 31b according to a model determined in advance based on the first drive signal to the first drive shaft 31a received from the first drive signal input unit 51a and the second drive signal to the second drive shaft 31b received from the second drive signal input unit 51b. The path calculation unit 17 sends the calculated paths to the corrected command position calculation unit 19.
[0109] The first drive shaft corrected movement amount calculation unit 18 calculates a corrected movement amount of the first drive shaft 31a according to a model determined in advance based on the first drive signal to the first drive shaft 31a received from the first drive signal input unit 51a and a correction amount received from the correction amount calculation unit 13. The first drive shaft corrected movement amount calculation unit 18 sends the calculated corrected movement amount of the first drive shaft 31a to the command position corrected calculation unit 19.
[0110] The corrected command position calculation unit 19 calculates a position on the path corresponding to a corrected command to the first drive shaft 31a according to a model determined in advance based on a path of the first drive shaft 31a and a path of the second drive shaft 31b, each received from the path calculation unit 17, and a corrected movement amount of the first drive shaft 31a received from the corrected movement amount calculation unit 18. The corrected command position calculation unit 19 further calculates a position, a velocity, and an acceleration of the second drive shaft 31b corresponding to the position on the path.The corrected command position calculation unit 19 sends the position of the second drive shaft 31b corresponding to the position on the path to the second position feedback compensation unit 14b, sends the speed of the second drive shaft 31b corresponding to the position on the path to the second speed feedback compensation unit 15b, and sends the acceleration of the second drive shaft 31b corresponding to the position on the path to the second correction signal output unit 16b.
[0111] The second position feedback compensation unit 14b calculates a second position feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for position feedback compensation, a position of the second drive shaft 31b on the path received from the corrected command position calculation unit 19, and a second feedback position received from the second encoder 32b. The second position feedback compensation unit 14b sends the calculated second position feedback compensation value to the second speed feedback compensation unit 15b.
[0112] The second speed feedback compensation unit 15b calculates a second speed feedback compensation value according to a model determined in advance based on a parameter received from the feedback parameter input unit 53 and used for speed feedback compensation, a speed of the second drive shaft 31b on the way received from the corrected command position calculation unit 19, a second position feedback compensation value received from the second position feedback compensation unit 14b, and a second feedback speed received from the second encoder 32b. The second speed feedback compensation unit 15b sends the calculated second speed feedback compensation value to the second correction signal output unit 16b.
[0113] The second correction signal output unit 16b calculates a second corrected drive signal based on an acceleration of the second drive shaft 31b corresponding to the position on the path received from the corrected command position calculation unit 19 and a second speed feedback compensation value received from the second speed feedback compensation unit 15b. The second correction signal output unit 16b sends the calculated second corrected drive signal to the drive unit that drives the second drive shaft 31b.
[0114] The first drive signal input unit 51a receives an input of a first drive signal to the first drive shaft 31a and sends the first drive signal to the drive shaft movement amount estimation unit 11, the non-driven object movement amount estimation unit 12, the first correction signal output unit 16a, the path calculation unit 17, and the first drive shaft corrected movement amount calculation unit 18.
[0115] The second drive signal input unit 51b receives an input of a drive signal to the second drive shaft 31b and sends the second drive signal to the path calculation unit 17.
[0116] The motion amount estimation parameter input unit 52 receives an input of an estimation parameter for a motion amount of a non-driven object, which represents a model used to estimate a motion amount of the non-driven object. The motion amount estimation parameter input unit 52 sends the estimation parameter for a motion amount of a non-driven object to the motion amount estimation unit 12. Furthermore, the motion amount estimation parameter input unit 52 may receive the estimation parameter for a drive shaft motion amount, which represents a model used to estimate a drive shaft motion amount, and send the estimation parameter for a drive shaft motion amount to the drive shaft motion amount estimation unit 11.
[0117] The feedback parameter input unit 53 receives an input of a first position compensation parameter used for position feedback compensation for the first drive shaft 31a, an input of a first speed compensation parameter used for speed feedback compensation for the first drive shaft 31a, an input of a second position compensation parameter used for position feedback compensation for the second drive shaft 31b, and an input of a second speed compensation parameter used for speed feedback compensation for the second drive shaft 31b.The feedback parameter input unit 53 sends the first position compensation parameter to the first position feedback compensation unit 14a, sends the first speed compensation parameter to the first speed feedback compensation unit 15a, sends the second position compensation parameter to the second position feedback compensation unit 14b, and sends the second speed compensation parameter to the second speed feedback compensation unit 15b.
[0118] The first drive shaft 31a receives a first corrected drive signal from the first correction signal output unit 16a, and the second drive shaft 31b receives a second corrected drive signal from the second correction signal output unit 16b. The first and second drive shafts 31a and 31b then drive the workpiece 3 or the tool 5. The first drive shaft 31a sends a movement or rotation of the first drive shaft 31a to the first encoder 32a, and the second drive shaft 31b sends a movement or rotation of the second drive shaft 31b to the second encoder 32b.
[0119] The first rotary encoder 32a obtains a first feedback position and a first feedback speed of the first drive shaft 31a based on a displacement generated between a movable portion and a fixed portion (both are not illustrated) within the first rotary encoder 32a when the first drive shaft 31a is driven. The first rotary encoder 32a sends the first feedback position to the first position feedback compensation unit 14a and sends the first feedback speed to the first speed feedback compensation unit 15a.
[0120] In the same manner as the first encoder 32a, the second encoder 32b receives a second feedback position and a second feedback speed of the second drive shaft 31b, sends the second feedback position to the second position feedback compensation unit 14b, and sends the second feedback speed to the second speed feedback compensation unit 15b.
[0121] The further detailed functional configurations of the drive shaft movement amount estimation unit 11 and the non-driven object movement amount estimation unit 12 are respectively the same as those shown in the Fig. 3 and Fig. 4 in the first task. However, in the second embodiment, the drive shaft state quantity addition unit 111 in the drive shaft movement quantity estimation unit 11 receives a first drive signal from the first drive signal input unit 51a. The drive shaft position extraction unit 114 in the drive shaft movement quantity estimation unit 11 sends an estimated drive shaft position to the first position feedback compensation unit 14a. The drive shaft speed extraction unit 115 in the drive shaft movement quantity estimation unit 11 sends an estimated drive shaft speed to the first speed feedback compensation unit 15a.
[0122] In the second embodiment, the non-driven object state quantity addition unit 121 in the non-driven object movement quantity estimation unit 12 receives a first drive signal from the first drive signal input unit 51a.
[0123] Next, vibration suppression processing in the numerical control device according to the second embodiment will be described. Fig. Fig. 14 is a flowchart illustrating an example of a vibration suppression processing sequence performed by the numerical control device according to the second embodiment of the present invention. Here, a description will be given of a processing sequence in the functional configuration of the numerical control device 10a in Fig. 13 listed.
[0124] First, in steps S201 to S204, the same processes are carried out as in steps S101 to S104 in Fig. 5 in the first embodiment. That is, the drive shaft movement amount estimation unit 11 and the non-driven object movement amount estimation unit 12 receive the drive shaft movement amount estimation parameter and the non-driven object movement amount estimation parameter, respectively, from the movement amount estimation parameter input unit 52. The first position feedback compensation unit 14a and the second position feedback compensation unit 14b receive a position compensation parameter from the feedback parameter input unit 53. The first speed feedback compensation unit 15a and the second speed feedback compensation unit 15b receive 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. Subsequently, the drive shaft movement amount estimation unit 11 sends an initial drive shaft movement amount to the correction amount calculation unit 13. The non-driven object movement amount estimation unit 12 sends an initial non-driven object movement amount to the correction amount calculation unit 13.
[0125] Next, in step S205, it is checked whether there is a first drive signal input to the first drive signal input unit 51a. If there is no first drive signal input to the first drive signal input unit 51a, that is, if step S205 is NO, the entire processing is terminated.
[0126] On the other hand, when there is a first drive signal input to the first drive signal input unit 51a, that is, in the case of YES at step S205, the correction amount calculation unit 13 calculates a correction amount based on the movement amount of the drive shaft and the movement amount of the non-driven object at step S206.
[0127] Subsequently, in step S207, the drive shaft movement amount estimation unit 11 estimates an estimated drive shaft position and an estimated drive shaft speed based on the first drive signal received from the first drive signal input unit 51a and the correction amount calculated in step S206. In step S208, the non-driven object movement amount estimation unit 12 estimates a non-driven object movement amount based on the first drive signal and the correction amount.
[0128] Next, at step S209, the drive shaft movement amount estimation unit 11 sends the estimated drive shaft position to the first position feedback compensation unit 14a and sends the estimated drive shaft speed to the first speed feedback compensation unit 15a. At step S210, the drive shaft movement amount estimation unit 11 sends the estimated drive shaft position and the estimated drive shaft speed to the correction amount calculation unit 13. Further, at step S211, the non-driven object movement amount estimation unit 12 sends the estimated movement amount of the non-driven object to the correction amount calculation unit 13. These estimated drive shaft position, estimated drive shaft speed, and estimated movement amount of the non-driven object are used when the next drive signal is input.
[0129] Next, in step S212, the first rotary encoder 32a receives first feedback information from the first drive shaft 31a. The first feedback information includes a first feedback position and a first feedback speed. Then, in step S213, the first rotary encoder 32a sends 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. In this example, the first rotary encoder 32a sends the first feedback position to the first position feedback compensation unit 14a and sends the first feedback speed to the first speed feedback compensation unit 15a.
[0130] Subsequently, in step S214, the first position feedback compensation unit 14a calculates a first position feedback compensation value based on the estimated drive shaft position received in step S209, the first feedback position received in step S213, and the first position compensation parameter received in step S202. The first position feedback compensation unit 14a then sends the calculated first position feedback compensation value to the first speed feedback compensation unit 15a.
[0131] Next, in step S215, the first speed feedback compensation unit 15a calculates a first speed feedback compensation value based on the estimated drive shaft speed received in step S209, the first feedback speed received in step S213, the first position feedback compensation value received in step S214, and the first speed compensation parameter received in step S202. The first speed feedback compensation unit 15a then sends the calculated first speed feedback compensation value to the first correction signal output unit 16a.
[0132] Subsequently, the first correction signal output unit 16a calculates a first corrected drive signal by subtracting the correction amount calculated by the correction amount calculation unit 13 from the first drive signal received from the first drive signal input unit 51a, and further adding the first speed feedback compensation value calculated by the first speed feedback compensation unit 15a to the subtraction result. At step S216, the first correction signal output unit 16a sends the first corrected drive signal to the first drive shaft 31a.
[0133] Next, at step S217, the travel calculation unit 17 calculates a travel of the first drive shaft 31a and a travel of the second drive shaft 31b according to an original command. The original command is a drive signal that is not corrected. In this example, the original command includes a first drive signal to the first drive shaft 31a received from the first drive signal input unit 51a and a second drive signal to the second drive shaft 31b received from the second drive signal input unit 51b.
[0134] Thereafter, at step S218, the first drive shaft corrected movement amount calculation unit 18 receives a first drive signal to the first drive shaft 31a from the first drive signal input unit 51a and receives a correction amount from the correction amount calculation unit 13 to calculate a corrected movement amount of the first drive shaft 31a.
[0135] Subsequently, the corrected command position calculation unit 19 receives the travel of the first drive shaft 31a and the travel of the second drive shaft 31b from the travel calculation unit 17 and receives the corrected movement amount of the first drive shaft 31a from the corrected movement amount calculation unit 18. In step S219, the corrected command position calculation unit 19 calculates a corrected command position, that is, a point on the path corresponding to the corrected movement amount of the first drive shaft 31a, based on this information. Further, in step S220, 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.
[0136] Next, at step S221, the second encoder 32b obtains second feedback information of the second drive shaft 31b. The second feedback information includes a second feedback position and a second feedback speed of the second drive shaft 31b. Then, at step S222, the second encoder 32b sends the second feedback information of the second drive shaft 31b to the second position feedback compensating unit 14b and the second speed feedback compensating unit 15b. In this example, the second encoder 32b sends the second feedback position to the second position feedback compensating unit 14b and sends the second feedback speed to the second speed feedback compensating unit 15b.
[0137] Subsequently, in step S223, the second position feedback compensation unit 14b calculates a second position feedback compensation value based on the corrected position of the second drive shaft 31b calculated in step S220, the second feedback position received in step S222, and the second position compensation parameter received in step S202. The second position feedback compensation unit 14b then sends the calculated second position feedback compensation value to the second speed feedback compensation unit 15b.
[0138] Next, at step S224, the second speed feedback compensation unit 15b calculates a second speed parameter compensation value based on the corrected speed of the second drive shaft 31b calculated at step S220, the second feedback speed received at step S222, the second position feedback compensation value calculated at step S223, and the second speed compensation parameter received at step S202. The second speed feedback compensation unit 15b then sends the calculated second speed feedback compensation value to the second correction signal output unit 16b.
[0139] Next, the second correction signal output unit 16b calculates a second corrected drive signal by adding the second speed feedback compensation value to the corrected acceleration of the second drive shaft 31b calculated at step S220, and sends the calculated second corrected drive signal to the second drive shaft 31b. Thereafter, the process returns to step S205 to repeat the processes of steps S206 to S225 during a period for which a first drive signal is input.
[0140] The detailed processing in the estimation unit 11 for a motion quantity of a drive shaft is the same as that shown in the flowchart in Fig. 6 in the first embodiment. The detailed processing in the estimation unit 12 for a movement amount of a non-driven object is the same as that shown in the flowchart in Fig. 7 in the first embodiment.
[0141] As described above, in the second embodiment, in a case where a first drive signal to the first drive shaft 31a is corrected to suppress vibration, the numerical control device 10a corrects a command to the second drive shaft 31b so that the first drive shaft 31a and the second drive shaft 31b remain on their respective paths formed according to the original command, that is, the first drive signal and the second drive signal to the second drive shaft 31b. Due to this correction, while maintaining the vibration suppression effects, the numerical control device 10a achieves effects capable of converting the paths formed by the first drive shaft 31a and the second drive shaft 31b according to the original command.
[0142] In the above descriptions, a command to the second drive shaft 31b is corrected in accordance with the first drive shaft 31a. However, the present embodiment is not limited to this. In a case where additional drive shafts, such as a third drive shaft and a fourth drive shaft, are provided in the machine tool 1 including a plurality of drive shafts 31, it is also possible to correct commands to the third drive shaft and the fourth drive shaft in accordance with the first drive shaft 31a.
[0143] In the present embodiment, the example in which a workpiece is machined with a tool in the machine tool 1 was described. However, the present embodiment is not limited to this. The present embodiment is also applicable to a case in which assembly is performed by robot hands.
[0144] Fig. 15 is a diagram illustrating an example of a hardware configuration of the numerical control devices according to the first and second embodiments when the functions of each of the numerical control devices are implemented by a computer. Each of the numerical control devices 10 and 10a includes a computing device 71 that performs computational processing, such as a CPU (Central Processing Unit), a memory 72 used as a work area for the computing device 71, a storage device 73 in which software such as a machining program is stored, an input device 74, an input interface between the computer and a user, a display device 75 that displays information to a user, and a communication device 76 having a function of communicating with the machine tool 1.
[0145] Functions of the drive shaft movement amount estimation unit 11, the non-driven object movement amount estimation unit 12, the correction amount calculation unit 13, the position feedback compensation unit 14, the first position feedback compensation unit 14a, the second position feedback compensation unit 14b, the speed feedback compensation unit 15, the first speed feedback compensation unit 15a, the second speed feedback compensation unit 15b, the correction signal output unit 16, the first correction signal output unit 16a, the second correction signal output unit 16b, the path calculation unit 17, the first drive shaft corrected movement amount calculation unit 18, and the corrected command position calculation unit 19, which are in Fig. 2 and Fig.13 are implemented by software, firmware, or a combination of the software and firmware. The software or firmware is described as a program and stored in the memory 72. The computing device 71 reads and executes the program stored in the memory 72 to thereby implement the function of each unit. The memory 72 corresponds to a non-volatile or volatile semiconductor memory, such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, or an EEPROM (Electrically Erasable Programmable ROM), a magnetic disk, a floppy disk, an optical disk, a compact disk, or a DVD (Digital Versatile Disk).
[0146] The configurations described in the above embodiments are merely examples of the content of the present invention. These configurations may be combined with other well-known techniques, and a portion of each configuration may be omitted or modified without departing from the scope of the present invention. List of reference symbols 1 machine tool, 2 beds, 3 workpiece, 4 workpiece table, 5 tools, 6 heads, 7th pillar, 10, 10a numerical control device, 11 Estimation unit for a motion quantity of a drive shaft, 12 Estimation unit for a motion quantity of a non-driven object, 13 Correction quantity calculation unit, 14 Position feedback compensation unit, 14a first position feedback compensation unit, 14b second position feedback compensation unit, 15 Speed feedback compensation unit, 15a first speed feedback compensation unit, 15b second speed feedback compensation unit, 16 Correction signal output unit, 16a first correction signal output unit, 16b second correction signal output unit, 17 route calculation unit, 18 Calculation unit for a corrected movement quantity of the first drive shaft, 19 Calculation unit for a corrected command position, 31 drive shaft, 31a first drive shaft, 31b second drive shaft, 32 encoders, 32a first encoder, 32b second encoder, 51 drive signal input unit, 51a first drive signal input unit, 51b second drive signal input unit, 52 Movement size estimation parameter input unit, 53 Feedback parameter input unit, 111 Drive shaft state variable addition unit, 112 Drive shaft state quantity update unit, 113 Drive shaft state quantity holding unit, 114 Drive shaft position extraction unit, 115 Drive shaft speed extraction unit, 121 State variable addition unit for a non-driven object, 122 State variable update unit for a non-driven object, 123 State variable holding unit for a non-driven object.
Claims
[1] (Current version) Numerical control device (10, 10a), comprising: a first estimation unit (11) for estimating a first movement amount of a first object, ie a target to be moved by a first drive shaft (31, 31a), using a first drive signal; a second estimation unit (12) for estimating a second movement amount from movement amounts of a second object in a three-dimensional space generated due to a driving force of the first drive shaft (31, 31a) using the first drive signal, wherein the second movement amount is a movement amount in a direction other than a movement direction of the first drive shaft (31, 31a); a correction quantity calculation unit (13) for calculating a correction quantity for the first drive signal based on the first movement quantity and the second movement quantity; and a first correction signal output unit (16, 16a) for outputting a first corrected drive signal obtained by correcting the first drive signal by the correction amount to a drive unit for driving the first drive shaft (31, 31a). [2] (Current version) Numerical control device (10, 10a) according to claim 1, wherein the first motion quantity includes at least one of a position of the first object, a displacement thereof, a speed thereof, an acceleration thereof, a posture thereof, a change in posture thereof, a speed of change in posture thereof, and an acceleration of change in posture thereof, and the second movement quantity includes at least one of a displacement of the second object, a speed thereof, an acceleration thereof, a change in position thereof, a speed of change in position thereof, and an acceleration of change in position thereof in a three-dimensional space in a direction other than a moving direction of the first drive shaft (31, 31a). [3] (Current version) Numerical control device (10, 10a) according to claim 1, wherein the first motion quantity includes at least one of a position of the first object, a displacement thereof, a speed thereof, an acceleration thereof, a posture thereof, a change in posture thereof, a speed of change in posture thereof, and an acceleration of change in posture thereof, and the second movement quantity includes at least one of a relative displacement, a relative speed, a relative acceleration, a change in position, a speed of change in relative position and an acceleration of change in relative position, wherein with respect to each of the positions of the first object and the second object, the relative displacement is one of displacements of a relative position, iethe other position, one being a displacement in a direction other than a direction of movement of the first object, the relative velocity is one of velocities of the relative position, one being a velocity in a direction other than a direction of movement of the first object, and the relative acceleration is one of accelerations of the relative position, one being an acceleration in a direction other than a direction of movement of the first object, and wherein, with respect to each of the positions of the first object and the second object, the change in position is one of changes in the relative position, iethe other position, one being a change in position about a central axis in a direction other than a rotational center axis of the first object, the speed of change in the relative position is one of speeds of change in the position in the relative position, one being a speed of change in the position about a central axis in a direction other than a rotational center axis of the first object, and the acceleration of change in the relative position is one of accelerations of change in the position in the relative position, one being an acceleration of change in the position about a central axis in a direction other than a rotational center axis of the first object. [4] (Current version) The numerical control device (10, 10a) according to claim 1, 2 or 3, wherein the second estimation unit (12) is a state space model in which at least one of a position of the first drive shaft (31, 31a), a speed thereof, an acceleration thereof and a driving force thereof is used as a part of inputs and the second movement quantity is used as a part of outputs or as a part of internal state quantities. [5] (Current version) The numerical control device (10, 10a) according to any one of claims 1 to 4, further comprising a movement amount estimation parameter input unit (52) for receiving an input of a second movement amount estimation parameter representing a model used for estimating the second movement amount by the second estimation unit (12). [6] (Current version) Numerical control device (10a) according to one of claims 1 to 5, further comprising: a path calculation unit (17) for calculating a path of the first drive shaft (31a) and a path of a second drive shaft (31b) based on the first drive signal and a second drive signal to the second drive shaft (31b); a first calculation unit (18) for calculating a corrected movement amount of the first drive shaft (31a) based on the first drive signal and the correction amount; a second calculation unit (19) for calculating a movement amount of the second drive shaft (31b) at a position on the path corresponding to the corrected movement amount of the first drive shaft (31a); and a second correction signal output unit (16b) for outputting a second corrected drive signal to a drive unit to drive the second drive shaft (31b) according to the movement amount of the second drive shaft (31b).
Citation Information
Patent Citations
MACHINE MOVING TRACK MEASURING DEVICE, NUMERICALLY CONTROLLED MACHINE TOOL AND MACHINE MOVING TRACK MEASURING METHOD
DE112009003699T5
Control method and apparatus of linear motor
JP2002165474A
JP002002165474A