Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
0Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Automatic Rule Tuning of a Fuzzy Logic Controller Using Particle Swarm Optimisation

Automatic Rule Tuning of a Fuzzy Logic Controller Using Particle Swarm Optimisation

Ratings: (0)|Views: 84|Likes:
Published by SRINIVASA RAO GANTA

More info:

Published by: SRINIVASA RAO GANTA on Jan 07, 2014
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

01/07/2014

pdf

text

original

 
F.L. Wang et al. (Eds.): AICI 2010, Part II, LNAI 6320, pp. 326–333, 2010. © Springer-Verlag Berlin Heidelberg 2010
Automatic Rule Tuning of a Fuzzy Logic Controller Using Particle Swarm Optimisation
Gu Fang
1
, Ngai Ming Kwok 
2
, and Dalong Wang
2
 
1
 School of Engineering, University of Western Sydney, Locked Bag 1797, Penrith South DC 1797, Australia
g.fang@uws.edu.au
2
 School of Mechanical & Manufacturing Engineering, University of New South Wales, Sydney NSW, 2052, Australia
{nwkwok,dalong.wang}@unsw.edu.au
Abstract.
 While fuzzy logic controllers (FLCs) are developed to exploit human expert knowledge in designing control systems, the actual establishment of fuzzy rules and tuning of fuzzy membership functions are usually a time con-suming exercise. In this paper a technique, based on the particle swarm optimisation (PSO), is employed to automatically tune the fuzzy rules of a Mamdani-type of fuzzy controller. The effectiveness of the designed controller is demonstrated by the control performance of such an FLC to a nonlinear water tank system with process time delay. The results are compared favourably to a PSO tuned PID controller.
Keywords:
Fuzzy logic controller, Automatic rule tuning of fuzzy logic con-trollers, Particle swarm optimisation, Water tank control.
1 Introduction
Fuzzy logic controllers (FLCs) are developed to exploit human expert knowledge
 
in controlling various systems, in particular those ill-defined, nonlinear systems [1]. However, tuning of FLC to obtain optimal rules and membership functions (MFs) is a time consuming and often frustrating exercise [2]. To overcome these difficulties, various techniques have been reported to automate the tuning process of FLCs. An adaptive network based fuzzy inference system (AN-FIS) was introduced [3], where an adaptive neural network (NN) was used to learn the mapping between the inputs and outputs and a Sugeno-type of fuzzy system could be generated based on the neural network. A quantum NN was also used to learn the data space of a Tagaki-Sugeno-Kang (TSK) fuzzy controller [3]. More recently a hybrid learning algorithm is proposed to utilise particle swarm optimisation (PSO) for train-ing the antecedent part of an ANFIS while the consequent part is trained by an ex-tended Kalman Filter (EKF) [4]. This ANFIS is used as a system identifier. Evolutionary computation techniques such as the genetic algorithm (GA) and PSO are also attractive candidates in fuzzy controller design. The GA has been used in the automatic design of fuzzy controllers [5, 6] in the areas of mobile robotics where it is used in tuning both the fuzzy MFs and the fuzzy rule bases.
 
Automatic Rule Tuning of a Fuzzy Logic Controller Using Particle Swarm Optimisation 327
GA mimics the evolution of living species while the PSO was inspired by the natu-ral behaviour of animals in forming swarms [7, 8]. Due to its simplicity in implemen-tation, PSO has gained popularities in engineering applications, such as in image processing [9] and in system modelling [10]. A number of publications had also been reported in using PSO to automatically tune the FLC parameters, see for example, [11–14]. These methods were directed at tuning the membership parameters involved in the TS-type fuzzy controllers. In general, the PSO is used to perform the learning tasks that are usually associated with the NN in the TS-FLC. A PSO based fuzzy MF tuning method is also introduced to a fixed point control problem, i.e. parking a car into a predefined garage location [15]. In [16], a micro-GA was combined with PSO to optimise the FLC parameters. Two cases were studied in [16] where the FLC was first assumed to have a fixed number of membership functions while in the second case the MFs are set to be tuneable using the suggested evolutionary computation approaches. In [17], a PSO is used to tune the FLC based on multi-objective optimal functions to achieve best active control out-come for a multi-storey building. Although there are research results in the area of automatic fuzzy MF tuning [2], to the best of our knowledge, there is no report on using PSO for the Mamdani-type of fuzzy controller tuning that includes the adjustment of not only the MFs but also the fuzzy rule structure. In this paper, we propose to use a PSO to automatically deter-mine the optimal number of rules and the structure of the rules. This FLC is demon-strated in performing tracking control. In particular, we use the proposed FLC to control the water levels of a nonlinear water tank system that involves a time delayed response. This paper is organized as follows: section 2 briefly explains the PSO method and how it can be used in the FLC rule tuning process. In section 3, the simulation setup and control results are shown to demonstrate the effectiveness of the proposed FLC tuning method. Discussions are also given in section 3 where further comparisons between the proposed FLC controller and a PSO tuned PID controller are given. Conclusions are then provided in section 4.
2 Autonomous FLC Tuning Using a PSO
2.1 Particle Swarm Optimisation
PSO is a non-parametric optimisation method introduced by Kennedy [7, 8]. It is inspired by the formation of swarms by animals such as birds and fish. The principle behind the PSO is that each individual in the swarm, called a particle, will move to-wards the best performing particle (leader) in the swarm of
 N 
 particles while explor-ing the best experience each particle has. In particular, the velocity (
v
i
)
 
