Control device and control method

By introducing virtual stickiness into the control device of the dual drive mechanism and adjusting the control model to control it based on the center center of gravity position, the problem of accuracy reduction caused by interference force in the dual drive mechanism is solved, and higher driving accuracy is achieved.

JP2025048802APending Publication Date: 2025-04-03THE UNIV OF TOKYO +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024162117
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-21
Filing Date
2024-09-19
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

When driving large objects, it is difficult to effectively reduce the interference force generated in the dual-drive mechanism, resulting in a decrease in processing accuracy.

Method used

By introducing virtual stickiness into the control device, the control model of the dual drive mechanism is adjusted so that it is controlled based on the center center of gravity position, thereby reducing the interference force between the driving shafts.

Benefits of technology

The driving accuracy of the dual drive mechanism is improved, and vibration and error caused by interference forces are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025048802000001_ABST
    Figure 2025048802000001_ABST
Patent Text Reader

Abstract

To provide a technique for improving accuracy in driving a twin drive mechanism more than before.SOLUTION: In a control device, a driving mechanism comprises first and second motors, and an object to be driven that is driven in the same direction by simultaneously driving the first and second motors. The control device comprises: a first control part that receives input of a position of the center of gravity based on angles of the first and second motors and input of a target position with respect to the position of the center of gravity, and generates a current command value relating to a translation direction with the position of the center of gravity as a reference and a current command value relating to a rotation direction with the position of the center of gravity as the reference; a converting part that converts the current command value relating to the translation direction and the current command value relating to the rotation direction to first and second current command values for the first and second motors, on the basis of a predetermined conversion matrix; and a second control part that corrects errors caused by the conversion by the converting part and then outputs the first current command value and the second current command value to the first and second motors respectively.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a control device and a control method. [Background technology]

[0002] In recent years, machine tools have become larger. Accordingly, the objects to be driven within the machine tools have also become larger. A twin drive mechanism is a mechanism for driving large objects. A twin drive mechanism is a mechanism that drives an object in the same direction using two motors.

[0003] In a twin drive mechanism, an interference force acts between the drive shafts of each motor. This interference force causes a decrease in machining accuracy. As a means for solving this problem, Non-Patent Document 1 discloses a method for eliminating interference between the drive shafts by separating the control model of the drive mechanism into the translation direction and the rotation direction. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] R. Nakashima, S. Kaku, H. Honda, R. Oguro, H. Miyakawa, T. Tsuji: "The Position Control for Linear Slider with Twin Linear Drives", IEEJ Transactions on Industry Applications, Vol.123, No.3, pp.278-285 (2003) Summary of the Invention [Problem to be solved by the invention]

[0005] The method disclosed in Non-Patent Document 1 targets a twin-drive linear slider. In addition, in this method, modeling is performed in which the weight of the slider is the inertia of the equation of motion in the translational direction, and the inertia of the slider is the inertia of the equation of motion in the rotational direction. This is based on an approximation that assumes the slider is a rigid body. On the other hand, in the drive control of a large object, the elasticity of the twin-drive mechanism affects the drive accuracy.

[0006] The present disclosure has been made to solve the problems described above, and an object of one aspect is to provide a technique for improving the drive accuracy of a twin drive mechanism compared to conventional techniques. [Means for solving the problem]

[0007] In one example of the present disclosure, a control device for a drive mechanism is provided. The drive mechanism includes a first motor, a second motor, and a drive target driven in the same direction by simultaneous driving of the first motor and the second motor. The control device includes a first control unit that receives an input of a center of gravity position based on an angle of the first motor and an angle of the second motor, and an input of a target position for the center of gravity position, and generates a current command value related to a translation direction with the center of gravity position as a reference and a current command value related to a rotation direction with the center of gravity position as a reference, a conversion unit that converts the current command value related to the translation direction and the current command value related to the rotation direction into a first current command value for the first motor and a second current command value for the second motor based on a predetermined conversion matrix, and a second control unit that corrects an error associated with the conversion by the conversion unit and outputs the first current command value and the second current command value to the first motor and the second motor, respectively.

[0008] In one example of the present disclosure, the current command value for the translation direction is generated so that the center of gravity position approaches the target position, and the current command value for the rotation direction is generated so that a difference value between an angle of the first motor and an angle of the second motor approaches zero.

[0009] In one example of the present disclosure, the process of correcting the error includes a process of adding a first predetermined value proportional to the angular velocity of the first motor to the first current command value before correction, and a process of adding a second predetermined value proportional to the angular velocity of the second motor to the second current command value before correction.

[0010] In one example of the present disclosure, the first predetermined value corresponds to a value obtained by multiplying the angular velocity of the first motor by a first coefficient. The second predetermined value corresponds to a value obtained by multiplying the angular velocity of the second motor by a second coefficient. The first coefficient and the second coefficient are determined so that a ratio between the inertia of the first motor and the inertia of the second motor is equal to a ratio between a viscosity coefficient of the first motor and the viscosity coefficient of the second motor.

[0011] In one example of the present disclosure, the second control unit further executes a process of calculating a first angle of the first motor resulting from outputting the corrected first current command value to the first motor, a process of calculating a second angle of the second motor resulting from outputting the corrected second current command value to the second motor, a process of calculating the center of gravity position based on the calculated first angle, the calculated second angle, a first inertia of the first motor, and a second inertia of the second motor, and a process of feeding back the calculated center of gravity position to the first control unit.

[0012] In one example of the present disclosure, the first control unit generates a current command value related to the rotation direction by multiplying a difference value between the calculated first angle and the calculated second angle by a predetermined proportional gain.

[0013] In another example of the present disclosure, there is provided a machine tool including the control device and the drive mechanism.

[0014] In one example of the present disclosure, the driven object is a spindle for rotatably holding a workpiece or a tool.

