Fuzzy Logic. 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 Logic - 1965 Lotfi Zadeh, U.C. Berkeley
A B A B A
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
Speed ∝ distance-to-target
In systems with momentum (i.e. the real world) we
have to worry about more complex acceleration and
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!
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
If I’m 6 meters from the obstacle, am I far from it?
Try some fuzzy rules…http://www.seattlerobotics.org/Encoder/mar98/fuz/flindex.html
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
If an obstacle is near, turn slightly right or
left, just in case.
The robot works in continuoushttp://www.seattlerobotics.org/Encoder/mar98/fuz/flindex.html
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
Our robot has momentumhttp://www.seattlerobotics.org/Encoder/mar98/fuz/flindex.html
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.
Membership function is a curve of the degree of truth of a given input value
The truth of any statement is a matter of degreeRules
Air Conditioning Controller Example: