VFH*: Local Obstacle Avoidance with Look-Ahead Verification

Similar documents
A Binarization Algorithm specialized on Document Images and Photos

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

An Optimal Algorithm for Prufer Codes *

Anytime Predictive Navigation of an Autonomous Robot

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

Wishing you all a Total Quality New Year!

USING GRAPHING SKILLS

Feature Reduction and Selection

Mathematics 256 a course in differential equations for engineering students

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Load Balancing for Hex-Cell Interconnection Network

An Image Fusion Approach Based on Segmentation Region

XV International PhD Workshop OWD 2013, October Machine Learning for the Efficient Control of a Multi-Wheeled Mobile Robot

Virtual Machine Migration based on Trust Measurement of Computer Node

3D vector computer graphics

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Reducing Frame Rate for Object Tracking

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Support Vector Machines

The Codesign Challenge

Brave New World Pseudocode Reference

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Proper Choice of Data Used for the Estimation of Datum Transformation Parameters

CS 534: Computer Vision Model Fitting

S1 Note. Basis functions.

Edge Detection in Noisy Images Using the Support Vector Machines

Sensory Redundant Parallel Mobile Mechanism

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Parallel matrix-vector multiplication

ROBOT KINEMATICS. ME Robotics ME Robotics

Optimizing Document Scoring for Query Retrieval

Meta-heuristics for Multidimensional Knapsack Problems

Simulation Based Analysis of FAST TCP using OMNET++

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

Machine Learning: Algorithms and Applications

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

High-Boost Mesh Filtering for 3-D Shape Enhancement

User Authentication Based On Behavioral Mouse Dynamics Biometrics

Some Advanced SPC Tools 1. Cumulative Sum Control (Cusum) Chart For the data shown in Table 9-1, the x chart can be generated.

Integration of Planning and Control in Robotic Formations

Intro. Iterators. 1. Access

Biostatistics 615/815

Petri Net Based Software Dependability Engineering

Hermite Splines in Lie Groups as Products of Geodesics

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

3-Wheel Swerve Drive - The Trouble with Tribots

Lecture 5: Multilayer Perceptrons

NAG Fortran Library Chapter Introduction. G10 Smoothing in Statistics

COMPARISON OF TWO MODELS FOR HUMAN EVACUATING SIMULATION IN LARGE BUILDING SPACES. University, Beijing , China

TN348: Openlab Module - Colocalization

Load-Balanced Anycast Routing

Solving two-person zero-sum game by Matlab

Term Weighting Classification System Using the Chi-square Statistic for the Classification Subtask at NTCIR-6 Patent Retrieval Task

Probabilistic Map Building by Coordinated Mobile Sensors

Collaboratively Regularized Nearest Points for Set Based Recognition

A high precision collaborative vision measurement of gear chamfering profile

Smoothing Spline ANOVA for variable screening

Problem Set 3 Solutions

Concurrent Apriori Data Mining Algorithms

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Learning-Based Top-N Selection Query Evaluation over Relational Databases

Reciprocal Collision Avoidance for Multiple Car-like Robots

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

A fault tree analysis strategy using binary decision diagrams

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Inverse Kinematics (part 2) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Spring 2016

y and the total sum of

The Research of Ellipse Parameter Fitting Algorithm of Ultrasonic Imaging Logging in the Casing Hole

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

An Efficient Genetic Algorithm with Fuzzy c-means Clustering for Traveling Salesman Problem

LOOP ANALYSIS. The second systematic technique to determine all currents and voltages in a circuit

Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide

A Computational Feasibility Study of Failure-Tolerant Path Planning

MULTISPECTRAL IMAGES CLASSIFICATION BASED ON KLT AND ATR AUTOMATIC TARGET RECOGNITION

Comparison of Heuristics for Scheduling Independent Tasks on Heterogeneous Distributed Environments

A Real-time Local Path Planning Method Based on SVM for UGV

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

