servomotor velocity tracking using adaptive fuzzy ... - Google Sites

3 downloads 166 Views 263KB Size Report
Oct 31, 2007 - Phone: 52 55 50 61 37 39, Fax: 52 55 50 61 38 12 ... In robotics applications, a velocity loop controls t
SERVOMOTOR VELOCITY TRACKING USING ADAPTIVE FUZZY TECHNIQUES Rubén Garrido, Dora Calderon, Alberto Soria Departmento de Control Automático, CINVESTAV Av. IPN 2508 San Pedro Zacatenco, México DF 07360, MEXICO Phone: 52 55 50 61 37 39, Fax: 52 55 50 61 38 12 e-mail: [email protected] October 31, 2007

Abstract This paper proposes a stable adaptive fuzzy controller applied to a servomotor for velocity tracking of time-varying references. The control law is composed of two parts. The …rst part comprises a Proportional controller plus feedforward compensation. An adaptive fuzzy compensator corresponds to the second part and counteracts the e¤ects of nonlinear loads. The only a priori information about the servomotor parameters is a nominal value of the voltage input gain. A depart from current adaptive adaptive controllers is the fact that the proposed control law does not rely on a switching supervisor controller then avoiding chattering. Moreover, the desired time varying reference feeds the membership functions instead of using the measured velocity, which is contaminated by noise. In this way, less measurement noise is injected to the closed loop system. The Lyapunov stability method allows concluding uniform ultimate boundedness of the closed loop system solutions. Experiments performed on a laboratory prototype allow evaluate the proposed approach against a Proportional Integral controller endowed with feedforward compensation. Keywords: Fuzzy systems, Adaptive control, Velocity control, Servosystems, RealTime control

1

SERVOMOTOR VELOCITY TRACKING USING ADAPTIVE FUZZY TECHNIQUES Rubén Garrido, Dora Calderon, Alberto Soria Departmento de Control Automático, CINVESTAV, México DF MEXICO e-mail: [email protected] October 31, 2007

Abstract This paper proposes a stable adaptive fuzzy controller applied to a servomotor for velocity tracking of time-varying references. The control law is composed of two parts. The …rst part comprises a Proportional controller plus feedforward compensation. An adaptive fuzzy compensator corresponds to the second part and counteracts the e¤ects of nonlinear loads. The only a priori information about the servomotor parameters is a nominal value of the voltage input gain. A depart from current adaptive adaptive controllers is the fact that the proposed control law does not rely on a

1

switching supervisor controller then avoiding chattering. Moreover, the desired time varying reference feeds the membership functions instead of using the measured velocity, which is contaminated by noise. In this way, less measurement noise is injected to the closed loop system. The Lyapunov stability method allows concluding uniform ultimate boundedness of the closed loop system solutions. Experiments performed on a laboratory prototype allow evaluate the proposed approach against a Proportional Integral controller endowed with feedforward compensation. Keywords: Fuzzy systems, Adaptive control, Velocity control, Servosystems, RealTime control

1

Introduction

Velocity control of servomotors is a basic task widely employed in robotics and in Computer Numerical Control (CNC) machines to perform web winding, drilling, milling, and cutting. In robotics applications, a velocity loop controls the speed of the wheels of a mobile robot or the velocity of the motor shaft in an autonomous helicopter. Moreover, some position loop topologies may be decomposed into an inner velocity loop and an outer position loop where the later provides time-varying references for the former. Standard Proportional Integral (PI) controllers [11], are regularly used for velocity control of Direct Current (DC) motors when the desired speed is a constant value. Even if linear controllers perform very well in this case, for time-varying references they may su¤er from poor performance. Moreover,

2

