Fuzzy
Control for Behavior-Based Mobile Robots
Jane
Yung-Jen HSU*
Der-Chiang Lo
Shih-Chun Hsu
Department of Computer Science and Information Engineering
National Taiwan University
Taipei, Taiwan 106, R.O.C.
Abdract- This paper presents an implemented control
architecture for behavior-based mobile robots in partially
known environments. In addition to coordinating primi-
tive behaviors, t h e fussy controller is able to integrate re-
active behaviors with goal-directed planning capabilities so
that t h e robot can reach its goals more eWciently. The
fuxsy controller was tested on a mobile robot equipped with
sonars and infrared sensors t o perform collision-free I .av-
igation toward any given goal position. T h e performance
of the navigation system was compared with two existing
algorithms, and the experimental results showed that the
proposed architecture provides an efficient and flexible so-
lution t o higher level control problems.
I. INTRODUCTION
A mobile robot needs t o be reactive in order to cope with uncertainties due to imperfect sensing and control, as well as incomplete knowledge about the world. Many tra- ditional path planning algorithms rely on complete infor- mation and accurate robot hardware to find a collision-free path to the goal [9], [4]. Unfortunately, while the real world usually contains many static known objects such as walls and hallways, unknown and/or moving objects do exist. The dynamics in the world demand a controller to have a high degree of flexibility. Many existing navigation algo- rithms can handle unknown obstacles, but they still assume perfect sensing and control [13], [12].
In recent years, behavior-based robots have successfully
demonstrated their competence in reacting t o dynamic en- vironments [l], [8]. Unlike symbolic AI that emphasizes high-level deliberative reasoning, a behavior-based robot emphasizes a more direct coupling of perception to action, whose overall task performance emerges as a result of the coexistence and cooperation of many individual behavior generating modules. For example, a mobile robot may be constructed from the primitive behaviors for wandering, path tracking, wall following, and obstacle avoidance etc., each of which may become active or inactive according to the current world situation. Several primitive behaviors have been implemented for a Nomad 200 mobile robots, which is equipped with sonar and infrared sensors.
Behavior-based robots using the subsumption architec- ture are simple and powerful. However, there are several problems associated with this approach. First of all, by eliminating explicit internal representations of the world, it is more difficult to take advantage of prior domain knowl- edge without carefully programming specific knowledge into the robot. Secondly, (variable) goal directed activi-
'This research was supported in part by the ROC National Sci-
ence Council under grant NSC82-0422-E002-046. The authors can be
reachcdat [email protected].
ties such as path planning are fundamentally incompatible with a fully reactive system. In particular, path planning can generate helpful information even if the environment is only partially known. One possible solution is to integrate a map representation into a behavior-based robot [2]. Last but not least, controlling the activations and inhibitions of the various behaviors is a complex task. For example, a mobile robot may start by finding an initial path using the path planning module. It can then use path tracking to
move toward its goal. If any unknown object blocking the current path is encountered, the obstacle avoidance mod-
ule will be activated. Once the obstacle is out of the way, the robot then tries to get back to the nearest intermedi- ate points originally planned. If the robot has deviated too much from its planned path, replanning has to be done.
In addition, due to errors accumulated in its mechanical movements, a mobile robot needs to reduce the differences between its encoder and actual positions by invoking the
localization module.
Fuzzy control systems have been widely used for many applications that call for inexact and approximate reason- ing, including low-level motion control of robots [lo], [15], [16]. In the simple scenario above, the decisions about whether an object is blocking a path, when an object is out of the way, or how far the robot has to deviate from its planned course before replanning becomes necessary etc., often involve reasoning with inexact and incomplete infor- mation. As a result, fuzzy control provides a plausible so-
lution for high level coordination of the primitive behaviors for such robots. A fuzzy controller takes the sensor read- ings as input, converts such crisp data into appropriate fuzzy sets and the corresponding values of the member- ship function. The system then infers conclusions based on a set of fuzzy control rules. Finally, a unique behavior is selected through the defuzzification interface. Our ex- periments have shown the advantages of the fuzzy control approach for programming a mobile robot in environments with unknown static objects.
This paper defines a behavior-decision fuzzy controller and reports the results from computer simulation as well as
experiments with real robots. In Section 2, we will describe the architecture of the fuzzy controller for behavior-based robots. The detailed design of the fuzzy controller, includ- ing the database, the rulebase, and the decision-making logic will be given in Section 3. Section 4 summarizes the results from a set of experiments, and the performance of our fuzzy controller is compared with several existing nav- igation algorithms.
11. ARCHITECTURE
In general, a behavior interacts with the world based on a direct mapping from its sensory data to actions. For exam- ple, a light-seeking behavior will choose to move toward the direction with the strongest light. Similarly, an obstacle- avoidance behavior will choose a direction with the lowest probability of having an obstacle. In addition to strictly re- active behaviors, our framework also allows behaviors that utilize simple models of the world.
The current implementation includes behaviors for ob- stacle avoidance, path tracking, localization, and path planning. The architecture is as shown in Figure 1.
I I
Fig. 1. Navigation by fumy control of behaviors.
This architecture can be generalized t o perform more complex tasks than simple navigation by including more behaviors, where each behavior can perform a specialized task. At each cycle, a single behavior will be selected for execution. The individual behaviors are described below. Path tracking: Given a sequence of subgoal points spec- ifying a planned path, this simple behavior compares its current odometer readings with the position of its next sub- goal, and moves in the corresponding direction [3]. Collision avoidance: Avoiding collisions with both known and unknown obstacles should be a basic compe- tence of a mobile robot, which is usually equipped with sensors to detect obstacles in its immediate neighborhood. Because sensors can be inaccurate, obstacle detection based on a single sample of sensory information is not very reli- able. A heuristic and efficient method, Vector Field His- togram (VHF) [ 5 ] , is chosen to achieve real-time obstacle avoidance. The VHF method creates a probability distri- bution of obstacles by continuously and rapidly sampling each sensors while the robot is moving. Each sampling will
increase the certainty value of any cell and its neighboring cells corresponding to the actual location(s) of obstacles. The robot will choose to move in a director closest to goal and whose obstacle density is below a certain threshold. Localization: Dead reckoning is typically used to com- pute the position of a robot during path tracking and other behaviors. However, due to cumulative errors in its motor control, a robot that navigates by dead reckoning alone will eventually lose track of its correct position. The prob- lem can be prevented by periodically re-establishing the absolute position of the robot using localization techniques
[SI, [7]. The localization behavior works by building an environment model based on its current sensor readings. The model is then transformed and matched with an ex- isting model (such as a given map) to identify potential position(s) of the robot, which are then clustered based on their distances. The average values of the largest cluster will be taken t o be the actual position of the robot. Path planning: This behavior module finds a free path for the robot that avoids all known obstacles. The general problem of path planning is computationally intractable, and many seemingly simple classes of planning problems have been shown t o be PSPACEhard or worse [9]. Given incomplete information and unpredicted changes in the en- vironment, the utility of the "perfect" path is only tenta- tive. Therefore, it makes more sense to use an approximate but efficient method for finding a path. The numerical po-
tential field method NF1 introduced in [4] was employed in our system. The time complexity of the planning a l p rithm is O ( k ) , where
k
is the number of rectangloid grids in the configuration space.Given a goal position, the path planning module can gen- erate a collision-free path based on information contained in the map. Since an exact world model is not available in most application, the planned path will be considered as recommended rather than mandatory. The navigation controller should take the current sensory data into account and select the appropriate behavior according to the fuzzy rule base.
111.
FUZZY
CONTROLLER DESIGNOur fuzzy controller is a multiple input, single out- put (MISO) system, which is divided into three parts: database, rulebase, and decision-making logic. The former is used to define the membership functions of fuzzy sets, the latter two are used to define the relation between the input fuzzy sets and the output fuzzy set, and to gen- erate a unique result as the input to the controlled system.
A . Database
There are five factors affecting behavior selection in the current implementation. The input linguistic variables and their fuzzy sets are described as follows (more detailed def- initions can be found in [ll]):
PA - the possibility that the robot can pass without touching any obstacle when moving forward to its next subgoal. Its fuzzy sets are very high, high, normal, low,
and very low. The value of PA combines both sonar and infrared readings.
SI
-
the difficulty of the current situation. Its fuzzy sets are very dificult, dificult, normal, easy, and veryeasy.
SD
-
the difference between real sensor readings and predictive sensor readings. The fuzzy sets are very small, small, medium, large, and very large.DS
-
the distance from the robot to the next subgoal. Its fuzzy sets are very near, near, medium, far, and very far.TL
-
the time interval since the last localization. The fuzzy sets are very short, short, medium, long, and verylong.
The fuzzy sets are defined in terms of certain computed numeric values. For example, the SI values is defined as:
16 16
SI-value = #(infraredi
<
15)+
C # ( s o n a r j<
30)i= 1 j = l
where
#
is the number of sensors whose readings satisfied the condition. Similarly, the SD value is defined as:16 SD-value = x ( i n f r a r e d i
-
predictinfraredi)l i= 1 16+
x ( s o n a r j - predictsonarj)’ j = 1The single output linguistic variable is behavior (BH). Its fuzzy sets are PT (path tracking), OA (obstacle avoid- ance), RP (replanning), and LO (localization). Each fuzzy set of BH is a fuzzy singleton.
B . Rulebase
All the rules in our rulebase are state evaluation fuzzy control rules. They are of the form:
R,
= if x is A; and. . .
and y is B; then z is C;where R, is the i-th rule in the rulebase, x and y are input linguistic variables, and A; and B; are their fuzzy sets, respectively. The output linguistic variables t has C; as its fuzzy set.
The initial design and subsequent modifications of the fuzzy control rules are heuristic and based on experience. It is often necessary to go through a trial-and-error process. The initial rules are constructed based on our knowledge about navigation control. The set of rules were thoroughly tested to identify their shortcomings and the database and rulebase definitions were repeatedly modified and im- proved.
The final rulebase contains the following seven rules, which are used in the decision-making process.
and DS - ~ is ~ far -~~
IF
SD is large THEN BH is LOIF
SD is medium THEN BH is LO and TL is long and T L is medium and TL is short and T L is shortIF
SI is hard THEN BH is LOIF
PA is very low THEN BH is R PIF
PA is low THEN BH isRP
C. The Decision-making logic
The Mamdani’s minimum operation rule is used as the implication function in our implementation. For any given rule in the rulebase:
Iz;
: IF z is A; and,..
. , y is BiTHEN
z is C;Let ~A;(u),
. . .
,
p ~ ; ( u ) and pci(w) be the degrees of mem- bership of A;,. .
.
,
B; and Ci, respectively, where the input values of the linguistic variables x,. .
.,
y are U ,.
.
.,
v , and1u is an ambiguous element of C;. Let V be the maximum operation and the A be the minimum operation. The de- gree
by:
The C is
A
of membership function of Ci due to R.i is computed
membership function pc of the inferred consequence defined, in a point-wise fashion, by
n
vw, P C ( W ) =
v
PC$W).i=l
simple defuzzification strategy is adopted to choose the behavior that has the highest degree of membership. The degree of membership for the behavior P T is fixed at 0.5, so that it is chosen as the default output if none of the other consquences has a degree of membership higher than 0.5. The fuzzy controller executes an interactive control loop continuously until the goal is achieved.
IV. EXPERIMENTAL RESULTS
The fuzzy controller has been developed on a Sun Sparc station, and the resulting system was tested both on a real robot and using a simulator.
A . Robot : Nomad 200
The Nomad 200 robot has four sensory modules: tactile, infrared, ultrasonic, and a 2D laser ranger. The last module was not used in the experiments. Its drive system utilizes a
two-servo, three-wheel synchronous drive mechanical sys- tem which has a zero gyro-radius. The user control pro- gram can be executed on a SUN workstation or a Macintosh computer, which communicates with the robot via a radio 21 1
modem t o send control commands and to receive sensor data. The robot's bumper consists of two rings of pressure sensitive switches, with ten switches on each ring. On the robot's body
is
mounted a ring of 16 independent infrared sensors, ranging from 0 t o 36 inches; similarly mounted a ring of 16 sonar sensors, ranging from 17 to 255 inches. The maximum translational speed of Nomad 200 is 4 feet per second, and the maximum rotational speed is 60 degrees per second.The fuzzy controller was used successfully to control the
Nomad 200 navigating in the hallways around our labora- tory. The robot was able t o reach its goal positions without colliding with unknown objects.
B. Simulation
In order to verify and measure the performance of our fuzzy controller, it was further tested on a set of 200 ran- domly generated environments. A small degree of motor and sensor uncertainties were included in the simulation. For comparison, three existing navigation algorithms Bugl, Bug2(L), and Bug2(R) [12], [13] were also implemented to run on the same examples. The resulting traces from our system and those of the others are shown in Figure 2. In this case, although all the algorithms can achieve their goals, the fuzzy controller was the most efficient.
To illustrate that the relatively better performance of the fuzzy contoller was not coincidental, the experiment was repeated for all 200 different environments, and the elapsed time for reaching the goal position was recorded for each run. Table 1 shows the average time for each method to achieve its goal, given that the ratio of unknown obstacles vs. known obstacles was 0%, SO%,
loo%,
and 140%. The overall performance of the fuzzy controller is about 25% to three times better than the other methods.unknown/known 0% obs tacles
fuzzy controller 0%
TABLE I
AVBRAGR TIME ( S E ) FOR RBACHING THE GOAL.
60% 100% 140% 1.8% 1.7% 7.9%
1
unknown/known1
0%I
60%I
100%I
140%1
obstaclesI
L Bug 1 512 553 602 650 Bug 2(R) 277 327 361 363 Bug 2(L) 227 262 305 297Unfortunately, the performance was gained at the ex- pense of completeness. While the other three algorithms are guaranteed to find a path if one exists, the fuzzy con- troller may fail. Table 2 shows the failure rate for the fuzzy controller given the different ratios of unknown obstacles.
The experiments illustrated that our fuzzy controller can achieve its goal over 90% of the time even when unknown obstacles outnumbered known obstacles in the environ- ment. It should be noted that the completeness of the other navigation algorithms is obtained under the strong assumption of perfect sensing and control, which is very unlikely in the real world.
TABLE I1
FAILURB RATB
V. CONCLUSION
In this paper, we presented a fuzzy controller for behavior-based mobile robots. The fussy controller allows run-time arbitration of the next behavior to be executed in a tight interaction loop with the environment. It is robust with respect to unknown obstacles and motor uncertainty. The fuzzy controller satisfies two requirements: reacting to its local dynamic environment and achieving its global goal, which are not achievable at the same time by either centralized or reactive methods alone.
REFERENCES
R.A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, 2(1), pp. 14-23, 1986.
M.J. Mataric. Integration of representation into goal-driven behavior-based robots. ZEEE Transactions on Robotics and Au-
tomation, 8(3), pp. 304-312, 1992.
R.C. Arkin. Motor schana-based mobile robot navigation The International Journal of Robotics Research, pp. 92-112, August, 1992.
J. Barraquand, B. Langlois, and J.-C. Latombe. Numerical po-
tentid field techniques for the robot path planning. ZEEE Zbans- actionr on Systems, Man, and Cybcrncticr, pp. 224-241, 1992.
H. Borenstein and Y. Koren. Real-time obstacle avoidance for
fast mobile robots. ZEEE Transactions on Systems, Man, and Cybernetics, 19(5), pp. 1179-1186,1989.
M. Drumheller. Mobile robot localization using sonar. IEEE
Transaction on Pattern Analysis and Machine Zntelligence,9(2),
A.A. Holenstein, M.A. Muller and E. Badreddin. Mobile robot
localisation in a structured environment cluttered with Obstacles. Proceedings of ZEEE Conference on Robotics and Automation, pp. 2576-2581, Nice, France, 1992.
L.P. Kaelbling and S.J. Rosenschein Action and Planning in Embedded Aaents. Robotics and Autonomour Svstemr. 6, pp. 325-332,1987.
-
pp. 35-48,1990.
J.-C. Latombe. Robot Motion Plannino. Kluwer Academic Pub
fishers, 1991.
C.C. Lee. b e y logic in control system: fussy logic controller,
part I& 2. IEEE Transactions on System, Man, and Cybernetic,
D.C. Lo. A Fuzzy Controller for Behavior-Bared Mobile Robots,
MS Thesis, CSIE, National Taiwan University, June, 1993. V.J. Lumelsky and A.A. Stepanov. Path planning strategies for
a point mobile automaton moving amidst unknown obstacla of
arbitrary shape, Algorithmica, Springer-Vedag, 1987.
A. Sankaranaray- and M. Vidyasagar. A new path planning
algorithm for moving a point object amidst unknown obstacles
in a plane. Proceedings of 29th ZEEE Conference on Decision
and Control, pp. 1111-1119,1990.
R.P. Sobek and R.G. Chatila. Intergrated planning and execu- tion control for an autonomom mobile robot. Artificial Intelli- gence in Engineering, 3(2), pp. 103-113, 1988.
M. Sugeno and M. Nishida. Fuzzy control of model car. Fuuy
Sets and Systemr, 16, pp. 103-113,1985.
M. Sugcno. An introductory survey of fuszy control. Information
Sciences, 36, pp. 59-83, 1985. 20(2), pp. 419-435,1990.
-\,
I
'
--
... -
(a) Fuzzy controller
I
2;. ... :..: ... ..\... .:. .: , , , .: . . . ... ... . ... ,Jj (c) Bug2(R) algorithm I / (b) Bug1 algorithmI
I
./"
I I
j> ,...,.,... .,.... .....
,. ... ... . ... ... ,J (d) Bug2(L) algorithmFig. 2 . A sample comparison among four navigation algorithms