SELF ORGANIOZING FUZZY CONTROLLER FOR A NON-LINEAR TIME VARYING SYSTEM

This paper proposes a self organizing fuzzy controller as an enhancement level of the fuzzy controller. The adjustment mechanism provides explicit adaptation to tune and update the position of the output membership functions of the fuzzy controller. Simulation results show that this controller is capable of controlling a non-linear time varying system so that the performance of the system improves so as to reach the desired state in a less number of samples.


INTRODUCTION
While nonadaptive fuzzy control has proven its value in some applications, it is sometimes difficult to specify the rule base for some plants, or the need could arise to tune the rule-base parameters if the plant changes.This provides the motivation for adaptive fuzzy control, where the focus is on the automatic on-line synthesis and tuning of fuzzy controller parameters (i.e., the use of on-line data to continually "learn" the fuzzy controller, which will ensure that the performance objective is met).The most important advantage of adaptive fuzzy control over conventional adaptive control is that adaptive fuzzy controller is capable of incorporating linguistic fuzzy information from human operators (Layne and Passino 1996) .This is especially important for the systems with a high degree of uncertainty, such as chemical process and aircraft, because although these systems are difficult to control from a control theoretical point of view, they are often successfully controlled by human operators (Alci, Karabiyik and Karatepe 2003).
The first adaptive fuzzy controller called the linguistic self-organizing controller (SOC) was introduced in (Procyk and Mamdani 1979).Applications of this method have been studied by (R. Tanscheit and E. Scharf) for robotics applications and by (S.Daley and K.F.Gill) for altitude control of a spacecraft.More recently, the "fuzzy model reference learning controller" (FMRLC) was introduced in (Layne and Passino 1996) , its extensions in Kwong   The lower level is a controller whose two inputs are the error e and the change in error e.These are multiplied by two gains, e g and e g ∆ respectively.The output of the controller is the control variable u, which is multiplied by the output gain u g .(Jantzen 1998) The idea behind the self-organization is to let an adjustment mechanism update the rule base of the controller, based on the current performance of the controller.Basically, if the performance is poor, the responsible rule should be modified, such that next time that rule is visited, the control signal will be better.The higher level monitors error (e) and change in error ( e), then it modifies the rule base through a modifier algorithm when necessary.It uses a performance measure to decide the magnitude of each change.The performance measures are numbers, organized in a table P, expressing what is desirable, or undesirable rather, in a transient response.The table P can be built using linguistic rules, but it is often built by trial and error.The same performance table may be used with a different process, without prior knowledge of the process, since it only expresses the desired transient response.The controller can start from scratch with a rule base full of zeros; it will, however, converge faster towards a stable rule base, if the rule base is primed with sensible numbers to begin with.The SOC learns to control the system in accordance with the desired response.This is called training.At the sample instant n, 1-It records the deviation between the actual state and the desired state, and 2-It corrects the rule base of the controller accordingly.
The performance table P evaluates the current state and returns a performance measure ) , ( P where n i is the index corresponding to n e , and n j is the index corresponding to n e ∆ .Tables (1) and (2) are examples of early performance tables.Observing these two tables it seems that table (2) holds the zeros in a more or less diagonal band, while table (1) keeps them in a zshaped patch.If the performance measure is zero, the state is satisfactory, otherwise unsatisfactory to some degree.In the latter case the parameter change assumes that the control signal must be modified.It cannot be the current control signal that is responsible, however, because it takes some time before a control action shows up in the process output.The parameter change assumes that the plant output depends monotonously on the input.It is thus a requirement, for the SOC to function correctly, that an increase in the plant output calls for an adjustment of the control signal always in the same direction, whether it be an increase or a decrease.
The precise adjustment rule is The time subscript n denotes the current sample.In words, it regards the performance measure as an extra contribution to the control signal that should have been, in order to push the plant output to a state with a zero penalty.(Jantzen and Neils 2003) The proposed self organizing controller uses the adjustment rule so that the amount of shift of the output membership function centers is scaled by the     A Linear Approximation To The Performance Measure The original performance tables were built by hand, based on trial and error.Presumably, if the numbers in the table P are small in magnitude, many updates are required before the rule base of the controller converges to a steady rule base.Oppositely, if the numbers in P are large in magnitude, the convergence should be faster, but it may also be unstable.
Observing the two original performance tables, Procyk and Mamdani preferred to keep the zeros in a z-shaped region, while Yamazaki keeps them in a more or less diagonal band.As the zeros indicate no penalty, those states are desired.Assuming that the system stays within a zero band along the diagonal, keeping a zero diagonal is equivalent to keeping the sum of the rule base inputs at zero.A simple linear approximation to the table P is ) , ( P

DESIGN OF THE SELF ORGANIZING CONTROLLER
The self organizing controller has the following three main parts:

FUZZY LOGIC CONTROLLER
In this controller, a singleton fuzzification has been used so that the values of the membership functions are computed at the current input values (Passino and Yurkovich 1998) For the input variables (error e and change of error e), five triangular membership functions have been used.They are Negative Large (NL), Negative Small (NS), Zero (Z), Positive Small (PS), and Positive Large (PL).The indices of these membership functions are -2, -1, 0, 1, and 2 respectively.Each membership function is overlapped with the two adjacent membership functions by 0.5.The outermost two membership functions (NL and PL) are saturated.The equation of any one of these membership functions is where c is the center of the membership function.For the control output variable twenty five singleton membership functions have been used with there centers initialized at u=0.The reason behind using twenty five output membership functions e e is that each rule is assigned its own consequent membership function so that changing the consequent membership function of one rule has no effect on the other rules.The input and output membership functions are shown in Fig ( 2).
The rule base of this controller is given in table (3) below.This rule base was generated according to the following equation: where j i and are the indices of the input membership functions and ij Rule is the index of the output membership function.The inference step is taken by computing, for each rule, the implied fuzzy set.Defuzzification was achieved using center-average defuzzification technique, according to the following equation is the membership value for the premise of rule i which represents the certainty that rule i holds for the given inputs e and e, and R is the number of rules.

PERFORMANCE EVALUATION
The original performance tables were built by trial and error.Presumably, if the numbers in the table P are small in magnitude, many updates are required before the rule base of the controller converges to a steady rule base.Oppositely, if the numbers in P are large in magnitude, the convergence should be faster, but it may also be unstable.Observing the two original performance tables, Procyk and Mamdani preferred to keep the zeros in a z-shaped region, while Yamazaki keeps them in a more or less diagonal band.As the zeros indicate no penalty, those states are desired.Assuming that the system stays within a zero band along the diagonal, keeping a zero diagonal is equivalent to keeping the sum of the rule base inputs at zero (Jantzen and Neils 2003).A simple linear approximation to the table P is, ) , ( P The result is the following table : Table (4).Performance evaluation table of the self organizing controller.
NL(-2) NS(-1) Z(0) PS(1) PL( 2) PARAMETER CHANGE According to equation (1), the output of the controller at n-d, must be changed by an amount n p .This may be done by changing the centers of the output membership functions that were "ON" at time n-d by n p .Due to the loss of fuel resulting from combustion and exhaust the rocket has a time-varying mass.Furthermore, it can be determined by inspection of equation ( 8) that the system is a nonlinear process.The primary purpose for considering this control application is to investigate the capability of the self organizing controller for controlling non-linear time-varying processes.Fig. (3).shows the simulation results for a step response transient process.First the rule base of the controller was initialized so that the centers of the output membership function initialized at zero.Therefore the response of the first run has a large overshoot and a large settling time.After this run the rule base is changed so that for the same values of e and e the values of the control variable u will produce a better response.This is obvious in run 2. The problem that arises here is that while the rule base forces the control variable to enhance the transient response in terms of settling time, the overshoot get worse (become larger).The same thing is true for run 3, so that run2=run3.Also run i = run 2 for i >2.To get rid of this problem, the performance evaluation table (5) was used.This performance evaluation table is the same as that in table (4), the only difference is the cell that corresponds to (e, e) = (0, -1), which is here equal to -2 instead of -1.The result of applying the latter performance evaluation table to the rocket system is shown in Fig. (4).

Run 1 Run i, i>1
Table (5).A new performance evaluation table of the self organizing controller.Step response runs of the simulated rocket system with the new performance table.

CONCLUSIONS
A self-organizing controller of a fuzzy logic controller has been proposed as an enhancement level of the fuzzy controller.At any sampling instant each active rule is being incrementally changed according to the activation degree of this rule and the output of the performance evaluation unit so that the control surface is changing gradually in appropriate way to fit the process dynamics.This controller was used to control the velocity of a simulated rocket system, which is a non-linear time varying plant.Simulation results shows that the step response of the system was improved due to adjusting the rule base so as to reach the desired state (e, e) = (0, 0) in a less number of samples.
is to go back a number of samples in time to correct an earlier control signal.The parameter change must therefore know the time lag in the plant It goes back d samples comparable to the time lag; the integer d is called the delay-in-penalty.

-
is the center (position) of the ith output membership function associated with rule i, a single-stage rocket system was used to show the effect of the proposed self organizing controller in controlling the velocity of the rocket (Passino and Yurkovich 1998).The model of this system is given by ) velocity at time t (the plant output), ) (t y is the altitude of the rocket (above sea level), and ) (t c (the plant input) is the velocity of the exhaust gases.The constant values M, m, A, g, R, a ρ , d C are given in (Passino and Yurkovich 1998).
Fig. (4).Step response runs of the simulated rocket system with the new performance table.

Table ( 3
). Rule base of the fuzzy controller