nonlinear phenomena as Coulomb friction and nonlinear loads may also degrade performance. Several papers propose intelligent techniques to solve the problem of velocity control of servomotors, namely neural networks, fuzzy logic, and blends of both techniques. A number of approaches employ feedforward neural networks for velocity control [1], [2], [3], [4], [9]. A neural network based controller is proposed in [1] where a supervised gradient decent method using a delta adaptation law trains the neural network. Experimental results are performed using step responses; however, closed loop stability is not theoretically evaluated. References [2], [3], [4] and [9] propose neural network based controllers where a backpropagation algorithm trains the neural networks. Performance is evaluated by means of numerical simulations and experiments on laboratory prototypes, and heuristic stability arguments are employed for designing the controllers. Fuzzy techniques have been proposed for velocity control [6] or combined with linear PI controllers [7], [8] or sliding mode control [12]. In most cases, stability is evaluated only through experiments and no formal stability proofs are given. Fuzzy and neural network techniques have been combined for velocity control [5], [10]. In [5] a gradient descent method trains the neural network and the fuzzy controller resembles a multilayer neural network. In [10] a backpropagation algorithm trains the neural network and a fuzzy controller supervises its performance. In both papers, heuristic arguments are used for designing the controller and stability is veri…ed by means of simulations and experiments. The preceding review shows that all these works do not provide a rigorous stability proof for the closed loop system. Moreover, training is done using the backprop-

3

agation algorithm or the gradient descent method. A drawback of these methods is that they do not guarantee boundedness of the estimates they produce, a fact pointed out in the literature [15], and consequently, stability of the closed loop system could not be guaranteed. The aim of this work is to propose a stable adaptive fuzzy algorithm for velocity control of servomotors under time-varying references. It is composed of a linear part comprising a proportional action and feedforward compensation, and an adaptive fuzzy compensation where the consequences of the fuzzy rules are updated on-line. Compared with other adaptive fuzzy controllers found in the literature [13], [14], the proposed controller does not contain a switching term, therefore, chattering is avoided. Moreover, a depart from existing adaptive fuzzy approaches is that the time varying velocity reference feeds the membership functions instead of using the measured velocity, which is generally contaminated by noise. This method allows reducing the level of measurement noise entering to the closed loop system. The proposed approach assumes a nonlinear servomotor model and the only prior information is the nominal value of the gain a¢ ne to the voltage input. Uniform Ultimate Boundedness of the closed loop system solutions is assessed using the Lyapunov method. It is also shown that the size of the region of convergence depends inversely on the adaptation gain. Experimental results validate the proposed approach, which is compared against a PI plus feedforward controller. The paper is organized as follows. Section 2 deals with servomotor model and the proposed control law. is given in section . Section 3 exposes the stability analysis. Section 4 presents the experimental results. The paper ends with some concluding remarks.

4

2

Servomotor model and control law design

2.1

Servomotor Model

The following model of a servomotor and its associated power electronics is considered J x_ + h(x) = ku

(1)

where x is the angular velocity, J the servo inertia, unknown nonlinear term h(x) models linear and nonlinear mechanical friction or torques generated by loads such as fan blowers, and ku is the input torque where k corresponds to the ampli…er gain and u the input voltage. The power ampli…er is assumed to be con…gured in current mode. Further rewriting of (1) yields x_ =

f (x) + bu

(2)

where b = k=J and f (x) = h(x)=J. A priori knowledge of a nominal value bn of b allows writing (2) as follows x_ = = where g(x; u) = f (x)

f (x) + bu

bn u + bn u

(3)

g(x; u) + bn u

bu + bn u. Then, function g(x; u) includes uncertainties associated to

x and u. Velocity error and its time derivative are de…ned as

5

e = r

x

(4)

e_ = r_

x_

(5)

Substituting (3) into (4) yields e_ = r_ + g(x; u)

2.2

(6)

bn u

Adaptive fuzzy control law

A …rst attempt to stabilize system (6) is to use u=

1 [kp e + r_ + g(x; u)] bn

(7)

where r_ is a feedforward term, kp is a positive constant and g(x; u) is employed to cancel out the nonlinear term in (6). However, the downside of (7) is that function g(x; u) is unknown. Then, an estimate g^(x; u) is designed through a Fuzzy System [13]. To this end, note that function g(x; u) may be approximated in a compact set as g(x; u) = wT (x; u) +

(8)

where (x; u) =

1 M X

T 1 (x; u)

2 (x; u)

m (x; u)

m=1

6

m (x; u)

M (x; u)

(9)

and

m (x; u)

are the rule antecedent membership functions, constant vector w de…ned as T

w=

w1 w2

wm

corresponds to the rules consequences and

wM

is the approximation error. Fuzzy approxi-

