The Virtual Wall Approach
to Limit Cycle Avoidance
for Unmanned Ground Vehicles?
Camilo Ordoneza,∗, Emmanuel G. Collins Jra,
Majura F. Selekwab, Damion D. Dunlapa
aCenter for Intelligent Systems, Control and Robotics (CISCOR)
Department of Mechanical Engineering
Florida A&M University - Florida State University College of Engineering
Tallahassee, FL 32310
bDepartment of Mechanical Engineering and Applied Mechanics
North Dakota State University
Fargo, ND, 58105
Robot Navigation in unknown and very cluttered environments constitutes one of
the key challenges in unmanned ground vehicle (UGV) applications. Navigational
limit cycles can occur when navigating (UGVs) using behavior-based or other reac-
tive algorithms. Limit cycles occur when the robot is navigating towards the goal
but enters an enclosure that has its opening in a direction opposite to the goal.
The robot then becomes effectively trapped in the enclosure. This paper presents
a solution named the Virtual Wall Approach (VWA) to the limit cycle problem
for robot navigation in very cluttered environments. This algorithm is composed of
three stages: detection, retraction, and avoidance. The detection stage uses spatial
memory to identify the limit cycle. Once the limit cycle has been identified, a label-
ing operator is applied to a local map of the obstacle field to identify the obstacle
or group of obstacles that are causing the deadlock enclosure. The retraction stage
defines a way-point for the robot outside the deadlock area. When the robot crosses
the boundary of the deadlock enclosure, a virtual wall is placed near the endpoints
of the enclosure to designate this area as off-limits. Finally, the robot activates a
virtual sensor so that it can proceed to its original goal, avoiding the virtual wall
and obstacles found on its way. Simulations, experiments, and analysis of the VWA
implemented on top of a preference-based fuzzy behavior system demonstrate the
effectiveness of the proposed method.
Key words: Robot Navigation, Cluttered Environments, Local Minima.,
Preprint submitted to Elsevier12 December 2006
Navigation in unknown, very cluttered environments is a difficult task in mo-
bile robotics. Behavioral approaches have been shown to be very successful in
these environments [2,6,12]. Robot navigation in these types of environments
has motivated the development of behavioral architectures that can tolerate in-
formation uncertainty and the ability to simultaneously accomodate the needs
of the different behaviors. Recently, Dunlap, Selekwa and Collins  developed
and implemented a fuzzy preference-based behavioral system which achieved
smooth navigation in cluttered environments.
However, experimental results have shown that behavioral systems that are
goal directed (i.e., systems in which one of the behaviors is goal seeking) tend
to fail when the robot enters an enclosure that has its opening in a direction
opposite to the goal. In scenarios like this, behavioral systems usually cause
the robot to become trapped in deadlocks. In particular, the robot exhibits
limit cycle behavior in which it retraces the same path indefinitely, thereby
failing to accomplish its mission of reaching the goal.
One way of escaping these deadlock enclosures has been by inclusion of deliber-
ative algorithms that use a stored map of the environment to detect and retract
from the deadlock regions. While these strategies have been effective in some
applications, many of them have been computationally demanding, resulting
in a slow retraction from the deadlock enclosures. This paper presents an algo-
rithm that uses local maps and virtual sensors to solve the problem of deadlock
detection and avoidance. Although the proposed limit cycle negotiation ap-
proach is independent of the navigation algorithm, the fuzzy preference-based
behavioral system for navigation in cluttered environments [6,12] was selected
to test the VWA due to its ability to generate smooth trajectories.
This paper is organized as follows. Section 2 presents the background necessary
to better understand the proposed limit cycle negotiation approach. Section
3 details the proposed approach to solve the limit cycle problem. Section 4
gives an overview of the fuzzy preference-based behavioral system that is used
to navigate the robot. Section 5 shows simulation results. Section 6 presents
experimental results. Concluding remarks are given in Section 7.
?Prepared through collaborative participation in the Robotics Consortium spon-
sored by the U. S. Army Research Laboratory under the Collaborative Technology
Alliance Program, Cooperative Agreement DAAD 19-01-2-0012. The U. S. Govern-
ment is authorized to reproduce and distribute reprints for Government purposes
notwithstanding any copyright notation thereon.
Email address: firstname.lastname@example.org (Camilo Ordonez).
This section provides the background necessary for a better understanding of
the proposed approach for limit cycle avoidance.
2.1 Basic Definitions
Grid: A grid G is a 2 dimensional array of squared elements G[i][j] called
cells. Each cell has a counter C[i][j] ? Z+(positive integers) associated with
Path Planning Problem: A path is a continuous curve in the configuration
space Q. The solution to the path planning problem is a continuous function
c ? C0(the set of continuous functions) such that c : [0,1] →
c(0) = qstart, c(1) = qgoal, c(s) ? Qfree ∀s ? [0,1], Qfree represents the
free configuration space and qstartand qgoalare the robot configurations at the
start and goal positions 
2.2 Limit Cycle Problem
A navigational limit cycle is a path that meets the following two conditions:
a. It is not a solution to the path planning problem.
b. It causes a region in the robot’s workspace to be visited a number of times
above a predefined threshold, i.e., G[i][j] > threshold.
Fig. 1 illustrates a typical example of a navigational limit cycle in an outdoor
environment. The robot’s trajectory is shown as a dashed line and the target
destination is represented by a rectangle outside the enclosure that is causing
the limit cycle (shaded region). In Fig. 1, the limit cycle is described by B →
C → B → D → B.
Fig. 2 illustrates a navigational limit cycle in an indoor environment.
2.3 Past Approaches to the Limit Cycle Problem
This problem of limit cycles in navigation has continually attracted the atten-
tion of researchers in the robotics community. Some important approaches to
solve the limit cycle problem are presented in [3,9–11,13,14]. The strategy of 
Fig. 1. Navigational Limit Cycle in an Outdoor Scenario
Fig. 2. Navigational Limit Cycle in an Indoor Scenario
keeps track of visited cells and causes the robot to avoid going to cells that have
already been visited. These authors use the following motor schemas to com-
plete their navigation system: Avoid-past, Move-to-goal, Avoid-static-obstacle
and Noise. At each time step Avoid-past references the spatial memory and
computes a vector away from areas that have already been visited. This vec-
tor is combined with vectors generated by Move-to-goal, Avoid-static-obstacle
and Noise. The sum of these vectors determines the robot’s heading and speed
for the next time interval. This approach is often successful. However, it lacks
a time-decay mechanism, which can result in the robot “boxing itself in.” The
wall following behavior of  tracks the contours of the obstacle in order to
skirt around it; this approach is presented as a possible solution for indoor
environments, where the obstacles have very defined geometries.
The virtual target approach of  defines a virtual target once a limit cycle
is detected. The robot is navigated according to the virtual target, until a
switch back condition is reached. The condition for switching back to the real
target is based on the detection of an opening of the deadlock enclosure to the
right or to the left of the robot. This switching back condition does not always
occur in a cluttered environment in which the enclosures are not continuous.
The approach of  adds memory and memory related behaviors to basic
reflexive systems as a possible solution to limit cycles. In addition, a virtual
rectangular obstacle is placed over the area where the limit cycle was detected.
However, in a cluttered environment designating this rectangular area as an
obstacle will cause the robot to avoid navigable area.
The research of  proposes a possible solution to the local minima problem
by classifying the environment based on spatio-temporal sequences. This ap-
proach is particularly designed for indoor environments where walls form the
The authors of  propose a method called the minimum risk approach,
to address the local path planning to handle the local minimum during the
blind goal-oriented robot navigation. This approach adopts a strategy of multi-
behavior coordination, in which a Path-Searching (PS) behavior is developed
to recommend the regional direction that is offering minimum risk. The min-
imum risk zone is determined based on the obstacles scanned by the robot
and the trajectory followed by the robot. The final command output is ob-
tained by coordinating three behaviors: PS, Obstacle-Avoidance (OA), and
Goal-Seeking (GS). This method successfully guides the robot to the goal in
some difficult scenarios.
Some of the results of the previously mentioned approaches are compared
against our approach in Section 5.
3Proposed Approach: The Virtual Wall Algorithm (VWA)
This section describes a new simple deliberative approach for detection and
avoidance of navigational limit cycles in cluttered indoor or outdoor environ-
ments with various sizes and shapes of potential deadlock regions. The basic
flowchart of the proposed algorithm is given in Fig. 3. The strategy was con-
ceived trying to emulate the reasoning of a human being in a similar situation.
Imagine a human in a very cluttered or maze-like environment seeking to reach
a goal that is at a known location. As this person moves towards the goal (say
using a compass), she may find herself in an enclosure that has only one exit,
which is the original entrance. Hence, she would change her destination to a
point outside this exit. Once outside the enclosure, she would remember not to
enter that enclosure again, effectively creating a virtual wall. Then, she would
proceed to her destination using a different path. Similarly to the “avoid the
past” strategy of  , this approach keeps track of places visited by the robot
in a spatial memory. However, this new approach uses the spatial memory
to detect limit cycles and not to compute repulsive forces. Furthermore, the
avoidance of the limit cycle region is carried out by building a virtual wall
to close the deadlocked area, instead of generating a repulsive force on each
The algorithm is divided into three major components: Limit Cycle Detection,
Obstacle Field Mapping, and Retraction from the Deadlock Enclosure. Each
of these is described in some detail below.
Fig. 3. Deadlock Detection and Avoidance Scheme
Connected Components Analysis: Connected components analysis of a
binary grid consists of the connected components labeling of the binary-1
cells, followed by property measurement of the component regions and decision
making . The connected components labeling operation performs the unit
change from cell to region or segment. All cells that have value 1 and are
connected to each other by a path of cells all with value 1 are given the same
identifying label. The label is a unique name or index of the region to which
the cells belong. The label is the identifier for a potential object region.
Connected Components Labeling Operator: Given a binary grid, a con-
nected components labeling operator can be employed to group the binary-1
cells into maximal connected regions. The input to the operator is a binary
grid and the output is a symbolic grid in which the label assigned to each cell
is an integer uniquely identifying the connected component to which that cell
belongs. A labeling operation is illustrated in Fig. 4
Two 1-cells p and q belong to the same connected component C if there is
a sequence of 1-cells (p0,p1,...,pn) of C, where p0 = p, pn = q, and pi is
a neighbor of pi−1 for i = 1,...,n. Therefore, the definition of a connected
component depends on the definition of neighbor. When only the north, south,
east, and west neighbors of a cell p are considered as part of its neighborhood,
then the resulting regions are called 4-connected, and we say that the grid
has been labeled using a connectivity 4 criterion. When the north, south,
0 1 0 1 1 1 1
0 0 0 1 0 0 1
0 0 0 0 0 0 1
1 1 0 1 0 0 1
0 1 0 0 0 0 1
0 1 1 1 1 1 1
0 1 0 2 2 2 2
0 0 0 2 0 0 2
0 0 0 0 0 0 2
2 2 0 3 0 0 2
0 2 0 0 0 0 2
0 2 2 2 2 2 2
Fig. 4. (a) Binary Grid (b) Application of a Connected Components Operator to
east, west, northeast, northwest, southeast, and southwest neighbors of a cell
p are considered part of its neighborhood, the resulting regions are called
8-connected. Fig. 5 shows the different connectivity criteria.
Connected Components Algorithm: There are many algorithms to per-
form a connected components analysis of a binary grid. In this paper, the
algorithm known as “The Classical Algorithm” is used. For a detailed expla-
nation refer to .
W P E
NW N NE
SW S SE
Fig. 5. (a) Connectivity-4 (b) Connectivity-8
3.2.1Limit cycle Detection
In order to detect navigational limit cycles, the robot must keep a memory
of visited places. A Dynamic spatial memory is employed to keep track of
recently visited places. A virtual grid, with grid size l as shown in Fig. 6, is
defined over the robot workspace. As shown in Fig. 7, the robot marks each cell
in this virtual grid by increasing its corresponding integer counter whenever it
passes over a point in the workspace that corresponds to the cell in the virtual
grid. This stage is represented in Fig. 3 by the block entitled Spatial Memory,
which receives the robot position information from the localization unit.
Fig. 6. Grid Size Selection.
A threshold number of visits is predefined such that whenever the number of
visits to one cell in the spatial memory exceeds this threshold, a limit cycle is
said to have been detected. Due to the size of the grid of the spatial memory,
the position update rate, and the speed of the robot, the counter associated
with a cell may be incremented more than once as the robot passes over that
cell. Fig. 7 illustrates the appearance of this array after a robot mission is
accomplished. The values of the counter associated to each grid are shown.
The threshold level was set to 26. This threshold value was found experimen-
tally in a laboratory environment taking into consideration the characteristics
mentioned above. Once the adequate threshold level was found, it was kept
constant for the different experiments.
Fig. 7. Spatial Memory Appearance after the Threshold Level has been Reached.
3.2.2 Obstacle Field Mapping
As the robotic vehicle navigates through the environment, in addition to track-
ing visited grids, it also builds a record of obstacles observed in each cell. This
record is stored in a 2 dimensional grid V M, hereafter referred as the virtual
map of obstacles. The integer counter of each cell of V M is incremented each
time that an obstacle is detected in that cell. Every time an obstacle is de-
tected by the laser range finder, a coordinate transformation is performed so
that the position of the obstacle is found with respect to a global coordinate
system that is located at the origin (lower left corner) of the grid V M. This
virtual map is eventually used in determining a strategy for retracting from
the limit cycle as described below in Subsection 3.2.3.
A typical example of a map of an obstacle field is shown in Fig. 8. The gray
level of each cell represents the number of times that an obstacle in that cell
has been seen by the robot. The darker cells are those that contain obstacles
that have been scanned more times by the laser range finder. Fig. 3 shows
that the obstacle map construction requires both localization information and
the relative position of the obstacles with respect to the laser range finder.
Fig. 8. Map of Obstacles in Gray Scale.
3.2.3 Retraction from the Deadlock Enclosure
Once the threshold level has been reached in the spatial memory, a way-point is
defined outside the deadlock. The robot uses this way-point as a temporal goal
so that it can safely leave the limit cycle enclosure using the behavioral control
system. To define the way-point, the virtual map of the obstacle field and the
spatial memory are processed by using the connected components algorithm,
known as “The Classical Algorithm” . This type of algorithm is commonly
used in image processing applications. In this approach, the connected com-
ponents algorithm is used to identify and label the connected components of
the obstacle field.
The Virtual Map is labeled using the connectivity 8 and connectivity 4 criteria.
Once the connected components have been identified, a way-point is chosen
outside the deadlock and the robot is directed towards it.
The fusion of the spatial memory and the map of obstacles is represented in
Fig. 3 by the block named Fusion. The outputs of this block are the way-point
and the virtual wall coordinates. The way-point is simply used to navigate
the robot to the outside of the enclosure; however the robot does not have to
reach this point. The robot continues navigating towards the way-point until
it realizes that its current position is outside the enclosure and it has enough
room to make a turn without going back into the deadlock enclosure.
After traveling at a safe distance from the enclosure, the robot builds a vir-
tual wall, essentially “closing the door” to the deadlocked area in the virtual
obstacle map. A virtual laser range finder is used as an additional sensor to
detect this virtual obstacle. This provides sensory information that enables
the vehicle to avoid returning to the deadlock enclosure. Fig. 3 shows that the
virtual laser computes the distance to the virtual wall defined in the fusion
block. The virtual laser is fused with the real laser range finder in the block
named Sensor Fusion.
Calculation of the Virtual Wall and Way-point
The general procedure to find the location of the virtual wall and the way
point is detailed below. To make it more clear an example is used to illustrate
the process. However, it is important to notice that the process is general
and it is not limited to the example provided. Assume the matrix of Fig. 9
represents the map of obstacles where 1 represents an obstacle that does not
belong to the enclosure. This virtual map grid is labeled using the connectivity
8 and connectivity 4 criteria to identify different connected obstacle regions .
For the obstacle field of Fig. 9, the labeling process, using the connectivity 8
criterion, identifies four obstacle regions as shown in Fig. 10; these connected
regions are marked by integers 1, 2, 3 and 4. The elements labeled as 1 belong
to one connected region (Region 1), elements labeled as 2 belong to another
connected region (Region 2), and so on. Now, based on the identified obstacle
fields, a bounding box that contains the deadlock enclosure is determined.
This box is defined by the extreme points that make up the region identified
as the deadlock, which happens to be the obstacle region that has the most
elements. In this case the bounding box is defined by the extreme points of
Region 2 in Fig. 10.
Once the bounding box for the deadlock enclosure is created, the size of the
virtual map of the obstacle field is trimmed down to remove any obstacle in-
formation that is outside the deadlock bounding box. This trimming is carried
0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 1 1 0 0
0 0 0 1 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 1 1 0 1 0 0 1 0 0
0 0 1 0 0 0 0 1 0 0
0 0 1 1 1 1 1 1 0 0
Fig. 9. Representation of the Map of Obstacles
out in order to allow a short term navigation process whose only objective is
to retract from the deadlock. The trimming process uses the coordinates of the
bounding box and selects from the virtual map only the cells that are inside
the bounding box. Therefore, this new grid is smaller than the original one.
Notice that the size of the grid of Fig 11 has been reduced compared to that
of Fig 10, and the grid only contains the elements inside the bounding box.
The trimmed virtual map of obstacles is then fused with the corresponding
local spatial memory of visited places. This fusion basically overlaps the two
grids and identifies in both of them the cell that corresponds to the location
where the threshold level was reached. This location is indicated by the mark
X in Fig 11. This mark X is just for explanatory purposes because the actual
label of this position is zero.
Fig. 10. Determination of the Bounding Box.
In order to find an appropriate location for the virtual wall, a binary inverse
of the trimmed image is computed. Notice that this new inverse image has
zeros in the places where obstacles were found and ones in the free regions.
The cell that is marked X will have a label of 1 since it was zero before. The
resulting image is labeled using connectivity 4. The points on the sides of the
bounding box that have the same label as the cell X (label 1) are identified.
These points correspond to the opening of the deadlock enclosure, and they
are used to determine the location of the virtual wall. They are marked 1 in
0 3 0 2 2 2 2
0 0 0 2 0 0 2
0 0 0 0 0 0 2
2 2 0 4 0 X 2
0 2 0 0 0 0 2
0 2 2 2 2 2 2
Fig. 11. Fusion of the Spatial Memory with the Map of Obstacles
1 0 1 0 0 0 0
1 1 1 0 1 1 0
1 1 1 1 1 1 0
0 0 1 0 1 X 0
2 0 1 1 1 1 0
2 0 0 0 0 0 0
Fig. 12. Determination of the Opening of the Enclosure
Fig. 12. The exact location of the virtual wall is found as follows: the wall
coordinates are determined by two points A and B that meet the following
three characteristics. First, they lay on the perimeter of the bounding box.
Second, they have been labeled 1, and third, they have as a neighbor at least
one cell that is part of the deadlock enclosure. The possible placements for the
virtual wall are illustrated in Fig. 13. In this figure, it is possible to see that
the virtual wall could lay on the upper border of the bounding box - between
the left and upper borders, on the left border - between the left and lower
borders, on the lower border - between the lower and right borders, on the
right border - between the right and upper borders, on the right border, or
on the upper border. The continuous line represents the part of the deadlock
enclosure that lies on the perimeter of the bounding box. After applying this
to the grid of Fig. 12, the virtual wall can be placed as shown in Fig. 14
To choose the way point there are two possibilities, depending on whether
the robot entered the deadlock enclosure or whether it was already inside the
enclosure when the robot began its mission. In the first case, the way point is
chosen at the location where the robot entered the enclosure. By doing this, it
is possible to guarantee that the way point is a reachable target. In the second
case, a way point is defined at a predefined distance from the virtual wall.
However, the robot does not need to reach this way point. The robot switches
back to its original target when it is at a safe distance from the virtual wall. In
Fig. 13. Possible Configurations of the Virtual Wall.
Fig. 14. Virtual Wall Placement.
the current implementation, the second option is used. The way-point location
is found as explained in Figs. 15 and 16.
As shown in Fig. 15, in order to find the waypoint, we first need to find the
stuck which goes from the point (X,Y ) to (XS,YS), which is
the point where the limit cycle was detected. The coordinates of the point
(X,Y ) are found using:
X = AX+ µ(BX− AX)(1)
Y = AY+ µ(BY− AY)(2)
µ =(XS− AX)(BX− AX) + (YS− AY)(BY− AY)
? B − A ?2
stuck components are determined as:
(XS− X)2+ (YS− Y )2
Afterwards, a vector that goes from the middle point of the virtual wall
(XM,YM) and has the opposite direction of
(XW,YW) can be found using:
stuck is defined. The waypoint
XW= XM+ α(−stuckx) (7)
YW= YM+ α(−stucky) (8)
This waypoint is located at a predefined distance α from the point (XM,YM).
This predefined distance is used just as a temporary goal for the robot, because
as explained above, the robot does not have to reach the waypoint.
Fig. 15. Determination of the Way-point.
To check when the robot is outside the deadlocked enclosure and the virtual
sensor may be activated, a vector ? pos from a point (Xi,Yi) to the current
position of the robot (Posx,Posy) is defined. The point (Xi,Yi) is given by
Xi= AX+ δ(BX− AX) (9)
Yi= AY+ δ(BY− AY)(10)
δ =(Posx − AX)(BX− AX) + (Posy − AY)(BY− AY)
B − A ?2
The vector ? pos is then defined by
? pos = (Posx − Xi)ˆi + (Posy − Yi)ˆj (12)
Note that ? pos is perpendicular to the wall as shown in Fig. 16. The robot is
outside the deadlock enclosure when the following two conditions are satisfied:
(stuckx)(Posx) ≤ 0 (13)
(stucky)(Posy) ≤ 0(14)
Fig. 16. Virtual Wall Crossing Verification.
If (13) and (14) are satisfied, then the distance to the wall can be computed
? distwall ?=? ? pos ?
This architecture is equipped with a virtual laser that has the same config-
uration as the real sensor described below in Section 4. Therefore, the robot
can detect the positions of the virtual walls and avoid them as if they were
common obstacles. It is important to notice that when the robot is navigating
towards the way point, the virtual laser range finder is not activated so that
the robot doesn’t try to avoid the virtual wall. At this time, the robot is only
using the virtual wall as a reference to determine when its location is outside
the deadlocked enclosure. The virtual laser is only activated when the robot
is outside the deadlocked enclosure so that the robot does not go back into
the limit cycle region. The actual input to the behavioral control algorithm is
the minimum distance returned by the real and the virtual sensors.
3.3 Convergence of the Proposed Approach
The proposed approach will succeed only if the following two conditions are
satisfied. First, the enclosure that is causing the limit cycle can be decomposed
in a set of convex shapes. This condition is necessary to guarantee that a
virtual wall or set of virtual walls can be used to successfully close each of
the openings of the deadlock areas. The second condition that needs to be
satisfied is that the opening of the enclosure that is causing the limit cycle
has to be no smaller than the grid resolution. This requirement is important
because if it is not satisfied, the deadlock region would be classified as a closed
region and no solution would be found.
4 The Preference-based Fuzzy Behavior Control System Used to
Test the VWA
This section presents a brief description of the control system used to test the
VWA. However, it is important to notice that the proposed approach is general
and it could be implemented on top of any behavioral or reactive system.
The behavioral system used to navigate the robot from a starting point to a
desired target is a fuzzy preference-based behavioral system. The system has
a heading control action that is achieved using four behaviors: 1) goal seeking,
2) obstacle avoidance, 3) left edge tracking, and 4) right edge tracking. Each
of these behaviors use sensory information to determine its course of action.
The obstacle avoidance and edge tracking behaviors use range finding sensors
to determine distances to the nearest obstacle or path edges; the goal seeking
behavior uses wheel encoders measurements to determine the direction of the
goal. The control command for the heading control activity is the heading an-
gular change ∆θ. There are five possible control commands alternatives. Large
Right Turn (LRT), Slight Right Turn (SRT), No turn (NT), Slight Left Turn
(SLT), and Large Left Turn (LLT). Each behavior i assigns a relative impor-
tance to each command alternative j by some parameter aij [0,1]. After a
defuzzification process, the appropriate control alternative ∆θ is determined.
A block diagram of the system is presented in Fig. 17.
RANGE SENSORS AND Φ
Degrees of Suitability
Advisory BlockFusion Block
Fig. 17. Multivalued Fuzzy Behavior Control Structure
The input to the behavior based system is the minimum distance encountered
by the real and virtual laser range finders. The real Laser range finder was
configured in 9 regions as depicted in Fig. 18. The sensor regions are labeled
VFL (very far left), FL (far left), L (left), LC (left center), C (center), RC
(right center), R (right), FR (far right), and VFR (very far right). The virtual
laser range finder was configured in 9 beams as shown in Fig. 18.
Fig. 18. Laser Configuration
5 Simulation Results
The proposed method was simulated on top of the preference-based fuzzy
behavior control system described in 4. Two type of simulations were per-
formed as described in the following two subsections. In Subsection 5.1 the
VWA was compared against some of the alternative methods developed by
other researchers, while in Subsection 5.2 the VWA was tested using cluttered
environments that emulate dense forests.
The proposed algorithm is compared against some of the alternative methods
developed by other researchers. The comparison is done using some typical
scenarios that are commonly used to test this type of strategy. The simulation
parameters are: grid-size 2.1213 length units, speed 0.2 length units/looptime,
and threshold 6. It is important to note that due to the lack of published
metrics for past approaches, the comparisons are qualitative.
The VWA was tested in the double U shape environment of Fig. 19, which
is used in the Virtual Obstacle approach of . In this approach a virtual
rectangular obstacle is placed over the area where the limit cycle was detected.
The VWA proved to be successful in this environment resulting in a much
shorter path. Notice that the robot starts inside the lower U shape enclosure
where the first limit cycle is detected. Using the sensory information available
up to that point, the first virtual wall is created. Then, the robot escapes this
region but gets trapped in the upper U shape enclosure. The second limit cycle
is detected, and a new virtual wall is defined using the sensory information
that has been acquired during the robotic mission. Finally, the robot escapes
the double U shape enclosure and proceeds safely towards the goal. From the
results it is possible to see that our approach does not restrict the navigable
area for the robot when the virtual wall is placed, and the path length is much
shorter than the one of .
Fig. 19. Sample Run of the Proposed Approach in a Double U Shape Environment
In  the Minimum risk method is presented. This method uses a grid
map that records the environmental information and the robot experience.
It chooses a safe region for the robot, where it can avoid colliding with ob-
stacles and also prevents the robot from repeating a previous trajectory. The
authors choose a large concave and recursive U-shape environment to com-
pare their minimum risk method against the virtual target method of ,
and Krishna and Kalra’s method . The virtual target method gets trapped
in this scenario. The method proposed by Krishna and Kalra solves this sce-
nario by following the wall boundary after recognizing a landmark previously
encountered by the robot. However, as shown in , wall following strategies
produce very long paths as the complexity of the environment increases. The
minimum risk method also solves this scenario but it requires an exhaustive
exploration of the environment before the robot escapes the deadlock enclo-
sure. The VWA was simulated in a similar scenario as shown in Fig. 20. The
robot successfully detected the limit cycle and retracted from the deadlock
enclosure. The VWA for this scenario produced a much shorter path than the
one obtained by the minimum risk method, and a path of similar length to
the one obtained by .
Fig. 20. Sample Run of the Proposed Approach in a Large and Recursive U-shape
In  the authors also compare their minimum risk against Krishna and
Kalra’s method  and Huang and Lee’s method  in a larger concave en-
vironment. As shown in , the Huang and Lee method solves this scenario
by following the wall boundary until an escape criterion is satisfied. Krishna
and Kalra’s method has a different escape criterion which generates a shorter
path. The minimum risk method successfully solves this scenario. However,
this method is particularly designed for indoor environments. The VWA was
tested in a similar scenario as shown in Fig. 21.
Fig. 21. Sample Run of the Proposed Approach in a Large Concave Environment
The robot accomplished its mission after detecting and retracting from the
deadlock enclosure. The VWA produced a path slightly longer than the mini-
mum risk but much shorter than the one obtained by using the methods of 
5.2 Simulations in Cluttered Environments
The proposed method was simulated using cluttered environments that em-
ulate dense forests. The obstacles are represented by small circles, the robot
has a rectangular shape and its path is shown as a dashed line. The virtual
wall is shown as a solid thick line.
Fig. 22. Scenario 1 without the Limit Cycle Negotiation.
Fig. 23. Scenario 1 with the Limit Cycle Negotiation.
Scenario 1 is shown in Fig. 22, this scenario shows results when the limit cycle
detection and avoidance ability is not engaged, while Fig. 23 considers the
case in which this ability is engaged. As expected, the robot in Fig. 23 was
able to successfully reach the goal while the robot in Fig. 22 became trapped
in a limit cycle. Scenario 2, shown in Fig. 24, illustrates results obtained with
the limit cycle negotiation ability when the robot encounters an enclosure
with a totally different orientation. Scenario 3, shown in Fig. 25, shows results
in a cluttered environment with a C shaped enclosure. Scenario 4, shown in
Fig. 24. Scenario 2 with the Limit Cycle Negotiation.
Fig. 25. Scenario 3 with the Limit Cycle Negotiation.
Fig. 26. Scenario 4 with the Limit Cycle Negotiation.
Fig. 26, shows how the robot does not need to reach the way point during
the retraction process. In this scenario the way-point is not reachable because
is placed over a group of obstacles. However, the robot places the wall after
crossing the virtual wall and switches back to the original goal.
After satisfactory simulation performance, the proposed strategy for limit cy-
cle negotiation was implemented and tested in a laboratory environment on a
Pioneer 2 robot equipped with a SICK laser range finder (Fig. 27). This robot,
which is manufactured by ActivMedia Robotics, is a differentially driven plat-
form configured with two drive wheels and one swivel caster for balance. Each
wheel is driven independently by a motor with 19.5:1 gear ratio, which enables
the robot to drive at a maximum speed of 1.2 m/s and climb a 25% grade .
6.1 Pioneer 2 Sensors
The Pioneer 2 is equipped with several types of sensors. The navigation con-
trol system requires range sensors and localization sensors. This subsection
will give a brief description of the range and localization sensors used in this
Two types of range sensors were available: a bank of sonar sensors as well as
a laser range finder. Because of its better accuracy and resolution, the laser
range finder was used in this control system. The laser range finder used is a
SICK LMS 200; it has a resolution of 10mm, a typical measurement accuracy of
±15mm, a 180◦scanning angle, and 10m typical measured distance range .
Measurements can be made for scan angles as small as 0.25◦that can be
composed into rectangular and cone shaped regions .
Since the laser range finder can scan over a 180◦angle, it provides many
measurements that cannot be effectively processed for control purposes. To
make the range finder readings manageable, the sensor inputs were grouped
into a total of nine regions. Initially all nine of these regions were represented
by equal sized cones of 20◦each. This orientation had to satisfy two conditions:
(1) At a minimum safe distance ds between the robot and the side obsta-
cles the width of the six side regions must represent a width wtthat is
traversable by the robot.
(2) The combined three front sensor regions must represent a width traversable
by the robot.
The latter condition was simplified further, which lead to the front regions
being rectangular with an overall width that is slightly wider than the actual
robot in order to provide for some safety margin. Similarly, the conic side sen-
sor regions were widened to overlap the adjacent regions; these sensor regions
are illustrated in Fig. 18. The necessary included angle of the cone θsfor these
side sensor regions was calculated as
which yielded θs= 35◦for a wt/dsratio of 0.6.
It was observed later that the larger these regions are, the more likely it is that
the robot will not be able to discern a traversable path even when one actually
exists. The sensor inputs for larger regions tend to indicate that an excessively
wide space is needed in order for the proposed direction to be traversable. The
opposite is also true, i.e., smaller regions make the algorithm more likely to
attempt a direction that is not in fact traversable. Therefore the sensor region
size becomes a major factor in the process of tuning the algorithm.
Typical localization sensors include Global Positioning Systems (GPS), Iner-
tial Navigation Systems (INS) and electronic compases. The Pioneer 2 robot
used in these experiments had none of these localization sensors. Instead, lo-
calization information was achieved computationally by using wheel encoders.
Each motor on the mobile robotic platform was equipped with a 500 tick
encoder , which measures the change in orientation of the motors in incre-
ments of 1/500 of a rotation. This information along with the drive gear ratio
provided the change in orientation of each wheel, which was differentiated to
provide wheel velocities. The obtained wheel velocities were used in the cal-
culation of the position of the vehicle relative to its initial position, and hence
localization was achieved.
This subsection presents a sample of the experimental results that show the
performance of the proposed strategy used in conjunction with the recently
developed preference-based fuzzy behavioral control system . In each ex-
periment, the threshold level was set to 6, and a grid of 30 cm by 30 cm was
used for the local maps.
6.2.1 Obstacle description and configuration
A dense forest in which trees become obstacles to robot motion was chosen
as the experimental environment. Such obstacles are very difficult to navigate
through because they are relatively small with irregular spacing. Trees were
represented by 2?long by 2??, 3??, and 4??diameter PVC pipe sections. These
pipe diameters scale appropriately to the vehicle size and accurately depict
the trunks of trees. Fig. 27 shows the Pioneer robot navigating through the
Fig. 27. Pioneer 2 Navigation in the Experimental Environment.
For each experimental scenario the robot was set at a particular start point and
the goal was defined in either Cartesian or polar coordinates with respect to the
start position. The obstacle configurations were mapped and the localization
data (X,Y ) of the robot were plotted as shown in Figs. 28 through 30. The
path followed by the robot during the detection of the limit cycle is represented
by a solid line. The retraction stage is represented by a dashed line. It is
important to note that in order to record the true path followed by the robot
a marker was attached to its rear. Therefore, the (X,Y ) data correspond to
the position of the rear of the robot and not to its center. The mark X indicates
the location of the way points and the final goal. The discrepancy between
the goal and the actual final position of the robot is due to localization error,
which can be improved by adding additional localization sensors to the robotic
Scenario 1 (Fig. 28) shows how the strategy works when the robot enters a
deadlock enclosure in a cluttered environment. Notice that the starting posi-
tion of the robot is outside the enclosure.
Scenario 2 (Fig. 29) shows that the robot switches back to its original goal
even if the way point is an unreachable target. The way point is classified
as unreachable because it is very close to a group of obstacles, and in that
situation the obstacle avoidance behavior would not allow the robot to reach
it. However, at the point marked S, the robot was found to be at a safe distance
from the virtual wall and therefore it switched back to its original goal.
Scenario 3 (Fig. 30) shows that the the proposed strategy also works when
the robot starts its mission from within the deadlocked area. In this scenario,
the importance of the virtual wall can be seen more clearly. When the robot
switched back to its original target, the robot headed directly to the enclosure
again but thanks to the virtual wall and the virtual laser, the robot was able
to avoid the deadlock enclosure.
Fig. 28. Experimental Results for Scenario 1.
Fig. 29. Experimental Results for Scenario 2.
Fig. 30. Experimental Results for Scenario 3.
A method for detecting and avoiding navigational limit cycles, which is one
of the major shortcomings of behavioral systems, has been proposed. This
method uses dynamic local spatial memory to keep track of places visited in
order to detect limit cycles. Whenever, a point in spatial memory records that
one place has been repeatedly visited in excess of allowable levels, a limit cycle
is said to have been detected. Once the limit cycle is detected, a virtual wall
is built to close the deadlocked area so that the robot will not be able to enter
that region again.
The proposed method is designed to work in either indoor or outdoor environ-
ments with various sizes and shapes of potential deadlock regions. The method
is general and could be implemented on top of any behavioral system.
To demonstrate the effectiveness of the proposed method, simulations and
experiments were conducted. The proposed approach was simulated in new
scenarios as well as benchmark scenarios in which other approaches have been
tested. Finally, laboratory experiments were conducted using a Pioneer 2 robot
equipped with a SICK laser range finder.
The views and conclusions contained in this document are those of the au-
thors and should not be interpreted as representing the official policies, either
expressed or implied, of the Army Research Laboratory or the U. S. Govern-
 ActivMedia Robotics, 44 Concord St., Peterborough NH, 03458. Pioneer 2 /