CSE 326: Data Structures Quicksort Comparison Sorting Bound

Related-Mode Attacks on CTR Encryption Mode

Simulation: Solving Dynamic Models ABE 5646 Week 11 Chapter 2, Spring 2010

Outline. Discriminative classifiers for image recognition. Where in the World? A nearest neighbor recognition example 4/14/2011. CS 376 Lecture 22 1

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Cluster Analysis of Electrical Behavior

Design for Reliability: Case Studies in Manufacturing Process Synthesis

Support Vector Machines

Classification Based Mode Decisions for Video over Networks

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

Corner-Based Image Alignment using Pyramid Structure with Gradient Vector Similarity

Transcription:

2000 IEEE Internatonal Conference on Robotcs and Automaton, San Francsco, CA, Aprl 24-28, 2000, pp. 2505-25 VFH*: Local Obstacle Avodance wth Look-Ahead Verfcaton Iwan Ulrch and Johann Borensten The Unversty of Mchgan Dept. of Mechancal Engneerng and Appled Mechancs wan@r.cmu.edu, johannb@umch.edu ABSTRACT Ths paper presents an enhancement to the earler developed Vector Feld Hstogram (VFH) method for moble robot obstacle avodance. The enhanced method, called VFH*, successfully deals wth stuatons that are problematc for purely local obstacle avodance algorthms. The VFH* method verfes that a partcular canddate drecton gudes the robot around an obstacle. The verfcaton s performed by usng the A* search algorthm and approprate cost and heurstc functons.. INTRODUCTION Many moble robot systems combne a global pathplannng module wth a local obstacle avodance module to perform navgaton. Whle the global path planner determnes a sutable path based on a map of the envronment, the obstacle avodance algorthm determnes a sutable drecton of moton based on recent sensor data. Obstacle avodance s performed locally n order to ensure that real-tme constrants are satsfed. A fast update rate of the obstacle avodance algorthm s requred to allow the robot to safely travel at hgh speeds. In 985, Khatb presented the concept of artfcal potental felds, whch was the frst real-tme obstacle avodance algorthm for moble robots as well as for manpulators [6]. Around the same tme, Moravec and Elfes poneered the concept of certanty grds, a wdely popular map representaton that s well suted for sensor data accumulaton and sensor fuson [0]. By ntegratng the concept of potental felds wth the concept of certanty grds, Borensten and Koren developed the Vrtual Force Feld method []. However, based on ther experments, they dscovered and analyzed substantal shortcomngs that are nherent to the concept of potental felds [7]. In order to overcome these shortcomngs, they then developed the Vector Feld Hstogram (VFH), a method that looks for gaps n locally constructed polar hstograms [2]. VFH was less lkely to get trapped n local mnma and allowed robots to travel at faster speeds wthout becomng unstable [9]. Due to ts advantages, VFH became a popular obstacle avodance method. However, ts wde use resulted n the dscovery of shortcomngs. Several researchers, some of them nspred by ther experments wth VFH, then developed algorthms based on the novel concept of the Steer Angle Feld approach [4,5,]. We experenced smlar problems wth the orgnal VFH method when we mplemented t n the GudeCane, a specal type of moble robot for the gudance of the blnd [3]. Instead of changng the underlyng concept of VFH, we overcame ts problems wth four ncremental mprovements, whch led to VFH+ [2]. Frst, VFH+ takes nto account the wdth of the moble robot by usng an mplct confguraton space approach wthout explctly buldng the C- space [8]. Second, VFH+ takes nto account the robot trajectory. Ths mprovement s partcularly useful at hgh speed when the mnmum steerng radus can no longer be neglected. Thrd, VFH+ results n a trajectory that s less oscllatory due to a threshold hysteress. Fourth, VFH+ s able to commt to a drecton due to an mproved drecton selecton, whch s based on a cost functon. Although we were satsfed wth the performance of VFH+ n general, the algorthm sometmes made undesrable choces. Because these stuatons occurred rarely, the underlyng problem was only dscovered after extensve testng of the GudeCane. In the next secton we wll gve a detaled descrpton of such a stuaton that s problematc for a purely local obstacle avodance algorthm lke VFH+. Secton 3 outlnes the VFH* algorthm, whch overcomes ths problem wth look-ahead verfcaton. Secton 4 explans the purpose of the search parameters, whle Secton 5 descrbes the VFH* algorthm n detal. Secton 6 presents expermental results, and the paper ends wth a concluson n Secton 7. 2. PURELY LOCAL OBSTACLE AVOIDANCE VFH+ sometmes fals to choose the most approprate drecton because of ts purely local nature. The nherent problem of purely local obstacle avodance algorthms can best be explaned wth an example. Fg. shows a stuaton where a moble robot travels down a corrdor and encounters two obstacles n ts path. Obstacles are shown n black, whle the confguraton space s shown n gray. Although VFH+ uses the concept of con-