mation (8) is built up using a Gaussian fuzzy…er, a minimum inference engine and a center average defuzzi…er. Fuzzy rules are de…ned as follows IF x is Aix AN D u is Buj T HEN g(x; u) is Em where i = 1; : : : ; px , j = 1; : : : ; pu , m = 1; : : : ; M ; M = px pu is the number of rules; Aix , Buj and Em are linguistic values, taken by the linguistic variables x ,u and g(x; u), with corresponding fuzzy sets

Aix (x),

j Bu

(u) and

m (x; u).

The terms wm are the numeric values of

the consequences. The AND conjunction operator between the fuzzy atomic propositions of linguistic variables x, u is performed as

m (x; u)

= min

Aix (x);

j Bu

(u) . The membership

functions are de…ned by Aix (x)

= exp

"

1 2

x

ci i

2

#

j Bu

(u) = exp

"

1 2

u

for i = 1; : : : ; px , j = 1; : : : ; pu , where ci and cj are their centers, and

cj j

i

2

#

and

(10)

j

correspond

to their widths. The following bounds are assumed k ( ; )k

k ; kwk

;j j

k

(11)

Since g(x; u) is unknown, it is not possible to compute an estimate w^ of w using knowledge of this function, therefore, an alternative method should be devised for obtaining an estimate 7

w. ^ Assuming that w^ is available, a …rst attempt to estimate g^(x; u) is g^(x; u) = w^ T (x; u)

(12)

Then, a control law similar to (7) is given by u=

1 kp e + r_ + w^ T (x; u) bn

(13)

Nevertheless, an algebraic loop appears because u depends directly on (x; u). A way to break the loop is to …lter out u through a …rst order …lter, i.e. u_ f = where

k1 uf + k2 sat(u)

8 > > > 1 > > > < sat(u) = u > > > > > > : 1

(14)

u > umax umax u
0. Its time derivative is given by : 1 1 ee_ + 2 w~ T w~ + uf u_ f V_ = kw kw

(21)

Substituting (18) and (14) into (21) yields V_

=

kp 2 1 e + ew~ (r; uf ) + ew[ (x; u) kw kw k1 u2f + k2 uf sat(u)

9

(r; uf )] +

: 1 1 e + 2 w~ T w~ kw kw

(22)

At this point, it is useful to set kp = kp1 kw and k2 = ks =kw and to consider an update law for estimating w^ :

jej w] ^