[0015] In one example of the present disclosure, the driven object is a table on which a workpiece is placed.

[0016] In one example of the present disclosure, the driven object is a loader for transporting a member.

[0017] In another example of the present disclosure, a control method for a drive mechanism is provided. The drive mechanism includes a first motor, a second motor, and a drive target driven in the same direction by simultaneous driving of the first motor and the second motor. The control method includes the steps of: receiving an input of a center-of-gravity position based on an angle of the first motor and an angle of the second motor, and an input of a target position for the center-of-gravity position, generating a current command value for a translation direction with the center-of-gravity position as a reference, and a current command value for a rotation direction with the center-of-gravity position as a reference, converting the current command value for the translation direction and the current command value for the rotation direction into a first current command value for the first motor and a second current command value for the second motor based on a predetermined conversion matrix, and outputting the first current command value and the second current command value to the first motor and the second motor, respectively, after correcting an error associated with the converting step.

[0018] The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the invention taken in conjunction with the accompanying drawings. [Brief description of the drawings]

[0019] [Figure 1] FIG. 1 is a diagram illustrating an example of the appearance of a machine tool. [Diagram 2] FIG. 1 is a diagram showing an example of a twin drive mechanism installed in a machine tool. [Diagram 3] FIG. 2 is a diagram illustrating an example of a configuration of a control device. [Figure 4] An example of each constant is given below. [Diagram 5] FIG. 1 is a diagram illustrating an example of a device configuration of a machine tool. [Figure 6]It is a diagram showing another example of the device configuration of a machine tool. [Figure 7] It is a diagram showing still another example of the device configuration of a machine tool. [Figure 8] It is a diagram showing an example of the hardware configuration of a CNC (Computer Numerical Control) device. [Figure 9] It is a flowchart showing the flow of control processing of a twin drive mechanism. [Figure 10] It is a diagram showing the configuration of a control device according to a first comparative example. [Figure 11] It is a diagram showing the configuration of a control device according to a second comparative example. [Figure 12] It is a diagram showing the configuration of a control device according to a third comparative example. [Figure 13] It is a diagram showing the position trajectory used in the evaluation experiment. [Figure 14] It is a diagram showing the angular velocity trajectory used in the evaluation experiment. [Figure 15] It is a diagram showing the experimental results when the said position trajectory and the said angular velocity trajectory are used as respective inputs of the control device. [Figure 16] It is a diagram showing a configuration example of a control device according to a modified example.

Embodiments for Carrying Out the Invention

[0020] Hereinafter, each embodiment according to the present invention will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. In addition, each embodiment and each modified example described below may be selectively combined as appropriate.

[0021] <A. Machine Tool 100> First, with reference to FIG. 1, the machine tool 100 according to the embodiment will be described. FIG. 1 is a diagram showing an example of the appearance of the machine tool 100.

[0022] As used in this specification, the "machine tool" is a concept encompassing various devices having a function of processing workpieces. The machine tool 100 may be a horizontal machining center or a vertical machining center. Alternatively, the machine tool 100 may be a lathe, or other cutting machines, grinding machines, multi-tasking machines, 5-axis machining centers, etc. Further, the machine tool 100 is not limited to performing only removal machining, and may perform additional machining in addition to removal machining.

[0023] The machine tool 100 includes, for example, a cover body 190 and an operation panel 200.

[0024] The cover body 190, also called a splash guard, forms the exterior of the machine tool 100 and partitions the machining area of the workpiece. Further, the cover body 190 is provided with a door DR communicating with the machining area. The door DR is, for example, a sliding door. The door DR may be configured to be openable and closable by a drive source such as a motor, or may be configured to be manually openable and closable.

[0025] The operation panel 200 is a general-purpose computer and has a display for displaying various information related to machining. The display is, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, or other display device. Further, the display is provided with a touch panel and accepts various operations on the machine tool 100 by touch operation.

[0026] <B. Twin Drive Mechanism> Next, with reference to FIG. 2, the twin drive mechanism will be described. FIG. 2 is a diagram showing an example of the twin drive mechanism 130 mounted on the machine tool 100.

[0027] The twin drive mechanism 130 is a mechanism that drives one driven object 150 in the same direction with two motors. As an example, the twin drive mechanism 130 is composed of motors 132L, 132R and ball screws 134L, 134R.

[0028] The twin drive mechanism 130 is controlled by a control device 50. The control device 50 will be described in detail later.

[0029] 2 shows a table 156 as an example of an object 150 to be driven by the twin drive mechanism 130. A workpiece to be machined by the machine tool 100 is placed on the table 156.

[0030] For ease of explanation, the translation direction of the driven object 150 is also referred to as the "X-axis direction" below. In the example of FIG. 2, the X-axis direction corresponds to one direction on a horizontal plane. In addition, the direction perpendicular to the X-axis direction is also referred to as the "Y-axis direction". In the example of FIG. 2, the Y-axis direction corresponds to one direction on a horizontal plane. In addition, the direction perpendicular to both the X-axis direction and the Y-axis direction is referred to as the "Z-axis direction". In the example of FIG. 2, the Z-axis direction is a direction parallel to the direction of gravity.

[0031] The motor 132L is connected to a ball screw 134L. The ball screw 134L is a mechanism for converting the rotational motion of the motor 132L into linear motion. The ball screw 134L is provided along the driving direction of the table 156 (i.e., the X-axis direction).

[0032] The motor 132R is connected to a ball screw 134R. The ball screw 134R is a mechanism for converting the rotational motion of the motor 132R into linear motion. The ball screw 134R is provided along the driving direction of the table 156 (i.e., the X-axis direction). In other words, the ball screw 134R is disposed so as to be parallel to the ball screw 134L.

