0% found this document useful (0 votes)
40 views11 pages

1997 - The Dynamic Window Approach To Collision Avoidance

The Dynamic Window Approach is a method for collision avoidance in mobile robots, particularly those with synchro-drives, allowing them to navigate safely at speeds up to 95 cm/sec in dynamic environments. This approach focuses on real-time reactive motion control, utilizing the robot's motion dynamics to determine admissible velocities and optimize movement towards a goal while avoiding obstacles. The method has been experimentally validated on various robots, demonstrating its effectiveness in cluttered and populated settings.

Uploaded by

Kolok
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)
40 views11 pages

1997 - The Dynamic Window Approach To Collision Avoidance

The Dynamic Window Approach is a method for collision avoidance in mobile robots, particularly those with synchro-drives, allowing them to navigate safely at speeds up to 95 cm/sec in dynamic environments. This approach focuses on real-time reactive motion control, utilizing the robot's motion dynamics to determine admissible velocities and optimize movement towards a goal while avoiding obstacles. The method has been experimentally validated on various robots, demonstrating its effectiveness in cluttered and populated settings.

Uploaded by

Kolok
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/ 11

The Dynamic Window

Approach to Collision Avoidance


.....................................................................................
This approach, designed for mobile robots equipped with synchro-drives,
is derived directly from the motion dynamics of the robot. In experi-
ments, the dynamic window approach safely controlled the mobile
robot RHINO at speeds of up to 95cm/sec, in populated and dynamic
environments.
Keywords: Collision avoidance, mobile robots, reactive motion control,
motion dynamics
.....................................................................................

0 ne of the ultimate goals of indoor mobile robotics