associated with each particle
i
, (
i
 = 1, 2, …,
 N 
) at time
+1 is calculated as:
v
i
(
+
1)
 =
η 
×
v
i
(
)
+
 µ 
1
×
(
 x 
gb
 
 x 
i
(
))
+
 µ 
2
 ×
(
 x 
i pb
 x 
i
(
)) (1) where
η
 is the momentum or inertia factor of the particle,
v
i
(
) is the velocity of the particle
i
 at time step
,
 x 
gb
 is the global best performing particle up to time step
 in the entire population,
 x 
i pb
 is the best experience that particle
i
 has had up to time step
.
 
328 G. Fang, N.M. Kwok, and D. Wang
 x 
i
(
) is the current location of particle
i
.
 µ 
1
 and
 µ 
2
 are random weighting factors that decides the influences of ‘global best’
 x 
gb
 and ‘personal best’
 x 
i pb
 particle to the move-ment of particle
i
. In general, these weighting factors
 µ 
1
 and
 µ 
2
 are chosen according to a uniform probability distribution function, and are within predefined limits. To limit the searching space,
v
i
(
+1) is also limited to be within a certain range. The new location of particle
i
 can be calculated as:
 x 
i
(
+
1)
 =
 x 
i
(
)
+
v
i
(
+
1) (2) The evaluation of the particle performance is based on a problem specific objective function that decides the ‘closeness’ of the particle to the optimal solution. For in-stance, if it is a problem that requires the minimisation of function
 
(
 x
(
)), then the ‘global best’ performing particle will be decided on the basis of
min
 x 
gb
 f 
(
x
(
τ 
)), where
.,,2,1
=
τ 
 (3) In (3),
x
 is a vector that represents
 N 
 particles in the swarm. Similarly, the ‘personal best experience’ of particle
i
 is determined by: ))((min
τ 
i x 
 x  f 
 pbi
, where .,,2,1
=
τ 
 (4)
2.2 PSO for FLC Rule Tuning
Fuzzy logic controllers are designed based on expert knowledge that is in the form of rule-based behaviour. In general the FLC rules are expressed in the form:
if input
 A
 is
 MF1
 A
 AND input
 B
 is
 MF1
 B
 THEN output
 is
 MF3
 c
(5) where antecedents
A
and
B
are expressed by membership functions (MFs)
MF1
A
.and
MF1
B
. The process that is used to calculate the overall control action in FLC is de-termined by different type of ‘defuzzification’ process [2]. Generally fuzzy rules expressed in (5) and the MF can be derived from expert knowledge. However, exact rule numbers and the relationships between the antece-dents
 A
 and
 B
 are difficult to derive. For example, it is difficult, sometimes, to de-termine if a rule should be “if
A
 AND
B
” or “if
A
 OR
B
”, or “if NOT
A
 AND
B
”, etc. Furthermore, the MF design that involves the determination of where in the variable space each membership function should locate is also a time consuming process. The rule bases can be automatically tuned using PSO if the relationship of antece-dents and consequences can be expressed using numerical values. In the MATLAB Fuzzy Logic Toolbox the fuzzy rule expressed in (5) is compressed by numerical values as:
1 1, 1 (1) : 3
 (6)
 
In (6) the first two ‘values’ represent the MF numbers associated with the two inputs (negative numbers can be used to represent the NOT function), the ‘value’ after the comma represents the relationship between the two inputs (1=AND and 2=OR). The value in the bracket is the weighting factor of this rule, while the last number after the colon represents the MF number associated with the output. Therefore, it is possible

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->