a novel bacterial foraging algorithm for

6
A Novel Bacterial Foraging Algorithm for Automated tuning of PID controllers of UAVs John Oyekan and Huosheng Hu School of Computer Science and Electronic Engineering University of Essex, Wivenhoe Park, Colchester CO3 4SQ, United Kingdom  Email: [email protected]; [email protected]  Abstract —Up to now, PID controll er s have been wi dely deployed in Unmanned Aerial Vehicles (UAVs) and other auto- matical control systems, and have the benet of simple tuning perf ormed by tria l and err or . Their applic ation s av oid some complicated modeling efforts however tuning these controllers do nee d exp er ien ced ope rat ors and may someti me s be time consu ming . This paper pre sents a nove l appr oach that could be used for the automatic tuning of a PID controller for a UAV. This approach relies on the bacteria foraging technique to guide the search for the optimal parameters of a PID control ler in the parameters search space. Experimental results show that the propo sed approach is able to impr ove the para mete rs chose n by the classical Ziegler Nicholas method.  Index Terms —Bacterium Inspired Algorithm, Environmental Monitoring, Flocking, PID control. I. I NTRODUCTION Up to no w, tuni ng a PI D (Proport ional- Inte gr at ion- Derivative) controller for UAVs and other automatic control systems is often performed by trial and error, including using classical methods such as Ziegler Nicholas, IFT methods, and among others . As we know , the Ziegler Nichola s clas sical method provides parameter values obtained from the critical gain K c of the syst em. The cr it ic al gain of a system is obtained by increasing the proportional gain until the sys- tem starts oscillating [1]. From this critical gain, the other parameters of the PID controller are obtained according to the Table I in the Appendix. Howe ver, these paramet er val ues somet imes need to be further tuned by a human ope rator to obt ain an opt ima l control of the system especially if the system is non-linear. Thi s tun ing somet ime s tak es a lon g ti me and requir es the knowledge of the system being tuned. In addition, optimal par ame ter s for the sys tem at the beginnin g mig ht not be the optimal lat er due to vario us fact ors such as wea r and tear tak ing pla ce in the sys tem, temper ature cha nge s and even hardware changes after system maintenance. As these changes take place, the system might need to be re-tuned to maintain an optimal operation and as a result, an adaptive controller is required. Approaches such as evolutionary and genetic approaches have also bee n used to tun e the PID contro lle r to obt ain an opti mal syst em opera tion[ 2][ 3]. These approaches often eliminate the need for human trial and error and present many optimal and efc ient solut ions because of their stochast ic searc h featu res. Howe ver, genet ic approa ches ofte n requi re that a multiple of solutions are running in parallel and the best solution chosen from them to run the system. This is often not possible on a single physical system. Oth er app roa che s to PID tun ing inc lude the Ext remum Seeking algorithm [4], the particle swarm optimization [5][6], and the bac terial foragi ng alg ori thm [7]. Pas sino used a bacteria inspired algorithm to develop a model based adaptive contro lle r for a sys tem [8], whi ch is based on bio logical concep ts such as swar ming, reproduct ion, dispersa l, elimi- nat ion wit h the che mot act ic beh aviour of the bac ter ia. In his work, the bes t mod el to use for the prese nt con dit ion of the system is chosen from a database of system models by using a swarm of bacteria agents. In our work, however, we do not use thi s biolog ica l concepts rat her rel y sol ely on the bacte ria for agi ng mod el dis cov ere d by Ber g and Bro wn [9] [10 ]. Dong and Jae use d a hybrid combi nat ion of Pa ssino’s alg ori thm with geneti c alg ori thm for tuning the PID controller for an AVR [13]. Other researchers have used Passino’s bacteria Algorithm in many ways, including improving SLAM [14][15]. The rest of the pap er is org anized as fol lows. Sectio n II briey int roduces the motiv ati on of thi s res ear ch. In Section III, the implementation of this proposed approach is described, including the introduction of bacterial algorithm, modications to the Berg and Brown model, using a simple simulated DC motor, and the plan implemented on a UAV. Some simula tio n res ult s are pre sen ted in Sec tio n IV to demonstrate the feasibility and performance of the proposed approa ch. Finall y, a brief conclusion and fut ure wor k are given in Section V. II. MOTIVATION In this paper, we pr es ent ho w we pl an to us e a novel bacteria inspired algorithm to tune the PID feedback loop of an Unmanned Aerial Vehicle. Our platform for consideration in this paper is the Dr aganFl yer V5 shown in Fi gure 1. This model uses Brushed Motors. As a result, the electrical properties of each motor changes as it is used due to wear 693 978-1-4244-5702-1/10/$26.00 ©2010 IEEE Proceedings of the 2010 IEEE International Conference on Information and Automation June 20 - 23, Harbin, China

