1997 - The Dynamic Window Approach To Collision Avoidance
1997 - The Dynamic Window Approach To Collision Avoidance
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
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.
1
1
0.5
90 05
0
90
0
-90 \ /trans velocity [cmisec]
-90 rans. velocity [cm/sE
-
I evaluation function
1
90
0
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.
25
15
05
0
-0.5 90
figure 11. Objective Function. Figure 13. Objective Function for Actual Velocity (75,O).
dynamic window (40,O) -
2
1
0
90
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].
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