Controller Design For Rotary Inverted Pendulum Sys
Controller Design For Rotary Inverted Pendulum Sys
Research Article
Controller Design for Rotary Inverted Pendulum
System Using Evolutionary Algorithms
Copyright q 2011 I. Hassanzadeh and S. Mobayen. This is an open access article distributed under
the Creative Commons Attribution License, which permits unrestricted use, distribution, and
reproduction in any medium, provided the original work is properly cited.
This paper presents evolutionary approaches for designing rotational inverted pendulum RIP
controller including genetic algorithms GA, particle swarm optimization PSO, and ant colony
optimization ACO methods. The goal is to balance the pendulum in the inverted position.
Simulation and experimental results demonstrate the robustness and effectiveness of the proposed
controllers with regard to parameter variations, noise effects, and load disturbances. The proposed
methods can be considered as promising ways for control of various similar nonlinear systems.
1. Introduction
During the past decades, many modern control methodologies such as nonlinear control,
optimal control, adaptive control, and variable structure control have been widely proposed
for control approaches 1–3. However, these methods are theoretically complex and difficult
to implement. Also, proportional-integral-derivative PID controller is a well-known
method for industrial control processes. The later approach has been broadly employed
in industries because of its simple structure and robust performance in a wide range of
operating conditions 3. Unfortunately, it has been difficult to tune up PID controller gains
accurately because many industrial plants are often very complex consisting of issues such
as higher order, time delays, and nonlinearities 4, 5. Ziegler and Nichols proposed the
first method utilizing the classical tuning rules. Though, it is hard to determine optimal
PID controller parameters with Ziegler-Nichols formula in general 1, 3. To overcome these
difficulties, various methods have been proposed. The ability of using numerical methods for
efficiently and accurately characterizing the quality of a particular design has excited control
engineers to apply stochastic global optimizers.
2 Mathematical Problems in Engineering
α
y lp
τ r
θ mp
Over the past years, several evolutionary algorithms have been proposed to search
for optimal PID controllers. Among them, GA has received great attention and PSO has
been successfully applied to various fields 6–10. Also, ACO is a relatively recent approach
to solve optimization problems by simulating the behavior of ant colonies and modeling
the behavior of ants, which are known to be able to find the shortest path from their
nest to a food source 11. The ACO method proposed in our paper has the following
advantages: applicability to any kind of optimization problems, combinatorial or continuous,
easy implementation, high rate of successful optimizations, and low run time.
In this paper, we compare the efficiency of three intelligent algorithms, that is, GA,
PSO, and ACO methods. These evolutionary algorithms are used to adjust the PID controller
parameters in order to ensure adequate servo and regulatory behavior of the closed-loop
system. Also, we formulate the problem of designing PID controllers as an optimization
dilemma which adjusts five performance indexes, that is, maximum overshoot, rise time,
settling time, and steady-state error of the response and system control energy.
a b sin2 α θ̈ c cos αα̈ − c sin αα̇2 b sin 2αα̇β̇ f θ̇ g sgn θ̇ hθ iu, 2.1
Host PC
RS232
Target PC
Arm
a b sin2 α c cos α θ̈ f bsin 2αα̇ −csin αα̇ θ̇ g sgn θ̇ hθ iu
.
c cos α b α̈ −bsin α cos αθ̇ e α̇ −d sin α 0
2.3
Arm angle
1/s 1/s t
2
tdot t2dot
PWM generator
PID ++ Out1 +
In1 Out2 − u fcn
PID
1/s 1/s ++ a
Pendulum angle a2dot
adot
Embedded matlab function for
nonlinear dynamic equation
pi/6 ++ 1
3.1. GA
Considering Darwin’s original ideas, life in all its diverse forms is evolved by natural
selection and adaptation processes controlled by the survivability of the fittest species. GA is
an evolutionary optimizer that takes a sample of possible individuals and employs selection,
crossover, and mutation as the primary operators for optimization 15, 16.
3.2. PSO
Considering the social behavior of swarm of fish, bees, and other animals, the concept of the
particle swarm optimization PSO is developed. The PSO is a robust stochastic evolutionary
computation method based on the movement of swarms looking for the most fertile feeding
location 16.
From the above statements, it is obvious that the theoretical bases of the two
optimization methods rest upon two completely different structures. The GA is based on
genetic encoding and natural selection, and the PSO method is based on social swarm
behavior. PSO is based on the principle that all solutions can be represented as particles
in a swarm. Each particle has a position and velocity vector, and each position coordinate
represents a parameter value. Similar to GA, PSO requires a fitness evaluation function that
takes the particle’s position and assigns a fitness value to it. XPB and XGB are the personal best
Pbest position and global best Gbest position of the ith particle. Each particle is initialized
Mathematical Problems in Engineering 5
Pendulum angle
−2
−4
−6
0 1 2 3 4 5 6 7 8 9 10
Time (s)
a
50
Arm angle
−50
−100
0 1 2 3 4 5 6 7 8 9 10
Time (s)
b
0
−20
Energy signal
−40
−60
−80
−100
0 1 2 3 4 5 6 7 8 9 10
Time (s)
c
with a random position and velocity. The velocity of each particle is accelerated toward the
global best and its own personal best based on the following equation:
Vi new w × Vi old c1 × rand × XPB − Xi c2 × Rand × XGB − Xi . 3.1
Here rand and Rand are two random numbers in the range 0, 1, c1 and c2 are the
acceleration constants, and w is the inertia weight factor. The parameter w helps the particles
converge to Gbest , rather than oscillating around it. Suitable selection of w provides a balance
between global and local explorations. In general, w is set according to the following equation
16, 17:
The positions are updated based on their movement over a discrete time interval Δt
as follows, with Δt usually set to 1:
Xi Xi Vi × Δt. 3.3
6 Mathematical Problems in Engineering
45
40
Mean cost
35
30
25
20
15
0 2 4 6 8 10 12 14 16 18 20
Generation
GA
PSO
ACO
55
50
45
Mean cost
40
35
30
25
20
15
0 2 4 6 8 10 12 14 16 18 20
Generation
GA
PSO
ACO
5
Standard deviation
3
2
1
0
0 2 4 6 8 10 12 14 16 18 20
Generation
GA
PSO
ACO
Then the fitness at each position is reevaluated. If any fitness is greater than Gbest , then
the new position becomes Gbest and the particles are accelerated toward that point. If the
particle’s fitness value is greater than Pbest , then Pbest is replaced by the current position.
Mathematical Problems in Engineering 7
Standard deviation
4
3
2
1
0
0 2 4 6 8 10 12 14 16 18 20
Generation
GA
PSO
ACO
Figure 9: Convergence tendency of standard deviation values of cost function with β 1.5.
3.3. ACO
ACO is a relatively recent approach to solve optimization problems by simulating the
behavior of ant colonies and modeling the behavior of ants, which are known to be able to
find the shortest path from their nest to a food source 18. ACO is an optimization technique
that has been recently developed and recognized as effective for combinatorial optimization
problems.
All ants start their tours from source node and end up their tours in destination node.
In each node, an ant chooses its path probabilistically, and the probability of choosing an edge
is proportional to the pheromone on the edge, that is, roulette wheel selection.
All edges have an initial amount of pheromone, τ0 . After completion of all tours, first
pheromone values on all edges are lowered, reflecting evaporation:
τij ←− 1 − ρ τij , 3.4
where ρ ∈ 0, 1 is the pheromone evaporation rate. Then all ants deposit pheromone on all
edges they have crossed in their tours:
m
τij ←− τij Δτij k ,
k 1
⎧ 3.5
⎨ 1
if edge i, j belongs to T K
ΔτijK cost k c0
⎩
0 otherwise,
where T K is the tour of the kth ant, cost k is its cost, and c0 is a positive constant which
allows to adjust maximum pheromone deposit.
The algorithms parameters have been chosen based on trial and error as follows. For
GA method, population size 50, crossover rate 0.5, mutation rate 0.01, and maximum
generations 20; for PSO algorithm, number of particles 50; acceleration constants c1 c2
1.5, and maximum iteration 20; for ACO algorithm, ρ 0.4, τ0 τmax 10, τmin 1 and
c0 0.5. Each algorithm is implemented in Matlab. All of the programs are run on a 2.1 GHz
Core 2 Duo processor with 2 GB of memory. Each of the optimization methods is tested in 50
independent runs involving 50 different initial trial solutions.
8 Mathematical Problems in Engineering
0.2
Pendulum angle
0
−0.2
−0.4
−0.6
0 1 2 3 4 5 6 7 8 9 10
Time (s)
a
0.5
0
Arm angle
−0.5
−1
−1.5
0 1 2 3 4 5 6 7 8 9 10
Time (s)
b
0.5
Energy signal
−0.5
−1
0 1 2 3 4 5 6 7 8 9 10
Time (s)
PSO
GA
ACO
c
Figure 10: System response: a pendulum angle, b arm angle, and c energy signal, with β 1 for
yr 0.
1 − e−β e−β 1
cost MP Ess ts − tr Eu , 4.1
2 2 2
where β is the weighing factor. In this paper, β is set to 1 and 1.5 to investigate different
possible solutions. The algorithms stages for searching proper parameters of PID controller
are as follows.
Mathematical Problems in Engineering 9
0.2
Pendulum angle
0
−0.2
−0.4
−0.6
0 1 2 3 4 5 6 7 8 9 10
Time (s)
a
0.5
Arm angle
−0.5
−1
0 1 2 3 4 5 6 7 8 9 10
Time (s)
b
0.1
0
−0.1
Energy signal
−0.2
−0.3
−0.4
−0.5
−0.6
−0.7
−0.8
−0.9
0 1 2 3 4 5 6 7 8 9 10
Time (s)
GA
PSO
ACO
c
Figure 11: System response: a pendulum angle, b arm angle, and c energy signal, with β 1.5 for
yr 0.
First, specify the lower and upper bounds of controller parameters and initialize the
particles of the population randomly. Each particle, that is, K controller parameters is sent
to Matlab Simulink. Then, the values of the performance criteria in the time domain, namely,
MP , Tr , Ts , Ess , and Eu are calculated iteratively. After that, cost function is evaluated for each
particle according to these performance criteria. If the cost for local best solution is less than
the cost of the current global best solution, the global solution is replaced with local solution.
At the end of each iteration, the program checks the stop criterion. If the number of iterations
reaches the maximum designated by the user, the latest global best solution is recorded and
the algorithm is brought to an end.
10 Mathematical Problems in Engineering
3.3
3.2
Pendulum angle
3.1
3
2.9
2.8
2.7
2.6
2.5
0 1 2 3 4 5 6 7 8 9 10
Time (s)
GA
PSO
ACO
Figure 12: Pendulum angle servo response of the RIP control system with β 1 for yr π.
3.4
3.3
3.2
Pendulum angle
3.1
3
2.9
2.8
2.7
2.6
2.5
0 1 2 3 4 5 6 7 8 9 10
Time (s)
GA
PSO
ACO
Figure 13: Pendulum angle servo response of the RIP control system with β 1.5 for yr π.
5. Simulation Results
The lower and upper bounds of the three controller parameters are shown in Table 2.
In order to examine the dynamic behaviors and convergence characteristics of the
proposed methods, two statistical indexes, namely, the mean value μ and the standard
deviation σ of cost values of all individuals during the computation processes, are used. The
mean value displays the accuracy of the algorithm, and the standard deviation measures the
convergence speed of the algorithm. The formulas for calculating these values are as follows,
respectively 19, 20:
n
costPi
μ i 1 ,
n
n 5.1
1
σ
2
costPi − μ ,
n i 1
where costPi is the cost value of the individual and n is the population size.
Mathematical Problems in Engineering 11
Pendulum angle
0.4
0.2
0
−0.2
−0.4
0 1 2 3 4 5 6 7 8 9 10
Time (s)
a
0.5
Arm angle
0
−0.5
−1
0 1 2 3 4 5 6 7 8 9 10
Time (s)
b
300
200
Energy signal
100
0
−100
−200
−300
−400
0 2 4 6 8 10
Time (s)
GA
PSO
ACO
c
Figure 14: System response: a pendulum angle, b arm angle, and c energy signal, with β 1 subjected
to the band-limited white noise noise power 0,000523 and sampling time 0.1 sec and 10% disturbance.
Pendulum angle
0.5
−0.5
0 1 2 3 4 5 6 7 8 9 10
Time (s)
a
0.5
Arm angle
0
−0.5
−1
0 1 2 3 4 5 6 7 8 9 10
Time (s)
b
600
400
Energy signal
200
−200
−400
0 1 2 3 4 5 6 7 8 9 10
Time (s)
GA
PSO
ACO
c
Figure 15: System response: a pendulum angle, b arm angle, and c energy signal, with β 1.5
subjected to the band limited white noise noise power 0,000523 and sampling time 0.1 sec and 10%
disturbance.
tendency of the standard deviation of cost values in the ACO-PID controller is much faster
than other ones. This can prove that the ACO method has better convergence efficiency.
Also, our simulation results demonstrate that ACO method is faster than GA and
slower than PSO and the run time in 20 iterations for ACO is 2408.17 sec in comparison with
1805.42 sec for PSO and 3865.903 sec for GA.
0.2
Pendulum angle
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
a
0.8
0.6
0.4
Arm angle
0.2
0
−0.2
−0.4
−0.6
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
b
3
2
Energy signal
0
−1
−2
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
PSO
GA
ACO
c
Figure 16: Experimental results of system responses with β 1: a pendulum angles, b arm angles, and
c energy signals.
The simulation results of the best solution for various values of β in 50 runs are
summarized in Table 3. As it can be observed from Table 3, the overshoot is decreased using
ACO-PID in comparison with GA-PID and PSO-PID. This improvement is 25.693% β 1
and 19.335% β = 1.5 in comparison with PSO-PID and 55.071% β 1 and 37.936% β =
1.5 in comparison with GA-PID. Also, it is inferred that rise time of the step response in all
simulations is quite similar and settling time of step response using GA is better than other
controllers. According to total cost value, ACO-PID controlled systems have less cost values.
Now, the servo performance is considered for the reference signal yr of pendulum
angle equal to π. Figures 12 and 13 show the pendulum angles servo response for yr π
and different values of β.
14 Mathematical Problems in Engineering
0.6
0.4
Pendulum angle
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
a
0.8
0.6
0.4
Arm angle
0.2
0
−0.2
−0.4
−0.6
−0.8
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
b
2
1.5
Energy signal
1
0.5
0
−0.5
−1
−1.5
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
GA
PSO
ACO
c
Figure 17: Experimental results of system responses with β 1.5: a pendulum angles, b arm angles,
and c energy signals.
0.5
Pendulum angle
0
−0.5
−1
−1.5
−2
2 3 4 5 6 7 8 9 10 11
Time (10e − 4 s) ×104
a
0.5
Arm angle
−0.5
−1
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
b
2
Energy signal
−2
−4
−6
2 3 4 5 6 7 8 9 10 11
Time (10e−4 s) ×104
c
Figure 18: Experimental results of system responses using ACO-PID by adding a body mass to the end of
pendulum and in the presence of disturbances: a pendulum angle, b arm angle, and c energy signal.
shown in Figures 14 and 15 illustrate the robustness and effectiveness of the proposed
controllers subject to the noise and disturbance.
Servo and regulatory results motivate to consider the proposed procedure as a suitable
tool for controller parameters design and also stimulate investigating the possibility of further
research on design and development of other practical control systems.
6. Experimental Results
We have performed experiments on the RIP system set at the University of Tabriz in
the robotics research lab. The applied card in this project is PCI-6602 which creates the
connection between computer and system and has A/D and D/A converters. Also the arm
and pendulum links angles are measured using two E40S Autonics company encoders. The
experimental results of the proposed methods on RIP system are shown in Figures 16 and
17. In these figures, the time interval 0, 1.2 which belongs to the swing-up period is deleted
16 Mathematical Problems in Engineering
Table 3: Best results of PID controllers with different β values gained by PSO, GA, and ACO algorithms in
50 runs.
to focus on controllers’ performance in the balance mode. The experimental results are very
consistent with the simulation results shown in Figures 10 and 11 which not only prove the
performance of proposed methods but also verify the availability of the system model. The
fact that the simulated and real controlled responses are practically identical validates the
identified system model.
In order to study the stability of designed control system using ACO algorithm subject
to parameters variations, we perform the following experiment. In this experiment, the
adding effect of a 25 g body mass with the length of 13 cm and in the presence of disturbances
is validated. Figure 18 shows the results of this practical test. Then, the proposed method
is a very powerful technique in completely eliminating the effects of the disturbances and
providing satisfactory servo behavior.
7. Conclusion
In this paper, we present three evolutionary algorithms for designing of intelligent controllers
of the RIP system. Each of the algorithms is tested in 50 independent runs involving 50
different initial solutions. The rotational inverted pendulum system is considered as a case
study. Through the simulation results, the proposed controllers perform efficient search
for proper PID parameters. To evaluate the controller performance, we tested the ability
of the closed-loop system to follow set point changes servo behavior and the ability of
the closed-loop system to reject disturbances regulatory behavior. The work demonstrates
that all methods can solve searching and tuning the controller parameters efficiently. The
proposed methods could be considered as promising ways for nonlinear control systems
in general. One of the important features of the system is using of xPC-Target toolbox and
input-output card in Simulink environment which utilizes hardware in the loop HIL, tele-
lab implementation and fast-prototyping properties. The topic of our future researches is to
employ other cognitive methods in order to achieve better results for designing controller
and improving the performance in real time. Also, implementation, of heuristic algorithms
for designing adaptive controllers will be our future challenging task. Furthermore, tele-
operation control of RIP system using haptic device would be another challenge.
Acknowledgments
This paper was financially supported by the Research Affairs at University of Tabriz. The
authors would like to appreciate Mr. Abbas Harifi for his guidance and assistance.
Mathematical Problems in Engineering 17
References
1 N. B. Nichols and J. G. Ziegler, “Optimum settings for automatic controllers,” ASME Transactions, vol.
64, pp. 759–768, 1942.
2 R. A. Krohling and J. P. Rey, “Design of optimal disturbance rejection PID controllers using genetic
algorithms,” IEEE Transactions on Evolutionary Computation, vol. 5, no. 1, pp. 78–82, 2001.
3 Z. L. Gaing, “A particle swarm optimization approach for optimum design of PID controller in AVR
system,” IEEE Transactions on Energy Conversion, vol. 19, no. 2, pp. 384–391, 2004.
4 A. Visioli, “Tuning of PID controllers with fuzzy logic,” IEE Proceedings: Control Theory and
Applications, vol. 148, no. 1, p. 18, 2001.
5 G. Zhou and J. D. Birdwell, “Fuzzy logic-based PID autotuner design using simulated annealing,”
in Proceedings of the IEEE/IFAC Joint Symposium on Computer-Aided Control System Design, pp. 67–72,
Tucson, Ariz, USA, March 1994.
6 D. H. Kim, “Hybrid GA-BF based intelligent PID controller tuning for AVR system,” Applied Soft
Computing Journal, vol. 11, no. 1, pp. 11–22, 2011.
7 M. W. Iruthayarajan and S. Baskar, “Evolutionary algorithms based design of multivariable PID
controller,” Expert Systems with Applications, vol. 36, no. 5, pp. 9159–9167, 2009.
8 Y. Y. Fu, C. J. Wu, T. L. Chien, and C. N. Ko, “Integration of PSO and GA for optimum design of fuzzy
PID controllers in a pendubot system,” Artificial Life and Robotics, vol. 13, no. 1, pp. 223–227, 2008.
9 V. Mukherjee and S. P. Ghoshal, “Intelligent particle swarm optimized fuzzy PID controller for AVR
system,” Electric Power Systems Research, vol. 77, no. 12, pp. 1689–1698, 2007.
10 W. D. Chang, “PID control for chaotic synchronization using particle swarm optimization,” Chaos,
Solitons and Fractals, vol. 39, no. 2, pp. 910–917, 2009.
11 L. D. S. Coelho and D. L. D. A. Bernert, “A modified ant colony optimization algorithm based on
differential evolution for chaotic synchronization,” Expert Systems with Applications, vol. 37, no. 6, pp.
4198–4203, 2010.
12 N. Muškinja and B. Tovornik, “Swinging up and stabilization of a real inverted pendulum,” IEEE
Transactions on Industrial Electronics, vol. 53, no. 2, pp. 631–639, 2006.
13 H. Mei and Z. He, “Study on stability control for single link rotary inverted pendulum,” in Proceedings
of the International Conference on Mechanic Automation and Control Engineering (MACE ’10), pp. 6127–
6130, Wuhan, China, June 2010.
14 Q. Yan, “Output tracking of under-graduated rotary inverted pendulum by nonlinear controller,” in
Proceedings of the 42nd IEEE Conference on Decision and Control, vol. 3, pp. 2395–2400, Maui, Hawaii,
USA, 2003.
15 Y. Rahmat-Samii, “Genetic algorithm and particle swarm optimization in engineering electromagnet-
ics,” in Proceedings of the 17th International Conference on Applied Electromagnetics and Communications,
Dubrovnik, Croatia, 2003.
16 J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Proceedings of the International
Conference on Neural Networks, vol. 4, pp. 1942–1948, Perth, WA , Australia, November 1995.
17 I. Hassanzadeh and S. Mobayen, “PSO-based controller design for rotary inverted pendulum
system,” Journal of Applied Sciences, vol. 8, no. 16, pp. 2907–2912, 2008.
18 M. Dorigo and T. Stützle, Ant Colony Optimization, MIT Press, Cambridge, 2004.
19 S. Mobayen, Identification and control of rotational inverted pendulum using intelligent methods, M.S. thesis,
University of Tabriz, Tabriz, Iran, 2008.
20 R. L. Haupt and S. E. Haupt, Practical Genetic Algorithms, John Wiley & Sons, New York, NY, USA, 2nd
edition, 1998.