Upload: moneykandan2004

Post on 07-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 1/6

A Novel Bacterial Foraging Algorithm for

Automated tuning of PID controllers of UAVs

John Oyekan and Huosheng HuSchool of Computer Science and Electronic Engineering

University of Essex, Wivenhoe Park, Colchester CO3 4SQ, United Kingdom

  Email: [email protected]; [email protected] 

 Abstract—Up to now, PID controllers have been widelydeployed in Unmanned Aerial Vehicles (UAVs) and other auto-matical control systems, and have the benefit of simple tuningperformed by trial and error. Their applications avoid somecomplicated modeling efforts however tuning these controllersdo need experienced operators and may sometimes be timeconsuming. This paper presents a novel approach that couldbe used for the automatic tuning of a PID controller for a UAV.

This approach relies on the bacteria foraging technique to guidethe search for the optimal parameters of a PID controller inthe parameters search space. Experimental results show that theproposed approach is able to improve the parameters chosenby the classical Ziegler Nicholas method.

  Index Terms—Bacterium Inspired Algorithm, EnvironmentalMonitoring, Flocking, PID control.

I. INTRODUCTION

Up to now, tuning a PID (Proportional-Integration-

Derivative) controller for UAVs and other automatic control

systems is often performed by trial and error, including using

classical methods such as Ziegler Nicholas, IFT methods, and

among others. As we know, the Ziegler Nicholas classical

method provides parameter values obtained from the critical

gain K c of the system. The critical gain of a system is

obtained by increasing the proportional gain until the sys-

tem starts oscillating [1]. From this critical gain, the other

parameters of the PID controller are obtained according to

the Table I in the Appendix.

However, these parameter values sometimes need to be

further tuned by a human operator to obtain an optimal

control of the system especially if the system is non-linear.

This tuning sometimes takes a long time and requires the

knowledge of the system being tuned. In addition, optimal

parameters for the system at the beginning might not be

the optimal later due to various factors such as wear andtear taking place in the system, temperature changes and

even hardware changes after system maintenance. As these

changes take place, the system might need to be re-tuned to

maintain an optimal operation and as a result, an adaptive

controller is required.

Approaches such as evolutionary and genetic approaches

have also been used to tune the PID controller to obtain

an optimal system operation[2][3]. These approaches often

eliminate the need for human trial and error and present many

optimal and efficient solutions because of their stochastic

search features. However, genetic approaches often require

that a multiple of solutions are running in parallel and the

best solution chosen from them to run the system. This is

often not possible on a single physical system.

Other approaches to PID tuning include the Extremum

Seeking algorithm [4], the particle swarm optimization [5][6],

and the bacterial foraging algorithm [7]. Passino used a

bacteria inspired algorithm to develop a model based adaptive

controller for a system [8], which is based on biological

concepts such as swarming, reproduction, dispersal, elimi-

nation with the chemotactic behaviour of the bacteria. In

his work, the best model to use for the present condition

of the system is chosen from a database of system models

by using a swarm of bacteria agents. In our work, however,

we do not use this biological concepts rather rely solely

on the bacteria foraging model discovered by Berg and

Brown [9][10]. Dong and Jae used a hybrid combination

of Passino’s algorithm with genetic algorithm for tuning

the PID controller for an AVR [13]. Other researchers have

used Passino’s bacteria Algorithm in many ways, including

improving SLAM [14][15].

The rest of the paper is organized as follows. Section

II briefly introduces the motivation of this research. In

Section III, the implementation of this proposed approach is

described, including the introduction of bacterial algorithm,

modifications to the Berg and Brown model, using a simple

simulated DC motor, and the plan implemented on a UAV.

Some simulation results are presented in Section IV to

demonstrate the feasibility and performance of the proposed

approach. Finally, a brief conclusion and future work are

given in Section V.

I I . MOTIVATION

In this paper, we present how we plan to use a novel

bacteria inspired algorithm to tune the PID feedback loop of 

an Unmanned Aerial Vehicle. Our platform for consideration

in this paper is the DraganFlyer V5 shown in Figure 1.

