METHOD OF CONTROLLING SERVOMOTORS

Abstract: A method of controlling a servomotor adapted to accelerate the convergence of deviations of position and speed, having excellent response and a high resistance to disturbance and free from mechanical resonance. When a torque command Tc1 obtained by a conventional speed control operation is small, a regulating gain G is increased, and, when this torque command is large, the regulating gain G is reduced (S1-S3). A torque Tc2 obtained by multiplying a Tc1, an output from a speed control unit by this regulating gain G is used as a torque command to be supplied to a servomotor (S4, S5). When deviations of position and speed and a torque command Tc1 are small, the gain becomes high, so that the response is improved and the convergence of these deviations is effected more speedily. When a torque command Tc1 is large, the gain is low, and mechanical oscillation does not occur.

Description: The present invention relates to a method of controlling a servomotor which may be used as a drive source in machine tools and robots. Feed rods of a machine tool, arms of a robot or the like are driven by a servomotor which performs a velocity loop control and/or a position loop control. In the conventional control of the servomotor, a velocity loop gain is always set at a unvaried value allowing a certain degree of margin with respect to a gain level which may cause a mechanical resonance. Fig. 1 is a block diagram of a servomotor position control system, by way of example, in which reference numeral 1 denotes a position control section with a position loop gain Kp; reference numeral 2 denotes a velocity control section with a integral gain k1 and a proportional gain k2; reference numeral 3 denotes a motor and mechanical system, and reference numeral 4 denotes a term integrating a velocity to derive a position. The torque command Tc (or current command) can be derived from the procedure comprising the steps of: subtracting a position  detected, for instance, by a position detector from a position command d to find a positional deviation; multiplying the positional deviation by the position loop gain Kp to find a velocity command vd; subtracting an actual velocity v detected, for instance, by a velocity detector from the velocity command vd to find a velocity deviation; adding a value, obtained by integrating the velocity deviation and then multiplying the result by the integral gain kl, to a value, obtained by multiplying the velocity deviation by the proportional gain k2, thereby obtaining a torque command Tc (current command). The servomotor is commonly driven in response to a torque command Tc (and further through a current loop control). Also, it is a common practice to control the servomotor only by means of the speed loop control without the position loop control. In the servomotor control as described above, reductions in the positional deviation and then the velocity deviation leads to a reduction in the torque command Tc, which in turn results in a reduction in an output torque of the servomotor, thereby further preventing the positional deviation and velocity deviation from converging rapidly. Therefore, increasing the integral gain k1 and the proportional gain k2 in value not only will accelerate the convergence but improve the responsiveness and the resistance against disturbance, thereby improving the performance of the control system. However, higher storage and proportional gains may possibly bring about a mechanical resonance as the torque command is enlarged, and lead to adverse effects such as an overshoot or undershoot, thereby eventually causing a fluctuation in the case of greater variation in the velocity command. In the conventional manner employing the fixed gains, the gains are restricted by the oscillation limit causing a mechanical resonance, which in turn restricts the control performance of the servomotor. It is the object of the present invention to provide a method of controlling a servomotor, which may provide faster convergence of both positional deviations and velocity deviations, a higher responsiveness, as well as an improved resistance against disturbance, and with reduced or prevented mechanical resonance. It is known in the art to adjust velocity loop gain in servomotor control, depending on the magnitude of a detected torque command issued from a velocity loop controller. In the prior art however, the detected torque command plays only a small part in the velocity loop gain adjustment, and the velocity loop gain is altered primarily so as to be inversely proportional to estimated motor velocity. Thus see for example EP-A-0314800. According to the present invention there is provided a method of controlling a servomotor, comprising adjusting velocity loop gain depending on the magnitude of a detected torque command issued from a velocity loop controller, the method being characterised by: decreasing the effective velocity loop gain by adjustment when the detected torque command is large in magnitude; and increasing the effective velocity loop gain by adjustment when said detected torque command is small in magnitude. Preferably, a method of controlling a servomotor in accordance with a development of the present invention comprises the steps of dividing in advance the magnitude of a torque command issued from a velocity loop control into a plurality of regions of different magnitude, judging which region the magnitude of a torque command falls under, assigning a value of a gain for adjustment to each of the regions, and applying the gain for adjustment corresponding to the region of the torque command. Preferably, another development of the invention comprises the steps of deriving a torque command value Tc1 through a velocity loop control with a preset velocity loop gain, multiplying the thus-derived torque command value Tc1 by a gain G for adjustment which has been previously determined corresponding to the torque command value Tc1, and using thus obtained product as a torque command to be fed to the servomotor. More specifically, the gain G for adjustment may be derived from the expression G = 1 + {Imax / (|Tc1| + δ)} where the torque command value Tcl is a variable, Imax representing a producible torque command maximum is a constant, and δ represents a gain adjustment value set through a control system. It is to be appreciated, however, that the gain adjustment value may be determined by the producible torque command maximum Imax. The above-described servomotor control may include a position loop in addition to the velocity loop. A feedforward control may be arbitrarily introduced into the positional loop. The above-described servomotor control can be effected by either a digital servo or an analog servo. According to the present invention, as described above, a gain in the velocity control section can be increased when both the velocity deviation and the torque command are small in magnitude, in order to improve the responsiveness and rapidity of convergence of both the positional deviations and velocity deviations. On the contrary, the gain in the velocity control section can be suppressed in the case of a larger torque command, in order to reduce or prevent the occurrence of a mechanical resonance. As a result, the present invention provides a servo control method providing a reduction in velocity fluctuation, overshoot or undershoot, even when the velocity command varies largely, as well as an improved resistance against disturbance. BRIEF DESCRIPTION OF DRAWINGS Fig. 1 is a block diagram of a positional control system, including a velocity control, intended for a servomotor; Fig. 2 is a block diagram of a velocity control section in an embodiment of the present invention; Fig. 3 is an explanatory diagram for explaining an adjustment gain to be found by a gain adjustment block in the embodiment; Fig. 4 is a block diagram of a principal part of a servomotor control in a machine for practicing an embodiment in accordance with the present invention; Fig. 5 is a flowchart of processing to be executed by a processor within a digital servo circuit in the same embodiment; Fig. 6 illustrates the state of positional deviations occurring when a rapid positioning is carried out by a conventional method; Fig. 7 illustrates the state of positional deviations occurring when a rapid positioning is carried out by the method of the present invention under the same conditions as in Fig. 6; Fig. 8 depicts the state observed when a circular cutting is effected by a conventional method; and Fig. 9 depicts the state observed when a circular cutting is effected by the method of the present invention under the same conditions as in Fig. 8. Fig. 2 shows a block diagram of a preferred embodiment of a velocity control section in accordance with the present invention, comprising a control block 2a, equivalent to a velocity control section (proportional plus integral control) 2 depicted in Fig. 1, and an additional block 2b for gain adjustment. More specifically, the control block 2a receives a velocity deviation (vd - v) in the same manner as the conventional velocity control section 2, and executes a proportional plus integral control to output a torque command Tc1. The gain adjustment block 2b finds a gain G for adjustment in compliance with the magnitude of the torque command Tc1, and multiplies the torque instruction Tc by the obtained gain G to output a torque command Tc2 for a motor and mechanical system. In this manner, the effective velocity loop gain is adjusted. In this embodiment, the gain obtained by the above-described gain adjustment block 2b is intended to be determined by using the following expression (1): G = Tc2 / Tc1 = 1 + Imax / (|Tc1| + δ) where δ is a parameter for determining the magnitude of the adjustment gain according to an object to be controlled, as well as according to a machine to be driven by a servomotor and its action; and Imax is a maximum output of the torque command (or drive current) available to the servomotor. Fig. 3 is a graphic description of an example of a relation between the torque command Tc1 and the gain G represented by the expression (1), in which the horizontal axis represents values (0 to Imax) of the torque command Tc1 received from the control block 2a. It is to be appreciated that the adjustment gain G increases as the parameter δ decreases. Moreover, the adjustment gain G increases as the absolute value of the torque command Tc1 output from the control block 2a decreases, whereas the adjustment gain G becomes closer to 1 as the absolute value of the torque command Tc1 increases. Fig. 4 is a block diagram showing a principal part of a servomotor control in a machine for practicing a servo control method in accordance with the present invention. The servomotor control comprises a controller 10 such as a numerical-control unit for controlling a machine, a shared memory 11 for receiving a variety of commands for a servomotor 14 issued from the controller 10 for the delivery to a processor within a digital servo circuit 12, the digital servo circuit 12 comprising a ROM, a RAM, and the processor, through which a position, velocity and current of the servomotor 14 are controlled; a servo amplifier 13 comprising a transistor inverter, etc.; the servomotor 14; and a position/velocity detector 15 for detecting a rotational position and velocity of the servomotor 14 for feedback to the digital servo circuit 12. The above arrangement is substantially the same as that in a known digital servo circuit for use in the servo motor control for robots, machine tools or the like. Fig. 5 is a flowchart of a series of processings to be performed by the processor in the digital servo circuit 12 for each position/velocity loop processing cycle. The processor in the digital servo circuit 12 reads a move command issued from the controller 10 by way of the shared memory 11 to find a move command d for each position/velocity loop processing cycle in the same manner as the conventional position loop control, derives a positional deviation by subtracting a positional feedback quantity received from the position/velocity detector 15 from the move command d and obtains a velocity command by multiplying the positional deviation by a position gain Kp (Step S1). A velocity deviation is then found by subtracting a velocity feedback quantity received from the position/velocity detector 15 from the obtained velocity command, and a torque command Tc1 is obtained through a proportional plus integral control in the same manner as in the conventional velocity control (Step S2). Substituting thus obtained torque command Tc1, value δ of the parameter being set in advance, and the maximum Imax of the drive current in the above expression (1), a gain G for adjustment can be obtained (Step S3). Then, the torque command Tc1 determined in Step S2 is multiplied by thus obtained gain G to establish an adjusted torque command Tc2, which is in turn passed to a current loop for the termination of the position/velocity loop processing in this cycle (Steps S4 and S5). These series of processes S1 to S5 are subsequently repeated for each position/velocity loop processing cycle. As described above, in addition to the torque command Tc1 derived through an ordinary velocity loop control processing, that is, the processing performed by the control block 2a in Step S2, the gain G for adjustment is found in Step S3 to finally establish the torque command Tc2 for the motor, that is, the product of the torque command Tc1 and the gain G (in Step 4). Thus, if not only the positional deviation and the velocity deviation but also the value of the torque command Tc1 are small, the torque command Tc1 is multiplied by a relatively large adjustment gain G to increase a velocity loop gain, thereby allowing the positional and velocity deviations to be sharply converged, which provides a highly responsive control system. On the contrary, if not only the positional deviation and the velocity deviation but also the torque command Tc1 are large, the adjustment gain G will have a small value, thereby not only preventing the entire velocity loop gain from increasing too largely but also consequently preventing the occurrence of a mechanical resonance. Figs. 6 and 7 are graphs illustrating the state of the positional deviations detected through experiments by both the conventional method (Fig.6) and the method of this embodiment (Fig.7), both using a parameter of Imax/2 and move command of a 25.4 mm for rapid positioning. In Figs. 6 and 7, the horizontal and vertical axes represent lapse of time and positional deviation, respectively, with one pulse corresponding to 1 µm (1p = 1 µm). In the conventional method, as is apparent from Fig. 6, overshoot and undershoot occur, and the positional deviations are not permitted to converge until approximately 180 msecs has elapsed, meaning that a certain lapse of time is necessary to complete the positioning. On the contrary, the method of the present invention shown in Fig. 7 presents neither overshoot nor undershoot, and requires a relatively short lapse of time such as 120 msec for the convergence of the positional deviations. Fig. 8 shows the cutting shapes obtained through circular cutting of 10-mm radius using the conventional method, while Fig. 9 shows the cutting shapes resulting from the circular cutting according to the method of present invention with the parameter of Imax/2. It is to be understood that the method in accordance with the present invention is much improved for cutting accuracy as is clear from Figs. 8 and 9, in which a circle designated by reference numeral 20 is a commanded circular shape, and an actual cutting circular shape is designated at 21. In this embodiment, the adjustment gain G has been derived from the arithmetic expression (1); however, any other suitable method may be employed as long as the adjustment gain G can be decreased when the torque command Tc1 is large but increased when it is relatively small depending on the magnitude of the torque command Tc1 received from the conventional velocity control section (or the control block 2a) instead of obtaining the adjustment gain G through the arithmetic expression (1). Furthermore, in the above embodiment, a torque command Tc1 (variable) and a maximum Imax (constant) of a motor drive current are used with a parameter of Imax/2 in determining the adjustment gain G by the expression (1); however, the value of the parameter need not necessarily be limited to the Imax/2 and to the value associated with the maximum Imax of the motor drive current. Still further, in determining the adjustment gain G without performing the arithmetic represented by the expression (1), the range of the magnitude of the torque commands to be outputted from the conventional velocity control section (or the control block 2a) may be divided into several regions, each being provided with a different adjustment gain, and then it is judged which region a torque command Tc1 falls under, to find an adjustment gain G corresponding to that region. In the above embodiment, a description has been made of an example of digital servo control; however, the present invention may be applied to any analog servo control. Further, in this embodiment, the control by the velocity control section is described in terms of a proportional plus integral control; however, the present invention may also be applied to a case of an integral plus proportional control. Furthermore, the present invention may also be applied to a case where a feedforward control is introduced into the position loop control. Further, the present invention may also be applied to a case wherein only the velocity control is performed without effecting the position loop control. To sum up, the present invention provides a servo control method, wherein the variation of the adjustment gain G decreases when the torque command Tc1 received from the velocity control section is large in magnitude but increases when it is small, whereby the convergence of both the positional deviation and the velocity deviation are accelerated to improve responsiveness; the occurrence of mechanical resonance is reduced or prohibited; and fluctuation or an overshoot or undershoot are reduced or prevented irrespective of a large variation in the velocity command, which cooperatively contribute to the improvement of the resistance against disturbance. As described above, according to the present invention, the gain is increased when the torque command issued from the velocity control is small in magnitude, to thereby enlarge the torque command for the drive of the servomotor. In consequence, both the positional deviation and velocity deviation can be converged rapidly to improve the responsiveness. On the contrary, the gain is restrained to a smaller value when the torque command is large in magnitude due to a larger original control quantity, thereby reducing or preventing the occurrence of mechanical resonance. This leads to a higher responsiveness and a higher resistance against disturbance, which enables us to obtain improved servo control characteristics being substantially free of mechanical resonance.

Claims: A method of controlling a servomotor, comprising adjusting velocity loop gain depending on the magnitude of a detected torque command issued from a velocity loop controller, the method being characterised by: decreasing the effective velocity loop gain by adjustment when the detected torque command is large in magnitude; and increasing the effective velocity loop gain by adjustment when said detected torque command is small in magnitude. A method of controlling a servomotor according to claim 1, comprising: dividing in advance the magnitude of said detected torque command into a plurality of regions of different magnitude; assigning a value of an adjustment gain for the velocity loop to each of said regions; judging which region the magnitude of a detected torque command falls under; and applying said adjustment gain corresponding to the judged region into which the detected torque command falls. A method of controlling a servomotor according to claim 1 or 2, wherein the detected torque command value Tc1 is derived from a velocity loop controller (2a) with a preset velocity loop gain, the thus-derived torque command value Tc1 is multiplied by an adjustment gain G which has previously been determined corresponding to said torque command value Tc1, and the thus-obtained multiplication product is employed as a torque command value Tc2 to be fed to the servomotor. A method of controlling a servomotor according to claim 3, wherein said gain G for adjustment is derived from the expression G = 1 + {Imax / (|Tc1| + δ)} where said torque command value Tc1 is a variable, Imax representing a producible torque command maximum is a constant, and δ represents a gain adjustment value set through a control system. A method of controlling a servomotor according to claim 4, wherein said gain adjustment value δ is determined by said producible torque command maximum Imax. A method of controlling a servomotor according to any one of claims 1 to 5, wherein the servomotor control includes a position loop in addition to said velocity loop. A method of controlling a servomotor according to any one of claims 1 to 5, wherein the servomotor control includes a position loop in addition to said velocity loop, and wherein a feedforward control is introduced into the positional loop. A method of controlling a servomotor according to any one of the preceding claims, wherein the servomotor control is effected by a digital servo. A method of controlling a servomotor according to any one of claims 1 to 8, wherein the servomotor control is effected by an analog servo.

Inventors: IWASHITA YASUSUKE FANUC, MATSUBARA SHUNSUKE, OKITA TADASHI FANUC, IWASHITA, YASUSUKE FANUC, MATSUBARA, SHUNSUKE, OKITA, TADASHI FANUC, IWASHITA, YASUSUKE FANUC DAI-3 VIRA-KARAMATSU, MATSUBARA, SHUNSUKE R 8-203 FANUC MANSHONHARIMOMI, OKITA, TADASHI FANUC DAI-3 VIRA-KARAMATSU 3527-1,
Applicants: FANUC LTD, FANUC LTD.
Application year: 1992
Main classification: G05D3
IPC codes: G05D3, G05B19