SLIDING MODE CONTROL SYSTEM INCLUDING FEEDBACK OF AMOUNT OF TWIST

Abstract: A sliding mode control system including feedback of an amount of twist for controlling a servo loop, which comprises the steps of reading (SP1) of the positions of a servo motor and a mechanical operation portion driven by the servo motor, calculation (SP2) of an amount of twist as an error quantity, calculation (SP3) of a switch surface Suf from a value obtained by filtering the amount of twist, and selection (SP4, SP5 and SP6) of a switch input by this value to make sliding mode control. The amount of twist is filtered with a factor involving linear numerator and denominator. This filter serves to realize a system which has less vibration and is robust to inertia fluctuation.

Description: The present invention relates to a method of executing a sliding-mode control including a process of feeding back an amount of twist of a robot, and more particularly to a method of executing a sliding-mode control including a process of feeding back an amount of twist, the method being capable of reducing vibration by changing switching surfaces with a value which is produced by filtering the amount of twist. Background Art Some mechanical systems have mechanical actuators, such as robot arms, which allow the inertia of applied loads to vary greatly depending on whether the robot arms, for example, are extended or contracted and which include servomotors and associated mechanisms that have large speed reduction ratios. If those mechanical systems are controlled by the ordinary feedback control process, their responses are so slow that they are not practically feasible. In view of the above drawback, it has been customary to measure the spring constant and viscosity term of a mechanical actuator, such as a robot arm, in various postures thereof, and calculate a dynamically variable feed-forward term according to the conventional linear control method on an on-line basis for feed-forward control of the mechanical system. The applicant has filed Japanese Patent Application No. 1-117518 on a sliding-mode control method in which a torque command value is varied depending on the fluctuation of the inertia of a robot. The applicant has also filed Japanese Patent Application No. 1-253767 on a sliding-mode control method which is an improvement over the above sliding-mode control method. According to the improved sliding-mode control method, a switching plane for sliding-mode control is varied depending on a twist or positional difference between a servomotor and a mechanical actuator which is driven by the servomotor, and a twisting speed, i.e., the speed at which such a twist occurs. The above method is however disadvantageous in that it is necessary to establish a positional loop gain lower than a resonant frequency, and the servo rigidity is lowered. Disclosure of the Invention In view of the aforesaid difficulties of the conventional sliding-mode control methods, it is an object of the present invention to provide a method of executing a sliding-mode control including a process of feeding back an amount of twist, the method being capable of reducing vibration by changing switching surfaces with a value which is produced by filtering the amount of twist, so that the rigidity is maintained at a high level for reduced vibration. Y.Dote "Digital signal processor based variable structure control with observer for robot manipulator" discloses a variable structure control scheme for robot manipulators. In order to accomplish the above object, there is provided in accordance with the present invention a method of executing sliding-mode control of a servomotor to prevent vibration of a robot arm, the method comprising the steps of: feeding back an amount; and performing sliding-mode control of the servometer; characterised in that: the amount is an amount of twist, representing a positional difference between a servomotor and a mechanism actuator drivable by the servomotor, to a servo loop of the servomotor; and the control is performed with switching surfaces (Suf) selected by filtering the amount of twist with a filter having characteristics represented by a numerator and a denominator which are of a first order with respect to a Laplace operator (s). The amount of twist is filtered by a filter which has a numerator and a denominator which are of a first order. The filter allows a system to be realised which suffers less vibration and is robust against inertia fluctuations. In the drawings:- Fig. 1 is a flowchart of a method of executing a sliding-mode control including a process of feeding back an amount of twist according to the present invention; and Fig. 2 is a block diagram of a servo control loop for a robot controlled by the method of the present invention. Best Mode for Carrying Out the Invention An embodiment of the present invention will hereinafter be described with reference to the drawing. FIG. 2 shows a servo control loop for a robot controlled by the present invention. A host CPU 1 is a processor for controlling a robot control apparatus in its entirety. A ROM for storing a system program, a work RAM, etc., which are associated with the host CPU 1, are omitted from illustration. Position command values are written from the host CPU 1 into a shared memory 2. A digital servo circuit 3 for servo control is basically constructed of a DSP (digital signal processor). The digital servo circuit 3 reads a position command value from the shared memory 2 at a constant time interval, reads motor information from a feedback signal register 4, calculates a command for a servo system, and controls the positions, speeds, and currents of servomotors of respective axes in a robot 5. Various calculations for a sliding-mode control process, described below, are also carried out by the digital servo circuit 3. FIG. 1 shows a flowchart of a method of executing a sliding-mode control including a process of feeding back an amount of twist according to the present invention. In FIG. 1, numerals following the letters "SP" represent the numbers of steps. [SP1] A position command is read from the shared memory 2, and feedback pulses are read from the feedback signal register 4. [SP2] Position and speed errors are calculated. [SP3] The value of a switching surface Suf is calculated. When calculating the switching surface Suf, an amount of twist is filtered. Details will be described later on. [SP4] If Suf is positive, then control goes to a step SP5, and if not, then control goes to a step SP6. [SP5] Since Suf is positive, a switching input I is selected. The switching input will be described in detail later on. [SP6] Since Suf is negative, a switching input II is selected. The switching input will be described in detail later on. [SP7] An input to a current compensating loop is calculated. [SP8] Transfer of the input to the current compensating loop is carried out. According to a feature of the present invention, a value produced by specially filtering an amount of twist that is estimated by an observer is fed back to a switching surface in a sliding mode, for thereby realizing a robust system that is adaptable to inertia fluctuations in a spring system. Details will now be described below. A formula for calculating the switching surface Suf is given by: Suf = ε (1) + C * ε + D * ∫(ε + C * ε) -K * {(S + C)/(S + A)}(ϑ - ϑt) where {(S + C)/(S + A)} is a term indicating a filter used in the present invention, and (ϑ - ϑ t) in amount of twist. While a switching surface is generally represented by S, it is represented by Suf in this embodiment in order to avoid confusion between itself and an operator in Laplace transform. The various symbols in the above equation are defined as follows: Suf: switching surface, S: Laplace operator, ϑ: motor position, ϑr: position command value, ϑt: distal end position of the mechanical actuator, and ε: error in the position (ϑr - ϑ). The control of a robot will now be considered. If it is assumed that the inertia of a robot is indicated by J and an input torque applied to the robot is indicated by T, then the following equation is satisfied: J * ϑ (2) = T If D = 0 in the equation (1) for simplicity, then the following equations are satisfied: Suf = ε (1) + C * ε - K * {(S + C)/(S + A)}(ϑ - ϑt) T = J o* ω c* ε + J o* ω c* C * ε (1) + T1 where T1: switching input, J o : expected minimum inertia, ω c : constant which is determined subsequently, and εn: ϑ - ϑt. When the following input is given, it is possible to reach a switching surface necessarily according to a control process including feed-forward control. Here, the newly added term [ - K * {(S + C)/(S + A)}εn ] will be described below. The other terms will be omitted. If T1 = K1(ε) + K2(ϑr) + K6(εn) + K7(εn) , then K6(ε), K7(εn) are newly terms corresponding to a filler, and these terms will be described below. The other terms will be omitted as they are the same as those disclosed in the earlier Japanese Patent Application No. 1-253767. (a) At the time Suf ≧ 0 (the switching input I is selected in the step SP5 shown in FIG. 1), (ai) when εn ≧ 0 relative to the term K6(εn), K6(εn) = 0, when εn < 0 relative to the term K6(εn), K6(εn) = C * (J o - J MAX ) * K * {(S + C)/(S + A)} * εn , (aii) when εn (1) ≧ 0 relative to the term K7(εn), K7(εn (1) ) = - J o* K * {(S + C)/(S + A)} * εn (1) , and when εn < 0 relative to the term K7(εn), K7(εn (1) ) = - J MAX* K * {(S + C)/(S + A)}εn (1) . (b) At the time Suf < 0 (the switching input II is se lected in the step SP6 shown in FIG. 1), (bi) when εn ≧ 0 relative to the term K6(εn), K6(εn) = C * (J o - J MAX ) * K * {(S + C)/(S + A)} * εn , when εn < 0 relative to the term K6(εn), K6(εn) = 0, (bii) when εn (1) ≧ 0 relative to the term K7(εn (1) ), K7(εn (1) ) = - J MAX* K * {(S + C)/(S + A)}εn (1) , and when εn (1) < 0 relative to the term K7(εn (1) ), K7(εn (1) ) = - J o* K * {(S + C)/(S + A)} * εn (1) . When the switching input T1 is applied depending on the value of Suf, it becomes possible to effect a control process while suffering less vibration, without lowering the servo rigidity even if the inertia varies. It will hereinafter be proven that εn, εn (1) are effective to dampen vibrations of a spring model of a robot. When Suf become 0 in response to the above input, the following equation is satisfied: 0 = ε (1) + C * ε - K * {(S + C)/(S + A)} * εn (1) . Substituting n = ϑr - ϑ, ε (1) = ϑr (1) - ϑ (1) , and εn: ϑ - ϑt, subjecting the both sides to Laplace transform, and rearranging them, the following equation is obtained: (S + C)ϑr = (S + C + K)ϑ - K * {(S + C)/(S + A)} * ϑt A spring system is introduced, and it is assumed that constants of the spring system, which is primarily a speed reducer, are defined as follows: Bk: damping term, Kc: spring constant, and Jt: load inertia beyond the speed reducer. With respect to the spring system, the following equation is satisfied: (ϑt/ϑ) = (BkS + Kc)/(JtS² + BkS + Kc) (since Bk and Kc are small in general robots, they have poor damping and vibrate at low frequency). Solving the equation (4) for ϑ, putting it into the equation (3), and rearranging the same, the following equation is obtained: (ϑt/ϑr) = (BkS + Kc)/{(JtS² + BkS + Kc + KJtS²/(S + A)}. If A is reduced (specifically to the extent that (S + A) can be regarded as S at the resonant frequency of the above spring system), then the above equation can be rewritten as: (ϑt/ϑr) = (BkS + Kc)/{(JtS² + (Bk + KJt)S + Kc}. K represents a damping term, indicating that there is a vibration damping effect. It will now be proven that adaptability is compensated for by the switching input. By assuming εn = {(S + C)/(S + A)} * εn , the following equations are obtained: Suf = ε (1) + C * ε - K * εn (switching surface) T = J o* ω c* ε (1) + J o* ω c* C * ε + T1 (input). In the above equation, the symbol are defined as follows: T1: switching input, J o : expected minimum inertia, ω c : constant which is determined subsequently, and J * ϑ (2) = T (object to be controlled). If ε = ϑr - ϑ, then the following equations are established: ε (1) = ϑr (1) - ϑ (1) , and ε (2) = ϑr (2) - ϑ (2) where ϑ R : position command value, and ϑ : position which is fed back. Now, the equation: V = 1/2 * S² is considered as a Lyapunov function candidate (The minimum value of V is 0. If V < 0, then V converges to the minimum value of 0 as it monotonously decreases. Therefore, S always converges to 0, and the response is determined by a constant response function with Suf = 0). From the equation (5), the following equation is satisfied: Suf (1) = ε (2) + C * ε (1) - K * εn (1) . When the equation (8) is substituted into the equation (7), and the resultant equation is rearranged, the following equation is obtained: ε (2) = ϑr (2) - T/J. When the equation (6) is substituted into the equation (10), and the resultant equation is rearranged, the following equation is obtained: ε (2) = ϑr (2) - J o* ω c* ε (1) /J - J o* ω c* C * ε/J - T1/J . When the equation (11) is substituted into the equation (9), and the resultant equation is rearranged, the following equation is obtained: Suf (1) = (C - ω c* J o /J) * ε (1) - J o /J * ω c* C*ε - K*εn - T1/J + ϑr (2) When the equation (5) is solved for ε (1) , the following equation is obtained: ε (1) = S - C * ε + K * εn (1) . When this equation is substituted into the equation (12), and the resultant equation is rearranged, the following equations are obtained: Suf (1) = (C - ω c* J o /J) * S - C² * ε + (C - J o /J * ω c ) * K * εn - K * εn (1) - T1/J + ϑr (2) , and V (1) = S * S (1) = (C - ω c* J o /J) * S² - [C² * ε - (C - J o /J * ω c ) * K * εn + K * εn (1) + T1/J - ϑr (2) ] * S. If ω c = C * J MAX /J o , then the following inequality is satisfied: (C - ω c* J o /J) * S² < 0. In order to satisfy the inequality: V (1) < 0 at all times, the switching input T1 is determined so as to satisfy the following inequality: - [C² * ε- (C - J o /J * ω c ) * K * εn + K * εn (1) T1/J - ϑr (2) ] * S < 0, and only the vibration part is taken out, thus achieving the result described above. While the present invention has been described with reference to a mechanical actuator for a robot by way of example, the present invention is also applicable to any of various other mechanisms which are driven by servomotors. With the present invention, as described above, an amount of twist is subject to filtering to realize a servo system which suffers less vibration and is capable of well responding to commands without sacrificing the rigidity. As a consequence, there can be realized a robot which follows paths with high accuracy and suffers less vibration when moving at steady speed and less residual vibration when brought to a stop.

Claims: A method of executing sliding-mode control of a servomotor to prevent vibration of a robot arm, the method comprising the steps of: feeding back an amount; and performing sliding-mode control of the servometer; characterized in that: the amount is an amount of twist, representing a positional difference between a servomotor and a mechanism actuator drivable by the servomotor, to a servo loop of the servomotor; and the control is performed with switching surfaces (Suf) selected by filtering the amount of twist with a filter having characteristics represented by a numerator and a denominator which are of a first order with respect to a Laplace operator (s). A method according to claim 1, further comprising the step of obtaining the amount of twist to be fed back from estimation by an observer. A method according to claim 1, wherein a robot (5) is controlled by the sliding-mode control. A method according to claim 3, wherein the mechanical actuator is an arm of the robot (5). A method according to any of the preceding claims, further comprising the preliminary steps of: reading a commanded position from a memory; obtaining the servomotor position; calculating a position error, based upon the commanded position and the servomotor position, the differential of the position error, and the amount of twist; and comprising the additional steps of: calculating the switching surface (Suf) from the filtered twist amount, position error, and position error differential; selecting a switching input in accordance with the calculated switching surface; calculating the input to a current compensating loop controlling the servomotor dependent upon the selected switching input; and transferring the input to the current compensating loop.

Inventors: KATO TETSUAKI C O FANUC MANSIO, NIHEI RYO C O FANUC MANSION HA, TORII NOBUTOSHI, KATO, TETSUAKI, C/O FANUC MANSION HARIMOMI 8-101, NIHEI, RYO, C/O FANUC MANSION HARIMOMI 7-210, TORII, NOBUTOSHI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1990
Main classification: B25J9
IPC codes: G05D3, B25J9, G05B13