This model uses Brushed Motors. As a result, the electrical

properties of each motor changes as it is used due to wear

693978-1-4244-5702-1/10/$26.00 ©2010 IEEE

Proceedings of the 2010 IEEEInternational Conference on Information and Automation

June 20 - 23, Harbin, China

Page 2: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 2/6

Fig. 1. DraganFlyer Quadrotor [16].

Fig. 2. Nested Loop PID controller.

and tear. Due to this property, the optimal parameters used

for the PID controller would not suffice during the lifetime of 

the Brushed Motors. Furthermore, after an hardware change

(such as a change in motor or gear), the PID controller would

need to be re-tuned for the new hardware.

In our research, we used a nested loop PID controller

structure shown in Figure 2 to make the UAV hover at a

specific location. This PID controller relies more on theDraganFlyers dynamics in terms of velocity. To automate the

tuning process for the hover PID controller shown in Figure 2,

we propose using a Bacteria inspired algorithm and compare

the performance of our approach with the Ziegler Nicholas

method of tuning.

In order to test this approach, we first use a simple DC

motor in our simulations before moving onto the UAV plat-

form. In addition to the PID controller shown above, we have

three other PID controllers for controlling the altitude and

attitude of the DraganFlyer. For a detailed insight into how

we developed the control architecture for the DraganFlyer,

please refer to our works in [18] and [19].

III. SYSTEM IMPLEMENTATION

 A. Bacteria Algorithm

The implementation of our approach is based on the forag-

ing chemotactic behaviour of bacteria. The bacteria forages

by using two types of behaviour- a tumble behaviour and

a run behaviour. Whenever it is moving up a favorable food

gradient, it tumbles less and hence the run length is increased.

If however it is moving down or away from the favorable food

gradient, it tumbles more in order to find a favorable food

gradient and the run length is reduced. Berg and Brown were

the first to model this behaviour mathematically. Their model

is shown in Equations (1)-(3) [9][10]. Where τ  according to

Jackson is the mean run time, τ o is the run length in the

absence of food concentration [11]. Equation (4) describesthe probability of a tumble occurring within a time interval

Δt.

τ  = τ oexp(αdP b

dt) (1)

dP b

dt= τ −1m

 t

−∞

dP b

dt

exp((t − t)

τ m)dt (2)

dP b

dt=

kD

(kD + C )2dC 

dt(3)

P t = t

τ  (4)

α is a constant of the system based on the chemotaxis

sensitivity factor of the bacteria, P b is the fraction of the

receptor bound at concentration C . In this work, our C  is

the ISE  (Integral Squared Error) cost function obtained

from system. This would be discussed further in the next

section. K D is the dissociation constant of the bacterial

chemoreceptor. dP bdt

is the rate of change of  P b. dP bdt

is the

weighted rate of change of  P b.

This is used to simulate the exponentially decaying mem-

ory of an event on a bacterium system. In our work, we used

a 4-element memory to simulate the 4-second memory of a

bacterium [13][14]. τ m is the time constant of the bacterialsystem. The above equations determine the time between

tumbles and hence the length of runs between tumbles of a

bacteria. In our work, the above equations determine whether

to keep moving in the direction the search is going presently

or to change direction for a more favourable search in the

search space.

 B. Modifications to the Berg and Brown Model

The aim of our bacteria foraging model is to minimize

the cost function ISE  so as to obtain the best system

performance. We used a modification of the Equations (1)-

(3) above to explore the search space for the optimal PID

parameters.

Our approach to finding the optimal parameters for our

system is different from that followed by Kevin Passino in

[12]. Passino used the function in Equation (5) to develop a

biased random walk towards the food source.

θi( j + 1, k , l) = θi( j,k,l) + C (i)Δ(i) 

ΔT (i)Δ(i)(5)

694

Page 3: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 3/6

Fig. 3. Exponential Graphs of  ex and e−x.

Where j is the chemotactic index step, k is the reproduction

step and l is the index for elimination-dispersal. θi is the

position of the i-th bacteria, C(i) is the chemotactic step size

of the bacteria andΔ(i)√

ΔT (i)Δ(i)is a random vector used to

determine which direction the bacteria should proceed in. In

our own work, we use a completely different approach byusing the Berg and Brown Model directly.

In order to explain how we used the Berg and Brown

Model directly, we first focus on Equation 1 in which the

exponential function can be described by the graph shown

