0% found this document useful (0 votes)
46 views

Real Time OV

1) The document describes a new real-time obstacle avoidance approach called the virtual force field (VFF) method for mobile robots. 2) The VFF method integrates two concepts: certainty grids for obstacle representation and potential fields for navigation. Certainty grids represent obstacles by assigning certainty values to grid cells, with higher values indicating greater confidence an obstacle exists in that cell. Potential fields use attractive and repulsive virtual forces to navigate around obstacles. 3) The combination of certainty grids and potential fields enables continuous motion of the robot around obstacles without stopping, accommodates inaccurate sensor data, and allows for sensor fusion. Experimental results demonstrate the power of the VFF method for obstacle avoidance on a mobile robot moving at up to

Uploaded by

qwerty u
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Real Time OV

1) The document describes a new real-time obstacle avoidance approach called the virtual force field (VFF) method for mobile robots. 2) The VFF method integrates two concepts: certainty grids for obstacle representation and potential fields for navigation. Certainty grids represent obstacles by assigning certainty values to grid cells, with higher values indicating greater confidence an obstacle exists in that cell. Potential fields use attractive and repulsive virtual forces to navigate around obstacles. 3) The combination of certainty grids and potential fields enables continuous motion of the robot around obstacles without stopping, accommodates inaccurate sensor data, and allows for sensor fusion. Experimental results demonstrate the power of the VFF method for obstacle avoidance on a mobile robot moving at up to

Uploaded by

qwerty u
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO.

5, SEPTEMBER/OCTOBER, 1989 1179

Real-Time Obstacle Avoidance for Fast


Mobile Robots

Abstract -A new real-time obstacle avoidance approach for mobile therefore concentrates only on the local obstacle avoidance
robots has been developed and implemented. This approach permits the aspect.
detection of unknown obstacles simultaneously with the steering of the
mobile robot to avoid collisions and advancing toward the target. The One approach to autonomous navigation is the wall-fol-
novelty of this approach, entitled the virtual force field, lies in the lowing method [l], [17], [U]. Here the robot navigation is
integration of two known concepts: Certainty grids for obstacle representa- based on moving alongside walls at a predefined distance.
tion, and potential fields for navigation. This combination is especially If an obstacle is encountered, the robot regards the obsta-
suitable for the accommodation of inaccurate sensor data (such as pro- cle as just another wall, following the obstacle’s contour
duced by ultrasonic sensors) as well as for sensor fusion, and enables
continuous motion of the robot without stopping in front of obstacles. This until it may resume its original course. This kind of naviga-
navigation algorithm also takes into account the dynamic behavior of a fast tion is technologically less demanding, since one major
mobile robot and solves the local minimum trap problem. Experimental problem of mobile robots- the determination of their own
results from a mobile robot running at a maximum speed of 0.78 m/s position-is largely facilitated. Naturally, robot navigation
demonstrate the power of the proposed algorithm. by the wall-following method is less versatile and is suit-
able only for very specific applications. One soon-to-be
introduced commercial system uses this method on a floor
I. INTRODUCTION cleaning robot for long hallways [16].

R EAL-TIME obstacle avoidance is one of the key


issues to successful applications of mobile robot sys-
tems. All mobile robots feature some kind of collision
A more general and commonly employed method for
obstacle avoidance is based on edge-detection. In this
method the algorithm tries to determine the position of the
avoidance, ranging from primitive algorithms that detect vertical edges of the obstacle and consequently attempts to
an obstacle and stop the robot short of it in order to avoid steer the robot around either edge. The line connecting the
a collision, through sophisticated algorithms, that enable two edges is considered to represent one of the obstacle’s
the robot to detour obstacles. The latter algorithms are boundaries. This method was used in our own previous
much more complex, since they involve not only the detec- research [5], [6], as well as in several other research pro-
tion of an obstacle, but also some kind of quantitative jects, such as [9], [ll], [28]. A disadvantage with obstacle
measurements concerning the obstacle’s dimensions. Once avoidance based on edge-detecting is the need of the robot
these have been determined, the obstacle avoidance algo- to stop in front of an obstacle in order to allow for a more
rithm needs to steer the robot around the obstacle and accurate measurement.
resume motion toward the original target. A further drawback of edge-detection methods is their
Autonomous navigation represents a higher level of per- sensitivity to sensor accuracy. Unfortunately ultrasonic
formance, since it applies obstacle avoidance simultane- sensors that are mostly used in mobile robot applications
ously with the robot steering toward a given target. Au- many shortcomings in this respect.
tonomous navigation, in general, assumes an environment
with known and unknown obstacles, and it includes global Poor directionality that limits the accuracy in deter-
path planning algorithms [3] to plan the robot’s path mination of the spatial position of an edge to 10-50
among the known obstacles, as well as local path planning cm, depending on the distance to the obstacle and
for real-time obstacle avoidance. This paper however as- the angle between the obstacle surface and the acous-
sumes motion in the presence of unknown obstacles, and tic beam.
Frequent misreadings that are caused by either ultra-
sonic noise from external sources or stray reflections
Manuscript received July 29, 1988; revised April 21, 1989. This work from neighboring sensors (crosstalk). Misreadings
was supported in part by the Department of Energy Grant DE-FG02-
86NE37967. The material in this paper was partially presented at the cannot always be filtered out and they cause the
Third International Symposium on Intelligent Control, Arlington, VA, algorithm to see nonexisting edges.
August 24-26, 1988. Specular reflections that occur when the angle be-
The authors are with Advanced Technology Laboratories, University of
Michigan. 1101 Beal Ave., Ann Arbor, MI 48109-2110. tween the wave front and the normal to a smooth
IEEE Log Number 8929220. surface is too large. In this case the surface reflects