fguraton space only mplctly, the confguraton space s drawn explctly for better vsualzaton. The large crcle drawn n a dashed lne shows the approxmate dstance at whch an obstacle trggers an avodance maneuver. At the poston shown n the example, VFH+ detects two openngs. Whle the openng to the left results n the undesrable trajectory A, the openng to the rght results n trajectory B, whch at pont p eventually turns nto the desrable trajectory C. Unfortunately, both trajectores A and B appear equally approprate to VFH+. In problematc stuatons lke ths, VFH+ would thus select the approprate drecton on average only 50% of the tme. It s mportant to note that we expect the same problem to occur wth other purely local obstacle avodance algorthms, such as those based on the steer angle feld approach. The underlyng problem s that purely local systems only consder the mmedate effects of ther selected trajectory wthout verfyng ts consequence. It s also mportant to note that a larger trgger dstance would not elmnate the problem. The same problem would smply occur earler n the process. Unless the crcle was extremely large, the moble robot would stll have two choces when t encounters the obstacle. A large trgger dstance s also not practcal, because obstacle avodance maneuvers would start unnecessarly early. Moreover, a large trgger dstance mght lead the system to no longer detect exstng openngs and falsely report a trap stuaton. The VFH* algorthm descrbed n ths paper overcomes problematc stuatons lke ths one most of the tme by combnng VFH+ wth the A* search algorthm. VFH* does so by projectng the trajectory of the robot several steps ahead and evaluatng the consequences. Whle VFH* s no longer purely local, t s stll a local algorthm and thus performs n real-tme. 3. THE VFH* ALGORITHM The VFH+ method bulds a polar hstogram around the robot s current poston, looks for openngs n the hstogram, and then determnes between one and three sutable drectons for each openng. VFH+ also assgns a cost value to each of these prmary canddate drectons. VFH+ then selects the prmary canddate drecton wth the lowest cost as ts new drecton of moton. In contrast, VFH* analyzes the consequences of headng towards each prmary canddate drecton before makng a fnal choce for the new drecton of moton. For each prmary canddate drecton, VFH* computes the new poston and orentaton that the robot would have after movng for a projected step dstance d s. At every projected poston, VFH+ s agan used to construct Fgure : Problematc stuaton for purely local obstacle avodance algorthms. a new polar hstogram based on the map nformaton. Ths hstogram s then analyzed for canddate drectons, called projected canddate drectons. By repeatng ths process n g tmes, we buld a search tree of depth n g, where the end nodes (goals) correspond to a total projected dstance of d t = n g d s. The goal of ths search process s to fnd a sutable projected trajectory of dstance d t. Nodes n the search tree represent the projected postons and orentatons of the moble robot. Arcs represent the canddate drectons leadng from one poston to another. For every canddate drecton c, a cost g(c) s calculated smlar to the cost functon used n VFH+. The cost assocated wth a node s smply the sum of the costs of the branches leadng back to the start node. The prmary canddate drecton that leads to the end node wth the smallest total cost s then selected as the new drecton of headng ϕ d. For an easer understandng of the concept, we have descrbed VFH* as f t was based on the breadth-frst search (BFS) algorthm. Actually, VFH* employs the A* search method and uses a heurstc functon h(c) that s smlar to the cost functon of VFH+. The prorty value for each node s then defned by f(c) = g(c) + h(c). Because t takes much less tme to compute the heurstc functon than to expand a node, A* s much faster than BFS for our applcaton. Lke BFS, A* s optmal and complete, because our heurstc functon never overestmates the cost to reach the goal state.