in Figure 3. τ  can be seen as the frequency of tumbles

in the presence of concentrations. If there is a high food

concentration C  in the environment, the frequency of tumbles

and hence τ  would be of a small value as the bacteria would

not need to tumble to search for more favorable food sources.

If however there is a small food concentration C  in the

environment, the frequency of tumbles would be higher as

the bacteria would need to search for more favourable food

sources.

However, since we are trying to minimize a ISE  cost

function to obtain the best system performance, we would be

looking for the minimum food concentration. As a result, we

used the function e−x shown in Figure 3. This would ensure

that when we have a high ISE  cost function due to some

chosen PID parameters, we try to move away from those

parameters so that we can obtain a small ISE  cost function.

In our work, we use the τ  as the length our bacteria agent

has to travel. A high ISE  cost function would result in a large

τ  length in the search space as the bacteria agent ”tries”

to jump away from that location in the search space. As

we get smaller ISE ’s, the τ  value reduces because we aregetting closer to the desirable parameter values in the search

space. This results in a high resolution search in the parameter

search space. The resolution depends however on the chosen

τ o value before simulation. Choosing a too small value could

result in local optimum trapping or longer time in converging

at the global optimum. Choosing a large value would result

in too large jumps and a lack of resolution in finding the

optimal parameters.

By following this approach, we come up with the Equa-

tions (6) to (8).

BactP t+1 = τ  ∗ cos(randAngle) + BactP t (6)

BactDt+1= τ  ∗ sin(randAngle) + BactDt

(7)

BactI t+1 =

I ZN + ∗

K ∗

τ  (8)

Where I ZN  is the integral parameter value chosen by the

Ziegler Nicholas approach of tuning as in [17]. The variable

randAngle is a uniformly distributed random number gener-

ator producing numbers between 0 and 360. The constant K 

is a factor chosen to regulate the amount of  τ  affecting the

I ZN  value. This would enable the algorithm search around

the optimal K I  value in search of a better value.

In our simulations, we set a minimum of zero ISE  as the

requirement that our bacteria algorithm should achieve. We

used a τ o of 10 in our work. We tackle the problem of 

local minimum by introducing a random element in the dC 

dt

component as shown below:

dC 

dt= ((randomno ∗ pastISE )− presentISE ) (9)

C. Using a Simple Simulated DC Motor:

As mentioned previously, before testing on the real UAV,

we implemented our approach first on a Simple DC Motor

Model described mathematically as:

J d2θ

dt2+ b

dt= Ki (10)

Ldi

dt+ Ri = V  −K 

dt(11)

Where V  is the input armature voltage in volts, J  is the

moment of inertia of the rotor, b is the damping of the

dc motor, K  is the back electromotive force constant, R is

the electric resistance, L is the electric inductance, ω is the

angular velocity of the shaft in radians per second and θ is the

shaft angle in radians. We set J  = 0.100kg−m2, L = 2.75H ,

R = 4Ω and b = 3.5077Nms in our experiments.

In order to enable us to evaluate the effect of the new PID

parameters on the DC motor, we used the ISE  cost function

as shown in Equation 12.

ISE  =

 20t=0

e ∗ edt (12)

The range of  t = 0 to 20 for the error e was chosen so as

to give enough time for the transient responses for the motor

to die away after each parameter change. We used the system

architecture shown in Figure 4. The error for the ISE  is the

error between the setpoint or desired speed for the motor and

the present speed of the motor. The cost value of the ISE  is

then passed to the Bacteria Chemotaxis algorithm to be used

to calculate the new K P , K D and K I  parameters. These are

695

Page 4: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 4/6

Fig. 4. Architecture used in our experiment.

passed to the PID controller to generate a new voltage and

hence speed for the DC Motor.

As mentioned previously, after each parameter change, we

ran the motor for about 20 seconds so that the transient

responses would die away before implementing another set

of new parameters. For each experiment, we first set the

K P , K I , and K D parameters to the new values obtained

from the bacteria algorithm in the previous run so that

K P  = BactP t+1 , K D = BactDt+1, and K I  = BactI t+1.

This made our algorithm move towards the minimum ISE 

cost value.

 D. Planned Implementation on the UAV 

In order to use our Bacteria Algorithm on the UAV , we

first used the Ziegler Nicholas method to get safe working

K P , K I  and K D parameters. We then establish reasonable

boundaries for each parameter so as to prevent unreasonable

parameters. This is similar to the approach carried out in [17].