0018-9472/89/0900-1179$01.00 01989 IEEE


1180 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 5, SEPTEMBER/OCTOBER 1989

the incoming ultrasound waves away from the sensor, planning, whch uses Krogh’s generalized potential field
and the obstacle is either not detected at all, or (since (GPF) approach. These methods however assume a known
only part of the surface is detected) seen much smaller and prescribed world model of the obstacles. Furthermore,
than it is in reality. none of these methods has been implemented on a mobile
robot that uses real sensory data. The closest project to
To reduce the effects just listed we have decided to
ours is that of Brooks [7], [8], who uses a force field
represent obstacles with the certainty grid method. This
method in an experimental robot equipped with a ring of
method of obstacle representation allows adding and re-
twelve ultrasonic sensors. Brooks’ implementation treats
trieving data on the fly and enables easy integration of
each ultrasonic range reading as a repulsive force vector. If
multiple sensors.
the magnitude of the sum of the repulsive forces exceeds a
The representation of obstacles by certainty levels in a
certain threshold, the robot stops, turns into the direction
grid model has been suggested by Elfes [15], who used the
of the resultant force vector, and moves on.
certainty grid for off-line global path planning. Moravec
and Elfes [23], and Moravec [24] also describe the use of
A. The Basic VFF Method
certainty grids for map-building. Since our obstacle avoid-
ance approach makes use of this method, we will briefly This section explains the combination of the potential
describe the basic idea of the certainty grid, field method with a certainty grid. This combination pro-
In order to create a certainty grid, the robot’s work area duces a powerful and robust control scheme for mobile
is divided into many square elements (denoted as cells), robots, denoted as the virtual force field (VFF) method.
which form a grid (in our implementation the cell size is 10 As the robot moves around, range readings are taken
cm by 10 cm). Each cell ( i , j ) contains a certainty value and projected into the certainty grid, as explained. Simul-
C ( i , j ) that indicates the measure of confidence that an taneously the algorithm scans a small square window
obstacle exists within the cell area. The greater C ( i , j ) , the of the grid. The size of the window is 33x33 cells
greater the level of confidence that the cell is occupied by (i.e., 3.30m X 3.30m) and its location is such that the robot
an obstacle. is always at its center.
In our system the ultrasonic sensors are continuously Each occupied cell inside the window applies a repulsive
sampled while the robot is moving. If an obstacle produces force to the robot, pushing the robot away from the cell.
an echo (within the predefined maximum range limit of The magnitude of this force is proportional to the cell
two meters), the corresponding cell contents C( i , j ) are contents C ( i , j ) and is inversely proportional to the square
incremented. A solid, motionless obstacle eventually causes of the distance between the cell and the robot:
a high count in the corresponding cells. Misreadings on the
other hand, occur randomly, and do not cause high counts
in any particular cell. This method yields a more reliable
obstacle representation in spite of the ultrasonic sensors’
inaccuracies. where
The novelty of our approach lies in the combination of Fcr force constant (repelling),
certainty grids for obstacle representation with the poten-
d(i,j ) distance between cell (i, j ) and the robot,
tial field method for local path planning. Section I1 ex-
C ( i , j ) certainty level of cell ( i , j ) ,
plains our basic virtual force field (VFF) obstacle avoid-
xo, yo robot’s present coordinates,
ance approach in which we apply the potential field method
X i , Yj coordinates of cell (i, j ) .
to a certainty grid. The VFF method is further enhanced
by taking into account the dynamic behavior of a mobile Notice that in (1) the force constant is divided by d ’. By
robot at high speeds and by a comprehensive heuristic this method occupied cells exert strong repulsive forces
solution to the trap problem (which is associated with the when they are in the immediate vicinity of the robot, and
potential field method). A discussion on these two algo- weak forces when they are further away.
rithms is included in Sections I11 and IV. The described The resultant repulsive force I;; is the vectorial sum of
algorithms have been implemented and tested on our mo- the individual forces from all cells:
bile robot, computer-aided robotics for maintenance, emer-
gency, and life support (Carmel). Fr= c F ( i , j ) . (2)
1, 1

