Professional Documents
Culture Documents
A Fuzzy-Braitenberg Navigation Strategy For Differential Drive Mobile Robots
A Fuzzy-Braitenberg Navigation Strategy For Differential Drive Mobile Robots
DOI 10.1007/s10846-006-9055-3
This research was supported in part by the National Sciences and Engineering Research Council
(NSERC) of Canada under grants RGPIN1345 and RGPIN227612, and the Canada Foundation
for Innovation under the New Opportunities Program.
1. Introduction
n sensors or sensor groups. This is tedious and introduces too much subjectivity in
the design process. In this paper, a new method for tuning the membership function
µ NEAR of the fuzzy set NEAR is proposed according to the distribution directives of
the sensors on a robot. Using this method only one fuzzy set NEAR is required, no
matter how many sensors the robot is equipped with.
The organization of this paper is as follows: In Section 2, we briefly review the idea
of Braitenberg vehicles. In Section 3, a new algorithm is proposed to determine the
motor speeds based on the sensory data and goal position using fuzzy logic and the
idea of Braitenberg Vehicles 2 and 3. In Section 4, we present some implementation
issues and experimental results as well as discussions about the improvements
achieved using the proposed scheme.
2. Background
Figure 2 Braitenberg’s
Vehicles 2a and 2b in the
vicinity of a source.
s
sensor
motor
2b
2a
+ + + +
104 J Intell Robot Syst (2006) 47: 101–124
Figure 3 Braitenberg’s
Vehicles 3a and 3b in the
vicinity of a source. sensor
-
3a
-
s
3b
- -
motor
side (Figure 2), for each vehicle, one of the sensors (the one nearer to the source)
is excited more than the other; hence the corresponding motor runs faster. As a
consequence, Vehicle 2a turns away from the source, giving the impression that it
is trying to avoid the source. But Vehicle 2b will hit the source at a high speed, or
we say that it is trying to pursue the source as best as it can. In the configuration
of Vehicle 3, while approaching the source, Vehicle 3a will orient toward it. Since
the vehicle is on an oblique course, the sensor nearer to the source will slow down
the motor on the same side, producing a turn toward that side. Vehicle 3a will finally
come to rest facing the source. Vehicle 3b may come to rest facing the source, but any
slight perturbation could cause it to drift away. Actually, if the source is originally to
one side, Vehicle 3b always slows down and turns toward the opposite side, which is
observed as avoiding the source.
The mobile robot navigation problem can be generally decomposed into two sub-
problems: Getting to the goal and avoiding collisions [15]. In order to relate the idea
of Braitenberg vehicles to these two subproblems, the goal position can be considered
as a source which the robot wants to pursue, and an obstacle is regarded as a source
that it tries to avoid. Observing the behaviors of the Braitenberg vehicles in a vicinity
of their sources, we can easily identify that Vehicles 2a and 3b are suitable for the
purpose of obstacle avoidance, while Vehicle 2b is especially good for seeking the
goal. Between Vehicles 2a and 3b, we select the latter one for solving the problem of
collision avoidance for front and side obstacles. Clearly, it is safer for a mobile robot
to slow down and avoid obstacles in its way than to speed up towards them and then
perform the avoidance. Vehicle 2a is used for avoiding obstacles appearing near the
robot from the back, since it endows the robot with the ability of moving away from
collisions.
With the above analysis, we propose a navigation scheme for a differential drive
mobile robot as shown in Figure 4. Sensors detecting obstacles in the front, or on
J Intell Robot Syst (2006) 47: 101–124 105
the side (front or side sensors), are in negative crossed-connection with the motors.
This means that the smaller the distance between the robot and an obstacle detected
by these sensors, the slower will be the motor on the opposite side. This is the idea
suggested by Vehicle 3b. Sensors on the back part of the robot (rear sensors) are
in positive direct-connection with the motors. This means that the closer an object
is to the robot from the rear, the faster will be the motor on the same side, which
uses the idea of Vehicle 2a. This behavior is desired for the robot to avoid collisions
with objects coming from the rear. Note that several sensors on each side of the
robot are used at the same time for detecting obstacles. For example, the mobile
robot Koala [16] employed in our experiments is equipped with a ring of 16 infrared
proximity/ambient light sensors (eight on each side). In Figure 4, we use one to
represent any sensor on the corresponding side. The target angle φ is referred to as the
angular difference between the robot heading direction and the goal position, which
is calculated during navigation. Assume that a ‘sensor’ on each side can sense the
value of φ on the same side. And the two sensors are in positive crossed-connection
with the motors. This means that the bigger the φ, the faster will be the motor on the
opposite side. Here the idea of Braitenberg Vehicle 2b is applied.
In such a configuration, we can see that the mobile robot cannot only necessarily
avoid obstacles but can also efficiently seek to reach its goal position in an unknown
environment. In the following section, we develop algorithms based on fuzzy logic to
realize the above conclusions.
Since the proposed algorithm is left–right symmetric for the mobile robot, we will
consider only one side. As illustrated in Figure 5, each side of the robot is equally
106 J Intell Robot Syst (2006) 47: 101–124
Front
Sensor
I
α Front-side
II
III
Rear-side
IV
Rear
partitioned by the dotted line into four areas, i.e., I, II, III and IV. The sensors
corresponding to these areas are called front-sensor, front-side-sensor, rear-side-
sensor, and rear-sensor, respectively. This partitioning allows us to design the fuzzy
rule base for collision avoidance as follows:
where d is the normalized distance between the robot and an obstacle; NEAR is a
fuzzy set defined for d associated with an individual sensor; 1V is the change of speed
for the corresponding motor; and NVB, NB, NS and PS are fuzzy sets defined for 1V.
By considering the system configuration proposed in Figure 4, the first three rules are
related to the negative crossed-connection between the sensors and motors. So when
these sensors detect something NEAR, the motor on the opposite side will be slowed
down. The last rule is about the positive direct-connection, i.e., the NEAR detected
by the rear-sensor will speed up the motor on the same side.
Observing the rule base, we notice that the d detected by a sensor in a different
area will have a different effect on the corresponding motor. It is reasonable that
the robot should turn more to avoid an object in front than to avoid an object to
its side. On the other hand, it is worthwhile mentioning that the same d detected by
a different sensor may have a different meaning for the robot. From the collision
avoidance viewpoint, an obstacle detected by the front sensor is more important than
that detected by the side or rear sensors with the same d. In the existing literature of
fuzzy navigation algorithms, this consideration is often realized by designing unique
membership functions of fuzzy set NEAR for individual sensors. Our method herein
is to design the membership function µ NEAR as shown in Figure 6 for the sensor in
the 0◦ -direction only. The terms a0 , b0 and c0 are assigned by our knowledge about
the sensor; c0 is taken as a threshold value, by which the robot thinks itself to be
NEAR in some sense to an obstacle if c0 has been detected by any sensor. Usually,
we take b0 = 1.0. Since d is normalized, b0 = 1.0 means that the robot considers any
J Intell Robot Syst (2006) 47: 101–124 107
object in its front sight to be NEAR to a certain degree. The value of a0 is assigned
according to the robot’s speed, showing the point at which the robot considers itself
extremely NEAR an object in the front. It is reasonable that the faster the robot
moves, the bigger will be the value of a0 . Once they are specified, a0 , b0 and c0 can
be used to calculate parameters aα and bα of µ NEAR for each sensor considering its
distributive angle α on the robot. The distributive angle α of a sensor is illustrated
0.9
0.8
0.7
0.6
ω
0.5
0.4
0.3
0.2
0.1
α
o o
0o 20 40 o 60 o 80 o 100 120 o
140 o
160o 180 o
in Figure 5, and is the angular difference between the sensor direction and the robot
heading direction. To incorporate the distributive angle α in µ NEAR, we choose the
curve shown in Figure 7 as an activation function. For a sensor with a distributive
angle α on the robot, the associated membership function of NEAR is obtained as
aα = ωa0 , bα = max{c0 , ωb0 }.
For the robot Koala which is equipped with infrared sensors, in the implementation
of the proposed algorithm, we assigned a0 = 0.6, b0 = 1.0, and c0 = 0.5. Figure 8
illustrates µ NEAR for the sensors in the 0◦ -direction, 90◦ -direction and 120◦ -direction,
respectively. We can see that the same d, say 0.4, detected by the sensor in the 90◦ -
direction or 120◦ -direction is much less important than that in the 0◦ -direction. In
other words, we capture the desired meaning of the fuzzy term NEAR for sensors
in various directions by associating them with the appropriate membership function
µ NEAR, taking into account the distributive angles of the sensors. Up to this point, the
proposed method has an advantage over other methods in that it conveys important
information about the robot to the algorithms. This makes it particularly efficient
when we want to interpolate between sensors in the system, since we do not need any
extra design effort for the associated fuzzy set NEAR.
The rule base used for goal seeking behavior is designed as the follows:
– If φ is VERY SMALL (VS), then 1V is VERY SMALL (VS);
– If φ is SMALL (S), then 1V is positive SMALL (PS);
– If φ is BIG (B), then 1V is positive BIG (PB);
– If φ is VERY BIG (VB), then 1V is positive VERY BIG (PVB).
Where VS, S, B, VB are fuzzy sets representing φ in the universe of discourse
[0◦ 180◦ ] (Figure 9); VS, PS, PB, and PVB are fuzzy sets partitioned for 1V. These
rules are all related to the positive crossed-connection between φ and the motors. So
φ on one side would cause increase in the speed of the motor on the opposite side. The
universe of discourse for 1V is subject to the speed level chosen for the robot without
considering the influence of obstacles and the goal position, which is referred to as
J Intell Robot Syst (2006) 47: 101–124 109
base speed. If we select V0 as the base speed for the robot, the universe of discourse
for 1V and its partitioning is designed as shown in Figure 10. It is observed that
the partition of the universe of discourse is asymmetrical about the origin (1V = 0).
Such partitioning is reasonable in that the robot should always be collision -free in
the navigation process. By this, we put more weight on the importance of collision
avoidance than goal seeking behavior. Since the speed of the robot should be always
a feasible value, we choose V0 ≤ 0.5Vmax , where Vmax is the maximum speed value of
the robot. For the Koala robot, the maximum speed value is 0.5m/s.
NB NS VS PS
NVB PB PVB
1.0
ΔV
−2V o −V 0 Vo
o 0.5V o
d
μ
Fuzzy Inference
ΔV Vo
Engine
α
+ Defuzzification V
Fuzzy Inference
φ Engine ΔV
angle; 1V is a fuzzy set representing the speed change in the corresponding motor;
V0 and V are crisp values of the base speed and calculated speed of the corresponding
motor, respectively. From Figure 11, it can be observed that the sensor’s distributive
angle α associates the sensor with a unique fuzzy set NEAR. The fuzzy inference
engine for collision avoidance takes reasoning about the degree of NEAR fired by its
input d, using the fuzzy rules for collision avoidance, to give the speed change 1V for
the corresponding motor. Similarly, the goal seeking module takes the target angle
φ as input and produces the speed change 1V for the corresponding motor based
on the fuzzy rules for goal-seeking. The fuzzy sets 1V are combined by the fuzzy
sum operation [18]. The final output V is obtained by incorporating the change of the
speed in the base speed V0 .
Figure 12 A particular
situation in the mobile
robot navigation.
J Intell Robot Syst (2006) 47: 101–124 111
If the robot does not meet obstacles during the navigation, φ would become 0◦ no
matter how big it is originally. Based on the proposed algorithms, we have V = V0
for each motor, which means the robot heads towards its goal position at a constant
speed. If this is not the case, the two motors will have different speeds, which means
the robot is able to achieve turning while going to both avoid obstacles and pursue its
goal.
It is interesting to investigate the particular situation depicted in Figure 12, in
which the robot is heading to the goal position but the way ahead is blocked. Actually,
this is a frequent case for a mobile robot navigating in an unknown environment.
In the potential fields method [17], it gives rise to a typical equilibrium problem in
which the robot oscillates back and forth in front of the obstacle. With the proposed
algorithm, this problem is solved. Upon analysis of the Braitenberg Vehicle 3b,
any slight perturbation would cause the robot to drift away from the obstacle in
this situation. Such a perturbation could be anything that causes a difference of
measurements between sensors on the two sides, which could result from many
2500
GOAL
2000
1500
1000
500
0
Elasped Time (s): 61.0590
START
0 500 1000 1500 2000 2500
b 1.0
Front Sensor
Side Sensor
Sensor Readings
Rear Sensor
Left
0
1.0
Right
Front Sensor
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
o
100
o
φ
0
Target Angle
o
−100
v(mm/s)
90
0 Left Motor
Right Motor
− 90
0 10 20 30 40 50 60
factors, such as asymmetry of the obstacle, ambient light, and imprecision in the
sensor measurements. Since we have put more emphasis on collision avoidance in the
J Intell Robot Syst (2006) 47: 101–124 113
2500
2000
1500
1000
A
500 B
D
0
0 500 1000 1500 2000 2500
b 1.0
Front Sensor
Side Sensor
Left
Sensor Readings
Rear Sensor
0
1.0
Front Sensor
Right
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
o
100
Target Angle
o
φ
−100
o
v(mm/s)
90
0 Left Motor
Right Motor
− 90
0 10 20 30 40 50 60 70
algorithm, once the robot drifts slightly away from the obstacle, the cooperative be-
havior of obstacle-avoidance and goal-seeking would again dominate the navigation
114 J Intell Robot Syst (2006) 47: 101–124
2500
Elapsed Time (s): 133.6850
GOAL
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
b 1.0
Front Sensor
Sensor Readings
Side Sensor
Left
Rear Sensor
0
1.0
Right
Front Sensor
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
100
Target Angle
0
φ
−100
v(mm/s)
90
0 Left Motor
Right Motor
− 90
0 20 40 60 80 100 120
process. Thus, with the proposed navigation algorithm, the robot cannot only cope
with the uncertainties and imprecisions about the environment, but it can also take
J Intell Robot Syst (2006) 47: 101–124 115
2500
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
b 1.0
Front Sensor
Side Sensor
Left
Sensor Readings
Rear Sensor
0
1.0
Front Sensor
Right
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
100
Target Angle
0
φ
−100
v(mm/s)
90
0 Left Motor
Right Motor
−90
0 10 20 30 40 50 60
2500
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
1.0
Front Sensor
Side Sensor
Sensor Readings
Rear Sensor
Right Left
0
1.0
Front Sensor
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
100
Target Angle
φ
–100
v(mm/s)
90
0 Left Motor
Right Motor
–90
0 20 40 60 80 100 120
Time (s)
Figure 19 Navigation time and drop in battery level for the typical fuzzy navigation algorithm.
J Intell Robot Syst (2006) 47: 101–124 117
a
2500
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
b 1
Front Sensor
Side Sensor
Left
Sensor Readings
Rear Sensor
0
1
Front Sensor
Right
Side Sensor
Rear Sensor
0
5000
Distance to Goal
d(mm)
0
100
Target Angle
φ
−100
v(mm/s)
90
0
Left Motor
− 90 Right Motor
0 10 20 30 40 50
Time (s)
Figure 20 Navigation time and drop in battery level for the Fuzzy–Braitenberg algorithm.
118 J Intell Robot Syst (2006) 47: 101–124
140
Fuzzy–Braitenberg Algorithm
Navigation Time (s)
100
80
60
40
0 1 2 3 4 5 6
300
Fuzzy–Braitenberg Algorithm
250 Typical Fuzzy Algorithm
Battery Drop (mv)
200
150
100
50
0
0 1 2 3 4 5 6
Number of Obstacles
2500
GOAL
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
environments. The Koala is a small (32×32 cm), six wheeled, differential drive vehicle
manufactured by K-team SA and is shown in Figure 13a. Low-level motion and
hardware control are performed by an on-board microprocessor (16 MHz Motorola
68331). The Koala is currently equipped with a ring of 16 infrared proximity/ambient
light sensors and incremental wheel encoders. The IR sensors provide range mea-
surements from 5 to 20 cm [16]. Figure 13b shows the physical distribution of the 16
IR sensors.
One scene of the experimental environment in our research lab is shown in
Figure 14. The Koala navigates in the environment with several obstacles of various
shapes and sizes scattered on the floor. The Koala starts at a point [x0 y0 θ0 ] and
seeks its goal position [xg yg θg ]. The coordinates represent the position and orien-
tation of the robot in the fixed 2D coordinate system attached to the environment. We
performed a number of experiments to demonstrate the effectiveness of the proposed
fuzzy navigation system in an unknown static environment. One of the experimental
results is presented in Figure 15. It can be seen that the Koala robot always tries to go
towards its goal position at a constant speed if there are no close obstacles. It slows
down in the presence of obstacles in the front and adjusts the motor speed on each
side to perform the obstacle avoidance behavior. At the same time, influenced by the
attraction of the goal position, the robot does not take any redundant turning in the
avoidance behavior.
Experiments were also performed to demonstrate the effectiveness of the algo-
rithm in a dynamic environment. Figure 16a shows the resulting path of the robot
reacting to an object which suddenly comes in front of it. We can see that, at point C
while the robot is going towards the goal position, an object in the shape of a cylinder
120 J Intell Robot Syst (2006) 47: 101–124
suddenly moves from point A to B. The robot first slows down on detecting the object.
But when the object moves too close to it, the robot draws back to point D, and then
performs the avoidance action to avoid the object. As shown in Figure 16b, from 30 to
37s, the robot performs the backward and avoidance actions accordingly. Clearly, the
proposed algorithm endows the robot with the ability for quick response to dynamic
environments.
4.2. Comparisons
In this section, a comparison is carried out between the performance of the Koala
robot with a typical fuzzy navigation algorithm [1–5] and that with the proposed
Fuzzy–Braitenberg algorithm. The starting point and goal position were fixed and the
same base speed was used. The results are shown in Figures 17 and 18, respectively.
It is observed from Figure 17 that the target angle φ changes abruptly and frequently
with the two motors always having the same speed. However, in Figure 18, we
can see that the target angle φ changes smoothly, the speeds of the two motors
vary independently, and the readings of the rear sensors are generally low. With
the typical fuzzy navigation algorithm, the turning action is achieved by the zero-
radius rotation behavior, which cannot be depicted in Figure 17. With the zero-radius
rotation behavior, an obstacle which is originally close to the robot in the front
may become close to the side or rear of the robot. Thus the readings of side and
rear sensors are generally high and various. On the other hand, this kind of turning
behavior results in the robot taking a lot of time adjusting its heading direction in
the presence of obstacles without forward movement. Thus a longer navigation time
(133.7s) is needed. With the Fuzzy–Braitenberg algorithm, the navigation time is
greatly reduced (64.2s). This is due to the fact that the desired turning action is
attained by the different speeds of the two motors.
In order to investigate the issues of navigation time and power consumption
for the two algorithms, we performed a series of experiments in the presence of
a different number of obstacles with a fixed starting point, goal position and base
speed. The Koala robot was run using the two algorithms to navigate the environment
with obstacles placed in front of it from zero up to six times during its navigation.
As an example, the resulting paths and recorded data for the two algorithms with
obstacle appearing for six times are shown in Figures 19 and 20, respectively. The
navigation time and power consumption are shown in Figure 21. It can be observed
that the Koala robot takes more time and energy when the typical fuzzy navigation
algorithm is used than when the Fuzzy–Braitenberg algorithm is used. Furthermore,
the navigation time for the typical fuzzy navigation algorithm increases significantly
with the number of times that obstacles are placed in front of the robot; while
the navigation time for the Fuzzy–Braitenberg algorithm mainly depends on the
travelled distance instead of the number of obstacles. Thus, navigation time and
power consumption can be significantly reduced using the proposed algorithm.
5. Discussions
2500
GOAL
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
Figure 24 The path of the Koala with Fuzzy–Braitenberg and wall-following algorithms.
122 J Intell Robot Syst (2006) 47: 101–124
2500
GOAL
2000
1500
1000
500
0
0 500 1000 1500 2000 2500
Figure 25 The path of the Koala with Fuzzy–Braitenberg and improved fuzzy algorithms.
algorithm and the improved fuzzy navigation algorithm implemented in [19]. The
algorithm depicted in [19] is a typical fuzzy navigation algorithm and solves a
‘goal-unreachable’ problem found in fuzzy logic-based algorithms for mobile robot
navigation systems. The resulting path is shown in Figure 25. Due to the robustness
of the fuzzy logic-based algorithm, perturbations from inconsistent sensory readings
are suppressed. The performance of the robot in the corridor is smooth as desired.
In addition, it is worth mentioning that the above-mentioned switch-mechanism
has another benefit. Figure 26 illustrates the path of the robot equipped with the
Fuzzy–Braitenberg algorithm navigating in an environment with obstacles randomly
scattered. As can be observed, the robot turns around the goal position and is not able
to reach it. Consider the case where the robot approaches the goal position which is
not in its heading direction. If the distance between the robot and the goal position is
not long enough for the robot to complete the turn and face the goal, the scene shown
in Figure 26 would result. This is because, with the Fuzzy–Braitenberg algorithm, the
robot is not able to achieve zero-radius rotation. So it cannot directly reach a point
to the side within a small distance. The fuzzy algorithm depicted in [19] endows the
robot with an excellent ability to deal with the goal-unreachable problems. Therefore,
switching the Fuzzy–Braitenberg algorithm to the fuzzy navigation algorithm can be
used when the robot finds itself in the vicinity of the goal position. This is illustrated
in Figure 27 showing the improved performance of the robot equipped with the
second switching mechanism. It can be observed that the path resulting from the
Fuzzy–Braitenberg algorithm is always smooth and continuous, which is another
benefit offered by the proposed algorithm.
J Intell Robot Syst (2006) 47: 101–124 123
1800
1600
GO
GOAL
1400
1200
1000
800
600
400
200
0
0 200 400 600 800 1000 1200 1400 1600 1800
Figure 26 The path of the Koala with Fuzzy–Braitenberg algorithm near the goal position.
2000
1800
1600
GOAL
1400
1200
1000
800
600
400
200
0
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Figure 27 The path of the Koala with Fuzzy–Braitenberg and improved fuzzy algorithm near the
goal position.
124 J Intell Robot Syst (2006) 47: 101–124
6. Concluding Remarks
In this paper, we have developed a novel fuzzy navigation algorithm based on the idea
of Braitenberg vehicles, fully taking advantage of the essential characteristics of a
differential drive mobile robot. A new technique was proposed to capture the desired
meaning of the fuzzy term NEAR for individual sensors by taking into account their
distributive angles at the robot. The resulting algorithms have been implemented on
the Koala robot in our laboratory. A series of experiments in static and dynamic
environments have shown the efficiency and effectiveness of the Fuzzy–Braitenberg
navigation algorithm. Some problems for the implemented algorithm were discussed
and effective solutions based on switching between the Fuzzy–Braitenberg algorithm
and another fuzzy algorithm were suggested for alleviating them.
References
1. Yen, J., Pfluger, N.: Path planning and execution using fuzzy logic. AIAA Guidance, Navigation
and Control Conference 3, 1691–1698, New Orleans, Louisiana (Aug. 1991)
2. Reignier, P.: Fuzzy logic techniques for mobile robot obstacle avoidance. Robot. Auton. Syst. 12,
143–153 (1994)
3. Lee, P.S., Wang, L.L.: Collision avoidance by fuzzy logic control for automated guided vehicle
navigation. J. Robot. Syst. 11, 743–760 (1994)
4. Beaufrere, B.: A mobile robot navigation method using a fuzzy logic approach. Robotica 13,
437–448 (1995)
5. Yen, J., Pfluger, N.: A fuzzy logic based extension to Payton and Rosenblatt’s command fusion
method for mobile robot navigation. IEEE Trans. Syst. Man Cybern. 25(6), 971–978 (1995)
6. Saffiotti, A.: The uses of fuzzy logic in autonomous robot navigation. Soft Comput. 1, 180–197
(1997)
7. Montaner, M.B., Serrano, A.R.: Fuzzy knowledge-based controller design for autonomous robot
navigation. Expert Syst. Appl. 14, 179–186 (1998)
8. Maaref, H., Barret, C.: Sensor-based fuzzy navigation of an autonomous mobile robot in an
indoor environment. Control Eng. Pract. 8, 747–768 (2000)
9. Doitsodis, L., Valavanis, K.P., Tsourveloudis, N.C.: Fuzzy logic based autonomous skid steering
vehicle navigation. Proceedings of IEEE Int. Conf. on Robotics and Automation 2, 2171–2177,
Washington, District of Columbia, May 2002
10. Pratihar, D.K., Dep, K., Ghosh, A.: A genetic-fuzzy approach for mobile robot navigation among
moving obstacles. Int. J. Approx. Reason. 20, 145–172 (1999)
11. Tsourveloudis, N.C., Valavanis, K.P., Hebert, T.: Autonomous vehicle navigation utilizing elec-
trostatic potential fields and fuzzy logic. IEEE Trans. Robot. Autom. 17(4), 490–497 (2001)
12. Wang, J.S., Lee, C.S.: Self-adaptive recurrent neural-fuzzy control for an autonomous underwater
vehicle. Proceedings of IEEE Int. Conf. on Robotics and Automation 2, 1095–1100, Washington,
District of Columbia, May 2002
13. Yang, X., Moallem, M., Patel, R.V.: A novel intelligent technique for mobile robot navigation.
Proceedings of IEEE Int. Conference on Control Applications, Istanbul, Turkey, June, 2003
14. Braitenberg, V.: Vehicles: Experiments in Synthetic Psychology. MIT, Cambridge, Massachusetts
(1984)
15. Ratering, S., Gini, M.: Robot navigation in a known environment with unknown obstacles. Auton.
Robots 1, 149–165 (1995)
16. K-Team S.A.: Koala User’s Manual (Version 2.0). K-Team S.A., Lausanne, Switzerland (2001)
17. Koditschek, D.E.: Exact robot navigation by means of potential functions: Some topological
considerations. Proceedings of IEEE Int. Conf. on Robotics and Automation, pp.1–6. Raleigh,
North Carolina, 1987
18. Lee, C.: Fuzzy logic in control systems: Fuzzy logic controller – Part I. IEEE Trans. Syst. Man
Cybern. 20, 404–418 (1990)
19. Yang, X., Moallem, M., Patel, R.V.: An improved fuzzy logic based navigation system for mobile
robots. Proceedings of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Las Vegas,
Nevada, Oct. 2003