[0033] More specifically, the ball screw 134L is composed of a screw shaft and a nut screwed onto the screw shaft. When the motor 132L rotates the screw shaft of the ball screw 134L, the balls between the nut and the screw shaft roll, and the nut slides linearly along the screw shaft.

[0034] Similarly, the ball screw 134R is composed of a screw shaft and a nut that is screwed onto the screw shaft. The screw shaft of the ball screw 134R is arranged to be parallel to the screw shaft of the ball screw 134L. When the motor 132R rotates the screw shaft of the ball screw 134R, the balls between the nut and the screw shaft roll, and the nut slides linearly along the screw shaft.

[0035] The table 156 is fixed to the nut of the ball screw 134L and the nut of the ball screw 134R. The machine tool 100 linearly drives the table 156 in the X-axis direction by simultaneously driving the motors 132L and 132R.

[0036] <C. Problems of the Twin Drive Mechanism> Continuing to refer to FIG. 2, the problems of the twin drive mechanism 130 will be described.

[0037] As shown in FIG. 2, in the twin drive mechanism 130, two motors 132L and 132R drive one table 156. At this time, if a difference occurs in the rotational speeds of the motors 132L and 132R, torsion occurs around the axis AX. The axis AX is an axis on the table parallel to the Z-axis. Thus, in the twin drive mechanism 130, the drives of the motors 132L and 132R affect each other, and interference forces such as torsion are generated on the table 156. The interference force also causes vibration. As a result, the machining accuracy of the workpiece decreases.

[0038] <D. Principle Explanation> Therefore, the control device 50 according to the embodiment controls the twin drive mechanism 130 by a control model that suppresses the interference force between the motors 132L and 132R. Specifically, the control device 50 is not a control model based on the two drive shafts of the motors 132L and 132R (hereinafter also referred to as the "control model of the two-axis coordinate system"), but a control model based on the center-of-gravity position according to the rotation angles of the motors 132L and 132R (hereinafter also referred to as the "control model of the center-of-gravity coordinate system"). Based on this, the twin drive mechanism 130 is controlled.

[0039] Here, in order to convert the control model of the two-axis coordinate system into the control model of the center of gravity coordinate system, the ratio of the viscous friction of the two drive shafts needs to be equal to the inertia ratio. However, this is not generally true. Therefore, the inventors established the control model of the center of gravity coordinate system by imparting virtual viscous friction (hereinafter also referred to as "virtual viscosity") to the current command value of each motor so that the ratio of the viscous friction becomes equal to the inertia ratio.

[0040] Fig. 3 is a diagram showing an example of the configuration of the control device 50. As shown in Fig. 3, the control device 50 is composed of a control unit 51A having a control model of a center of gravity coordinate system, and a control unit 51B that adds virtual viscosity to control the motors 132L and 132R.

[0041] As shown in FIG. 3, the control unit 51B receives a current command value “i′ L A virtual viscosity adding unit 78 adds a current command value according to the virtual viscosity to the current command value "i' R A virtual viscosity adding unit 88 is provided for adding a current command value according to the virtual viscosity to the virtual viscosity. This establishes a control model of the center of gravity coordinate system implemented in the control unit 51A.

[0042] It should be noted that the "current command value" used in this specification may be any parameter that correlates with the magnitude of the current, or may be the current itself.

[0043] The reason why it is necessary to take virtual viscosity into consideration in order to establish a control model in the center of gravity coordinate system will be explained below.

[0044] The control model in a two-axis coordinate system that takes into account elasticity and inertia is expressed by the following equations of motion (1a) and (1b).

[0045] [Formula (1a)] JPEG2025048802000002.jpg25170

[0046] [Formula (1b)] JPEG2025048802000003.jpg26170 "i' R " indicates a current command value distributed to the motor 132R. L " indicates a current command value distributed to the motor 132L. R " indicates the inertia of the motor 132R. L " indicates the inertia of the motor 132L. "D R " indicates the viscosity coefficient of the motor 132R. "D L " indicates the viscosity coefficient of the motor 132L. "K" indicates the elasticity coefficient. "K t " denotes the motor torque coefficient. "θ R " indicates the rotation angle of the motor 132R. L " indicates the rotation angle of the motor 132L.

[0047] "J R ", "D R ", "J L ", "D L ", "K", "K t " is a constant. FIG. 4 shows an example of each constant.

[0048] A certain control input 'τ' v,R " is added to the right hand side of equation (1a). Here, "τ' v,R " is proportional to the rotation speed of the motor 132R. The coefficient for the rotation speed is "a R " That is, "τ' v,R " is expressed by the following formula (2a).

[0049] [Formula (2a)] JPEG2025048802000004.jpg24170Also, there is a control input 'τ' v,L " is added to the right hand side of equation (1b). Here, "τ' v,L " is proportional to the rotation speed of the motor 132L. The coefficient for the rotation speed is "a L " That is, "τ' v,L " is represented by the following formula (2b).

[0050] [Formula (2b)] JPEG2025048802000005.jpg22170The right-hand side of the above formula (1a) is "τ' v,R ", the above formula (1a) can be transformed into the following formula (3a).

[0051] [Formula (3a)] JPEG2025048802000006.jpg26170Furthermore, by adding "τ'v,L" to the right-hand side of equation (1b), the above equation (1b) can be transformed into the following equation (3b).

[0052] [Formula (3b)] As mentioned above, in order to convert the control model of the two-axis coordinate system into the control model of the center of gravity coordinate system, the ratio of the viscous friction of the two drive shafts must be equal to the inertia ratio. In other words, the condition of the following formula (4) is required.

[0053] [Formula (4)] JPEG2025048802000008.jpg29170 Here, "a R " is set to 0. This means that "a L " is expressed by the following formula (5).

[0054] [Formula (5)] JPEG2025048802000009.jpg26170The above formula (3a) can be transformed into the following formula (6a) based on the above formulas (4) and (5).

