23

Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

Embed Size (px)

Citation preview

Page 1: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

The Dynamic Window Approach to Collision Avoidance

Dieter Foxy Wolfram Burgardy Sebastian Thrunyz

yDept. of Computer Science III, University of Bonn, D-53117 Bonn, Germany

zDept. of Computer Science, Carnegie Mellon University, Pittsburgh, P A 15213

Email: ffox,[email protected], [email protected]

Abstract

This paper describes the dynamic window approach to reactive collision avoidance

for mobile robots equipped with synchro-drives. The approach is derived directlyfrom the motion dynamics of the robot and is therefore particularly well-suited for

robots operating at high speed. It di�ers from previous approaches in that the searchfor commands controlling the translational and rotational velocity of the robot iscarried out directly in the space of velocities. The advantage of our approach is that

it correctly and in an elegant way incorporates the dynamics of the robot. This is doneby reducing the search space to the dynamic window, which consists of the velocities

reachable within a short time interval. Within the dynamic window the approach onlyconsiders admissible velocities yielding a trajectory on which the robot is able to stop

safely. Among these velocities the combination of translational and rotational velocityis chosen by maximizing an objective function. The objective function includes a

measure of progress towards a goal location, the forward velocity of the robot, andthe distance to the next obstacle on the trajectory. In extensive experiments the

approach presented here has been found to safely control our mobile robot RHINOwith speeds of up to 95 cm/sec, in populated and dynamic environments.

1 Introduction

One of the ultimate goals of indoor mobile robotics research is to build robots that cansafely carry out missions in hazardous and populated environments. For example, aservice-robot that assists humans in indoor o�ce environments should be able to reactrapidly to unforeseen changes, and perform its task under a wide variety of external cir-cumstances. Most of today's commercial mobile devices scale poorly along this dimension.Their motion planning relies on accurate, static models of the environments, and thereforethey often seize to function if humans or other unpredictable obstacles block their path.To build autonomous mobile robots one has to build systems that can perceive their envir-onments, react to unforeseen circumstances, and (re)plan dynamically in order to achievetheir missions.

1

Page 2: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

This paper focuses on one particular aspect of the design of such a robot: the reactiveavoidance of collisions with obstacles. The dynamic window approach proposed in thispaper is especially designed to deal with the constraints imposed by limited velocitiesand accelerations, because it is derived directly from the motion dynamics of synchro-drive mobile robots. In a nutshell, our approach considers periodically only a short timeinterval when computing the next steering command to avoid the enormous complexity ofthe general motion planning problem. The approximation of trajectories during such a timeinterval by circular curvatures results in a two-dimensional search space of translationaland rotational velocities. This search space is reduced to the admissible velocities allowingthe robot to stop safely. Due to the limited accelerations of the motors a further restrictionis imposed on the velocities: the robot only considers velocities that can be reached withinthe next time interval. These velocities form the dynamic window which is centred aroundthe current velocities of the robot in the velocity space.

Among the admissible velocities within the dynamic window the combination of transla-tional and rotational velocity is chosen by maximizing an objective function. The objectivefunction includes a measure of progress towards a goal location, the forward velocity ofthe robot, and the distance to the next obstacle on the trajectory. By combining these,the robot trades o� its desire to move fast towards the goal and its desire to ship aroundobstacles (which decrease the free space). The combination of all objectives leads to avery robust and elegant collision avoidance strategy.

Figure 1. The robot RHINO, an RWI B21.

The dynamic window approach has been implemented and tested using RHINO, aB21 robot manufactured by Real World Interface Inc. (see Figure 1), and other synchro-drive robots. In extensive experimental evaluations using ultrasonic proximity sensors

2

Page 3: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

for the construction of local world models (obstacle line �elds), the method has provento avoid collisions reliably with speeds of up to 95 cm/sec on several robots in severalindoor environments (University of Bonn, Carnegie Mellon University, 1994 AAAI robotcompetition, 1995 IJCAI robot exhibition, and others, see also [3]). The method has alsosuccessfully been operated based on cameras and infrared detectors as sensory input.

Our approach di�ers from previous approaches in (a) that it is derived directly fromthe motion dynamics of a mobile robot, (b) it therefore takes the inertia of the robotinto account { which is particularly important if a robot with torque limits travels at highspeed {, and (c) has safely controlled several RWI robots in various cluttered and dynamicenvironments with speeds of up to 95 centimeter per second. We envision this approach tobe particularly useful for robots that travel at even higher speeds and for low-cost robotswith limited motor torques, for which the constraints imposed by the motion dynamicsare even more imperative.

The remainder of this paper is organized as follows. After discussing related workSection 3 gives the general motion equations for synchro-drive mobile robots. One of thekey results here is that trajectories of synchro-drive robots can be approximated accuratelyby �nitely many segments of circles. Section 4 describes our approach, as outlined above.Experimental results are summarized in Section 5, followed by a discussion of furtherresearch issues.

2 Related Work

The collision avoidance approaches for mobile robots can roughly be divided into twocategories: global and local. The global techniques, such as road-map, cell decompositionand potential �eld methods (see [10] for an overview and further references), generallyassume that a complete model of the robot's environment is available. The advantage ofglobal approaches lies in the fact that a complete trajectory from the starting point to thetarget point can be computed o�-line. However, global approaches are not appropriatefor fast obstacle avoidance. Their strength is global path planning. Additionally, thesemethods have proven problematic when the global world model is inaccurate, or simplynot available, as is typically the case in most populated indoor environments. Hu/Brady,Moravec and others [5, 11], have shown how to update global world models based on sens-ory input, using probabilistic representations. A second disadvantage of global methodsis their slowness due to the inherent complexity of robot motion planning [12]. This isparticularly problematic if the underlying world model changes on-the- y, because of theresulting need for repeated adjustments of the global plan. In such cases, planning in aglobal model is usually too expensive to be done repeatedly.

Local or reactive approaches, on the other hand, use only a small fraction of the worldmodel, to generate robot control. This comes at the obvious disadvantage that they cannotproduce optimal solutions. Local approaches are easily trapped in local minima (such asU-shaped obstacle con�gurations). However, the key advantage of local techniques overglobal ones lies in their low computational complexity, which is particularly important

3

Page 4: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

when the world model is updated frequently based on sensor information. For example,potential �eld methods, as proposed by [8], determine the steering direction by (hypothet-ically) assuming that obstacles assert negative forces on the robot, and that the targetlocation asserts a positive force. These methods are extremely fast, and they typicallyconsider only the small subset of obstacles close to the robot. Borenstein and Koren [9]identi�ed that such methods often fail to �nd trajectories between closely spaced obstacles;they also can produce oscillatory behavior in narrow corridors. An extended version ofthe potential �eld approach is introduced in [7]. By modifying the potential function themotion of the robot becomes more e�cient and di�erent behaviors such as wall followingand tracking can be achieved.

In [2], the vector �eld histogram approach is proposed, which extends the previouslydeveloped virtual force �eld histogram [1]. This approach uses an occupancy grid repres-entation for modeling the robot's environment, which is generated and updated continu-ously using ultrasonic proximity sensors. Occupancy information is transformed into ahistogram description of the free space around the robot, which is used to compute themotion direction and velocity for the robot. As noted above, local methods are typicallyvery fast, and they quickly adapt to unforeseen changes in the environment.

1m

robot

target

right wall I right wall II

left wall

Figure 2. Example situation

Most of these local approaches generate motion commands for the robot in two separatestages [1, 2, 8]. In the �rst stage a desired motion direction is determined. In the secondstage the steering commands yielding a motion into the desired direction are generated.Strictly speaking, such an approach is only justi�able if in�nite forces can be assertedon the robot. However, for robots with limited accelerations it is necessary to take intoaccount the impulse of the robot.

For example consider the situation given in Figure 2 and suppose that the robot isin a fast straight motion in the corridor while the target point is in the small openingto its right. Obviously, the optimal target direction implies a turn to the right. Withoutrespecting that its forces are not high enough to perform the necessary sharp turn the robotwould collide with the wall (right wall II ). By only considering the admissible velocitiesin the dynamic window our method detects that the robot cannot perform the sharp turn.Thus the robot would stay on its current straight trajectory and not collide with the wall.

4

Page 5: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

3 Motion Equations for a Synchro-Drive Robot

This section describes the fundamental motion equations for a synchro-drive mobile robot[4]. The derivation begins with the correct dynamic laws, assuming that the robot's trans-lational and rotational velocity can be controlled independently (with limited torques). Tomake the equations more practical, we derive an approximation that models velocity as apiecewise constant function in time. Under this assumption, robot trajectories consist ofsequences of �nitely many segments of circles. Such representations are very convenientfor collision checking, since intersections of obstacles with circles are easy to check. Wealso derive an upper bound for the approximation error. The piecewise circular represent-ation forms the basis of the dynamic window approach to collision avoidance, describedin Section 4.

3.1 General Motion Equations

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 hx; y; �idescribes the kinematic con�guration of the robot. The motion of a synchro-drive robotis constrained in a way such that the translational velocity v always leads in the steeringdirection � of the robot, which is a non-holonomic constraint [10]. Let x(t0) and x(tn)denote the x-coordinates of the robot at time t0 and tn, respectively. Let v(t) denote thetranslational velocity of the robot at time t, and !(t) its rotational velocity. Then x(tn)and y(tn) can be expressed as a function of x(t0), v(t) and �(t):

x(tn) = x(t0) +Z tn

t0

v(t) � cos �(t) dt (1)

y(tn) = y(t0) +Z tn

t0

v(t) � sin �(t) dt (2)

Equations (1) and (2) depend on the velocities of the robot, which usually cannot beset directly. Instead, the velocity v(t) depends on the initial translational velocity v(t0)at t0, and the translational acceleration _v(t̂) in the time interval t̂ 2 [t0; t]. Likewise, theorientation �(t) is a function of the initial orientation �(t0), the initial rotational velocity!(t0) at t0, and the rotational acceleration _!(t̂) with t̂ 2 [t0; t]. Substituting v(t) and �(t)by the corresponding initial kinematic and dynamic con�guration v(t0); �(t0); !(t0) andthe accelerations _v(t̂) and _!(t̂) yields the expression1 :

x(tn) = x(t0) +Z tn

t0

�v(t0) +

Z t

t0

_v(t̂) dt̂�� cos

��(t0) +

Z t

t0

�!(t0) +

Z t̂

t0

_!(~t) d~t�dt̂

�dt (3)

The equations are now in the form that the trajectory of the robot depends exclusivelyon its initial dynamic con�guration at time t0 and the accelerations, which we assume

1Notice that the derivation of y(tn) is analogous, thus we only describe the derivation for the x-coordinate.

5

Page 6: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

to be controllable (for most mobile robots the accelerations determining its motion aremonotonic functions of the currents owing through the motors [6]. Hence, limits on thecurrents directly correspond to limits on the accelerations).

Digital hardware imposes constraints as to when one can set the motor currents (andthus set new accelerations). Hence, Eq. (3) can be simpli�ed by assuming that betweentwo arbitrary points in time, t0 and tn, the robot can only be controlled by �nitely manyacceleration commands. Let n denote this number of time ticks. Then, the accelerations _viand _!i for i = 1 : : : n are kept constant in a time interval [ti; ti+1] (i = 1 : : : n). Let �i

t and�i

t̂be de�ned as �i

t = t� ti and �it̂= t̂� ti for some interval index i = 1 : : : n. Using this

discrete form, the dynamic behavior of a synchro-drive robot is expressed by the followingequation, which follows directly from Eq. (3) under the assumption of piecewise constantaccelerations:

x(tn) = x(t0) +n�1Xi=0

Z ti+1

ti

�v(ti) + _vi ��

it

�� cos

��(ti) + !(ti) ��

it +

1

2_!i � (�

it)2

�dt (4)

3.2 Approximate Motion Equations

While Eq. (4) describes the general case of mobile root control, it is not particularly helpfulwhen determining the actual steering direction. This is because the trajectories generatedby these equations are complex, and geometric operations such as checks for intersectionsare expensive to perform.

To derive a more practical model, we will now simplify Eq. (4) by approximating therobot's velocities within a time interval [ti; ti+1] by a constant value. The resulting motionequation, 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 bypiecewise circular arcs. This representation is well-suited for generating motion control inreal time, as described in Section 4

If the time intervals [ti; ti+1] are su�ciently small, the term v(ti)+ _vi ��it can be approx-

imated by an arbitrary translational velocity vi 2 [v(ti); v(ti+1)], due to the smoothness ofrobot motion in time. Likewise, the term �(ti)+!(ti)+

1

2_!i(�i

t)2 can be approximated by

an arbitrary �(ti) + !i ��it, where !i 2 [!(ti); !(ti+1)]. This leads to the following motion

equation

x(tn) = x(t0) +n�1Xi=0

Z ti+1

ti

vi � cos (�(ti)+!i � (t̂� ti)) dt̂ (5)

which, by solving the integral, can be simpli�ed to

x(tn) = x(t0) +n�1Xi=0

(F ix(ti+1)) (6)

where

F ix(t) =

(vi!i(sin �(ti)� sin(�(ti) + !i � (t� ti))); !i 6= 0

vi cos(�(ti)) � t; !i = 0(7)

6

Page 7: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

The corresponding equations for the y-coordinate are:

y(tn) = y(t0) +n�1Xi=0

(F iy(ti+1)) (8)

F iy(t) =

(� vi

!i(cos �(ti)� cos(�(ti) + !i � (t� ti))); !i 6= 0

vi sin(�(ti)) � t; !i = 0(9)

Notice that if !i = 0, the robot will follow a straight line. Conversely, if !i 6= 0, therobot's trajectory describes a circle, as can be seen by considering

M ix = �

vi

!i

� sin �(ti) (10)

M iy =

vi

!i

� cos �(ti) (11)

for which the following relation holds:�F ix �M i

x

�2+�F iy �M i

y

�2=

�vi

!i

�2(12)

This shows that the i-th trajectory is a circle Mi about (M ix,M

iy) with radius M i

r = vi!i.

Hence, by assuming piecewise constant velocities, we can approximate the trajectory of arobot by a sequence of circular and straight line arcs.

Notice that, apart from the initial conditions, Equations (5) to (9) depend only onvelocities. When controlling the robot, however, one is not free to set arbitrary velocities,since the dynamic constraints of the robot impose bounds on the maximum deviation ofvelocity values in subsequent intervals.

3.3 An Upper Bound on the Approximation Error

Obviously, the derivation makes the approximate assumption that velocities are piecewiseconstant within a time interval. This error is bounded linearly in time between controlpoints, ti+1� ti | a fact which will be used below for modeling uncertainty in the robot'sposition.

Consider the errors Eix and Ei

y for the x- and y-coordinate, respectively, within the timeinterval [ti; ti+1]. Let �ti := ti+1�ti. The deviation in the direction of any of the two axes ismaximal if the robot moves on a straight trajectory parallel to that axis. Since in each timeinterval we approximate v(t) by an arbitrary velocity vi 2 [v(ti); v(ti+1)], an upper bound ofthe errors Ei

x and Eiy for (i+1)-th time interval is governed by Ei

x; Eiy � jv(ti+1)�v(ti)j��ti,

which is linear in �ti.

The reader should notice that this bound applies only to the internal prediction of therobot's position. When executing control, the location of the robot is measured periodicallywith its wheel-encoders (four times a second in our implementation).

This completes the derivation of the robot motion. To summarise, we have derivedan approximate form that describes trajectories by sequences of circular arcs, and wehave derived a linear bound on the error due to an approximate assumption made in thederivation (piecewise constant velocities).

7

Page 8: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

4 The Dynamic Window Approach

In the dynamic window approach the search for commands controling the robot is carriedout directly in the space of velocities. The dynamics of the robot is incorporated intothe method by reducing the search space to those velocities which are reachable under thedynamic constraints. In addition to this restriction only velocities are considered whichare safe with respect to the obstacles. This pruning of the search space is done in the �rststep of the algorithm. In the second step the velocity maximizing the objective function ischosen from the remaining velocities. A brief outline of the di�erent parts of one cycle ofthe algorithm is given in Figure 3. In the current implementation such a cycle is performedevery 0.25 seconds.

In the remainder of this section we will use the situation shown in Figure 2 to describethe di�erent aspects of the dynamic window approach.

4.1 Search Space

Circular trajectories

In Section 3 we showed that it is possible to approximate the trajectory of a synchro-drive robot by a sequence of circular arcs. In the remainder of this paper we will refer tothese circles as curvatures. Each curvature is uniquely determined by the velocity vector(vi, !i), which we will simply refer as velocity. To generate a trajectory to a given goalpoint for the next n time intervals the robot has to determine velocities (vi, !i), one foreach of the n intervals between t0 and tn. This has to be done under the premise thatthe resulting trajectory does not intersect with an obstacle. The search space for thesevectors is exponential in the number of the considered intervals.

To make the optimization feasible, the dynamic window approach considers exclusivelythe �rst time interval, and assumes that the velocities in the remaining n�1 time intervalsare constant (which is equivalent to assuming zero accelerations in [t1; tn]). This reductionis motivated by the observations that (a) the reduced search space is two-dimensional andthus tractable, (b) the search is repeated after each time interval, and (c) the velocitieswill automatically stay constant if no new commands are given.

Admissible Velocities

Obstacles in the closer environment of the robot impose restrictions on the rotational andtranslational velocities. For example, the maximal admissible speed on a curvature de-pends on the distance to the next obstacle on this curvature. Assume that for a velocity(v; !) the term dist(v; !) represents the distance to the closest obstacle on the corres-ponding curvature (in Section 5.2 we describe how to compute this distance given circulartrajectories). A velocity is considered admissible, if the robot is able to stop before itreaches this obstacle. Let _vb and _!b be the accelerations for breakage. Then the set Va of

8

Page 9: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

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

(a) Circular trajectories: The dynamic window approach considersonly circular trajectories (curvatures) uniquely determined by pairs(v; !) of translational and rotational velocities. This results in atwo-dimensional velocity search space.

(b) Admissible velocities: The restriction to admissible velocitiesensures that only safe trajectories are considered. A pair (v; !) isconsidered admissible, if the robot is able to stop before it reachesthe closest obstacle on the corresponding curvature.

(c) Dynamic window: The dynamic window restricts the admissiblevelocities to those that can be reached within a short time intervalgiven the limited accelerations of the robot.

2. Optimization: The objective function

G(v; !) = �(� � heading(v; !) + � � dist(v; !) + � vel(v; !)) (13)

is maximized. With respect to the current position and orientation of therobot this function trades o� the following aspects:

(a) Target heading: heading is a measure of progress towards thegoal location. It is maximal if the robot moves directly towards thetarget.

(b) Clearance: dist is the distance to the closest obstacle on the tra-jectory. The smaller the distance to an obstacle the higher is therobot's desire to move around it.

(c) Velocity: vel is the forward velocity of the robot and supports fastmovements.

The function � smoothes the weighted sum of the three components andresults in more side-clearance from obstacles.

Figure 3: Di�erent parts of the dynamic window approach

admissible velocities is de�ned as

Va =�(v; !) j v �

q2 � dist(v; !) � _vb ^ ! �

q2 � dist(v; !) � _!b

�: (14)

Thus Va is the set of velocities (v; !) which allow the robot to stop without colliding withan obstacle.

9

Page 10: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

Va

Vs

90 deg/sec-90 deg/sec

90 cm/sec

door

left wall corridor right wall II

right wall I

Figure 4. Velocity space

Example 1 Again consider the example given in Figure 2. Figure 4 shows the velocitiesadmissible in this situation given the accelerations _vb = 50 cm/sec2 and _!b = 60 deg/sec2.The non-admissible velocities are denoted by the dark shaded areas. For example allvelocities in area right wall II would cause a sharp turn to the right and thus cause therobot to collide with the right wall in the example situation. The non-admissible areas areextracted from real world proximity information; in this special case this information wasobtained from sonar sensors (see Section 5).

Dynamic window

In order to take into account the limited accelerations exertable by the motors the overallsearch space is reduced to the dynamic window which contains only the velocities thatcan be reached within the next time interval. Let t be the time interval during which theaccelerations _v and _! will be applied and let (va, !a) be the actual velocity. Then thedynamic window Vd is de�ned as

Vd = f(v; !) j v�[va � _v � t; va + _v � t] ^ !�[!a � _! � t; !a + _! � t]g : (15)

The dynamic window is centred around the actual velocity and the extensions of it dependon the accelerations that can be exerted. All curvatures outside the dynamic windowcannot be reached within the next time interval and thus are not considered for the obstacleavoidance.

Example 2 An exemplary dynamic window obtained in the situation shown in Figure 2given accelerations of 50 cm/sec2 and 60 deg/sec2 and a time interval of 0.25 sec is shownin Figure 5. The two dotted arrows pointing to the corners of the rectangle denote themost extreme curvatures that can be reached.

10

Page 11: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

aV

Vs

Vr

90 deg/sec-90 deg/sec

90 cm/sec

ddynamic window V

actual velocity

Figure 5. Dynamic window

Resulting Search Space

The above given restrictions imposed on the search space for the velocities result in thearea Vr within the dynamic window. Let Vs be the space of possible velocities, then thearea Vr is de�ned as the intersection of the restricted areas, namely

Vr = Vs \ Va \ Vd (16)

In Figure 5 the resulting search space is represented by the white area.

4.2 Maximizing the Objective Function

After having determined the resulting search space Vr a velocity is selected from Vr. Inorder to incorporate the criteria target heading, clearance, and velocity, the maximum ofthe objective function

G(v; !) = �(� � heading(v; !) + � � dist(v; !) + � velocity(v; !))

is computed over Vr. This is done by discretization of the resulting search space.

Target heading

The target heading heading(v; !) measures the alignment of the robot with the target dir-ection. It is given by 180��, where � is the angle of the target point relative to the robot'sheading direction (see Figure 6). Since this direction changes with the di�erent velocities,� is computed for a predicted position of the robot. To determine the predicted positionwe assume that the robot moves with the selected velocity during the next time interval.For a realistic measurement of the target heading we have to consider the dynamics ofthe rotation. Therefore, � is computed at the position, which the robot will reach when

11

Page 12: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

actual position

predicted position

θtarget targt heading

-90-45

045

0

30

60

900

0.5

1

rot. velocity [deg/sec]

trans. velocity [cm/sec]

Figure 6. Angle � to thetarget

Figure 7. Evaluation of the targetheading

exerting maximal deceleration after the next interval. This yields a smooth turning to thetarget in the behavior of the robot when it has circumvented an obstacle.

Example 3 Figure 7 shows the evaluation of the target heading for the di�erent velocitiesin the example situation. In this �gure and the following �gures the values for non-admissible velocities are set to zero (compare with Figures 2 and 4). For clarity we showthe evaluation of the whole velocity space and do not restrict it to the dynamic window.The non-linearity of the function in Figure 7 is caused by the consideration of the dynamicsin the determination of the predicted position. Because positive rotational velocities yieldcurvatures to the right we �nd the best velocities on the right side of the velocity space.The optimal velocities are those leading to a perfect heading to the target on the predictedposition. The function declines for even higher rotational velocities, because they yield aturning beyond the target.

Clearance

The function dist(v; !) represents the distance to the closest obstacle that intersects withthe curvature. If no obstacle is on the curvature this value is set to a large constant.

distance

-90-45

045

0

30

60

900

0.5

1

rot. velocity [deg/sec]

trans. velocity [cm/sec]

velocity

-90-45

045

0

30

60

900

0.5

1

rot. velocity [deg/sec]

trans. velocity [cm/sec]

Figure 8. Evaluation of thedistances

Figure 9. Evaluation of thevelocities

12

Page 13: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

Example 4 The evaluation of the distances as given in Figure 8 solely depends on theproximity information about obstacles around the robot. In the given plot one can �nd lowevaluations for those curvatures which lead to the walls. For higher translational velocitiesthese values fall into the non-admissible areas and are thus set to zero.

Velocity

The function velocity(v; !) is used to evaluate the progress of the robot on the correspond-ing trajectory. It is simply a projection on the translational velocity v, as can be seen inFigure 9.

Smoothing

evaluation function

-90-45

045

0

30

60

900

1

2

rot. velocity [deg/sec]

trans. velocity [cm/sec]

smoothed evaluation function

-90-45

045

0

30

60

900

1

2

3

rot. velocity [deg/sec]

trans. velocity [cm/sec]

Figure 10. Combined evaluationfunction

Figure 11. Objective function

All three components of the objective function are normalized to [0; 1]. The weighted sumof these components is shown in Figure 10. It is obtained by a value of 2.0 for � and avalue of 0.2 for � and . As expected the fastest trajectory leading through the door areagets the highest evaluation (compare with Figure 4). Smoothing increases side-clearanceof the robot. The resulting objective function is shown in Figure 11 and the position ofthe maximal value is depicted by the vertical line.

It should be noticed that all three components of G, the target heading, the clearanceand the velocity are necessary. By maximizing solely the clearance and the velocity, therobot would always travel into free space but there would be no incentive to move towardsa goal location. By solely maximizing the target heading the robot quickly would getstopped by the �rst obstacle that blocks its way, unable to move around it. By combiningall three components, the robot circumvents collisions as fast as it can under the constraintslisted above, while still making progress towards reaching its goal.

In a former version of our approach (see [3]) the search for the best velocity wascarried out in two steps. In the �rst step only the curvature was chosen. This was done byevaluating the target angle and the so-called \n-sec-rule", namely a linear function of theclearance. In the second step the velocity on this curvature was maximized. Although the

13

Page 14: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

resulting behavior of the robot was the same, we decided to use this single step evaluationof the objective function. We adopted the idea for this representation from [13].

4.3 Role of the dynamic window

In the previous section we introduced the objective function to be maximized for smoothand goal directed behavior. For illustration purposes we always showed the evaluationfor the whole velocity space. As mentioned in Section 4.1 this space is reduced to theadmissible velocities in the dynamic window. In this section we describe how the robotrespects the dynamics by this restriction. We discuss the dependency of the behavior ondi�erent velocities and accelerations. In both examples the time interval determining thedynamic window is �xed to 0.25 seconds.

Role of the Current Velocity

In this example we show how the behavior changes with the current velocities. We assumeaccelerations of 50 cm/sec2 and 60 deg/sec2. Figure 12 shows the dynamic windowsVd1 and Vd2 given straight motion with translational velocities of 75 and 40 cm/sec,respectively. In the Figures 13 and 14 the objective function is shown for the dynamicwindows. Velocities outside the dynamic windows have an evaluation of -1.

aV

Vs

Vd2

Vd1

90 deg/sec-90 deg/sec

90 cm/sec

doorcorridor

Figure 12. Velocity space

In the �rst case, where the current velocity is 75 cm/sec, the robot moves too fast toperform the sharp turn to the right necessary to drive through the open door. This isre ected in Figure 13 by the fact that the velocities resulting in a turn to the right arenot admissible. Among the velocities in the dynamic window the velocity with maximalevaluation yields straight motion, as denoted by the vertical line in Figure 13 and by thecross mark at the top of Vd1 in Figure 12.

14

Page 15: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

dynamic window (70,0)

-90-45

045

0

30

60

90-1-0.5

00.5

11.5

22.5

rot. velocity [deg/sec]

trans. velocity [cm/sec]

dynamic window (40,0)

-90-45

045

0

30

60

90012

rot. velocity [deg/sec]

trans. velocity [cm/sec]

Figure 13. Objective function foractual velocity (75,0)

Figure 14. Objective function foractual velocity (40,0)

If in contrast the current velocity is 40 cm/sec, the dynamic window Vd2 includescurvatures leading through the door (see Figures 12 and 14). Due to the better evaluationof the angle and the distance the chosen velocity is the one yielding the most extreme turnto the right.

Dependency on the Accelerations

The restricted search space, the evaluation function, and the dynamic window also dependon the given accelerations. Consider the velocity space for the example with accelerations of20 cm/sec2 and 30 deg/sec2 as illustrated in Figure 15. Because of the small accelerationsthe space of admissible velocities is smaller than in Figure 4. Therefore, we only considervelocities up to 60 cm/sec and 50 deg/sec. The dynamic window for straight motion witha translational velocity of 40 cm/sec is represented by the white area. The size of thiswindow is reduced as it depends on the accelerations.

Figure 16 contains the objective function of the entire velocity space. The evaluation ofthe space restricted to the velocities in the dynamic window is shown in Figure 17. Againthe robot is too fast for a sharp turn into the door and the velocity with straight motionhas the maximal evaluation (compare to Figure 13).

5 Implementation and Experimental Results

5.1 RHINO

The dynamic window approach has been implemented and tested using the robot RHINOwhich is a synchro-drive robot currently equipped with a ring of 24 Polaroid ultrasonicsensors, 56 infrared detectors, and a stereo camera system. Because the main beam widthof an ultrasonic transducer is approximately 15�, the whole 360� area surrounding therobot can be measured with one sweep of all sensors. A complete sonar sweep takesapproximately 0.4 sec.

15

Page 16: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

Va

dV

door

corridor

-50 deg/sec 50 deg/sec

60 cm/sec

Figure 15. Dynamic window for low accelerations

smoothed evaluation

-50-25

025

0

25

500

1

2

3

rot. velocity [deg/sec]trans. velocity [cm/sec]

dynamic window (40,0)

-50-25

025

0

25

500

1

2

rot. velocity [deg/sec]trans. velocity [cm/sec]

Figure 16. Objective function forlow accelerations

Figure 17. Objective function indynamic window

5.2 The Obstacle Line Field

As local world model we use an obstacle line �eld [3], which is a two-dimensional descrip-tion of sensory data relative to the robot's position (see Figure 18). We adjusted our sonarsensors such that most erroneous readings indicate a too long distance. To be maximallyconservative, every reading is converted to an obstacle line. If the sensors would producespurious short readings (e.g. due to cross-talk), more sophisticated sensor interpretationand integration models such as for example occupancy probability grid maps [11] wouldbe required.

The obstacle line �eld is centred around the robot's position and is built out of thedata gathered by proximity sensors. It contains a line for each reading of a sonar sensor,which is perpendicular to the main axis of the sensor beam at the measured distance. Thelength of the line is determined by the breadth of the beam in the given distance. Using

16

Page 17: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

1m

robot

target

obstacle lines

left wall

right wall

γ

collision point

trajectory

r

Figure 18. Example environment with obstacle linesand target point

Figure 19. Determination ofthe distance

this obstacle representation the distance to obstacles on curvatures is computed as follows:let r be the radius of the circular trajectory, and let be the angle between the intersectionwith the obstacle line and the position of the robot (see Figure 19). Then the distance tothe next obstacle is given by � r.

To allow the robot to react quickly to changes in the environment, we limit the numberof lines to 72 and apply a �rst-in-�rst-out strategy to remove the least actual lines fromthe obstacle line �eld. We found these values to allow the robot to travel safely even withspeeds of up to 95 cm/sec, while simultaneously keeping the computational time within0.25 sec on an i486 computer.

5.3 Further Implementation Details

The following additional strategies improved the maneuverability and the elegance of robotmotion. Since they are not essential for the approach proposed in this paper, we will onlysketch them here.

� Rotate away mode. In rare cases we observed that the robot got stuck in localminima. This is the case if no admissible trajectory allows the robot to translate.When this condition occurs, which is easily detected, the robot rotates away fromthe obstacle until it is able to translate again.

� Speed dependent side clearance. To adapt the speed of the robot accordingto the side clearance to obstacles we introduced a safety margin around the robot,which grows linearly with the robot's translational velocity. Thus the robot willtravel with high speed through corridors and will decelerate when driving throughnarrow doors. Simultaneously, possible deviations coming from the approximationerror described in Section 3.3 are respected.

17

Page 18: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

5.4 Experimental Results

Based on the dynamic window approach to collision avoidance, RHINO has been operatedsafely in various environments, over the last 2 years. Its maximum velocity is constrainedby the hardware to approximately 95 cm/sec. RHINO reaches this velocity in large open-ings and hallways, if no obstacles block its way. If obstacles block its way, slower velocitiesare selected, and collisions are avoided by selecting appropriate trajectories. For example,when moving through doors, RHINO typically decelerates to approximately 20 cm persecond in the vicinity of the door. In the remainder of this section, we will give experi-mental results generated with the dynamic window approach. In the following �gures theenvironment is drawn by hand. Nonetheless each diagram is an actual experiment and allshown trajectories are extracted from real position data. Each of these examples show thecomplete path to a particular goal point, which in our tests is set by a human operator.In the every-day use, these goal points are set automatically by a global path plannerdescribed in [14, 15, 16].

Parameter Settings

Although the performance of the obstacle avoidance depends on the weighting parameters�, �, and , it is stable against slight changes of their values. Without any exhaustivetuning of these parameters we found values of 0.8, 0.1, and 0.1 for �, �, and to givegood results. The alignment of the robot with the target point is mainly determined bythe ratio between � and the other two parameters. Very low values of the target headingweight � give the robot much freedom in moving around obstacles. At the same time theymay detain the robot from reaching target points behind narrow openings if sensors withlow angular resolution are used (e.g. ultrasonic sensors). This is because the robot turnsaway from the opening before its sensors are able to detect it. On the other extreme, ahigh heading weight forces the robot to approach objects very closely before turning away,which prohibits smooth circumvention of obstacles.

By choosing di�erent values for � global knowledge about the environment can betransfered to the local obstacle avoidance. While higher values produce good results innarrow environments, smaller values are more appropriate in wide and populated hallways.

Role of the Dynamic Window

The �rst experiment demonstrates the in uence of the dynamic window on the behavior ofthe robot. The three paths in Figure 20 are examples for the typical behavior of the robotunder di�erent dynamics constraints (for the velocities and accelerations we used the samevalues as in Section 4.3). The crucial point of the experiment is the path taken in the darkshaded decision area. In this area the robot detects the opening to its right and has todecide whether to take the sharp turn to the right or not. This decision strongly depends onthe dynamics of the robot. Only if the actual velocity and the possible accelerations allowa sharp turn to the right, the robot directly moves to the target point. This trajectory is

18

Page 19: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

denoted by the dashed line. In the other two cases the robot decides to pass the opening andmoves parallel to the wall until the evaluation of the target heading angle(v; !) becomesvery small.

1m

Decision area

2

2

2- 20 cm/sec , 30 deg/sec

70 cm/sec

40 cm/sec

40 cm/sec

- 50 cm/sec , 60 deg/sec

- 50 cm/sec , 60 deg/sec2

2

2

Figure 20. Trajectories chosen for di�erent dynamicparameters

Notice that without considering the dynamic constraints, an attempt to turn rightwould have almost certainly resulted in a collision with a wall. In fact, in initial experi-ments with a simulator, in which we ignored some of the dynamic e�ects, we experiencedthese type collisions frequently.

Straight Motion in Corridors

1m

human

Figure 21. Trajectory through corridor

Figure 21 shows an example of traveling along a hallway with only one obstacle in themiddle of the hallway. In this case RHINO �rst orients itself to the target point. But thenthe obstacle is detected and the robot chooses a smooth trajectory avoiding the obstacle.Although RHINO slows down to 55 cm/sec before passing the obstacle, the average speedin this experiment was approximately 72 cm/sec. It should be noted that after havingdriven round the obstacle RHINO follows straight lines whenever possible, and does notoscillate, as sometimes is the case with other approaches.

19

Page 20: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

Fast Motion through Cluttered Environment

1m

humans

Figure 22. Trajectory through cluttered corridor

The third experiment is shown in Figure 22 and involves traveling through a clutteredcorridor. All humans in the corridor are smoothly circumvented with a maximal speed of95 cm/sec. Notice that although the robot decelerates to less than 20 cm/sec when passingthe narrow passage (less than 80 cm wide) between the fourth person and the open door,it still maintains an average speed of 65 cm/sec!

The AAAI '94 Mobile Robot Competition

The next trajectory was generated in the arena of the AAAI '94 mobile robot competition.Figure 23 shows a plot of the occupancy map of the arena and the trajectory of the robot.Here the robot moved free of collisions in an arti�cial indoor environment during anexploration run. The target points for the collision avoidance were generated by a globalplanning algorithm. Doors were approximately 80-110 cm wide.

It is generally di�cult to compare the results described here to results obtained by otherresearchers, mainly because robots vary in sizes, and small changes in the environment canhave an enormous impact on the di�culty of the problem. For example, in a con�gurationsimilar to the ones shown in Figures 21 and 22 Borenstein et al. report that their robottraveled with an average speed of 58 cm/sec through a cluttered environment [1, 2]. Asfar as it can be judged from a single example (which is all that is available in [1, 2]), ourresults compare favorably to those of Borenstein et al.

6 Discussion

This paper describes an approach to collision avoidance for mobile robots equipped withsynchro-drives. Based on the exact motion equations of such robots, it derives an ap-proximate version that models robot trajectories by �nite sequences of circular arcs. Thedynamic window approach �rst prunes the overall search space by considering only thenext steering command. This results in a two-dimensional search space of circular traject-ories. After that, the search space is reduced to the admissible velocities allowing the robot

20

Page 21: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

start

robot

Figure 23. Run at the AAAI '94 mobile robot competition

to stop safely without colliding with an obstacle. Finally, the dynamic window restrictsthe admissible velocities to those that can be reached within a short time interval given thelimited accelerations of the robot. This way we make sure that the dynamic constraintsare taken into account. The robot constantly picks a trajectory at which it can maximizeits translational velocity and the distance to obstacles, yet minimize the angle to its goalrelative to its own heading direction. This is done by maximizing the objective function.

The experiments show that the combination of all objectives leads to a very robust andelegant collision avoidance strategy which safely operates our robot RHINO with speedsof up to 95 cm/sec. RHINO , a B21 mobile robot, frequently operates in our universitybuilding without human supervision. The approach described here is only part of theoverall architecture. For example, approaches to building occupancy maps, global pathplanning and computer vision are surveyed in [3, 15, 16].

In principle, the approach proposed here only assumes geometric information aboutthe relative location of obstacles. Therefore, it is well-suited for proximity sensors such asultrasonic transducers, which were used in the experiments reported here, or such as laserrange-�nders. In some preliminary tests we also used camera and infrared sensors for thedetection of obstacles. Knowing the geometry of the robot and the angle of its camera,

21

Page 22: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

pixel information is converted to proximity information. However, the resulting proximityestimate is only accurate if an obstacle touches the oor. Obstacles in di�erent heights leadto an overestimation of distance, which may cause the robot to collide. Stereo vision mightpotentially overcome this problem. The result with infrared detectors su�ered from thefact that RHINO 's detectors have only a small range of view (< 30 cm). Therefore, whenmoving high-speed the robot may collide nonetheless. Combining either of the two sensorsystems with ultrasonic measurements, however, consistently improved the smoothness ofthe robot's trajectories.

Acknowledgment

The authors thank Thomas Hofmann and the other members of the RHINO team forinsightful discussion, help and advice.

One author (S.T.) is sponsored in part by the National Science Foundation underaward IRI-9313367, and by the Wright Laboratory, Aeronautical Systems Center, AirForce Materiel Command, USAF, and the Defense Advanced Research Projects Agency(DARPA) under grant number F33615-93-1-1330. The views and conclusions containedin this document are those of the author and should not be interpreted as necessarilyrepresenting o�cial policies or endorsements, either expressed or implied, of NSF, WrightLaboratory or the United States Government.

References

[1] J. Borenstein and Y. Koren. Real-time obstacle avoidance for fast mobile robots incluttered environments. In Proc. IEEE Int. Conf. Robotics and Automation, volumeCH-2876, pages 572{577, 1990.

[2] J. Borenstein and Y. Koren. The vector �eld histogram - fast obstacle avoidance formobile robots. IEEE Transactions on Robotics and Automation, 7(3):278{288, 1991.

[3] J. Buhmann, W. Burgard, A.B. Cremers, D. Fox, T. Hofmann, F. Schneider,J. Strikos, and S. Thrun. The mobile robot Rhino. AI Magazine, 16(1), 1995.

[4] L. Feng, J. Borenstein, and H.R. Everett. "Where am I?" Sensors and Methodsfor Autonomous Mobile Robot Positioning. Technical Report UM-MEAM-94-21,University of Michigan, December 1994.

[5] H. Hu and M. Brady. A bayesian approach to real-time obstacle avoidance for amobile robot. In Autonomous Robots, volume 1, pages 69{92. Kluwer AcademicPublishers, Boston, 1994.

[6] J.L. Jones and A.M. Flynn. Mobile Robots: Inspiration to Implementation. A KPeters, Ltd., 1993. ISBN 1-56881-011-3.

22

Page 23: Th e Dyn am ic Win do wA p proac ht oCo llision Av oid ance · PDF filep proac ht oCo llision Av oid ance Diet er F o x y W ... d rot al v y is c h os en b ym ... d rot a al v elo

[7] M. Khatib and R. Chatila. An extended potential �eld approach for mobile robotsensor-based motions. In Proc. International Conference on Intelligent AutonomousSystems (IAS'4), 1995.

[8] O. Khatib. Real-time obstacle avoidance for robot manipulator and mobile robots.The International Journal of Robotics Research, 5(1):90{98, 1986.

[9] Y. Koren and J. Borenstein. Potential �eld methods and their inherent limitations formobile robot navigation. In Proc. IEEE Int. Conf. Robotics and Automation, April1991.

[10] J. Latombe. Robot Motion Planning. Kluwer Academic Publishers, Boston, MA,1991. ISBN 0-7923-9206-X.

[11] H.P. Moravec. Sensor fusion in certainty grids for mobile robots. AI Magazine, pages61{74, Summer 1988.

[12] J.T. Schwartz, M. Scharir, and J. Hopcroft. Planning, Geometry and Complexity ofRobot Motion. Ablex Publishing Corporation, Norwood, NJ, 1987.

[13] R. Simmons. The curvature-velocity method for local obstacle avoidance. In Proc.IEEE Int. Conf. Robotics and Automation, 1996.

[14] S. Thrun. Exploration and model building in mobile robot domains. In Proceedingsof the ICNN-93, pages 175{180, San Francisco, CA, 1993. IEEE Neural NetworkCouncil.

[15] S. Thrun and A. B�ucken. Integrating grid-based and topological maps for mobilerobot navigation. In Proceedings of the Thirteenth National Conference on Arti�cialIntelligence AAAI-96, 1996.

[16] S. Thrun, A. B�ucken, W. Burgard, D. Fox, T. Fr�ohlinghaus, D. Hennig, T. Hofmann,M. Krell, and T. Schimdt. Map learning and high-speed navigation in RHINO. InD. Kortenkamp, R.P. Bonasso, and R. Murphy, editors, AI-based Mobile Robots:Case studies of successful robot systems. MIT Press, Cambridge, MA, to appear.

23