Proceedings of the American Control Conference Arlington, VA June 25-27, 2001
Fuzzy A d a p t i v e R o b u s t Control of a Class of N o n l i n e a r Systems 1 Y o n g g o n Lee 2
J.Q.
Gong 3
Abstract Fuzzy adaptive robust tracking controller for a class of uncertain nonlinear dynamical systems is proposed and analyzed. The controller's construction and its analysis involve sliding modes. The proposed controller consists of two components. Robust feedback component is employed to eliminate the effects of disturbances, while a fuzzy logic component equipped with an adaptation mechanism reduces modeling uncertainties by approximating model's nonlinearities on-line. Projection method is used to prevent the adaptation parameters from going unbounded in the presence of disturbances. It is shown that the closed-loop system driven by the proposed controller is stable and the adaptation parameters are bounded. A guaranteed transient performance and a guaranteed final tracking accuracy in the presence of parametric uncertainties and disturbances are achieved. Furthermore, if there are no disturbances and the unknown model's nonlinearities are within the approximation range of the fuzzy logic system, asymptotic output tracking is also achieved.
Bin Yao 3
Stanislaw H Zak 2
proximation errors and disturbances. In addition, we can utilize the linguistic information in designing the fuzzy logic component. For example, with the help from the experts, we can reduce the transient time and transient error by properly setting the membership functions of the fuzzy logic system and the initial values of the adaptation parameters. Hence, all available information about the plant is used to synthesize a high-performance controller.
2 Plant Model and Control Objective We consider a class of nonlinear dynamical systems modeled by the differential equation x ('~) - f (x) + g ( x ) u + q,
where x - [ x 5: -.- x(~_l) ]T is the state vector, u is the control input, the functions f = f (x) and g = g (x) are unknown to us. The function r / = q(t, x) is a model of system's disturbances. We assume that Iq(t, ~)1 _< d,
1 Introduction When a mathematical model of the plant is not available but rather its linguistic description from experts is available, fuzzy logic controllers may be useful. The controllers proposed in this paper integrate fuzzy logic and adaptive robust control (ARC) schemes. The adaptive robust controllers studied by Yao and Tomizuka [1, 2, 3, 4] combine robust feedback and adaptation capability together with the projection mapping method. The proposed controllers consist of two components. The robust feedback component eliminates the effects of the disturbances. The adaptive component reduces approximation errors and the projection operators prevent the adaptation parameters from going unbounded. As a result, ARC can achieve a guaranteed transient tracking performance and a guaranteed final tracking accuracy in the presence of ap1This work was supported by the National Science Foundation under Grant ECS-9819310 and CMS-9734345. 2 School of Electrical and C o m p u t e r Engineering, P u r d u e University, West Lafayette, IN 47907 3School of Mechanical Engineering, Purdue University, West Lafayette, IN 47907
0-7803-6495-3/01/$10.00 © 2001 AACC
(1)
(2)
where d > 0 is known to us. We further assume that the function g(x) has a positive lower bound, that is, there exists a positive constant g such that g(x) > g > O. Let -
-
...
denote the state vector of the desired state trajectory and let - x - = d - [ e
.--
e(
We wish to construct a control law u such that e(t) -+ 0 as t -+ oe. We propose a fuzzy adaptive tracking controller and show that the system (1) driven by the controller is stable and the adaptation parameters are bounded.
3 Background Results 3.1 F u z z y Logic S y s t e m Recall (see, for example, [5, page 118]) that a fuzzy logic controller with q inputs, V l , . . . , vq, and the center
4040
stay in some neighborhood of the sliding surface for all subsequent time. If f and g were known exactly to us and q - 0, then the controller
average defuzzifier can be represented as U
El=l l-I;=1 [tA; (Vj)Ol
--
z
rn ( y I ; = I # A ; ( V j ) ) E ,~- - - q - - - - - -
0l,
~=~ E~=I I]j=l~}(vj)
where m is the number of fuzzy rules used to construct the controller, A Nt is the j - t h fuzzy set corresponding to t h e / - t h fuzzy rule, ILA} is the membership function for A} and 0l can be taken as a center of t h e / - t h fuzzy set corresponding to the controller's output, u. Let
[
0
=
[ 01
1 "AI'(VJ)3
02
.--
, . .
0,~ ] r
and
j=l #a' (vj) ]
T
Hq~I:A?(VJ)
E2=1 1-Ij=l q #A'.(vJ) EF=I 3 Then, we can represent (3) as
d
Projection Operator Consider a vector-valued function of time,
.
o.~ (t) ]~ c a m,
O i - 0 _ i and a i ( t ) < 0 Oi - Oi and ai(t) > 0
Oi(t) ai(t)
=
o'(f-t-gu--x(n)-t-kTe)
(9)
l) - - / t o "2.
(10)
Thus, the sliding surface, {or = 0}, is asymptotically attractive and the system restricted to the sliding surface can be made asymptotically stable with respect to the origin by an appropriate choice of the parameters, si, of the sliding surface.
(5)
4 The Controllers
otherwise.
For compactness, we will use the notation Proj for the right hand side of (5). Then, we write
Oi(t) - P r o j o , ( a i ) ,
i -- 1, . . ., m,
(6)
or in vector notation,
O(t) - P r o J o ( a ). 3.3
~-crs-~-
Substituting into the above equation the control law given by (8) gives
where, Oi(t) - ai(t), i - 1 , - - - , m . We wish the components 0i(t)'s to lie between 0_i and 0i, that is, 0_~ _< 0.~(t) _< 0¢. One way to achieve this goal is by setting Oi(t) - 0 when Oi(t) reaches either of the bounds and tends to go beyond the bound, that is,
I O
d~ ~(~(~) - ~(d)k~) +
-
(4)
3.2
o(t) - [ Ol (t)
where k - [ 0 Sl --- s ~ - I ]T and # > 0 is a design parameter, would force the tracking error, e, to behave as desired. We can verify this using standard arguments from sliding mode control practice (see, for example [6] or [7]). We consider the function V - ½~r2. Note that V is positive definite with respect to the sliding surface ~r = 0. The function V can be viewed as a distance measure to the sliding surface {~r = 0}. The time derivative of V evaluated on the trajectories of the closed-loop system (1), (8) is
9
u - 0 T ~.
(8)
9
(3)
4.1 C o n t r o l l a w d e s i g n We assume that f ( x ) and g(x) are unknown to us and q ~ 0. We approximate f ( x ) and g(x) with fuzzy logic T T systems of the forms O ] ~ ] ( x ) and Og~,g(x), respectively. We denote by Of and Og "optimal" vectors such that
(7)
O*_f-argminolsupxealf(x)-O;~f(x)l, 0; - argmin0~ s u p x e a
Sliding Modes
Ig(x ) -
OgT~g(ve) 1'
Let s-
[ sl
s2
"'"
s~-I
1 ] EIR l x ~
and (r(e) = se. Then, {cr = 0} represents a sliding surface in the tracking error, e, space. The coefficients si of the sliding surface are chosen in such a way that the system (1) restricted to the sliding surface is asymptotically stable. We will propose fuzzy tracking controllers that force the tracking error to approach the sliding surface, {or(e) = 0}, at least asymptotically and then
where f~ C_ IR~ is a region in which the state x is constrained to reside. We assume that for all x C f~,
where df > 0, dg > 0 and each element of Of and Og is a constant and bounded below and above as follows
0j~ < 0;~ < ~j~, G5 0 is a design parameter. Using the definition of Ua in (14), we can represent (17) as
Theorem
x (n)
-
I
where u~ satisfies cr(f - O~ ~f + u~ + q) < e
with robust term u~ satisfying the following conditions,
u = u~-
]
Projo f (rfGSf)
(23)
1 -
--
x
X (cln) -- k T e
\
1 g
- ~ c r + u~.
and
cru~ < 0 ,
Then, we have: (i) G2(t) _< e x p ( - 2 p t ) G 2 ( 0 ) + ~; (ii)
if ri - 0 and there exists O} such that f(x) o*~T~j (~). th~. th~ o~igi, of th~ (~. C: )-~pac~ i~ stable, and hence G(t) and ¢ ] ( t ) are bounded for all t >_ 0 and e(t) -+ 0 as t --+ oo.
(20)
1 Consider the closed-loop system, Proof:
f+gu+q
Similar to the proof of Theorem 1.
•
1 Of
-
P r o j o ' (r.tG~f)
O~
=
P~oJo~ ( r ~ g ~ a )
(21)
4.2 S e l e c t i n g u~ in c o n t r o l l a w (17) We now discuss a method one can use to select the component u~ appearing in the control law (17). Let h I _> [[~f][ ][0] - ~_f[] and hg ~ [[~g[I ]]Og- ~-O-g[[[ua].
where u~ satisfies (18) and (19). Then, we have:
4042
Given the design parameter e, we select positive numbers ¢1, ¢2, ¢3, and g4 such that ¢ - ffl 4- if2 4- g3 4- g4. Then, us can be chosen as us -- -kso',
(24)
5 Simulation Experiment The controller is tested on a simplified model of an electric drive system used by Fischle and SchrSder [8] to test their fuzzy adaptive controllers. The plant is modeled by the differential equation,
where 5
ks>_ 1
d} + lual ~ 2
-d
~1
2
+ ~+
~+
~
" (~)
We will now verify that the above choice of us guarantees that (24) satisfies (18) and (19). We first consider the left-hand side of (18). We use OgF,gUa +
~(/)-k~
from (14), ~nd th~n ~dd ~nd subtract
0}~,~
cr(f - x(~)WkTe 4- gUa 4- gus 4- q)
cr(f--Oy~f -- OgT ~g?.t a
=
o'(f-O} T { f
-
¢~/
4- gUa 4- .(]?Is 4- ~)
+ (g
where x is the angular position, CT =10 N m / A , and J = 0.1 kgm 2. The reference signal Xd is generated by the reference system whose transfer function is given by 400/(s 2 + 4 0 s + 4 0 0 ) . The input signal, w(t), to the reference system is changing its value randomly between -1.5 and 1.5 every 0.5 seconds.
,T ~ 9 ) u ~
-
0g
|
-
¢~~
(30)
It is assumed that f ( x ) and g(x) are unknown to us and the control law (17) is employed. Unknown f ( x ) and g(x) are approximated by two separate fuzzy logic systems. We use fuzzy sets for x and 2 as in Fischle and SchrSder [8]. They are shown in Figure 1. There
and 09 T ~ u ~ to obtain
--
CT
5} -- - ~ arctan(5d:) + --fu - f(x, ~) -4- gu,
d~
+ g ~ + ~).
(26)
|
i
,
|
N
P
Performing some manipulations, we obtain
~(f
~(£) + k ~ + g~o + g~ + ~)
-
2
2
i
i
-2
-
|
2
~7~)
1
1
+
h~l,/-4
5 =~1 Jr- -~ffl Jr- 6-2 + 6-3 4. 6-4 "2 2
-
-
+
1
-
-
-
g
sat
(2S)
=
{2gn(x) I~1_ 1,1
,
|
t
N
-20
2
SN SP
,
|
|
t
P
LP
-15
-10
-5
0
5
10
15
20
F i g u r e 1: Fuzzy sets for x and d:. are two fuzzy sets for x and six fuzzy sets for 5~. Thus, we can have twelve fuzzy rules possible. They have the form:
where sat(x)-
|
LN
ot
(27)
~"
As an alternative to (24), we can use the following saturation controller, u~
1
dleV;
Hence, (18) is satisfied, and so is (19) by the fact that us - -kscr, where ks > 0.
b
0 X
v~ I~1 d~/~/V;]
4~dj/v~ +
-1
Rule i: IF x is N AND ~ is LN T H E N y -
0i
(29)
dj
+ .._ . . . . . . l l ° jllll~jll -o, + rig lull + II0~-o~ll I1~11l~al + d and 5 -- T'4~ It is easy to v~rify that th~ ~bow ~ ~tisfi~ (18) ~nd (19). The robust terms (24) and (28) are just examples of possible choices for us. Note that the designer can choose any signal for us as long as it satisfies (18) and (19).
where 0i, i -- 1 , . . . , 12 are the adaptation parameters. Same fuzzy sets are used in fuzzy logic systems for f ( x ) and g(x) . The bounds on the adaptation parameters are chosen as: 0 / i - 200, 0_A - - 2 0 0 , 0gj - 150, and 0_gj = 50. All the initial values of the components of the adaptation p a r a m e t e r vector O] are set to zero. Also the initial values of Og are set to 150 to avoid excessively large control signal in the early stages of the simulation run. If we had expert knowledge about
4043
the plant operation, we could use this information in selecting appropriately the initial values of the adaptation parameters. All the elements of F/ and Fg are set to 5000. The other design parameters are: # = 250, d/ = 50, dg = 50, cl = 50, c2 = 800, c3 = 600, and c4 = 50.
15
'
|
'
t 2
, 4
i 6
i 8
,
,
,
~
,
2
4
6
8
10 Time (sec)
-°I - 1 5l'0
We used SIMULINK to simulate the dynamical behavior of the closed-loop system. Its block diagram of the closed-loop system is depicted in Figure 2. The regres-
s2+40s+400
'
1
"~
10 T i m e se(:)
12
14
16
18
,
,
,
20
X 10 -3 2
'
,
1
,
~_~d
Electric I Parameter Adaptation
Controller
Drive
0
XI-L r
12
1
1
F i g u r e 3: Plots of x(t) and error e(t) versus time in Example 2.
1:t
F i g u r e 2: SIMULINK block diagram of the fuzzy adaptive robust control system in Example 2. sor generator block produces ~ from the input x and the parameter a d a p t a t i o n block updates 0/ and Og. The s vector that defines the sliding surface, {e : s e = 0}, was chosen as s = [ 40 1 ]. The disturbance, 7/, is a random signal, whose plot versus time is shown in Figure 4. We used d = 50 so t h a t the condition, ]q(t)l