In our previous work [15][18], we implement the UAV 

control system so that we can control the location of the

UAV  by setting new co-ordinates for the PID controller to

work upon. We used a VICON  motion capturing device to

capture the altitude and attitude of the UAV  and then respond

accordingly. The experiment was conducted in the University

of Essex robot arena.

We plan to use the same setup in this work. For desired

setpoints, the UAV  will take off at location (0,0) to an altitude

of 1000mm in the Robot arena. It would then be commanded

to fly to a location of (0,1000) whilst maintaining the altitude

of 1000mm. set off from the time the command is issued

and allowed to run for 20seconds. During this time, the

 ISE  for each axis is recorded and stored. After 20 seconds,

the Bacteria Algorithm is ran with the present ISE  and anew set of parameters obtained. A command is then issued

to return the UAV  to position (0,0) and the ISE  recorded

and stored again. This process is repeated 10 times. At the

end of 10 iterations, the lowest ISE  value is obtained and

compared with the previous ISE  value obtained from the

Ziegler Nicholas approach. If the newly obtained ISE  value

is worse than the old ISE  value, then the old parameters are

kept, if not the new parameters are used.

The pseudocode for this is shown in Algorithm 1.

Algorithm 1 Using Our Modified bacterial Algorithm to tune

the PID controller.

1: Initialise Bacterial Algorithm parameter values

2: Set DC Motor parameter values

3:

update PID controller with Ziegler Nicholas gains4: P GAIN = ZN P GAIN 

5: I GAIN = ZN I GAIN 

6: D GAIN = ZN D GAIN 

7: run DC Motor simulation

8: ZN ISE = calculate and record ISE value

9: while stop = TRUE  do

10: run DC Motor simulation

11: BACT ISE = calculate and record ISE value

12: if  BACT ISE  < PREVIOUS ISE  then

13: BEST ISE = BACT ISE 

14: BEST KP = P GAIN 

15: BEST KI = I GAIN 

16: BEST KD = D GAIN 17: end if 

18: if  No of iterations == MAX NO OF ITERATIONS

 then

19: stop = TRUE 

20: end if 

21: PREVIOUS ISE = BACT ISE 

22: pass ISE value to Bacterial Algorithm

23: Obtain P, I and D gain values from the Bacterial

 Algorithm

24: P GAIN = BACT P GAIN 

25: I GAIN = BACT I GAIN 

26: D GAIN = BACT D GAIN 

27: Update PID controller with PID values.28: end while

29: if  ZN ISE ≥ BEST ISE  then

30: P GAIN = BEST P GAIN 

31: I GAIN = BEST I GAIN 

32: D GAIN = BEST D GAIN 

33: stop = TRUE 

34: end if 

IV. SIMULATION RESULTS AND ANALYSIS

As previously mentioned, we used a desired ISE  value of 0

in our bacterial algorithm. This makes the algorithm look forparameter values that would “drive” the error value towards

a minimum. We ran our bacterial algorithm for 30 iterations

and used a desired PID controller setpoint of 5 rotations

per second in our experiments. As there is an element of 

stochastic behaviour in our approach, we ran the experiment

20 times to find out what it is doing.

In our experiments, we capped the K P  and K D values

between -1000 and 1000. Fig. 5 and Fig. 6 show comparisons

696

Page 5: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 5/6

20 40 60 80 100 120 140 160 180 2000

1

2

3

4

5

6

7

8

Time

   D  e  s   i  r  e   d   S  p  e  e   d

 

Using BAC Parameters

Using Ziegler Nicholas Parameters

Fig. 5. Comparision between using our Bacteria Algorithm and the ZieglerNicholas Method for tuning. Ziegler Nicholas parameters: K P  = 24, K I =

400, K D = 0.36, IS E  = 0.8765; Bacteria chosen parameters: K P  =

973.94, K I = 5.2039, K D = 38.49, IS E  = 0.5072.

20 40 60 80 100 120 140 160 180 2000

1

2

3

4

5

6

7

8

Time

   D  e  s   i  r  e   d   S  p  e  e   d

 

Using BAC Parameters

Using Ziegler Nicholas Parameters

Fig. 6. Comparision between using our Bacteria Algorithm and the ZieglerNicholas Method for tuning. Ziegler Nicholas parameters: K P  = 24, K I =

400, K D = 0.36, IS E  = 0.8765; Bacteria chosen parameters: K P  =