research is to build robots that can safely carry out mis-
sions in hazardous and populated environments. For example,
admissible velocities allowing the robot to stop safely. Due to
the limited accelerations of the motors a further restriction
is imposed on the velocities: the robot only considers veloci-
a service-robot that assists humans in indoor office environ- ties that can be reached within the next time interval. These
ments should be able to react rapidly to unforeseen changes, velocities form the dynamic window which is cen-
and perform its tasks under a wide variety of external cir- tered around the current velocities of the robot in the
cumstances. Most of today’s commercial mobile devices velocity space.
scale poorly along this dimension. Their motion plan- Among the admissible velocities within the dynamic
ning relies on accurate, static models of the environ- window the combination of translational and rotational
ments, and therefore they often cease to function if velocity is chosen by maximizing an objective function.
humans or other unpredictable obstacles block their The objective function includes a measure of progress
path. To build autonomous mobile robots one has to towards a goal location, the forward velocity of the
build systems that can perceive their environments] robot, and the distance to the next obstacle on the tra-
react to unforeseen circumstances, and (re)plan jectoy. By combining these, the robot trades off its
dynamically in order to achieve their missions. desire to move fast towards the goal and its desire to
This paper focuses on one particular aspect of the ship around obstacles (which decrease the free space).
design of such a robot: the reactive avoidance of col- The combination of all objectives leads to a very
lisions with obstacles, The dynamic window robust and elegant collision avoidance strategy.
approach proposed in this paper is especially The dynamic window approach has been imple-
designed t o deal with t h e constraints mented and tested on a B21 robot manufac-
Figure 1. The robot RHINO, an RWIB21.
imposed by limited velocities and accelera- tured by Real World Interface Inc. (see
tions, because it is derived directly from the motion dynamics Figure l ) , and other synchro-drive robots. In extensive experi-
of synchro-drive mobile robots. In a nutshell, our approach mental evaluations using ultrasonic proximity sensors for the
considers periodically only a short time interval when com- construction of local world models (obstacle line fields), the
puting the next steering command to avoid the enormous method has proven to avoid collisions reliably with speeds of
complexity of the general motion planning problem. The up to 95 cm/sec on several robots in several indoor environ-
approximation of trajectories during such a time interval by ments (University of Bonn, Carnegie Mellon University, 1994
circular curvatures results in AAA1 robot competition. 1995

March 1997 1070-9932/97/$10.0001997 IEEE IEEE Robotics &Automation Magazine 23


duce optimal solutions. Local approaches are easily trapped
,Im, in local minima (such as U-shaped obstacle configurations).
However, the key advantage of local techniques over global

ones lies in their low computational complexity, which is
particularly important when the world model is updated fre-
quently based on sensor information. For example, potential
field methods, as proposed by [8], determine the steering
direction by (hypothetically) assuming that obstacles assert
target negative forces on the robot, and that the target location
e asserts a positive force. These methods are extremely fast,
Figure 2. Example Situation. and they typically consider only the small subset of obstacles
close to the robot. Borenstein and Koren [9]identified that
eras and infrared detectors as sensow input. such methods often fail to find trajectories between closely
Our approach differs from previous approaches in that: (a) spaced obstacles; they also can produce oscillatoYy behavior
it is derived directly from the motion dynamics of a mobile in narrow corridors. An extended version of the potential
robot; (b) it therefore takes the inertia of the robot into field approach is introduced in [7].By modifying the poten-
account, which is particularly important if a robot with tial function the motion of the robot becomes more efficient
torque limits travels at high speed; and (c) it has safely con- and different behaviors such as wall following and tracking
trolled several RWI robots in various cluttered and dynamic can be achieved.
environments with speeds of up to 95 centimeters per second. In [2], the vector field histogram approach is proposed,
We envision this approach to be particularly useful for robots which extends the previously developed virtual force field his-
that travel at even higher speeds and for low-cost robots with fogram [l].This approach uses an occupancy grid representa-
limited motor torques, for which the constraints imposed by tion for modeling the robot’s environment, which is generated
the motion dynamics are even more imperative. and updated continuously using ultrasonic proximity sensors.
The remainder of this paper is organized as follows. After Occupancy information is transformed into a histogram
discussing related work we give the general motion equations description of the free space around the robot, which is used to
for synchro-drive mobile robots. One of the key results here is compute the motion direction and velocity for the robot. As
that trajectories of synchro-drive robots can be approximated noted above, local methods are typically very fast, and they
accurately by finitely many segments of circles. The next sec- quickly adapt to unforeseen changes in the environment.
tion describes our approach, as outlined above. Experimental Most of these local approaches generate motion com-
results are then summarized, followed by a discussion of fur- mands for the robot in two separate stages [l,2, 81. In the
ther research issues. first stage a desired motion direction is determined. In the
second stage the steering commands yielding a motion into
RELATED WORK the desiyed divection are geneuated. Sthctly speaking, such an
The collision avoidance approaches for mobile robots can approach is only justifiable if infinite forces can be asserted on
roughly be divided into two categories: global and local. The the robot. However, for robots with limited accelerations it is
global techniques, such as road-map, cell decomposition and necessary to take into account the impulse of the robot.
potential field methods (see [lo] for an overview and further For example, consider the situation given in Figure 2 and
references), generally assume that a complete model of the suppose that the robot is in a fast straight motion in the corri-
robot’s environment is available. The advantage of global dor while the target point is in the small opening to its right.
approaches lies in the fact that a complete trajectory from the Obviously, the optimal target direction implies a turn to the
starting point to the target point can be computed off-line. right. Without respecting that its forces are not high enough
However, global approaches are not appropriate for fast obsta- to perform the necessary sharp turn the robot would collide
cle avoidance. Their strength is global path planning. Addi- with the wall (right wall 14.By only considering the admissi-
tionally, these methods have proven problematic when the ble velocities in the dynamic window our method detects that
global world model is inaccurate, or simply not available, as is the robot cannot perform the sharp turn. Thus the robot
typically the case in most populated indoor environments. would stay on its current straight trajectory and not collide
Hu/Brady, Moravec and others [5, 111 have shown how to with the wall.
update global world models based on sensory input, using
probabilistic representations. A second disadvantage of global MOTION EQUATIONS FOR A
methods is their slowness due to the inherent complexity of SYNCHRO-DRIVE ROBOT
robot motion planning [12]. This is particularly problematic if This section describes the fundamental motion equations for
the underlying world model changes on the fly, because of the a synchro-drive mobile robot [4]. The derivation begins with
resulting need for repeated adjustments of the global plan. In the correct dynamic laws, assuming that the robot’s transla-
such cases, planning in a global model is usually too expen- tional and rotational velocity can be controlled independently
sive to be done repeatedly. (with limited torques). To make the equations more practical,
Local or reactive approaches, on the other hand, use only we derive an approximation that models velocity as a piece-
a small fraction of the world model to generate robot control. wise constant function in time. Under this assumption, robot
This comes at the obvious disadvantage that they cannot pro- trajectories consist of sequences of finitely many segments of
24 lEEE Robotics &Automation Magazine March 1997
circles. Such representations are very convenient for collision controlled by finitely many acceleration commands. Let n
checking, since intersections of obstacles with circles are easy denote this number of time ticks. Then, the accelerations
to check. We also derive an upper bound for the approxima- ir, and hIfor i = 1 . . . n are kept constant in a time interval
tion error. The piecewise circular representation forms the [t,,t,+l](i = 1 . . . n). Let At: be defined as A t / = t - tl for
basis of the dynamic window approach to collision avoidance, some interval index i = 1. . . n. Using this discrete form, the
described in the next section. dynamic behavior of a synchro-drive robot is expressed by the
following equation, which follows directly from Eq. (3) under
General Motion Equations the assumption of piecewise constant accelerations:
Let x(t) and y ( t ) denote the robot’s coordinate at time t in
some global coordinate system, and let the robot’s orientation
(heading direction) be described by @(t). The triplet uc,y,Bz
describes the kinematic configuration of the robot. The
motion of a synchro-drive robot is constrained in a way such
that the translational velocity U always leads in the steering
direction 6’ of the robot, which is a non-holonomic constraint
[ 101. Let x(to)and x(t,) denote the x-coordinates of the robot Approximate Motion Equations
at time (to)and (tn),respectively. Let v ( t ) denote the transla- While Eq. (4) describes the general case of mobile robot
tional velocity of the robot at time t, and w ( t ) its rotational control, it is not particularly helpful when determining
velocity. Then x(t,) and y(tn)can be expressed as a function of the actual steering direction. This is because the trajecto-
x(to),v ( t )and @(t): ries generated by these equations are complex, and geo-
metric operations such as checks for intersections are
expensive to perform.
To derive a more practical model, we will now simplify
Eq. (4) by approximating the robot’s velocities within a
time interval [t,,fl+l] by a constant value. The resulting
motion equation, Eq.(6), converges to Eq.(4) as the length
of the time intervals goes to zero. As we will see under this
assumption the trajectory of a robot can be approximated
Equations (1) and (2) depend on the velocities of the robot, by piecewise circular arcs. This representation is well-suited
which usually cannot be set directly. for generating motion control in real time, as will be
Instead, the velocity v ( t ) depends on the initial translation- described in the next section, the discussion of the dynamic
al velocity v(to)at to,and the translational acceleration b(I) in window approach.
the time interval P E [tO,t]. Likewise, the orientation @(t) is a If the time intervals [f,, fr+J are sufficiently small, the
function of the initial orientation @(to), the initial rotational term U @ , ) + zj .A; can be approximated by an arbitrary transla-
velocity o(fo) at to,and the rotational accelerationd(t)with I tional velocity q E [ ~ ( t v(t,+J],
,), due to the smoothness of
E [t,t,].Substituting v ( f )and O(t) by the corresponding ini- robot motion in time. Likewise, the term 6’ (t,)+w@,)A;+
tial kinematic and dynamic configuration v(to),@(to), o(to) and ~ be approximated by an arbitrary 0 (t,)+w A;,
z ~ , ( A ; )can I .

the accelerations v ( f )and d (f) yields the expression (notice where w , E [ w ( t , ) ,w ( t t + J ]This
. leads to the following
that the derivation of y(t,) is analogous, thus we only describe motion equation
the derivation for the x-coordinate):
x(tJ = x(tfl)+ 2j;+1
z=O
U,

cos(e(t,)+w, .(i-t,])dj
(5)
which, by solving the integral, can be simplified to

The equations are now in the form that the trajectory of


the robot depends exclusively on its initial dynamic configura-
tion at time to and the accelerations, which we assume to be where
controllable (for most mobile robots the accelerations deter-
mining its motion are monotonic functions of the currents F:(t)=
flowing through the motors [6]. Hence, limits on the currents
directly correspond to limits on the accelerations). !(sine(tr -sin(e(t,) + o,.(t- ))],or# o
Digital hardware imposes constraints as to when one can
set the motor currents (and thus set new accelerations).
Hence, Eq. (3) can be simplified by assuming that between
two arbitrary points in time, to and t,, the robot can only be
lot U, cos(e(t,)).t,w, =o
The corresponding equations for the y-coordinate are:
(7)

March 1997 IEEE Robotics &Automation Magazine 25


mentation).
This completes the derivation of the robot motion. To sum-
marize, we have derived an approximate form that describes
trajectories by sequences of circular arcs, and we have derived
a linear bound on the error due to an approximate assumption
made in the derivation (piecewise constant velocities).
Fyl(t)=
THE DYNAMIC WINDOW APPROACH
In the dynamic window approach the search for commands
U, =o
sin(e(t,)).t,o, controlling the robot is carried out directly in the space of
(9) velocities. The dynamics of the robot is incorporated into the
method by reducing the search space to those velocities
Notice that if w ,= 0, the robot will follow a straight line. which are reachable under the dynamic constraints. In addi-
Conversely, if w , # 0, the robot's trajectory describes a circle, tion to this restriction only velocities are considered which
as can be seen by considering are safe with respect to the obstacles. This pruning of the
search space is done in the first step of the algorithm. In the
second step the velocity maximizing the objective function is
chosen from the remaining velocities. A brief outline of the
different parts of one cycle of the algorithm is given in Figure
3. In the current implementation such a cycle is performed
U
Mi =--L cosO(t,) every 0.25 seconds.
0, In the remainder of this section we will use the situation
(11) shown in Figure 2 to describe the different aspects of the
for which the following relation holds: dynamic window approach.

1.Search space: The search space of the possible velocities is


reduced in three steps:
(12) (a) Circular trajectories: The dynamic window approach consid-
ers only circular trajectories (curvatures) uniquely determined
This shows that the i-tb trajectory is a circle M , about
by pairs (v,w) of translational and rotational velocities. This
(M;,M;,)with radius M; = $.
results in a two-dimensional velocity search space.
Hence, by assuming piecewise constant velocities, we can
(b) Admissible velocities: The restriction to admissible velocities
approximate the trajectory of a robot by a sequence of circular
ensures that only safe trajectories are considered. A pair ( v , ~is)
and straight line arcs.
considered admissible, if the robot is able to stop before it reach-
Notice that, apart from the initial conditions, Equations
es the closest obstacle on the corresponding curvature.
(5) to (9) depend only on velocities. When controlling the
(c) Dynamic window: The dynamic window Yestricts the admis-
robot, however, one is not free to set arbitrary velocities, since
sible velocities to those that can be reached within a short time
the dynamic constraints of the robot impose bounds on the
interval given the limited accelerations of the robot.
maximum deviation of velocity values in subsequent intervals.
2. Optimization: The objective function ,

An Upper Bound on the Approximation Error G ( V , ~=)


Obviously, the derivation makes the approximate assumption
that velocities are piecewise constant within a time interval. o(a.heading(v,w)i-P.dist(v,w)+y.vel(v,w))
This error is bounded linearly in time between control points, (13)
is maximized. With respect to the current position and orientation
ti+,- t, - a fact which will be used below for modeling uncer- of the robot this function trades off the following aspects
tainty in the robot's position.
(a) Target heading: heading is a measure of progress towards the
Consider the errors E: and E;, for the x- and y-coordinate,
goal location. It is maximal if the robot moves directly towards the
respectively, within the time interval [t,, Let At, = t,,, - t,.
target
The deviation in the direction of any of the two axes is maxi-
(b) Clearance: dist is the distance to the closest obstacle on the tra-
mal if the robot moves on a straight trajectory parallel to that
jectory. The smaller the distance to an obstacle the higher is the
axis. Since in each time interval we approximate ~ ( f by ) an
robot's desire to move around it
arbitrary velocity U , E [ ~ ( t ,~) (, t , + an
~ ) upper
] , bound of the
(c) Velocity: vel is the forward velocity of the robot and supports
errors E ; and E:, for (i+l)-th time interval is governed by E;,
fast movements
- ~ ( t I, .Aft,,
E;, 5 Ib(tz+J ) which is linear in At,.
The function 0 smoothes the weighted sum of the three compo-
The reader should notice that this bound applies only to
nents and results in more side-clearance from obstacles
the internal prediction of the robot's position. When execut-
ing control, the location of the robot is measured periodically
with its wheel-encoders (four times a second in our imple- Figure 3. DifferentParts of the Dynamic WindowApproach.

26 IEEE Robotics &Automation Magazine March 1997


e

corresponding curvature (in the next section we describe how


to compute this distance given circular trajectories). A veloci-
ty is considered admissible, if the robot is able to stop before it
reaches this obstacle. Let U , and cbbbe the accelerations for
breakage. Then the set V, of admissible velocities is defined as

I D O deglsec 90deglsec I
Fiaure 4. Velocitu Space. Thus V, is the set of velocities (v,o) which allow the robot to
I vs, A 90 cmlsec I stop without colliding with an obstacle.
Example 1.Again consider the example given in Figure 2. Fig-
ure 4 shows the velocities admissible in this situation given
the accelerafionsvb = 50 cmlsec2 and bb= 60 deglsec? The
dynamic window V, -\ I non- admissible velocities are denoted by the dark shaded
a areas. For example all velocities in area right wall 11would
vr \ c--___ cause a sharp turn to the right and thus cause the robot to
BctZal velocity collide with the right
V.3 wall in the example situ-
ation. The non-admissi-
ble areas are extracted
< __ - - ...- .--
fiom real world proxim-
I J ity information;in this
Figure 5. Dynamic Window.
special case this infor-
Search Space mation was obtained
fvom sonar sensors (see
Circular Trajectories the next section, on
In the section describing the motion equations we showed implementation and
that it is possible to approximate the trajectory of a synchro- experimentation).
drive robot by a sequence of circular arcs. In the remainder of
this paper we will refer to these circles as curvatures. Each Dynamic Window
curvature is uniquely determined by the velocity vector ( U , In order to take into \ actual position
q),which we will simply refer as velocity. To generate a tra- account the limited accel-
jectory to a given goal point for the next n time intervals the erations exertable by the pisure 6. Angle 8 to the Target.
robot has to determine velocities (vz,a,), one for each of the n motors the overall search space is reduced to the dynamic
intervals between to and tn. This has to be done under the window which contains only the velocities that can be
premise that the resulting trajectory does not intersect with reached within the next time interval. Lett be the time inter-
an obstacle. The search space for these vectors is exponential val during which the accelerations v and 6.1 will be applied and
in the number of the considered intervals. let (ua,(o,) be the actual velocity. Then the dynamic window V,
To make the optimization feasible, the dynamic window is defined as
approach considers exclusively the first time interval, and
assumes that the velocities in the remaining n - 1 time inter-
v, =
vals are constant (which is equivalent to assuming zero accel- [(V,CO)~U22[Vo- b . f , V , + b . f ] A oE[O, - b.f,o,+ 0.
f]].
erations in [t,,t,.]) This reduction is motivated by the (15)
observations that: (a) the reduced search space is two-dimen-
sional and thus tractable; (b) the search is repeated after each The dynamic window is centered around the actual velocity
time interval; and (c) the velocities will automatically stay and the extensions of it depend on the accelerations that can
constant if no new commands are given. be exerted. All curvatures outside the dynamic window cannot
be reached within the next time interval and thus are not con-
Admissible Velocities sidered for the obstacle avoidance.
Obstacles in the closer environment of the robot impose Example 2. An exemplary dynamic window obtained in the
restrictions on the rotational and translational velocities. For situation shown in Figure 2 given accelerations of 50
example, the maximal admissible speed on a curvature cmlsec2 and 60 deglse? and a time interval of 0.25 sec is
depends on the distance to the next obstacle on this curva- shown in Figure 5. The two dotted arrows pointing to the
ture. Assume that for a velocity (u,w) the term dist(v,u)repre- corners of the rectangle denote the most extreme curva-
sents t h e distance t o t h e closest obstacle on t h e tures that can be reached.

March 1997 IEEE Robotics &Automation Magazine 27


r target heading -
velocity -

1
1
0.5
90 05
0
90
0
-90 \ /trans velocity [cmisec]
-90 rans. velocity [cm/sE

rot. velocity [degkec] 45-


Fiqure 7.Eualuation of the Tarqet Headins.
Figure 9. Evaluation of the Velocities.

-
I evaluation function

1
90
0

-90 ] velocity [cmisec] -90 ns velocity [cmisec]

rot velocity [degisec] rot. velocity [degisec] 45-

Vigure8. Eualuation of the Distances. Figure 10. Combined Evaluation Function.

Resulting Search Space that the robot moves with the selected velocity during the
The above given restrictions imposed on the search space for next time interval. For a realistic measurement of the target
the velocities result in the area V , within the dynamic win- heading we have to consider the dynamics of the rotation.
dow. Let V, be the space of possible velocities, then the area V, Therefore, 0 is computed at the position, which the robot will
is defined as the intersection of the restricted areas, namely, reach when exerting maximal deceleration after the next
interval. This yields a smooth turning to the target in the
behavior of the robot when it has circumvented an obstacle.
Example 3. Figure 7shows the evaluation of the target head-
ing for the different velocities in the example situation. In
In Figure 5 the resulting search space is represented by the this figure and the following figures the values for nonad-
white area. missible velocities are set to zero (compare with Figures 2
and 4). For clarity we show the evaluation of the whole
Maximizing the Objective Function velocity space and do not restrict it to the dynamic win-
After having determined the resulting search space V, a veloc- dow. The non-linearity o f the function in Figure 7 is
ity is selected from V,. In order to incorporate the criteria tar- caused by the consideration o f the dynamics in the deter-
get heading, clearance, and velocity, the maximum of the mination o f the predicted position. Because positive rota-
objective function tional uelocitia yield cuwatures to the right we find the
best velocities on the right side of the velocity space. The
G(v,o) = o(a heading(v,o) + p.dist(v,o) + y .velocity(v,co)) optimal velocities are those leading to a perfect heading
to the target on the predicted position. The function
is computed over V,. This is done by discretization of the declines for euen higher rotational velocities, because
resulting search space. they yield a fuming beyond the target.

Target Heading Clearance


The target heading heading(v,w) measures the alignment of The function dist(v,o) represents the distance to the closest
the robot with the target direction. It is given by 180-0, where obstacle that intersects with the curvature. If no obstacle is on
0 is the angle of the target point relative to the robot’s head- the curvature this value is set to a large constant.
ing direction (see Figure 6). Since this direction changes with Example 4. The evaluation of the distances as given in Figure
the different velocities, 8 is computed for a predicted position 8 solely depends on the proximity information about
of the robot. To determine the predicted position we assume obstacles around the robot. In the given plot one can find

28 IEEE Robotics &Automation Magazine March 1997


smoothed evaluation function -
I I
dynamic window (70,O)-

25
15
05
0
-0.5 90

-90 ns. velocity [cmlsec]


velocity
rot.-45 0- [deg/sec]
3
rot. velocity [deg/sec] 45 WO

figure 11. Objective Function. Figure 13. Objective Function for Actual Velocity (75,O).
dynamic window (40,O) -

2
1
0
90

--v,,,,/~ trans. velocity [cmlsec]

i90 deglsec 90 deglsec


rot. velocity [deglsec] 45v
FQure 12. Velocity Space. Figure 14. Objective Function for Actual Velocity (440).

low evaluations for those curvatures which lead to the the best velocity was carried out in two steps. In the first step
walls. For higher translational velocities these values fall only the curvature was chosen. This was done by evaluating
into the non-admissible areas and are thus set to zero. the target angle and the so-called “n-sec-rule,” namely, a lin-
ear function of the clearance. In the second step the velocity
Velocity on this curvature was maximized. Although the resulting
The function velocity (v,o)is used to evaluate the progress of behavior of the robot was the same, we decided to use this
the robot on the corresponding trajectory. It is simply a projec- single step evaluation of the objective function. We adopted
tion on the translational velocity U , as can be seen in Figure 9. the idea for this representation from [13].

Smoothing Role of the Dynamic Window


All three components of the objective function are normalized In the previous section we introduced the objective function
to [0,1]. The weighted sum of these components is shown in to be maximized for smooth and goal directed behavior. For
Figure 10. It is obtained by a value of 2.0 for a and a value of illustration purposes we always showed the evaluation for the
0.2 for p and y. As expected the fastest trajectory leading whole velocity space. As mentioned previously this space is
through the door area gets the highest evaluation (compare reduced to the admissible velocities in the dynamic window.
with Figure 4). Smoothing increases side-clearance of the In this section we describe how the robot respects the dynam-
robot. The resulting objective function is shown in Figure ics by this restriction. We discuss the dependency of the
11 and the position of the maximal value is depicted by the behavior on different velocities and accelerations. In both
vertical line. examples the time interval determining the dynamic window
It should be noticed that all three components of G-the is fixed to 0.25 seconds.
target heading, the clearance and the velocity-are necessary.
By maximizing solely the clearance and the velocity, the robot Role of the Current Velocity
would always travel into free space but there would be no In this example we show how the behavior changes with the
incentive to move towards a goal location. By solely maximiz- current velocities. We assume accelerations of 50 cdsec2 and
ing the target heading the robot quickly would get stopped by 60 deg/sec2. Figure 12 shows the dynamic windows V,, and V,
the first obstacle that blocks its way, unable to move around given straight motion with translational velocities of 75 and 40
it. By combining all three components, the robot circumvents cdsec, respectively. In Figures 13 and 14 the objective function
collisions as fast as it can under the constraints listed above, is shown for the dynamic windows. Velocities outside the
while still making progress towards reaching its goal. dynamic windows have an evaluation of -1.
In a former version of our approach (see [3])the search for In the first case, where the current velocity is 75 c d s e c ,

March 1997 IEEE Robotics &Automation Magazine 29


the robot moves too fast to perform the sharp turn to the
/T\ 60 cm/sec right necessary to drive through the open door. This is
reflected in Figure 13 by the fact that the velocities resulting
in a turn to the right are not admissible. Among the velocities
in the dynamic window the velocity with maximal evaluation
yields straight motion, as denoted by the vertical line in Fig-
ure 13 and by the cross mark at the top of V,, in Figure 12.
If in contrast the current velocity is 40 c d s e c , the dynam-
ic window V, includes curvatures leading through the door
(see Figures 12 and 14). Due to the better evaluation of the
angle and the distance the chosen velocity is the one yielding
the most extreme turn to the right.

-50 deglsec 50 deglsec- Dependency on the Accelerations


Figure 15,Dynamic Window for Low Accelerations. The restricted search space, the evaluation function, and the
dynamic window also depend on the given accelerations. Con-
smoothed evaluation - sider the velocity space for the example with accelerations of
20 cm/sec2and 30 deg/sec2as illustrated in Figure 15. Because
of the small accelerations the space of admissible velocities is
smaller than in Figure 4. Therefore, we only consider veloci-
ties up to 60 cm/sec and 50 deg/sec. The dynamic window for
straight motion with a translational velocity of 40 c d s e c is
represented by the white area. The size of this window is
reduced as it depends on the accelerations.
Figure 16 contains the objective function of the entire
velocity space. The evaluation of the space restricted to the
velocities in the dynamic window is shown in Figure 17.
Again the robot is too fast for a sharp turn into the door and
the velocity with straight motion has the maximal evaluation
(compare to Figure 13).
Figure 16. ObjectiveFunction for Low Accelerations.
IMPLEMENTATION AND
dynamic window (40,O) - EXPERIMENTAL RESULTS
RHINO
The dynamic window approach has been implemented and
tested using the robot RHINO, which is a synchro-drive robot
2
1
currently equipped with a ring of 24 Polaroid ultrasonic sen-
0
sors, 56 infrared detectors, and a stereo camera system.
50 Because the main beam width of an ultrasonic transducer is
approximately 15", the whole 360" area surrounding the
-50 robot can be measured with one sweep of all sensors. A com-
plete sonar sweep takes approximately 0.4 sec.
rans. velocity [cm/sec]
rot. velocity [deg/sec] 25 vo The Obstacle Line Field
Figure 17. Objectiuefinction in Dynamic Window. As local world model we use an obstacle line field [ 3 ] ,which is
a two-dimensional description of sensory data relative to the
robot's position (see Figure 18). We adjusted our sonar sen-
sors such that most erroneous readings indicate a too long
distance. To be maximally conservative, every reading is con-
verted to an obstacle line. If the sensors would produce spuri-
obstacle lines
robot ous s h o r t readings (e.g., d u e t o cross-talk), m o r e
sophisticated sensor interpretation and integration models
such as for example occupancy probability grid maps 1111
would be required.
The obstacle line field is centered around the robot's posi-
tion and is built out of the data gathered by proximity sensors.
It contains a line for each reading of a sonar sensor, which is
Figure 18. Example Environment with Obstacle Lines and Target Point. perpendicular to the main axis of the sensor beam at the mea-

30 IEEE Robotics &Automation Magazine March 1997


dynamic window approach. In the following figures the envi-
ronment is drawn by hand. Nonetheless each diagram is an
actual experiment and all shown trajectories are extracted
from real position data. Each of these examples show the
- and let y be t h e complete path to a particular goal point, which in our tests is
/ angle between the set by a human operator. In the every-day use, these goal
intersection with points are set automatically by a global path planner
the obstacle line described in [14, 15, 161.
and the position
of the robot (see Parameter Settings
Figure 19). Then Although the performance of the obstacle avoidance depends
the distance to the on the weighting parameters a, p, and y, it is stable against
next obstacle is slight changes of their values. Without any exhaustive tuning
given byy .r. of these parameters we found values of 0.8, 0.1, and 0.1 for a,
1 To allow t h e
robot to react
p, and y to give good results. The alignment of the robot with
the target point is mainly determined by the ratio between a
I
quickly to changes and the other two parameters. Very low values of the target
I
Figure 19. Determination of the Distance ' in t h e environ- heading weight a give the robot much freedom in moving
m e n t , we l i m i t around obstacles. At the same time they may detain the robot
the number of lines to 72 and apply a first-in-first-out strat- from reaching target points behind narrow openings if sen-
egy to remove the least actual lines from the obstacle line sors with low angular resolution are used (e.g., ultrasonic
field. We found these values to allow the robot to travel sensors). This is because the robot turns away from the open-
safely even with speeds of up to 95 c d s e c , while simultane- ing before its sensors are able to detect it. On the other
ously keeping the computational time within 0.25 sec on an extreme, a high heading weight forces the robot to approach
i486 computer. objects very closely before turning away, which prohibits
smooth circumvention of obstacles.
Further Implementation Details By choosing different values for a global knowledge about
The following additional strategies improved the maneuver- the environment can be transfered to the local obstacle avoid-
ability and the elegance of robot motion. Since thev are not
essential for the approach proposed in this paper, we-will only
sketch them here.
1 Im, 1
70 cmisec - 50 cmisec', 60 degisec'
1
Rotate away mode. In rare cases we observed that the robot 40 cmisec - 50 cmisecz, 60 deg/sec'
40 cmisec - 20 cmisec', 30 degisec'
got stuck in local minima. This is the case if no admissible ~

Decision area
trajectory allows the robot to translate. When this condi-
tion occurs. which is easilv detected. the robot rotates -
away from the obstacle untifit is able to translate again.
Speed dependent side clearance. To adapt the speed of
I 11
the robot according to the side clearance to obstacles
we introduced a safety margin around the robot, which
grows linearly with the robot's translational velocity. Figure 20. Trajectories Chosen for Diferent Dynamic Parameters.
Thus the robot will travel with high speed through cor-
ridors and will decelerate when driving through nar-
row doors. Simultaneously, possible deviations coming
1 - 1
from the approximation error described earlier in the
section on the upper bound on the approximation error
are respected.

Experimental Results
Based on the dynamic window approach to collision avoid-
ance, RHINO has been operated safely in various environ- Figure 21. Trajectory Throuyh Corridor.
ments over t h e last 2 years. Its maximum velocity is
constrained by the hardware to approximately 95 cm/sec.
ll I
Im,
RHINO reaches this velocity in large openings and hallways, if _ - - _ -
no obstacles block its way. If obstacles block its way, slower
velocities are selected, and collisions are avoided by selecting
appropriate trajectories. For example, when moving through man
I-
.-
I
I

doors, RHINO typically decelerates to approximately 20 cm I L11

March 1997 IEEE Robotics &Automation Magazine 31


ance. While higher values produce good results in narrow
environments, smaller values are more appropriate in wide
and populated hallways.

Role of the Dynamic Window


The first experiment demonstrates the influence of the
dynamic window on the behavior of the robot. The three
paths in Figure 20 are examples for the typical behavior of the
robot under different dynamics constraints (for the velocities
and accelerations we used the same values as in the discus-
sion in the previous section.). The crucial point of the experi-
ment is the path taken in the dark shaded decision area. In
this area the robot detects the opening to its right and has to
decide whether to take the sharp turn to the right or not. This
decision strongly depends on the dynamics of the robot. Only
if the actual velocity and the possible accelerations allow a
sharp turn to the right, the robot directly moves to the target
point. This trajectory is denoted by the dashed line. In the
other two cases the robot decides to pass the opening and
moves parallel to the wall until the evaluation of the target
heading angle (u,o) becomes very small.
Notice that without considering the dynamic constraints,
an attempt to turn right would have almost certainly resulted
in a collision with a wall. In fact, in initial experiments with a
simulator, in which we ignored some of the dynamic effects,
we experienced these type collisions frequently.
Figure 23. Run ai the AAAl'94 Mobile Robot Competition,
Straight Motion In Corridors
Figure 21 shows an example of traveling along a hallway ronment can have an enormous impact on the difficulty of
with only one obstacle in the middle of the hallway. In this the problem. For example, in a configuration similar to the
case RHINO first orients itself to the target point. But then ones shown in Figures 21 and 22 Borenstein et al. report
the obstacle is detected and the robot chooses a smooth tra- that their robot traveled with an average speed of 58 cm/sec
jectory avoiding the obstacle. Although RHINO slows down through a cluttered environment [I, 21. As far as it can be
to 55 cm/sec before passing the obstacle, the average speed judged from a single example (which is all that is available
in this experiment was approximately 72 cm/sec. It should in [l,a]),our results compare favorably to those of Boren-
be noted that after having driven round the obstacle RHINO stein et al.
follows straight lines whenever possible, and does not oscil-
late, as sometimes is the case with other approaches. DISCUSSION
We have described an approach to collision avoidance for
Fast Motion through Cluttered Environment mobile robots equipped with synchro-drives. Based on the
The third experiment is shown in Figure 22 and involves exact motion equations of such robots, it derives an approxi-
traveling through a cluttered corridor. All humans in the mate version t h a t models robot trajectories by finite
corridor are smoothly circumvented with a maximal speed sequences of circular arcs. The dynamic window approach
of 95 cm/sec. Notice that although the robot decelerates to first prunes the overall search space by considering only the
less than 20 cm/sec when passing the narrow passage (less next steering command. This results in a two-dimensional
than 80 cm wide) between the fourth person and the open search space of circular trajectories. After that, the search
door, it still maintains an average speed of 65 cm/sec! space is reduced to the admissible velocities allowing the
robot to stop safely without colliding with an obstacle. Final-
The AAA/ '94 Mobile Robot Competition ly, the dynamic window restricts the admissible velocities to
The next trajectory was generated in the arena of the AAA1 those that can be reached within a short time interval given
'94 mobile robot competition. Figure 23 shows a plot of the the limited accelerations of the robot. This way we make
occupancy map of the arena and the trajectory of the robot. sure that the dynamics constraints are taken into account.
Here the robot moved free of collisions in an artificial indoor The robot constantly picks a trajectory at which it can maxi-
environment during an exploration run. The target points mize its translational velocity and the distance to obstacles,
for the collision avoidance were generated by a global plan- yet minimize the angle to its goal relative to its own heading
ning algorithm. Doors were approximately 80-110 cm wide. direction. This is done by maximizing the objective function.
It is generally difficult to compare the results described The experiments show that the combination of all objec-
here t o results obtained by other researchers, mainly tives leads to a very robust and elegant collision avoidance
because robots vaYy in sizes, and small changes in the envi- strategy which safely operates our robot RHINO with speeds

32 IEEE Robotics &Automation Magazine March 1997


of up to 95 c d s e c . RHINO, a B21 mobile robot, frequently Dr. Wolfram Burgard is a research associate
operates in our university building without human superv- at the University of Bonn. He received his
sion. The approach described here is only part of the overall Ph.D. in computer science at the University
architecture. For example, approaches to building occupancy of Bonn in 1991 and a master’s degree from
maps, global path planning and computer vision are surveyed the University of Dortmund. His scientific
in [3, 15, 161. research focuses on applications of artificial
In principle, the approach proposed here only assumes intelligence and robotics.
geometric information about the relative location of obsta-
cles. Therefore, it is well-suited for proximity sensors such
as ultrasonic transducers, which were used in the experi- REFERENCES
ments reported here, or such as laser range-finders. In [l] Borenstein, J. and Koren, Y. Real-time obstacle avoidance for fast
some preliminary tests we also used camera and infrared mobile robots in cluttered environments. In Proc. IEEE Int. Coni!
sensors for the detection of obstacles. Knowing the geome- Robotics and Automation,volume CH-2876, pages 572-577,1990.
try of the robot and the angle of its camera, pixel informa- 121 Borenstein, J. and Koren, Y. The vector field histogram - fast obstacle
avoidance for mobile robots. IEEE Transaclions on Robotics and
tion is converted to proximity information. However, the
Automation, 7(3):278-288,1991.
resulting proximity estimate is only accurate if an obstacle
[3] Buhmann, J., Burgard, W., Cremers, A.B., Fox, D., Hofmann, T.,
touches the floor. Obstacles in different heights lead to an Schneider, F., Strikos, J., and Thrun, S. The mobile robot Rhino. AI
overestimation of distance, which may cause the robot to Magazine, 16(1), 1995.
collide. Stereo vision might potentially overcome this [4] Feng, L., Borenstein, J., and Everett, H.R. “Where am I?” Sensors and
problem. The result with infrared detectors suffered from Methods for Autonomous Mobile Robot Positioning. Technical
the fact that RHINO’S detectors have only a small range of Report UM-MEAM-94-21, University of Michigan, December 1994.
view (< 30 cm). Therefore, when moving at a high speed [5] Hu, H. and Brady, M. A bayesian approach to real-time obstacle avoid-
the robot may collide nonetheless. Combining either of the ance for a mobile robot. In Autonomous Robots, volume 1, pages 69-
two sensor systems with ultrasonic measurements, howev- 92. Kluwer Academic Publishers, Boston, 1994.
er, consistently improved the smoothness of the robot’s [6] Jones, J.L.and Flynn, A.M. Mobile Robots: Inspiration to Implementa-
trajectories. tzon. A K Peters, Ltd., 1993. ISBN 1-56881-011-3.
[7] Khatib, M. and Chatila, R. An extended potential field approach for
ACKNOWLEDGMENT mobile robot sensor-based motions. In Proc. International Confer-
The authors thank Thomas Hofmann and the other mem- ence on Intelligent Autonomous Systems (IAS’4),1995.
bers of the RHINO team for insightful discussion, help and [SI Khatib, 0. Real-time obstacle avoidance for robot manipulator and
mobile robots. The International Journal of Robotics Research,
advice. 5(1):90-98,1986.
One author (Sebastian Thrun) is sponsored in part by the
[9] Koren, Y. and Borenstein, J. Potential field methods and their inher-
National Science Foundation under award IRI9313367, and ent limitations for mobile robot navigation. In Proc. IEEE Int. Coni!
by the Wright Laboratory, Aeronautical Systems Center, Air Robotics andilufomalion,April 1991.
Force Materiel Command, USAF, and the Defense Advanced [ 101 Latombe, J. Robot Motion Planning. Kluwer Academic Publishers,
Research Projects Agency (DARPA) under grant number Boston, MA, 1991. ISBN 0-7923-9206-X.
F33615-93-1-1330. The views and conclusions contained in 1111 Moravec, H.P. Sensor fusion in certainty grids for mobile robots. AI
this document are those of the authors and should not be Magazine, pages 61-74, Summer 1988.
interpreted as necessarily representing official policies or 1121 Schwartz, J T., Scharir, M., and Hoperoft, J. Planning, Geometry and
endorsements, either expressed or implied, of NSF, Wright Complexity of Robot Motion. Ablex Publishing Corporation, Nor-
Laboratory or the United States Government. wood, NJ, 1987.
[13] Simmons, R. The curvature-velocity method for local obstacle avoid-
Dieter Fox received a Bachelor’s degree in ance. In Proc. IEEE Int. C o d Robotics andilutornation,1996.
1990 and a Masters’s degree in 1993, both [14] Thrun, S Exploration and model building in mobile robot domains.
from the University of Bonn. Currently, he In Proceedings of the IC”-93, pages 175-180, San Francisco, CA,
is enrolled in the Ph.D. program in com- 1993. IEEE Neural Network Council.
puter science at the University of Bonn. His [15] Thrun, S. and Bucken, A. Integrating grid-based and topological
maps for mobile robot navigation In Proceedings o f the 13fh
main scientific interests pertaining robot-
National Conferenceon ArtificialIntelligence M - 9 6 , 1996.
ics are in collision avoidance, exploration,
[16] Thrun, S., Bucken, A., Burgard, W., Fox, D., Frohlinghaus, T., Hen-
and position estimation. nig, D., Hofmann, T., Krell, M., and Schimdt, T. Map learning and
high-speed navigation in RHINO. In D. Kortenkamp, R.P. Bonasso,
Dr. Sebastian Thrun is a Research Scientist and R. Murphy, editors, AI-basedMobile Robots. Case studies ofsuc-
in the Computer Science Department and cessful robot systems MIT Press, Cambridge, MA, to appear.
the Robotics Institute at Carnegie Mellon
University. Thrun received his Ph.D from
the University of Bonn in 1995. His scien-
tific interests lie in the area of artificial
intelligence, machine learning, and com-
puters on wheels.

March 1997 IEEE Robotics &Automation Magazine 33

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy