1 design ga-fuzzy controller for magnetic levitation using fpga prepared by hosam.m abu elreesh...
TRANSCRIPT
1
Design GA-Fuzzy Controller for Magnetic Levitation
Using FPGA
Prepared by
Hosam .M Abu Elreesh
Advisor Dr. Basil Hamed
2
Contents
• Introduction• Fuzzy Logic• Genetic Algorithm (GA)• FPGA and Xfuzzy CAD Tool• Application and Results• Conclusion• Future Works
3
Introduction
• Control systems have been in use for decades.• Power systems, computer control, space
technology, robotics, weapon systems and many others.
• Types of Control Systems:1- Conventional Control Techniques.
2- Intelligent Control Techniques.
4
Introduction
• Conventional Control Techniques:1- Classical Control (PID).
2- Modern Control (deadbeat, sliding mode). 3- Optimal Control (LQR, H2 and H∞).
• Intelligent Control Techniques: 1- Knowledge-base-expert systems (fuzzy
logic).2- Neural networks.
5
Introduction
• Fuzzy Logic hardware Implementation:
1- General-purpose fuzzy processor (µP, µC, digital signal processor (DSP)).
2-Dedicated fuzzy hardware
3- FPGA
6
Introduction
• Thesis Contribution1- This thesis present the design of fuzzy
controller of the Magnetic Levitation Model CE152.
2- Matlab program for applying the GA to optimize the memberships of the fuzzy controller.
3- Design the hardware of fuzzy controller using Xilinx Spartan 3e FPGA.
7
Fuzzy Control
Fuzzy Sets
Classical Sets
8
Fuzzy Control
Fuzzy History:• Fuzzy logic idea was born in July 1964.Lotfi A. Zadeh father of
fuzzy.
• 1965 was the birth of fuzzy logic techniques.
• 1979 was the first application of the fuzzy logic in industrial world cement kiln controller.
• In 1985 Japanese starts to make the first general-purpose fuzzy logic controller.
• Japanese start to use it in control systems, and they designed the first automatic subway train controller in 1987.
9
Fuzzy Control Why Use Fuzzy Logic?
• Fuzzy logic is used to control the complex, and nonlinear systems without make analyzing for these systems.
• Fuzzy control enables the engineers to implement the control technique by human operators
• Fuzzy logic is flexible with any given systems. • Fuzzy logic can be blended with conventional technique, to
simplify their implementation.
10
Fuzzy Control
Operations of Fuzzy Sets :
x
AND OR NOT
11
Fuzzy Control
Operations of Fuzzy Sets :
5.0)5.0,7.0min()(),(min)( xxx BABA
7.0)5.0,7.0max()(),(max)( xxx BABA
5.05.01)(1)( xx AAc
If there are two fuzzy sets A and B, and there is element (x).element (x) can be set A and has degree (0.5), element (x) can be in set B and has degree (0.7),
12
Fuzzy Control
Fuzzy Concepts:
• Membership Function.• Linguistic Variables.
• IF – THEN Rules
13
Fuzzy Control
Membership Function:
14
Fuzzy Control
Linguistic Variables:
• Age (old, young, very young, very old).• Tall (tall, short, very short, very tall).• Error( P big, P small, zero,N big, N small)
15
Fuzzy Control
IF – THEN Rules
• IF (input1 is MFa) AND (input2 is MFb) )
THEN (output is MFc)
• IF (Food is bad) and (Serves is bad ) THEN (Tip is cheap)
Antecedent consequent
16
Fuzzy Control
Fuzzy Logic Control (FLC)
• Mamdani model.• Takagi- Sugeno-Kang (TSK) model.• Kosko's additive model (SAM).
17
Fuzzy Control
Mamdani Model:
18
Fuzzy Control
Mamdani Model:• Fuzzification.
• Fuzzy Associative Memory (FAM) 1- Knowledge base.(Membership Functions, IF-THEN rules)
2- Decision-Making.
• Defuzzification Mean of Maximum method (MOM).
Center of Area (COA). Center of Maximum (CoM):
19
Fuzzy Control
Mamdani Model:
20
Genetic Algorithm
GA• Genetic Algorithms are reliable and robust methods for searching
solution spaces.
GA must address five issues. 1- A genetic representation 2- Initial population3- Fitness Function 4- Genetic operators 5- Values for the parameters of the GA, such as population size,
21
Genetic Algorithm
22
Genetic Algorithm
GA differs from conventional optimization techniques in following ways:
• GA does not deals with data directly but works with encoded data.
• GA uses least information such as fitness function to solve problems an does not need
derivation.
• GA uses probability laws rather than certain laws.
• GA generate populations of answer not just one answer.
• Almost all conventional optimization techniques search from a single point but
GA always operate on a whole population of points (parallelism).
23
Genetic Algorithm
GA Elements:
1- Individuals
2- Population
24
Genetic Algorithm
Chromosome coding
25
Genetic Algorithm
Fitness Function
0
2 )(. dttevaluefitness
dttevaluefitness
0
)(.
dtttevaluefitness
0
2 )(.
26
Genetic Algorithm
GA Operations:
1- Selection (Roulette Wheel Selection).
Roulette Wheel Selection
27
Genetic Algorithm
GA Operations:
1- Selection (Stochastic Universal Selection).
Stochastic Universal Sampling
28
Genetic Algorithm
GA Operations:
2- Crossover (Single-Point Crossover)
Single-Point Crossover
29
Genetic Algorithm
GA Operations:
2- Crossover ( Two-Point Crossover)
Two-Point Crossover
30
Genetic Algorithm
GA Operations:
3- Mutation
Mutation means swap one bit in binary coding or changes one number if the chromosome consist of numbers
4- Elitism
31
A simple example will help us to understand how a GA works. A simple example will help us to understand how a GA works. Let us find the maximum value of the function (15 Let us find the maximum value of the function (15xx xx22) ) where parameter where parameter xx varies between 0 and 15. For simplicity, varies between 0 and 15. For simplicity, we may assume that we may assume that xx takes only integer values. Thus, takes only integer values. Thus, chromosomes can be built with only four genes:chromosomes can be built with only four genes:
32
Suppose that the size of the chromosome population Suppose that the size of the chromosome population NN is 6, the is 6, the crossover probability crossover probability ppcc equals 0.7, and the mutation probability equals 0.7, and the mutation probability
ppmm equals 0.001. The fitness function in our example is defined equals 0.001. The fitness function in our example is defined
byby
ff((xx) = ) = 15 15 xx xx22
33x
50
40
30
20
60
10
00 5 10 15
f(x)
(a) Chromosome initial locations.
x
50
40
30
20
60
10
00 5 10 15
(b) Chromosome final locations.
34
Genetic Algorithm
Genetic Fuzzy Systems:
35
Genetic Algorithm
Genetic Fuzzy Systems:
1- Genetic Tuning of The Data Base
Tuning scaling gainsTuning fuzzy membership functions.
2- Genetic Learning of The Rule Base
36
FPGA and Xfuzzy CAD Tool
FPGA:
FPGA is digital integrated circuits (ICs) that have electronics blocks which can be programmed, and these blocks has configurable interconnection between them.
37
FPGA and Xfuzzy CAD Tool
38
FPGA and Xfuzzy CAD Tool
39
FPGA and Xfuzzy CAD Tool
40
FPGA and Xfuzzy CAD Tool
The Spartan-3E Development System
41
FPGA and Xfuzzy CAD Tool
Xfuzzy CAD Tool:
42
FPGA and Xfuzzy CAD Tool
Xfuzzy CAD Tool:
1- Description Stage
43
FPGA and Xfuzzy CAD Tool
Xfuzzy CAD Tool:
2- Tuning Stage
44
FPGA and Xfuzzy CAD Tool
Xfuzzy CAD Tool:
3- Vervication Stage
45
FPGA and Xfuzzy CAD Tool
Xfuzzy CAD Tool:
4- Synthesis Stage
1- Generat VHDLcode.2- C code.
3- sysgen code.
46
Application and Results
Magnetic Levitation CE152 Model
47
Application and Results
1 12c 00 c 00
2 23 2kk 00 0 k 00 0
3 3 i DA
1
x AD 2
3
0 1 0x 0
-2*k *i -k 2*k *ix 0 u(t)
mm x -x m x -xx K K
1 T0 0T
y= K K 0 0
fv
a
a
x
x
x
x
x
x
Magnetic Levitation CE152 Model
3 2
8.883e8 G(s)=
s + 5.349e4 s + 1.312e5 s - 2.054e8
The plant
48
Application and Results
Magnetic Levitation CE152 Model
open loop poles of the system:
-53492: (Stable pole), -63: (Stable pole), 61: (Unstable pole)
2Controlability Matrix B AB A B
0 0 5.5697e6
= 0 5.5697e6 -2.9795e11
1.5873e5 -8.49
08e9 4.519e14
Rank 3
Sytem is controllable
n
49
Application and Results
1- Fuzzy controller
•All universes of discourses are normalized to lie between –1 and 1 with scaling •assumed that the first and last membership functions have their apexes at –1 and 1 respectively.
•Triangular, Z and S membership functions are to be used.
•The number of fuzzy sets is constrained to be an odd integer greater than unity.
•The base vertices of membership functions are coincident with the apex of the adjacent membership functions
50
Application and Results
1- Fuzzy controller
51
Application and Results
1- Fuzzy controller
e ln mn sn z sp mp lp
ce
ln ln ln ln ln mn sn z
mn ln ln ln mn sn z sp
sn ln ln mn sn z sp mp
z ln mn sn z sp mp lp
sp mn sn z sp mp lp lp
mp sn z sp mp lp lp lp
lp z sp mp lp lp lp lp
52
Application and Results
1- Fuzzy controller
53
Application and Results
1- Fuzzy controller
Fuzzy Subsystem
PI Subsystem
54
Application and Results
1- Fuzzy controller
55
Application and Results
1- Fuzzy controller
Set Point
Time
Set Point
Time
Ts is nearly 0.15 sec Tr is nearly 0.106 sec
56
Application and Results
2- Fuzzy Controller Design with GA
some simplification is used in writing GA code: 1- The interval of the inputs and output will still at [-1 1] range.2- The symmetric point will still at zero.3- The inputs and output will have the same shape.
The number of individuals per one population will be 50.
the number of generation will be 100.
the crossover probability will be 0.7
57
Application and Results
2- Fuzzy Controller Design with GA
dttevaluefitness
0
)(.
58
Application and Results
2- Fuzzy Controller Design with GA
Set Point
Time
overshot is nearly 6%,Ts is 0.046 sec Tr is 0.023 sec.
Set Point
Time
59
Application and Results
3- VHDL Fuzzy Controller Implementation
PIC 16f877 as ADC DAC 0800.
60
Application and Results
3- VHDL Fuzzy Controller Implementation
61
Application and Results
3- VHDL Fuzzy Controller Implementation
62
Application and Results
3- VHDL Fuzzy Controller Implementation
Change of error
Time
Error
63
Application and Results
3- VHDL Fuzzy Controller Implementation
Set Point
Time
Set Point
Time
64
Application and Results
3- VHDL Fuzzy Controller Implementation
65
Application and Results
3- VHDL Fuzzy Controller Implementation
66
Application and Results
3- VHDL Fuzzy Controller Implementation
67
CONCLUSION
•Fuzzy logic and fuzzy controller.•GA •FPGA •Xfuzzy CAD tool.• The Magnetic Levitation CE152.• Fuzzy controller with and without GA are tested.•Implementation of fuzzy controller using FPGA.
68
Thank You