[0055] [Formula (6a)] JPEG2025048802000010.jpg26170Furthermore, the above formula (3b) can be transformed into the following formula (6b) based on the above formulas (4) and (5).

[0056] [Formula (6b)] JPEG2025048802000011.jpg27170Add both sides of the following equations (6a) and (6b) together, and then write both sides as "J R +J L" Dividing by this gives us equation (7a) below.

[0057] [Formula (7a)] JPEG2025048802000012.jpg30170Furthermore, by dividing both sides of the following equations (6a) and (6b) by "JR" and "JL", respectively, and then adding up the two sides, we obtain the following equation (7b).

[0058] [Formula (7b)] JPEG2025048802000013.jpg38170The above formula (7a) is expressed by the following formula (8a).

[0059] [Formula (8a)] JPEG2025048802000014.jpg27170Furthermore, the above formula (7b) is expressed by the following formula (8b).

[0060] [Formula (8b)] JPEG2025048802000015.jpg30170 However, the "θ sum " and "θ diff " is expressed by the following formula (9a). "θ sum " indicates the center of gravity position calculated based on the rotation angle of the motor 132R and the rotation angle of the motor 132L as shown in the following formula (9a). "θ diff " indicates the difference in rotation angle between the rotation angle of motor 132R and the rotation angle of motor 132L.

[0061] [Formula (9a)] JPEG2025048802000016.jpg33170 Also, in the above formula (8a), sum " and "i diff " is expressed by the following formula (9b).

[0062] [Formula (9b)] JPEG2025048802000017.jpg31170 and above, the right side of the above formula (1a) is R dθ R" / dt" is added, and "a L ·dθ L / dt" is added to the right side of the above formula (1b), so that the above formulas (8a) and (8b) are established. The above formula (8a) does not include "θ diff ". That is, the above formula (8a) is not affected by "θ diff ". On the other hand, the above formula (8b) does not include "θ sum ". That is, the above formula (8b) is not affected by "θ sum ".

[0063] <E. Configuration of Control Device 50> Next, with reference to FIG. 3 described above, a specific example of the configuration of the control device 50 will be described.

[0064] As described above, the control device 50 includes a control unit 51A (first control unit) having a control model in the center-of-gravity coordinate system, and a control unit 51B (second control unit) that controls the motors 132L and 132R in consideration of virtual viscosity.

[0065] The control unit 51A includes a translational direction control unit 52A in which a control model in the translational direction of the above-described center-of-gravity position "θ sum " is implemented, and a rotational direction control unit 52B in which a control model in the rotational direction of the center-of-gravity position "θ sum " is implemented.

[0066] The translational direction control unit 52A receives at least the input of the center-of-gravity position "θ sum " output from the control unit 51B and the target position, and generates a current command value "i sum " such that the center-of-gravity position "θ sum " approaches the target position.

[0067] The center-of-gravity position "θ sumThe control process for bringing " closer to the target position" may be realized by P (Proportional) control, PI (Proportional-Integral) control, PD (Proportional-Differential) control, or PID (Proportional-Integral-Differential) control.

[0068] In the example in Figure 3, the center of gravity position "θ sum The control process of moving the target position closer to the target position is realized by P-PI control. More specifically, the translation direction control unit 52A is composed of calculators 56 and 60.

[0069] The calculator 56 receives a position command value "u FB,p " and the center of gravity position "θ sum The position deviation between the position command value "u FB,p " is generated in advance from the position trajectory related to the center of gravity position of the table 156. The position trajectory is expressed as the transition of the center of gravity position with respect to time. The calculator 56 calculates the position command value "u FB,p " and center of gravity position "θ sum ” with respect to the position deviation, a predetermined proportional gain “K p,s " and outputs the multiplication result to the calculator 60.

[0070] The calculator 60 receives the output of the calculator 56 and a speed command value "u FB,v " and the center of gravity angular velocity "ω sum " is input. The center of gravity angular velocity "ω sum " is the center of gravity position "θ sum It corresponds to the time derivative of the speed command value "u FB,v " is generated in advance from the velocity trajectory related to the center of gravity position in table 156. The velocity trajectory is expressed by the transition of the center of gravity angular velocity with respect to time. The calculator 60 is a PI controller, and calculates the velocity command value "u FB,v " and the center of gravity angular velocity "ω sumA current command value is generated according to the speed deviation of the current command value "u" generated in advance by feedforward control. FF " is added, and the current command value "i sum " is output to the coordinate converter 70.

[0071] The rotation direction control unit 52B detects the rotation angle difference "θ diff ” and calculate the rotation angle difference “θ diff The current command value "i diff As shown in the above equation (9a), the rotation angle difference "θ diff " is the rotation angle of the motor 132L, "θ L " and the rotation angle of motor 132R "θ R " is equivalent to the difference between

[0072] Rotation angle difference "θ diff The control process for bringing " closer to zero" may be realized by P control, PI control, PD control, or PID control.

[0073] In the example in Figure 3, the rotation angle difference "θ diff The control process of bringing " closer to zero" is realized by P control. More specifically, the rotation direction control unit 52B includes a calculator 66.

[0074] The calculator 66 receives the rotation angle difference "θ diff Then, the calculator 66 calculates a predetermined proportional gain "K p,d " and the result of the multiplication is the current command value "i diff " is output to the coordinate converter 70.

[0075] The coordinate transformer 70 uses a predetermined coordinate transformation matrix "M sd,RL Based on this, the current command value "i sum ", "i diff" is expressed as the current command value "i'" in a two-axis coordinate system based on the drive axes of the motors 132L and 132R. L ", "i' R " (see formula (9b) above). Coordinate converter 70 may be implemented in control unit 51A or may be implemented in control unit 51B.

[0076] The control unit 51B controls each of the motors 132L and 132R based on a control model of a two-axis coordinate system that takes into account virtual viscosity.