4. SEARCH PARAMETERS The key parameters of VFH* are the total projected dstance d t, the projected step dstance d s, and the goal depth n g. These parameters are related to each other through: d t = n g d s. The goal depth s proportonal to the total projected dstance d t. The hgher d t s selected, the larger the total look-ahead, and the better the results of VFH* are. However, f ths parameter s selected too hgh, the obstacle avodance algorthm s slowed down substantally. It s not recommended to choose a value for the total projected dstance that exceeds the range of the robot s sensors, unless the robot has an accurate map of a manly statc envronment. The selecton of d t s thus a trade-off between the speed and the qualty of the algorthm. If possble, ths parameter should be set close to the range of the robot s sensors. The goal depth s nversely proportonal to the projected step dstance d s. If d s s selected too large, the new poston mght be ncorrectly projected through or rght nto an obstacle. If d s s selected too small, the effect of a sngle projecton s too small, resultng n a hgh value for n g. Ths would result n an unnecessary deep search tree, whch would substantally slow down the obstacle avodance algorthm. The selecton of d s s thus a tradeoff between the speed and the valdty of the algorthm. Based on our experments, we recommend settng ths parameter equal to the dameter of the robot. It s mportant to note that the VFH+ method s a specal case of the VFH* method, where n g s set equal to one, such that d t s equal to d s. 5. THE EXPANSION STEP The expanson of a node n conssts of buldng the polar hstogram at the node's projected poston (x,y ), determnng the correspondng canddate drectons, calculatng the projected poston and orentaton of the followng nodes, determnng the cost of reachng these nodes, and determnng ther heurstc values. The frst two steps, buldng the polar hstogram and determnng the correspondng canddate drectons, are performed n the same way as n the VFH+ algorthm. The three remanng steps are descrbed n detal n the followng sectons. 5. Projecton of Poston and Orentaton The computaton of the projected poston (x +,y + ) and orentaton θ + for a canddate drecton can be done n several ways. In our approach, the projected robot trajectory s approxmated by arcs of a crcle and straght lnes. Ths s the same model that we used n VFH+ to take nto account the robot trajectory. Ths approxmaton s a sutable trade-off between algorthm accuracy and speed. Example trajectores are shown n Fg. 2: Fgure 2: Trajectory approxmaton. The parameters of ths trajectory model are the projected step dstance d s and the mnmum steerng rad r r and r l for rght and left turns respectvely. For a gven canddate drecton, the algorthm frst determnes f the robot can reach ths orentaton durng the projected step dstance. If not, the projected trajectory s smply approxmated by a curve wth constant curvature. It s also necessary to dstngush between canddate drectons to the rght and to the left of the robot. Thus, we end up wth four sets of equatons. The maxmum drectons to the rght and to the left are defned by: d s θr =θ r 5.2 The Cost Functon r d s θ l = θ + () rl The cost functon for a prmary canddate drecton c 0 leadng from the root node at depth zero to a successor node s dentcal to the one used n the VFH+ method: θn g 0 ( c0 ) = µ ( c0, kt ) + µ 2 c0, + µ 3 ( c0, k d, n ) (2) α wth: 0 360 360, 2 = mn c c2, c c2, c c2 + α α ( c c ) where: α: angular resoluton of hstogram θ n : current orentaton k t : target drecton dvded by α k d,n- : prevously selected drecton of moton / α The three terms of the cost functon retan the same 0 (3)

