Method for error correction in synchronized superposed operation of servomotors

Abstract: In a method for performing a synchronized superposed operation of two servomotors, controllers for the servomotors perform the control for achieving the synchronized superposed operation by: calculating, for each of the servomotors, the difference, or differences, between the ideal droop, or droops, obtained from a control command and the actual droop, or droops, obtained from the rotation of the servomotor; calculating a speed correction quantity, or the speed correction quantity and a current correction quantity, from the discrepancy, or discrepancies, between the differences calculated for both of the servomotors; and adding the correction quantity, or quantities, to a speed command, or the speed command and a current command, given to the side of the subsidiary shaft. Thus, a synchronized superposed operation of servomotors in which speeds and responses of the main shaft and the subsidiary shaft are well balanced therebetween can be achieved.

Description: The present invention relates to a method for error correction in a synchronized superposed operation of two servomotors for the main shaft and subsidiary shaft for machine tools, for example, and more particularly relates to a method for error correction in a synchronized superposed operation of such servomotors, in which a speed command and a current command given to the servomotor on the subsidiary shaft side are corrected using the errors between ideal droop differences and actual droop differences for position and speed of the two shafts. Description of the Prior Art The article "Synchronized Motion Control for Process Automation" (in the Conference Record of the 1989 IEEE Industry Applications Society Annual Meeting, part 2, vol. 24, pages 1693 - 1698, 5. Oct. 1989, San Diego, Ca., US) by R. D. Lorentz et al. contains an overview of different approaches for synchronization of servo motors. FIG. 1 is a block diagram of a control system for a two-shaft arrangement of a servomotor controller in the prior art. Referring to the diagram, reference character 1a₁ denotes a servo control system for the first shaft, 2a denotes a target position command ϑ ra input to the first shaft servo control system 1a₁, 3a denotes a position loop gain K pa becoming the position response to the target position command ϑ ra (2a), 4a denotes a speed command V ra into which the target position command ϑ ra (2a) is turned after being passes through the position loop gain K pa (3a), 5a denotes a speed loop gain K va becoming the speed response to the speed command V ra (4a), 6a denotes a current command I ra into which the speed command V ra (4a) is turned after being passes through the speed loop gain K va (5a), 7a denotes a current loop gain K ia becoming the current response to the current command I ra (6a), 8a denotes an actual current I fa into which the current command I ra (6a) is turned after being passes through the current loop gain K ia (7a), 9a denotes a torque constant K Ta as a relational constant between the motor current and the output torque for the first shaft, 10a denotes the sum total of the motor rotor inertia J Ma and the load inertia J La indicative of the load applied to the first shaft of the motor, 11a denotes an integrating term for converting a current into a speed in the servo control system, 12a denotes an actual speed V fa obtained after being passed through the integrating term 11a, 13a denotes an integrating term for converting a speed into a position in the servo control system, and 14a denotes an actual position ϑ fa into which the speed V fa (12a) is turned after being passes through the integrating term (13a). Similarly, reference character 1b₁ denotes a servo control system for the second shaft, 2b denotes a target position command ϑ rb , 3b denotes a position loop gain K pb , 4b denotes a speed command V rb , 5b denotes a speed loop gain K vb , 6b denotes a current command I rb , 7b denotes a current loop gain K ib , 8b denotes an actual current I fb , 9b denotes a torque constant K Tb , 10b denotes the sum total of the motor rotor inertia J Mb and the load inertia J Lb , 11b denotes an integrating term, 12b denotes an actual speed V fb , 13b denotes an integrating term, and 14b denotes an actual position ϑ fb . As other elements arranged outside these loops of the control system for the first shaft, 15a denotes an ideal position loop for calculating the ideal position of the first shaft, 16a denotes a position loop gain K pa inside the ideal position loop 15a, 17a denotes its integrating term, and 18a denotes an ideal position ϑ fa0' and similarly, 15b denotes an ideal position loop for the second shaft, 16b denotes a position loop gain K pb , 17b denotes its integrating term, and 18b denotes an ideal position ϑ fb0 . Further, 31a to 34a and 31b to 34b each denote a subtractor for subtracting an input signal on the (-) side from the input signal on the (+) side thereby outputting the difference. Now, the operation of the arrangement of FIG. 1 will be described. Upon receipt of the target position command ϑ ra (2a) input to the servo control system 1a₁ for the first shaft and the present position ϑ fa (14a) fed back from the integrating term 13a, the subtractor 31a calculates a position droop (ϑ ra - ϑ fa ) as the difference between the two signals. The calculated position droop is multiplied by the position loop gain K pa (3a) and thereby the speed command V ra (4a) is obtained. Similar to the case of the position droop, the difference between this speed command and the present speed V fa (12a) fed back from the integrating term 11a, V ra - V fa , is calculated by the subtractor 32a and thereby the speed droop is obtained. The calculated speed droop is multiplied by the speed loop gain K va (5a) and thereby the current command I ra (6a) is obtained. Also, the difference between this current command and the fed back present current I fa (8a), I ra - I fa , is calculated by the subtractor 33a. This current difference is multiplied by the current loop gain K ia (7a) and thereby the actual current I fa (8a) actually flowing through the motor is generated. The generated current I fa (8a) produces a torque proportional thereto to rotate the motor, the produced torque being dependent on the torque constant K Ta (9a). The thus produced torque, in reality, works as motive power after being attenuated by the sum total 10a of the rotor inertia J Ma and the load inertia J La as the load applied to the motor, and if this is considered in terms of the servo system, the torque after being integrated by the integrating term 11a becomes the speed V fa (12a), and the speed V fa (12a) after being integrated by the integrating term 13a becomes the position ϑ fa (14a). As apparent from the diagram, the current, speed, and position are respectively provided with loops whereby they are separately loop-controlled. Apart from the above described control loops, the ideal position loop 15a calculates the ideal position ϑ fa0 (18a) by means of the position loop gain 16a having the same value as the position loop gain K pa (3a) and the integrating term 17a. More specifically, in the ideal position loop 15a, the subtractor 34a detects the difference between the position command ϑ ra (2a) and the ideal position ϑ fa0 (18a), this difference is multiplied by the position loop gain K pa (16a), and this product is integrated by the integrating term 17a, whereby the ideal position ϑ fa0 (18a) is calculated. Separate from the just described ideal position calculation, there is provided a check-loop function, whereby the difference between the target position command ϑ ra (2a) and the actual position ϑ fa (14a) is monitored at all times and it is watched whether or not the motor as the object of control is normally operating, in consideration of the dynamic characteristics of the servo system, and in the event that this difference becomes too great, an alarm is given to signal the occurrence of a malfunction. The ideal position loop 15b operates quite the same as the ideal position loop 15a. The control system 1b₁ for the second shaft operates quite the same as the control system for the first shaft. Even during the synchronized superposed operation bearing a mutual relationship between the two shafts, there is nothing existing in the system on one side to affect the control system on the other side and each system operates independently. The dynamic operations of each shaft are determined by the position loop gains K pa (3a), K pb (3b), speed loop gains K va (5a), K vb (5b), current loop gains K ia (7a), K ib (7b), torque constants K Ta (9a), K Tb (9b), and J Ma + J La (10a), J Mb + J Lb (10b) as loads. Therefore, even if the same commands are given to the systems for the first shaft and the second shaft, there arise some errors between the two shafts so far as there are some differences between the above mentioned factors determined the dynamic operations. Since servomotor controllers of the prior art were constructed as described above, there have been such problems that the controllers are provided with no function for balancing relative operations and responses between the shafts of two servomotors and, since it is required that operations and responses are well balanced in each servomotor for achieving a satisfactory synchronized superposed operation, it is difficult for the controllers each to detect errors occurring between shafts and, hence, it is very difficult to adjust each of the control elements. SUMMARY OF THE INVENTION The present invention has been made to solve the above mentioned problems. Accordingly, it is an object of the present invention to provide a method for error correction in a synchronized superposed operation of two servomotors, in which errors between two shafts of servomotors are automatically detected and responses of the servomotor on the auxiliary shaft side are corrected according to the detected errors, so that operations and responses of both the shafts are well balanced therebetween. In order to achieve the above mentioned object, a method for error correction in a synchronized superposed operation of servomotors is defined in claims 1 and 2. The objects and novel features of the present invention will be better understood from the following detailed description taken in connection with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of control systems for two shafts in a servomotor controller of a prior art example; FIG. 2 is a block diagram of control systems for two shafts in a servomotor controller showing an embodiment of the present invention; and FIG. 3 is a block diagram of control systems for two shafts in a servomotor controller showing another embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 2 is a block diagram of control systems for two shafts in a servomotor controller showing an embodiment of the present invention. Referring to the diagram, elements denoted by reference characters 2a to 18a, 2b to 18b, 31a to 34a, 31b, 33b, and 34b are quite the same as those in FIG. 1. Reference character 1a₂ denotes the servo control system for the first shaft in the present embodiment, 1b₂ denotes the servo control system for the second shaft in the present embodiment, 19a denotes the difference ▵ϑ ra between the ideal position droop and the actual position droop of the first shaft, 19b similarly denotes the ideal/actual position droop difference ▵ϑ rb of the second shaft, 20 denotes the discrepancy ▵ϑ rs between the ideal/actual position droop difference 19a of the first shaft and the ideal/actual position droop difference 19b of the second shaft, 21 denotes a correction gain K sb by which the aforesaid discrepancy Δϑ rs (20) is to be multiplied, 22 denotes ϑ rs as a correction quantity, 35a, 35b, and 36 each denote a subtractor for calculating the difference between two input signals, 37 denotes an adder/ subtractor for performing addition and subtraction of three input signals. The operation of the arrangement of FIG. 2 will be described below. Since the operations of elements 2a to 18a and 2b to 18b in FIG. 2 are the same as those in the prior art example of FIG. 1, explanation of them will be omitted. In the present embodiment, the difference Δϑ ra (19a) between the ideal position droop, ϑ ra (2a) - ϑ fa0 (18a), calculated by the subtractor 34a and the actual position droop, ϑ ra (2a) - ϑ fa (14a), calculated by the subtractor 31a in the servo control system 1a₂ for the first shaft is calculated by the subtractor 35a. Similarly, the difference Δϑ rb (19b) between the ideal position droop, ϑ rb (2b) - ϑ fb0 (18b), calculated by the subtractor 34b and the actual position droop, ϑ rb (2b) - ϑ fb (14b), calculated by the subtractor 31b in the servo control system 1b₂ for the second shaft is calculated by the subtractor 35b. Then, the discrepancy Δϑ rs (20) between the ideal/actual position droop difference Δϑ ra (19a) in the first shaft and the ideal/actual position droop difference Δϑ rb (19b) in the second shaft is calculated by the subtractor 36. Since the thus calculated discrepancy Δϑ rs (20) is the relative position error between the first and second shafts, the correction quantity is generated from the position error between the shafts. More specifically, the position error between the shafts Δϑ rs (20) is multiplied by the correction gain K sb (21) and thereby the correction quantity ϑ rs (22) is obtained. The correction quantity ϑ rs (22) is added to the speed command V rb (4b) for the second shaft as the subsidiary shaft by the adder/ subtractor 37, and thus, the operation and response of the servomotor for the second shaft is adjusted to that of the servomotor for the first shaft as the main shaft, thereby achieving a synchronized superposed operation. More specifically, if there arise some difference between the operations and responses of the servomotors for the first and second shafts, the error Δϑ rs (20) between the shafts is generated, and hence, the operation of the second shaft as the subsidiary shaft is automatically corrected by the error and the correction gain K sb (21) so that the discrepancy Δϑ rs (20) is reduced. In other words, adjustments are made so that operations and responses of the first and second shafts are balanced. By the described method, occurrence of the error in the synchronized superposed operation of servomotors is greatly reduced as against that in the prior art and, thus, the method for error correction in a synchronized superposed operation of servomotors as one aspect of the present invention can be provided. FIG. 3 is a block diagram of a control system for two shafts in a servomotor controller showing another embodiment of the present invention. Referring to the diagram, elements denoted by 2a to 19a, 2b to 19b, 20 to 22, 31a to 35a, 31b, 34b, 35b, 36, and 37 are like those denoted by corresponding reference characters in FIG. 2. Reference character 1a₃ denotes the servo control system for the first shaft in the present embodiment, 1b₃ denotes the servo control system for the second shaft in the present embodiment, 23 denotes a speed error between the first and second shafts, 24 denotes a correction gain K Rb , 25a denotes a speed loop gain K va for the first shaft, 25b denotes a speed loop gain K vb for the second shaft, 26a denotes an ideal speed droop of the first shaft, 26b denotes an ideal speed droop of the second shaft, 27a denotes a motor load, J Ma + J La , for the first shaft, 27b denotes a motor load, J Mb + J Lb , for the second shaft, 28a denotes an integrating term for converting a current into a speed for the first shaft, 28b denotes a similar integrating term for the second shaft, 29a denotes an ideal speed of the first shaft, 29b denotes an ideal speed of the second shaft, 30 denotes a correction quantity obtained from the speed discrepancy between the first and second shafts, 38, 40a, 40b, 41a and 41b denote subtractors, and 39 denotes an adder/subtractor. The operation of the arrangement of FIG. 3 will be described. Before describing the operation, difference between FIG. 2 and FIG. 3 will be made clear. In the embodiment of FIG. 2, the differences between the ideal and actual position droops were obtained as the ideal-actual droop differences for the positions of the two shafts and, then, the correction quantity was obtained from the position error between the two shafts. But, it may be well to obtain, with regard to the speeds of the two shafts, the difference between the ideal and actual speed droops, or a better effect will be achieved by obtaining differences between both the position and the speed droops and performing the corrections using the errors of the position and speed between the two shafts. FIG. 3 shows an example in which both the difference between the ideal-actual position droops and the difference between the ideal-actual speed droops are obtained and corrections are performed for both position and speed by using the errors between the two shafts. The ideal-actual position droop difference 19a of the first shaft is obtained from the subtractor 35a as the difference between the signal, which is obtained by multiplying the difference between the ideal position ϑ fa0 (18a) and the position command ϑ ra (2a) obtained by the subtractor 34a by the position loop gain K pa (16a), and the signal, which is obtained by multiplying the difference between the actual position ϑ fa (14a) and the position command ϑ ra (2a) obtained by the subtractor 31a by the position loop gain K pa (3a). Here, in the case of FIG. 3, the input signals to the subtractor 35a are supplied from the output side of the position loop gains 16a and 3a, while, in the case of FIG. 2, the input signals to the subtractor 35a were supplied from the input side of the position loop gains 16a and 3a. However, in obtaining the ideal-actual position droop difference, there is no substantial difference between the methods of FIG. 2 and FIG. 3. That is, the value obtained by multiplying the ideal-actual position droop difference in FIG. 2 by the position loop gain K pa corresponds to the ideal-actual position droop difference in FIG. 3, which only shows that there is a different calculating method from that in FIG. 2. Similarly, the ideal-actual position droop difference 19b of the second shaft is obtained as the output of the subtractor 35b. Then, the position error 20 between the two shafts as the difference between the ideal-actual position droop differences 19a and 19b for the first and second shafts is obtained by the subtractor 36 and the error is multiplied by the correction gain K sb (21) and thereby the correction quantity 22 is obtained. The manner in which the correction quantity 22 is added to the speed command V rb (46) by the adder/subtractor 37 for the second shaft as the auxiliary shaft is the same as that in the case of FIG. 2. The ideal-actual speed droop difference of the first shaft is obtained by the subtractor 41a as the difference between the signal, which is obtained by multiplying the difference between the ideal speed 29a and the output signal of the position loop gain 16a (the value of the ideal position droop multiplied by the loop gain K pa ) obtained by the subtractor 40a by the speed loop gain K va (25a), and the signal, which is obtained by multiplying the difference between the actual speed V fa (12a) and the speed command V ra (4a) obtained by the subtractor 32a by the speed loop gain K va (5a). Similarly, the ideal-actual speed droop difference of the second shaft is obtained as the output of the subtractor 41b. Then, the speed error 23 between shafts of the ideal-actual speed droop differences of the first shaft and the second shaft is obtained by the subtractor 38 and this speed error is multiplied by the correction gain K Rb (24) and thereby the correction quantity 30 is obtained. This correction quantity 30 is added to the current command I rb (6b) by the adder/subtractor 39 for the second shaft as the auxiliary shaft. In the described manner, corrections for the position and speed are respectively performed according to the errors between shafts of the ideal-actual position and speed droop differences, and thus, a better synchronized superposed operation of servomotors can be performed. As described so far, the present invention is arranged such that its two servomotors for the main shaft and the subsidiary shaft are each provided with a controller, and it is therein adapted, when the servomotor on the subsidiary shaft side is operated superposed on and synchronized with the servomotor on the main shaft side, such that a correction quantity calculated from the discrepancy between the ideal-actual position droop differences of the two shafts is added to the speed command given to the subsidiary shaft side, or, in addition to the correction given to the speed command, the correction quantity calculated from the discrepancy between the ideal-actual speed droop differences of the two shafts is added to the current command given to the subsidiary shaft side, and therefore, such good effects are obtained that occurrence of errors in the synchronized superposed operation of servomotors as described above is greatly reduced, so that highly accurate and effective operation control can be achieved. The drawings are given above mainly by way of illustration and therefore are not limitative of the scope of the present invention.