[0077] The control unit 51B is made up of, for example, the calculators 72, 73, 74, 76, 82, 84, and 86, the virtual viscosity adding units 78 and 88 described above, and a coordinate converter 92. The virtual viscosity adding unit 78 includes a calculator 79. The virtual viscosity adding unit 88 includes a calculator 89.

[0078] The calculator 72 receives the current command value "i L " is input. The current command value "i L " is the current command value "i' L The current command value "i L " is a control command for the motor 132L. The calculator 72 calculates the current command value "i L ” for a given motor torque coefficient “K t " and the result of the multiplication is the torque "τ L " is output to the calculator 74.

[0079] The calculator 73 receives the rotation angle "θ L " and the rotation angle of motor 132R "θ R The rotation angle difference between " and " is input. Then, calculator 73 multiplies the rotation angle difference by a predetermined elastic coefficient "K" and outputs the multiplication results to calculators 74 and 84, respectively.

[0080] The calculator 74 receives the torque "τ L The inertia "J" of the motor 132L is input to the calculator 74, which then calculates the inertia "J L" and the viscosity coefficient of motor 132L "D L Based on the transfer function according to L " is output. The angular velocity "ω L " is output to each of the calculators 76 and 79.

[0081] The calculator 76 functions as an integrator and calculates the angular velocity "ω L The integral of "θ" is used to calculate the rotation angle of motor 132L. L The rotation angle "θ L " is output to the calculator 73 and the coordinate converter 92, respectively.

[0082] The calculator 79 receives the angular velocity "ω L Then, the calculator 79 calculates the angular velocity "ω L " to a given value "a L " and outputs the multiplication result to the calculator 72.

[0083] The calculator 82 receives the current command value "i R " is input. The current command value "i R " is the current command value "i' R The current command value "i R " is a control command for the motor 132R. The calculator 82 calculates the current command value "i R ” for a given motor torque coefficient “K t " and the result of the multiplication is the torque "τ R " is output to the calculator 84.

[0084] The calculator 84 receives the torque "τ R The calculator 84 receives the inertia "J R " and the viscosity coefficient of motor 132R "D R Based on the transfer function according to R " is output. The angular velocity "ω RIt is output to each of the arithmetic units 86 and 89.

[0085] The arithmetic unit 86 functions as an integrator and outputs the integration result of the angular velocity "ω R " as the rotation angle "θ R " of the motor 132R. The rotation angle "θ R " is output to each of the arithmetic unit 73 and the coordinate converter 92.

[0086] The angular velocity "ω R ", which is the output of the arithmetic unit 84, is input to the arithmetic unit 89. Then, the arithmetic unit 89 multiplies the angular velocity "ω R " by a predetermined value "a R " and outputs the multiplication result to the arithmetic unit 82.

[0087] Based on a predetermined coordinate transformation matrix "M RL,sd ", the coordinate converter 92 converts the rotation angles "θ L ", "θ R " in the two-axis coordinate system output from the arithmetic units 76 and 86 into the rotation angles "θ sum ", "θ diff " in the center-of-gravity coordinate system (see the above formula (9a)). The rotation angles "θ sum ", "θ diff " after the coordinate transformation are returned to the control unit 51A. R " is regarded as "0" when deriving the above formula (5) from the above formula (4), "a

[0088] As described above, when deriving the above formula (5) from the above formula (4), as "a R " is regarded as "0", "a R " may be "0". In this case, the control unit 51B does not necessarily need to include the virtual viscosity addition unit 88.

[0089] <F. Parentheses> As described above, the control unit 51A receives the input of the center-of-gravity position "θ R " based on the rotation angle "θ L " of the motor 132R and the rotation angle "θ sum " of the motor 132L, and the input of the target position with respect to the center-of-gravity position "θ sum ", and based on the center-of-gravity position "θ sum ", the current command value "i" related to the translational direction with respect to the center-of-gravity position "θ sum "sum " and the center of gravity position "θ sum The current command value "i diff The coordinate converter 70 generates the current command value "i sum ", "i diff " to "i'" in the two-axis coordinate system R ", "i' L More specifically, the coordinate converter 70 converts the coordinates into a predetermined transformation matrix "M sd,RL Based on this, the current command value "i sum ” and the current command value “i diff " and the current command value "i' R " and the current command value for motor 132L, "i' L Furthermore, the control unit 51B converts the error caused by the coordinate conversion by the coordinate converter 70 into the current command value "i' R ", "i' L " and correct the current command value "i R ", "i L " are output to the motors 132R and 132L, respectively. Since the error caused by the conversion from the center-of-gravity coordinate system to the two-axis coordinate system is corrected in the control unit 51A, the driving accuracy is improved when the twin-drive mechanism 130 is controlled by the command value of the center-of-gravity coordinate system.

[0090] The process of correcting the above error is performed by adjusting the angular velocity "ω R The current command value before correction "i' R The predetermined value is added to the angular velocity "ω R " with coefficient "a R " The angular velocity of motor 132L is "ω L The current command value before correction "i' L The second predetermined value is added to the angular velocity "ω L " with coefficient "a L This allows the control unit 51B to control the motors 132R, 132L using a control model that takes virtual viscosity into consideration. As a result, the driving accuracy of the twin drive mechanism 130 is improved.

[0091] In addition, as shown in the above equations (5), (6a), and (6b), the coefficient "a R ", "a L " is determined so that the ratio of the inertia associated with the motor 132R to the inertia associated with the motor 132L is equal to the ratio of the viscosity coefficient associated with the motor 132R to the viscosity coefficient associated with the motor 132L.