w^ = kw [ (r; uf )e :

(23)

:

Since w is constant, then, w^ =

w. ~ Therefore, using the above remarks (22) is written

as V_

kp1 e2

= +

k1 u2f +

1 ew[ (x; u) kw

(r; uf )] +

1 e + jej w~ T w^ kw kw

(24)

ks uf sat(u) kw

Now, let consider the following bounds obtained using (11), (15) and (19) ks uf sat(u) kw 1 ew[ (x; u) kw

ks 1 umax juf j ; e kw kw 2 k jej kw 1 jej kwk ~ kw 2

(r; uf )] kw

jej w~ T w^

k jej kw

2

2

+

4kw

jej

These inequalities allow to bound (24) V_

2

kp1 e +

k1 u2f

kw

jej kwk ~

1 2

2

1 + kw

2

4

ks umax juf j kw

Substituting the following new variables T

z =

B =

jej juf j

3

6 kp1 0 7 7 A=6 4 5 0 k1 T

2

4

2

+2 k +k 10

ks

+2 k +k

jej

(25)

into (25) yields 1 z Az + B T z kw

V_

T

min (A) kzk kzk

Then, condition V_

kw

jej kwk ~

2

1 2

kBk kw min (A)

(26)

kw

jej kwk ~

1 2

2

(27)

0 is ful…lled if z belongs to the region of convergence =

kBk kw min (A)

z kzk

The following proposition resumes the preceding analysis. Proposition 1 Consider model (1) in closed loop with the control law (16) where the consequences are estimated by means of (23) and (14), then, the solutions of the closed loop system are uniform ultimate bounded and the region of convergence may be set arbitrarily small by increasing kw , kp or k1 . Note that the size of the region of convergence depends explicitly on the adaptation gain, a depart from current approaches in adaptive fuzzy control [13]. Then, increasing kw decreases kBk =kw

4 4.1

min (A).

Experimental Results Experimental setup

A linear ampli…er based on the LM12CL power ampli…er circuit from National Semiconductor drives an 80 W , 12 V DC brush motor with an integrated tachogenerator. The 11

tachogenerator constant is 250 (rad=s)=V and a …rst order low pass analog …lter with a cuto¤ frequency of 70 Hz removes the high frequency content of the tachogenerator output. A MultiQ 3 card from Quanser Consulting performs data acquisition. Control algorithms were coded using MatLab/Simulink 5.2 software under the Wincon 3.02 real-time software. Sampling period was set to 1 ms.

4.2

Experiments

The proposed control law was implemented as follows. Motor velocity takes values from Lx = 0 to Hx = 725 rad=s and control input values lie in the range of Lu = 0 to Hu = 4 V . The number of rules was set to px = pu = 3. Using the above values the distance between each center was computed as dx =

Hu Lu H x Lx = 181:25 ; du = =1 px + 1 pu + 1

Then, centers and widths for membership functions (10) were computed as ci = Lx +i dx , cj = Lu + j du ,

i

= (Hx

Lx )=px = 241:66 and

j

= (Hu

Lu )=pu = 1:33 for i; j = 1; 2; 3.

Table 1 shows the corresponding numerical values for the centers. c1 x u

c2

c3

181.25 362.5 543.75 1

2

3

Table 1. Centers for the membership functions

12

The proposed algorithm was compared against the following Proportional Integral (PI) controller with feedforward compensation 2 3 Zt 1 4 kp e + r_ + ki e( )d 5 upi = bn

(28)

0

The experiments were conducted using as a reference r a sine wave plus a constant value

of 135 rad=s. The sinewave frequency was set to 1 Hz and the amplitude to 25:5 rad=s. Controller gains were set to kp = 15 and ki = 10 for the PI controller and kp = 15,

= 7500

for the adaptive fuzzy controller, and bn = 1 in both controllers. Fig. 1 shows the reference and output for each controller. Fig. 2 shows the errors for both controllers and Fig. 3 depicts the corresponding control signals. It is worth noting that the velocity measurement has still a high level of high-frequency noise in spite of the analog low pass …lter attached to the tachogenerator output, then, only for drawing purposes, the signals in the …gures mentioned previously were low pass …ltered again, however, this …lter does not plays any role on the control loop. Fig. 4 shows the …ltered reference and output for both control laws and the corresponding …ltered velocity errors are shown in Fig. 5; Fig. 6 depicts the …ltered control signal. Finally, Fig. 7 shows the un…ltered time evolution of the estimated consequences that remain bounded. From the above results, it is clear that the adaptive fuzzy controller outperforms the PI plus feedforward controller since it produces an smaller error using a similar control e¤ort. It is worth remarking that both controllers employ the same proportional gain, in this way, only the e¤ects of the integral action and the adaptive fuzzy compensation are evaluated. 13

Note also the relatively high adaptation gain

employed in the adaptive fuzzy controller.

Correspondingly, a high integral gain cannot be employed in the PI controller since it leads to overshoots and poor performance. Experimental tests not shown here for the sake of space con…rm this behavior. It is also worth remarking that the closed loop system is stable and the estimated consequences remain bounded in spite of the high noise level at the tachogenerator output. This result is remarkable since adaptive controllers are traditionally supposed to be not robust in face of measurement noise.

5

Conclusion

This paper proposes a stable adaptive fuzzy controller for servomotors for velocity tracking of time-varying references. The proposed control law does not use a switching supervisor controller, a technique employed in most of the adaptive fuzzy controllers proposed in the literature, thus, it does not generate chattering. The controller is composed of a term proportional to the output error, a feedforward reference signal, and an adaptive fuzzy compensator with membership functions depending on the desired velocity reference. The later term counteracts the torques generated by nonlinear terms and compensates for uncertainty on the parameter a¢ ne to the voltage control input. The Lyapunov stability method allows concluding uniform ultimate boundedness of the closed loop system solutions. Experiments in a laboratory prototype allow comparing the proposed approach against a linear Proportional Integral plus feedforward compensation controller. These results show that the proposed 14

controller exhibits better performance.

Acknowledgment The authors would like to thank to R. Lagunes, J. Meza and G. Castro for their technical support.

References [1] F.J. Lin, C.H. Lin, P.H. Shen, “Self-constructing fuzzy neural network speed controller for permanent magnet synchronous motor drive,” IEEE Trans. Fuzzy Systems, vol. 9, no. 5, pp. 751-759, October 2001. [2] Z. Liu, X. Zhuang, S. Wang, “Speed control of a DC motor using BP neural networks,” in Proc. 2003 IEEE Conf. on Control Applications, pp. 832-835. [3] M.A. Rahman and M.A. Hoque, “On-line self-tuning ANN-based speed control of a PM DC motor, ”IEEE/ASME Trans. Mechatronics, vol. 2, no. 3, pp. 169-178, September 1997. [4] A. Rubaai and R. Kotaru, “Online identi…cation and control of a DC motor using learning adaptation of neural networks,” IEEE Trans. Industry Applications, vol. 36, no. 3, pp. 935-942, May/June 2000.

15

[5] A. Rubaai, D. Ricketts and M.D. Kankam, “Development and Implementation of an Adaptive Fuzzy-Neural-Network Controller for Brushless Drives,”IEEE Trans. Industry Applications, vol. 38, no. 2, pp. 441-447, March/April 2002. [6] A. Rubaai, D. Ricketts and M.D. Kankam, “Laboratory Implementation of a Microprocessor-Based Fuzzy Logic Tracking Controller for motion Controls and Drives,” IEEE Trans. Industry Applications, vol. 38, no. 2, pp. 448-456, March/April 2002. [7] A. Rubaai, D. Ricketts and M.D. Kankam, “Experimental Veri…cation of a Hybrid Fuzzy Control Strategy for a High-Performance Brushless DC Drive System,” IEEE Trans. Industry Applications, vol. 37, no. 2, pp. 448-456, March/April 2001. [8] J.T. Teeter, M.Y. Chow and J.J. Brickely Jr., “A novel fuzzy friction compensation approach to improve the performance of a DC motor control system,” IEEE Trans. Industrial Electronics, vol. 43, no. 1, pp. 113-120, February 1996. [9] A. Tzes, P.Y. Peng and C.C. Houng, “Neural Network Control for DC Motor Micromaneuvering,”IEEE Trans. Industrial Electronics, vol. 42, no. 5, pp. 516-523, October 1995. [10] A. Tzes, P.Y. Peng, “Fuzzy Neural Network Control for DC Motor Micromaneuvering,” Trans. ASME, Journal of Dynamic Systems, Measurement and Control, vol. 119, pp. 312-315, June 1997.

16

[11] G. Ellis, Control System Design Guide, San Diego, USA: Academic Press, 2000. [12] C.F.J. Kuo, C.H. Hsu, C.C. Tsai, “Control of a permanent magnet synchronous motor with a fuzzy sliding-mode controller,”Int. J. Adv. Manuf. Technol, vol. 32, pp. 757-763, April 2007. [13] L.X. Wang, A Course in Fuzzy Systems and Control, Upper Saddle River, USA: Prentice Hall, 1997. [14] P. A. Phan and T. Gale, Two-Mode Adaptive Fuzzy Control With Approximation Error Estimator, IEEE Trans. Fuzzy Systems, 42 (2007), 943-955. [15] F.L. Lewis, S. Jagannathan and A. Ye¸sildirek, Neural network control of robot manipulators and nonlinear systems, London, UK: Taylor & Francis, 1999.

17

c1 x u

c2

c3

181.25 362.5 543.75 1

2

3

Table 1. Centers for the membership functions

18

FIGURE CAPTIONS

Figure 1. Reference r and output x for the PI and Adaptive Fuzzy controllers Figure 2. Velocity error e for the PI and Adaptive Fuzzy controllers Figure 3. Control signals upi and u for the PI and Adaptive Fuzzy controllers Figure 4. Filtered reference r and output x for the PI and Adaptive Fuzzy controllers Figure 5. Filtered velocity error e for the PI and Adaptive Fuzzy controllers Figure 6. Filtered control signals upi and u for the PI and Adaptive Fuzzy Controllers Figure 7. Time evolution of the estimated consequences w^

19

FIGURE 1

20

FIGURE 2

21

FIGURE 3

22

FIGURE 4

23

FIGURE 5

24

FIGURE 6

25

FIGURE 7

26