Applied Soft Computing 11 (2011) 3441–3450
Contents lists available at ScienceDirect
Applied Soft Computing journal homepage: www.elsevier.com/locate/asoc
Feedback linearizing indirect adaptive fuzzy control with foraging based on-line plant model estimation Suvadeep Banerjee, Ankush Chakrabarty ∗ , Sayan Maity, Amitava Chatterjee Jadavpur University, Electrical Engineering Department, Kolkata 700 032, West Bengal, India
a r t i c l e
i n f o
Article history: Received 15 April 2010 Received in revised form 26 July 2010 Accepted 3 January 2011 Available online 11 January 2011 Keywords: Indirect adaptive control Fuzzy certainty equivalence controller On-line plant model identification Bacterial foraging optimization
a b s t r a c t The present paper describes the development of an indirect adaptive fuzzy control scheme employing feedback linearizing technique. The scheme proposes the development of a fuzzy certainty equivalence controller for controlling non-linear plants. This controller is designed on the basis of plant parameters estimated online at each sampling instant using bacterial foraging optimization (BFO) technique, a stochastic optimization technique, popularly employed in recent times. The utility of the proposed scheme is aptly demonstrated by implementing it to control the level in a surge tank under a variety of reference input commands, where the fuzzy controller could significantly out-perform the corresponding classical feedback linearizing controller and PSO-based fuzzy controller. © 2011 Elsevier B.V. All rights reserved.
1. Introduction Fuzzy logic has served as a tool for control engineering problems, vagueness in natural language and several other concomitant application problems for more than three decades [1–3]. Traditionally, fuzzy control is a pragmatic alternative to challenging control field problems since it provides a very simple and convenient method to design non-linear controllers based on the heuristic approach. Irrespective of the source of this heuristic control knowledge, the fuzzy controller provides a very user-friendly formalism and interface for presenting and implementing the notions currently established regarding the achievement of high performance control over real-time problems. However, fuzzy controllers, in their basic implementations, possessed some inherent problems [4,5]:(i) The design of fuzzy logic controllers (FLCs) is prepared in an ad hoc manner so that it becomes quite difficult to decide how the free parameters should be determined to achieve a particular control-level performance. For example, sometimes no a priori knowledge is available regarding the choice of the membership functions and rule base to meet a specific level of accuracy. (ii) Secondly, for the fuzzy controller developed for a nominal plant, unexpected and inadequate performance may result due to unpredictable changes in plant parameters due to presence of noise in control input or reference input and due to some other environmental effects. ∗ Corresponding author. E-mail addresses:
[email protected],
[email protected] (A. Chakrabarty). 1568-4946/$ – see front matter © 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.asoc.2011.01.016
To sort out these problems, the idea of adaptive fuzzy control emerged, which can produce a minimum performing controller initially for the nominal conditions and can automatically adapt the parameters and/or the structure of the controller in response to the changes of operating conditions and for load disturbances. There are two general approaches to adaptive fuzzy controllers as following:
(a) In one approach known as the direct adaptive fuzzy control (DAFC) [1,6–8], the “adaptation mechanism” observes and records the output signals from the plant and accordingly adapts the parameters of the associated controller to achieve a desired performance level in spite of fickle changes in plant behavior. Often the desired performance is achieved by characterizing this with a “reference model” and the closed-loop system is made to behave as the reference model will in spite of any changes in the plant. This concept is known as Model Reference Adaptive Control (MRAC). (b) In another general approach known as the indirect adaptive fuzzy control (IAFC) [1,9,10], an on-line plant identification method is incorporated to estimate the plant parameters. Subsequently a “controller designer” module is implanted which will determine the parameters of the controller from these estimates. If the plant parameters vary, the variation gets reflected in the estimate provided by the identification module and consequently the controller parameters will be tuned accordingly in each sampling instant. In this aspect, it can be assumed that the “certainty equivalence principle” is followed, which states that the estimated plant parameters are equivalent to the actual ones at all times. This implies that if the “controller designer”
3442
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
becomes successful in designing a controller for each set of plant parameters’ estimates, and if the plant parameter estimates do agree with the actual parameters at each sampling instant, within an arbitrarily small order of tolerance, one will succeed in controlling the plant. The present paper proposes an indirect adaptive fuzzy certainty equivalence controller, utilizing feedback linearization technique [11,16] and an online plant model estimation method employing bacterial foraging optimization technique [12,13]. The bacterial foraging technique is a recent procedure used for finding the solution of multi-dimensional global optimization problems. The basic concept of foraging theory is that any living form searches and obtains food nutrients in such a way so as to maximize their energy intake E per unit time T spent for searching food. Optimal foraging theory poses the foraging problem as a global optimization problem as if the concentration of nutrients available is centered at different points within a specified search space. Analogically, any multi-dimensional function having several local optima and a single global optimum can be considered as the search space for a living organism with the maximum amount of nutrients being concentrated at the global optimum. The foraging policy aims at finding a computational or analytical method to find out this global optimum by an evolutionary optimization algorithm. This foraging strategy is employed in the proposed algorithm included in this paper to obtain the plant parameters at any sampling instant based on plant input and output data stored, over a moving window. At each instant new plant parameters are identified, and accordingly the new control signal computed is expected to adapt to changes in operating conditions, reflected in the plant parameter estimates. The proposed algorithm is implemented for controlling a nonlinear plant, i.e., the level control of a conical shaped storage tank. The proposed controller could outperform a classical feedback linearizing certainty equivalence controller [14] for a variety of reference input commands. The proposed BFO-fuzzy controller could also outperform similar classical and fuzzy controllers designed using PSO algorithm, another popular stochastic optimization algorithm. The rest of the paper is organized as follows. Section 2 discusses an overview of the development of the feedback linearizing control law and then presents the design of the proposed fuzzy certainty equivalence controller. Section 3 discusses the bacterial foraging algorithm in detail and presents the related evolutionary optimization algorithm and how it is implemented in connection with plant estimation. Section 4 presents the performance evaluation, when the controller is applied to the level control problem for a surge tank. Finally, the conclusions inferred from the results are presented in Section 5.
Fig. 1. Basic control scheme in indirect adaptive control.
actual plant. Fig. 1 shows the indirect adaptive control scheme with a classical controller and Fig. 2 shows the same indirect adaptive control scheme with the fuzzy certainty equivalence controller, where both the control blocks of “controller designer” and “controller” of Fig. 1 has been concatenated to form a single block of “fuzzy certainty equivalence controller.” The mathematical representation of the plant under consideration is [1,15]: ˙ x(t) = f (x- (t)) + g(x- (t))u(t)
(1)
y(t) = h(x- (t))
(2) (x ∈ Rn ),
u is the scalar control input Here x is the state vector (u ∈ Rn ) and y is the plant output (u ∈ R). This model can be transformed to the following form: y(d) = ˛(x- (t)) + ˇ(x- (t))u(t)
(3)
Here y(d) gives the dth derivative of y and d gives the relative degree of the plant. It is assumed now that ˇ(x- (t)) ≥ ˇ0 > 0 for some arbitrary value of ˇ0 and for all x- (t). Then, for the plant in (3), the controller can be given as [1]: 1 [−˛(x- (t)) + v(t)] (4) ˇ(x- (t)) Substitution of this controller in (3) produces the resultant dynamics of the closed loop system as:
u(t) =
y(d) = v(t)
(5a)
2. Development of feedback linearizing control law using fuzzy certainty equivalence principle 2.1. Feedback linearizing control law In indirect adaptive control, the controller parameters are adapted by utilizing the information extracted about the plant model at each sampling instant. This necessitates the implementation of an on-line plant identification method that can estimate the parameters of a plant. In case of a nonlinear plant or a linear plant with time-varying parameters, this facilitates the development of a suitable non-linear control scheme. The scheme utilizes the indirect adaptive control philosophy to develop a fuzzy certainty equivalence controller, utilizing feedback linearization technique. A classical certainty equivalence controller is designed under the assumption that the estimated plant parameters, at any sampling instant, produce an equivalent plant that exactly represents the
Fig. 2. Proposed indirect adaptive control scheme with fuzzy certainty equivalence controller.
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
This represents the dynamics of a linear system with input v(t) which is achieved by implementing a controller that uses feedback to cancel the non-linear dynamics of the plant and it is replaced by v(t). The dynamics of the closed-loop system will now depend on the choice of v(t). The design of this feedback linearizing control law based non-linear controller is based on the assumption that the perfect knowledge of the plant dynamics is available. However, in practice, the precise knowledge of ˛(x- (t) and ˇ(x- (t)) will not be available. In those situations, an on-line identification method can be implemented to estimate the plant parameters ˛(x- (t) and ˇ(x- (t)) ˆ (t)) respectively, at each sampling instant. Then as ˛(x ˆ - (t)) and ˇ(x the certainty equivalence controller, in its classical form, can be implemented for feedback linearizing control law, with estimated plant dynamics, as: u(t) =
1 [−˛(x- (t)) + v(t)] ˇ(x- (t))
(5b)
ˆ (t)) → ˇ(x(t)), Ideally, if one can make ˛(x ˆ - (t)) → ˛(x- (t) and ˇ(x the controller will be close to achieve its control objective. The present work proposes the development of a fuzzy certainty equivalence controller, in its discrete form as: ˆ (k)), v(k + 1)) ˆ - (k)), ˇ(x uFuzzy (k) = F(˛(x -
2.2. Fuzzy certainty equivalence controller The fuzzy certainty equivalence controller proposed beforehand ˆ (k)) and r(k + 1) producing a sinaccepts three inputs of ˛(x ˆ - (k)), ˇ(x gle crisp output of uFuzzy (k). The primary task for the fuzzy logic controller is to fuzzify the input variables. Fig. 3 shows the membership functions for the input parameter of ˛(x ˆ - (k)) for fuzzification, where each input variable is fuzzified using three membership functions (MFs): Small (S), Medium (M) and Large(L). The fuzzy variables or the MFs for the input variables for the proposed fuzzy equivalence controller are given as:
⎧ alpha2 − ˛(k) ˆ ⎪ ⎪ ˆ < alpha2 ⎪ ⎨ alpha2 − alpha1 , alpha1 < ˛(k) 1, 0 < ˛(k) ˆ < alpha1 ⎪ ⎪ ⎪ ⎩ 0,
otherwise
Fig. 3. Membership function for ˛(k). ˆ
ˆ = L (˛(k))
⎪ ⎪ ⎪ ⎪ ⎪ ⎩
alpha3 − ˛(k) ˆ alpha3 − alpha2
0,
, alpha2 < ˛(k) ˆ < alpha3
(7b)
otherwise
⎧ ˛(k) ˆ − alpha2 ⎪ ⎪ ˆ < alpha3 ⎪ ⎨ alpha3 − alpha2 , alpha2 < ˛(k) (7c)
1, 0 < ˛(k) ˆ < alpha3 ⎪ ⎪ ⎪ ⎩ 0,
otherwise
ˆ ˆ ˆ ˆ M (ˇ(k)), and L (ˇ(k))) and The MFs for ˇ(k) (i.e., S (ˇ(k)), for r(k + 1) (i.e., S (r(k + 1)), M (r(k + 1)), and L (r(k + 1))) can also be described in a similar manner. The output is represented by singletons for the output variable, i.e., a zero order Takagi–Sugeno (TS) model. The fuzzy rule base consists of a collection of IF-THEN rules. A model rule j can be given as: (j) Rcont = IF x1 is Mj1 AND x2 is Mj2 AND x3 is Mj3
(6)
The controller developed will attempt to approximate a feedback linearizing control law and, at the same time, provide smooth variation in control energy. Here v is chosen to be the reference input, i.e., v(k + 1) = r(k + 1). Henceforth v(k + 1) will be written as r(k + 1).
S (˛(k)) ˆ =
M (˛(k)) ˆ =
3443
⎧ ˛(k) ˆ − alpha2 ⎪ ⎪ , alpha1 < ˛(k) ˆ < alpha2 ⎪ ⎪ alpha2 − alpha1 ⎪ ⎨
(7a)
THEN y is u Fuzzyj ,
j = 1, 2, . . . .., N
(8) T
ˆ where x = [x1 , x2 , x3 ]T = [˛(k), ˆ ˇ(k), r(k + 1)] , y = [u(k)], and Mj1 ∈{S, M, L}, Mj2 ∈{S, M, L}, Mj3 ∈{S, M, L}, u Fuzzyj ∈ u Fuzzy Here u Fuzzy = vector of singletons for controller output = [u Fuzzy1 , u Fuzzy2 , . . . . . . . , u FuzzyN ]T . Mj1 , Mj2 , and Mj3 give the fuzzy sets or MFs associated with the ˆ inputs ˛(k), ˆ ˇ(k) and r(k + 1), respectively. Each input is fuzzified using three fuzzy sets, denoted as Small (S), Medium (M), and Large (L). N is the total number of rules in the fuzzy rule base. The defuzzification is carried out by employing weighted average method. The crisp controller output u(k) is computed by the following equa-
Table 1 Fuzzy rule base for the certainty equivalence controller.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
˛(k) ˆ
ˆ ˇ(k)
r(k + 1)
uFuzzy (k)
Small Small Small Small Small Small Small Small Small Medium Medium Medium Medium Medium Medium Medium Medium Medium Large Large Large Large Large Large Large Large Large
Small Small Small Medium Medium Medium Large Large Large Small Small Small Medium Medium Medium Large Large Large Small Small Small Medium Medium Medium Large Large Large
Small Medium Large Small Medium Large Small Medium Large Small Medium Large Small Medium Large Small Medium Large Small Medium Large Small Medium Large Small Medium Large
6.45 11.50 11.50 2.58 8.54 11.50 1.61 5.34 9.06 −3.00 −3.00 1.25 −3.00 −3.00 0.50 −3.00 −3.00 0.31 −3.00 −3.00 −3.00 −3.00 −3.00 −3.00 −3.00 −3.00 −3.00
3444
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
Fig. 4. Flexible membership function for r(k + 1).
tion: uFuzzy (k) =
N j=1
(u Fuzzyj ∗ j (x))
N
(9)
(x) j=1 j
where j (x) = firing degree of Rule j =
3 i=1
j (xi ).
A (r(k + 1)) =
Without any loss of generality, these formation of MFs can be explained, citing the example of the input variable r(k + 1). It is considered that there are K number of MFs for the input variable r(k + 1) which are given as: A, A + 1, A + 2, . . ., A + (K − 1). Let the universe of discourse for the crisp values of r(k + 1) be [rmin , rmax ]. Then the successive membership functions for r(k + 1) can be given as:
⎧
rmin + D − r(k + 1) ⎪ , rmin < r(k + 1) < (rmin + D) ⎪ ⎨ D 1, 0 < r(k + 1) < rmin ⎪ ⎪ ⎩ 0,
(10a)
otherwise
⎧ r(k + 1) − r min ⎪ , rmin < r(k + 1) < (rmin + D) ⎪ ⎪ D ⎨
(r + 2D) − r(k + 1) A+1 (r(k + 1)) = min , (rmin + D) < r(k + 1) < (rmin + 2D) ⎪ ⎪ D ⎪ ⎩ 0,
A+(K−1) (r(k + 1)) =
(10b)
otherwise
⎧
r(k + 1) − (rmin + (K − 2)D) ⎪ , (rmin + (K − 1)D) < r(k + 1) < rmax ⎪ ⎨ D 1, 0 < r(k + 1) < rmax ⎪ ⎪ ⎩ 0,
(10c)
otherwise
The fuzzy rule base constructed for the controller is given in Table 1. The rule base is constructed while maintaining two criteria: (1) The input parameter r(k + 1) or the reference input was chosen to be a saw-tooth wave for the rule base presented in Table 1. (2) The plant input or the controller output u(k) is forcibly limited within a maximum–minimum bound so that unwanted disturbance on plant output can be smoothened as far as possible. The membership functions described above and the rule base presented serves as a sample system developed for a 3 × 3 × 3 fuzzy rule base. However, the actual system developed has a flexibility of implementing an n1 × n2 × n3 fuzzy rule base, where each ni (i = 1, 2, 3) can be chosen from a pool of different possible values. For each input, the MFs are so chosen for fuzzification that they are symmetric (Fig. 4).
This method of formulation is followed for each input variable. ˆ At each sampling instant new ˛(k) ˆ and ˇ(k) are estimated by using foraging based algorithms and these are used as the two inputs to determine uFuzzy (k). 3. Bacterial foraging optimization technique A preliminary study of the evolutionary history of all living forms on earth reveals that organisms with weaker “foraging strategies” are consequently eliminated due to the phenomenon of natural selection. Basically “foraging strategies” are methods for locating, handling and ingestion of nutrients [12,13]. In the quest for “survival of the fittest”, animals with the most productive “foraging policy” will enjoy reproductive success the most. Any foraging animal will try its best to maximize the energy intake per unit time spent foraging, depending on the physical restraints of its environment. This has provoked researchers to develop a numerical tool for optimization from this foraging policy. For this purpose the control behavior of the best understood microorganism Escherichia coli is
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
considered. The saltatory foraging policy of these bacteria (present in human intestines) can be classified into four actions, namely, chemotaxis, swarming, reproduction and elimination-dispersal. Let J() be the fitness or cost function to be minimized where represents the location of a bacterium in a p-dimensional search space, i.e., ∈ Rp . Strictly restraining the notations of foraging policy, it can be said that J() is the nutrient surface for the bacteria where any analytical description of the gradient J() is unknown. Positive, zero and negative values of J() represent noxious, neutral and nutrient-rich environments respectively. The aim of the technique will be implementing a particular type of biased random walk by the bacteria so that positions where J() ≥ 0 can be avoided. The loco-motile steps taken are mentioned below. 3.1. Chemotaxis In an environment full of chemo-attractants and chemorepellants, the swimming and tumbling locomotion of the bacteria, toward or away from any chemical stimuli, achieved by the controlled movement of flagella, is called chemotaxis. Alternate rotations of the bacterial flagella in clockwise and counterclockwise direction help the bacteria in swimming and tumbling. A tumble is represented by a unit length random direction of movement, say ϕ(j). The chemotactic movement can be mathematically depicted as: i (j + 1, k, l) = i (j, k, l) + C(i)ϕ(j)
(11)
where i (j,k,l) denotes the location of the ith bacteria after jth chemotactic step, kth reproductive step and lth eliminationdispersal step. C(i) represents the run length. If J(i,j + 1,k,l) is lower than J(i,j,k,l) then successive steps are taken similarly, but restricted by the maximum number of permissible steps (Ns ). 3.2. Swarming Due to inherent tendency of living organisms to pursue social foraging, E. coli bacteria flock together in a type of motion known as swarming. A particular cell can attract other cells by releasing cell-attractants and the same cell can repel other cells by releasing cell-repellants. These phenomena are modeled in the swarming step. The combined cell-to-cell attraction and repulsion can be expressed as: Jcc (, P(j, k, l)) =
S
i Jcc (, i (j, k, l))
i=1
=
S
i=1
S
+
i=1
3445
bacteria, so that the population remains constant. As mathematically inferred from the aforementioned statement, generally Sr is chosen to be equal to S/2. 3.4. Elimination-dispersal In the elimination and dispersal step, a bacterial colony may be completely eliminated due to environmental extremities or may be dispersed to a nutrient-rich or noxious environment. Each bacterium may be dispersed to a new search space or a different environment where it may find higher food concentration. It may also happen in the event that the past progress achieved by chemotactic process gets destroyed. Generally a bacterium undergoes numerous chemotactic steps before one reproduction step and finally several generations will be produced before one eliminationdispersal event occurs. The scheme proposed here uses only the chemotactic movement since online plant identification method requires fast response and the use of only chemotactic movement as the sole component of bacterial foraging technique improves the response time of the system. Also it was observed that the plant identification performance was quite satisfactory, when the foraging strategy was implemented with the chemotaxis step only. The complete BFO algorithm is presented in Algorithm 1. Algorithm 1 (The bacterial foraging optimization (BFO) algorithm [12,13].). BEGIN Initialize the parameters, C(i), i = 1,2,. . .,S. Also initialize all the counter values to zero. REPEAT: FOR l = 1 to Ned FOR k = 1 to Nre FOR j = 1 to Nc FOR i = 1 to S Compute J(i, j, k, l) Then let J(i, j, k, l) = J(i, j, k, l) + Jcc ( j (j, k, l), P(, j, k, l)) Jlast = J(i, j, k, l) Tumble: Generate a random vector (i) ∈ p Move: i (j + 1, k, l) = i (j, k, l) + C(i) √ (i) T (i)(i)
Compute J(i, j + 1, k, l) Then let J(i, j + 1, k, l) = J(i, j + 1, k, l) + Jcc ( i (j + 1, k, l), P(j + 1, k, l)) m=0 WHILE m < NS m=m+1 IF J(i, j + 1, k, l) < Jlast Jlast = J(i, j + 1, k, l) Move: i (j + 1, k, l) = i (j + 1, k, l) + C(i) √ (i) T (i)(i)
−dattract exp
−wattract
p
i 2 (m − m )
m=1
−hrepellant exp −wrepellant
p
i (m − m )
2
Use this i (j + 1, k, l) to compute newJ(i, j + 1, k, l), with cell-to-cell attraction effect ELSE m = NS ENDIF ENDWHILE ENDFOR FOR i = 1 to S i = Compute Jhealth
m=1
(12) Here Jcc (, P(j, k, l)) represents the additional cost function to be added. S denotes the total bacteria population, p denotes the dimension of the search space or rephrasing p denotes the dimension of the optimization problem. dattract , wattract , hrepellant , wrepellant are appropriate coefficients that have to be chosen accordingly. 3.3. Reproduction In this step, among the entire population of S bacteria, Sr bacteria die due to poor health and the Sr healthiest bacteria enjoy reproductive success and each of them splits up into two collocated
Nc +1
J(i, j, k, l) j=1
ENDFOR Sort bacteria in order of cost values of Jhealth Destroy Sr bacteria with the highest values of Jhealth (i.e. least healthy bacteria) Split each of the Sr bacteria with the lowest values of Jhealth into two and each such pair resides in the same original location of the parent ENDFOR FOR i = 1 to S Eliminate and disperse each bacterium with probability ped , keeping population of bacteria constant ENDFOR ENDFOR UNTIL termination criterion satisfied END
3446
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
4. Performance evaluation
To ensure that the liquid level never goes negative (which is physically impossible) the plant is simulated using
In this section a level control problem in a surge tank [1] is presented, as shown in Fig. 5. This aims to show how the designed indirect adaptive fuzzy controller with the help of bacterial foraging optimization based on-line plant model estimation approach performs in this aspect. The differential equation representing the dynamics of the surge tank system can be given as:
−c 2gh(t) 1 dh(t) = + u(t) dt A(h(t)) A(h(t))
(13)
where the variables are described as u(t), input flow(control input) (can be both positive and negative); h(t), liquid level(plant output); A(h(t)), cross-sectional area of the tank; g, 9.8 m/s2 (gravity); c, known cross-sectional area of the output pipe. Let r(t) be the desired liquid level in the tank and it is assumed that h(0) = 1. Furthermore, the area of the tank is given as A(h) = |a * h + b| where the nominal values of a and b are chosen as 0.01 and 0.2 respectively [14]. The discrete version of the plant, using an Euler approximation: √ h(k + 1) = h(k) + T
− 19.6h(k) 0.01h(k)+0.2
+
1 u(k) 0.01h(k)+0.2
h(k + 1) = ˛(k) + ˇ(k)u(k)
(14)
⎧ ⎪ ⎨ 50, u (k) > 50 ⎪ ⎩
u (k),
−50,
− 50 ≤ u (k) ≤ 50
u (k)
< −50
(16)
Now the proposed fuzzy certainty equivalence controller along with bacterial foraging based online plant model estimation is applied for this level control problem in the surge tank. Let ˛ (k) and ˇ (k) be defined in such a way that ˛(k) ˆ = ˛ (k) ∗ ˆ h(k) and ˇ(k) = (k) respectively. The bacterial foraging optimizaˇ
tion based plant identification algorithm is developed with number of dimensions, p = 2. The objective is to identify ˛ (k) and ˇ (k) at ˆ each sampling instant, so that ˛(k) ˆ and ˇ(k) approximate ˛(k) and ˇ(k) respectively, as closely as possible. Hence for this optimization problem, (k) = [ ˛ (k) ˇ (k)]T and the objective is to minimize the fitness function k
J((k)) =
i=k−kwm
2
(eh (i)) =
k
ˆ − h(i)) (h(i)
2
(17)
i=k−kwm
where T = 0.1
In particular, it is assumed that the plant input saturates at ±50 so that if the controller generates a control action u (k), the effective plant input would be
u(k) =
h(k + 1) = max{0.01, ˛(k) + ˇ(k)u(k)}
(15)
The optimization problem is configured as an unconstrained ˆ optimization problem. Here h(k) is the estimated plant output, i.e., the level of the surge tank at kth sampling instant and h(k) is the actual plant output at kth sampling instant. The estimated plant output is calculated as:
ˆ h(k) = ˛ (k − 1) ∗ h(k − 1) + ˇ (k − 1) ∗ uFuzzy (k − 1)
(18)
kwm is the size of the moving window, which determines, along with the present plant input–output samples, how many past plant input–output samples should be considered for system identification purpose. In this system, kwm is chosen as 100 and the control algorithm is initialized with ˛ (1) = 2 and ˇ (1) = 0.5 respectively. These initialized ˛ and ˇ values are kept unchanged for first k = kwm iterations, so that the plant identification procedure is activated only when the entire moving window is filled with plant input–output samples. These steps are in exact conformation with those employed in [14] for classical feedback linearizing certainty equivalence controller employed for the same surge tank level control problem. The complete proposed control scheme is described in Algorithm 2. The BFO parameters chosen are summarized in Appendix A. Hence the foraging algorithm is implemented with 100 chemotactic steps. The proposed fuzzy logic controller has been tested for four reference inputs, namely, square wave, saw-tooth wave, triangular wave and a noise signal. The quantitative assessment of the proposed controller is carried out with the help of two popular performance indices: Integral Absolute Error (IAE) and Integral Time Absolute Error (ITAE), given as:
IAE =
e(k) ∗ T (T = Sampling time)
(19)
k
ITAE =
e(k) ∗ kT 2 , where e(k) = r(k) − h(k) k
Fig. 5. Surge tank.
(20)
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
Algorithm 2 (Proposed BFO based indirect adaptive fuzzy control scheme). BEGIN Initialize plant parameters, BFO parameters (p, S, Nc , Ns ), total number of iterations (Niter ), moving window length for plant estimation (kwm ) Specify reference input (r) in time series form Specify actual plant initial output h(1) Specify actual plant dynamics (h(k + 1) = ˛(k) + ˇ(k)u(k))to determine initial ˛ and ˇ i.e. ˛ (1) and ˇ (1) Initialize bacteria population with all identical candidate vectors
T
3447
Table 3 Performance comparison between classical controller, BFO-fuzzy controller and PSO-fuzzy controller (with bacterial population 10). Reference input
Controller
Optimization technique
IAE
ITAE
Square
Classical Fuzzy Classical Fuzzy
BFO BFO PSO PSO
42.4458 35.2535 54.1374 48.8691
1263.0 831.8 2353.2 1609.4
Saw-tooth
Make initial estimates of plant dynamics: ˆ = ˇ(initial) ˛(1) ˆ = ˛(initial) ∗ h(1) and ˇ(1) ˆ Obtain the initial controller output: uFuzzy (1), using ˛(1), ˆ ˇ(1), and r ˆ ˆ Estimate initial plant output: h(1) = ˛(1) ˆ + ˇ(1) ∗ uFuzzy (1)
Classical Fuzzy Classical Fuzzy
BFO BFO PSO PSO
79.0813 57.4672 102.4668 83.6609
3138.2 1806.2 4595.1 3375.6
Triangular
FOR k = 2 to Niter ˆ − 1) ∗ uFuzzy (k − 1) ˆ − 1) = ˛(k Calculate actual plant output: h(k ˆ − 1) + ˇ(k IF k < = (kwm + 1) ˛ (k) = ˛(initial) ,and ˇ (k) = ˇ(initial) ELSE
Classical Fuzzy Classical Fuzzy
BFO BFO PSO PSO
77.4628 56.0048 91.5720 77.1283
3144.5 1872.6 4227.3 3408.8
Noise
Classical Fuzzy Classical Fuzzy
BFO BFO PSO PSO
76.8418 58.4387 93.8883 135.7624
3025.4 1910.9 4177.4 6658.1
˛(initial) ˇ(initial)
Apply BFO Algorithm to obtain the bacterium ˛ cost function J(k) =
k
opt ˇ opt
T
for which the
2
ˆ − h(i)) is a minimum. (h(i)
i=k−kwm
Make ˛ (k) = ˛−opt and ˇ (k) = ˇ−opt ENDIF ˆ ˇ(k) = ˇ (k); ˛(k) ˆ = ˛ (k) ∗ h(k) ˆ Estimate the plant output: uFuzzy (k) = F[˛(k), ˆ ˇ(k), r(k + 1)] Use fuzzy certainty equivalence controller to calculate: ˆ uFuzzy (k) = F[˛(k), ˆ ˇ(k), r(k + 1)] Calculate ˛(k) and ˇ(k) utilizing actual plant dynamics ENDFOR END
Table 2 Performance comparison for the fuzzy feedback linearizing controller, for different rule base sizes. Reference input
No. of MFs ˆ (˛(k)x ˆ ˇ(k)xr(k + 1))
No. of rules
IAE
ITAE
Square
3×3×3 6×6×6 8×8×9
27 216 576
178.7371 43.2915 36.2563
8909.5 1393.5 893.5
Saw-tooth
3×3×3 6×6×6 8×8×9
27 216 576
138.6439 82.4579 55.5923
6644.0 3192.1 1739.8
Triangular
3×3×3 6×6×6 8×8×9
27 216 576
131.0283 77.8159 55.2280
5959.1 3072.1 1816.3
Noise
3×3×3 6×6×6 8×8×9
27 216 576
76.3018 70.9965 51.9554
3072.9 2809.9 1706.6
Liquid Level (h) Reference Input (r)
10
8
6
4
2
0
0
10
20
30
40
50 60 Time (sec.)
70
80
90
100
b 7 Liquid Level (h)
Reference Input and Process Output
In Table 2 the different values of IAE and ITAE are presented for different choices of n1 , n2 and n3 , i.e., the number of membership functions considered for each input in the fuzzy controller. It can be easily appreciated that lesser values of IAE and ITAE represent more satisfactory performance of the controller. From the data presented, it becomes quite clear that with the increase in the number of membership functions, the controller performance improved. Hence an educated decision was to consider a 8 × 8 × 9 fuzzy rule base, i.e., ˆ 8 MFs for each of the input variables ˛(k) ˆ and ˇ(k). Next the proposed BFO-fuzzy controller is compared with the performance of the classical feedback linearizing certainty equivalence controller [14], which also incorporates the same bacterial foraging algorithm for online plant model estimation. Table 3 presents the comparison of the performance indices between these competing controllers. The results clearly indicate that the proposed BFO-fuzzy controller
Reference Input and Process Output
a 12
Reference Input (r)
6 5 4 3 2 1 0
0
10
20
30
40
50 60 Time (sec.)
70
80
90
100
Fig. 6. (a) h(k) and r(k) for square wave input in classical control scheme. (b) h(k) and r(k) for square wave input in proposed fuzzy control scheme.
3448
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
Table 4 Performance comparison between classical controller and BFO-controller where the varied parameter is the bacterial population. Reference input
Bacterial population
Controller
IAE
ITAE
Square
10
Classical Fuzzy Classical Fuzzy Classical Fuzzy Classical Fuzzy
42.4458 38.9948 39.6584 38.8845 38.2003 35.1834 37.9462 34.5542
1263.0 1051.0 1073.1 1024.9 1003.2 827.15 997.1439 813.8824
Classical Fuzzy Classical Fuzzy Classical Fuzzy Classical Fuzzy
79.0813 57.4672 77.5905 54.0039 76.0751 54.3293 75.7620 52.9307
3138.2 1806.2 3078.2 1656.8 3001.4 1665.2 2986.4 1596.9
Classical Fuzzy Classical Fuzzy Classical Fuzzy Classical Fuzzy
77.4628 56.0048 76.5912 55.1800 76.6544 54.5149 75.7823 54.0640
3144.5 1872.6 3140.1 1868.2 3160.2 1815.4 3163.0 1789.8
20 30 40 Saw-tooth
10 20 30 40
Triangular
10 20 30 40
could significantly outperform the controllers for each category of reference input commands. In addition to that, the performance of the proposed controller is also compared with a similar fuzzy controller designed using another popular stochastic optimization algorithm namely particle swarm optimization (PSO). This candidate controller is referred to as PSO-fuzzy controller. Table 3 also presents the performance comparison between BFO-fuzzy controller and PSO-fuzzy controller. Table 4 presents the comparison of the performance indices for the BFO optimization method used when the free variable varied is the bacterial population. In Tables 2 and 3 the results have been reported by computing values of IAE and ITAE using 10 trials and taking the arithmetic mean of the 10 values obtained. This ensures that the randomness introduced in the process of evaluation of the error parameters has been reduced considerably. From Table 4, it can be inferred that increasing the bacterial population size improves the performance of both controllers, with the associated disadvantage of increased computational burden. It can be observed that, in each case, the performance enhancement was quite small although the computation burden increased significantly, which is a prominent disadvantage for
a 8 Liquid Level (h) Reference Input (r)
Reference Input and Process Output
a 14 Liquid Level (h) Reference Input (r)
12
10
8
6
Reference Input and Process Output
7
6
5
4 3
2
1
4
0
2
0
10
20
30
40
50
60
70
80
90
100
Time (sec.) 0
b 0
10
20
30
40
50
60
70
80
90
Liquid Level (h)
Reference Input and Process Output
7 Liquid Level (h) Reference Input (r)
6
5
4
3
Reference Input and Process Output
Time (sec.)
b
7
100
Reference Input (r)
6
5
4
3
2
1
2
0
1
0
10
20
30
40
50
60
70
80
90
100
Time (sec.) 0
0
10
20
30
40
50
60
70
80
90
100
Time (sec.) Fig. 7. (a) h(k) and r(k) for saw-tooth wave input in classical control scheme. (b) h(k) and r(k) for saw-tooth wave input in proposed fuzzy control scheme.
Fig. 8. (a) h(k) and r(k) for triangular wave input in classical control scheme. (b) h(k) and r(k) for triangular wave input in proposed fuzzy control scheme.
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
3449
online plant identification-based controllers. Thus, a population size of S = 10 is chosen for further experimentation made in this work. To present a visual interpretation of the results reported in Table 3 and the control process carried out in reality, the representative plots of the liquid level h(k), reference input r(k), and the tank input uFuzzy (k) are shown in Figs. 6–8. These visual representations clearly indicate that the tank liquid level h(k) have smoother variations in case of the proposed BFO based feedback linearizing fuzzy certainty equivalence controller, in contrary to the abrupt spikes present in case of the classical feedback linearizing certainty equivalence controller. In all the figures it is noteworthy that the temporal variations of tank height h(k) follow the reference input r(k) more faithfully in case of the fuzzy logic controller than it does so in the case of the classical controller. These gave rise to smaller IAE and ITAE values for the proposed controller. So the figures are in complete conformity with the data presented in Table 3. Hence, a general conclusion can be well-derived that for a diverse variety of inputs, the feedback linearizing fuzzy certainty equivalence controller excelled over the other competing controllers.
Table A2 Range of fuzzy membership functions.
5. Conclusion
[1] K.M. Passino, S. Yurkovich, Fuzzy Control, Addison Wesley Longman, Inc., 1998. [2] C. Lee, Fuzzy logic in control systems: fuzzy logic controller—Parts I–II, IEEE Trans. Syst. Man Cybern. 24 (May (5)) (1994) 736–744. [3] T. Ross, Fuzzy Logic in Engineering Applications, McGraw-Hill, New York, 1995. [4] L.X. Wang, A Course in Fuzzy Systems and Control, Prentice-Hall, Englewood Cliffs, NJ, 1997. [5] D. Driankov, H. Hellendoorn, M. Reinfrank, An Introduction to Fuzzy Control, Springer-Verlag, New York, 1993. [6] J.R. Layne, K.M. Passino, Fuzzy model reference adaptive control for cargo ship steering, IEEE Control Syst. Mag. 13 (December (6)) (1993) 23–34. [7] W.A. Kwong, K.M. Passino, Dynamically focused fuzzy learning control, IEEE Trans. Syst. Man Cybern. 26 (February (1)) (1996) 53–74. [8] T.A. Johansen, Fuzzy model based control: stability, robustness and performance issues, IEEE Trans. Fuzzy Syst. 2 (August (3)) (1994) 221–234. [9] J.T. Spooner, K.M. Passino, Stable indirect adaptive control using fuzzy systems and neural networks, in: Proceedings of IEEE International Conference on Decision and Control, New Orleans, LA, December, 1995, pp. 243–248. [10] J.T. Spooner, R. Ordonez, K.M. Passino, Indirect adaptive fuzzy control for a class of discrete time systems, in: International Proceedings of American Control Conference, Albuquerque, NM, June 4–6, 1997, pp. 3311–3315. [11] Z. Lu, L.S. Shieh, G. Chen, N.P. Coleman, Adaptive feedback linearization control of chaotic systems via recurrent high order neural networks, Inf. Sci. 176 (August (16)) (2006) 2337–2354. [12] K.M. Passino, Biomimicry of bacterial foraging for distributed optimization and control, IEEE Control Syst. Mag. 22 (June (3)) (2002) 52–67. [13] M. Maitra, A. Chatterjee, A novel technique for multilevel magnetic optimal resonance brain image thresholding using bacterial foraging, Measurement 41 (December (10)) (2008) 1124–1134. [14] http://www.ece.osu.edu/∼passino/ICbook/Code/foraging adaptive ind.m. [15] J.E. Slotine, W. Li, Applied Nonlinear Control, Prentice-Hall, Englewood Cliffs, NJ, 1991. [16] A.S. Kamalabady, K. Salahshoor, A new adaptive neural network control scheme based on feedback linearizing technique for nonlinear processes, IEEE International Conference on Control Applications, September (2008) 571–576.
In this work, a scheme of feedback linearizing indirect adaptive fuzzy control with bacterial foraging optimization based online plant model estimation is presented. This control scheme is employed for level control of a surge tank. The performance of the proposed controller is compared with that of a similar scheme involving a classical feedback linearizing certainty equivalence controller and also similar controllers designed using PSO (in place of BFO). The quantitative presentation of performance indices and the graphical presentations demonstrate that the BFO based indirect adaptive fuzzy control scheme could significantly out-perform the competing controllers, for each type of reference input, thereby providing a superior alternative to classical control theory for future control system applications. The present work is devoted to the application of the proposed fuzzy control scheme to the problem of liquid level control in a surge tank. In future, it is intended to extend the work and test the feasibility of the proposed scheme in several other control applications and compare the performance against classical schemes. Appendix A. See Tables A1 and A2 .
Table A1 Notations of the bacterial foraging algorithm. Variable name
Description
Value chosen
S P Nc C(i) Ns
Population of the E. coli bacteria Dimension of the search space Maximum number of chemotactic steps Step size Swim length
10–40 2 1000 0.05 4
Type of input
Membership function
Min Val
Max Val
˛(k) ˆ
Membership 1 Membership 2 Membership 3 Membership 4 Membership 5 Membership 6 Membership 7 Membership 8
– −1.0 0.0 1.0 2.0 3.0 5.0 12.0
−1.0 1.0 2.0 3.0 5.0 8.0 12.0 –
ˆ ˇ(k)
Membership 1 Membership 2 Membership 3 Membership 4 Membership 5 Membership 6 Membership 7 Membership 8
– 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0.1 0.3 0.4 0.5 0.6 0.7 0.8 –
The ranges of membership functions of the input r(k + 1) are produced by a flexible scheme according to the specific input function.
References
Suvadeep Banerjee is currently a student of Electrical Engineering at Jadavpur University, Kolkata, India and is currently in the third year of his course. His academic interests include control systems engineering, genetic algorithms and bioinformatics. He also enjoys implementation of engineering applications using programming algorithms.
3450
S. Banerjee et al. / Applied Soft Computing 11 (2011) 3441–3450
Ankush Chakrabarty is currently a student of Electrical Engineering at Jadavpur University, Kolkata, India, and is currently in the third year of his course. His academic interests include control systems engineering, genetic algorithms and bio-systems engineering. He also has an avid interest in the innovation of new codes in MATLAB and C.
Sayan Maity is currently a student of Electrical Engineering at Jadavpur University, Kolkata, India and is currently in the third year of his course. His academic interests include control systems engineering and applied statistics. He enjoys interpretation of engineering concepts using mathematical and statistical tools.
Amitava Chatterjee received the B.E., M.E. and Ph.D. degrees in electrical engineering from Jadavpur University, Kolkata, India in 1991, 1994 and 2002 respectively. In 1997, he joined the Electrical Engineering Department, Jadavpur University, where he is currently a Reader. In 2003, he received the Japanese Government (Monbukagakusho) Scholarship and went to Saga University, Saga, Japan. In early 2004 he was invited as a TeacherResearcher in the University of Paris XII, Val de Marne, France. From November 2004 to November 2005, he was with the University of Electro-Communications, Tokyo, Japan, on a Japan Society for the Promotion of Science (JSPS) Post-Doctoral Fellowship for Foreign Researchers. His current research interests include intelligent instrumentation and control, signal processing, image processing, and robotics. He has authored or coauthored more than 65 technical papers, including 39 international journal papers.