purpose as n the VFH+ method. Whle the frst term s responsble for the goal-orented behavor, the two other terms make the robot commt to a drecton. For a goalorented robot, we stll have the followng condton: µ > µ 2 + µ [condton ] 3 For a projected canddate drecton c of a node at depth larger than zero, we propose a slghtly modfed cost functon as follows: g ( c ) = λ [ µ max t e, t wth: k e { ( c, k ), ( k k )} θ µ + 2 c, µ 3 ( c, c ) (4) α + y + y = arctan (5) x+ x and: 0 < λ (6) The frst term of (4) agan represents the cost assocated wth the devaton from the target drecton, resultng n the goal-orented behavor. However, ths term s slghtly dfferent for a projected canddate drecton than t s for a prmary canddate drecton. In the case of a projected canddate drecton, ths term also consders the effectve drecton of moton k e, or n other words, the forward progress of a trajectory. There s an mportant dfference between a canddate drecton c and the correspondng effectve drecton of moton k e. Ideally, we want them both to be n the same drecton as the target drecton. However, dependng on the robot s current orentaton and stuaton, t s possble for one of them to be equal to the target drecton whle the other one largely devates from t. If we dd not consder the effectve drecton of moton, a part of the projected trajectory could have very low cost even though t does not make any forward progress at all. Fg. 3 shows an example, where the cost assocated wth the frst term would be zero. By ncludng the effectve drecton of moton n the frst term, the cost of ths trajectory becomes hgh, as t provdes no forward progress at all. It s mportant to note that for a prmary canddate drecton the frst term of the cost functon does not nclude the effectve drecton of moton. As the robot has no control over the current orentaton, there s no reason to assocate a cost wth the effectve drecton of moton of a prmary canddate drecton. In contrast, the robot has some control over ts projected trajectory. Therefore, t makes sense to assocate a cost wth the effectve drecton of moton of a projected canddate drecton. Fgure 3: Trajectory part wth zero target drecton cost The second and thrd term have a dfferent meanng for a projected canddate drecton than for a prmary canddate drecton. In the case of a prmary canddate drecton, these terms represent a short-term memory effect that makes the robot commt to a drecton. In the case of a projected canddate drecton, the second and thrd term represent a cost assocated wth the smoothness of a projected trajectory. The hgher µ ' s, the more goal orented the robot s behavor s. The hgher µ 2 ' and µ 3 ' are, the more the robot tres to fnd a smooth path. Only the relatve values of these parameters are mportant, not ther absolute values. For a goal-orented robot, the followng condton must be satsfed: µ > µ 2 + µ 3 [condton 2] To emphasze the mportance of a prmary canddate drecton over a projected canddate drecton, the followng condton must also be satsfed: µ µ [condton 3] Experments wth the GudeCane and smulatons have shown that a good set of parameters for a goalorented moble robot s: µ = 5 µ 2 = 2 µ 3 = 2 µ ' = 5 µ 2 ' = µ 3 ' = (7) Another mportant parameter s the dscount factor λ, whch we set to 0.8 n our experments. Instead of gvng equal weght to all canddate drectons ndependent of ther depth, they are weghted by a factor λ. There are three reasons for the ntroducton of ths factor. Frst, t decreases the problem of a fxed goal depth n g wth a sharp cut-off. Wthout λ, all branches would have the same weght and the obstacle avodance algorthm would not always behave as desred. An example of such a case wth n g set to 7 s shown n Fg. 4, where the goal drecton s ndcated by k t. Wthout λ, the total cost of trajectory B would be cheaper than the one of trajectory A. As a result, the robot keeps movng towards the rght wthout makng any forward progress towards the goal drecton. Wthout λ, the obstacle avodance algo-

rthm has the undesred tendency to fnd trajectores that stop shortly before beng nfluenced by an obstacle. If n g was ncreased by one, trajectory B would become much more costly. However, even f trajectory B became more costly than trajectory A, the obstacle avodance algorthm would pck trajectory C as ts cheapest trajectory, agan tryng to stop shortly before beng nfluenced by an obstacle. By ntroducng λ, the cut-off at the last branch s less sharp, as the weght of the last branch becomes relatvely small. Consequently, trajectory A of our example becomes cheaper than trajectory B. Second, the dscount factor λ compensates somewhat for the uncertanty of the map nformaton. Due to ts sensors and the stochastc map buldng process, the moble robot s more certan about ts mmedate surroundngs. The further the projected poston s away from the current poston, the more uncertan the content of the map s at that poston. Fnally, not usng a dscount factor s dentcal to usng a dscount factor wth a value equal to one. Wth λ, we have more control over the weghts of the branches at dfferent depths, and we gan more control over the search algorthm's behavor. Ths heurstc only consders the cost assocated wth the next branch. It does not consder the cost assocated wth the effectve drecton of moton. Therefore, ths heurstc s not optmal as t underestmates the mnmum cost to reach a goal node. However, ths heurstc s admssble and computatonally very effcent. A better admssble heurstc that consders the cost assocated wth the effectve drecton of moton s: θ h n ) λ µ e t 2 t µ α ( k, k ) + µ k, + ( k c ) ( = 3 t, wth: k e (9) y+ y = arctan based on c = k t (0) x+ x Ths heurstc s better but computatonally more expensve than the prevous one. It s stll not optmal because t only consders the mnmum cost assocated wth the next branch. To compute an optmal heurstc value, one could smply expand (wthout buldng the polar hstogram and determnng the correspondng canddate drectons) the current node untl reachng the goal depth by usng the target drecton k t as the canddate drecton at each node. By summng up the correspondng costs, we could get the optmal heurstc value. Yet, ths heurstc requres more computatonal power. The dfference between these heurstcs s a trade-off between qualty and speed of the heurstc functon. However, the heurstc has no nfluence on the resultng drecton of headng. The frst heurstc s currently mplemented n the GudeCane. 5.4 The Branchng Factor Fgure 4: Stuaton that requres the dscount factor λ. 5.3 The Heurstc Functon The heurstc functon h(c) s the estmated cost of the cheapest path from a node n to the goal state. A functon s an admssble heurstc f t never overestmates the cost to reach the goal. Wth condton 2 satsfed, the cost s mnmal f the robot can head towards the target drecton k t at every followng node. We can thus get a smple admssble heurstc by replacng c n the cost functon wth k t : θ h n ) λ µ k t, + µ 3 α ( k c ) ( = 2 t, (8) By reducng the branchng factor b of the search tree, the search algorthm becomes faster and requres less memory. The branchng factor can be reduced by elmnatng redundant nodes. Each node has a number of successor nodes equal to the number of ts canddate drectons. Because the projected step dstance d s s usually small, several projected postons and orentatons of successor nodes can be dentcal. All canddate drectons that exceed θ r have the same projected poston and orentaton. Smlarly, all canddate drectons that exceed θ l have common values for the projected poston and orentaton. To reduce the branchng factor, all but the cheapest canddate drecton for each sde can be elmnated. The explanaton for the valdty of ths approach s smple. Consder a node wth several canddate drectons that exceed θ l. As ther projected postons and orentatons are dentcal, ther polar hstograms wll also be dentcal. Therefore, the remanng search trees wll be dentcal for all these canddate drectons. Only the thrd term of the cost functon asso-

cated wth these branches would be dfferent. As long as condton 2 s satsfed, the costs assocated wth the nodes of the search tree that starts at the canddate drecton wth the lowest cost are always lower than the correspondng nodes of the other canddate drectons. Due to ths node elmnaton method, the branchng factor b s rarely larger than three. Another speed mprovement was acheved by expandng the search tree only f there s more than one prmary canddate drecton. Wth only one prmary canddate drecton, there s no need to expand the search tree, as the robot has only one choce anyway. 6. EXPERIMENTAL RESULTS The advantage of VFH* over VFH+ depends manly on the goal depth n g, whch s proportonal to the dstance of look-ahead verfcaton. Although we have tested VFH* wth the GudeCane, we prefer to show results from a smulated obstacle course for a better comparson. In tests wth the GudeCane, the VFH* method performed equally well as long as the obstacles were detected by the robot s ultrasonc sensors. Fg. 5 shows the trajectores of VFH* wth four dfferent goal depth values. Fgure 6 shows the search trees at crtcal or nterestng postons. In all our experments, we used the frst heurstc. Fgure 5a shows the trajectory of VFH+. As explaned prevously, VFH* wth a goal depth of one s dentcal to VFH+. Shortly after avodng the frst two obstacles, VFH+ encounters a problematc stuaton that s smlar to the one descrbed n Secton 2. When the horzontal wall trggers an obstacle avodance maneuver, VFH+ makes an unfortunate choce and heads to the left. At the poston shown n Fg. 5a, VFH+ slows down or stops the robot, as ts mnmum turnng radus s too large for avodng the corner on ether sde. In the case of a holonomc or a dfferental-drve confguraton, the robot needs to substantally slow down, thus reducng ts mnmum turnng radus. In the case of a car-lke confguraton wth a non-zero mnmum turnng radus, the robot needs to stop, back up, and then proceed to the rght. Wth ether confguraton, t would have been better to turn to the rght earler. Fgure 5b shows the trajectory of VFH* wth a goal depth of two. Due to the look-ahead verfcaton, VFH* makes the correct decson and turns to the rght. Fgure 6a shows the search tree at the tme when ths crtcal decson happens. After drvng around the horzontal wall, VFH* gudes the robot nto a shallow dead-end. At the poston shown n Fg. 5b, VFH* detects that the robot entered a dead-end. Thus, the robot needs to back up or turn f ts mnmum turnng radus permts t. Fgure 5c shows the trajectory wth a goal depth of fve. In ths case, the goal depth s large enough to even avod the dead-end. Fgure 6b shows the search tree at the poston when VFH* detects the dead-end and decdes to avod t by turnng left. The depth of the deadends that can be avoded wth VFH* s proportonal to the value of the goal depth. However, t s clear that dead-ends can only be avoded f the range of the robot s sensors s farther than the depth of the dead-end, or f the dead-end s represented n a gven map. Fgure 5d shows the trajectory wth a goal depth of ten. In ths case, VFH* already detects at the very begnnng that t s better to turn rght than left. In addton, the dead-end avodance maneuver s ntated much earler. The search trees at the two crtcal postons are llustrated n Fg. 6c. Fgure 5 shows that the hgher n g s selected, the better VFH* performs. However, ths mprovement s at the expense of computatonal tme. Table shows an executon tme comparson based on the GudeCane s embedded computer, a PC 486 runnng at 66 MHz. The second a) b) c) d) Fgure 5: VFH* trajectory wth: a) n g =, b) n g = 2, c) n g = 5, and d) n g = 0. a) b) c) Fgure 6: VFH* search trees wth: a) n g = 2, b) n g = 5, c) n g = 0. The black curve ndcates the projected trajectory of the selected prmary canddate drecton. The gray lnes show the expanded tree branches of the trajectores wth hgher total costs than the trajectory n black.