[0092] The control unit 51A is composed of a translation direction control unit 52A and a rotation direction control unit 52B. The translation direction control unit 52A controls the center of gravity position "θ sum The current command value "i sum The rotation direction control unit 52B generates the rotation angle "θ R " and the rotation angle of motor 132L "θ L The current command value "i diff This enables the control device 50 to control the motors 132R, 132L using a control model of the center of gravity coordinate system.

[0093] Preferably, the control unit 51A determines the calculated rotation angle “θ R " and the calculated rotation angle "θ L ” and the difference value of the predetermined proportional gain “K p,d " to obtain the current command value "i diff As a result, the control unit 51A generates the rotation angle "θ R ", "θ L The process of bringing the difference between " and " closer to zero can be realized by P control. Compared to other control methods, P control has fewer parameters to be identified. This makes it easier to set the parameters.

[0094] The control unit 51B further calculates the corrected current command value “i R The rotation angle of the motor 132R resulting from the output of the signal θ R ” and calculate the corrected current command value “i LThe rotation angle "θ" of the motor 132L resulting from outputting "」" to the motor 132L L is calculated. Subsequently, the control unit 51B calculates the calculated rotation angle "θ" R and the calculated rotation angle "θ" L and, based on the inertia "J" of the motor 132R R and the inertia "J" of the motor 132L L calculates the center of gravity position "θ" sum . The control unit 51B feeds back the calculated center of gravity position "θ" sum to the control unit 51A.

[0095] Also, the control unit 51B calculates the deviation between the calculated rotation angle "θ" R and the calculated rotation angle "θ" L as the rotation angle difference "θ" diff . The control unit 51B feeds back the calculated rotation angle difference "θ" diff to the control unit 51A.

[0096] In the example of FIG. 3, the case where the control unit 51A is composed of the translational direction control unit 52A and the rotational direction control unit 52B has been described, but the control unit 51A may not include the rotational direction control unit 52B. That is, the control unit 51A may be composed only of the translational direction control unit 52A.

[0097] <G. Device Configuration> Next, with reference to FIG. 5, the device configuration of the machine tool 100 will be described. FIG. 5 is a diagram showing an example of the device configuration of the machine tool 100.

[0098] As shown in FIG. 5, the machine tool 100 includes a control device 50, a twin drive mechanism 130, and a table 156.

[0099] The control device 50 controls the twin drive mechanism 130. The control device 50 may be composed of one control device or a plurality of control devices. The control device 50 may be composed of, for example, at least one CNC (Computer Numerical Control), at least one PLC (Programmable Logic Controller), at least one motor driver, or a combination thereof.

[0100] In the example of FIG. 5, the control device 50 is composed of the CNC device 10 and the motor drivers 131R and 131L.

[0101] Note that part or all of the configuration shown in FIG. 3 may be implemented in the CNC device 10, may be implemented in the motor drivers 131R and 131L, or may be implemented in other control devices.

[0102] <H. Application Examples of the Twin Drive Mechanism 130> Next, with reference to FIGS. 6 and 7 while referring to FIG. 5 described above, application examples of the above-described twin drive mechanism 130 will be described.

[0103] In the example of FIG. 5, the table 156 was shown as the object 150 to be driven by the twin drive mechanism 130. However, the object 150 to be driven by the twin drive mechanism 130 is not limited to the table 156. The twin drive mechanism 130 can be used to drive various components within the machine tool 100.

[0104] FIG. 6 is a diagram showing another example of the device configuration of the machine tool 100. In the example of FIG. 6, the spindle 157 is shown as the object 150 to be driven by the twin drive mechanism 130. The spindle 157 is a configuration for rotatably holding a workpiece or a tool. The spindle 157 may be a workpiece spindle for rotating a workpiece or a tool spindle for rotating a tool.

[0105] FIG. 7 is a diagram showing still another example of the device configuration of the machine tool 100. In the example of FIG. 7, a loader 158 is shown as the object 150 to be driven by the twin drive mechanism 130. The loader 158 is a device for transporting members. The members may be workpieces before or after processing, or tools.

[0106] As described above, the twin drive mechanism 130 can be used to drive various components within the machine tool 100.

[0107] Note that in the above description, an example in which one twin drive mechanism 130 drives one object 150 to be driven has been described. However, one object 150 to be driven may be driven by a plurality of twin drive mechanisms 130. In this case, each of the twin drive mechanisms 130 is configured to drive the object 150 to be driven in different directions.

[0108] Further, the device equipped with the twin drive mechanism 130 is not limited to the machine tool 100. The twin drive mechanism 130 can be mounted on devices other than the machine tool 100.

[0109] <I. Hardware Configuration> Next, with reference to FIG. 8, the hardware configuration of the CNC device 10 shown in FIG. 7 will be described. FIG. 8 is a diagram showing an example of the hardware configuration of the CNC device 10.

[0110] The CNC device 10 includes, for example, a control circuit 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a communication interface 104, and an auxiliary storage device 120. These components are connected to an internal bus 109.

[0111] The control circuit 101 is configured, for example, by at least one integrated circuit. The integrated circuit may be configured, for example, by at least one central processing unit (CPU), at least one graphics processing unit (GPU), at least one application specific integrated circuit (ASIC), at least one field programmable gate array (FPGA), or a combination thereof.

[0112] The control circuit 101 controls the operation of the CNC device 10 by executing various programs such as a control program 122. The control program 122 is a program for implementing various processes described in this specification. Based on receiving an execution command for the control program 122, the control circuit 101 reads the control program 122 from the ROM 102 to the RAM 103. The RAM 103 functions as a working memory and temporarily stores various data required for executing the control program 122.

[0113] The communication interface 104 is an interface for realizing communication with various devices. The CNC device 10 communicates with various drive units (such as the above-mentioned motor drivers 131R and 131L) in the machine tool 100 via the communication interface 104, for example.

