Fuzzy Logic
description
Transcript of Fuzzy Logic
Fuzzy Fuzzy LogicLogic
Priyaranga Koswatta
• Mundhenk and Itti, 2007
• Advantages of Fuzzy Controllers
• Minimal mathematical formulation
• Can easily design with human intuition
• Smoother controlling
• Faster response
Agenda
• General Definition• Applications• Formal Definitions• Operations• Rules• Fuzzy Air Conditioner• Controller Structure
General Definition
Fuzzy Logic - 1965 Lotfi Zadeh, U.C. Berkeley
• superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth
• central notion of fuzzy systems is that truth values (in fuzzy logic) or membership values (in fuzzy sets) are indicated by a value on the range [0.0, 1.0], with 0.0 representing absolute Falseness and 1.0 representing absolute Truth.
• deals with real world vagueness
Applications
• ABS Brakes
• Expert Systems
• Control Units
• Bullet train between Tokyo and Osaka
• Video Cameras
• Automatic Transmissions
Formal Definitions• Definition 1: Let X be some set of objects, with elements noted as x.
• X = {x}.
• Definition 2: A fuzzy set A in X is characterized by a membership function
mA(x) which maps each point in X onto the real interval [0.0,
1.0]. As mA(x) approaches 1.0, the "grade of membership" of x
in A increases.
• Definition 3: A is EMPTY iff for all x, mA(x) = 0.0.
• Definition 4: A = B iff for all x: mA(x) = mB(x) [or, mA = mB].
• Definition 5: mA' = 1 - mA.
• Definition 6: A is CONTAINED in B iff mA mB.
• Definition 7: C = A UNION B, where: mC(x) = MAX(mA(x), mB(x)).
• Definition 8: C = A INTERSECTION B where: mC(x) = MIN(mA(x), mB(x)).
• http://www.seattlerobotics.org/Encoder/mar98/fuz/flindex.html
• http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq.html
• http://plato.stanford.edu/entries/logic-fuzzy/
Operations
A B
A B A B A
Example:Example:Using Fuzzy Using Fuzzy
Logic for a Line Logic for a Line Following RobotFollowing Robot
Mechanical Design of a very Mechanical Design of a very inexpensive Line-Following Robotinexpensive Line-Following Robot
Basic Motions of a Basic Motions of a Differential Drive robotDifferential Drive robot
Input Membership FunctionsInput Membership Functions
Sample Fuzzy Rule BaseSample Fuzzy Rule Base
Output Membership FunctionOutput Membership Function
Example:Example:Using Fuzzy Logic Using Fuzzy Logic
for an Obstacle for an Obstacle Avoiding RobotAvoiding Robot
Very Basic Control Theory
Your speed towards a goal or away from
an object should be proportional to the
distance from it.
If you want to get to a goal in an optimal
amount of time you want to move quickly.
However, you need to decelerate as you
grow near the target so you can have more
control.
Speed distance-to-target∝
Very Basic Control Theory In systems with momentum (i.e. the real world) we
have to worry about more complex acceleration and
deceleration.
We can overshoot our target or stop short!
You increase your rate of deceleration based on how
close you are to a goal or obstacle.
You can also integrate over the distance to a goal to
create a steady state.
This is the basic idea behind a PID controller.
Proportional Integral Derivative
The physical derivation of PID can be tricky, we will
avoid it for now.
However this part of an extremely interesting topic!
IDEA!
Lets just hack a fuzzy controller together
and avoid some math.
The gods will curse us….
But if it works, that may be all that matters!
Derive rule of thumb ideas for speed
and direction
If I’m 6 meters from the obstacle, am I far from it?
Try some fuzzy rules…
Lets look at adjusting trajectory first then
we will look at speed…
If an obstacle is near and center, turn sharp
right or left.
If an obstacle is far and center, turn soft left
or right.
If an obstacle is near, turn slightly right or
left, just in case.
Etc…
The robot works in continuous
time
The fuzzy rules should change slightly at
each time step.
We don’t want the robot to jerk to a new
trajectory too quickly. Smooth movements tend
to be better.
How often we need to update the controller is
dependant on how fast we are moving.
For instance: If we update the controller 30
times a second and we are moving < 1 kph then
movement will be smooth.
Ideally, the commands issued from the fuzzy
controller should create an equilibrium with the
observations.
Our robot has momentum
We have somewhat implicitly integrated
the notion of momentum.
This is why we would slow down as we get
closer to an obstacle
What about more refined control of
speed and direction?
Use the derivative of speed and trajectory to
increase or decrease the rate of change.
Thus, if it seems like we are not turning fast
enough, then turn faster and visa versa.
Controller Structure
• Fuzzification– Scales and maps input variables to fuzzy sets
• Inference Mechanism– Approximate reasoning– Deduces the control action
• Defuzzification– Convert fuzzy output values to control signals
Rule Base
Air Temperature
• Set cold {50, 0, 0}• Set cool {65, 55, 45}• Set just right {70, 65, 60}• Set warm {85, 75, 65}• Set hot {, 90, 80}
Fan Speed
• Set stop {0, 0, 0}• Set slow {50, 30, 10}• Set medium {60, 50, 40}• Set fast {90, 70, 50}• Set blast {, 100, 80}
Rules
Air Conditioning Controller Example:
• IF Cold then Stop
• If Cool then Slow
• If OK then Medium
• If Warm then Fast
• IF Hot then Blast
default:
The truth of any statement is a matter of degree
default:
The truth of any statement is a matter of degree
Membership function is a curve of the degree of truth of a given input value
Membership function is a curve of the degree of truth of a given input value
Fuzzy Air Conditioner
Stop
Slow
Medium
Fast
Blast
0
10
20
30
40
50
60
70
80
90
100
0
1
45 50 55 60 65 70 75 80
0C
old
C
ool
85 90
Just
Rig
ht
W
arm
Hot
if Coldthen Stop
IF CoolthenSlow
If Just Rightthen
Medium
If WarmthenFast
If HotthenBlast
Mapping Inputs to Outputs1
0
10
20
30
40
50
60
70
80
90
100
0
1
45 50 55 60 65 70 75 80
0
85 90
t
EXAMPLE:EXAMPLE:
Using Fuzzy Logic Using Fuzzy Logic for a SWERVING for a SWERVING
ROBOTROBOT
Motivating Example: Motivating Example: Swerving RobotSwerving Robot