Fuzzy Knowledge Based Controller Design
Fuzzy Knowledge Based Controller Design
Systems
with
Applications
E LS EVI E R Expert SystemswithApplications 14 (1998) 179-186
Abstract
In this study a fuzzy logic controller for mobile robot navigation has been designed. The designed controller deals with the
uncertainty and ambiguity of the information the system receives. The technique has been used on an experimental mobile robot
which uses a set of seven ultrasonic sensors to perceive the environment. The designed fuzzy controller maps the input space
(information coming from ultrasonic sensors) to a safe collision-avoidance trajectory (output space) in real time. This is
accomplished by an inference process based on rules (a list of IF-THEN statements) taken from a knowledge base. The technique
generates satisfactory direction and velocity maneuvers of the autonomous vehicle which are used by the robot to reach its goal
safely. Simulation and experimental results show the method can be used satisfactorily by wheeled mobile robots moving on
unknown static terrains. © 1998 Elsevier Science Ltd. All rights reserved
980 70v
42°
adding sensors on other parts of the robot (i.e. rear) and
extending the knowledge base incorporating rules for
a) b) such new sensors. Sensors can be added until an
FIGURE 1. (a) Area of perception for the seven ultrasonic
omnidirectional perception of the environment is
sensors. (b) Obstacle detected at distance D and at angle 0 achieved. However, more sensors imply more computing
(both relative to the robot) by one of the ultrasonic sensors. time will be needed to obtain the final direction and
M. B. Montane r and A. Ramirez/Serrano / Expert Systems with Applications 14 (1998) 179-186 181
velocity commands. Therefore, a trade-off between variables (x~.... ~x,) such as the distance of the robot from
environment perception and computing time must be an obstacle, the velocity of the robot, the error angle, etc.
made for the robot to properly react in real time as The solution of the control problem is to define for each
perception of the environment constantly changes. output variable Yi, i=1 ..... m, a control function )6.
The sensors used on MOBIROB are Polaroid electro- X~x...xX,---*Y~ that assigns to each input tuple
static transducers controlled by a 68HC 11 (Xl.... ,x,) e X l X . . . x X , its adequate output yi=x(X~ ..... x,).
microcontroller. The sensors can detect objects between To model how the robot will behave a controller can
the range of 0.15 and 10.5 m. The microcontroller be designed using classical methods such as differential
determines the distance of each detected obstacle equations. Although mathematical models are well suited
according to the signal received by each electrostatic for obtaining an exact solution to problems where all
transducer. All seven sensors work and behave in the necessary information is available, it is extremely
same manner regardless of their position. This simplifies difficult to specify an accurate model of the robot
the analysis of the environment and the construction of behavior for responding efficiently to hazards without
the system. To avoid crosstalk between the sensors, intensive and complex computational processes.
transducers are fired (send a ping signal) in a sequence Alternative approaches have been explored, based on
such that the next sensor to be fired is as much as human knowledge, to make decisions more efficiently.
possible in a perpendicular line from the previous fired Human knowledge can satisfactorily deal with such
sensor. The following is the firing sequence used in the information in an efficient manner. For instance, humans
study: left-sensor ( - 98°: - 70°), front-sensor can drive a small car without knowing the exact
(-14°:14°), right-sensor (70°:98°), left-front-sensor mathematical models of the system. To solve the
( - 7 0 ° : - 4 2 ° ) , front-right-sensor (14°:42°), front-left- navigation problem a model based on human knowledge
sensor ( - 42°: - 14°), fight-front-sensor (42°:70°). can be built. An expert is asked to formalize his
knowledge in the form of linguistic rules for navigating
in an unknown environment. An example of a linguistic
2.1. Collision Avoidance Strategy
rule is the following:
Once the distance and direction of the obstacles are
known, a collision avoidance maneuver can be planned. IF obstacle distance relative to the robot is short and
obstacle angle is Right Small and error angle is Right
Our objective is to develop a control system that will
Big THEN steering angle is Right Big.
enable a mobile robot to navigate from a start point to a
goal point, without collisions, in the shortest possible Linguistic rules have an antecedent and a consequence.
travel time. The geometrical configuration of the naviga- The antecedent describes a fuzzy situation and the
tion problem is illustrated in Fig. 2. To increase the consequence specifies a fuzzy output. Fuzzy logic has
efficiency of safe navigation, travel time and distance been successfully used in various knowledge-based
traveled must be minimized. To accomplish this, the systems to control real-time decision-making in the area
robot must steer toward the goal, reducing the error angle of command and control, in environments where no
02, and modifying its velocity depending on how far the mathematical model can be applied with efficiency
robot is from the goal and if an obstacle is detected. On (information is imprecise, models are too expensive, etc.)
one hand, high velocities are achieved when the robot is (Bouchon & Despres, 1987; Ramirez-Serrano & Boume-
far from the goal point (xg,yg) and there are no obstacles dine, 1996). Robot navigation in unknown terrains is a
near the vehicle. On the other hand, low velocities are very complex task, difficult to control, basically because
established when the robot is near an obstacle or near the of the great amount of imprecise and ambiguous
goal point. If an obstacle is detected, angle 01 (obstacle information that has to be considered. However, the
angle) must be increased, changing the steering angle 03. common sense knowledge acquired by humans (linguis-
After the obstacle has been avoided angle 02 must again tic rules and reasoning process) can be easily represented
be reduced. as a knowledge base. In this context, in addition to the
imprecision and uncertainty of the information perceived
2.2. Fuzzy Logic Approach
Actions taken by the
Our objective is to design a controller to guide the robot robot
safely in an unknown environment from an initial point
to a final point. The robot will have to take actions such
as to speed up, turn left, turn fight, slow down, etc. These
actions are taken by determining or controlling the
ooo.,
r H ,Lj21LL
inf¢.nc~origin¢ ~ c a t i o n process[
values of variables such as velocity, steering angle,
obstacle angle, etc. These variables are called output
variables. To compute the values of output variables FIGURE 3. Architecture of the knowledge-based fuzzy con-
(Yi..... Ym) it is possible to determine the change of input troller.
182 M. B. Montaner and A. Ramirez/Serrano / Expert Systems with Applications 14 (1998) 179-186
TABLE 1
Fuzzy sets with their respective adjectives
Obstacle angle Error angle Steering angle Robot's velocity Distance from the Obstacle distance
(e+) (02) (e3) robot to the goal relative to the robot
Left Big (LB) Left Big (LB) Left Big (LB) Zero (Z) Zero (Z) Near (N)
Left Small (LS) Left Small (LS) Left Small (LS) Very Slow (VS) Near (N) Medium (M)
Zero (Z) Zero (Z) Zero (Z) Slow (S) Regular (RE) Far (FA)
Right Small (RS) Right Small (RS) Right Small (RS) Medium (M) Medium (M)
Right Big (RB) Right Big (RB) Right Big (RB) Fast (F) Far (FA)
TABLE 2
Rules necessary to change and avoid obstacles; obstacle distance=Medium (M)
Steering Angle Error angle ( Oa)
(O~) Left Big (LB) Left Small 0L~) Zero (Z) Right Small (RS) Right Big ORB)
Obstacle Left SmU (LS) Z_~ro(Z) Right Smart(RS) Right Big (RB)
(01) Right Small (RS) Left Big (LB) La~ SmaU(LS) Z~ro(Z)
A0! 10
Deffuzificafion Case # I :
Use only fuzzy outputs from ~x
rules SA-1 and SA-2. Obtain
SA output the centroid of the combined
commaud = Centroid fuzzy output.
a)
4. RESULTS
To test and analyze the controller, simulation and
10 experimental studies were performed. Simulation was
~x performed using the MS-DOS Matlab Fuzzy Logic
Toolbox. On the other hand, experimental results were
obtained using MOBIROB, a US$300.00 experimental
a) mobile robot developed at ITESM-CCM. During the
study, position, direction and velocity of the robot were
0.9 studied. Figs 9(a), 10(a), ll(a), 12(a) and 13(a) show
0.8 simulation and experimental results of the motion of the
0.7 i robot as it navigates from a start position A to a goal
,; Vel[%] point B through various static environments. The envi-
0.6 i ' ronment information obtained by the robot (obstacle
0.5
sensing) is the input to the fuzzy controller which, gives
0.4
the direction and velocity of the robot as its output. The
0.3
fuzzy controller continually reads information and pro-
0.2
vides an output until the robot reaches the goal point. To
0.1
accomplish this, the system also maintains the current
0
position of the robot within a coordinate system. Figures
Cycles
9(b), 10(b, ll(b), 12(b) and 13(b) show how the robot
b)
accelerates when no obstacle is near, whereas lower
FIGURE 10, Controller behavior on terrain 2, Simulation velocities are reached when obstacles are present near
(continuous line) and real navigation (dashed line). (a) the robot (just as desired). This allows a safer navigation
Trajectory. (b) Velocity, and increases the robot's performance in terms of travel
M. B. Montaner and A. Ramirez/Serrano / Expert Systems with Applications 14 (1998) 179-186 185
1 ~x
10
l P'-x
a)
a)
0.9
0.8
0.9
0.7 0.8
0.6
Vel [%1 0.7 I
0.5 0.6
0.4 0.5
0.3
veil%]
0.4
f
0.2
0.3
0.1
0.2
0
Cycles 0.1
b) 0
Cycles
FIGURE 12. Controller behavior on terrain 4. (a) Navigation
trajectory. (b) Robot's velocity. Continuous and dashed lines
represent simulation and experimental results, respectively. b)
FIGURE 13. Controller behavior on terrain 5. (a) Navigation
time. To perceive and avoid several obstacles at the same trajectory. (b) Robot's velocity. Continuous and dashed lines
time, the controller checks the entire knowledge base represent simulation and experimental results, respectively.
after the seven ultrasonic sensors transmit their corre-
sponding information (obstacle distance) to the robot.
The control signals (direction or velocity) transmitted to point (goal). The navigation trajectory is obtained after
the robot are obtained using all of the fuzzy conclusions mapping the information obtained from the real world
derived by all of the satisfied individual rules. After via ultrasonic sensors. In our approach, we designed a
control signals (direction and velocity) are transmitted to first knowledge base which modeled the behavior of an
the robot a new set of environment information is expert human and the inference implication was derived
captured by the sensors and transmitted to the fuzzy using the Mamdani approach (Eshragh & Mamdani,
controller. This strategy is applied until the robot reaches 1981). According to our simulation and experimental
its goal. results, the designed fuzzy controller has demonstrated
During the experimental phase of the study our satisfactory behavior. As the information needed to
autonomous mobile robot (MOBIROB) was directly navigate is obtained via ultrasonic sensors the method
linked (hard-wired) to a 486 personal computer (PC) can be easily extended to include an analysis of possible
used to store the real inputs (environment data) and moving obstacles. Thus, the method can be greatly
output (direction and velocity) variables to and from the improved by minimizing both the distance traveled and
robot. The experimental position of the robot within the the travel time, taking into account the velocity (and
given coordinate system (see Figs 9(a), 10(a), ll(a), possible acceleration) of the obstacles. This can be done
12(a) and 13(a) was determined using the experimental by integrating a fuzzy set representing the velocity
output variables stored in the linked PC. Here the system (acceleration) of the obstacles, and integrating the
(robot) was considered slip-free. corresponding rules (knowledge) into the system.
The method presented can be easily extended to
include backward velocities (not considered in this
5. SUMMARY AND CONCLUSIONS
study), increasing the maneuverability of the robot. For
We have presented an approach for designing a fuzzy this to be possible, sensors have to be incorporated in
controller for autonomous mobile robot navigation to other parts of the robot and corresponding rules added
reduce the travel time from an initial position to a final into the knowledge-base. Obviously, new membership
186 M. B. Montaner and A. Ramirez/Serrano / Expert Systems with Applications 14 (1998) 179-186
functions have also to be added to the existing ones. planning: multi-abstraction route planning based on intermediate
Our next step is to experiment with other fuzzy level vision processing. In Proceedings of SPlE--The International
Society for Optical Engineering, Cambridge, MA, Sensor Fusion:
inference techniques and to present a comparative study Spatial Reasoning and Scene Interpretation, (1003), pp. 470-489.
of the results. Also, the controller will be modified to Eshragh, F., & Mamdani, E. H. (1981). In E. H. Mamdani & B. R.
navigate within dynamic environments. At the first stage, Gaines (Eds) A General Approach to Linguistic Approximation in
continuing with our assumptions, some problems, such Fuzzy Reasoning and its Applications. New York: Academic Press.
as the effect of a wheel rolling over small obstacles not Freund, E., & Hoyer, H. (1988). Real-time pathfinding in multirobot
systems including obstacle avoidance. International Journal of
detected on dead reckoning, will not be considered. The Robotics Research, 7(1), 42-70.
use of the fuzzy controller is not limited to common Kruse, R., Gebhart, J., & Klawonn, F. (1995). Foundations of Fuzzy
static environments such as factories and warehouses, Systems. Chichester, UK: Wiley.
but can also be used in dynamic environments, where Kundur, S. R., & Raviv, D. (1995). Visual motion cue for autonomous
unknown moving objects are part of the surroundings. navigation, In Proceedings of the 3rd IASTED International
Conference on Robotics and Manufacturing, pp. 67-69.
Lozano-Perez, T., & Wesley, M. A. (1979). An algorithm for planning
REFERENCES collision-free paths among polyhedral obstacles. Communications
of the ACM, 22(10), 560-570.
Barshan, B., & Durrant-Whyte, H. F. (1995). Inertial navigation system Lumelsky, V. J., Mukhopadhyay, S., & Sun, K. (1990). Dynamic path
for mobile robots. IEEE Transactions on Robotics and Manufactur- planning in sensor-based terrain acquisition. IEEE Transactions on
ing, 11(3), 328-342. Robotics and Automation, 6(4), 462-472.
Beaufrere, B., & Zeghloul, S. (1995). Avoidance of moving obstacles Ramirez-Serrano, A., & Boumedine, M. (1996). Real-time navigation
by a mobile robot. In Proceedings of the 3rd lASTED International in unknown environments using fuzzy logic and ultrasonic sensing.
Conference on Robotics and Manufacturing, pp. 237-240. In Proceedings of the 11th International Symposium on Intelligent
Bouchon, B., & Despres, S. (1987). Propagation of Uncertainty and Control, Dearborn, MI, pp. 26--31.
Inaccuracies in an Expert System. Lecture Notes in Computer Surman, H., Huser, J., & Peters, L. (1995). Fuzzy system for indoor
Science, 286. Berlin: Springer. robot navigation. In Proceedings of the Fourth IEEE International
Doshi, R. S., Lam, R., & White, J. E. (1988). Region-based route Conference on Fuzzy Systems, Yokohoma, pp. 83-86.