PeopleBot Operations Manual, 9 edition, October, 2001.
 R. C. Arkin. Behavior-Based Robotics. MIT Press, 1998.
 T. Balch and R. Arkin. Avoiding the Past: A Simple but Effective Strategy for
Reactive Navigation. In Proceedings of the IEEE International Conference on
Robotics and Automation, pages 678–685, 1993.
 H. Choset, K.Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavraki,
and S. Thrun.Principles of Robot Motion : Theory, Algorithms, and
Implementations. The MIT Press, 2005.
 Auto Identification Division. Download full-text
Measurement Systems. SICK, Inc., 6900 West 110th St., Bloomington, MN
55438, 8 008 970 edition, June, 2003.
Technical Description: LMS 200 Series Laser
 D. D. Dunlap.
For Navigation In Cluttered Environments. Master’s thesis, Florida A & M
University, Tallahassee, Florida, 2004.
Implementation Of Multi-Valued Fuzzy Behavior Control
 R. Haralick and G. Shapiro. Computer and Robot Vision. Addison-Wesley,
 H. P. Huang and P. C. Lee. A real-time algorithm for obstacle avoidance of
autonomous mobile robots. Robotica, 10:217–227, 1992.
 K. Krishna and P. Kaira. Solving the Local Minima Problem for a Mobile Robot
