modeling and controller design of an inverted...
TRANSCRIPT
MODELING AND CONTROLLER DESIGN OF AN INVERTED PENDULUM
SYSTEM USING AI APPROACH
NAZILA NAJAFZADEH
UNIVERSITI TEKNOLOGI MALAYSIA
MODELING AND CONTROLLER DESIGN OF AN INVERTED PENDULUM
SYSTEM USING AI APPROACH
NAZILA NAJAFZADEH
A project report submitted in partial fulfilment of the
requirements for the award of the degree of
Master of Engineering (Electrical - Mechatronics & Automatic Control)
Faculty of Electrical Engineering
Universiti Teknologi Malaysia
JANUARY 2012
iii
To my beloved Mother and Father
Any number of words cannot sufficiently express the love and
encouragement I received from them
iv
ACKNOWLEDGEMENT
In the name of Allah, the most beneficent, the most merciful
I am profoundly grateful to my supervisor, Professor Dr Mohd Fua’ad bin Hj.
Rahmat, for his inspiration, sincerity, patience, and ongoing assistance and support
throughout my studies. His constructive guidance has greatly assisted me in carrying out
this research and in achieving the goals of my thesis.
It is my great pleasure to express my sincerest gratitude to my parents, the best
and most kind-hearted individuals I have ever known. Although we are living far away
from each other, my heart and thoughts are always with them. I will always remember
and greatly appreciate their endless devotions, prayers, and inspiration throughout my
life. Many thanks also to my brothers who have always supported me through their love,
encouragement and prayers.
v
ABSTRACT
This project presents the simulation study of few different control approaches
that consist of modern controller and intelligent controller for an inverted pendulum
system. Inverted pendulum is a nonlinear and unstable dynamic system, which
continually moves toward an uncontrolled state. It consists of a cart, driven by a force
that can move along a horizontal track, and a pendulum attached to the cart which can
rotate freely in the vertical plane parallel to the track. The control problem is to drive
the pendulum to its upright position and remains it there as well as maintaining the
position of the cart. It involves the derivation of the mathematical modeling that
includes the linearization of the model in order to be used with the linear controller. The
work follows with designing linear quadric regulator (LQR) as modern controller; fuzzy
logic and adaptive neural network fuzzy for the intelligent controller. The simulation of
controllers has been done in MATLAB, and their performance is analyzed and compared
which is based on common criteria’s of the step response. Overall, LQR controller has
the fastest response, whereas adaptive neural network fuzzy controller gives more
flexibility in control action
vi
ABSTRAK
Projek ini memaparkan kajian yang dijalankan melalui kaedah simulasi terhadap
beberapa kaedah pendekatan kawalan yang mengandungi kawalan moden dan kawalan
kepintaran untuk sistem ayunan bandul terbalik. Ayunan bandul terbalik merupakan
sistem dinamik yang tidak linear dan tidak stabil, selalunya akan menyumbang kepada
keadaan yang tidak terkawal. Ianya mengandungi pengangkut, dipandu oleh daya yang
boleh bergerak sepanjang landasan melintang, dan bandul yang dipasang pada
pengangkut yang berupaya untuk berputar di dalam satah menegak yang selari dengan
landasan. Projek ini dihasilkan bagi memastikan ayunan bandul berada di dalam posisi
yang menegak dan mengekalkan keadaan tersebut, dalam masa yang sama mengekalkan
posisi pengangkut tersebut. Ia melibatkan terbitan model matematik yang akan
digunapakai di dalam proses penglinearan model bagi menghasilkan pengawal linear.
Projek ini disusuli dengan merekacipta pengawal moden “linear quadric regulator
(LQR)” dan pengawal pintar “fuzzy logic” dan “adaptive neural network fuzzy”.
Simulasi terhadap pengawal-pengawal telah diuji dengan menggunakan “MATLAB”,
dan pelaksanaannya dianalisis dan dibandingkan. Secara keseluruhannya, pengawal
“LQR” mempunyai respon yang paling pantas, manakala pengawal “adaptive neural
network fuzzy” memberikan tindakan kawalan yang lebih fleksibel.
vii
TABLE OF CONTENTS
CHAPTER TITLE PAGE
DECLARATION ii
DEDICATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
ABSTRAK vi
TABLE OF CONTENTS vii
LIST OF TABLES xii
LIST OF FIGURES xiii
LIST OF SYMBOLS xvi
1 INTRODUCTION 1
1.1 General Introduction 1
1.2 Problem Statement 2
1.3 Objective of Project 3
1.4 Scope of Project 4
1.5 Thesis Outline 5
2 LITERATURE REVIEW 7
2.1 Introduction 7
2.2 Literature Research 7
viii
2.2.1 Fuzzy Logic Controller 8
2.2.2 Hybrid Controller 10
2.2.3 Adaptive Neural Network Fuzzy Controller 11
2.2.4 Fusion Function Based Controller 12
2.3 Summary of Chapter 2 14
3 RESEARCH METHODOLOGY 15
3.1 Introduction 15
3.2 Understanding the Inverted Pendulum System 16
3.3 Mathematical Modeling of Nonlinear Plant 16
3.3.1 Newton’s Law of Motion 16
3.3.2 The Energy Method 17
3.4 Deriving the Dynamics of the Linearized System 17
3.5 Controller Design 18
3.6 Simulation and Evaluation of Performance 19
3.7 Comparative Assessment of Results 19
3.8 Methodology 20
3.9 Summary of Chapter 3 21
4 MODELING OF AN INVERTED PENDULUM 22
4.1 Introduction 22
4.2 Inverted Pendulum Parameters 23
4.3 Mathematical Modeling 24
4.3.1 Generalized Coordinate System 25
4.3.2 Kinetic and Potential Energy Functions 26
4.3.3 Lagrangian Function 28
4.3.4 Lagrange’s Equation 28
4.4 Linear Model of the Inverted Pendulum System 31
4.5 Transfer Function 32
4.6 State-Space 34
4.7 Summary of Chapter 4 35
ix
5 CONTROLLER DESIGN FOR INVERTED PENDULUM
SYSTEM 36
5.1 Introduction 36
5.2 State-space Controller Theory and Design Implementation 37
5.2.1 Introduction 37
5.2.2 State Variable 37
5.2.3 State Space Representation for Linear System 38
5.2.4 State Space Controllability and Observability 39
5.2.5 Controller Design Using Full State Feedback 40
5.2.6 Full State Feedback with Reference Input 41
5.2.7 Full State Feedback with Reference Input for LQR 42
5.3 LQR Controller Design for Inverted Pendulum System 43
5.4 Fuzzy Logic Controller Theory and Design Implementation 45
5.4.1 Introduction 45
5.4.2 Components of Fuzzy Logic Controller 46
5.4.3 Methodology of Designing Fuzzy Controller 47
5.4.3.1 Fuzzy Logic Control Variables 48
5.4.3.2 Fuzzification 49
5.4.3.3 Knowledge Base Design 50
5.4.3.4 Inference Encoding Procedure 52
5.4.3.5 Deffuzification 53
5.4.3.6 Tuning Parameters 54
5.5 Fuzzy Logic Controller Design for Inverted Pendulum
System 55
5.6 Adaptive Neural Network Fuzzy Controller Theory and
Design Implementation 61
5.6.1 Introduction 61
5.6.2 Fuzzy Inference System 62
5.6.2.1 Sugeno Type Fuzzy Inference System 62
5.6.3 Adaptive Networks 64
x
5.6.3.1 Adaptive Network Architecture and Basic
Learning Rule 65
5.6.4 Adaptive Neuro Fuzzy Inference System (ANFIS) 66
5.6.4.1 ANFIS Architecture 67
5.6.5 ANFIS Learning Algorithm 70
5.6.5.1 Learning of Premise Parameters 70
5.6.5.2 Learning of Consequent Parameters 70
5.6.5.3 Hybrid Learning Algorithm 71
5.6.6 ANFIS Editor GUI 72
5.7 Adaptive Neural Network Fuzzy Logic Controller Design
for Inverted Pendulum System 74
5.7.1 State Variables Fusion 75
5.7.2 Adaptive Neural Network Fuzzy Control 76
5.8 Summary of Chapter 5 81
6 RESULTS AND ANALYSIS 82
6.1 Introduction 82
6.2 Results of Different Designed Controllers for Inverted Pendulum
System 83
6.2.1 Results for State Feedback Controller: LQR 83
6.2.2 Results for Fuzzy Logic Controller 85
6.2.3 Results for Adaptive Neural Fuzzy Controller 87
6.3 Overall Comparison of the Controllers’ Performance 89
6.3.1 Comparison of Output Response for Position 89
6.3.2 Comparison of Output Response for Angle 90
6.4 Summary of Chapter 6 92
7 CONCLUSION AND FUTURE WORK 93
7.1 Introduction 93
7.2 Conclusion 94
7.3 Suggestion for the Future Works 95
xi
REFERENCES 96-99
xii
LIST OF TABLES
TABLE NO. TITLE PAGE
4.1 Properties of the inverted pendulum system 24
4.2 Characteristics of the inverted pendulum system 24
5.1 State space model representation 39
5.2 Inputs and outputs of FLC 56
5.3 Standard labels of quantization 56
5.4 Fuzzy rule matrix for position/angle control 60
5.5 Two passes in hybrid learning algorithm 71
6.1 Summarization of the performance characteristics for
cart’s position 90
6.2 Summarization of the performance characteristics for
pendulum’s angle 91
xiii
LIST OF FIGURES
FIGURE NO. TITLE PAGE
3.1 Flow chart of research methodology 20
4.1 Free body diagram of the inverted pendulum system 23
4.2 Velocity analysis of the pendulum 27
5.1 State feedback control configuration 40
5.2 State feedback control configuration with the input gain,
Nbar 42
5.3 Components in the fuzzy logic controller 47
5.4 Fuzzy logic control in the closed-loop system 48
5.5 Input and output for the fuzzy controller 49
5.6 Fuzzification procedure 50
5.7 Example of fuzzy inference using Mamdani method 52
5.8 Defuzzification by center of gravity 54
5.9 Fuzzy logic controllers in the feedback loop of inverted
pendulum system 55
xiv
5.10 Fuzzy set for the input ‘x’ 57
5.11 Fuzzy set for the input ‘delx’ 57
5.12 Fuzzy set for the output ‘Force-x’ 58
5.13 Fuzzy set for the input ‘theta’ 58
5.14 Fuzzy set for the input ‘deltheta’ 59
5.15 Fuzzy set for the output ‘Force-theta’ 59
5.16 Simulink implementation of FLC for the inverted pendulum
system 61
5.17 First order Sugeno fuzzy model 64
5.18 Adaptive Network 65
5.19 ANFIS architecture 67
5.20 ANFIS editor GUI 73
5.21 Simulation model of inverted pendulum based on ANFIS 77
5.22 Initialization of membership functions 78
5.23 The error curve of ANFIS training 79
5.24 The membership functions of variable E 79
5.25 The membership functions of variable EC 80
5.25 The ANFIS network structure 80
6.1 Step response of the pendulum’s angle with LQR controller 84
6.2 Step response of the cart’s position with LQR controller 84
xv
6.3 Step response of the pendulum’s angle with Fuzzy Logic
Controller 86
6.4 Step response of the cart’s position with Fuzzy Logic
Controller 86
6.5 Step response of the pendulum’s angle with ANFIS
Controller 88
6.6 Step response of the cart’s position with ANFIS controller 88
6.7 Comparison of output response of cart’s position 90
6.8 Comparison of output response of pendulum’s angle 91
xvi
LIST OF SYMBOLS
b - Friction of cart
l - Length to pendulum centre of mass
x - Cart position coordinate
x - cart acceleration
θ - Pendulum angle from the vertical
- Pendulum angular acceleration
r(s) - Reference signal
e(s) - Error signal
u(s) - Plant input
x - State vector
u - Input vector
y - Output vector
Ts - Settling time
Tr - Rising time
ess - Steady state error
NS - Negative small
NM - Negative medium
NL - Negative large
ZE - Zero
PS - Positive small
PM - Positive medium
PL - Positive Large
xvii
LQR - Linear Quadratic Regulator
FLC - Fuzzy Logic Controller
ANFIS Adaptive Neural Fuzzy Inference System
GUI Graphic User Interface
AI - Artificial Intelligence
M - Mass of cart
m - Mass of pendulum
CV - Control variable
E - Error
SP - Set point
PV - Process variable
R - Step input to the cart
A - State matrix
B - Input matrix
C - Output matrix
D - Direct transmission matrix
%OS - Percent overshoot
I - Inertia of the pendulum
F - Force applied to cart
CHAPTER 1
INTRODUCTION
1.1 General Introduction
An early study of the inverted pendulum system was motivated by the need to
design controllers to balance rockets during vertical take-off. At the instance of time
during launch, the rocket is extremely unstable. Similar to the rocket at launch, the
inverted pendulum requires a continuous correction mechanism to stay upright, since the
system is unstable at open loop configuration. This problem can be compared to the
rocket during launch. Here, rocket boosters have fired in a controlled manner, to
maintain the rocket upright.
The inverted pendulum offers a particularly compelling example for control
engineers to verify a modern control theory. This can be explained by the facts that
inverted pendulum is marginally stable, in control sense, has distinctive time variant
mathematical model.
2
Inverted Pendulum is a remarkably convenient model for the attitude control of a
space booster rocket and a satellite, an automatic aircraft landing system, aircraft
stabilization in the turbulent air-flow, stabilization of a cabin in a ship etc. To solve
such a problem with non-linear time variant system, there are alternatives such as real
time computer simulation of these equations or linearization [1].
1.2 Problem Statement
The inverted pendulum represents a challenging control problem, which
continually moves toward an uncontrolled state and must be actively balanced in order
to remain upright.
The inverted Pendulum is a highly nonlinear, and open loop unstable system, in
order to keep the system stable, force must be properly applied. To achieve a stable
system, control theory is required. The principles and theories of an inverted pendulum
must be understood clearly to obtain the right and more accurately controlled inverted
pendulum model. Standard linear techniques cannot model the nonlinear dynamics of
the system. When the system is simulated the pendulum falls over quickly.
Common control approaches such as Proportional-Integral-Derivative (PID)
control and Linear Quadratic control (LQ) require a good knowledge of the system and
accurate tuning in order to obtain desired performances. However, it is often impossible
to specify an accurate mathematical model of the process, or the description with
differential equations is extremely complex [2].
3
In order to obtain control surface, the inverted pendulum dynamics should be
locally linearized. Moreover, application of these control techniques to a two or three
stage inverted pendulum may result in a highly critical design of control parameters and
difficult stabilization. However, using artificial intelligence controllers such as artificial
neural network and fuzzy logic controllers, the controller can be design without require
the model to be linearized. The nonlinear model can be simulated directly using the
MATLAB application to see result [1].
1.3 Objective of Project
The main objective of this project is to develop software for computer control to
model the inverted pendulum system. This process will begin with the derivation of a
mathematical model for the inverted pendulum system. Mathematical modeling
involves process to describe dynamics of system in a set of differential equations. The
process will be followed by designing several controllers, which are capable of driving
the pendulum to its upright position as well as maintaining the position of the cart. This
project uses three methods in designing a controller, which consists of state-space for
modern controller, fuzzy logic and adaptive neural network fuzzy for intelligent
controller.
The second objective is to develop simulation of the controllers by using
MATLAB SIMULINK. The purpose of simulation is to view results of controllers for
stabilizing the inverted pendulum system.
4
The third objective is to perform comparison between controllers for the inverted
pendulum system. The performance of modern and intelligent controllers will be
compared to identify the most suitable controller design that satisfies all design
requirements. The most common characteristics to be compared are steady state error,
percentage of overshoot and the settling time in order to identify how good the response
of the controller is.
1.4 Scope of the Project
The purpose of this project can be divided into four main parts; the first part is to
derive the mathematical dynamic model that represents the inverted pendulum system.
This includes the nonlinear model of the system as well as the linear model of the
system in transfer function and state-space form.
After testing the performance of the inverted pendulum system, the second part
involves the design of a conventional controller that is linear quadric regulator (LQR)
controller as a mean of comparison. The design of intelligent controllers consists of
fuzzy logic controller (FLC) and adaptive neural fuzzy controller (ANFIS). All
controllers will be designed to control angle of the pendulum and the position of the cart.
The third part will be focused on implementation of controllers in simulation by
using MATLAB to verify the effectiveness of the designed controllers.
5
The final part will be focused on detail analysis and justification of suitable
controller for the system by performing a comparison base on the common criteria‟s of
the step response to identify the best controller
1.5 Thesis Outline
The thesis consists of seven chapters. It begins with the introductory chapter.
This chapter gives the brief description of the problem for inverted pendulum system,
objectives of the project and scope of the project.
Chapter two discusses the literature review and related works from existing
controller approaches to stabilize the inverted pendulum system.
Chapter three presents the research framework of this study. It will describe each
phase of the research, beginning from deriving the mathematical model of the inverted
pendulum, followed by design and simulation of controllers in order to have a detailed
analysis for identifying the best approach for stabilizing the system.
Chapter four contains the overview of the inverted pendulum system with
nonlinear factor, followed by comprehensive description for deriving the mathematical
model for the dynamic of the system in differential form, transfer function form, and
state space form.
6
Chapter five includes a discussion of the control theory and topologies that could
be used to drive the pendulum to its upright position as well as maintaining the position
of the cart. Three approaches will be described which are state-space controller, and two
different methods of intelligent controller. This section as well discusses the procedure
or steps to the realization of the entire controllers in the inverted pendulum system.
Chapter six will present the entire results from applied controllers. In this stage,
analysis and comparison on the controllers‟ performance based on controlling angle of
the pendulum and position of the cart will be presented. It will be based on the common
criteria‟s of the step response such as a percentage of overshoot, rise time, settling time,
and the steady state error.
Final chapter will give the conclusion of this thesis. All the problems occurred
during this project will be emphasized; several recommendations and suggestions will be
proposed to improve this project.
96
REFERENCES
1 Ahmad Nor Kasruddin Bin Nasir “Modeling and Controller Design For an
Inverted Pendulum System,” Universiti Teknologi Malaysia: Master's Thesis,
2007.
2 Chen Wei Ji Fang Lei Lei Kam Kin, “Fuzzy logic Controller for an Inverted
Pendulum System”, Faculty of Science and Technology, University of Macau.
3 L A Zadeh. “Fuzzy Sets,” Information and Control , Vol. 8, pp. 353-383, 1965.
4 P J King and E H Mamdani “The Application of Fuzzy Control System to
Industrial Process”, Automatica Vol. 13 pp. 235-242, 1977.
5 E H Mamdani “Application of Fuzzy algorithms for control of simple dynamic
plant”, Proceeding of IEEE Vol. 121, pp. 1585-1588, 1977.
6 Lawrence Bush, “Fuzzy Logic Controller for the Inverted Pendulum Problem”,
IEEE Control System Magazine, pp. 238-245, November 27, 2001.
7 Mohanlal, P.P. Kaimal, and M.R. Vikram “Decision and Control”, in Proc. of the
41st IEEE Conference Sarabhai Space Centre, Vol. 3, pp. 3255-3260, Dec.
2002.
8 Yu and Li Xu “Development of Inverted Pendulum System and Fuzzy Control
Based on MATLAB”, in Proc. of the 5th World Congress on Intelligent Control
and Automation, pp. 298-307, June 2004.
9 Hong Liu and Huadong Yu “ Study of Fuzzy Control of Inverted Pendulum
System in the Simulink Environment”, in Proc. of the IEEE Int. Conference on
Mechatronic and Automation, pp.937-942, August 2007.
97
10 Moon Gjoo, Jin S. Leet “Hierarchical Fuzzy Control Scheme using Structured
Takagi-Sugeno Type Fuzzy Inference,” IEEE Int. Fuzzy Systems Conference
Proceedings, pp. 78-83, 1999.
11 Atsushi Yamada, Satoko, and etc “Switching Control for Inverted Pendulum
System Based on Energy Modification”, SICE Annual Conference in Sapporo
Hokkaido Institute of Technology, pp. 2316-2321, 2004.
12 T. Takagi and M. Sugeno, “Fuzzy identification of systems and its applications
to modeling and control”, IEEE Trans. on System, Man, Cybernetics, Vol. SMC-
15, no. 1, pp. 116–132, Jan. 1985.
13 Derrick H Nguyen and Bernard Widrow “Neural Network for self learning
Control System,” IEEE Trans. on Control System Magazine, Vol. 15 pp.18-23,
April 1990.
14 M.Y. Shieh, C.W. Huang “A GA-based Sugeno-Type Fuzzy Logic Controller for
the Cart-Pole System,” IEEE Trans. on Industrial Electronics, Vol. 39, No.2, pp.
1028-1033, 1994.
15 Dario Maravall, Changjiu Zhou, and Javier Alonso “Hybrid Fuzzy Control of the
Inverted Pendulum via Vertical Forces”, Wiley Periodicals Inc., pp. 635-641,
March 2005.
16 Songmoung Nundrakwang, Taworn Benjanarasuth, Jongkol Ngamwiwit and
Noriyuki Komine, “Hybrid controller for Swinging up Inverted Pendulum
system”, in Proceeding IEEE of System Man and Cybernetics, Vol. 4, pp 750-
758, June2008.
17 Jyh-Shing and R. Jang. “Self-Learning Fuzzy Controllers Based on Temporal
Back propagation,” IEEE Trans on Neural Networks , Vo1.3, No.5, pp. 714-723,
1992.
18 Derrick H Nguyen and Bernard Widrow “Neural Network for self learning
Control System”, IEEE Transactions on Control System Magazine, Vol. 15 pp.
18-23, April 1990.
19 J.S. Roger Jang, “Fuzzy Controller Design without Domain Expert”, in
Proceeding of AAAI of Control System Design, Vol. 27, No. 3, pp. 205-213, June
2001.
98
20 Chinta Srikanth, “Design of an Adaptive Neuro Fuzzy Controller for an Inverted
Pendulum System,” Master’s thesis, 2005.
21 Ravi Chandra Tatikonda, Venkata Praveen Battula “Control of Inverted
Pendulum using Adaptive Neuro Fuzzy Interface Structure (ANFIS),” Int.
Conference and Workshop on Emerging Trends in Technology, ICWET 2010.
22 Sehng Qiang, Qing Zhou, and Shuanghe Yu “ANFIS Controller for Double
Inverted Pendulum,” 6th IEEE Int. Conference on Industrial Informatics, pp.
475-480, July 2008.
23 Wang Luhao, Sheng Zhanshi “LQR-Fuzzy Control for Double Inverted
Pendulum”, Int. Conference on Digital Manufacturing and Automation, pp. 900-
903, 2010.
24 Yuejuan Han, Yongxin Liu, “Reduced-Dimensional Fuzzy Controller Design
Based on Fusion Function and Application in Double Inverted Pendulum”, 2nd
Int. Conference on Industrial Mechatronics and Automation, pp. 337-340,
August 2010.
25 Suying Zhang, Ran An, and Shuman Shao “A New Type of Adaptive Neural
Network Fuzzy Controller in the Double Inverted Pendulum System,” Proc. of
the Third Int. Conference on Artificial intelligence and computational
intelligence, Vol. II, pp.149-157, 2011.
26 Xianran Jia,Yaping Dai, “Adaptive Neuro-Fuzzy Inference System Design of
Inverted Pendulum System on an Inclined Rail”, Second WRI Global Congress
on Intelligent Systems, pp. 137-141, 2010.
27 Carnegie Mellon, University of Michigan, www.engin.umich.edu/group/ctm/ex
28 Mohd Fuaad Rahmat, Herman Wahid, and Norhaliza Abdul Wahab,
“Application of Intelligent Controller in a Ball and Beam Control System”,
International Journal on Smart Sensing and Intelligent Systems, Vol. 3, No. 1,
March 2010
29 Xinmin Shi, and Zhengqing Hao, “Fuzzy Control and Matlab Simulink”,
Tsinghua University Press and Oxford University Press, 2008.
99
30 C.C. Lee, “Fuzzy Logic in Control Systems: Fuzzy Logic Controller – Part 1,”
IEEE Trans. on Systems, Man & Cybernetics, Vol.20, No. 2, pp. 404-419, March
1999.
31 J. S. R. Jang, “ANFIS: Adaptive-Network-based Fuzzy Inference Systems,”
IEEE Trans. On systems, Man, and cybernetics, Vol. 23, No, 3, pp. 665-685,
May 1993.
32 M. Ayoubi “Neuro-fuzzy Structure for Rule Generation and Application in the
Fault Diagnosis of Technical Processes,” Proceedings American Control
Conference, pp. 2757-2761, 1998.
33 J. S. R. Jang, “Neuro-Fuzzy Modeling and Control”, Proceedings Intelligent
Systems and Control, ACTA press, 2005.
34 A. Zilouchian, and M. Jamshidi “Intelligent Control Systems Using Soft
Computing Methodologies”, pp. 422-433, CRC Press, Inc. 2001.