The Vector Field HistogramuFast Obstacle Avoidance

download The Vector Field HistogramuFast Obstacle Avoidance

of 11

Transcript of The Vector Field HistogramuFast Obstacle Avoidance

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    1/11

    278 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION VOL. 7, NO.3 JUNE 1991

    The Vector Field Histogram Fast Obstaclevoidance for Mobile Robots

    Johann Borenstein, Member IEEE and Yoram Koren, Senior Member IEEEAbstract A new real-time obstacle avoidance method formobile robots has been developed and implemented. Thismetho.d, named the vector field histogram (VFH), permits thedetection of unknown obstacles and avoids collisions whilesimultaneously steering the mobile robot toward the target.The VFH method uses a two-dimensional Cartesian histogram grid as a world model. This world model is updatedcontinuously with range data sampled by on-board range sensors. The VFH method subsequently employs a two-stage datareduction process in order to compute the desired control commands for the vehicle. In the first stage the histogram grid isreduced to a one-dimensional polar histogram that is constructed around the robot's momentary location. Each sector inthe polar histogram contains a value representing the polar

    o b s t ~ l e density in that direction. In the second stage, thealgonthm selects the most suitable sector from among all polarhistogram sectors with a low polar obstacle density, and thesteering of the robot is aligned with that direction.Experimental results from a mobile robot traversing denselycluttered obstacle courses in smooth and continuous motion andat an average speed of 0.6-0.7 m/s demonstrate the power ofthe VFH method.

    I INTRODUCTIONBSTACLE avoidance is one of the key issues to successful applications of mobile robot systems. All mobilerobots feature some kind of collision avoidance, rangingfrom primitive algorithms that detect an obstacle and stop therobot short of it in order to avoid a collision through sophisticated algorithms that enable the robot to detour obstacles.The latter algorithms are much more complex, since theyinvolve not only the detection of an obstacle, but also some

    kind of quantitative measurements concerning the dimensionsof the obstacle. Once these have been determined, the obstacle avoidance algorithm needs to steer the robot around theobstacle and proceed toward the original target. Usually, thisprocedure requires the robot to stop in from of the obstacle,take the measurements, and only then resume motion. Obstacle avoidance (also called reflexive obstacle avoidance orlocal path planning) may result in nonoptimal paths [5] sinceno prior knowledge about the environment is used.A brief survey of relevant earlier obstacle avoidance methods is presented in Section II, while Section III summarizesthe virtual force field (VFF), an obstacle-avoidance methoddeveloped earlier by our group at the University of MichiganManuscript received July 6, 1989; revised September 1 1990. This workwas supported by the U.S. Department of Energy under Grant DE-FG02-

    86NE37969.The authors are with the Advanced Technology Laboratories, The University of Michigan, Ann Arbor, MI 48109.IEEE Log Number 9143260.

    [5]. While the VFF method provides superior real-time obstacle avoidance for fast mobile robots, some limitationsconcerning fast travel among densely cluttered obstacles wereidentified in the course of our experimental work [18]. Toovercome these limitations, we developed a new method,named vector field histogram (VFH), which is introduced inSection IV. The VFH method eliminates the shortcomings ofthe VFF method, yet retains all the advantages of its predecessor (as will be shown in Section IV). A comparison of theVFH method to earlier methods is given in Section V, andSection VI presents experimental results obtained with ourVFH-controller mobile robot.II. SURVEY OF EARLIER OBSTACLE-AVOIDANCE

    METHODSThis section summarizes relevant obstacle avoidance methods, namely edge-detection certainty grids and potentialfield methods.

    A. Edge-Detection MethodsOne popular obstacle avoidance method is based on edgedetection. In this method, an algorithm tries to determine theposition of the vertical edges of the obstacle and then steerthe robot around either one of the visible edges. The lineconnecting two visible edges is considered to represent one ofthe boundaries of the obstacle. This method was used in ourvery early research [4], as well as in several other works[11], [21], [22], [28], all using ultrasonic sensors for obstacledetection. A disadvantage with current implementations ofthis method is that the robot stops in front of obstacles togather sensor information. However, this is not an inherentlimitation of edge-detection methods; it may be possible toovercome this problem with faster computers in future implementations.In another edge-detection approach (using ultrasonic sensors), the robot remains stationary while taking a panoramicscan of its environment [13], [14]. After the application ofcertain line-fitting algorithms, an edge-based global pathplanner is instituted to plan the robot's subsequent path.A common drawback of both edge-detection approaches istheir sensitivity to sensor accuracy. Ultrasonic sensors present many shortcomings in this respect:Poor directionality limits the accuracy in determining thespatial position of an edge to 10-50 em, depending on thedistance to the obstacle and the angle between the obstacle

    surface and the acoustic axis.Frequent misreadings are caused by either ultrasonicnoise from external sources or stray reflections from neigh-1042-296X/9110600-0278 01.00 1991 IEEE

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    2/11

    BORENSTEIN AND KOREN: THE VECTOR FIELD HISTOGRAM

    boring sensors (i.e., crosstalk). Misreadings cannot alwaysbe filtered out, and they cause the algorithm to falsely detectedges.Specular reflections occur when the angle between thewavefront and the normal to a smooth surface is too large. Inthis case the surface reflects the incoming ultrasound wavesaway from the sensor, and the obstacle is either not detectedor is seen as much smaller than it is in reality (since onlypart of the surface is detected).

    Any one of these errors can cause the algorithm to determine the existence of an edge at a completely wrong location,often resulting in highly unlikely paths.B. The Certainty Grid for Obstacle Representation

    A method for probabilistic representation of obstacles in agrid-type world model has been developed at Carnegie-Mellon University (CMU) [13], [23], [24]. This world model,called a certainty grid is especially suited to the accommodation of inaccurate sensor data such as range measurementsfrom ultrasonic sensors.In the certainty grid, the robot's work area is representedby a two-dimensional array of square elements, denoted ascells. Each cell contains a certainty value (CV) that indicates the measure of confidence that an obstacle exists withinthe cell area. With the CMU method, CV's are updated by aprobability function that takes into account the characteristicsof a given sensor. Ultrasonic sensors, for example, have aconical field of view. A typical ultrasonic sensor [25] returnsa radial measure of the distance to the nearest object withinthe cone, yet does not specify the angular location of theobject. (Fig. 1 shows area in which an object must belocated in order to result in a distance measurement d). f anobject is detected by an ultrasonic sensor, it is more likelythat this object is closer to the acoustic axis of the sensorthan to the periphery of the conical field of view [4). For thisreason, CMU's probabilistic function Cx increases the CV'sin cells close to the acoustic axis more than the CV's in cellsat the periphery.

    In CMU's applications of this method [23], [24], themobile robot remains stationary while it takes a panoramicscan with its 24 ultrasonic sensors. Next, the probabilisticfunction x is applied to each of the 24 range readings,updating the certainty grid. Finally, the robot moves to a newlocation, stops, and repeats the procedure. After the robottraverses a room in this manner, the resulting certainty gridrepresents a fairly accurate map of the room. A globalpath-planning method is then employed for off-line calculations of subsequent robot paths.C. Potential Field Methods

    The idea of imaginary forces acting on a robot has beensuggested by Khatib [16]. In this method, o s ~ c l e s exertrepulsive forces, while the target applies an attractive force tothe robot. A resultant force vector R comprising the sum ofa target-directed attractive force and repulsive forces fromobstacles, is calculated for a given robot position. With R asthe accelerating force acting on the robot, the robot's newposition for a given time interval is calculated, and thealgorithm is repeated.

    279

    sensorFig. 1 Two-dimensional projection of the conical field of view of anultrasonic sensor. A range reading d indicates the existence of an obJectsomewhere within the shaded region A

    Krogh [19] has enhanced this concept further by takinginto consideration the robot's velocity in the vicinity ofobstacles. Thorpe [27] has applied the potential field methodto off-line path planning, and Krogh and Thorpe [20] suggesta combined method for global and local path planning, whichuses a genera lized potential field approach. Newman andHogan [15] introduce the c o n s ~ r u c t i o n of potential functionsthrough combining individual obstacle functions with logicaloperations.

    Common to these methods is the assumption of a knownand prescribed world model, in which simple predefinedgeometric shapes represent obstacles and the robot's path isgenerated off-line.

    While each of the above methods features valuable refinements, none have been implemented on a mobile robotwith real sensory data. By contrast, Brooks [8], [9] andArkin [1 use a potential field method on experimental mobilerobots (equipped with a ring of ultrasonic sensors). Brooks'implemeqtation treats each ultrasonic range reading as arepulsive force vector. f the magnitude of the sum of therepulsive forces exceeds a certain threshold, the robot stops,turns in the direction of the resultant force vector, and moveson. In this implementation, however, only one set of rangereadings is considered, while previous readings are lost.ArkiJ;t's robot employs a similar method; his robot wasable to traverse an obstacle course at 0.12 cmjs(0.4 f/s).

    III. THE VIRTUAL FORCE FIELD METHODThe virtual force field (VFF) method is our earlier real

    time obstacle avoidance method for fast-running vehicles [5].

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    3/11

    280 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 7, NO.3, JUNE 1991

    (a)_ i r e c t i o ~

    of motion(b)

    Fig. 2. (a) Only one cell is incremented for each range reading. withultrasonic sensors, this is the cell that lies on the acoustic axis and corresponds to the measured-distance d. (b) A histogramic probability distributionis obtained by continuous and rapid sampling of the sensors while the vehicleis moving.

    Unlike the methods reviewed above, the VFF method allowsfor fast, continuous, and smooth motion of the controlledvehicle among unexpected obstacles and does not require thevehicle to stop in front of obstacles.A. The VFF Concept

    The individual components of the VFF method are presented below.1 The VFF method uses a two-dimensional Cartesian his-togram grid C for obstacle representation. As in CMU'scertainty grid concept, each cell ( j in the histogram

    grid holds a certainty value c; j that represents the confidence of the algorithm in the existence of an obstacle atthat location.The histogram grid differs from the certainty grid in theway it is built and updated. CMU's method projects aprobability profile onto those cells that are affected by arange reading; this procedure is computationally intensiveand would impose a heavy time penalty if real-time execution on an on-board computer was attempted. Our method,on the other hand, increments only one cell in the histogram grid for each range reading, creating a '' probabil-ity distribution 1 with only small computational overhead. For ultrasonic sensors, this cell corresponds to themeasured distance d [see Fig. 2(a)] and lies on the acoustic axis of the sensor. While this approach may seem to bean oversimplification, a probabilistic distribution is actually obtained by continuously and rapidly sampling eachsensor while the vehicle is moving. Thus, the same celland its neighboring cells are repeatedly incremented, asshown in Fig. 2(b). This results in a histogramic proba-bility distribution in which high certainty values areobtained in cells close to the actual location of the obstacle.

    2) Next, we apply the potential field idea to the histogramWe use the term probabi lity in the literal sense of likeli hood.

    istogramgrid

    arget

    Fig. 3. The virtual force field (VFF) concept: Occupied cells exert repulsive forces onto the robot; the magnitude is proportional to the certaintyvalue c; j of the cell and inversely proportional to d 2

    grid, so the probabilistic sensor information can be usedefficiently to control the vehicle. Fig. 3 shows how thisalgorithm works:As the vehicle moves, a window of ws x ws cells accompanies it, overlying a square region of C. We call thisregion the acti ve regi on (denoted as C*), and cells thatmomentarily belong to the active region are called activecells (denoted as cr). In our current implementation,the size of the window is 33 x 33 cells (with a cell size of10 em X 10 em), and the window is always centered aboutthe robot 's position. Note that a circular window would begeometrically more appropriate, but is computationallymore expensive to handle than a square one.Each active cell exerts a virtual repulsive force F; jtoward the robot. The magnitude of this force is proportional to the certainty value ci j and inversely proportionalto dx where d is the distance between the cell and thecenter of the vehicle, and x is a positive real number (weassume x = 2 in the following discussion). At each iteration, all virtual repulsive forces are totaled to yield theresultant repulsive force F . Simultaneously, a virtual attractive force F1 of constant magnitude is applied to thevehicle, pulling it toward the target. The summation ofF and F1 yields the resulting force vector R. In order tocompute R up to 33 x 33 = 1089 individual repulsiveforce vectors F; j must be computed and accumulated.The computational heart of the VFF algorithm is thereforea specially developed algorithm for the fast computationand summation of the repulsive force vectors.3 Combining concepts 1 and 2 (given above) in real-timeenables sensor data to influence the steering control imme-diately. In practice, each range reading is recorded intothe histogram grid as soon as it becomes available, and thesubsequent calculation of R takes this data point intoaccount. This feature gives the vehicle fast response to

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    4/11

    BORENSTEIN ND KOREN: THE VECTOR FIELD HISTOGRAM

    obstacles that appear suddenly, resulting in fast reflexivebehavior imperative at high speeds.B Shortcomings of the VFF Method

    The VFF method has been implemented and extensivelytested on board a mobile robot equipped with a ring of 24ultrasonic sensors (see Section VI). Under most conditions,the VFF-controlled robot performed very well. Typically, ittraversed an obstacle course at an average speed of 0.5 m/s,provided the obstacles were places at least 1.8 m apart (therobot diameter is 0.8 m). With less clearance between twoobstacles (e.g., a doorway), some problems were encountered. Sometimes, the robot would not pass through a doorway because the repulsive forces from both sides of thedoorway resulted in a force that pushed the robot away.Another problem arose out of the discrete nature of thehistogram grid. In order to efficiently calculate repulsiveforces in real time, the robot's momentary position is mappedonto the histogram grid. Whenever this position changesfrom one cell to another, drastic changes in the resultant Rmay be encountered. The following numeric example explains this point. Consider a repulsive force generated by acell (m, n) and applied to the robot's momentary position at(m, n + 6), which is six cells away (i.e., 0.6 m, with a cellsize of 10 x 10 em). The magnitude of this particular forcevector is IFm n I = k /0.6 2 = 2.8k. As the robot advancesby one cell, its position corresponds to cell (m, n 5),the new force vector is IF:r . n I = k /0.52 = 4k. The changeis 42%. Changes of this magnitude cause considerable fluctuations in the steering control. The situation is even worsewhen the magnitude of the target-directed constant attractiveforce F1 lies between the directions of the two successiveforces IF I and IF I (this condition is, in fact, most likelybecause it corresponds to the steady-state condition whenthe robot travels alongside an obstacle). In this situation, thedirection of the resultant R may fluctuate by up to 180. Forthis reason it is necessary to smooth the control signal to thesteering motor by adding a low-pass filter to the VFF controlloop [5]. This filter, however, introduces a delay that adversely affects the robot's steering response to unexpectedobstacles.Finally, we also identified a problem that occurs when therobot travels in narrow corridors. When traveling along thecenterline between the two corridor walls, the robot's motionis stable. If however, the robot strays slightly to either sideof the centerline, it experiences a strong virtual repulsiveforce from the closer wall. This force usually pushes therobot across the centerline, and the process repeats with theother wall. Under certain conditions, this process results inoscillatory and unstable motion [ 17], [ 18].

    IV. THE VECTOR FIELD HISTOGRAM METHODCareful analysis of the shortcomings of the VFF methodreveals its inherent problem: excessively drastic data reduction occurs when the individual repulsive forces from histogram grid cells are totaled to calculate the resultant force

    28

    VCPActive cells

    Fig. 4. Mapping of active cells onto the polar histogram.

    vector F . Hundreds of data points are reduced in one step toonly two items: the direction and the magnitude of F .Consequently, detailed information about the local obstacle distribution is lost.To remedy this shortcoming, we have developed a newmethod called the vector field histogram (VFH). The VFHmethod employs a two-stage data-reduction technique,rather than the single-step technique used by the VFF method.Thus, three levels of data representation exist:

    1 The highest level holds the detailed description of therobot's environment. In this level, the two-dimensionalCartesian histogram grid C is continuously updated in realtime with range data sampled by the on-board range sensors. This process is identical to the one described inSection III for the VFF method.2 At the intermediate level, a one-dimensional polar histogram H is constructed around the robot's momentarylocation. H comprises n angular sectors of width ex Atransformation (described in Section IV-A below) maps theactive region C onto H resulting in each sector kholding a value hk that represents the polar obstacledensity in the direction that corresponds to sector k.3 The lowest level of data representation is the output of theVFH algorithm: the reference values for the drive andsteer controllers of the vehicle.The following sections describe the two data-reductionstages in more detail.

    A. First Data Reduction and Creation of the PolarHistogram

    The first data-reduction stage maps the active region C ofthe histogram grid C onto the polar histogram H as follows: As with our earlier VFF method, a window moveswith the vehicle, overlying a square region of w5 x ws cellsin the histogram grid (see Fig. 4). The contents of each activecell in the histogram grid are now treated as an obstaclevector, the direction of which is determined by the direction

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    5/11

    282 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 7, NO.3, JUNE 1991

    3 [MJ X

    (a)

    :..l .......

    Partitions:. Pole TargeDirections ~ ~Robot s

    path :..:Partition 27

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    6/11

    BORENSTEIN AND KOREN: THE VECTOR FIELD HISTOGRAM 283

    a r g ~ t

    H (k)B c

    threshold

    (a) (b)Fig. 6. (a) Polar obstacle density represented in the smoothed polarhistogram H'(k)-relative to the robot s position at 0 [in Fig. 5(b)]. (b)The same polar histogram as in (a), shown in polar form and overlaying partof the histogram grid of Fig. 5(b).

    a r t ~ i o n Target.Candidate directions

    for s fe tr velPO < threshold

    Unsafe directions.p r o h i b ~ e d for travelPO > threshold

    Fig. 7. A threshold on the polar histogram determines the candidatedirections for subsequent travel.

    in Fig. 6(a). The directions (in degrees) in the polar histogram correspond to directions measured counterclockwisefrom the positive x axis of the histogram grid. The peaksA ,B and C in the polar histogram result from obstacleclusters A B and C in the histogram grid. Fig. 6(b) showsthe polar form of the exact same polar histogram as Fig. 6(a),overlaying part of the histogram grid of Fig. 5(b).B. Second Data Reduction and Steering Control

    The second data-reduction stage computes the requiredsteering direction ). This section explains how ) is computed.As can be seen in Fig. 6, a smoothed polar histogramtypically has peaks, i.e ., sectors with high POD s, andvalleys, i.e ., sectors with low POD s. Any valley com

    prised of sectors with POD s below a certain threshold (seediscussion in Section IV-C) is called a candidate valley. Fig.7 visualizes the match between candidate valleys and theactual environment: Based on the threshold and the polarhistogram of Fig. 6, candidate valleys are shown s lightlyshaded sectors in Fig. 7, while unsafe directions (i.e., thosewith POD s above the threshold) are shown in darker shades.Usually there are two or more candidate valleys and theVFH algorithm selects the one that most closely matches thedirection to the target ktarg (an exception to this rule isdiscussed in Section IV-E). Once a valley is selected, it is

    further necessary to choose a suitable sector within thatvalley. The following discussion explains how the algorithmfinds this sector and thus the required steering direction.

    At first, the algorithm measures the size of the selectedvalley (i.e., the number of consecutive sectors with POD sbelow the threshold). Here, two types of valleys are distinguished, namely, wide and narrow ones. A valley is considered wide if more than smax consecutive sectors fall belowthe threshold (in our system smax = 18). Wide valleys resultfrom wide gaps between obstacles or from situations whereonly one obstacle is near the vehicle. Fig. 8 shows a typicalobstacle configuration that produces a wide valley. The sectorthat is nearest to k targ and below the threshold is denoted k nand represents the near border of the valley. The farborder is denoted s k and is defined as k = k n + smax.The desired steering direction ) is then defined s ) = (k n+ k1 /2. Fig. 8 demonstrates why this method results in astable path when traveling alongside an obstacle: f the robotapproaches the obstacle too closely [Fig. 8(a)], ) points awayfrom the obstacle. f the robot is further away from theobstacle, ) allows the robot to approach the obstacle moreclosely [Fig. 8(b)]. Finally, when traveling at the properdistance d 5 from the obstacle [Fig. 8(c)], ) is parallel to theobstacle boundary and small disturbances from this parallelpath are corrected s described above. Note that the distanced s is mostly determined by Smax. The larger smax the furtherthe robot will keep from an obstacle, under steady-stateconditions.

    The second case, a narrow valley, is created when themobile robot travels between closely spaced obstacles, sshown in Fig. 9. Here the far border k1 is less than smaxsectors apart from kn. However, the direction of travel isagain chosen s ) = ( k n + k 1 /2 and the robot maintains acourse centered between obstacles.Note that the robot s ability to pass through narrow passages and doorways results from the ability to identify anarrow valley and to choose a centered path through thatvalley. This feature is made possible through the intermediatedata representation in the polar histogram. Our earlier VFFmethod and other potential field methods, by contrast, lackthis ability [18].

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    7/11

    284 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 7, NO.3, JUNE 1991

    a)

    (b)

    c)Fig. 8. Obtaining a stable path when traveling alongside an obstacle: a) Jpoints away from the obstacle when the robot is too close. (b) J pointstoward the obstacle when the robot is further away. c) Robot runs alongsidethe obstacle when at the proper distance ds

    Another important benefit from this method is the elimination of the vivacious fluctuations in the steering control (aproblem associated with the VFF method). With the averaging effect of the polar histogram and the additional smoothingby (5), n and k (and consequently 0 vary only mildlybetween sampling intervals. Thus, the VFH method does notrequire a low-pass filter in the steering control loop and istherefore able to reach much faster to unexpected obstacles.Similarly, a VFH-controlled robot does not oscillate whentraveling in narrow corridors (as is the case with potentialfield methods, under certain circumstances [18]).C The Threshold

    As mentioned above, a threshold is used to determine thecandidate valleys. While choosing the proper threshold is acritical issue for many sensor-based systems, the performance of the VFH method is largely insensitive to a fine-tunedthreshold. This becomes apparent when considering Fig. 6:

    Fig. 9. Finding the steering reference direction J when ktarg is obstructedby an obstacle.

    Lowering or raising the threshold even by a factor of 3 or 4only affects the width of the candidate valleys. This, in tum,has only a small effect on narrow valleys, since the steeringdirection is chosen in the center of the valley. In widevalleys, only the distance ds from the obstacle is affected.Severe maladjustments of the threshold have the followingeffect on the system performance:

    1) f he threshold is much too large [e.g., higher than peak Ain Fig. 6(a)], the robot is not aware of that obstacle andapproaches it on a collision course. However, during theapproach, additional sensor readings further increase theCV s representing that obstacle, while the distance d to theaffected cells decreases. As is evident from (2), this resultsin higher POD s and consequently in a higher peak thateventually exceeds the threshold. However, in this case therobot may approach the obstacle too closely (especiallywhen traveling at high speed) and collide with the objects.2) If, on the other hand, the threshold is much too low, somepotential candidate valleys will be precluded and the robotwill not pass through narrow passages.In summary, it can be concluded that the VFH systemneeds a fine-tuned threshold only for the most challenging

    applications (e.g., travel at high speed and in densely cluttered environments); under less demanding conditions, thesystem performs well even with an imprecisely set threshold.One way to optimize performance is to set an adaptivethreshold from a higher hierarchical level, e.g., as a function of a global plan. For example, during normal travelthe threshold is set to a very safe, low level. f the globalplan calls for passing through a narrow passage (e.g., adoorway), the threshold is temporarily raised while the travelspeed is lowered.D Speed ontrol

    The robot s maximum speed Vmax can be set at the beginning of a run. The robot tries to maintain this speed duringthe run unless forced by the VFH algorithm to a lowerinstantaneous speed V, which is determined in each samplinginterval as follows:

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    8/11

    BORENSTEIN AND KOREN: THE VECTOR FIELD HISTOGRAM

    The smoothed polar obstacle density in the current direction of travel is denoted as > 0 indicates that anobstacle lies ahead of the robot. Large values of mean alarge obstacle lies ahead or an obstacle is very close to therobot. Either case is likely to require a drastic change indirection, and a reduction in speed is necessary to allow thesteering wheels to tum into the new direction. This reductionin speed is implemented by the following function:

    6)where

    7)and hm is an empirically determined constant that causes asufficient reduction in speed. Note that (7) guarantees V 0,since h; :: hm.While (6) and (7) reduce the speed of the robot in anticipation of a steering maneuver, speed can be further reducedproportionally to the actual steering rate n:

    V V'(l - 0 /OmaJ + min 8)where nmax is the maximal allowable steering rate for themobile robot (in our system nmax 120 /s).Note that V is prevented from going to zero be setting alower limit for V namely V Vmin; in our implementationvmin 4 cmjs.E Limitations and Remedies

    The VFH method is a local path planner i.e., it does notattempt to find an optimal path (an optimal path can only befound if complete environmental information is given). Furthermore, a VFH-controlled robot may get trapped indead-end situations (as is the case with other local pathplanners). When trapped, mobile robots usually exhibit whathas been called cyclic behavior, i.e., going around incircles or cycling between multiple traps (typical examplesfor cyclic behavior are discussed in [5]). While it is possibleto devise a set of heuristic rules that would guide the robotour of trap situations and resolve cyclic behavior [5], theresulting path is still not optimal.To resolve these problems, we have introduces a pathmonitor that works as follows: f the robot diverts from thetarget direction ktarg (see Fig. 9) the path monitor recordsthis as either left (as is the case in Fig. 9) or right diversionmode. Subsequently, when looking for the near border of theclosest candidate valley, kn (see Section IV-B), the VFHalgorithm searches to the left or right of k arg , according tothe original diversion mode. f k n cannot be found withinn 180 j a 36 sectors, the path monitor flags a trapsituation. Once a certain diversion mode has been set, it isonly cleared if the robot faces again into the target direction.When a trap situation is flagged, the robot slows down(and may come to a complete halt), while the VFH algorithmis temporarily suspended. A global path planner (GPP)algorithm is then invoked to plan a new path based on theavailable information in the histogram grid [29]. The newpath comprises a set of via points that are then presented asintermediate target locations to the VFH algorithm.

    285

    The maximum travel speed of a VFH -controlled robot islimited by the sampling rate of the ultrasonic sensors and notby the computation time of the algorithm. In our system, ittakes 160 ms to have all 24 ultrasonic sensors sampled andprocessed once. We estimate that with our current computinghardware (see Section VI) a travel speed of up to 1.5 m/s ispossible if the sampling rate of the sensors could be doubled.The relationship between sampling time, the robot travelspeed, the signal-to-noise ratio, and the resulting certaintyvalues is rather complicated and cannot be treated herebecause of space limitations (a through discussion of thisproblem is given in [6] and [7]).

    V. COMPARISON TO EARLIER METHODSDuring our research in obstacle avoidance for mobilerobots [2]-[5] we implemented and evaluated some of themethods discussed in Section II. This section compares theperformance of our new VFH method to these earlier methods.

    A Comparison to Edge-Detection MethodsThe blurry and inaccurate data produced by ultrasonicsensors does not provide the sharply defined contours re

    quired by edge-detection methods. Consequently, misreadings or inaccurate range measurements may be interpreted aspart of an obstacle, thereby distorting the perceived shape ofthe obstacle.The VFH method, on the other hand, reacts to clusters ofrange readings. As soon as a range reading has been sampled, it becomes available to the steering controller (via thehistogram grid) and can influence the path of the vehicleimmediately. A single range reading will have only minorinfluence on the path, while repeated range readings in aconfined area (cluster) will cause a more drastic change ofdirection for the vehicle.The force field method developed by Brooks [8], [9] andthe similar method developed by Arkin [1], do function inexperimental real-time systems, using actual sensory data [8],[9]. However, these methods are somewhat oversimplified,since a threshold determines if an object is at a safe distanceor too close. In the latter case, and because of the binarycharacter of the threshold, the robot must stop and rotateaway from the object before resuming motion. An additionalshortcoming of these methods is their susceptibility to misreadings (due to ultrasonic noise, crosstalk, etc.) since theytake into account only one set of range readings (one readingfrom each ultrasonic sensor). Consequently, misreadings andcorrect readings (i.e., those produced by actual obstacles)have the same weight. Therefore, a single misreading cancause the resultant force to exceed the threshold level and

    scare the robot away from a possible safe, free path. Ourmethod, on the other hand, also takes into account pastmeasurements by means of the histogram grid, thereby increasing the weight of recurring measurements, while minimizing the weight of randomly occurring misreadings. Inaddition, the smoothing function [see (5)] reduces the weightof false readings. Thus, the VFH method results in muchmore robust and error-resistant control. An additional advan-

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    9/11

    286 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 7, NO.3. JUNE 1991

    Fig. 10 CARMEL, The University of Michigan's Mobile Robot.

    tage of the VFH method is the permanent map informationcontained in the histogram grid after a run. Brooks' andArkin's methods, on the other hand, do not produce apermanent record.

    A critical discussion of both simulated and experimentalpotential field methods is given in [18]. Also, based on arigorous mathematical analysis, [18] discusses six inherentshortcomings of potential field methods.B. Reflexive versus Reactive Control

    On the more abstract level, researchers are beginning todistinguish between tow fundamentally different approachesto mobile robot obstacle avoidance. The conventiona lapproach, reactive control, is based on the traditional artificial intelligence model of human cognition. Reactive controlalgorithms reason about the robot's perception (sensor data)while building elaborate world models (memory) and subsequently plan the robot's actions. This approach requires largeamounts of computation and decision making, resulting in arelatively slow response of the system. Reflexive control(with Brooks as one of its foremost proponents), eliminatescognition altogether. In reflexive control there is no planningand reasoning; nor are there world models. Simple reflexestie actions to perceptions, resulting in faster response tooutside stimuli.

    At first glance it may seem that our VFH method is atypical example of reactive control, considering the histogram grid world model and even a second model, the polarhistogram. However, some distinctions should be made. Ourworld model, the histogram grid, has two different functionalproperties, namely a short-term effect and a long-term effect.The long-term effect is provided by the whole histogramgrid, as described in Section III. The information stored in

    the histogram grid may serve for map building purposes andfor the global path planner (see Section IV-E). A largehistogram grid, however, is not necessary for our algorithmto work properly. t is the short-term effect of the histogramgrid that is important for the VFH algorithm. As explained inSection IV -A, only cells within the active window influencethe VFH computations. Since the active window travels withthe robot, cells are only briefly inside the window and havethus only a temporary (short term) effect. Also, since theultrasonic sensors are limited to only 2-m look-ahead (aboutthe size of the active window), only cells inside the windoware updated with sensor information. Therefore, the VFHalgorithm would work equally well if all information was lostfrom cells that are outside of the active window. Through theconcept of the active window, the histogram grid becomes atype of short term memory, where readings are retainedbriefly (while the active window sweeps through the area) toenhance the accuracy by accumulating multiple sensor readings. In a way, this process is similar to the short-termmemory associated with human hearing. Without this mechanism, people would hear but not necessarily comprehend allspeech.

    VI. EXPERIMENTAL RESULTSWe implemented and tested the VFH method on our

    mobile robot, CARMEL (Computer-Aided Robotics forMaintenance, Emergency, and Life support). CARMEL isbased on a commercially available mobile platform [12], asseen in Fig. 10. This platform has a maximum travel speed ofvmax 0.78 m/s, a maximum steering rate of 0 120 jsand weighs (in its current configuration) about 125 kg. Theplatform has a hexagonal structure and a unique three-wheeldrive (synchro-drive) that permits omnidirectional steering.A Z-80 on-board computer serves as the low-level controllerof the vehicle. Two computers were added: a PC-compatiblesingle-board computer to control the sensors, and a 20-Mhz80386-based AT -compatible that runs the VFH algorithm.CARMEL is equipped with a ring of 24 ultrasonic sensors[25]. The sensor ring has a diameter of 0.8 m, and objectsmust be at least 0.27 m away from the sensors to be detected.Therefore, the theoretical minimum width for safe travel in apassageway is wmin 0.8 + 2 . 0.27 1.34 m.In extensive tests, we ran the VFH-controlled CARMELthrough difficult obstacle courses. The obstacles were unmarked, commonplace objects such as chairs, partitions, andbookshelves. In most experiments, CARMEL ran at its maximum speed Vmax 0.78 mjs. This speed was only reducedwhen an obstacle was approached head-on (see discussion ofspeed control in Section IV-D).Fig. 11 shows the histogram grid after a run through aparticularly challenging obstacle course of 3/4-in-diametervertical poles spaced at a distance of about 1.4 m from eachother. The actual location of the rods is indicated by plus ( +symbols in Fig. 11. t should be noted that none of theobstacle locations were known to the robot in advance: theCV clusters in Fig. 11 gradually appeared on the operator'sscreen while CARMEL was moving.

    To test the performance limits of our system, we per-

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    10/11

    BORENSTEIN AND KOREN: THE VECTOR FIELD HISTOGRAM

    CARMEl sc led Target---_i_,.___ ] ,.,~W a l l ~

    Robotpath

    Start

    Wall

    .-.:. : .CertmtyVakJes

    s own asCV=l 3CV=4 6 CV=7 9 CV=lD 12 CV=13-15

    Fig. 11. Histogram grid representation of a run through a field of denselyspaced, thin vertical poles. The average speed is this run was Vavrg = 0.58mjs.formed a variety of experiments with other slender obstacles.For example, 1 2-in-diameter poles were still detected, butnot reliable so when approached at CARMEL's maximumspeed. Unreliable detection would also result when 1 in x 1in square rods were used. Larger objects, such as 2-ih-diameter cylinders, square-shaped cardboard boxes, furniture, andeven slowly walking people are reliable detected and avoided.These obstacles are easier to detect than the 3 /4- in poles inthe experiment described here.

    Each blob in Fig. 11 represents one.cell in the histogramgrid. In our current implementation, certainty values (CV's)range from 0 to 15 and are indicated in Fig. 11 by blobs ofvarying sizes. CV = 0 means no sensor reading has beenprojected onto the cell during the run (i.e., no blob), whileCV's > 0 indicate the increasing confidence in the existenceof an object at that location. CARMEL traversed this obstacle course at an average speed of 0.58 mjs without stoppingfor obstacles. Note that this is a typical experimental run, andsimilar performance has been routinely obtained in countlessexperiments and demonstrations, using different kinds ofobstacles at random layouts.

    An indication of the real-time performance of the VFHalgorithm is the sampling time T (i.e., the rate at which thesteer and speed commands for the low-level controller areissued). The following steps occur during T:

    1) Obtain sonar information from the sensor controller.2) Update the histogram grid.3) Create the polar histogram.4) Determine the free sector and steering direction.5) Calculate the speed command.6) Communicate with the low-level motion controller (send

    speed and steer commands and receive position update).On an Intel 80386-based PC-compatible computer running

    at 20 MHz, T = 27 ms.VII. CONCLUSIONS

    This paper presents a new obstacle-avoidance method forfast-running vehicles. This approach, called the vector field

    287

    histogram (VFH) method, has been developed and successfully tested on our experimental mobile robot CARMEL. TheVFH algorithm is computationally efficient, very robust, andinsensitive to misreadings, and it allows continuous and fastmotion of the mobile robot without stopping for obstacles.The VFH-controlled mobile robot traverses very denselycluttered obstacle courses at high average speeds and is ableto pass through narrow openings (e.g., doorways) or negotiate narrow corridors without oscillations.The VFH method is based on the following principles:

    1) A two-dimensional Cartesian histogram grid is continuously updated in real-time with range data sampled bythe on-board range sensors.

    2) The histogram grid is reduced to a one-dimensionalpolar histogram that is constructed around the momentary location of the robot. The polar histogram is themost significant distinction between the VFF and theVFH methods as it allows a spatial interpretation (calledpolar obstacle density) of the robot's instantaneousenvironment.

    3) Consecutive sectors with a polar obstacle density belowthreshold are called candidate valleys. The candidatevalley closest to the target direction is selected forfurther processing.

    4) The direction of the center of the selected candidatedirection is determined and the steering of the robot isaligned with that direction.

    5) The speed of the robot is reduced when approachingobstacles head-on.The characteristic behavior of a VFH-controlled mobile

    robot is best described as follows: The response of thevehicle is dependent on the likelihood for the existence ofn obstacle. In the histogram grid, this likelihood is ex

    pressed in terms of size and certainty values of a cluster. Thisinformation is transformed into the height and width of anelevation in the polar histogram. The strength of the VFHmethod lies thus in its ability to maintain a statistical obstaclerepresentation at both the histogram grid level as well as atthe intermediate data level, the polar histogram. This featuremakes the VFH method especially suited to the accommodation of inaccurate sensor data, such as that produced byultrasonic sensors, as well as sensor fusion.

    REFERENCES[1] R. C. Arkin, Motor schema-based mobile robot navigation, Int.

    J Robotics Res. pp. 92-ll2, Aug. 1989.[2] J. Borenstein and Y. Koren, A mobile platform for nursing robots,IEEE Trans. Industrial Electron. vol. 32, no. 2, pp.l58-165,1985.[3] - Motion control analysis of a mobile robot, Trans. ASME

    J Dynamics Measurement Control vol. 109, no. 2, pp. 73-79,1987.[4] - Obstacle avoidance with ultrasonic sensors, IEEE JRobotics Automat. vol. RA-4, no. 2, pp. 213-218, 1988.[5] - Real-time obstacle avoidance for fast mobile robots, IEEETrans. Systems Man Cybern. vol. 19, no. 5, pp. ll79-1187,Sept./Oct. 1989.[6] - Histogramic in-motion mapping for mobile robot obstacleavoidance, IEEE Trans. Robotics Automat . vol. 7, to be published, Aug. 1991.

  • 8/13/2019 The Vector Field HistogramuFast Obstacle Avoidance

    11/11

    288 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 7, NO.3, JUNE 1991

    [7] - Real-time map-building for fast mobile robot obstacle avoidance, presented at SPIE Symp. on Advances in Intelligent Systems,Mobile Robots V, Boston, MA, Nov. 4-9, 1990.[8] R. A. Brooks, A robust layered control system for a mobile robot,IEEE J Robotics Automat. vol. RA-2, no. 1 pp. 14-23, 1986.[9] R. A. Brooks and J. H. Connell, Asynch ronous distributed controlsystem for a mobile robot, Proc. SPIE Mobile Robots vol. 727,pp. 77-84, 1987.[10] J. L Crowley, Dyna mic world modeling for an intelligent mobilerobot, in Proc. IEEE 7th Int. Conf. Pattern Recognition(Montreal, Canada, July 30-Aug. 2, 1984), pp. 207-210.[11] - World modeling and position estimation for a mobile robotusing ultrasonic rang ing, in Proc. IEEE Int. Conf. RoboticsAutomat. (Scottsdale, AZ, May 14-19, 1989), pp. 674-680.[12] K2A Mobile Platform Cybermation, Roanoke, VA, 1987.[13] A. Elfes, Sonar-based real-world mapping and naviga tion, IEEEJ Robotics Automat. vol. RA-3, no. 3, pp. 249-265, 1987.[14] A. M. Flynn, Combi ning sonar and infrared sensors for mobilerobot navigation, Int. J Robotics Res. vol. 7, no. 6, pp. 5-14,Dec. 1988.[15] W. S. Newman and N. Hogan, High speed robot control andobstacle avoidance using dynamic potential functions, in Proc.IEEE Int. Conf. Robotics Automat. (Raleigh, NC, Mar. 31-Apr.3, 1987), pp. 14-24.[16] 0. Khatib, Real -time obstacle avoidance for manipulators and mobile robots, in Proc. I EEE Int. Conf. Robotics Automat. (St.Louis, MO, Mar. 25-28, 1985), pp. 500-505.[17] Y. Koren and J. Borenstein, Analy sis of control methods for mobilerobot obstacle avoidance, in Proc. IEEE Int. Workshop Intelli-gent Motion Control (Istanbul, Turkey, Aug. 20-22, 1990), pp.457-462.[18] - Critical analysis of potential field methods for mobile robotobstacle avoidance, IEEE Trans. Robotics Automat. submittedfor publication.[19] B H. Krogh, A generalized potential field approach to obstacleavoidance con trol , presented at Int. Robotics Res. Conf., BethlehemPA, Aug. 1984.[20] B. H. Krogh and C. E. Thorpe, Integr ated path planning anddynamic steering control for autonomous vehic les, in Proc. IEEEInt. Conf. Robotics Automat. (San Francisco, CA, Apr. 7-10,1986), pp. 1664-1669.[21] R. Kuc and B. Barshan, Navigating vehicles through an unstructuredenvironment with sona r, in Proc. IEEE Int. Conf . RoboticsAutomat. (Scottsdale, AZ, May 14-19, 1989), pp. 1422-1426.[22] V. Lumelsky and T. Skewis, A paradigm for incorporating vision inthe robot navigation function, in Proc. IEEE Conf. RoboticsAutomat. (Philadelphia, PA, Apr. 25, 1988), pp. 734-739.[23] H. P. Moravec and A. Elfes, High resolution maps from wide anglesonar, in Proc. IEEE Conf. Robotics Automat. (Washington,DC), 1985, pp. 116-121.[24] H P. Moravec, Sensor fusion in certainty grids for mobile robo ts,AI Mag., pp. 61-74, Summer 1988.[25] POLAROID Corporation, Ultrasonic Components Group, Cambridge,MA, 1990.

    [26] U. Raschke and J. Borenstein, A comparisson of grid-type mapbuilding techniques by index of perfo rmance, in Proc. IEEE Int.Conf. Robotics Automat. (Cincinnati, OH, May 13-18, 1990).[27] C F. Thorpe, Path relaxation: Path planning for a mobile robot,Carnegie-Mellon Univ. The Robotics Institute, Mobile Robots Lab.,Autonomous Mobile Robots, Annual Rep., pp. 39-42, 1985.[28] C. R. Weisbin, G. de Saussure, and D. Kammer, SELF -CONTROLLED. A real-time expert system for an autonomous mobilerobot, Computers Mechanic. Eng . pp. 12-19, Sept. 1986.[29] Y. Zhao, S. L BeMent, and J. Borenstein, Dynamic path planningfor mobile robot real-time navigation , presented at 12th lASTEDInt. Symp. Robotics and Manufacturing, Santa Barbara, CA, Nov.

    13-15, 1989.

    Johann orenstein (M'88) received the B.Sc.,M.Sc., and D.Sc. degrees in mechanical engineering in 1981, 1983, and 1987, respectively, fromthe Technion-Israel Institute of Technology,Haifa, Israel.Since 1987, he has been with the Robotics Systems Division at the University of Michigan, AnnArbor, where he is currently an Assistant ResearchScientist and Head of the MEAM Mobile RoboticsLaboratory. His research interest include mobilerobot navigation, obstacle avoidance, path planning, real-time control, sensors for robotic applications, multisensor integration, and computer interfacing and integration.

    Yoram oren (M'76-SM'88) has 25 years ofresearch, teaching, and consulting experience inthe automated manufacturing field. At present he isa Professor in the Department of Mechanical Engineering and Applied Mechanics at the Universityof Michigan, Ann Arbor. He has published over100 papers and three books on machine tool control, robotics, sensing methods, and modeling ofprocesses. His book Computer Control for Man-ufacturing Systems (McGraw-Hill, 1983) is usedas a textbook at major universities and received the1984 Textbook Award for the Society of Manufacturing Engineering (SME).His book, Robotics for Engineers (McGraw-Hill, 1985), was translated

    into Japanese and French and is used by engineers throughout the world.Prof. Koren is a Fellow of the ASME, an Active Member of CIRP, and aFellow of SME/Robotics-International.