by Classification of Spatio-Temporal Sensory Sequences. Journal of Robotic
Systems, 17:549–564, 2000.
 H. Maaref and C. Barnet. Sensor-based Navigation of a Mobile Robot in an
Indoor Environment. Robotics and Autonomous Systems, 38:1–18, 2002.
 F. G. Pin and S. Bender. Adding Memory Processing Behaviors to the Fuzzy
Behaviorist Approach (FBA): Resolving Limit Cycle Problems in Autonomous
Mobile Robot Navigation. Intelligent Automation and Soft Computing, 5:31–41,
 M. F. Selekwa, D.D. Dunlap, and E.G. Collins. Implementation of Multi-valued
Fuzzy Behavior Control for Robot Navigation in Cluttered Environments.
In Proceedings of the 2005 IEEE Int. Conf. on Robotics and Automation,
Barcelona, Spain, pages 3699–3706, April, 2005.
 M. Wang and J. Liu. Fuzzy Logic Based Robot Path Planning in Unknown
environment. Proceedings of the Fourth International Conference on Machine
Learning and Cybernetics, pages 813–818, 2005.
 W.L. Xu, S.K. Tso, and Z.K. Lu. A Virtual Target Approach for Resolving the
Limit Cycle Problem in Navigation of a Fuzzy Behavior-based Mobile Robot.
In Proceedings of the 1998 IEEE/RSJ Intl. Conference on Intelligent Robots
and Systems, Victoria, B.C., Canada, pages 44–49, October, 1998.