Claims: A method for error correction in a first and a second controller (1a₂; 1b₂) for controlling the synchronized operation of a first and a second servomotor, respectively, comprising the steps of: calculating the deviation da₁ of a first position command ϑ ra (2a) inputted to said first controller (1a₂) and an ideal position ϑ fa0 (18a) of said first servomotor, calculating the deviation da₂ of said first position command ϑ ra (2a) and the actual position ϑ fa (14a) of said first servomotor, and determining a first position difference value Δϑ ra (19a) between said deviations da₁ and da₂, respectively; calculating the deviation db₁ of a second position command ϑ rb (2b) inputted to said second controller (1b₂) and an ideal position ϑ fb0 (18b) of said second servomotor, calculating the deviation db₂ of said position command ϑ rb (2b) and the actual position ϑ fb (14b) of said first servomotor, and determining a second position difference value (Δϑ rb (19b)) between said deviations db₁ and db₂; characterized by calculating a speed correction quantity ϑ rs (22) from the difference between said first position difference value Δϑ ra (19a) and said second position difference value Δϑ rb (19b) and adding said speed correction quantity ϑ rs (22) to a speed command in said second controller (1b₂). A method according to claim 1, further comprising the steps of: calculating a difference value dsa between the product of said deviation da₁ and a position loop gain K pa (16a) of said first servomotor on the one hand and an ideal speed (29a) of said first servomotor on the other hand, determining a first speed difference value (41a) between the product (26a) of the speed loop gain K va (25a) of said first servomotor with said difference value dsa on the one hand and the product of said deviation da₂ and a speed loop gain K va (5a) of said first servomotor on the other hand; calculating a difference value dsb between the product of said deviation db₁ and a position loop gain K pb (16b) of said second servomotor on the one hand and an ideal speed (29b) of said second servomotor on the other hand, determining a second speed difference value (41b) between the product (26b) of the speed loop gain K vb (25b) of the second servomotor with the difference value dsb on the one hand and the product of db₂ and a speed loop gain K vb (5b) of the second servo motor on the other hand; characterized by the steps of calculating a current correction quantity (23) from the difference between said first speed difference value (41a) and said second speed difference value (41b) and adding said current correction quantity (23) to a current command in said second controller (1b₃).

Inventors: IKUTAME TERUAKI C O MITSUBISHI, SUZUKI HIRONORI C O MITSUBISHI, IKUTAME, TERUAKI, C/O MITSUBISHI DENKI KABUSHIKI, SUZUKI, HIRONORI, C/O MITSUBISHI ELECTRIC
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1990
Main classification: G05B19
IPC codes: H02P5, G05B19