column averages the computaton tme over a densely cluttered obstacle course, excludng the tmes when there was only one prmary canddate drecton. The thrd column shows the maxmum observed requred computaton tme, rangng from 6 to 242 ms. In summary, the VFH* method s fast as long as the goal depth n g s kept small. The average executon tme s very short even wth a goal depth as hgh as ten. However, the crtcal value s the maxmum executon tme, whch lmts the goal depth for an applcaton. The maxmum requred tme could be decreased by applyng addtonal branchng factor reducton technques and by optmzng the software. n g T average T maxmum 3 ms 6 ms 2 5 ms ms 3 8 ms 22 ms 4 0 ms 39 ms 5 2 ms 82 ms 0 30 ms 242 ms Table : VFH* executon tme. Tests wth both the smulated and the real GudeCane have shown that a goal depth of just two s often suffcent to deal wth problematc stuatons. As the GudeCane s on-board computer s clocked at only 66 MHz, we selected a value of two for the goal depth n the current mplementaton. Wth the range of the GudeCane s sonars, a goal depth between 3 and 5 would be optmal. However, the correspondng worst-case executon tme s too slow wth the current on-board computer to allow safe travel at hgh speed. Smlar to VFH+, the VFH* method s not very senstve to ts parameter values, and only lttle tme s usually requred for parameter tunng. As long as condtons to 3 are satsfed and the parameter values are selected reasonably, the VFH* method performs well. 7. CONCLUSION Ths paper presented VFH*, a local obstacle avodance algorthm that uses look-ahead verfcaton to consder more than the robot's mmedate surroundngs. Whle VFH* has the same obstacle avodance performance as VFH+ for regular obstacles, VFH* s capable of dealng wth problematc stuatons that would requre the robot to substantally slow down or even stop. Expermental tests wth the real GudeCane and smulatons have proved to be very successful. ACKNOWLEDGMENT Ths research was funded by the Whtaker Foundaton. REFERENCES [] Borensten, J., and Koren, Y., "Real-tme Obstacle Avodance for Fast Moble Robots", IEEE Transactons on Systems, Man, and Cybernetcs, Vol. 9, No. 5, Sept./Oct. 989, pp. 79-87. [2] Borensten, J., and Koren, Y., "The Vector Feld Hstogram - Fast Obstacle Avodance for Moble Robots", IEEE Journal of Robotcs and Automaton, Vol. 7, No. 3, June99, pp. 278-288. [3] Borensten, J., and Ulrch, I., "The GudeCane - A Computerzed Travel Ad for the Actve Gudance of Blnd Pedestrans", IEEE Int. Conf. on Robotcs and Automaton, Aprl 997, pp. 283-288. [4] Feten, W., Bauer, R., and Lawtzky, G., "Robust Obstacle Avodance n Unknown and Cramped Envronments", IEEE Int. Conf. on Robotcs and Automaton, May 994, pp. 242-247. [5] Fox, D., Burgard, W., and Thrun, S., "The dynamc wndow approach to collson avodance", IEEE Robotcs and Automaton Magazne, Vol. 4, No., March 997, pp. 23-33. [6] Khatb, O., "Real-Tme Obstacle Avodance for Manpulators and Moble Robots", IEEE Int. Conf. on Robotcs and Automaton, March 985, pp. 500-505. [7] Koren, Y., and Borensten, J., "Potental Feld Methods and Ther Inherent Lmtatons for Moble Robot Navgaton", IEEE Int. Conf. on Robotcs and Automaton, Aprl 99, pp. 398-404. [8] Lozano-Pérez, T., "Spatal Plannng: A Confguraton Space Approach", IEEE Transactons on Computers, Vol. C-32, No. 2, 983, pp. 08-20. [9] Manz, A., Lscano, R., and Green, D.A., "A Comparson of Realtme Obstacle Avodance Methods for Moble Robots", Expermental Robotcs, Toulouse, France, June 99. [0] Moravec, H.P., and Elfes, A., "Hgh resoluton maps from wde angle sonar", IEEE Int. Conf. on Robotcs and Automaton, March 985, pp. 6-2. [] Smmons, R., "The Curvature-Velocty Method for Local Obstacle Avodance, IEEE Int. Conf. on Robotcs and Automaton, Aprl 996, pp. 3375-3382. [2] Ulrch, I., and Borensten, J., "VFH+: Relable Obstacle Avodance for Fast Moble Robots", IEEE Int. Conf. on Robotcs and Automaton, May 998, pp. 572-577.