1000, K I = 401.0974, K D = 5.6089, IS E  = 0.0913.

between the parameters obtained from using our tuning

approach and the Ziegler Nicholas tuning approach. During

our experiments, we first tested our algorithm by searching

the entire parameter space to find out if it could find optimal

parameters other than the Ziegler Nicholas parameters. Our

results of doing this is shown in Fig. 5 in which we wereable to obtain a ISE  of 0.5072. We then used the Ziegler

Nicholas parameters as a starting point for our algorithm and

were able to obtain an ISE  of 0.0913 as shown in Fig. 6. In

both results, we were able to achieve less overshoots, faster

settling time and faster rise time than the parameters chosen

by the Ziegler Nicholas method.

Figure 7 shows a typical run of our algorithm. It can be

seen that the algorithm aims to reduce the ISE  value obtained

Fig. 7. Graph showing a typical run of the bacteria algorithm.

during a run. However there are times that the ISE  value

sometimes suddenly increases. This is because of over tuning

of a parameter during the search process. However, after this,

the algorithm aims to correct the over tuning resulting in a

descent of the ISE  value again. With our approach, we can

improve the performance of a PID controller compared to

the Ziegler Nicholas approach. If during a run on a UAV , the

final K P ,K I , and K D parameters give worse performance

than the Ziegler Nicholas approach, then the Ziegler Nicholas

parameter values can be kept for that particular mission.

V. IMPLEMENTING ON A DC MOTOR

In order to investigate the effectiveness of our approach on

real platforms, we implemented the Bacteria Algorithm and

the PID controller on the lego mindstorm and automated the

process as shown in Algorithm 1. During our runs, we took 

readings for the Integral Squared Error ( ISE ). Before running

our bacteria algorithm, we performed Ziegler Nicholas tuning

and then improved the results by using trial and error. We

came up with the following optimal parameters: P  = 2.0, I  =

0.04 and D = 4.0. For the bacterial algorithm, we set α = 5, τ o= 0.05, and kD = 10. Details of how we chose this parameters

would be presented in subsequent publications. We then set

BactP  = 2.0, BactD = 4.0, and BactI  = 0.04 as a starting

point for our bacteria algorithm. Each new set of parameters

is ran for 10 seconds. The motor is then stopped and a new

set of parameters calculated before the run commences again.

Figure 8 shows a comparison between the performance of the lego mindstorm when using the manually chosen param-

eters and the parameters chosen by the bacteria algorithm.

The choice of bacteria parameters caused a smaller overshoot

and smaller steady state ripples when compared to the choice

of Ziegler Nicholas parameters. It also resulted in a faster

settling time.

As can be seen in Figure 8, the parameters chosen by the

bacteria algorithm is very close to those chosen manually.

697

Page 6: A Novel Bacterial Foraging Algorithm For

8/6/2019 A Novel Bacterial Foraging Algorithm For

http://slidepdf.com/reader/full/a-novel-bacterial-foraging-algorithm-for 6/6

0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000

100

200

300

400

500

600

Time

   S

  p  e  e   d

 

Using Ziegler Nicholas Parameters

Using BAC Parameters

Fig. 8. Comparison between our Bacteria Algorithm and the ZieglerNicholas Method for tuning. Ziegler Nicholas parameters: K P  = 2.0,K I = 0.04, K D = 4.0; Bacteria chosen parameters: K P  = 2.0269415,K I = 0.044980094, K D = 3.958603

However the performance of the bacteria chosen parameters

is better than the manually chosen parameters. One of the

reasons for this is that the bacteria algorithm is able to achieve

a high degree of resolution than that achieved manually. The

effectiveness of our approach can also be demonstrated by

its rapidness at finding a minimum point. For instance, the

minimum point in Figure 7 was found at the ninth iteration.

V I . CONCLUSION AND FUTURE WORK

This paper presents a novel meta heuristic approach to

automated PID tuning of an Unmanned Aerial Vehicle using

a novel bacterial foraging algorithm. It frees engineers or

novice users of  PID controllers from having to understandthe complicated system dynamics, making the system tuning

much faster. The proposed approach is also model free and

does not require knowledge about the zeros and poles of the

system. In addition, if the system being controlled has various

operating characteristics at different conditions, the approach

could automatically choose an optimal set of parameters for

a particular condition.

The future work will investigate how to tune the parameters

of a bacteria algorithm to achieve the best performance during

its search, including testing our approach on the optimization

