Download - Report on robotic control
Anil Maurya Electrical & Electronics Engineer 1
A
REPORT
ON
ROBOTIC CONTROL
USING
FUZZY LOGICS
BY
ANIL MAURYA ELECTRICAL & ELECTRONICS ENGINEER
Anil Maurya Electrical & Electronics Engineer 2
CONTENTS
Contents vi
List of Figures x
List of Tables xii
Abstract xiv
Chapter 1: Introduction 2
Chapter 2: Fuzzy logics 3
2.1 Fuzzy Set 4
2.2 Fuzzy Inference System 5
Chapter 3: Operation of Fuzzy Logic 11
3.1 Example of Fuzzy Logic 11
3.2 Fuzzy regions 12
3.3 Fuzzy rules 15
3.4 Fuzzification 16
3.5 Defuzzification 16
Chapter 4: Robot Control with Fuzzy Logics 19
4.1 Reactive behaviors using Fuzzy logics 24
4.1.1 Obstacle avoidance 25
4.1.2 Following edge 25
4.1.3 Target steer 26
4.2 Multiple behaviors fusion by fuzzy reasoning
27
Chapter 5: Application of fuzzy logics 30
Anil Maurya Electrical & Electronics Engineer 3
Chapter 6: Conclusion 33
Reference
LIST OF FIGURES
Chapter 2
Fig. 2.1 Crisp membership function 5
Fig. 2.2 Fuzzy membership function 8
Fig. 2.3 Trapezoidal membership function 10
Fig. 2.4 Gaussian membership function 10
Fig. 2.5 fuzzy logic control 11
Fig. 2.6 fuzzy inference system 12
Chapter 3
Fig. 3.1 Sectional View of fuzzy room cooler 13
Fig. 3.2 Defuzzification condition 17
Chapter 4
Fig. 4.1 Robot motion to reach a target 21
Fig. 4.2 Robot action behavior control 25
Fig. 4.3 Rule for robot behavior 28
List of Tables
Chapter 3
Table 3.1 Fuzzy Rules 15
Table 3.2 Fuzzification 16
Chapter 4
Table 4.1 FLC rule table 18
Anil Maurya Electrical & Electronics Engineer 4
ABSTRACT
Fuzzy set theory, originally developed by Lotfi Zadeh in the 1960’s, has become a
popular tool for control applications in recent years (Zadeh, 1965).
Fuzzy control has been used extensively in applications such as servomotor and
process control. One of its main benefits is that it can incorporate a human being’s
expert knowledge about how to control a system, without that a person need to have a
mathematical description of the problem.
Many robots in the literature have used fuzzy logic (Song & Tay, 1992), (Khatib,
1986), (Yanetal, 1994) etc. Computer simulations by Ishikawa feature a mobile robot
that navigates using a planned path and fuzzy logic. Fuzzy logic is used to keep the
robot on the path, except when the danger of collision arises. In this case, a fuzzy
controller for obstacle avoidance takes over.
Konolige, et al. use fuzzy control in conjunction with modeling and planning
techniques to provide reactive guidance of their robot. Sonar is used by robot to
construct a cellular map of its environment.
Sugeno developed a fuzzy control system for a model car capable of driving inside a
fenced-in track. Ultrasonic sensors mounted on a pivoting frame measured the car’s
orientation and distance to the fences. Fuzzy rules were used to guide the car parallel
to the fence and turn corners (Sugeno et al., 1989). The most known fuzzy models in
the literature are Mamdani fuzzy model and Takagi- Sugeno-Kang (TSK) fuzzy
model. The control strategy based on Mamdani model has the linguistic expression
(Mamdani, 1981).
Anil Maurya Electrical & Electronics Engineer 5
Chapter 1
INTRODUCTION
Fuzzy logic was initiated in 1965 by Lotfi A. Zadeh, professor for computer science at
the university of California in Berkeley, Fuzzy Logic (FL) is a multivalued logic, that
allows intermediate to be defined between conventional evaluations like true/ false,
yes /no, high/low etc. notions like rather tall or very fast can be formulated
mathematically and processed by computers, in order to apply a more human like way
of thinking of the programming of computers. A fuzzy system is an alternative to
traditional notions of set membership and logic that has its origins in ancient Greek
philosophy.
The precision of mathematics owes its success in large part to the efforts of Aristotle
and the philosophers who preceded him. In their efforts to devise a concise theory of
logic, and later mathematics, the so – called “Laws of thought” were posited. One of
these the Law of the Excluded Middle states that every proposition must either is true
or false.
Even when Parmenides proposed the first version of this law (around 400 B.C) there
were strong and immediate objections: for example, Heraclitus proposed that things
could be simultaneously True and Not True. It was Plato who laid the foundation for
that would become fuzzy logic, indicating that there was a third region (beyond True
and False) where these opposites “tumbled about”. Other, more modern philosophers
echoed his sentiments, notably Hegel, Marx, and Engels. But it was Lukasiewicz who
first proposed a systematic alternative to the bi-valued logic of Aristotle.
Even in the present time some Greeks are still outstanding examples for fussiness.
Fuzzy logic has emerged as a profitable tool for the controlling and steering of
systems and complex industrial processes, as well as for household and entertainment
electronics, as well as for the other expert systems and applications like the
classification of SAR data.
Anil Maurya Electrical & Electronics Engineer 6
Chapter 2
FUZZY LOGICS
FUZZY – “ not clear , distinct , or precise ; blurred ”
[Elian Rich]
Fuzzy logic is a useful method of learning when mathematical methods are not
available and large number of input data is parent. Fuzzy logic is a problem solving
control system methodology that lends itself to implementation in systems ranging
from simple, small embedded micro-controllers to large, networked, multichannel PC
or workstation – based data acquisition and control systems. It can be implemented in
hardware, software or a combination of both. Fuzzy Logic provides a simple way to
arrive at a definite conclusion based upon vague, ambiguous, imprecise, noisy or
missing input information Fuzzy Logic’s approach to control problems mimics how a
person would make decisions, only much faster.
Fuzzy logic techniques have been used in image-understanding applications such as
detection of edges, feature extraction, classification, and clustering. Fuzzy logic poses
the ability to mimic the human mind to effectively employ modes of reasoning that
are approximate rather than exact. In traditional hard computing, decisions or actions
are based on precision, certainty, and vigor. Precision and certainty carry a cost. In
soft computing, tolerance and impression are explored in decision making. The
exploration of the tolerance for imprecision and uncertainty underlies the remarkable
human ability to understand distorted speech, decipher sloppy handwriting,
comprehend nuances of natural language, summarize text, and recognize and classify
images. With FL, we can specify mapping rules in terms of words rather than
numbers.
Computing with the words explores imprecision and tolerance. Another basic concept
in Fuzzy logic is the fuzzy if–then rule. Although rule-based systems have a long
history of use in artificial intelligence, what is missing in such systems is machinery
for dealing with fuzzy consequents or fuzzy antecedents. In most applications, a
Fuzzy logic solution is a translation of a human solution. Thirdly, Fuzzy logic can
model nonlinear functions of arbitrary complexity to a desired degree of accuracy.
Anil Maurya Electrical & Electronics Engineer 7
Fuzzy logic is a convenient way to map an input space to an output space. Fuzzy logic
is one of the tools used to model a multi-input, multi-output system.
Soft computing includes Fuzzy logic, neural networks, probabilistic reasoning, and
genetic algorithms. Today, techniques or a combination of techniques from all these
areas are used to design an intelligence system. Neural networks provide algorithms
for learning, classification, and optimization, whereas fuzzy logic deals with issues
such as forming impressions and reasoning on a semantic or linguistic level.
Probabilistic reasoning deals with uncertainty. Although there are substantial areas of
overlap between neural networks, Fuzzy logic, and probabilistic reasoning, in general
they are complementary rather than competitive. Recently, many intelligent systems
called neuro fuzzy systems have been used. There are many ways to combine neural
networks and Fuzzy logic techniques. Before doing so, however, it is necessary to
understand basic ideas in the design of Fuzzy logic techniques. In this chapter, we will
introduce Fuzzy logic concepts such as fuzzy sets and their properties, Fuzzy logic
operators, hedges, fuzzy proposition and rule-based systems, fuzzy maps and
inference engine, defuzzification methods, and the design of an Fuzzy logic decision
system.
2.1 Fuzzy sets and membership functions
Fuzzy sets introduce a certain amount of vagueness to reduce complexity of
comprehension. This set consists of elements that signify the degree or grade of
membership to a fuzzy aspect. Membership values usually use closed intervals and
denote the sense of belonging of a member of a crisp set a fuzzy set. Fuzzy Logics
provides the opportunity for modeling conditions that inherently imprecisely defined.
Fuzzy techniques in the form of approximate reasoning provide decision support and
expert systems with powerful reasoning capabilities. The permissiveness of fuzziness
in the human thought process suggests that much of the logic behind thought
processing is not traditional two valued logic or even multivalued logic, but logic with
fuzzy truths, fuzzy connectiveness, and fuzzy rules of inference. A fuzzy set is an
extension of a crisp set. Crisp sets allow only full membership or no membership at
all, whereas fuzzy sets allow partial membership. In a crisp set, membership or non-
membership of element x in set A is described by a characteristic function µA (x),
where µA (x) = 1 if x € A and µA (x) = 0 if x € A. Fuzzy set theory extends this
Anil Maurya Electrical & Electronics Engineer 8
concept by defining partial membership. A fuzzy set A on a universe of discourse U is
characterized by a membership function µA (x) that takes values in the interval [0.1].
Fuzzy sets represent commonsense linguistic labels like slow, fast, small, large,
heavy, low, medium, high, tall, etc. A given element can be a member of more than
one fuzzy set at a time. A fuzzy set A in U may be represented as a set of ordered
pairs. Each pair consists of a generic element x and its grade of membership function;
that is, A = {(x, µA (x)) | x € U}, x is called a support value if µA (x) > 0. A linguistic
variable x in the universe of discourse U is characterized by T (x) = {Tx1, Tx
2…Txk}
and µA (x) = { µx1, µx
2 ,…. µxk}, where T(x) is the term set of x that is, the set of
names of linguistic value of x, with each Txi being a fuzzy number with membership
function µxi defined on U.
For example, if x indicates height, then T(x) may refer to sets such as short, medium,
or tall. A membership function is essentially a curve that defines how each point in
the input space is mapped to a membership value (or degree of membership) between
0 and 1. As an example, consider a fuzzy set tall. Let the universe of discourse be
heights from 40 inches to 90 inches. With a crisp set, all people with height 72 or
more inches are considered tall, and all people with height of less than 72 inches are
considered not tall. The crisp set membership function for set tall is shown in figure.
The corresponding fuzzy set with a smooth membership function is shown in figure.
The curve defines the transition from not tall and shows the degree of membership for
a given height. We can extend this concept to multiple sets. If we consider a universe
of discourse from 40 inches to 90 inches, then, to describe height, we can use three
term values such as short, average, and tall. In practice, the terms short, medium, and
tall are not used in the strict sense. Instead, they imply a smooth transition. Fuzzy
membership functions representing these sets are shown in figure. The Figure shows
that a person with height 65 inches will have membership value 1 for set medium,
whereas a person with height 60 inches may be a member of the set short and also a
member of the set medium; only the degree of membership varies with these sets.
Various types of membership functions are used, including triangular, trapezoidal,
generalized bell shaped, Gaussian curves, polynomial curves, and sigmoid functions.
figure shows trapezoidal membership functions. Triangular curves depend on three
parameters a, b, and c and are given by
Anil Maurya Electrical & Electronics Engineer 9
Fig. 2.1 Crisp Membership Function Fig.2.2 Fuzzy
Membership Function
Fig. 2.3 Trapezoidal Membership Function
Anil Maurya Electrical & Electronics Engineer 10
Trepezoidal Curves dependes on four parameters
2.1
The ∏- shaped membership functions
2.2
Where S(x; a, b, c) represents a membership function defined as
2.3
a, b, and c are the parameters that are adjusted to fit the desired membership data. The
parameter b? Is the half width of the curve at the crossover point? The Gaussian and
π- shaped membership functions are shown in figures, respectively. Gaussian curves
depend on two parameters σ and c and are represented by
2.4
Anil Maurya Electrical & Electronics Engineer 11
Fig. 2.4 Gaussian Membership Function Fig.2.5 π- shaped membership
functions
2.2 Fuzzy Inference System
The theory of fuzzy logic based system could remain fuzzy till one discovers how to apply it to a problem. Fuzzy Logic has been used in a broad spectrum of applications ranging from domestic like washing machines and cameras, to more sophisticated ones that include turbine control, tracking, data classifiers, etc. Fuzzy Logic by itself does not exhibit intelligence. Invariable systems that use Fuzzy Logic are augmented with techniques that facilitate learning and adaptation to the environment in question.
Fig. 2.6 Block diagram of Fuzzy Logic Control
A fuzzy inference system (FIS) essentially defines a nonlinear mapping of the input
data vector into a scalar output, using fuzzy rules. The mapping process involves
input/output membership functions, Fuzzy Logic operators, fuzzy if–then rules,
aggregation of output sets, and defuzzification. An FIS with multiple outputs can be
considered as a collection of independent multi-input, single-output systems. A
general model of a fuzzy inference system (FIS) is shown in Figure. The Fuzzy Logic
Anil Maurya Electrical & Electronics Engineer 12
System maps crisp inputs into crisp outputs. It can be seen from the figure that the
Fuzzy Inference System contains four components: the fuzzifier, inference engine,
rule base, and defuzzifier. The rule base contains linguistic rules that are provided by
experts. It is also possible to extract rules from numeric data. Once the rules have
been established, the Fuzzy Inference System can be viewed as a system that maps an
input vector to an output vector. The fuzzifier maps input numbers into corresponding
fuzzy memberships. This is required in order to activate rules that are in terms of
linguistic variables. The fuzzifier takes input values and determines the degree to
which they belong to each of the fuzzy sets via membership functions. The inference
engine defines mapping from input fuzzy sets into output fuzzy sets. It determines the
degree to which the antecedent is satisfied for each rule. If the antecedent of a given
rule has more than one clause, fuzzy operators are applied to obtain one number that
represents the result of the antecedent for that rule. It is possible that one or more
rules may fire at the same time. Outputs for all rules are then aggregated. During
aggregation, fuzzy sets that represent the output of each rule are combined into a
single fuzzy set. Fuzzy rules are fired in parallel, which is one of the important
aspects of an Fuzzy Inference System. In an Fuzzy Inference System, the order in
which rules are fired does not affect the output. The defuzzifier maps output fuzzy
sets into a crisp number. Given a fuzzy set that encompasses a range of output values,
the defuzzifier returns one number, thereby moving from a fuzzy set to a crisp
number. Several methods for defuzzification are used in practice, including the
centroid, maximum, mean of maxima, height, and modified height defuzzifier. The
most popular defuzzification method is the centroid, which calculates and returns the
center of gravity of the aggregated fuzzy set. FISs employ rules. However, unlike
rules in conventional expert systems, a fuzzy rule localizes a region of space along the
function surface instead of isolating a point on the surface. For a given input, more
than one rule may fire. Also, in an FIS, multiple regions are combined in the output
space to produce a composite region. A general schematic of an Fuzzy Inference
System is shown in Figure.
Anil Maurya Electrical & Electronics Engineer 13
Fig. 2.7 Schematic diagram of Fuzzy Inference System
Anil Maurya Electrical & Electronics Engineer 14
Chapter 3
OPERATION OF FUZZY LOGIC
We discuss a traditional problem of controlling the speed of a motor based on two
parameters temperature and humidity. Such a model fits snug into room coolers that
use a tank of water and a fan to increase humidity to bring down temperature. Coolers
like these are widely used in tropical high temperature and dry environments. The
same could be extended for a wide range of applications. The following description
explains how fuzzy logic works and how we model a system to use the concept. The
logic explained herein is said to use the Mamdani style of fuzzy inference processing.
We assume conventional room cooler implemented using a fan encased in a box with
wool or hay that is continuously moistened by a tickle of water. A motorized pump
controls the rate of flow of water required for moistening. Two sensors mounted
inside the cooler or in the room at strategic locations measure the fan motor speed and
the temperature within the room. The fan speed could be varied either by a knob by
the user or could be designed to change based on an appropriate parameter sensed
(humidity, for instance). The basic aim here is to achieve a smooth control and also
save on water, a precious resource.
3.1 Example of Fuzzy Logic
The conventional room cooler implemented using a fan encased in a box with wool or
hay that is continuously moistened by a tickle of water. A motorized pump controls
the rate of flow of water required for moistening. Two sensors mounted inside the
cooler or in the room at strategic locations measure the fan motor speed and the
temperature within the room. The fan speed could be varied either by a knob by the
user or could be designed to change based on an appropriate parameter sensed
(humidity, for instance). The basic aim here is to achieve a smooth control and also
save on water, a precious resource.
For simplicity we assume that to maintain the temperature of the room, only the rate
of flow of water needs to be controlled based on the speed of the fan and the
temperature.
Anil Maurya Electrical & Electronics Engineer 15
Fig.3 .1 Sectional view of fuzzy room cooler
3.2 Fuzzy regions
Two parameters temperature and pressure decide the water flow rate. We define fuzzy
terms for temperature as Cold, Cool, Moderate, Warm and Hot, while those for fan
speed (measured in rotation per minute) as Slack, Low, Medium, Brisk, fast.
Thus temperature in the room could be defined as Cold or Cool or by any of the
corresponding fuzzy linguistic variables. Likewise, the fan speed too could be defined
by any of the latter variables.
The output of the system, which is the water controlled by the motorized pump, could
also be defined accordingly by yet another set of fuzzy terms Strong Negative (SN),
Negative (N), Low -Negative (LN), Medium (M), Low - Positive (LP), Positive (P)
and High – Positive (HP).
With real data available we now define profiles for each of these parameters
temperature, fan motor speed and flow rate by assigning memberships to their
respective values. The shown in the figure depict this relationship for the inputs
temperature and fan speed reveals this for the output flow rate.
Anil Maurya Electrical & Electronics Engineer 16
Observe that the regions for each of the sets for both the input parameters,
temperature and fan motor speed, as also the output have a common intersection area.
For example, we say that when the temperature is 25 degrees, its membership to the
fuzzy set moderate is 1 (100%). But as we drift away to 30 degrees, its membership to
this set decreases while the same to the set warm starts to increase. Thus when the
temperature is 30 degrees it is neither fully moderate nor warm. These profiles have to
be carefully designed after studying the nature and desired behavior of the system.
(a) Temprature
(b) Fan motor speed
Anil Maurya Electrical & Electronics Engineer 17
Water Flow Rate
3.3 Fuzzy rules
The fuzzy rules form the triggers of the fuzzy engine. After a study of the system we
could write linguistic rules such as –
R1: if Temperature is Hot and Fan motor Speed is Slack then Flow – rate is HIGH –
POSITIVE.
R2: if Temperature is Hot and Fan motor Speed is Low then Flow – rate is HIGH –
POSITIVE.
R3: if Temperature is Hot and Fan motor Speed is Medium then Flow – rate is
POSITIVE.
R4: if Temperature is Hot and Fan motor Speed is Brisk then Flow – rate is HIGH –
POSITIVE.
R5: if Temperature is Warm and Fan motor Speed is Medium then Flow–rate is
LOW–POSITIVE.
R6: if Temperature is Warm and Fan motor Speed is Medium then Flow – rate is
POSITIVE.
R7: if Temperature is Cool and Fan motor Speed is Low then Flow – rate is
NEGATIVE.
Anil Maurya Electrical & Electronics Engineer 18
R8: if Temperature is Moderate and Fan motor Speed is Low then Flow – rate is
MEDIUM.
Table 3.1 Table of fuzzy rules
3.4 Fuzzification
The fuzzifier forms the heart of the fuzzy engine. Whenever the sensors report values
of temperature and fan speed, they are mapped based on their memberships to the
respective fuzzy regions they belong to. For instance if at some instance of time t the
temperature is 42 degrees and speed 31 rpm, the corresponding membership value and
the associated fuzzy regions are mentioned below.
Table 3.2 fuzzification
From the table, since both temperature and fan speed belong to two regions; it is clear
that the rules R3, R4, R5 and R6 are applicable. The rules indicate a conflict. While
two of them state the flow – rate should be POSITIVE, the other two states that it
should be LOW – POSITIVE and HIGH – POSITIVE respectively.
Anil Maurya Electrical & Electronics Engineer 19
3.5 Defuzzifier
The fuzzy outputs LOW – POSITIVE, HIGH – POSITIVE and POSITIVE are to be
converted to a single crisp value which can then be delivered to the final actuator of
the pump. This process is called defuzzification. Several methods are used to achieve
defuzzification, the most common ones being the Centre OF Gravity method and the
Composite Maxima method. In both these methods we need to compute the composite
region formed by the portions A, B, C and D on the output profile. In case of
parameters whose premises are connected by an AND, the minimum of their
memberships is first found. This value is used to cut through the profile of the output
fuzzy set (done by drawing a horizontal line). This results in a region (area) on the
output surface. For cases where an OR relates the premises the maximum membership
is taken to work out the output surface. All output surfaces are found to obtain the
composite output region.
Depending on the application, either the Centre of Gravity or the Composite Maxima
of the Region (area) is found and treated as the crisp output. The former method
works best for control applications such as the one described herein. The crisp output
is the desired flow rate (X – coordinate of the Centroid) and the motorized pump is
adjusted accordingly based on this value.
Fig. 3.2 Defuzzification condition
Anil Maurya Electrical & Electronics Engineer 20
Defuzzification condition
Fig. 3.3 Defuzzification
Anil Maurya Electrical & Electronics Engineer 21
Chapter 4
ROBOTIC CONTROL WITH FUZZY LOGIC
The main concept of the study is to coordinate conflicts and competitions among
multiple reactive behaviors efficiently by fuzzy sets and a rule base. To achieve this
objective, an array of ultrasonic sensors and a vision system are mounted on a robot.
The ultrasonic sensors provide distance information between the robot and obstacles
for behavior control of the mobile robot, while the vision system identifies some sub
goals for determining a good motion direction to avoid robot trap in local region.
If a mobile robot moves in unknown environments to reach a specified target without
collisions with obstacles, sensors must be used to acquire information about the real
world. Using such information, it is very difficult to build a precise world model in
real-time for preplanning a collision-free path. On the basis of situational reactive
behaviors, behavior based control has been proposed for robot navigation. Since this
method does not need building an entire world model and complex reasoning process,
it is suitable for robot control in dynamic environments. A key issue in behavior based
control is how to coordinate conflicts and competitions among multiple reactive
behaviors efficiently. The example in Fig.1 shows that the robot must efficiently
weight multiple reactive behaviors, such as avoiding obstacle, following edge, and
moving to target and so on, according to range information, when it reaches a target
inside a U-shaped object. The usual approach for implementing behavior control is
artificial potential fields.
A drawback to this approach is that during pre programming much effort must be
made to test and to adjust some thresholds regarding potential fields for avoiding
obstacle, wandering, and moving to target and so on. In particular, these thresholds
frequently depend on Environments. In, we present an approach for fuzzy logic based
behavior control of a mobile robot. Unlike behavior control based on artificial
potential fields, this method is to compute weights of multiple reactive behaviors in
dynamic environments by a fuzzy logic algorithm rather than simply to inhibit some
reactive behaviors with lower levels. In this paper, we further present a strategy for
fuzzy logic based behavior control of a mobile robot by multi sensor integration. To
achieve this objective, an array of ultrasonic sensors and a vision system are mounted
on a mobile robot. The ultrasonic sensors provide distance information between the
Anil Maurya Electrical & Electronics Engineer 22
robot and obstacles for robot navigation by reactive behaviors, such as avoiding
obstacles and following edges, while the vision system identifies some sub goals for
determining a good motion direction to avoid robot trap in local region. This method
differs from the fuzzy control approaches for obstacle avoidance in. Since perception
and decision units in this method are integrated in one module by the use of the idea
of reactive behaviors and are directly oriented to a dynamic environment, this strategy
has the better real-time response and reliability. To demonstrate the effectiveness and
the robustness of the proposed strategy, we report a lot of simulation results on robot
navigation in uncertain environments, such as avoiding obstacle in real-time,
decelerating at curved and narrow roads, escaping from a U shaped object and moving
to target and so on.
Fig.49.1 Robot motion to reach a target
Anil Maurya Electrical & Electronics Engineer 23
Fig. 4.2 Robot motion inside a U – shaped object
Fig. 4.3 this graph shows the membership grades for the Fuzzy sets distance and
direction
In order to acquire information about dynamic environments, 15 ultrasonic sensors are
mounted on the THMR-I1 mobile robot [12], as shown in Fig.2. The sonar reflection
from a sensor i represents the distance di, measured by the sensor i, between the robot
and obstacles in the real world.
These ultrasonic sensors are divided into three groups to detect obstacles to the right
Anil Maurya Electrical & Electronics Engineer 24
(sensor i = 1, ..., 6 ), front ( sensor i = 7, ..., 9 ), and left locations ( sensor i = 10, ...,
15 ). Using such information, obviously, it is difficult to build a precise and entire
world model in real-time for preplanning a collision-free path. Here, we use the sonar
data di (i = 1, ..., 15) to build a simple model for representation of the distances
between the robot and obstacles in the real world as follows:
Right- obs = Min {di} i = 1, ..., 6 (1)
Front- obs = Min {di} i = 7, ..., 9 (2)
Left-obs = Min {di) i = 10,…., 15 (3)
Where the minimum values, right-obs, front-obs, and left-obs, derived from the sensor
data
di (i = 1, ..., 15), express the distances between the robot and obstacles to the right,
front, and left locations, respectively. The mobile robot is equipped with two wheel
encode units to determine its current coordinates.
At a start position, a counter is reset to zero. When the robot moves, its current
coordinates can be roughly computed by counting the numbers of pulses from the
wheel encodes that are attached on driving motors.
The THMR-I1 mobile robot with 1.0m length and 0.8m width is equipped with two
driving wheels and one driven wheel. The velocities of the driving wheels are
controlled by a motor drive unit.
(a)
Anil Maurya Electrical & Electronics Engineer 25
(b)
Fig. 4.4 Fuzzy logic scheme for perception-action behavior control
The input signals to fuzzy logic scheme are the distances between the robot and
obstacles to the left, front, and right locations as well as the heading angle between
the robot and a specified target, denoted by left-obs, front-obs, right-obs and head-
ang, respectively, as shown in Figure. When the target is located to the left side of the
mobile robot, a heading angle head-ang is defined as negative; while the target is
located to the right side of the mobile robot, a heading angle head-ang is defined as
positive, as shown in figure. According to acquired range information, reactive
behaviors are weighted by the fuzzy logic algorithm to control the velocities of the
two driving wheels of the robot, denoted by left-v and right-v, respectively. The
linguistic variables far, med (medium) and near are chosen to fuzzify left-obs, Front-
obs and right-obs. The linguistic variables P (positive), 2 (zero) and N (negative) are
used to fuzzify head-ang; the linguistic variables fast, med, and slow are used to fuzzy
the velocities of the driving wheels left-v and right-v. In analogy to artificial potential
fields, the distances between the robot and obstacles serve as a repulsive force for
avoiding obstacle, while the heading angle serves as an attractive force for moving to
target.
Anil Maurya Electrical & Electronics Engineer 26
Fig. 4.5 describing the various behaviors for robot
4.1 Reactive Behaviors using Fuzzy Logic
In order to reach a specified target in a complex environment, the mobile robot at least
needs the following reactive behaviors:
1. Obstacle avoidance and decelerating at curved and narrow roads;
2. Following edges;
3. Target steer.
Because the real world is a complex, using sensors it is very difficult to acquire
precise information about dynamic environments. In this case, a set of fuzzy logic
rules is used to describe the reactive behaviors. Now, we only list parts of fuzzy rules
from the rule base to explain, in principle, how these reactive behaviors are realized.
(In fact, much more fuzzy rules have been used in our navigation algorithms)
4.1.1 Obstacle Avoidance and Decelerating at Curved and Narrow Roads
When the acquired information from the ultrasonic sensors shows that there exist
obstacles nearby robot or the robot moves at curved and narrow roads, it must reduce
its speed to avoid obstacles. In this case, its main reactive behavior is decelerating for
obstacle avoidance. We give the first and second of fuzzy rules for realizing this
behavior as follows:
Anil Maurya Electrical & Electronics Engineer 27
If (left-obs is near and front-obs is near and
right-obs is near and head-ang is any)
Then (left-v is fast and right-v is slow).
If (left-obs is med and front-obs is near and
right-obs is near and head-ang is any)
Then (left-v is slow and right-v is fast).
Such fuzzy rules represent that the robot only pays attention to obstacle avoidance and
moves slowly when it is very close to obstacles or at curved and narrow roads.
4.1.2 Following Edge
When the robot is moving to a specified target inside a room, it must reflect following
Edge behavior. The first and second rules for describing this behavior are listed as
follows:
I f (left-obs is far and front-obs is far and
right-obs is near and head-ang is P)
Then (left-v is med and right-v is med).
I f (left-obs is near and front-obs is far and
right-obs is far and head-ang is N)
Then (left-v is med and right-v is med).
These fuzzy rules show that the robot shall follow an edge of an obstacle when the
obstacle is very close to the left (or the right) of the robot, and also the target is
located to the left (or the right).
4.1.3 Target Steer
When the acquired information from the ultrasonic sensors shows that there are no
obstacles around robot, its main reactive behavior is target steer. Here, we list the first
and second of fuzzy rules for realizing this behavior as follows:
I f (left-obs is far and front-obs is far and
right-obs is far and head-ang is Z)
Then (left-v is fast and right-v is fast).
I f (left-obs is far and front-obs is far and
right-obs is far and head-ang is N)
Then (left-v is slow and right-v is fast).
Anil Maurya Electrical & Electronics Engineer 28
These fuzzy logic rules show that the robot mainly adjusts its motion direction and
quickly moves to the target if there are no obstacles around the robot.
Table9.1 shows variation in speed with distance
Anil Maurya Electrical & Electronics Engineer 29
Fig.4.6 Graph representing the membership grade of distance as measured by sensor
4.2 Multiple Behaviors Fusion by Fuzzy Reasoning
A key issue of behavior-based control is how to efficiently coordinate conflicts and
competitions among different reactive behaviors to achieve a good performance. In a
priority strategy is used to activate a reactive behavior according to its urgency level.
This strategy is highly contentious for robot navigation in complex environments.
For example, it is difficult to determine exactly which one of the reactive behaviors,
obstacle avoidance, or following edges, or target steer, should be fired when the robot
moves through the entrance of the U-shaped object to a target, as shown in Fig. To
reach the given target, in fact, all the three reactive behaviors must be efficiently
integrated. The following are some deficiencies of the priority strategy noted in our
experiments:
1. Much effort must be made to test and to adjust some thresholds or firing reactive
behaviors during pre-programming.
2. These thresholds depend heavily on environments, i.e., a set of thresholds,
determined in a given environment, and may not be suitable for other environments.
3. Robot motion with unstable oscillations between different behaviors may occur in
some cases. This is because just only one behavior could be activated at a given
instant and two behaviors with neighbouring priority, e.g., obstacle avoidance and
target steer, are fired in turn.
In the proposed control strategy, reactive behaviors are formulated by fuzzy sets and
fuzzy rules, and these fuzzy rules are integrated in one rule base. The coordination of
Anil Maurya Electrical & Electronics Engineer 30
different reactive behaviors can thus be easily performed by fuzzy reasoning. The
following is an illustration of how this problem is dealt with by the Min-Max
inference algorithm and the centroid defuzzification method in Eq.
For instance, the inputs, left-obs=d1, front-obs=d2, right-obs=d3, head-ang=ſ1, are
fuzzified by their membership functions to fire fuzzy rules associated with them
simultaneously. Assume that Rule i (see below), formulating the obstacle avoidance
behavior, and Rule j, formulating the following edge behavior, is fired according to
the fuzzified inputs (in fact, much more fuzzy rules may be activated):
Rule i:
I f (left-obs is near and front-obs is near
and right-obs is near and head-ang is N)
Then (left-v is fast and right-v is slow).
Rule j:
I f (left-obs is near and front-obs is med
and right-obs is med and head-ang is N)
Then (left-v is med and right-v is med).
By fuzzy reasoning and the centroid defuzzification method, both Rule i and Rule j,
related to the obstacle avoidance and following edge behaviors respectively, are
weighted to determine an appropriate control action, i.e., the velocities, left-v and
right-v, of the robot's rear wheels.
Anil Maurya Electrical & Electronics Engineer 31
Fig. 4.7 Behavior fusion by fuzzy reasoning
Anil Maurya Electrical & Electronics Engineer 32
Chapter 5
APPLICATION OF FUZZY LOGICS
Product Company Fuzzy logic
Air conditioner Hitachi, Matsushita, sharp Prevents overshoot-
undershoot temperature
oscillation and consumers
less on-off power
Anti-lock brakes Nissan Controls brakes in
hazardous cases based on
car speed and acceleration
and on wheel speed and
acceleration
Auto engine NOK/Nissan Controls fuels injection
and ignition based on
throttle setting, oxygen
content, cooling water
temperature, RPM
Auto transmission Honda, Nissan, Subaru Selects gear ratio based on
engine load, driving style,
and road conditions
Chemical mixer Fuji Electric Mixes chemicals based on
plant conditions
Copy machine Canon Adjust drum voltage based
on picture density,
temperature, humidity
Cruise control Isuzu, Nissan, Mitsubishi Adjusts throttle setting to
set speed based on car
speed and acceleration
Dryer Matsushita Converts load size, fabric
type, and flow of hot air to
drying times
Anil Maurya Electrical & Electronics Engineer 33
Elevator control Toshiba Reduces waiting time
based on passenger traffic
Health management Omron Over 500 fuzzy rules track
and evaluate an
employee’s health and
fitness
Microwave Sanyo, sharp, Toshiba Sets and tunes power and
cooking strategy
Palmtop computer Sony Recognizes handwritten
kanji character
Paper industry Cellulose do caima,
Portugal
Pulp production
Plasma etching Mitsubhishi electric Sets etch time
Refrigerator Sharp Sets defrosting and cooling
times based on usage
Still camera Canon, Minolta Finds subject anywhere in
frame, adjust autofocus
Subway control LIFE institute, yokohama Controls the subway
during peak hours
Television Goldstar (Korea), hitachi,
samsug (Korea), sony
Adjusts screen color and
texture for each frame and
stabilizes volume based on
viewer’s room location
Translator Epson Recognizes, translates
word in pencil size unit
Toaster Sony Sets toasting time and heat
strategy for each bread
type
Vaccum cleaner Hitachi, matsushita,
Toshiba
Sets motor-suction
strategy based on dust
quantity and floor type
Video camcorder Canon, Sanyo Adjusts autofocus and
lighting
Anil Maurya Electrical & Electronics Engineer 34
Washing machine Goldstar (Korea), hitachi,
samsug (Korea), sony
Adjusts washing strategy
based on sensed dirt level,
fabrics type, load size, and
water level
Anil Maurya Electrical & Electronics Engineer 35
Chapter 6
CONCLUSION
In this project, we use fuzzy logic to realize the reactive behaviors for robot
navigation. The method can effectively coordinate conflicts and competitions among
multiple reactive behaviors by weighting them and this coordination ability is nearly
independent of a dynamic environment due to it robustness.
The navigation algorithm has better reliability and real-time response since perception
and decision units in the algorithm are integrated in one module and are directly
oriented to a dynamic environment. The simulation results show that the proposed
method for robot navigation by multi sensor integration can automatically perform
avoiding obstacles, decelerating at curved and narrow roads, escaping from a U-
shaped object, and moving to target and so on in complex and uncertain
environments.
Anil Maurya Electrical & Electronics Engineer 36
Reference
1. McGraw Hill Education Book “Fuzzy Logic System” by Elaine Rich, Kevin Knight,
Shivshankar B Nair
2. Zadeh, L. D. (1965). Fuzzy Sets, Information and Control, No 8, pp. 338-365.
3. Gupta, M.M.; Ragade, R. K. & Yager, R.R. (1979). Advances in Fuzzy Set Theory
and Applications, North Holland, New York.
4. Dubois, D. & Prade, M. (1979). Fuzzy Sets and Systems: Theory and Applications,
Academic Press, New York.
5. Jamshidi, M.; Vadiee, N. & Ross, T. J. (1993). Fuzzy Logic and Control. Software
and Hardware Applications, PTR, Prentice Hall, New Jersey, USA.
6. Wei Li: "Fuzzy logic based 'perception action' behavior control of an mobile robot in
uncertain environments" IEEE World Congress on Computational Intelligence, in
press, 1994.
7. Ivanescu, M., Stoian, V. (1995). Variable Structure Controller for a Tentacle
Manipulator. Proceedings of the 1995 IEEE International Conference on Robotics
and Automation, Nagoya, Japan, May 21-27, vol. 3, pp. 3155-3160, ISBN: 0-7803-
1967-2.
8. R.A. Brooks, "A robust layered control system for a mobile robot", IEEE J. of
Robotics and Automation, RA 2, pp. 14-23, April 1986.
9. Ronald C. Arkin, and Robin R. Murphy, "Autonomous navigation in a manufacturing
environment", IEEE Tran. On Robotics and Automation, vo1.6, no.4, pp.445-454,
1990.
10. Wei Li and Kezhong He: "Sensor-based robot navigation in uncertain environments
using fuzzy controller" The 1994 ASME International Computers in Engineering
Conference, in press, 1994.