[0114] The auxiliary storage device 120 is, for example, a storage medium such as a hard disk or a flash memory. The auxiliary storage device 120 stores a control program 122 and various parameters 124. The various parameters 124 are, for example, the above-mentioned FB,p ", "u FB,v ", "u FF ", "K p,s ", "K p,d ", "J R ", "D R ", "J L ", "D L ", "K", "K t ", "M sd,RL", "M RL,sd " etc.

[0115] The storage location of the control program 122 and the various parameters 124 is not limited to the auxiliary storage device 120, but may be stored in a memory area (e.g., cache memory) of the control circuit 101, ROM 102, RAM 103, an external device (e.g., a server), etc.

[0116] Furthermore, the control program 122 may be provided not as a standalone program but as part of an arbitrary program. In this case, various processes according to this embodiment are realized in cooperation with an arbitrary program. Even a program that does not include some of these modules does not deviate from the spirit of the control program 122 according to this embodiment. Furthermore, some or all of the functions provided by the control program 122 may be realized by dedicated hardware. Furthermore, the CNC device 10 may be configured in the form of a so-called cloud service in which at least one server executes part of the processes of the control program 122.

[0117] <J.フローチャート> Next, a control flow of the twin drive mechanism 130 by the control device 50 will be described with reference to Fig. 9. Fig. 9 is a flowchart showing the flow of control processing of the twin drive mechanism 130.

[0118] 9 is realized, for example, by the control device 50 executing the above-mentioned control program 122. In other aspects, a part or all of the processing may be executed by a CNC, a circuit element, or other hardware.

[0119] In step S110, the control device 50 acquires a target command value corresponding to the current time. The target command value is, for example, FB,p ", "u FB,v ", "u FF "

[0120] In step S112, the control device 50 calculates the "θ sum ", "θ diff " to get

[0121] In step S114, the control device 50 functions as the above-mentioned translation direction control unit 52A, and determines the center of gravity position "θ sum " and the target position are input, and the center of gravity position "θ sum The current command value "i sum The current command value "i sum The method of generating the rotation angle difference "θ" is as described above, and therefore the description will not be repeated. In addition, the control device 50 functions as the above-mentioned rotation direction control unit 52B, and generates the rotation angle difference "θ" output from the control unit 51B. diff ” and calculate the rotation angle difference “θ diff The current command value "i diff The current command value "i diff The method for generating " is as described above, so the description will not be repeated.

[0122] In step S116, the control device 50 functions as the coordinate converter 70 described above and converts the current command value "i sum ", "i diff " is expressed as the current command value "i'" in a two-axis coordinate system based on the drive axes of the motors 132L and 132R. L ", "i' R ".

[0123] In step S118, the control device 50 functions as the above-mentioned calculator 72 and calculates the current command value "i' L " is added to the output of the virtual viscosity adding unit 78, and the current command value "i L The control device 50 also functions as the above-mentioned calculator 82 and calculates the current command value "i' R " is added to the output of the virtual viscosity adding unit 88, and the current command value "i R " is calculated.

[0124] In step S120, the control device 50 controls the motor 132L based on the calculated current command value "i L " and controls the motor 132R based on the calculated current command value "i R ".

[0125] In step S122, the control device 50 functions as the above-described arithmetic units 74, 76, 82, 84, and calculates the rotation angles "θ L ", "θ R " of the motors 132L and 132R based on the current command values "i L ", "θ R ". Since the calculation method of the rotation angles "θ L ", "θ R " is as described above, the description thereof will not be repeated.

[0126] In step S124, the control device 50 functions as the above-described coordinate converter 92, and converts the rotation angles "θ L ", "θ R " in the two-axis coordinate system output from the arithmetic units 76 and 86 into the rotation angles "θ sum ", "θ diff " in the centroid coordinate system. Thereafter, the control device 50 returns the control to step S110.

[0127] <K. Experimental Results> The inventors confirmed the effectiveness of the driving accuracy of the twin drive mechanism 130 by the above-described control device 50 (see FIG. 3) through experiments. Hereinafter, with reference to FIGS. 10 to 15, the experimental results will be described.

[0128] FIG. 10 is a diagram showing the configuration of a control device 50X1 according to a first comparative example. The control device 50X1 controls the motors 132R and 132L by a two-axis coordinate system control model. A multirate feedforward controller and a feedback controller are applied to the control method shown in FIG. 10.

[0129] FIG. 11 is a diagram showing the configuration of a control device 50X2 according to a second comparative example. The control device 50X2 is different from the control device 50X1 in that it inputs the average angular velocities of motors 132R and 132L (see broken line LX2).

[0130] FIG. 12 is a diagram showing the configuration of a control device 50X3 according to a third comparative example. The control device 50X3 is different from the control device 50X1 in that it performs a process of making the difference between the angular velocities “ω R ” and “ω L ” of motors 132R and 132L zero (see broken line LX3).

[0131] FIG. 13 is a diagram showing the position trajectory used in this experiment. FIG. 14 is a diagram showing the angular velocity trajectory used in this experiment. FIG. 15 is a diagram showing experimental results R0 to R3 when the position trajectory shown in FIG. 13 and the angular velocity trajectory shown in FIG. 14 are used as inputs to control devices 50, 50X1 to 50X3.

[0132] The horizontal axis of the graph shown in FIG. 15 indicates time. The vertical axis of the graph shown in FIG. 15 indicates the error of the centroid position with respect to the position trajectory shown in FIG. 13.

[0133] The error indicated by the experimental result R0 is smaller than the errors indicated by the experimental results R1 to R3. This indicates that the position tracking performance of the control method according to the embodiment is improved compared to the position tracking performance of the control methods according to the first to third comparative examples. Thus, the superiority of the control method according to the embodiment was confirmed.

[0134] <L. Modification Example> In the example of FIG. 3 described above, the virtual viscosity addition unit 78 is configured only by the arithmetic unit 79, and the virtual viscosity addition unit 88 is configured only by the arithmetic unit 89. However, the configurations of the virtual viscosity addition units 78 and 88 are not limited to this.

[0135] Hereinafter, with reference to FIG. 16, modification examples of the virtual viscosity addition units 78 and 88 will be described. FIG. 16 is a diagram showing a configuration example of a control device 50 according to a modification example.

[0136] In this modification, the virtual viscosity adding unit 78 includes not only the calculator 79 but also a calculator 80. Also, the virtual viscosity adding unit 88 includes not only the calculator 89 but also a calculator 90. Since other points are the same as the control device 50 shown in Fig. 3 described above, hereinafter, description of the components other than the calculators 80 and 90 will not be repeated.

[0137] The output of the calculator 79 is input to the calculator 80. Then, the calculator 80 multiplies the output of the calculator 79 by the reciprocal of the motor torque coefficient “Kt” and outputs the multiplication result to the calculator 72.

[0138] The output of the calculator 89 is input to the calculator 90. Then, the calculator 90 multiplies the output of the calculator 89 by the reciprocal of the motor torque coefficient "Kt" and outputs the multiplication result to the calculator .

[0139] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0140] 10 CNC device, 50 control device, 50X1 control device, 50X2 control device, 50X3 control device, 51A control unit, 51B control unit, 52A translation direction control unit, 52B rotation direction control unit, 56 calculator, 60 calculator, 66 calculator, 70 coordinate converter, 72 calculator, 73 calculator, 74 calculator, 76 calculator, 78 virtual viscosity adding unit, 79 calculator, 80 calculator, 82 calculator, 84 calculator, 86 calculator, 88 virtual viscosity adding unit, 89 calculator, 90 calculator, 92 coordinate converter, 100 machine tool, 101 control circuit, 102 ROM, 103 RAM, 104 communication interface, 109 internal bus, 120 auxiliary storage device, 122 control program, 124 parameter, 130 twin drive mechanism, 131L Motor driver, 131R motor driver, 132L motor, 132R motor, 134L ball screw, 134R ball screw, 150 driven object, 156 table, 157 spindle, 158 loader, 190 cover body, 200 operation panel, AX axis, DR door, LX2 dashed line, LX3 dashed line, R0 experimental result, R1 experimental result, R2 experimental result, R3 experimental result.

Claims

1. A control device for a drive mechanism, The drive mechanism includes: A first motor; A second motor; a driven object that is driven in the same direction by simultaneous driving of the first motor and the second motor, The control device includes: a first control unit that receives an input of a center-of-gravity position based on an angle of the first motor and an angle of the second motor and an input of a target position for the center-of-gravity position, and generates a current command value related to a translation direction with respect to the center-of-gravity position and a current command value related to a rotation direction with respect to the center-of-gravity position; a conversion unit that converts the current command value related to the translation direction and the current command value related to the rotation direction into a first current command value for the first motor and a second current command value for the second motor based on a predetermined conversion matrix; a second control unit that corrects an error associated with the conversion by the conversion unit and then outputs the first current command value and the second current command value to the first motor and the second motor, respectively.

2. the current command value in the translation direction is generated so that the center of gravity position approaches the target position, The control device according to claim 1 , wherein the current command value related to the rotation direction is generated so that a difference value between an angle of the first motor and an angle of the second motor approaches zero.

3. The process of correcting the error includes: adding a first predetermined value proportional to an angular velocity of the first motor to the first current command value before correction; 3. The control device according to claim 1, further comprising a process of adding a second predetermined value proportional to the angular velocity of the second motor to the second current command value before correction.

4. the first predetermined value corresponds to a value obtained by multiplying the angular velocity of the first motor by a first coefficient; the second predetermined value corresponds to a value obtained by multiplying the angular velocity of the second motor by a second coefficient; 4. The control device according to claim 3, wherein the first coefficient and the second coefficient are determined so that a ratio between the inertia of the first motor and the inertia of the second motor is equal to a ratio between a viscosity coefficient of the first motor and the viscosity coefficient of the second motor.

5. The second control unit further includes: A process of calculating a first angle of the first motor resulting from outputting the corrected first current command value to the first motor; a process of calculating a second angle of the second motor resulting from outputting the corrected second current command value to the second motor; calculating the center-of-gravity position based on the calculated first angle, the calculated second angle, a first inertia of the first motor, and a second inertia of the second motor; The control device according to claim 1 , further comprising: a process of feeding back the calculated center-of-gravity position to the first control unit.

6. 6. The control device according to claim 5, wherein the first control unit generates a current command value related to the rotation direction by multiplying a difference value between the calculated first angle and the calculated second angle by a predetermined proportional gain.

7. A control device according to claim 1 or 2; and the drive mechanism.

8. The machine tool according to claim 7 , wherein the driven object is a spindle for rotatably holding a workpiece or a tool.

9. 8. The machine tool according to claim 7, wherein the object to be driven is a table on which a workpiece is placed.

10. 8. The machine tool according to claim 7, wherein the driven object is a loader for transporting members.

11. A method for controlling a drive mechanism, comprising the steps of: The drive mechanism includes: A first motor; A second motor; a driven object that is driven in the same direction by simultaneous driving of the first motor and the second motor, The control method includes: receiving an input of a center-of-gravity position based on an angle of the first motor and an angle of the second motor, and an input of a target position for the center-of-gravity position, and generating a current command value related to a translation direction with respect to the center-of-gravity position, and a current command value related to a rotation direction with respect to the center-of-gravity position; converting the current command value related to the translation direction and the current command value related to the rotation direction into a first current command value for the first motor and a second current command value for the second motor based on a predetermined conversion matrix; and correcting an error associated with the converting step, and outputting the first current command value and the second current command value to the first motor and the second motor, respectively.