FORCE
11. THEVIRTUAL FIELD
(VFF) METHOD At any time during the motion, a constant-magnitude
The idea of having obstacles conceptually exerting forces attracting force I;; pulls the robot toward the target. E; is
onto a mobile robot has been suggested by Khatib [20]. generated by the target point T, whose coordinates are
Krogh [21] has enhanced this concept further by taking known to the robot. The target-attracting force E; is given
into consideration the robot’s velocity in the vicinity of by
obstacles. Thorpe [26] has applied the potential fields
method to off-line path planning. Krogh and Thorpe [22]
suggested a combined method for global and local path
[
4 = 4, d(t)P
xt-xo
+
Y t - Yo
TI;](3)
BORENSTEIN A N D KOREN: REAL-TIME OBSTACLE AVOIDANCE FOR FAST MOBILE ROBOTS 1181

B. Advantages Over Conventional Methods


The VFF algorithm has several advantages over edge
detecting methods, which are presently used in many mo-
bile robot applications:
1) In edge detection methods, misreadings or inaccurate
range measurements may be misinterpreted as part of an
Target obstacle contour, thereby gravely distorting the perceived
shape of the obstacle. The sharply defined contour re-
quired by these methods cannot accommodate the blurry
and inaccurate information provided by ultrasonic sensors.
toward target
Edge detection methods require binary knowledge about
the obstacle contour (exists or does not exist), and there-
fore cannot implement certainty methods, in which the
data is weighted. The VFF method on the other hand, does
not utilize sharp contours in the world model, but rather
R = Resultant of all responds to clusters of high likelihood for the existence of
an obstacle. This results in increased robustness of the
algorithm in the presence of misreadings.
Fr = Sum of repulsive forces 2) The VFF method does not require the robot to stop
Fig. 1. Virtual force field concept: Occupied cells exert repulsive forces for data acquisition and evaluation, or for corner negotia-
onto robot; magnitude is PrOPortiond to Cell's certainty value C(r, 1) tion (as in the cases reported in [6], [8], [9], [Ill, [12], [19]).
and inversely proportional to d 2 .
Except for the artificially introduced effect of damping
(see discussion in Section 111-A), the VFF method allows
where the robot to negotiate all obstacles while it travels at up to
its maximum velocity.
c,, force constant (attraction to the target),
3) Updating the grid-map sensor information and using
d ( t ) distance between the target and the robot, the grid-map for navigation are two independent tasks that
x,, y, target coordinates.
are performed asynchronously, each at its optimal pace.
Notice that 4 is independent of the absolute distance to The edge detection method, by contrast, requires the fol-
the target. lowing activities to be performed in sequence: detect an
As shown in Fig. 1, the vectorial sum of all forces, obstacle, stop the robot, measure the obstacle (find its
repulsive from occupied cells and attractive from the target edges), recalculate path, and resume motion.
position, produces a resultant force vector R : 4) The grid representation for obstacles lends itself eas-
ily to the integration of data from groups of similar, as
R=&+E;. (4) well as from different types of sensors (such as vision,
touch, and proximity), in addition to data from previous
The direction of R , 6 = R/IRI (in degrees), is used as the runs or from preprogrammed stationary obstacles (such as
reference for the robot's steering-rate command Q: walls).
a=~~[e(-)6] (5) 111. DYNAMICMOTIONENHANCEMENTS FOR

where ROBOTSRUNNING
AT HIGHSPEEDS

This section discusses the main enhancements that have


K , proportional constant for steering (in s-'),
8 current direction of travel (in degrees). been incorporated in the VFF method in order to account
for the dynamic properties of a mobile robot [2], [4]
( - ) is a specially defined operator for two operands, a moving at higher speeds (up to 0.78 m/s).
and /? (in degrees), and is used in the form y = a( -)p. The mobile robot used in all experiments is a commer-
The result y (in degrees), is the shortest rotational differ- cially available Cybermation K2A mobile platform [13].
ence between a and p. Therefore y is always in the range The K2A has a maximum travel speed of V,, = 0.78 m/s,
- 180" < y < 180". a maximum steering rate of Q = 120 deg/s, and weights (in
A typical obstacle map in certainty gnd representation its current configuration) about W = 125 kg. This platform
shows obstacle-boundaries as clusters of cells with high has a unique three-wheel drive (synchro-drive) that permits
certainty values. Misreadings on the other hand, occur at omnidirectional steering. In order to control this mobile
random and therefore produce mostly isolated cells with platform, two data items must be sent (through a serial
low certainty values. Summation of repulsive forces from link) to its onboard computer: a velocity command, V , and
occupied cells (2) makes the robot highly responsive to a steering-rate command, Q (computed in (5)).
clusters of filled cells, whle almost completely ignoring Our mobile platform has been equipped with a ring of
isolated cells. 24 Polaroid ultrasonic sensors [25] and an additional com-
1182 IEEE TRANSACTIONS ON SYSTEMS,MAN, AND CYBERNETICS, VOL. 19, NO. 5, SEPTEMBER/OCTOBER 1989

puter (a PC-compatible single-board computer, running at


7.16 MHz), to control the sensors. Similar sensor configu-
rations have been designed for other mobile robots, such
as [14] or [27]. I
6 4
Since the remaining part of this paper focuses on various I
aspects of motion performance, we have chosen to simulate 5
obstacles in the certainty grid, rather than use real sensory I
4
Obstacle
data. The undeterministic nature of actual ultrasonic range
information makes it difficult to reproduce test runs or
compare them with each other. The VFF algorithm how-
ever, works equally well with real obstacles, as is demon-
strated in the last experimental result in this paper (Fig. 8). i
S
All of the following examples and plots have been
obtained from actual runs of our robot (with its sensors -)X [nl
disabled). Although the maximum speed of V , , = 0.78
m/s was used, the average speed in each run was lower,
since the algorithm reduces the robot’s speed under certain I
7 I
conditions (as will be explained below). I
6
.L--
T
-
A . Low Pass Filter for Steering Control I
5
For smooth operation of the VFF method, the following I Obstacle
condition relating the grid resolution As and the sampling 1
period T must be satisfied as

As > TVm,. (6) 2 1


I
In our case As = 0.1 m and TVm, = 0.1 *0.78 = 0.0078 ‘iI s
m, and therefore this condition is satisfied.
Since the distance dependent resultant force vector
& (see (2)) is quantized to the grid resolution (10 cmX (b)
10 cm), rather drastic changes in the resultant force vector Fig. 2. (a) Highly oscillatory motion in undamped force field. (b)
Robot’s path is effectively smoothed as force and speed damping are
R may occur as the robot moves from one cell to another applied.
(even with condition (6) satisfied). This results in an overly
vivacious steering control, as the robot tries to adjust its
m/s), however, the root introduces a considerable relative
direction to the rapidly changing direction of R . To avoid
delay in responding to changes in steering commands
this problem, a digital low-pass filter, approximated in the
caused by the combined effects of its inertia and the
algorithm by 7 = 0.4 s, has been added at the steering-rate
command. The resulting steering-rate command is given by low-pass filter mentioned earlier. Due to this delay the
robot might approach an obstacle very closely, even if the
TQ;-, + (7- T ) Q ; - , algorithm produces very strong repulsive forces. When
Qi=
7
(7) the robot finally turns around to face away from the
obstacle, it will depart more than necessary for the same
where reason. The resulting path is highly oscillatory, as shown in
Pi steering-rate command to the robot (after low- Fig. 2(a).
pass filtering); One way to dampen this oscillatory motion is to increase
,
Qi- previous steering-rate command; the strength of the repulsive forces when the robot moves
0; steering-rate command (before low-pass filtering); toward an obstacle, and reduce it when the robot moves
T sampling time (here: T = 0.1 s); alongside the obstacle. The general methodology calls for
7 time constant of the low pass filter. variations in the magnitude of the sum of the repulsive
The filter smoothes the robot’s motion when moving forces 6 as a function of the relative directions of F, and
alongside obstacles. However it also introduces a time the velocity vector V. Mathematically this is achieved by
delay 7, which deteriorates the steering response of the multiplying the sum of the repulsive forces by the direc-
robot by the displacement delay T Q . tional cosine (cos@ of the two vectors, F, and V , and
using the product as follows:
B. Damping (for Speed Command) E;’ = w ~+r(1 - W ) F,( -COS e ) (8)
Ideally when the robot encounters an obstacle, it would where is the adjusted sum of the repulsive forces and w
move smoothly alongside the obstacle until it can turn is a weighting factor that was set to w = 0.25 in our
again toward the target. At higher speeds (e.g., V > 0.5 system.
BORENSTEIN A N D KOREN: REAL-TIME OBSTACLE AVOIDANCE FOR FAST MOBILE ROBOTS 1183

The directional cosine in (8) is computed by Iv. RECOVERY FROM LOCALMINIMUM


TRAPS

One problem inherent to the basic VFF method is the


(9) possibility for the robot to get trapped. This situation may
occur when the robot runs into a dead end (e.g., inside a
where U-shaped obstacle). Traps can be created by a variety of
different obstacle configurations, and different types of
V,, vp x and y components of velocity vector V;
F,,, Fry x and y components of the sum of the repul-
traps can be distinguished. This section presents a compre-
hensive set of heuristic rules to recover from different trap
sive forces, F,. conditions. Chattergy [lo] presented some heuristic local
The effect of this damping method is that the robot path planning solutions for various obstacle configuration
experiences the repulsive forces at their full magnitude, as (and trap conditions), based on distance measurements to
it approaches the obstacle frontally (with -cos 0 = 1).As the obstacle. While his approach to recovery from a single
the robot turns toward a direction alongside the obstacle's trap is similar to ours (through wall-following, see discus-
boundary, the repulsive forces are weakened by the factor sion forthcoming), his solution to the problem of multiple
0.75 *cos 8, and will be at their minimum value when the traps differs completely from ours. Also Chattergy offers
robot runs parallel to the boundary. Notice that the setting no solution to the inside-wall problem (as discussed in
w = 0 is undesirable, since the robot will eventually run Section IV-B).
into an obstacle as it approaches it at a very small angle.
Careful examination of (8) reveals the fact that the A . Trap-State Detection
damped sum of repulsive forces, F,',may become negative In an ideal, noninertial system, trap-states may be dis-
(thereby actually attracting the robot), as the robot moves covered by simply monitoring the speed of the robot. If
away from the obstacle (and cos19 > 0). We found the caught in a trap, the robot's speed will become zero as the
attraction-effect to improve damping and reduce oscilla- robot converges to the equilibrium position with R = 0. In
tory motion. a dynamic system, however, the robot overshoots the equi-
librium position and will either oscillate or run in a closed
C. Speed Control loop, as shown in Fig. 3(a) for an actual run. Therefore it
The intuitive way to control the speed of a mobile robot is impractical to monitor the magnitude of the result force
in the VFF environment is to set it proportional to the [RI for trap-state detection. Our method for trap-state
magnitude of the sum of all forces, R = F, + 4. Thus if the detection compares the robot-to-target direction, e,, with
path was clear, the robot would be subjected only to the the actual instantaneous direction of travel, e,. If the
target force and would move toward the target, at its robot's direction of travel is more than 90" off-target,
maximum speed. Repulsive forces from obstacles, natu- namely, if
rally opposed to the direction of E; (with disregard to the
damping effect discussed previously), would reduce the
le, - e,! > 900 (11)
magnitude of the resultant R , thereby effectively reducing the robot starts to move away from the target and is very
the robot's speed in the presence of obstacles. likely about to get trapped. Therefore to avoid trap-situa-
However we have found that the overall performance tions, the controller monitors the condition in (11).If (11)
can be substantially improved by setting the speed com- is satisfied, the system switches to the recovery algorithm
mand 52 proportional to cos0 (see (9)). This function is discussed next. Notice that (11)expresses an overconserva-
given by tive condition, and under certain circumstances this condi-
tion may be satisfied without the robot being subsequently
Vmax for IFr!= 0 (i.e., in the
trapped. However this test is computationally simple, and
absence of obstacles) the evoked recovery algorithm does not reduce the overall
V,,,=(l- lcosel), for 141 >0 performance (if evoked only temporarily), even if the robot
would not be trapped.
(10)
B. Recovery Through Wall-Following
With t h s function the robot still runs at its maximum
speed if no obstacles are present. However in the presence The recovery algorithm, referred to as the wall-following
of obstacles, speed is reduced only if the robot is heading method (WFM), steers the robot such as to follow the
toward the obstacle (or away from it), thus creating an current obstacle contour. The current obstacle contour is
additional damping effect. If however the robot moved the boundary of the obstacle that pushed the robot away
alongside an obstacle boundary, its speed is almost not and made it assume a heading more than 90" off the target
reduced at all and it moves at its maximum speed, thereby direction. With the WFM, the robot follows the contour
greatly reducing the overall travel-time. until it starts heading back into a direction less than 90"
Fig. 2(b) shows the joint effect of both damping mea- off-target (i.e., le, - 0l, < 90"). Subsequently the robot re-
sures on the resulting path. sumes its (normal VFF) mode, and heads toward the
-,

1184 IEEE TRANSACTIONSON SYSTEMS,MAN, AND CYBERNETICS, VOL. 19, NO. 5, SEPTEMBER/OCTOBER 1989

1 :. . _ . . 1. . . . . _ . _ . . . . . . ................
. . . . . ...... ...;
-
0 -
[ml
Fig. 4. Robot successfully recovers from labyrinth-like obstacle course.

Proiected virtual

6 =sum of repulsive
forces

' Obstacle
boundary
Fig. 5. Derivation of virtual attractive force 4' for wall-followingmode.
' X [nl

Fig. 3. (a) Robot is caught in local minimum trap. (b) As robot finds
itself 90" off target, it goes into wall-following mode (at A ) and reaims lowing could also be implemented through controlling a
at target (at B ) . fixed distance to the wall, our method is preferable, since it
is less sensitive to misreadings of the ultrasonic sensors. A
similar implementation for wall-following has .been sug-
target. The joint operation of the WFM and the VFF gested by Brooks and Connell [8], with a = 120".
mode is demonstrated in Fig. 3(b), in which the robot There is however one catch to the WFM, which may
reaches the target in 16.0 s at an average speed of 0.44 occur if more than one trap is present. Fig. 6(a) shows one
m/s. At point A, the algorithm detects a trap situation, such case. Here the robot switches to WFM at point A
and switches back into WFM. At point B the off-angle and follows a wall to its left. Then at point B, it switches
becomes less than 90", and the algorithm switches back back to VFF mode, since its heading is now less than 90'
into VFF mode. This recovery algorithm works even for off the target direction. At point C, a new trap-condition
extreme constellations of obstacles, such as the labyrinth- is detected, and the robot goes again into WFM (notice
like obstacle course in Fig. 4. Again at point A the system that this time the robot follows the obstacle at its right).
activates the WFM algorithm, and at point B it switches This pattern repeats itself at points D, E, and F, inside
back to VFF mode. the second and third trap. Subsequently the robot returns
The WFM algorithm is implemented in the following and oscillates between the traps. To solve this problem two
manner. First the robot calculates the sum of all repulsive possible wall-following modes must be distinguished: L-
forces, e, in order to determine the direction of &Or. mode, where the robot follows a wall to its left, and
Next as is depicted in Fig. 5 (for following a wall to the R-mode, where the robot follows a wall to its right. This
left of the robot), the algorithm adds an angle a to e, distinction is utilized in the implementation of the WFM
where 90" < a < 180" (or subtracts a from Or, if following a in our system.
wall to the right of the robot). In our system a=145". In a given run the robot might select either L- or
Then the algorithm projects a new virtual attractive force R-mode at the first trap-situation, but then it must stick
4' in the resulting direction, which temporarily replaces always to this mode within the given run. The result of
the attractive force from the target location, Fo.The new running this algorithm is depicted in Fig. 6(b) (for the
resultant R will now point (or eventually converge) into a same obstacle configuration as in Fig. 6(a)). The robot
direction parallel to the obstacle boundary. While wall-fol- encounters a trap at point A and chooses L-mode. At
BORENSTEIN A N D KOREN: REAL-TIME OBSTACLE AVOIDANCE FOR FAST MOBILE ROBOTS 1185

T Y M $ Y M
7 ? Y M Wall
6
I
i Wall
II
I ... 5
I
I
~ .r c

I
3
"sObstacle

I --*A
2
I
1
I .
.
..
..
.
..
..
.
..
..
.
..
..
.
..
..
.
..
.
d
.
.
..
..
.
..
..
.
..
.
L J t xm
J
Fig. 7. Wall-following on inner wall of room may result in indefinite
loop. However, full loop around target can be identified and used to
remedy situation.

I ... Once detected there are several ways to remedy the


....
situation. In our algorithm the robot is simply forced out
of the WFM and back into normal target pursuit. Fig. 7
shows an example. At point A the algorithm detects the
trap condition and switches into WFM with R-mode. At
point B the robot has completed one full revolution about
the target (since A ) and the loop condition (a > 360") is
1 detected. The robot slows down and stops at point C.
I----+Xlml Theoretically there is no need to stop at C, but for the
(b)
trivial purpose of untangling the umbilical cord (note that
Fig. 6. (a) Robot oscillates between multiple traps. (b) Remedy of the robot has spun almost 720" by the time it reaches C)
multiple trap oscillations by adherence to original wall-following mode. the robot does stop at C. It then rotates on the spot until
its heading is directed toward the target again, and re-
point B the trap-situation is resolved and the robot returns sumes motion in VFF mode.
to VFF mode. However a new obstacle is encountered, Fig. 8 shows a run of the robot with actual ultrasonic
which pushes the robot into R-mode (at point C). Since data, obtained in real-time during the robot's motion.
the robot has to stick to the original WFM, it slows down Partitions were set up in the lab such as to resemble the
and performs a U-turn (at point 0). Subsequently the simulated obstacles in Fig. 3. The robot ran at a maximum
robot resumes motion in VFF mode (at point E ) . A new speed of 0.78 m/s and achieved an average speed of 0.53
trap is detected at point F, but this trap can be resolved by m/s. The maximal range for the sensors was set to 2.0 m,
running in (the original) L-mode. At point G the robot which is why only part of the rightmost wall is shown,
resumes motion in VFF mode and reaches the target. The whereas the rear wall and most of the leftmost wall re-
average speed for this run was 0.5 m/s. mained undetected.
One last exception that needs to be addressed occurs
when the robot is in WFM on an inside wall of a closed
room (with the target in the same room). In this case the
robot will follow that wall indefinitely, since the condition
for exiting WFM (10, - dol < 90") will not be satisfied
(Note that 0, is updated absolutely and not by modulus
360", so that e.g., 420" # 60").
However this situation may be detected by monitoring
the sum 0 of the changes of the target direction, e,,
between sampling intervals i as follows:
0 = Z [ e,(i) - e,(i -I)]. (12)
0 > 360" indicates that the robot has traveled at least one
full loop around the target. This only happens when the
Fig. 8. Robot run with actual ultrasonic data obtained in real-time
robot follows an inside wall completely surrounding the during robot's motion. Maximum speed = 0.78 m/s and average speed
target . = 0.53 m/s.
1186 IEEE TRANSACTIONS ON SYSTEMS, MAN, A N D CYBERNETICS, VOL. 19, NO. 5, SEPTEMBER/OCTOBER 1989

Each dot in Fig. 8 represents one cell in the certainty -, “Optimal path algorithms for autonomous vehicles,” Proc.
18th CIRP Manufacturing Systems Sem., Stuttgart, W. Germany,
grid. In our current implementation, certainty values (CV) June 5-6.
range only from zero to three. The CV = 0 means no -, “Motion control analysis of a mobile robot,” Trans. ASME,
sensor reading has been projected into the cell during the J. Dynam. Meusurement Contr., vol. 109, no. 2, 1987, pp. 73-79.
J. Borenstein, “The nursing robot system,” Ph. D. Dissertation,
run (no dot at all). C V = 1 (or CV= 2) means that one (or Technion, Haifa, Israel, 1987.
two) readings have been projected into the cell, and this is J. Borenstein and Y. Koren, “Obstacle avoidance with ultrasonic
shown in Fig. 8 with dots comprising of one (or two) sensors,” IEEE J. Robotics and Automat., vol. RA-4, no. 2, pp.
213-218, 1988.
pixels. CV = 3 means that three or more readings have R. A. Brooks, “A robust layered control system for a mobile
been projected into the same cell, and t h s is represented robot,” IEEE J. Robotics and Automat., vol. RA-2, no. 1, 14-23,
by a 4-pixel dot in Fig. 8. 1986.
R. A. Brooks and J. H. Connell, “Asynchronous distributed control
At least two misreadings can be identified in Fig. 8, system for a mobile robot,” Proc. SPIE, vol. 727, pp. 77-84, 1986.
which have been encircled for emphasis. R. A. Cooke, “Microcomputer control of free-ranging robots,”
Proc. 13th Int. Symp. Ind. Robots and Robols, Chcago, IL, Apr.
1983, pp. 13.109-13.120.
V. CONCLUSION R. Chattergy, “Some heuristics for the navigation of a robot,” Int.
J. Robotics Res., vol. 4, no. 1, 1985, pp. 59-66.
A comprehensive obstacle avoidance approach for fast- J. L. Crowley, “Dynamic world modeling for an intelligent mobile
running mobile robots, denoted as the VFF method, has robot,” Proc. IEEE Seventh Int. Conf. Pattern Recognition, Mon-
been developed and tested on our experimental mobile treal, Canada, 1984, July 30-August 2, pp. 207-210.
-, “Navigation for an intelligent mobile robot,” Technical
robot Carmel. The VFF method is based on the following Report, The Robotics Inst., Camegie-Mellon Univ., Aug. 1984.
principles. Cybermation, “K2A Mobile Platform,” Commercial offer, 5457
JAE Valley Road, Roanoke, Virginia 24014, 1987.
A certainty grid for representation of (inaccurate) Denning Mobile Robotics, Inc., “Securing the future,’’ Commercial
Offer, 21 Cummings Park, Wobum, MA 01801, 1985.
sensory data about obstacles provides a robust real- A. Elfes, “A sonar-based mapping and navigation system,” Techni-
time world model. cal Report, The Robotics Inst., Carnegie-Mellon Univ., pp. 25-30,
A field of virtual attractive and repulsive forces de- 1985.
Engelberger, J., Transitions Research Corporation, private commu-
termines the direction and speed of the mobile robot. nication, 1986.
The combination of results in 1) and 2) is the charac- G. Giralt, “Mobile robots,” NATO ASI Series, vol. FII, Robotics
teristic behavior of the robot: The robot responds to and Artificial Intelligence. New York: Springer-Verlag, 1984, pp.
365-393.
clusters of high-likelihood for the existence of an J. Iijima, S. Yuta, and Y. Kanayama, “Elementary functions of a
obstacle, while ignoring single (possibly erroneous) self-contained robot ‘YAMABICO 3.1’,” Proc. 11th Int. Symp.
data points. Ind. Robots, Tokyo, 1983, pp. 211-218.
C. Jorgensen, W. Hamel, and C. Weisbin, “Autonomous robot
Trap states are automatically detected and recovery navigation,” BYTE, pp. 223-235, Jan. 1986.
routines are activated. These routines distinguish 0. Khatib, “Real-time obstacle avoidance for manipulators and
among several different situations and take appropri- mobile robots,” 1985 IEEE Int. Conj Robotics and Automat., St.
Louis, MO, March 25-28, 1985, pp. 500-505.
ate action for each situation. B. H. Krogh, “A generalized potential field approach to obstacle
Oscillatory robot motion is resolved by damping avoidance control,” Int. Robotics Research Conf ., Bethlehem, PA,
algorithms (which only marginally compromise the Aug. 1984.
B. H. Krogh and C. E. Thorpe, “Integrated path planning and
robot’s average speed). dynamic steering control for autonomous vehicles,” Proc. 1986
IEEE Int. Conf. Robotics and Auromation, San Francisco, CA, Apr.
Based on the VFF method for autonomous obstacle 7-10,1986, pp. 1664-1669.
avoidance, we are currently developing a new mode of H. P. Moravec and A. Elfes, “High-resolution maps from wide
operation for the remote guidance of mobile robots. Under angle sonar,’’ IEEE Conf. Robotics and Automation, Washington
DC, 1985, pp. 116-121.
this mode of operation, the mobile robot follows the H. P. Moravec, “Certainty grids for mobile robots,” Technical
general direction prescribed by the operator. If the robot Report Preprint, The Robotics Inst., Carnegie-Mellon Univ., 1986.
encounters an obstacle, it autonomously avoids collision Polaroid Corporation, “Ultrasonic ranging marketing,” 1 Upland
Road, Norwood, MA 02062, 1982.
with that obstacle, trying to match the prescribed direction C. F. Thorpe, “Path relaxation: Path planning for a mobile robot,”
as good as possible. With this integrated self-protection Carnegie-Mellon University: The Robotics Institute, Mobile Robots
mechanism, robots can be steered at high speeds and in Laboratory, Autonomous Mobile Robots, Annual Report, 1985, pp.
39-42.
cluttered environments, even by inexperienced operators. S. A. Walter, “The sonar ring: Obstacle detection for a mobile
robot,” Proc. IEEE Int. Conf. Robotics and Automat., Raleigh, NC,
Mar. 31-Apr. 3, 1987, pp. 1547-1579.
REFERENCES C. R. Weisbin, G. de Saussure, and D. Kammer, “Self-Controlled:
A real-time expert system for an autonomous mobile robot,” Com-
put. Mech. Eng., pp. 12-19, Sept. 1986.
G. Bauzil, M. Briot, and P. Ribes, “A navigation sub system using
ultrasonic sensors for the mobile robot Hilare,” 1st Int. Conf. on
Robot Vision and Sensory Controls, Stratford-upon-Avon, UK, 1981,
pp. 47-58 and pp. 681-698.
J. Borenstein and Y. Koren, “A mobile platform for nursing Johann Borenstein (M88) received the B.Sc., M.Sc., and D.Sc. in mechan-
robots,” IEEE Trans. on Ind. Electron., vol. 32, no. 2, pp. 158-165, ical engineering in 1981, 1983, and 1987, respectively, from the Technion
1985. -Israel Institute of Technology, Haifa, Israel.
BORENSTEIN A N D KOREN: REAL-TIME OBSTACLE AVOIDANCE FOR FAST MOBILE ROBOTS 1187

Since 1987 he has been with the Robotics Yoram Koren (M76-SM88) has 20 years of
Systems Division at the University of Michigan, research, teaching, and consulting experience in
Ann Arbor, where he is currently an Assistant the automated manufacturing field At present
Research Scientist and Head of the MEAM MO- he is the Chairman of the Mechanical Sciences
bile Robotics Lab. His research interests include Division in the Department of Mechanical Engi-
mobile robot navigation, obstacle avoidance, path neering and Applied Mechanics, at the Univer-
planning, real-time control, sensors for robotic sity of Michigan, AM Arbor. He is the author of
applications, multisensor integration, computer Computer Control of Manufacturing Systems (Mc-
interfacing and integration. Graw-Hill, 1983) which is used as a textbook at
major universities and received the 1984 Text-
book Award from the Society of Manufacturing
Engineenng. His book, Robotics for Engineers, (McGraw-Hill, 1985) was
translated into Japanese and French and is used by engineers throughout
the world. Professor Koren is a member of ASME, an active member of
CIRP, and a Fellow of SME/Robotics-International.

You might also like