of Fuzzy systems, wall following capability of Unmanned

Ground Vehicles and tracking capability of an Unmanned

Aerial Vehicle following a moving target.

Appendix

TABLE IZIEGLER NICHOLAS TUNING RULE PARAMETER VALUES.

ControlType K p K i K dP 0.50K c - -PI 0.45K c 1.2K p/P c -

PID 0.60K c 2.0K P /P c K pP c/8

REFERENCES

[1] PID Theory Explained , National Instruments Corporation, 2006.[2] M.W. Iruthayarajan and S. Baskar, Evolutionary Algorithms

based design of multivariable PID controller , Expert Systemswith Applications, Elsevier, Vol.36, 2009, pp. 9159-9167.

[3] H.C Chen and S.H. Chang, Genetic Algorithms Based Optimiza-tion Design of a PID Controller for an Active Magnetic Bearing,

Interantional Journal of Computer Science and Network Security,Vol. 6, No. 12, Dec. 2006.

[4] N.J. Killngsworth and M. Krstic, PID Tuning Using ExtremumSeeking- Online, Model-free performance optimization, IEEEcontrol systems magazine, Issue 1, Vol. 26, Feb. 2006, pp. 70-79.

[5] M. Nasri, H. Nezamabadi-pour and M. Maghfoori, A PSO- Based Optimum Design of PID Controller for a Linear Brushless

  DC Motor , World Academy of Science, Engineering and Tech-nology, 2007.

[6] H.M. Soliman, E.H.E. Bayoumi and M.F. Hassan, PSO-Based 

Power System Stabilizer for minimal overshoot and controlconstraints, Journal of Electrical Engineering, Vol. 59, No. 3,2008, pp. 153-159.

[7] D. H. Kim and J. H. Cho, Intelligent Control of AVR SystemUsing GA-BF , Lecture Notes in Computer Science, Springer

Berlin/Heidelberg, Vol. 3684, August 23 2005, pp 854-859.[8] K.M. Passino, Biomimicry of bacterial Foraging for distributed Optimization and Control, IEEE Control Systems Magazine,Vol.22, June 2002.

[9] D.A. Brown and H.C. Berg, Temporal Stimulation of Chemo-

taxis in Escherichia coli, Proc. Nat. Acad, Sci. USA Vol. 71, No.4, pp. 1388-1392, April 1974.

[10] H.C Berg and D. A. Brown, Chemotaxis in Escherichia

coli analysed by three-dimensional tracking. Nature (London)239:500-504, 1972.

[11] G. A. Jackson, Simulating chemosensory responses of marinemicroorganisms Limnol. Oceanog. 32:12531266, 1987.

[12] K.M. Passino, Biomimicry for Optimization, Control and Au-

tomation, Springer-Verlag London Limited, 2005.[13] D.H. Kim and J.H. Cho, A Biologically Inspired Intelligent 

PID controller Tuning for AVR Systems International Journal of 

Control, Automation and Systems, Vol. 4, No. 5, Oct. 2006, pp.624-636.

[14] A. chatterjee and F. Matsuno, Baterial foraging techniques  for solving EKF-based slam problems International Control Con-ference (ICC2006), Glasgow, Scotland, U.K., 30 Aug-1st Sept.2006.

[15] J.H. Cho and D.J. Lee, Parameter Optimization of Extreme

  Learning Machine Using Bacterial Foraging Algorithm ISAISystems, Sokcho, Korea, 5-8 Sept. 2007.

[16] The DraganFlyer, Remote Control Helicopter,http://www.otherlandtoys.co.uk/dragfaq.htm (19 March 08).

[17] G.M. Almeida, V.V.R. Silva, E.G. Nepomuccno and R.Yokoyama, Application of Genetic Programming for Fine TuningPID Controller Parameters Designed Through Ziegler-Nichols

Technique Springer-Verlag Berlin Heidelberg, 2005.

[18] J. Oyekan and H. Hu, Towards Autonomous Patrol Behaviours  for UAVs, Proceedings of UK EPSRC Workshop on HumanAdaptive Mechatronics, Staffordshire University, Stafford, U.K.,15-16 Jan. 2009.

[19] B. Li, B. Lu, J. Oyekan, H. Hu and D. Gu, Towards Au-tonomous Indoor Navigation of small UAVs, Submitted to the 8thWorld Congress on Intelligent Control and Automation, Jinan,China, 6-9 July 2010.

698