Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA...

73
Gross Motion Planning—A Survey YONG K. HWANG Sundla National Laboratories, Albuquerque. New Mexico 87185 NARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs 61801 Motlonplanning lsoneofthe mostimportant areasofrobotics research The complexity of the motion-planning problem has hindered the developmentof practical algorithms. This paper surveys the work on gross-motionplanning, including motion planners for point robots, rigid robots, and manipulators in stationary, time-varying, constrained, and movable-objectenvironments.The generalissuesin motion planning are explained Recentapproachesandtheir performancesare briefly described,and possiblefuture researchdirections are discussed. Categoriesand Subject Descriptors: 1.2.8 [Artificial Intelligence] : Problem Solving, Control Methods, and Search—graph and tree search strategies; heuristic methods; 1.2.9 [Artificial Intelligence]: Robotics;1.2.10[Artificial Intelligence]: Vision and SceneUnderstanding—rnotzon General Terms: Algorithms, Theory Additional Key Words and Phrases:Collision detection,computational geometry, implementation, motion planning, obstacleavoidance,path planning, spatial representation INTRODUCTION Until recently, robots were primarily employed for carrying out programmed, repetitious tasks. Methodologies and algorithms for autonomous functioning were examined, but their implementa- tion was hindered by the slow computing hardware. With the rapid advances in semiconductor and computing technol- ogy, it has become feasible to build robots that can function at reasonable speeds. Much research has been done to develop theories and algorithms needed for robots to process information and interact with the environment. Examples of such capa- bilities include perception, reasoning, planning, manipulation, and learning. This paper is concerned with the state of the art of the research done on autonomous motion planning. Consider a highly automated factory where mobile robots pick up parts and deliver them to assembly robots (Figure 1). The robots must find their way to parts, pick them up, and move to the assembly stations. All these motions have to be executed without colliding with objects and other robots. Paths of the robots have to be short, and the pickup operations should not include unneces- sary movements. Without a motion plan- ner for the robots and arms, human operators have to constantly specify the motions. An automatic motion planner will relieve the operators from this Permissionto copywithout fee all or part of this material m granted provided that the copiesare not made or distributed for direct commercial advantage,the ACM copyright notice and the title of the pubhcatlon and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copyotherwise, or to republish, requires a fee and\or specificpermission. 01992 ACM 0360-300/92/0900-0219 $01.50 ACM Computing Surveys, Vol 24, No 3, September 1992

Transcript of Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA...

Page 1: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross Motion Planning—A Survey

YONG K. HWANG

Sundla National Laboratories, Albuquerque. New Mexico 87185

NARENDRA AHUJA

Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs 61801

Motlonplanning lsoneofthe mostimportant areasofrobotics research The complexityof the motion-planning problem has hindered the developmentof practical algorithms.This paper surveysthe work on gross-motionplanning, including motion planners forpoint robots, rigid robots, and manipulators in stationary, time-varying, constrained,andmovable-objectenvironments.The generalissuesin motion planning are explainedRecentapproachesandtheir performancesare briefly described,and possiblefutureresearchdirections are discussed.

Categoriesand Subject Descriptors: 1.2.8 [Artificial Intelligence] : Problem Solving,

Control Methods, and Search—graph and tree search strategies; heuristic methods;

1.2.9 [Artificial Intelligence]: Robotics;1.2.10[Artificial Intelligence]: Vision andSceneUnderstanding—rnotzon

General Terms: Algorithms, Theory

Additional Key Words and Phrases:Collision detection,computational geometry,implementation, motion planning, obstacleavoidance,path planning, spatialrepresentation

INTRODUCTION

Until recently, robots were primarilyemployed for carrying out programmed,repetitious tasks. Methodologies andalgorithms for autonomous functioningwere examined, but their implementa-tion was hindered by the slow computinghardware. With the rapid advances insemiconductor and computing technol-ogy, it has become feasible to build robotsthat can function at reasonable speeds.Much research has been done to developtheories and algorithms needed for robotsto process information and interact withthe environment. Examples of such capa-bilities include perception, reasoning,planning, manipulation, and learning.

This paper is concerned with the state ofthe art of the research done onautonomous motion planning.

Consider a highly automated factorywhere mobile robots pick up parts anddeliver them to assembly robots (Figure1). The robots must find their way toparts, pick them up, and move to theassembly stations. All these motions haveto be executed without colliding withobjects and other robots. Paths of therobots have to be short, and the pickupoperations should not include unneces-sary movements. Without a motion plan-ner for the robots and arms, humanoperators have to constantly specify themotions. An automatic motion plannerwill relieve the operators from this

Permissionto copywithout fee all or part of this material m granted provided that the copiesare not madeor distributed for direct commercialadvantage,the ACM copyright notice and the title of the pubhcatlonand its date appear, and notice is given that copying is by permission of the Association for ComputingMachinery. To copyotherwise, or to republish, requires a fee and\or specificpermission.01992 ACM 0360-300/92/0900-0219 $01.50

ACM Computing Surveys, Vol 24, No 3, September 1992

Page 2: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

220 “ Y. K. Huang and N. Ahuja

CONTENTS

[INTRODUCTION1 NATURE OF MOTION-PLANNING PROBLEM

1 1 Defimtlon of TermsI 2 Complexity of Mot]on Plannlng

13 Classdicat~on of Motion-Plannmg Problems14 C!lasslficat] on of Motion-Plannm~ Akorlthms

2 BASIC ISSUES AND STEPS IN - -MOTION PLANNING

2 1 World Space \,s Configuration Space22 Object Sensing and Representation

23 Approaches to MotIon Plannlng24 Search Methods

25 Local Optlmlzat]on of MotIon

SURVEY OF RECENT WORK31 Stationary Envmcmmen.s32 Time-Varying Envmmment33 MotIon Planning with Constraints34 Movable-Object Problem

3.5 Comparmon Tables4 CONCLUSIONS

ACKNOWLEDGMENTS

REFERENCES

tedious job and enable them to control ata supervisory level. In turn, this in-creases efficiency by eliminating humanerrors. The need for collision avoidanceand efficient motion leads to the problemof motion planning (MP). Motion plan-ning can be broadly classified as eithergross- or fine-motion planning.

Gross-motion planning is concernedwith the problems involving free spacemuch wider than the objects’ sizes plusthe positional error of the robot. Thisensures that positional error will notcause unexpected collisions while execut-ing the collision-free paths generated bygross motion planners. Fine-motion plan-ning deals with the problem of movingobjects when the space is so narrow thatthe required accuracy of motion exceedsa robot’s positional accuracy. Each prob-lem requires a different approach to planmotion.

This paper presents a survey of recentdevelopments in gross-motion planning.It summarizes the past work, mostly incomputational geometry and robotics,and discusses possible directions forfuture research. It is directed towardpeople interested in motion-planning

Figure 1. Robotsin an automated factory Mobilerobots dehver parts from the warehouseto assem-bly robots, Mobde robots need to find short pathswhaleavoldmgob]ectsand other robots The assem-bly robots also needto avoid colhwonsduring theu-assemblymotions.

research or in implementing an algo-rithm on real robots. There are severaldifferent classes of motion-~ lannin~problems. Motion planning can ‘be stati~or dynamic, depending on whether theinformation on the robot’s environmentis fixed or updated. If obstacles are sta-tionary (moving), it is called time invari-ant (time varying). If robots can movesome objects, it is called the movable-object problem. If motions of more thanone robot are planned, it is called themultimovers problem. If the robot canchange its shape it is conformable. Mo-tion planning is either constrained or un-constrained, depending on whether thereare constraints on a robot’s motion otherthan the geometric interference. Theseinclude bounds on a robot’s velocity andacceleration and constraints on the cur-vature of a robot’s paths.

In order to review the past work inthese categories, a classification schemeis developed in Section 1. Complexity ofmotion planning is also discussed in Sec-tion 1. Section 2 discusses the basic issuesand steps common to all motion-planningapproaches. Section 3 surveys work onmotion planning following the classifica-tion scheme presented in Section 1, andfor each class surveying differentapproaches according to how they addressthe issues described in Section 2. Section

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 3: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning 8 221

4 concludes this paper with suggestionsfor developing efficient Ml? algorithms.

1. NATURE OF MOTION-PLANNINGPROBLEM

This section introduces the definitions ofterms used in MP. The complexity of MPis then discussed to show how hardMP is. Readers not interested in com-plexity analysis may skip this part(Section 1.2). Next, classification of thedifferent gross-motion-planning prob-lems and algorithms are presented, whichare used to survey the MP work in Sec-tion 3.

1.1 Definitions of Terms

We will give definitions of terms andillustrate concepts using Figure 2. Robotsare the things that are moving, whetherpoints, polytopes, or manipulators. Amanipulator is a mechanical arm con-sisting of links and joints. Polytopes arepolygons in two dimensions (2D) or poly-hedra in three dimensions (3 D). Theshapes of rigid robots or links of manipu-lators are typically given as polytopes orby formula using constructive solidgeometry. The world space refers to thephysical space in which robots and obsta-cles exist. The configuration of an objectof a given shape is a set of independentparameters that characterizes theposition of euery point in the object. Sixnumbers are needed to specify theconfiguration of a rigid body in threedimensions (three for position, three fororientation specification). Given theshape of each link of a manipulator, theconfiguration of the manipulator can bespecified by the angles at its joints(Figure 2a). The number of parametersspecifying the configuration of an objectis called the degrees of freedom (dofl ofthe object. The set of all configurationsare called the configuration space(Cspace). The free space refers to parts ofthe world space not occupied by obstaclesor parts of the Cspace for which the robotdoes not collide with any obstacle. Weuse the term feasible to mean collisionfree. The path of an object is a curve in

the configuration space. The manipulatormotion in Figure 2b corresponds to thepath in Figure 2c. The curve is repre-sented either by a mathematicalexpression or by a sequence of pointsalong the curve. The trajectory is thepath along with an assignment oftime—the time assigned to a point alongthe path denotes the time instant atwhich the object assumes the configura-tion associated with that point. Motionplanning is a general term that refers toeither path planning or trajectory plan-ning.

For complexity analysis, m and ndenote the complexities of robots andobstacles, respectively, For polygonal(polyhedral) objects, m and n denote thenumber of edges (faces and edges) unlessstated otherwise. The number of degreesof freedom of a robot is denoted by d;0( ) denotes a lower bound. The termsdescribing the hardness of problems arebriefly explained. If there is apolynomial-time algorithm to solve aproblem, the problem is said to be in P. Aproblem is in NP (rmndeterministic poly-nomial) if there is a polynomial-time al-gorithm to verify a solution to the prob-lem (thus P c NP). This means that aproblem i~ NP can be solved in polyno-mial time if we have an infinite numberof computers to verify in parallel all pos-sible branches of the search tree of possi-ble solutions to the problem. In otherwords, an NP problem requires a verylong computation time to solve if theproblem size is large. A problem is NP-hard if it is at least as difficult as any NPproblem. NP-hardness of a problem isproved by transforming the problem toone of the known NP-hard problems. Aproblem is NP-complete if it is in NP andNP-hard, and there are several knownNP-complete problems. The question ofwhether or not P = NP is still open. Sinceit is not known if there is an NP problemthat has an exponential lower bound, onecannot conclude that an NP-hard prob-lem has an exponential lower bound. Aproblem is in PSPACE if it requires a(memory) space polynomial in the prob-lem size. Similar definitions apply to

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 4: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

222 “ Y. K. Hwang and N. Ahuja

Y

k’92

f%x

(a]Theconbwr.tm.parametersof aZ!k.krnm,p.lamamthejo,ntanglesq and82other.hocesarewss,ble The number of

dwe.s of freedom IS 2

%

I

I

(b] A collmonfreemm.n 01a2 Iknkrwn,pulatorbetweenthestariandthegoalconf,g.rat$onsamongp.lyg.nal obstacles

(c) The con f,gural,on space.( the manipulatorThe shaded reg,ons correspnd 10 the conf,g.rawms m whtcb the marup.later cdhdesWh obsracfes The mol!on m (b) Correspandz10 the sequence 0$ con flgurallons ConnectfnqSand G

Figure 2. Configuration of a robot.

PSPACE-hardness and PSPACE -completeness. A more detailed discussionabout the hardness can be found inCormen et al. [ 1990].

Complexity of’ a problem is analyzed bygiving an upper bound or a lower boundon the number of elementary computa-tions or the size of memory space requiredto solve a problem. An upper bound isobtained by showing an algorithm for theproblem having a complexity boundedabove by some function of the input size,say 0( U( n)). A lower bound is obtainedby showing a family of example problemswhose only solutions are bounded belowby some function of the size of the exam-ple, say 0(1( n)). If a problem has match-ing upper and lower bounds, i.e., U(n) =1(n), then it can be said that the problemhas complexity zd n).

1.2 Complexity of Motion Planning

To study the complexity of motion plan-ning, the generalized mover’s problem isdefined as follows. Given a robot with d

degrees of freedom in an environmentwith n obstacles, find a collision-free pathconnecting the current (start) configura-tion of the robot to a desired (goal) con-figuration. The size of the input is d andn. The complexity of description of therobot, m, is either fixed or incorporatedin the complexity of the environment. Ahistorical account of the generalizedmover’s problem given in Canny [1988] issummarized here; see Canny [1988] fordetails.

The generalized mover’s problem canbe solved as follows. The set of robotconfigurations where the robot does notintersect any obstacles is called the freeconfiguration space. Since the shapes ofmost robots and obstacles can beexpressed with semialgebraic sets(unions and intersections of algebraic,e.g., polynomial inequalities), the bound-aries of the free con!@-uration space canalso be represented with semi-algebraicsets. It may seem that when rotation isincluded, use of transcendental functions(sine and cosine) is necessary. There is,

ACM Comput]ng Sur~ eys, Vol 24. No 3, September 1992

Page 5: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Q.alwnmu Algebr. i

Q = (~, .), . = \c.1.r, u = .lucctorQ* = (s, -.)

Q1+Q2 = (sl+s,, .,+.,)

Q1Q2 = (., s,–. u $, IJ2+a2u1+”, x”2), 2’

Representatlm cd a po,~t

p = (o, .)

Transform at Ion

Wmsiatmn of point p by t(o, “+t)

rotat)on of po!nt p about vector n by an angle t)

Q P Q*, where Q = (cos((i/!2), n mz((i/2))

Figure 3. Quaternion representation of a rotation,The coordinatesof a rotated point is a polynomialfunction of the quaternion coordinates.

however, a representation of rotation,e.g., quaternions, that enables us to relatea rotated position of a point to its origi-nal position with an algebraic expression(Figure 3). The free configuration spacecan then be broken into simpler pieces orcells, and the cell adjacency relations arecomputed. Finding a collision-free pathbetween the start and goal configura-tions of the robot is equivalent to findingthe cells containing the start and goalconfigurations and then finding a con-nected sequence of cells representing thefree configuration space. This way of sol-ving the generalized mover’s problemreduces the problem to that of decidingthe satisfiability of formulae in the first-order theory of reals. A formula in thistheory is built from boolean combinationsof polynomial inequalities, and both exis-tential and universal quantifiers areallowed. A sample formula looks like2xVy(y > x) and (–ys < x). Tarski[1951] showed that sets defined by sucha formula also have a defining formulafree of quantifiers, proving that the the-ory of reals is decidable.

The first upper bound on the complex-ity of the generalized mover’s problem isreported in Schwartz and Sharir [1981].Using the decomposition method ofCollins [1975] to compute cells of the freeconfiguration space, they developed analgorithm that has a double exponential

Gross-Motion Planning ● 223

time complexity of 0(n2d+ ‘). This doubleexponential complexity is improved inCanny [1987] and Canny [1988] to a sin-gle exponential time. Rather than com-puting the cells representing the freeCspace, one-dimensional boundarycurves of the free Cspace are constructedby projecting the free Cspace in higherdimensions to two dimensions. Acollision-free path connecting two robotconfigurations is found from this networkof boundary curves.

The first lower-bound result on thecomplexity of MP appears in Reif [ 1979].The generalized mover’s problem in a 3Dspace is shown to be PSPACE-hard withan example of a many-jointed object con-strained to move within a complex sys-tem of narrow channels. Reif [ 1979] alsopresents a polynomial-space algorithm,proving that the generalized mover’sproblem is PSPACE-complete. InHopcroft et al. [1984a], the reachabilityproblem for planar linkages (determiningwhether the linkage can reach a point) isshown to be PSPACE-hard. The proofconsists of showing that there are link-ages that are capable of simulatinglinear-bounded automaton (LBA) com-putations and that the size of thedescription of a linkage that simulates agiven LBA on input length n is linear inn and the size of the description of LBA.The PSPACE-hardness follows from thefact that the acceptance problem for LBAsis PSPACE-complete (see Hopcroft andUnman [1979] for LBA and PSPACE).

The planning of coordinated transla-tional motions of iso-oriented rectanglesinside a rectangular boundary (see Figure4a) is shown to be PSPACE-hard inHopcroft et al. [ 1984b] by reducing thePSPACE-hard symbol transpositionproblem to the motion planning of therectangles described above. The symboltransposition problem is the problem oftransforming a given finite string of sym-bols into another string by a sequence ofmoves changing the position of a symbol,subject to a set of adjacent rules whichconstrain the symbols that can stand nextto each other. The five darker rectanglesat the top in Figure 4a, called dominoes,

ACM Comput,mg Surveys, Vol. 24, No. 3, September 1992

Page 6: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

224 ● Y. K. Hwang and N. Ahuja

~p

01’.&L

_J

(a) Feas,ble momns of the five cloned rectangles called dommoes ,.the almost ful! box simulate the symbol transpos!t,o. problemThe hatched regan IS ~he only empty space

El

(b) Th. dominoes have d,tlerent panems on Uw sides

~; 7 [- : “-- ~~

l-’~.d ‘

F+

+;

.,, ,E s?).,

. .

=EE@=I - Lr: ‘

cl,. .,,, , —– . [l

_.. —_ _.– i=.,,,.,,r“),,,., SPACER.0 ,). , P.,. ,

(c) ~om,..es =. l.flkr de..mwsd ,mfo re.!aml.s

Figure 4. Planning coordinated motions of multlple rectangles M PSPACE-hard Reprinted fromInternational Journal of Robotxs Research, vol. 3, no. 4, pp. 76-88, Hopcroft, J,, Schwartz, J T , andSharm,M, “On the complexity of motion planning for multlple independent objects:PSPACE-hardnessofthe ‘warehouseman’sproblem’,” by permission of the MIT Press, Cambridge, Mass,, Copyright, 0 1984MIT Press,

represent a string of symbols. Eachdomino has a pattern of extrusions andindentations on its vertical sides so thatonly dominoes with matching patternscan be next to each other (see Figure 4b).This encodes the adjacency rules in thesymbol transposition problem. The domi-noes are further decomposed into rectan-gles, completing the reduction of thetransposition problem to the motionplanning of the rectangles (see Figure4c). This problem is later shown to be inPSPACE in Hopcroft and Wilfong [ 1986],thus proving its PSPACE completeness.This is shown by analyzing the connectedset of the free Cspace. Note the configu-ration space has dimension 2 n, where nis the number of rectangles, since each

rectangle has 2 degrees of freedom inthis problem. The connected set forms apolytope in the 2 n-dimensional space andconsists of faces of various dimensions.They show that if there is a collision-freemotion of rectangles between two config-urations in the connected set, then thereis also a collision-free motion along theone-dimensional faces, i.e., edges, ofthe polytope representing the connectedset. Motion planning is reduced from asearch of a high-dimensional space to agraph-searching problem, and such mo-tions can be described in polynomialspace.

There are many other complexity anal-vses on various versions of MP, including~he shortest-path problem for a poin~

ACM Computmg Surveys. Vol 24, No 3. September 1992

Page 7: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Plan ning w 225

robot among polygons [Asano et al. 1985],among polyhedral obstacles [Canny andReif 1987], MP of a line segment in threedimensions [Ke and O’Rourke 1987], andMP among moving obstacles [Reifand Sharir 1985]. These are described inappropriate subsections of Section 3.

Tannenbaum and Yomdin [1987] haveshown that the maximal number of theconnected components of the semi-algebraic set R d \ U { ~z = O}, where i =1,. ... m and {f, = O} are of degree n, ispolynomial in m and n and exponentialin the number of degrees of freedom d.This bound is derived from results ofalgebraic geometry, namely, the HarnackInequality and the Bezout Theorem,which give upper bounds on the numberof intersection points of polynomialcurves of degree n. Their result showsthat it is likely to take an exponentialtime in d to compute a description of theentire configuration space. This does notimply that MP has an exponential-timelower bound, since we do not have tocompute all parts of the configurationspace to plan a motion, and there is yetno family of motion-planning problemswhose configuration spaces have expo-nentially many connected components. Insummary, the current status of theknown complexity bounds on the general-ized mover’s problem is that it isPSPACE-hard, but has an upper boundwhich is exponential in the number ofdegrees of freedom.

1.3 Classification of Motion-PlanningProblems

We first explain the distinction betweenpath planning and trajectory planning.Path planning typically refers to thedesign of only geometric (kinematic)specifications of the positions and orien-tations of robots, whereas trajectoryplanning includes the design of the linearand angular velocities as well. Therefore,path planning is a subset of trajectoryplanning, wherein the dynamics of robotsis unimportant or neglected. A case wheretrajectory planning must be used is the

design of walking motion for a biped sincethe dynamics of balance cannot be.neglected. Path planning is also used asthe first step in the design of trajectories.When designing a complex sequence ofmotions, it is often easier to devise thepath first and then assign the velocityalong the path. We now introduce severalvariations of the motion-planningproblem and establish a framework forclassification.

Motion planning can be static ordynamic, depending on the mode inwhich the obstacle information is avail-able. In a static problem, all the informa-tion about obstacles is known a priori,and the motion of the robot is designedfrom the given information, In dyn~micplanning, only partial information isavailable about the obstacles. e.a. the-.visible parts of the obstacles. To achievea given goal, the robot plans a path basedon the available information. As the robotfollows the path, it discovers more obsta-cle information. This is used to updatethe internal rem-esentation of the robot’s.environment, and the robot replans apath from the updated representation.The process of updating the representa-tion and planning paths is continued un-til the robot accomplishes its goal. Mostpapers in MP have dealt with the staticcase.

When there is more than one robot it iscalled a multimovers problem. Ifobjects can change shape then themotion-planning problem is con-formable. Otherwise it is noncon -formable. An important subclass ofconformable problems concerns motionplanning of linked bodies since mostrobots and manipulators are made ofjointed limbs. When the environment orthe configurations of obstacles change itis a time-varying problem. Otherwise itis a time-invariant problem. If robotscan move a subset of objects, it is themovable-object problem.

Motion planning is either con-strained or unconstrained, accordingto whether there are inherent restrictionson the motion of robots, i.e., restrictionsarising due to reasons other than colli-

ACM Computmg Surveys, VCJ1 24, No 3, September 1992

Page 8: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

226 * Y. K. Hwang and N. Ah uja

sions with obstacles. These includebounds on a robot’s velocity and accel-eration and constraints on the curvatureof robot’s paths. Trajectory planning ofany physical system is constrained sincethe actuators (motors) have finite power.Another example is the task of carrying acup of coffee, which has a severe restric-tion on the movement of the cup so as notto spill the coffee.

1.4 Classification of Motion-PlanningAlgorithms

There are two aspects to the classifica-tion of MP algorithms: the completeness(exact or heuristic) and the scope (globalor local). Exact algorithms either find asolution or prove that there is no solu-tion. Exact algorithms are usually com-putationally expensive. In contrast,heuristic algorithms are aimed at gener-ating a solution in a short time. Theymay fail to find a solution for difficultproblems, or they may find a poor solu-tion. Heuristic algorithms are importantin engineering applications, while exactalgorithms determine complexities ofproblems and algorithms. There are twoother types of completeness: resolutioncompleteness and probabilistic complete-ness (we will consider these as exact also).The resolution completeness is related todiscretization. When continuous quanti-ties such as obstacle dimensions or con-figuration parameters are discretized, theassociated algorithm is inherentlyapproximate. However, its accuracy canbe arbitrarily improved by increasing theresolution of discretization. If an algo-rithm is exact in the limit as the dis-cretization approaches a continuum it iscalled resolution complete. An algorithmis probabilistically complete if its proba-bility of finding a solution (if one exists)can be made to approach 1. This charac-teristic is typical of algorithms using arandom search such as simulatedannealing. These algorithms need a longcomputation time to make the probabilityclose to 1.

Global algorithms take into account allthe information in the environment, and

they plan a motion from the start to thegoal configuration. Local algorithms aredesigned to avoid obstacles in the vicinityof the robot and thus use informationabout nearby obstacles only. They areused when the start and goal con@-ura-tions are close together. Local methodsare used as a component in a global plan-ner or as a safety feature to avoid unex-pected obstacles not present in the modelof the environment but detected by sen-sors during motion execution.

2. BASIC ISSUES AND STEPS IN MOTIONPLANNING

This section describes the basic issuesand steps that any MP formulation mustinvolve. These issues include con@-ura-tion space, object representation,approaches to motion planning, searchmethods, and local optimization ofmotion. Motion planning is done in thefollowing steps. First, the configurationparameters of the robot need to bedetermined. The concept of the Cspace isfundamental to motion planning, since itis the space of all possible motions of arobot. A detailed explanation of theCspace and methods of computing the setof feasible con flg-urations are given. Sec-ond, the robot and objects have to berepresented. Several available represen-tation schemes are explained and com-pared. Third, an MP approach suitable tothe MP problem at hand needs to beselected. There are four differentapproaches developed for MP, and differ-ent problems require differentapproaches. Fourth, a search methodmust be selected to find a solution path.The choice is determined by the requiredoptimality of the solution and availablecomputing resources. Several searchmethods are reviewed. Finally, the solu-tion path is locally optimized to yield ashorter and smoother path. Most MPalgorithms find a path that containssharp corners, which cause jerky motionsof the robot. Unless the robot is movingat a very slow speed, these corners mustbe smoothed out. The following subsec-tions discuss these five steps in detail.

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 9: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning “ 227

e

Agoal

Vlfm ~

stall

r ~mbot

Y

L x

(.) worldspace (b) configuration space

A path between the start and goal IS shownNote the robot can pass between the twocbstacles only m certa,n or,e.tat,o.s(shown as holes I“ rxmhg.ral,o” obstacles)

Figure 5. A triangular robot amongpolygonalobstacles.The configuration parametersare the position ofrobot vertex r and the rotation about this point. Configuration obstaclesare shown in (b).

2.1 World-Space vs. Configuration Space

The world space refers to the physicalspace robots and obstacles exist in. Aconfiguration of’ an object or a robot is aset of independent parameters com-pletely specifying the position of everypoint of the object or robot. The space ofall possible configurations, the config-uration space (Cspace), of an objectrepresents all possible motions of theobject and plays a fundamental rolein motion planning. It was first used inmotion planning in the influential paperby Lozano-P&ez and Wesley [1979]. Inessence, all motion-planning problemsare equivalent once they are formulatedin the configuration space; they reduce tothe problem of finding a connectedsequence of points between the start andthe goal configurations in the Cspace.The dimension of the Cspace is the num-ber of the parameters representing a con-figuration, also called degrees of freedom.

For a point robot, the Cspace is identi-cal to the world space and has the samenumber of dimensions. The triangle inFigure 5a needs 3 parameters to specifyits configuration, 2 for the position of anarbitrarily chosen reference point of thetriangle, and 1 for the orientation of

the triangle about the reference point.The corresponding Cspace has dimension3. Likewise, a rigid object in 3D worldspace requires 6 parameters for configu-ration specification: 3 for the positionof the reference point and 3 for theorientation.

Configurations that result in collisionsbetween the robot and obstacles arecalled the configuration obstacles. A pointinside a configuration obstacle corre-sponds to a situation where the robotoverlaps with one or more obstacles (aphysically impossible state) and a pointon the boundary of a configuration obsta-cle to a situation where the robot is justtouching (in contact with) one or moreobstacles. (Methods of computing config-uration obstacles are discussed below. )Figure 5b shows the configuration obsta-cles corresponding to the world space inFigure 5a along with the start and thegoal configurations of the robot.

What makes MP hard is the dimen-sionality of the Cspace, i.e., the space ofall possible motions of the robot. For asingle rigid robot in 3D world space, theCspace is 6-dimensional, and represent-ing it with a grid requires 1012 points fora resolution of 100 points per dimension.Use of a grid is unrealistic for MP involv-

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 10: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

228 - Y. K. Hwang and N. Ahuja

ing multirobots. To complicate thematter, configuration obstacles do notusually have compact representations, asseen in Figure 2C and 5b. MP is thus achallenging research problem.

Computation of configuration obstacles

There are seven basic ways to computeconfiguration obstacles: point evaluation,Minkowski set difference, boundaryequation, needle, sweep volume, tem-plate, and a Jacobian-based method. Allof these can be used for any type of robot.Point evaluation is the simplest but mostinefficient of them. It places the robot ina configuration and determines whetherthe robot intersects any obstacles. If therobot does, the configuration belongs to aconfiguration obstacle.

Minkowski set difference of two sets Aand B are the set of points Mdiff( A, B)== {a – bla ● A, b = B}. Fora rigid objectwithout rotation, the configuration obsta-cles are the union of Minkowski set dif-ferences between areas occupied byobstacles and the robot, In Figure 6, thereference point of the robot cannot beplaced in the shaded region, which isMdiff(obstacle, robot). If the robot andobstacle are convex polytopes, then theMinkowski set difference of them isthe convex hull of the Minkowski set dif-ference of their vertices. This method ismost used for polytopes.

In the boundary equation method, onederives the constraints on the configura-tion variables that bring the robot in con-tact with obstacles. Such equations ofcontact constraints define the boundariesof configuration obstacles. For a polyhe-dral representation, the equations arederived from the vertexlface and edge/edge contacts between the robot and anobstacle (see Figure 7). These equationscan simply be evaluated to determinewhether a point is in the configurationobstacles or not. Representing configura-tion obstacles as a union of nonoverlap-ping semi-algebraic cells is very difficult(especially for dof > 3).

In the needle method, all but one of theconfiguration parameters are fixed, and

Figure 6. The shadedregion M the Minkowskl setdifference The referencepoint of the robot m thisorientation cannot be placedin this region.

3

1+

e

2 r{x,y)

1

X+ COS(0)=3

Figure 7. A boundary equation of a configurationobstacle

the values of the variable parameter thatbring the robot in contact with all theobstacles are computed, usually usingthe boundary equations, From these val-ues, intervals (or needles) that are inconfiguration obstacles can be computed.This method is commonly used to gener-ate a two-dimensional slice of the Cspaceby computing the needles for each valueof one of the fixed parameters (Figure 8),but not for any higher-dimensional slicebecause of the large number of needlesneeded.

The sweep volume method computesthe volume in the world space swept by arobot as the robot configuration is variedover a set in the Cspace. If the sweepvolume does not intersect any obstacle,the set in the Cspace is outside of config-uration obstacles. This is an effective way

ACM Comput]ng Surveys, Vol 24, No. 3, September 1992

Page 11: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning “ 229

F “e2.& a

(a) a 2-hnk manipulator (b) configuration obstacles

Figure 8. Needlemethod. For eachvalue of the first joint angle, feasiblerangesof the secondjoint angleare computed.Reprinted from IEEE Journal of Robotzcs and Automation, vol. RA-3, no. 3, pp. 224–238,Lozano-P&-ez,T., ‘“A simple motion planning algorithm for general robot manipulators,” by p&-missionofIEEE, Piscataway,N.J., Copyright, 01987 IEEE.

(a) a 2-knk mampulatol

‘2r—————1

I 1

81

(b) configuration obstacles

Figure 9. Template method. For a 2-link manipulator, the configuration obstacle correspondingto aninfinite wall is similar to an ellipse. The configuration obstaclesfor two walls are the union of twotemplates (of different sizesand locations).

to compute free parts of the Cspace, butthe sweep volume is hard to computeif the set has a high dimension.

The template &ethod computes theconfiguration obstacles due to features ofworld obstacles. These features are tv~i-./.tally points and lines, and the corre-sponding configuration obstacles arecalled temdates. The sha~e and ~ositionof a temp~ate can be pa~ameterized bythe position of the obstacle feature. Forexam~le, for a 2-link robot and one of theline obstacles in Figure 9a the configura-tion obstacle due to the line is similar toan ellipse (Figure 9b). The templates foreach set of values of the parameters arecomputed in a grid form and then storedin the memory. The world obstacles arerepresented as a union of features for

which the templates are computed. Thewhole configuration obstacles are thencomputed by “stamping” the template foreach feature on the grid representing thewhole Cspace. This method was devel-oped in Branicky and Newman [1990]and works well for dof <4. For MP witha higher dof, it suffers from a huge mem-ory requirement due to the use of grid.

Finally, the Jacobian-based method isvery elegant in computing a “block” offree or obstacle-occupied Cspace. TheJacobian J of a robot is a matrix thatrelates the displacement, dx, of a pointon the robot to the change in the robotconfiguration, dq. In equation form, thisis dx = J( q )*dq. Note J is a function ofq. For a robot in a configuration q, themaximum of IJ( q )1over all the points on

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 12: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

230 ● Y. K. Hwang and N. Ahuja

the robot, called the bound B(q) on J(q),is computed. If the minimum distancebetween the robot in q and all the obsta-cles is D, then it follows that the spherecentered at q with radius D/B(q) iscontained in the free Cspace. Likewise, ifwe define a negative distance Dbetween two overlapping objects as theminimum distance by which one of theobjects has to translate to separatethe two objects, we can compute a sphereof radius D /B(q) that is contained in aconfiguration obstacle. Instead of B(q),one can use the maximum of B(q) overall q, which is called the uniform bound,UB on the Jacobian. This is a constantand needs to be computed once. But it ismuch larger than B(q) for most q, andthe sizes of computed spheres are muchsmaller. This method, developed in Padenet al. [1989], is the simplest way to com-pute “chunks” of free or occupied Cspace,but the chunks are very small for a longobject or for a manipulator in an extendedconfiguration. By fixing some of the con-figuration variables, spheres of lowerdimensions can be computed. Also,different choices of distance measure inthe Cspace result in different kinds ofspheres. For example, Zm distance, i.e.,l=(p, q) = maxlp, – q,l, results in acuboid. Cuboids have a nice property thatthey can fill the Cspace without cracks,which Euclidean spheres cannot do.

There are many variations of the abovemethods to compute configuration obsta-cles more efficiently, and when combinedwith a search strategy, they result in anMP algorithm. These variations are dis-cussed with the algorithms.

A detailed complexity analysis of gen-erating configuration obstacles is pre-sented in Sharir [ 1987] for the case of

translating only, that is nonrotating,robots moving in two and three dimen-sions. The objects are assumed to bepolytopes. If curved objects are allowed,the algebraic degrees of the curves mustbe considered in the complexity analysissince the number of intersection pointsbetween curves depends on the degrees.This unnecessarily complicates the com-plexity analysis of MP, and thus objects

are represented by curves of degree 1,i.e., planes. In 2D, the configurationobstacles have 0(( rnn)2 ) edges where mand n are the numbers of edges of therobot and obstacles, respectively. Theconfiguration obstacles can be generatedin 0(( rnn)2 log(mn )) time for arbitrarypolygons and in 0( mn log( inn)) time forconvex polygons. In 3D, configurationobstacles have 0((mn)3) faces where mand n are the number of faces of therobot and obstacles, respectively. It isconjectured that for a translating convexrobot the configuration obstacles can begenerated in O((nw-z )Za ( mm)) time, wherea(k) is the extremely slowly growing in-verse Ackermann’s function which is lessthan 5 for all practical values of k.

2.2 Object Sensing and Representation

A robot has to have a model of objects inits environment before it can plan acollision-free motion. In an unknownenvironment or a dynamic environment,the robot has to sense objects at an ap-propriate time interval. Typically usedare visual sensors, e.g., stereo cameras,or range sensors based on sonar, infrared,or laser light. Both types of sensors yielda depth map of the environment. Thesedata are often converted to a polyhedralrepresentation to save memory space andto speed up subsequent computations. Ina well-known and well-controlled envi-ronment such as in a robotic assemblyworkcell, object data are available fromthe part design in the form of CAD data.These data are created using solid mod-elers, which represent objects as unionsand intersections of basic solid primitives(cuboids, spheres, cylinders, and cones)or by specifying the boundaries of objects(called B-rep). In this case, sensors areneeded only to verify the position andorientation of objects.

Once the information about shapes andconfigurations of objects is acquired, itcan be represented in a number of ways.Commonly used representations are grid,cell tree, polyhedra, constructive solidgeometry (CSG), and boundary represen-tation (B-rep). These can be used to rep-

ACM Comput,ng Surveys, Vol 24, No 3, September 1992

Page 13: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning * 231

(19,17) A

n(45)

(a).rgnal ob!ects

(c) cell tree (quadtree)

(b)gr!d

A

(d) polygonal approxlmat!on

object A [lbne{(4 5),(8 5)),

A

clrcluar_arc(center(l 1,5) r(3), angle(l 80 O)]line{ (14,5),(165))

llne{ (16,5),(16,13))rectangle c,rcle llne{ (16,13) (4 13)]

lh”e{(41 3),(4,5))

)

ob@ B {lltle{ (19 17) (23 17)}lIne[ (23 17) (23 22)),lhne{(23 22),(19 17))

)

(e) comtru.tw Wd geomety (CSG) (f) boundary representatlo. (B rep)

The bottom object IS representedas a set subtraction (rectanglecrcle)

Figure 10. Objectrepresentations.

resent objects in the world space or inthe configuration space. The objectsin Figure 10a are shown in these repre-sentations in Figures 10b–f.

A grid is an array of (usually rectilin-ear) identical cells, and the cells aremarked as 1 (dark) if it is occupied by anobstacle, or else marked as O (white)(Figure 10b). One might think this is aninefficient way to represent an object,but its simplicity has many computa-tional advantages, especially on a mas-sively parallel computer. For example,the volume of an irregularly shaped objectis best computed by this representation.(Volume computation is needed to com-pute the center of mass to assess stabil-ity, which is an important considerationin some MP problems).

The cell tree representation is devel-oped to overcome the disadvantage of gridwhen representing a large object. Thisrepresentation divides the space into asmall number of big cells. Cells com-pletely inside or outside of objects aremarked as such, and the cells partiallyoccupied by the objects are furtherdivided. This process is repeated untilthe size of the cells reaches a resolutionlimit. Figure 10c shows an example calledthe quadtree in 2D (called octree in 3D).The number of cells in this representa-tion is proportional to the surface area ofan object. Its main disadvantage com-pared to the grid is the overhead of com-puting adjacency between cell.

Polyhedral representation is one of themost used ones, since many objects can

ACMComputmgSurveys,Vol.24, No. 3, September 1992

Page 14: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

232 ● Y. K. Hwang and N. Ahuja

be closely approximated with unions ofpolyhedra (Figure 10d). There exist manyefficient algorithms for computing theintersection of and distance between twopolyhedra. Computations of intersectionand distance are the two most importantcomputations in motion planning.

CSG and B-rep are mostly used in solidmodeler. The CSG represents objects asunions, intersections, and set differencesof primitive shapes (Figure 10e’), and theB-rep explicitly lists boundary features ofobjects (Figure 10f). One of their advan-tages is that they can represent curvedobjects with a small number of parame-ters specifying the curves. A polyhedralrepresentation needs many faces to accu-rately approximate a curved surface.Commercial solid modelers presentlyoffer sophisticated geometric computa-tion routines such as intersection,volume, and center of mass. If one isdesigning a motion planner for assemblyplanner, the CAD modeler used for partdesigning must be used for the motionplanner as well.

An object representation schemeshould be selected such that it is readilycomputable from the sensed or availabledata. To expedite MP, one might considerconverting one representation to that inwhich intersection and distance compu-tation can be done efficiently.

2.3 Approaches to Motion Planning

Numerous methods have been developedfor MP; some are applicable to a widevariety of MP problems, whereas othershave a limited applicability. These meth-ods are variations of a few generalapproaches: skeleton, cell decomposition,potential field, and mathematical pro-gramming. Most classes of MP problemscan be solved using these approaches.These approaches are not necessarilymutually exclusive, and a combination ofthem is often used in developing a motionplanner.

2.3.1 Skeleton

In the skeleton approach, the free Cspace,i.e., the set of feasible motions, is

retracted, reduced to, or mapped onto anetwork of one-dimensional lines. Thisapproach is also called the retraction,roadmap, or highway approach. Thesearch for a solution is limited to thenetwork, and MP becomes a graph-searching problem. In this approach, MPis done in three steps. First, the robot ismoved from its starting configuration toa point on the skeleton, using a canonicalmethod. Second, the robot is moved fromthe goal configuration to a point on theskeleton likewise. Then the two points onthe skeleton are connected using linesin the skeleton. The skeleton must repre-sent all topologically distinct feasiblepaths in Cspace. Otherwise, the MP algo-rithm is not complete, i.e., may miss asolution.

The well-known skeletons are the UZsi-bility graph and the Voronoi diagram,commonly used ones for 2D, the silhoz~-ette and the subgoal network. The visibil-ity graph is the collection of lines in thefree space that connects a feature of anobject to that of another. Figure 11 showsthe visibility graph of polygons in theplane, where vertices are used as thefeature. The shortest path for a pointrobot between point S and G (the boldlines) can be found from the visibilitygraph if the point S and G are includedas features. There are 0( n2 ) edges in thevisibility graph, and it can be con-structed in 0( n2 ) time and space in 2D[Asano et al. 1985], where n is the num-ber of features.

If the robot is required to stay awayfrom obstacles, the nearest-siteVoronoi diagram can be used (referredas Voronoi diagram from now on). It isdefined as the set of points that areequidistant from two or more Object fea-tures. A comprehensive survey of theVoronoi diagram is presented in Auren-hammer [1991]. Figure 12 shows theVoronoi diagram for polygons when thepolygons themselves are taken as fea-tures (the square boundary is counted asone obstacle). If edges of the polygons aretaken as features, a different Voronoidiagram results. The Voronoi diagrampartitions the space into regions, where

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 15: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Figure 11, The visibility graph is formed by linesconnectingvisible vertices.A solution path is shownin bold lines

Figure 12. TheVoronoi diagram is the set ofpointsequidistant from two or more objects.

each region contains one feature. Foreach point in a region, this feature is theclosest feature to the point than any otherfeature. A path from S and G can befound by first moving the robot on thediagram, along the diagram, and then tothe goal G (the bold curves). The Voronoidiagram is attractive in two respects:there are only 0(n) edges in the Voronoidiagram, and it can be efficiently con-structed in fl(n log n) time, where n isthe number of features [Preparata andShames 1985]. See Ahuja and %hachter[1983], Kirkpatrick [1979], Lee andDrysdale [1981], Preparata and Shames[1985], Shames and Hoey [1975], and Yap[1985] for computing the Voronoi dia-gram. The Voronoi diagram containscurves when edges of polygons are usedas features. A different Voronoi diagram

Gross-Motion Planning o 233

containing only straight lines is devel-oped [Canny and Donald 1987]. It uses ameasure of distance that is not a truemetric instead of the usual Euclideandistance to determine equidistant points,

For higher-dimensional spaces than2D, both the visibility graph and theVoronoi diagram have higher complexi-ties, and it is not obvious what to selectfor the features. For example, the Voronoidiagram among polyhedra is a collectionof 2D faces, which is not a lD skeleton.The visibility graph can be constructedfrom the vertices of polyhedra, but theshortest path then no longer lies inthe visibility graph. Therefore, the visi-bility graph and the Voronoi diagram aremostly used for 2D motion planning.

In Canny [1987, 1988], a generalmethod of constructing a skeleton inarbitrary dimensions is presented. It pro-jects an object in a higher-dimensionalspace to a lower-dimensional space andthen traces out the boundary curves ofthe projection, which is called silhouette.The silhouette curves are recursively pro-jected to a lower-dimensional space, untilthey become one-dimensional lines.Then the curves are connected at placeswhere new silhouette curves appear ordisappear using linking curves (Figure13). This method is developed to find apath from a graph of one-dimensionalcurves, which has a lower complexitythan the original space containing theobjects. It is mostly used in theoreticalalgorithms analyzing complexity, ratherthan developing practical algorithms. Apath found from the silhouette curvesmakes the robot slide along obstacleboundaries. A variation of this algorithmis implemented in Canny and Lin [1990].

The subgoal network method does notbuild an explicit representation of theconfiguration obstacles. Instead, the listof reachable configurations from the startconfiguration is maintained. When thegoal configuration is reachable the MP issolved. The reachability of one configura-tion from another is decided by a rathersimple local-MP algorithm called localoperator, such as that moving the robotin a straight line between the conflgura-

ACMComputmgSurveys,Vol. 24,No.3,September1992

Page 16: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

234 . Y. K. Hwang and N. Ahuja

4!4

(a) a path followlng a Mhouette curve

~ knklng curves

Cuwes

(b) Silhouette curves for a block with a hole

Figure 13. Silhouette curve

tions. In the beginning, this approachfinds a candidate sequence of intermedi-ate configurations called subgoals anduses the local operator to successivelymove the robot through the subgoals inthe sequence. A heuristic is usually usedto find the sequence, but a sequence ofrandom configurations can be used. Ifthe robot cannot reach the goal con&u-ration, the reached subgoals are stored inthe list, and another candidate sequenceis found between the goal and any one ofthe reached subgoals. The local operatoris used again to check the existence of afeasible motion through the sequence,and this process is repeated. Note thatthe feasible motion between two reach-able configurations need not be stored, asit can be readily recovered by the localoperator. The main advantage of this al-gorithm is the small memory require-ment. The visibility graph is an exampleof a subgoal network, where subgoals areobject features and where the local oper-ator is go-straight. Figure 14 shows asubgoal network generated using a localoperator that moves the robot diagonally.When the robot collides, new subgoalsare generated by sampling a few pointson the path.

The choice of the local operator deter-mines the completeness of this approach.In one extreme, one can use the go-straight algorithm, which often fails tofind a feasible motion between two con-figurations which are far apart. Conse-quently, the adjacent subgoals must be

1 .,

Figure 14. Subgoalnetwork.

close by, which increases the number ofsubgoals. On the other extreme, one canuse an exact global-motion planner asthe local operator, in which case only onesequence of subgoals containing the startand goal need to be tested. This localoperator approach is a systematic way todecompose an MP problem into a numberof simpler MP problems. It was intro-duced in Faverjon and Tournassoud[1987] and completed in Chen and Hwang[ 1992]. It is our experience that thisapproach is most efficient when a poten-tial-field method is used as the localoperator.

2.3.2 Cell Decomposition

In this approach, the free Cspace isdecomposed into a set of simple cells, andthe adjacency relationships among thecells are computed. A collision-free path

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 17: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 235

between the start and the goal configura-tion of the robot is found by first identify-ing the two cells containing the start andthe goal and then connecting them witha sequence of connected cells. Cells canbe object dependent or independent. Inan object-dependent decomposition,boundaries of obstacles are used to gen-erate the cell boundaries, and the unionof free cells exactly defines the free space.The number of cells is small, but thecomplexity of decomposition is high; andthe computations of containment, inter-section, connectivity, and adjacency of thecells are difficult. Note that adjacencyinformation is needed to find a sequenceof connected cells from the start to thegoal configuration. For example, it isNP-hard to decompose into convex poly-gons a polygon with polygonal holes [Keiland Sack 1985]. Object-dependentdecompositions usually result in semi-algebraic cells. An example of object-dependent cell decomposition is shown inFigure 15 with a solution sequence ofcells between S and G. In an object-independent decomposition, the Cspaceis prepartitioned into cells of a simpleshape, and each cell is tested for whetherit is inside or outside of configurationobstacles. Since the cell shape and loca-tion are independent of the object shapeand location, the cell boundaries do nottightly enclose the object. The represen-tation error can be made small, however,by increasing the number of cells. TheMP computations mentioned above are,however, much easier if not trivial.Examples of object-independent celldecompositions are the grid and thequadtree (Figures 10b and c).

2.3.3 Potential Field

A historical review of the potential-fieldapproach can be found in Koditschek[1989]. The idea of using potential func-tions for obstacle avoidance was used inKhatib and Mampey [ 1978] and in Hogan[1985] for force control. It was also devel-oped independently in Miyazaki andArimoto [1984] and Pavlov and Voronin[1984]. This approach constructs a scalar

G.

8 7

65

I

I 2 3s“

Figure 15. Object-dependent cell decomposition.

function called the potential that has aminimum, when the robot is at the goalconfiguration, and a high value on obsta-cles. Everywhere else, the function issloping down toward the goal configura-tion, so that the robot can reach the goalconfiguration from any other configura-tion by following the negative gradient ofthe potential. The high value of thepotential prevents the robot from runninginto obstacles.

Figure 16 illustrates this approach.First, an obstacle potential is constructedthat has a high value on the obstacles,and it decreases monotonically as thedistance from obstacles increases (Figure16a). Note the inverse of distance toobstacles can be used for this purpose.Added to the obstacle potential is a goalpotential that has a large negative valueat the goal and increases monotonicallyas the distance from the goal increases(Figure 16b). The negative of the inverseof distance to the goal is a commonlyused goal potential. The sum of the twopotentials is computed (Figure 16c), andthe path from the start to the goal config-uration is found by putting a smallmarble at the start and following itsmovement.

An obstacle potential constructed inthis way resembles the electrostaticpotential generated by obstacles made ofpositively charged matter, hence thename of this approach. The potential ismost often assigned to obstacles in theworld space. It is redundant to compute

ACMComputmgSurveys,Vol.24,No.3,September1992

Page 18: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

236 . Y. K. Hwang and N. Ahuja

(a) The obstacle potentm has a h,gh [b) The goal potenl!al has a umque

.al.e ms,de obstacles m[mmum at the goal

(.) A palh 1. the 90.1 . . . be found from some places by mo.,n~,“ the d,n?ct,on 01 Ihe neQat,ve gradwnt .1 the Comb, nec pote!malA SDUI,..s local rmn!rn.m T however traps the robot II II starls from S

Figure 16. The potential-field approach.

configuration obstacles and then assign apotential to them. If the robot is nota point, the total potential on the robot iscomputed by adding the potential valueson a set of points sampled from thesurface of the robot.

This approach is simple, but the poten-tial function usually has several localminima at configurations other than thegoal. (point T in Figure 16c). These spu-rious local minima often trap the robot.One other disadvantage is that theexpression for the potential becomes verycumbersome when there are many con-cave objects. Unless the robot is a pointand unless obstacles are nonoverlappingconvex objects, the potential fieldapproach alone cannot be used as a globalalgorithm. This is expected since nodetailed shape analysis is done unlikeother approaches. The best way to use

the potential-field approach is to use it asa submodule for global-motion plannersthat decompose the original MP probleminto many local problems solvable by thepotential-field approach. Although suchalgorithms may not be exact, they areattractive due to their low computationalcosts.

2.3.4 Mathematical Programmmg

This approach represents the requme-ment of obstacle avoidance with a set ofinequalities on the configuration parame-ters. Motion planning is formulated thenas a mathematical optimization problemthat finds a curve between the start andgoal configurations minimizing a certainscalar quantity. Since such an optimiza-tion is nonlinear and has many inequal-ity constraints, a numerical method isused to find the optimal solution.

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 19: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

2.4 Search Methods

Given a way of describing the free space,and thus the capability of identifying fea-sible configurations, MP reduces to find-ing a connected sequence of feasibleconfigurations between the start and goalfrom the representation. There are sev-eral search methods developed in artifi-cial intelligence such as depth-first,breadth-first, best-first, A*, and bidirec-tional searches [Barr and Feigenbaum1981]. Random-search techniques such assimulated annealing are also used forMP [Barraquand and Latombe 1990].Dijkstra’s shortest-path algorithm forgraphs is also useful for MP [Dijkstra1959]. We will only give brief overviewsof these here.

Search methods are best explainedusing a grid. Consider a grid in Figure17a where infeasible configurations aremarked dark, and the start and goal con-figurations of the robot are marked withS and G, respectively. The robot isallowed to move either horizontally orvertically only. At each configuration, therobot has at most four possible moves.When the robot moves from configura-tion qP to qC, qP is called a parent of q,,

and qC the child of qP (obviously, qP and

q. must be adjacent). During the search>each configuration is allowed to have onlyone parent; otherwise, the robot may keepmoving in a cycle. To retrieve a solutionpath, each reached configuration mustremember its parent configuration.Solution paths are denoted by bold linesin Figure 17a–e.

The depth-first search moves the robotfrom S to configurations in the ordershown in Figure 17a. The depth-firstsearch always genertites a child of themost recently reached configuration. Notethat the solution is not the shortest. Incontrast, the breadth-first search gener-ates the children of the earliest reachedconfiguration first, resulting in Figure17b. This method is also called brushfire,since it resembles the way fire progressesin a dry grassland. The brushfire methodcan find the shortest path, but it exam-ines a large part of the space. It is obviousthat both of these are not very efficient.

Gross-Motion Planning 9 237

Without an easily computable criterionthat indicates a better direction to move,this is all one can do. Such is the casewhen the robot has to select the next cellto move to among irregular overlappingcells representing the free space.

If the distance from a configurationto the goal is computed, one can generatethe children of the current configurationand move to the child nearest to the goal.This is the best-first search, sometimescalled hill climbing, and works well inmany cases (Figure 17c). If there is ablind alley between configuration obsta-cles (often occurs in practical problems),the best-first search can also take a longtime to reach the goal.

The A* search is used when a solutionwith a minimum cost (typically the short-est path) is desired. For A% to be used,there must be an underestimate of thecost from the current configuration tothe goal (called cost-to-go). A straight-line distance gives such an underesti-mate (obstacles only increase the pathlength). The total cost, which is the sumof the cost from the start configuration tothe current configuration (called cost-so-far) and the cost-to-go, gives a lowerbound on the actual cost. A* search gen-erates the children of the reached config-urations whose total cost is the smallest.When a solution is found, it does notgenerate the children of any reached con-figurations whose total cost is greaterthan the total cost of the solution. Thebetter the cost-to-go approximates the ac-tual cost, the more A* can prune outpartially generated paths, making it moreefficient. Figure 17d shows the process ofAX search.

The bidirectional search generates thechildren of both the start and the goalconfigurations and can be used with anyone of the above search methods. Figure17e shows the bidirectional search com-bined with the depth first. The robotswitches the direction when it cannot getany closer to the other side. It is particu-larly efficient when the goal is in anarrow channel between obstacles,making it hard to reach from the startconfiguration.

ACMComputingSurveys,Vol 24,No.3,September1992

Page 20: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

238 * Y. K. Hwang and N. Ahuja

(a) Depth frost searh. The robot favors themotion to ihe east, north, west, andthen south, in that order Note at cell 28,the robot has no cells to cm, and the searchresumes from the highes~ numbered cellwith an empty adjacent cell

(c) Best firs{ search (hall chmb). The rotxXgoes to the empty cell closest to G

(e) B}-directional search Whenever therobot cannot get any closer to the othe,side, II switches the dlrecllon Of search

Figure 17.

(b) Breadth first search (brush fire)The robot goes from the lowestnumbered cell to an adjacent cellThe doffed cells are wsrfed cellsat an mtermechale stage of search

(d) A“ search The robot goes 10 the cellfor whtch the sum of the path lengthfrom S (bold Imes) and the estimateof the path length to G (the straight linedistance IS used here) IS the smallest

Searchstrategies.

All of the above search methods even- highly redundant manipulator with manytually explore all parts of the search degrees of freedom. Random search canspace. If this is not possible, a random- be used in a variety of ways. Suppose wesearch technique can be used, e.g., a have a local-motion planner which blindly

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 21: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

moves the robot in the direction towardthe goal (and the robot gets stuck aftersometime). We randomly pick a point m.in the Cspace and try to move the robotfrom the start to rno, and from nzo to thegoal using the local-motion planner.If the robot cannot reach n-t., we decreasethe probability of point selection in aneighborhood of nzo. Then, we pickanother point ml according to the modi-fied probability. If the local plannermoves the robot from the start to m ~, butfails to move to the goal, we put, ml inthe reachable set. When another pointmz is selected, the local planner tries tomove the robot from any reachable pointto mz, and then to the goal. This ap-proach is probabilistically complete, butmay take a long time to find a solution.See Barraquand and Latombe [1990] foran example of this method.

When searching for the shortest pathbetween two nodes in a graph withweighted edges, Dijkstra’s algorithm of0(n2 ) is the most efficient. Beginningfrom the goal node, it finds the nodesconnected to the goal, puts them in aqueue, and assigns each of them the cost-to-goal, which is the weight of the edgeconnecting it to the goal. The expandedgoal node is marked as the parent of thenodes in the queue. Among the nodes inthe queue, it selects the node with thesmallest cost-to-goal, deletes it fromthe queue, finds nodes connected to it,and computes the cost-to-goal for eachnode by adding the weight of the connect-ing edge to the cost-to-goal of the parentnode. If any of the children nodes has apreviously computed cost-to-goal greaterthan the newly computed one, its cost ischanged to the new one, and the costs ofall its descendants are updated. This pro-cess is repeated until all the nodes areassigned a cost. The minimum-costsequence of edges between the start andthe goal is then retrieved by follow-ing the parents beginning from the startnode.

The efficiency of a search methoddepends on the particular MP problem athand. Of course, several search strate-gies described above could be combined.

Gross-Motion Planning ● 239

The following guidelines can be used todevelop a customized search method.

Selection of Search Methods

(1)

(2)

(3)

(4)

(5)

(6)

(7)

If there is a criterion for selecting agood moving direction, then usebest-first rather than depth-first orbreadth-first search.If the problem is easy in the sensethat the free space is wide and allowsmany motion solutions, and any solu-tion is adequate instead of an optimalsolution, then a depth-first or best-first search will suffice.

If the shortest path is desired, use A*search or Dijkstra’s algorithm.

If a massively parallel computer isused, breadth-first search can beeffective.Use bidirectional search wheneverpossible. To connect two con&ura-tions, always move from the clutteredside, since it is easier for the robot tomove from a cluttered space to anopen space, rather than to achieve aparticular configuration in a clutteredspace.

The MP is difficult since it is compu-tationally intensive to generate aspatial representation of all collision-free configurations. If many MP prob-lems are to be solved with differentstart and goal configurations withinthe same environment, it is useful tocompute once in the beginning amore-or-less complete spatial repre-sentation and search in thisrepresentation paths connectingmany pairs of start and goalconfigurations.If just one MP problem is to be solvedin an environment, do not generatea complete representation of theCspace. Interleave the representationcomputation and the search. That is,try to find a solution from a partialrepresentation of the Cspaces. If thereis no solution, incrementally refinethe representation and search for asolution again. In many situations,a solution will be found before the

ACM Computing Surveys, Vol. 24, No. 3, September 1992

Page 22: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

240 ● Y. K. Hwang and N. Ahuja

complete representation is computed.We call this paradigm ICORS, whichstands for Interleaved ComputationsOf Spatial Representation and Searchof a solution.

(8) If the environment is marginallychanging, use an updating scheme toavoid complete recomputation of therepresentation.

2.5 Local Optimization of Motion

Once a collision-free path is found, it canbe further optimized by a numericalmethod. Two commonly used optimalitycriteria are the length of the path andsafety clearance between the robotand obstacles, The resulting performanceindex to be minimized can be expressedas

J = jq’o”’ (1 + z,u’~-’(q)) dq,“,tart

where D(q) is the distance between therobot and obstacles; w is the relativeweighting factor, and the integral is overthe path connecting q,~.r~ and q~,, al.Note the minimization of D-1(q) pre-vents the robot from colliding with obsta-cles. “Several numerical methods can beused to find a path with the minimum Jwith the path found by an MP algorithmas the initial guess [Bryson and Ho 1975].It is our experience that a simple gradi-ent method performs satisfactorily. Onecan also include dynamics of robot actua-tors (motors) to optimize quantities suchas the travel time, energy expended dur-ing the motion, etc. The resulting path issmooth and thus easier to execute on areal robot, but it is optimal only in thevicinity of the initial guess. One can usea straight-line path between the startand goal involving collisions as the initialguess and get a collision-free path withnumerical optimization. But this hap-pens only in simple cases where theobstacles are convex and disjoint, and itis not recommended.

An efficient-distance algorithm forpolytopes is developed and used fornumerical optimization in Gilbert and

Johnson [1985]. With polygonal robotand obstacles, and robot dynamics in-cluded in J, the numerical algorithm took300–600 iterations to converge. SeeGilbert et al. [1988] and Gilbert and Foo[ 1990] for algorithms for computing thedistance between polytopes or curvedobjects. Another procedure for computingdistance between polyhedra is reportedin Lin and Canny [1991], which is aboutthree times faster than Gilbert’s algo-rithm to our estimation. In Hwang andAhuja [1989] an obstacle-potential func-tion is used in place of D-l(q) in opti-mization. Their potential function issimpler to compute than distance, andusing J that includes just the path lengthand safety clearance their algorithm con-verges to an optimum in 20–30 itera-tions. For an example of an optimizedmanipulator motion see Figure 36 (later).

3. SURVEY OF RECENT WORK

A brief history of motion planningbetween the 1940’s and early 1980’s isfound in Schwartz and Yap [1987], alongwith a review of their work. The June,1987, issue of the IEEE Journal ofRobotics and Automation also gives a

selection of eight papers on motion plan-ning from various disciplines such asmathematics, computer science, and elec-trical\ mechanical engineering. The bookRobot Motion Planning [Latombe 1991],intended as a graduate-level textbook,defines various MP problems andapproaches. It gives detailed explana-tions of landmark papers along with acomprehensive list of references up to1990. This section surveys many paperspublished between 1979 and 1989, andsome papers published after 1989 It alsodiscusses future research directions onvarious MP problems.

Algorithms are surveyed according tothe type of environments: stationary,time varying, movable obstacles, andenvironments with constraints. Figure 18shows our taxonomy. Because there aremany more papers on MP in stationaryenvironments than other environments,these are further classified by the types

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 23: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning 9 241

motion planning

type of environment stahonary time-varymg constrained rnovable-ob)ect

type of robot rgld robot point manipulator multiple robots

‘“NskeletonMP approach O***

cell decomposition

potential field

Figure 18. Taxonomyof motion planning.

of robots (rigid or linked robots, single ormultiple robots) and surveyed in foursubsections. First, the work on MP of asingle rigid robot is presented. Section3.1.2 surveys the work on MP of a pointrobot. Although a point robot is a specialcase of rigid robots, a large number ofresults have been reported for this prob-lem because (1) the problem space islower dimensional and (2) the results areuseful for navigation planning. Section3.1.3 presents the work on MP of amanipulator. Motion planning of multi-ple robots is surveyed in Section 3.1.4.Since there is a relatively small numberof papers dealing with time-varying envi-ronments, environments with con-straints, and movable-obstacle cases, thesurvey for these categories is presentedwithout further classification accordingto the robot type. Algorithms in each sec-tion are grouped according to theapproaches used. Each algorithm isexplained briefly, and its efficiency,applicability, and amenability to imple-mentation are discussed. The pros andcons of each algorithm can be found inthe comparison tables in Section 3.5. Thetables highlight features of the algo-rithms such as degrees of freedom ofrobots, shapes of robots and obstacles,

degrees of exactness, and actual speedsof execution.

Comparing the actual running times ofalgorithms is difficult due to the fact thatdifferent computers are used to solve dif-ferent examples. If an example problemis included, we give the computation timealong with the speed of the computer inMIPS (millions of instructions per sec-ond). If the MIPS are not available, weinterpret the result as the running timeon a typical computer available in thepublished year.

3.1 Stationary Environments

A stationary environment is the simplesttype of environment to plan motion, andalgorithms for this problem are often usedas ingredients of ME’ algorithms for otherenvironments. Much of MP research hasbeen concerned with stationary environ-ments, and this work is surveyed in thefollowing four subsections.

3.1,1 Classical Mover’s Problem

The classical mover’s problem refers tothe problem of moving a rigid robotamong stationary obstacles of fixedshapes. Figure 5 shows a typical classicalmover’s problem. It is the most studied

ACM Computing Surveys, Vol. 24, No. 3, September 19W

Page 24: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

242 ● Y. K. Hwang and N. Ahuja

version of the motion-planning problem.This problem has important applicationsin vehicle navigation on land, on sea,underwater, in air, and in outer space.For the task of moving an object with amanipulator, the existence of a collision-free motion for the object to be moved isa necessary condition for a feasiblemanipulator motion.

Skeleton Approach

The idea of the configuration space isintroduced in Lozano-P6rez and Wesley[19791. To plan motions for a translatingpolygonal robot among polygonal obsta-cles, configuration obstacles are com-puted using Minkowski set difference.The resulting configuration obstacles arepolygons, and the visibility graph is com-puted using polygon vertices as features.The shortest path is found from thevisibility graph.

In Kedem and Sharir [ 1985, 1988], anexact and efficient algorithm is presentedfor a polygonal robot among polygonalobstacles. It has O(rnn A6( rwz)log mm)

worst-case time complexity (&(r) isagain the maximum length of an (r, 6)Davenport-Schinzel sequence). This algo-rithm computes a skeleton, called an edgegraph, consisting of curved edges of con-figuration obstacles, and feasible motionis found from the skeleton. The edgegraph is built in two steps. First, for afixed orientation 9 of the robot,Minkowski set difference is used to com-pute the configuration obstacles, sayCO(8), which are polygons. When @ isslightly varied, the topology of CO( /3)does not change unless 0 is one of thefinitely many critical orientations, 9,.Therefore, we partition the robot orienta-tion dimension into a finite number ofintervals using (3Cand compute CO(0)once for each interval. The dCoccur whenthe robot vertices touch three obstacleedges, one obstacle vertex and an edge,etc. As 0 is varied, the vertices of CO(9)trace out curved edges of the 3D configu-ration obstacles. These curved edges ei-ther branch or merge only when 6 is oneof the 19C(see Figure 19). Two curved

edges are connected if they meet at oneof the 0, or if they are connected by anedge of polygons of CO(0) for some /3.Second, the traced curved edges arestored in the nodes of the edge graph,and an edge is created between two nodesif the curved edges are connected. Acanonical procedure is then used to movethe robot to the edge graph from thestart and goal configurations, andthe rest of the path is found from theedge graph. It is implemented on a realrobot and takes a few minutes to find asolution.

A similar algorithm is developed for apolygonal robot among polygonal obsta-cles in 2D in Avnaim et al. [1988]. Sincethe robot and obstacles can be repre-sented as unions of line segments, theboundary equations for 3D configurationobstacles are derived from the intersec-tion conditions between two line seg-ments. The boundary equations arecomputed in 0(m3 n 3 Iog( mm)) time. Twodifferent path-planning algorithms arepresented. One algorithm finds in0( rn3n3) time a path along the bound-aries of the configuration obstacles. Therobot makes single point, edge, or surfacecontacts when following such a path. Therobot goes from the start location to anobstacle surface, travels on a number ofobstacle surfaces making occasionaljumps among surfaces, and goes to thegoal location (similar to the motionplanned in Kedem and Sharir [1985]).The other algorithm computes a pathaway from obstacles using a decomposi-tion of the free Cspace. The decompo-sition is done in 0(rn6n6a(nzn)log( inn)),and finding a path from the decomposi-tion takes 0(rn6n6a(rnn)) time. It isfaster to compute motion when the robotis in contact with obstacles because therobot follows the boundaries of obstacles,thus avoiding the need for an explicitrepresentation of the free space.

Cell Decomposition Approach

Cell Decomposition in world space.The first algorithm polynomial in thenumber of obstacles for the classical

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 25: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 243

We, e2 e3 ’34

e5 e6 e,

(a) Edges of the configuration obstacles (b) A part of the edge graphIn F!gure 3 1(b) Crmcal onentai ionsare where Ihe edges meet

Figure 19. The edgegraph of configuration obstacles.

mover’s problem in 2D is reported inSchwartz and Sharir [1983a]. All objectsare assumed to be polygons. The basicidea of this approach is to partition thefree space into regions, each having qual-itatively different sets of feasible orienta-tions. When the reference point of a robotis at a certain location, the set of feasibleorientations changes drastically. InFigure 20a, for example, the feasibleorientation of the white rectanglechanges drastically depending onwhether the reference point, P, is aboveor below the line. Such a line is called acritical curve, and is used to partition thefree space into regions called noncriticalregions. (A point belongs to either criticalcurves or a noncritical region.) A criti-cal curve is defined as the curve that thereference point of the robot traces whilethe robot maintains a critical contactwith obstacles, Critical contacts aredefined in many ways. For example, avertex or an edge of the robot touches avertex or an edge of an obstacle, or therobot touches two obstacles simultane-ously. It is shown that for a polygonal

object moving among polygonal obstaclesin the plane there are eight types of criti-cal curves (Figure 20). If the referencepoint of the robot lies in a noncriticalregion, the feasible orientations of therobot can be expressed as a finite unionof open sets of angles associated with thenoncritical region. Each open set isbounded by the angles at which the robotis making contacts with some obstacles.The open sets are represented by thepair of edgesivertices in contact. Thepairs of edges denoting the open sets ofthe feasible orientations stay the same aslong as the reference point of the robotstays in the same noncritical region.This implies that the robot can movefrom a point to another in the same non-critical region if the orientations of therobot at the two points are in the sameopen set. The robot can move from onenoncritical region to another if at a pointon the boundary of the two regions thereexists an orientation of the robot feasiblein both regions. Two regions are said tobe connected if such a point is found. Theconnectivity of the regions is then repre-

ACM Computmg Surveys, VO1 24, No. 3, September 1992

Page 26: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

244 - Y. K. Hwang and N.

+.

Ahuja

P/ ,P

D

*(a) Type I

P“is translating with a VE contact whilestaying maximally away from the obstacle

--7Y-(c) Type III

P IS translating with two verlex contactwith the same obstacle edge

‘i----%

(e) Type VP is movmg with a VE and an EV contact

(g) Type WIP is moving with two EV contacts

(b) Type IIP IS rotating wth a VV or EV contact

\P

@

(d) Type IVP IS mowng wlh two verlex contactwth two different obstacle edges

P

(f) Type VIP IS movmg with an edge contact wtthtwo different obstacle verfices

P

(h) Type VlllP IS translating with an EE contact

Figure 20. Eight types of critical curves.The robot M the white polygon,and obstaclesthe black. F’ 1sthereferencepoint of the robot, and Q is the robot vertex makmg a contact. A VE( EV ) contact denotes acontact between robot vertex (edge) and an obstacle edge (vertex). W( EE ) denotes a vertex-vertex(edge-edge)contact.

sented in a graph called the connectivitygraph, and the MP problem is trans-formed to one of finding a sequence ofconnected noncritical regions in the con-nectivity graph. The time complexity ofthis 2D algorithm is 0( n5). A generalframework for the MP algorithm with anarbitrary number of degrees of freedomis given in Schwartz and Sharir [1981].The time complexity of the algorithm isO(n(2 ‘+’ )), where n denotes the total

number of obstacle edges, and d is thenumber of degrees of freedom. In threedimensions (d = 6), this becomes0( n4096). This algorithm serves as theexistence proof of a polynomial-time algo-rithm in the number of obstacles.

Brooks [1983] represents 2D free spaceas a union of possibly overlapping gener-alized cones. A generalized cone has anaxis of a certain length and a boundaryon each side of the axis (Figure 21). The

ACM Computing Surveys, Vol 24, No. 3, September 1992

Page 27: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 245

1

I

I

I

I

--1-

.L. . –––––––I

!

I IJ

(a) free space decormpmtlon (b) A solution found for a rectangular robot

Figure 21. Cell decompositionusing generahzedcones.Reprinted from IEEE Transactions on Systems,Man, and Cybernetics, vol. SMC-13, March/April, pp. 190-97, Brooks, R. A., ‘<Solvingthe findpathproblemby goodrepresentation of free space,”by permissionof IEEE, Piscataway,N.J., Copyright, 01983----lI!J!J!,,

algorithm translates a polygonal movingbody along the axes or spines of the gen-eralized cones and rotates it at the inter-sections of the generalized cones. Thisalgorithm is fast and yields paths thatavoid obstacles generously. Kuan et al.[1985] improve the quality of the pathsby representing the 2D free space as aunion of generalized cones and convexpolygons [Kuan et al. 1985]. There aretwo potential problems with this algo-rithm: the paths found may not be shortif the free space is wide, and the algo-rithm may not find a solution when therobot has to translate and rotate simulta-neously to avoid obstacles.

A similar but more elaborate algorithmis presented in Nguyen [1984]. The 2Dfree space is described as a network oflinked cones. Feasible positions and ori-entations of the robot within each coneare computed. Feasible path segmentsare derived by local algorithms that useadjacency information about the cones.Four local algorithms are used, namely,traversing a free convex region, slidingalong an edge, circumventing a corner,and going through a star-shaped region.

A“ search is used to find global pathsfrom local segments. The three algo-rithms above can be used when the freespace is wide and when generous avoid-ance of obstacles is desired.

A heuristic algorithm based on aquadtree is presented in Noborio et al.[1989]. A candidate path is searched fromthe quadtree representation of the freespace, and the corner points on the pathsare labeled as intermediate goals (Figure22a). The minimum width of a robot isused in the search process to eliminatepaths that are too narrow. The candidatepath would be a solution if the robot is apoint. For a polygonal robot, the candi-date path must be modified to avoid pos-sible collisions. The robot is movedalong the candidate path, and at eachinstant, the closest distance to obstaclesand the direction to the intermediate goalis computed. This information is used tocompute the robot’s moving direction thatavoids obstacles and moves the robotcloser to the intermediate goal. The algo-rithm will fail if the robot has a compli-cated shape, but it seems to be efficientfor mobile robots with simple shapes such

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 28: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

246 ● Y. K. Hwang and N. Ahuja

I 1 ).. ! I — i -4

(a) A cand!date path IS frst foundassuming Ihe robot IS a point

(b) A solullon pafhCompare wlfh Figure 41 3(b)

Figure 22. Motion planning using a quadtree Reprinted from Proc of IEEE Int Conf. on Robotics andAutornatzon, pp. 484–489,Noboria, H., Naniwa, T., and Arimoto, S., “A feasiblemotion planning algorithmfor a mobderobot on a quadtree representation,” by permission of IEEE, Piscataway,N J., Cowrid. CJ1989IEEE.

as rectangles or circles. The algorithmtakes a few minutes to solve the problemin Figure 22b.

Cell decomposition in configurationspace. The octree is used to represent3D configuration obstacles for a polygo-nal robot among polygonal obstacles in a2D world [Brooks and Lozano-P&ez1983]. The 3D configuration space is di-vided into 8 cuboids, and each cuboid islabeled either full, mixed, or emptydepending on whether the cuboid is com-pletely, partially, or not occupied by theconfkuration obstacles. A search is doneon tie cuboids to find a connectedseauence of em~tv cuboids between the. . .start and goal configurations. When nosuch sequence is found, the cuboids thatare most likely to yield a sequence ofempty subcuboids are divided. The pro-cess of searching and dividing (an ICORSscheme) continues until a solution isfound or until the size of the dividedcuboids reaches a preset limit. This algo-rithm is exact up to the resolution of thecuboid size. The configuration obstaclescan also be computed in a 2 ‘-tree usingthe algorithm in Paden et al. [1989]. Thisalgorithm can also be used for MP of

manipulators and is covered in Section3.1.3.

The generalization of the configurationspace approach to the three-dimensionalworld is carried out in Donald [1984],Objects are assumed to be polyhedral.The corresponding Cspace has six dimen-sions. A six-dimensional lattice of pointsis laid over this space, where each pointrepresents a small neighborhood in theCspace. Equations representing bound-aries of configuration obstacles are thenderived from the contact conditionsbetween the vertices\ edges/faces of therobot and obstacles. These equations areevaluated when determining whether apoint is inside or outside the configura-tion obstacles. The algorithm searchesfor a connected sequence of lattice pointsoutside the configuration obstacles.Because the search space is very large, ituses several heuristics to speed up thesearch. This algorithm is complete at agiven resolution of the lattice and willprobably run in a few minutes on currentsupercomputers.

In Guibas et al. [1988], an0( AS(n)logz 72) algorithm is presented forthe generalized MP with two degrees offreedom, where n is the number of colli-

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 29: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning 8 247

sion constraints, s the maximum alge-braic degree of these constraints, andAS(n) the (almost linear) maximum lengthof an (n, s) Davenport- Schinzel sequence.This algorithm is based on the O(A,( n))upper bound they established for thecomplexity of a single connected compo-nent of the free configuration space,which is computed as follows. A set ofcurves r representing collision con-straints partitions the Cspace into cellsC, and we are interested in finding asingle connected cell c* that contains thestart configuration s of the robot. A solu-tion exists if the goal is in the same cell.To compute the cell, r is split into twosubsets rl, rz of equal size. 171and rzresult in a different set of cells, Cl andCz. The cells, c; and c~, that contain sare selected from Cl and Cz, respec-tively. Finally, the cell C* of C containings is computed by intersecting c~ and c.j.For MP of a rectangle in a polygonalenvironment, there is an algorithm ofO(((a\b)’e-l + l)n logz n), where a > bare the dimensions of the rectangle, ande denotes the tightness of the free space[Alt et al. 1990].

A sweep volume method is used to effi-ciently approximate configuration obsta-cles for a polygonal robot among polygons[Zhu and Latombe 1990]. This algorithmpartitions the robot orientation into a setof intervals. For each interval, it com-putes two types of rectangular cells:bounding cells that contain the configu-ration obstacles and bounded cells thatare contained in the configuration obsta-cles. The set difference between the twotypes of cells are further decomposed intosmaller bounding and bounded cells untila satisfactory resolution is achieved. Apath is found by connecting the emptycells, i.e., those in the complement of theset of bounding cells. This algorithm gen-erates 5– 10 times fewer cells than theoctree method [Brooks and Lozano-P6rez1983] and runs in less than 10 minuteson a Macintosh II computer.

Configuration obfitacles are computedwith Minkowski set difference using agraphics hardware in Lengyel et al.[1990]. This algorithm uses a standard

graphics hardware to rasterize conf@u-a-tion obstacles into a series of bitmapslices and then uses the brush fire searchto find a shortest path in this rasterizedspace. It takes about 25 seconds to com-pute obstacles in a 3D configuration space(raster size of 8 million points) and about50 seconds to plan a path. This algorithmis near real time, but works well for dof <4 due to a huge memory space require-ment.

Potential-Field Approach

The potential-field is used not only toavoid obstacles locally but also to designa globally optimal path in the sense ofpath length for the classical mover’sproblem [Hwang and Ahuja 1989, 1992].In this 2D and 3D heuristic algorithm, acomputationally efficient potential func-tion is defined in terms of the boundaryequations of polyhedral obstacles. Thetopological structure of the free space iscaptured by the valleys of minimumpotential (MPV), which consist of localminimum and saddle points of the poten-tial. It is similar to the Voronoi diagram.The shortest path with the minimumchance of collision is selected from MPV,and narrow regions of free space alongthe initial path causing collisions areidentified. Motion-planning problems areclassified as having three different levelsof difficulty in this algorithm. For theproblems with the lowest level of diffi-culty, the free space between obstacles isquite wide for the robot, and there are nonarrow regions. An optimal path isobtained by minimizing a weighted sumof the potential on the robot, change inrobot’s orientation, and travel distanceas the robot moves along the path. Thesecond level of difficulty is characterizedby the existence of narrow regions. Feasi-ble configurations of the robot in theseregions are found by locally minimizingthe potential on the robot. Each narrowregion leads to two subproblems: one ofmoving the robot from the previoue nar-row region (or the source location), so itassumes a feasible configuration in thecurrent narrow region, and another of

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 30: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

248 9 Y. K. Hwang and N. Ahuja

(a) Moving a grand piano mlo a rcmm

Stan

(b) The arc has 10srdetracktw!ce to get the necessary orientation changes to reach the goal

Figure 23. Potential-field-basedmotion planning.

moving the robot from the current nar-row region, so it assumes a feasible con-figuration in the next narrow region (orthe destination location). The robot movesfrom one feasible configuration in a nar-row region to that in an adjacent regionby following the initial path while mini-mizing the potential on it. Figure 23ashows the motion of moving a grand pianointo a room, where a narrow region is atthe doorway. For the most difficult classof problems considered, a narrow regionhas multiple feasible configurations, noneof which can be connected to the feasibleconfigurations on both sides. This leadsto an additional third problem, that ofconnecting two feasible configurations inthe same region, each of which is con-nected to only one side. Since the robotcannot easily move from one configura-tion to another in a narrow region, thisproblem is solved by moving the robotinto an open space to get a necessaryorientation change and moving back intothe narrow region. Figure 23b shows an

arc-shaped robot making two excursionsfrom the T junction to get the necessaryorientation changes. Their algorithmfinds near-optimal paths (in terms of pathlength) for a variety of 2D and 3D prob-lems. The computation times are lessthan 5 minutes for 2D problems and 30minutes for 3D problems with 5– 10obstacles on a 4-MIPS SUN computer.There are several notable features of thispotential-field approach. It leads tosmooth object motion; coarse topologicalplanning is separated from cost mini-mization for detailed planning using acoarse-to-fine computation; it can beextended to solve problems in higherdimensions with a marginal increase incomplexity; and computation of potentialfield is highly amenable to parallel andanalog computing.

In Chuang and Ahuja [ 1991a], aclosed-form expression of the electro-static potential of a line segment is de-rived, assuming it is electrically charged.It is more smooth than those developed

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 31: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

I pncllon I

~.(a)Three corridors and lhe!r Iunctlons

Gross-Motion Planning 8 249

+.%

1bt-/

L~=. (am+ bm)3p

(b) The longest line segment[hat can turn m a junction

Figure 24. Moving a line segmentamongiso-orientedrectangles.Figure (b) reprinted from Proc. of IEEEZnt. Conf. on Robotics and Automation, DD. 1413–1418, Maddila, S. R., “Decom~osition algorithm formoving a ladder among rectangular obst~~les,”by1986IEEE.

by others and is used to plan paths forpolygonal robots among polygons. In thisalgorithm, a global planner identifiesnarrow bottlenecks in the free space bycomputing minimum-distance linksbetween obstacles. A collision-free pathin each of these regions is computed usingthe potential field. These paths are con-nected to yield a solution. This algorithmgenerates a very smooth motion for therobot, since it uses the differentiableNewtonian potential function to avoidobstacles. This algorithm takes a fewminutes on a 4-MIPS SUN computer tosolve 2D problems with 5–10 obstacles.

A global-path-planning algorithmapplied to both rigid robots and manipu-lators is presented in Warren [1989]. Thisalgorithm generates configuration obsta-cles first and then assigns potential func-tions to the configuration obstacles. Thepotential function has a truncated coni-cal shape; it has a maximum value at thecenter, decreases linearly as the distancefrom the center increases, and is zerobeyond a preset distance from the config-uration obstacles. The center of conicalpotential is located at the approximatecenter of each configuration obstacle. Thealgorithm initially plans a straight-linepath from the start to the goal in theconfiguration space. Then this initialpath is modified in the direction of mini-mizing potential. Since the potential hasa conical shape, it will converge to a

permission of IEEE, Piscataw~y, N.J., C~pyright, 0

curve contained in the free confk-urationspace. This algorithm is significant inthat it combines the idea of configurationspace and potential functions. The over-head of computing connected componentsof configuration obstacles and their cen-ters limit this algorithm to cases withdof <3.

Motion Planning of Line Segment

The MP of a line segment, called a lad-der, is simpler than MP of a polytope.The MP of a line segment has limitedapplicability in the real world, but itserves as a good reference to gauge thecomplexities of more general versions ofthe classical mover’s problem.

Moving a ladder among iso-orientedrectangular obstacles is considered inMaddila [1986]. We mean by iso-orientedthat sides of rectangles are parallel tothe coordinate axes (Figure 24a). Theproblem is decomposed into several local-motion-planning problems. The free spaceis divided into corridors and junctions.Corridors are the “hallways” betweenrectangular obstacles, and junctions arethe areas where corridors meet. Themovement of the ladder is either horizon-tal or vertical, and rotations are per-formed at L-shaped junctions. Because ofthe iso-oriented nature of the rectangularobstacles, the maximum length of theladder that can move through an L-

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 32: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

250 ● Y. K. Hwang and N. Ahuja

shaped channel is easily calculated(Figure 24b). A weighted graph called amotion graph is constructed from thesolutions of the local subproblems. Theweights represent the longest ladder thatcan be moved between the nodes of themotion graph. The algorithm finds a pathin 0( n log n) time and is also capable offinding the longest length of the laddermovable between two positions in the freespace. This algorithm is useful in envi-ronments such as factory floors, wheremost obstacles are rectangular and iso-oriented.

The complexity of moving a ladder inthree dimensions is studied in Ke and0’Rourke [1987, 1988]. An Q(rz4) lowerbound is established by constructing anexample with a complex arrangement ofpolygons in space that force a ladder tomake Q( n4) distinct moves, where n isthe total number of obstacle vertices(Figure 25). They show an O(nG log n)-time algorithm for moving a ladder usingthe cell decomposition approach ofSchwarts and Sharir [ 1981].

Future Research Directions

Algorithms for the classical mover’s prob-lem have applications such as in assem-bly planning and navigation in clutteredenvironments. These algorithms arerepeatedly used by task planners to checkthe feasibility of object transfer andplacement. There is yet no 3D algorithmthat matches the human MP capability.A brute-force way of computation usingsupercomputer.s or massively parallelcomputers is a possibility, but it is veryexpensive and still takes minutes. Moreefficient algorithms for the classicalmover’s problem in 3D are hence needed.The complexity analyses show thatexact-motion planners for the 3D classi-cal mover’s problem will take a high-degree polynomial time. Since objectmodels are not exact in most cases, futureresearch should concentrate on heuristicalgorithms that run in a few seconds atthe expense of failing to find a solution tovery hard, pathological, puzzle-like prob-lems (humans, too, perform poorly in such

cases). Knowledge-based methods seempromising since many objects manipu-lated by robots are manmade and highlyregular.

3.1.2 Point or Cwcular Robots

The shape of a point or a circular robot isindependent of its orientation. It is use-ful to develop efficient algorithms for thisproblem since a robot can be treated as apoint or a circle in many navigationalsituations. Many fast algorithms havebeen developed using representationssuch as visibility graph, quadtree (octree),or grids. The shortest-path problem for apoint among polygons in 2D can be solvedin 0( n 2) time with the visibility graphalgorithm [Asano et al. 1985]. It is shownthat the shortest-path problem amongpolyhedral obstacles in 3D is NP-hard[Canny and Reif 1987], and onlyexponential-time algorithms are known[Canny 19871, [Reif and Storer 1988],[Sharir and Schorr 1986]. Thus, an exactpolynomial-time algorithm for 3D isunlikely, although there is an approxi-mate polynomial-time algorithmPapadimitriou [1985].

There are two interesting special casesfor a point robot. In the u’eighted-regionproblem, the world space consists ofregions with different traveling costs, andthe minimum-cost path between twopoints is not a straight line even if thereare no obstacles (Figure 26). MP in apartially known environment assumesthat the robot knows only those parts ofthe world that it has seen. For example,information about the space behind anobstacle is unknown until the robotacquires that data. Motions are plannedbased on partial information. The robotcan construct a more complete represen-tation of the world space as it exploresthe world. Algorithms for these two prob-lems are presented at the end of thissection.

Skeleton Approach

The visibility graph and the Voronoi dia-gram are prime candidates for a skeleton

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 33: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Top

/ A /

/ B /

c /

80!/

(a) a line segment is moving through equallyspaces planes Z, A, B and C, which arebetween hole-less Top and Bottom planes.The length of the line segment is the sameas the distance between plane Top and C.

A,,05000

II

Ilonoo❑ 000

l’)

0°”0”❑ 000 o0°00000000

(c) Holes in Plane A

0

P.““

EfimlfddnElcmtlclclnEIDCICICH3CI❑ ICICICICIEID❑ lclclcloclcl❑ EIUCIEICICIEICICICICICIEI

(d) Holes m Plane B

8*!

“s,

El‘ “’%,

/2

0-1**

laa -

(b) Holes in Plane Z.Plane A is drawn to establish scale.

-- 0000 -..-0..- nOn. -

-- 0.00000.00.-000.-

-Ononnn 0. --0 -------

mooonnnoo 000000000 m

0 - 0 - 00000 ----------

1000000 .---0. -0--00

-0 ---- .---.- ------

000000 00000- 000000

-00 --- ------ ------

------ .-.=.- -- m---

-00-00 ------ -0----

--0-- ------ ------

-------------- ----=000000000 Ua--cn-nm mr--

0=00000 .00!=30-- --a. -

000-00-..--0-00-000

-000 . 00.00--.0 --ona

0000000000 -0-- -,—,,—, >—, -

(e) Holes in Plane C.

Plane A is shown to establish scale.

Figure 25. A set of obstacleplanesthat forcesa line segmentto make Q(n4) movesto gofrom onehole toanother. Reprinted from Dzscrete and Computational Geometry, vol. 3, pp. 197–217,Ke, Y. and ORourke,J., “Lower boundson moving a ladder in two and three dimensions,”by permissionof Springer-VerlagNewYork, Inc., Copyright, 01988 Springer-Verlag New York, Inc.

Page 34: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

252 0 Y. K. Hwang and N.

s

h

low cost region

Ghi~fi ~~t fegiori

Ahuja

Figure 26. The minimum-cost path m a weightedregion obeys the Snell’s Law of refraction at theboundary.

for finding a path among polygons in 2D.To be used for MP of a point robot, thefeature set of the visibility graph has toinclude the start and goal points in addi-tion to obstacle features. For the Voronoidiagram, a canonical procedure thatmoves the robot from the start and thegoal points onto edges of the Voronoi dia-gram is needed. A straight line move-ment in one of the coordinate axes of theCspace usually suffices. There are notmany MP algorithms for point robotsusing the Voronoi diagram, since thealgorithms generating the Voronoi dia-gram can be directly used for MP. (AnO(n log n) algorithm to move a discamong polygons using the Voronoi dia-gram is reported in O’Dunlaing and Yap[1982].) In contrast, the visibility graphis used in a variety of ways to solve manydifferent MP problems.

The visibility graph takes 0(n3) timeto construct with the following trivialmethod, where n is the number of ver-tices. There are 0(n2 ) possible linesegments between every pair of polygonvertices, and testing of each line segmentfor intersection with the polygons takes0(n) time. This time is improved toO(n2 log n) [Lee 1978], to O(n2) [Asanoet al. 1985; Sharir and Schorr 1984; Welzl1985], and then to O(rzk + n log n) timewhere h is the number of disjoint simplepolygons [Reif and Storer 1985].

The visible-polygon idea is used tocompute the visibility graph in Asano etal. [1985]. Given a query point q and aset of edges intersecting only at theirendpoints, the visible polygon is the setof points p on the edges such that theline segment pq does not intersect any

‘4●9

Figure 27. The visibility polygon (shaded region)from point q.

other edge. The visibility polygon is com-puted by setting the origin of a polarcoordinate system at the query point, or-dering the endpoints of edges accordingto the polar angles, and finding the clos-est edge to the query point for each polarangle of the endpoints (Figure 27). ThisO(n) visible-polygon algorithm isrepeated for each of the n vertices, com-puting the visibility graph in 0(n2 ) time.The O(nz ) of Dijkstra’s algorithm is usedto find the shortest path in the visibilitygraph, giving the overall complexity of0(n2).

Rather than generating the whole visi-bility graph in the beginning, it is incre-mentally generated while searching for asolution path using A* search (ICORS)[Montgomery et al. 1987]. This algorithmmakes use of pruning rules and a hierar-chical set of visibility tests to minimizethe size of the visibility ma~h. and thus

“v.

speeds up the A’ search. For example,the occlusion information among obsta-cles is used to generate only tho~e pathsto the visible vertices from the robot’scurrent position. Although it has 0( n2 )worst-case time complexity, it runs muchfaster in average cases. Parallel imple-mentation can be used to comtmte thecosts of reaching vertices and t: do thesearch.

de Rezende et al. [1985] consider theproblem of finding a shortest path inthe Manhattan or LI distance. Theobstacles are disjoint rectangles withsides parallel to the coordinate axes. Mo-tions of the robot can be restricted toeither horizontal or vertical, since we areusing the LI metric. The essence of thealgorithm is the fact that the shortest

ACM Computmg Surveys, Vol. 24, No 3. September 1992

Page 35: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

path between two points in this space ismonotone in either vertical or horizontaldirection. Assume without loss of gener-ality that the start point has smaller xand y coordinates than those of the goalpoint. Move the robot in + y direction,whenever possible, and in +x directiononly if +y motion is blocked by a rectan-gle. If the robot passes under the goalpoint during this motion, an optimal so-lution is monotone in y direction (in xdirection if it passes above). Note thatthe robot does not get stuck since therectangles are disjoint. Once the direc-tion of monotone motion is determined(let us assume it is +x), a type of scanline algorithm is used to find the shortestpath. The scan line is moved from thestart point in +x direction and stoppedat an x coordinate of a rectangle vertex,and the LI distance from the start to thevertex is computed. This vertex is storedin a list containing vertices that may lieon the shortest path. The scan line ismoved to a next vertex of a rectangle in+x direction, adding vertices to the list.A rule is used to delete vertices in the listthat can no longer lie on the shortestpath. This algorithm runs in 0( n log n)and is useful for planning bus routes incities or finding paths for electrical con-nections on circuit boards.

If the rectangles are weighted, i.e., therobot is allowed to go through them atextra costs, an 0( n logz n)-time andO(n log n)-space (or O(n log3iz n) timeand space) algorithm is available [Leeet al. 1990]. The LI shortest path amongpolygons is studied in Clarkson et al.[1987]. It is of O(n logz n) and planspaths by constructing a weighted visibil-ity graph whose vertices are the start,goal, vertices of the polygons, and someadditional points called Steiner points. Italso shows an 0( n2 logs n) algorithm forthe LI shortest path among rectilinearobstacles in 3D.

There is a family of algorithms for theshortest paths on the surface of a singlepolyhedron. The algorithm in Hwanget al. [1989] computes a representationof a convex polyhedron in O(nG log n)time, which is used to find the shortest

Gross-Motion Planning 9 253

path on the polyhedron between any pairof points on the edges of the polyhedronin O(k + log n) (k is the number of edgesthe shortest path crosses). This versionof the problem is called the all-pairshortest-path problem. For the single-source problem (one of the points is fixed)for a single convex polyhedron, an 0( n3log n) algorithm is presented in Sharirand Schorr [1984]. The time is later im-proved to 0(n2 log n) in Mount [1985].For a nonconvex polyhedron, an O(rz5 )algorithm is developed in O’Rourke et al.[1984] and improved to 0( n2 log n) usingthe technique called continuous Dijkstra

(Dijkstra algorithm applied to a finitenumber of continuous regions) in Mitchellet al. [1987, 1990], again to O(n2) inChen and Han [1990]. We also note thatthere are O(n)-time algorithms for theminimum-link path problem inside apolygon [Suri 1986; Ke 1989] and an0( Ea(n )log2 n)-time algorithm for thesame problem among polygons (E is thesize of the visibility graph, and a ( ) de-notes the extremely slowly growing in-verse of Ackermann’s function). Mini-mum-link paths are found by first com-puting the visible polygon (Figure 27)from the start point and then by recur-sively computing the visible polygonsfrom the vertices of the computed visiblepolygons, until the goal point is visible.

Some parallel algorithms for solvingvisibility and shortest-path problems forsimple polygons exist. Atallah et al.[1989] show an algorithm to compute vis-ible portions of the plane from a point ina collection of line segments in O(log n)time with 0(n) processors. The numberof processors for this problem is improvedin Atallah and Chen [19891 to 0( n/log n)for the case when the line segments forma simple polygon. The shortest pathbetween two points in a simple polygoncan be determined in O(log n) time with0(n) processors [EIGindy and Goodrich1988], and the shortest-path tree from avertex to all other vertices can be com-puted in O(logz n) time using 0(n) pro-cessors. Goodrich et al. [1990] present analgorithm of O(log n) time with 0(n)(O(n/log n) with preprocessing) proces-

ACM Computmg Surveys, Vol. 24, No 3, September 1992

Page 36: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

254 ● Y. K. Hwang and N. Ahuja

mF==rlII I

Figure 28. Rectangular cell decompositionand thecoding of the cells. A cell has two strings thatrepresent the horizontalivertical position of thecell. The shadedregion is a prime convexarea.

sors for the shortest path in a simplepolygon and an algorithm of O(log n)time with O(n log n + k/log n) proces-sors for the construction of the visibilitygraph for a simple polygon (k is thenumber of edges in the graph).

Cell Decomposition Approach

Overlapping iso-oriented rectangles areused as cells in decomposing the worldspace filled with polygons in Singh andWagh [1987]. Polygons are first approxi-mated with the smallest iso-orientedrectangles, and the rectangle edges areused to partition the free space into rect-angles. Each free rectangle is coded witha pair of binary strings which has a 1 atthe bit positions representing the hori-zontal and vertical locations of the rect-angle (Figure 28). Unions of these freerectangles that form larger rectangles arecomputed, and only maximal unions areused for path planning. A maximal rect-ang-alar union is called a prime convexarea because it has the binary stringsthat correspond to the prime implicant ofthe strings of the rectangles forming theunion. Two overlapping prime convexareas are considered connected. The con-nectivity graph (with 0( nz ) nodes andO(n4 ) edges in the worst case) of theprime convex areas is constructed to carryout the search for near-minimum-lengthpaths. This algorithm finds near-optimalsolutions in less than a minute for prob-lems containing 30 rectangular obstacles.

The free space among polygons isdecomposed by using the lines containingedges of the polygons in Rueb and Wong[ 1987]. The resulting polygonal cells inthe free space are joined to form overlap-ping maximal convex regions, and over-laps among these regions are found. Theroadmap of the free space is formed withthe overlaps as nodes and common con-vex regions joining the overlaps as edges.The roadmap is similar to the Voronoidiagram and constructed in 0( rz2) timein the worst case and in approximatelylinear time for common problems.Dijkstra’s algorithm is used to find theshortest path in the roadmap. This algo-rithm takes about 200 seconds to solvethe problem in Figure 29. This seems tobe reasonably fast and can be used for arobot moving in a warehouse ora building.

A probabilistic approach is taken inJun and Shin [1988] to plan a path for apoint robot. The 3D space is representedwith a 3D grid of points, and each pointis marked as either free or occupied byobstacles, The probability of each pointbecoming a dead end is iteratively com-puted based on the obstacle shapes andlocations. A probability of 1 is initiallyassigned to points occupied by obstacles,and O to those in the free space. Theprobability for each point is then modi-fied in parallel by examining the proba-bilities of the adj scent points, increasingthe probabilities of the points in blindalleys and narrow regions. The best-firstsearch is then used to !ikd the shortestpath instead of the expensive Ay. Theyreport a speedup by a factor of 10 com-pared to using A“ search. This algorithmis fast enough to be online if the environ-ment does not change often and if onlythe start and goal positions of the robotchange. If the obstacle information is in agrid form, this method can be useddirectly. If obstacles have a more com-pact representation, a smaller number ofbigger cells should be used in the free-space decomposition.

An algorithm for a mobile robot mov-ing on curved surfaces is developed inGaw and Meystel [1986]. The surface is

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 37: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning “ 25!5

Figure 29. Motion planning with object-dependentcell decomposition. Motions of circular robots areshown in dashed lines. Reprinted from IEEE Trans.on Pattern Analysis and Machine Intelligence, vol.PAMI-9, no. 2, pp. 263-273, Rueb,K. D. and Wong,A. K. C., “Structuring free spaceas a hypergraphfor roving robot path planning and navigation,” bypermissic%of IEEE, P&ataw~y, N.J., C;pyright, ~1987IEEE.

represented by a set of iso-elevation lines(isolines). each of which consists of a set

of points. The gradient vectors (ofheights) are then computed at each point,and A* search is used to nlan a ~athusing a cost function that cle~ends o: thevehicle model and the elevation gradientvector. Obstacles are avoided bv assim-.ing an infinite cost to the points insideobstacles. It took five minutes for athree-obstacle problem with 100 verticesrepresenting the isolines. This algorithmis very practical for mobile robots onuneven terrains.

A auadtree-based ahzorithm for a ~ointrobot’ is presented in ~ambhampat~ andDavis [1986]. An optimal path in thesense of minimum lerw-th and maximumclearance is found from the quadtreeusing A* search. Search on a quadtree ismuch faster than that on a grid due to asmaller number of cells. To further s~eedup the search, the number of cells ii thequadtree is reduced by using a multireso-lution representation. A cell which con-

tains only a few small obstacles isdenoted as a gray cell. When a gray cellis selected as a part of an optimal path, itis refined into black (obstacle occupied)and white (free) cells. This multiresolu-tion approach speeds up the search pro-cess bv 2–10 times. It takes 10–20.seconds to solve problems involving about10 obstacles. This algorithm is very efli-cient when both the nath lewzth and theclearance are imp& -tant ~nd whenthe number of obstacles is large.

Potential-Field Approach

Thorpe has used a potential functionbased on distance to design an optimalpath for a circular robot in 2D [Thorpe1984]. A grid of points is laid over theworld space, and each point on the grid isassigned a cost inversely proportional tothe minimum of the distances to allobstacles. Then the A* search is used tocompute the path on the grid having theminimum length and cost. The points onthis path are then allowed to move tofurther decrease the cost of the path.Kro~h and Thor~e 119861 later include adyn~mic steerin~ c&troi in their formu-lation. Dynamic steering of the robot isdone by minimizing a potential functionwhich is the sum of a goal potential andan obstacle potential. The goal potentialis formulated so that the robot isattracted to the next corner (turningpoint) along the path. The obstaclepotential is defined as the inverse of theminimum time necessary to avoid obsta-cles, which can be computed from themaximum acceleration of the robot,the current velocitv. and the distance tothe approaching ofistacle. A similar ob-stacle potential is used in Faverjon andTournassoud [1987]. This algorithm isuseful for a mobile robot that can controlits acceleration in x and y direction inde-pendently. The grid search in this algo-rithm becomes expensive (especially forA*) if a solution with high spatial resolu-tion is required. A parallel implementa-tion, however, can greatly speed up thisgrid-based algorithm.

Koditschek [1987] has constructed a

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 38: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

256 ● Y. K. Hwang and 1?. Ahuja

potential function for point robot naviga-tion among disk obstacles, and Rimonand Koditschek [1988] have extended itto n-dimensional Euclidean space (En)for a point robot moving among disjointEn spheres. The potential function, calleda navigation function by the authors, is 1at the obstacle boundaries, a uniqueglobally minimum value of O at the goalposition, and has no local minima in thefree space. Thus, no matter where theinitial position is, the robot can followthe negative gradient of the potential toreach the goal position. The navigationfunction has the form (y(y~ + ~ ))-~,where y is the distance to the goal and ~is the product of the distances to all thespheres, with h sufficiently large. It is 1at the boundary of one of the spheressince ~ is O. It is O at the goal since y isO. A sufficiently large value of k makesthe downhill slope of the potential towardthe goal steep enough to remove all localminima. Notice that the disjointness ofthe obstacles is a critical assumption.

This navigation function has beenextended to the disjoint star world inRimon and Koditschek [1989]. A star is aset which has a point in its interior suchthat the set contains the line segmentconnecting the point and any point of theset. The algorithm deforms star shapesto spheres and uses the navigation func-tion defined above. These algorithms arevery attractive since they not only guar-antee solutions, but also give the forcesto control the robot in the form of thegradient of the navigation function. It isunlikely, however, that the approachcould be generalized to nonpoint robots,since such robots result in configurationobstacles that are very concave and notdmjomt.

A real-time strategy for a point robotto avoid elliptical obstacles in 2D isdeveloped in Kheradpir and Thorp [ 1987].Elliptical obstacles are used as state-(position and velocity) dependent con-straints on the control variables. Theseconstraints are used with the hard actua-tor limits in the optimal decision strategyto follow desired trajectories while avoid-ing obstacles. This algorithm is a locaz

planner since the desired trajectories tofollow must be given. The main contribu-tion of this paper is the real-time imple-mentation. Its extension to manipulatorswill be very valuable for local avoidanceof obstacles. Such local avoidance is nec-essary even with a global-path plannerbecause of errors in obstacle models anduncertainties in sensors and actuators.

Two commonly used object representa-tions in computer vision, the medial axistransform (MAT) and the generalizedcylinder representation, can also be usedfor MP of a point robot. The MAT of aregion is the Voronoi diagram where eachpoint on the diagram is labeled withthe distance to the region boundary.(So the region can be reconstructed bytaking the union of all circles centered ateach point with the radius equal to thedistance labeling the point. ) The general-ized cylinder representation of an objectconsists of a (possibly curved) axis and aradius labeling each point on the axis.The object volume is then defined by theunion of disks centered at the points onthe axis and perpendicular to the axis.An approach to efficient derivation of theMAT and the generalized cylinder repre-sentations of a two-dimensional region isreported in Chuang and Ahuja [ 1991 b].Instead of using the shortest distance tothe region border, a potential-field modelis used for computational efficiency. Theregion border is assumed to be charged,and the valleys (saddle points and min-ima) of the resulting potential field areused to obtain preliminary estimates ofthe axes for the two representations. Thepotential valleys are found by followingthe negative gradient of the potential,thus avoiding two-dimensional search.The simple Newtonian potential is shownto be inadequate for deriving accuraterepresentations. A higher-order potentialis defhed which decays faster with dis-tance than as inverse of distance. It isshown that as the potential orderbecomes arbitrarily large, the axesapproach those computed using theshortest distance to the border. An algo-rithm is presented to efficiently computethe MAT skeleton. This algorithm is then

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 39: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 257

modified to obtain the generalized cylin-der axis of a polygonal region. Thesealgorithms for polygonal regions are usedto perform a multiresolution coarse-to-fine computation of the MAT and gener-alized cylinder axes of arbitrarily shapedregions. This algorithm can be used tocompute the MAT of the free space andplan the motion of a point robot in 2D.

Weighted-Region Problem

The weighted-region problem has impor-tant applications in terrain navigationand the least-risk watchman route prob-lem (a watchman route is such that eachpoint in some set is visible from at leastone point along the route). There are twoapproaches to solve this problem.Approximate algorithms discretize thespace with a grid of points and assign aweight (cost) to each point. A shortest-path algorithm such as Dijkstra’s algo-rithm is then used to find a sequence ofpoints minimizing the total cost [Jones1980; Kiersey and Mitchell 1984; Quek etal. 1985]. An exact approach is to useSnell’s Law (the law of refraction inoptics) as a local-optimality condition inplanning globally optimal paths. It is wellknown that the path of a light ray travel-ing in different mediums obeys Snell’sLaw and results in the minimum-timepath. An exact algorithm that runs in0(n7L) time and 0(n3) space is pre-sented in Mitchell and Papadimitriou[1987]. (L denotes the precision of prob-lem specification.) This algorithm usesthe continuous Dijkstra introduced inMitchell et al. [1987] and Snell’s Law toplan paths. More efficient algorithms forvarious special cases are presented inGewali et al. [19881.

In Richbourg et al. [1987], the plane isrepresented by a ternary map, i.e., theregions are labeled as either impossibleto traverse, high cost, or low cost. Thealgorithm first treats high-cost regionsas if they have the low cost and finds theshortest path, The actual cost of travel-ing on this path in the original ternarymap is computed. This gives an upperbound of the costs for possible solutions

and also bounds the parts of the plane tobe examined. Only those points whosedistances to the start and the goal sumup to less than the upper bound need tobe considered (these points form anellipse; see Figure 30a). Wedges are usedto represent the ranges of light rays thatgo through the same sequence of theboundary segments. Instead of using A“search on a static graph, the wedges aredynamically generated during the A*search process (ICORS). Figure 30bshows a minimum-cost path. Time com-plexity is not given and is likely to behigh in the worst case. The authors pointout that a brush fire search using a gridis likely to run faster if many high-costpolygonal regions are concentrated in asmall region.

Partially Known Environment

The work on path planning in partiallyknown environments has been restrictedto point robot navigation in 2D [Chatila1982; Chatila and Laumond 1985; Chat-tergy 1985; Koch et al. 1985; Oommen etal. 1987]. All these algorithms use worldmaps that are updated as the robot ex-plores the environment. Heuristic strate-gies are used to plan paths from thepartial information of the world usingthe world map. The robots often avoidunknown terrains by assigning a largecost to such areas.

Rao et al. [1988] have studied the prob-lem of visiting a sequence of points in apartially known 2D polygonal world. Onlythose obstacles visible to the robot areknown to the robot. Two algorithms,LNAV and GNAV, are developed basedon the visibility graph. LNAV is usedto move the robot between two vertices,say the current and the goal vertex. Fromthe current vertex, the robot scans theworld and obtains visible vertices. It thengoes to one of the visible vertices thatis not yet visited and closest to the goal.If at some point all visible vertices arevisited, it backtracks until there is anunvisited vertex. This is repeated untilthe goal is reached. GNAV visits thesequence of vertices by repeated applica-

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 40: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

258 ● Y. K. Hwang and N. Ahuja

@

I

G

s

(a) The shorlest path found ignonng high cost reg!ons The actual cost (b) A m!nimum cost patho{ lhls path gives an upper bound, and search for the minmum-costpath can be limited to the ms!de of an ell}pe shown above (A path thatgoes outs[de of this elllpse has a higher cost than the upper bound )

Figure 30. Weighted-regionproblem, Reprinted from Proc. of IEEE Int. Conf. on Robotzcs and Automa-tion, pp. 1631–1636, Richbourg, R. F., Rowe, N. C., Zyda, M, J., and McGhee, R. C., “Solving globaltwo-dimensional routing problem using SneI1’sLaw and A- search,” by permu+slonof IEEE, Plsc~t~way,N.J., Copyright, Q 1987IEEE.

tion of LNAV with a restricted form oflearning. The global-vertex graph isupdated as the robot moves, and the pathis planned in the global-vertex graph.The time complexity of LNAV is 0(n2 ),which is typical of the visibility-basedalgorithms. GNAV is 0(( n + nz)3) wherem is the number of vertices to be visited.

Lumelsky [ 1987] describes algorithmsin which the robot (bug) knows the goallocation and can only feel obstacles. Aninteresting feature of this algorithms isthat it does not use any explicit represen-tation of the free space. All the informa-tion about obstacles comes from directcontact between the bug and obstacles.The bug goes directly toward the goal ina straight line Ml. When it encountersan obstacle, it follows the obstacle bound-ary while maintaining contact with theobstacle. When it meets the line Allon the other side of the obstacle, It leavesthe obstacle and heads for the goal again.Lumelsky [1987] proves the convergenceof such a bug algorithm. The path foundis not optimal in general. The bug algo-rithm has also been extended to themotion planning of manipulators (Section3.3). In Lumelsky and Skewis [1988], thebug is equipped with finite-range visionto improve the efficiency of the paths. It

plans the shortest path within its visualrange while using the bug algorithmdescribed above. It is proven that havingvision always results in shorter pathsthan no vision, but longer-range visiondoes not necessarily result in shorterpaths than shorter-range vision. Becauseof the inefficiency of the solutionsobtained by the bug algorithms, they areapplicable to cases where obstacle infor-mation is available only through touchsensors.

Future Research Directions

Path planners for a point robot in 2Dhave time complexities of O(n log n) tofind a feasible path and 0(n2 ) to find theshortest path. The 3D shortest-pathproblem is not discrete, i.e., the solutioncannot be obtained in a finite number ofsteps, and exact polynomial algorithmsare unlikely. See Sharir and Schorr[19841 for a double-exponential proce-dure for determining the sequence ofobstacle edges that the shortest pathpasses through. The power of computers,however, has reached a stage where thepoint navigation in 3D can be done innear real-time by brute force using abrush fire search in a three-dimensionalgrid.

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 41: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Motion planning of a point robot instatic environments is well understood,and we suggest the following areas forfuture research. The first area is the kin-odynamic planning, where dynamic con-straints such as bounded acceleration areconsidered (see Section 3.3). Second, pathplanning of multiple robots with conflict-ing\common objectives has applicationsin planning of battlefield strategies andconstruction of large structures withmultiple robots. This requires researchin representing task requirements interms of robot motions, formulating opti-mality criteria for various tasks, and effi-cient search methods for a very high-di-mensional space (the Cspace dimensionof multiple robots is the sum of the dof ofall the robots). Third, more work isneeded for sensor-based path planning inuncertain and partially known environ-ments. This research will address theissue of uncertainty handling, sensingplanning, and efficient representationsfor information updating. Some work inthese areas can be found in Donald andJennings [1991].

3.1.3 Manipulators

A manipulator is a robotic arm consistingof links joined together. Joints are eitherrotary or prismatic (translational), andactuators, e.g., motors, are used to changejoint angles or link lengths. The con!iigu-ration parameters are the joint anglesand link lengths controlled by prismaticjoints, and the dof is equal to the numberof independently controlled actuators. Inthis section, the word “robot” refers tomanipulator, and joint angles refer toconfiguration parameters. Links and jointangles are indexed from the base of themanipulator. For example, link O is con-nected to an object in the world space,e.g., the floor, and the ith joint anglecontrols the movement of the ith link.The type of manipulator is specified by astring of “R’ and “P,” where the i th char-acter represents the type of ith joint.Figure 31 shows an Adept robot, whosejoints are rotary except for the third joint(RRPRRR), and a PUMA robot with a

Gross -iWotion Planning ● 259

hand which has all rotary joints (RRR-RRR).

Kinematics of a manipulator refers tothe computation of the position and ori-entation of a part of the manipulator(usually the tip) from the configuration.It involves sines and cosines if themanipulator has a rotary joint. Inversekinematics is the computation of the con-figuration from the position and orienta-tion of the tip. Note that this problemoften needs to be solved for manipula-tion. For example, to pick up an object,we need to find a configuration of themanipulator that will place its gripperwhere the object is. For 3D world space,it is described as a set of 6 simultaneousnonlinear equations in dof variables. Theinverse kinematics often has multiple so-lutions even for a simple 2-link planarmanipulator. If dof > 6, an infinite num-ber of solutions exist, and such manipu-lators are called redundant. There is noclosed-form solution for most manipula-tors. The dynamics refers to the relation-ship between the position\ velocity of themanipulator and the force \torquesapplied by the actuators.

The Jacobian J refers to the relation-ship between differential changes of themanipulator tip configuration dx and dif-ferential changes of the configuration ofmanipulator dq. In equation form, dx =J(q) dq. J is a 6 x dof matrix whoseelements are functions of q. If we wantto compute dq from dx, the inverse of Jis computed. J is singular, however, fora certain set of q, and the inverse doesnot exist. Such a set is said to consist ofsingular configurations of the manipula-tor. The physical interpretation is thatthere is no dq that will move the tip indx direction. For example, the singularconfigurations of a two-link robot inFigure 32 are those for which the twolinks are parallel, since no differentialchanges in the configuration will movethe tip in the radial direction. Specialcare is needed when solving an inversekinematics problem using the Jacobian.

Because most manipulators have non-linear kinematics, the design of globallyand dynamically optimal motions among

ACM Computing Surveys, Vol. 24, No. 3, September 1992

Page 42: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

260 - Y. K. Hwang and N. Ahuja

(a) An Adept mampulator (b) A PUMA manipulator

Figure 31. Commercialmanipulators

L tip

base

Figure 32. Smgukmmampulator. The tipdmectmn

configurations of a 2-linkcannot move m the radial

obstacles is difficult, and most globalplanners consider kinematics only. Inalgorithms that include dynamics, it is

usually assumed that an initial pathis given and that dynamic optimization isdone locally in the vicinity of the path[Bobrow et al. 1985; Shin and McKay1984]. This section w1ll concentrate onkinematic global planners. Even for thiscase, a motion planner for manipulatorshaving six degrees of freedom that runsat practical speeds has not been reported.Commercially available robots such asPUMA, Adept, and Gantry come withonly a position controller, which basicallymake the robots follow specified trajecto-ries. Only one graphics package for robot

simulation includes the path planner ofLozano-P&ez [1987]. With these defini-tions we now survey MP algorithms formanipulators.

Skeleton Approach

The MP of a planar d-link system con-fined in an obstacle-free circular region isstudied in Hopcroft et al. [ 1985]. Thebounding circle is the only obstacle.

The algorithm first moves the linkage toa certain normal form and then putseach link into place, correcting its orien-tation if necessary using only simplemotions. A simple motion involves mono-tone changes in at most four joint angles.It is defined so that the manipulator canmove to any reachable point using onlythese motions, and it still retains thepolynomial-time complexity of the MP al-gorithm. In a normal form, all the jointsup to joint i lie on a radius of the bound-ing circle, and the rest of the joints touchthe circle. Correcting orientation of a linkinvolves destroying and restoring the po-sitions of previous links, which takesO(d 2) time. Orientation correction isdone once for each link in the worst case,resulting in an O(d3) overall complexity.

ACM Computmg Surveys, Vol % No. 3, swtember 1992

Page 43: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

This algorithm is a form of subgoal net-work, with the normal form and simplemotion being the subgoal and local oper-ator, respectively.

Faverjon and Tom-nasouci [ 1987] reporta global-path planner for manipulatorswith many degrees of freedom. A subgoalnetwork method is first developed in thispaper. The global planner divides theCspace into cells and assigns to the cellsthe probabilities that the local algorithmwould succeed in them. All regions havethe same probability initially and arethen modified subsequently as the localalgorithm is applied. The A* search isused to find a sequence of regions withthe highest probability of success. A localoperator is then applied to the sequenceof cells. If the local operator finds (fails to

find) a feasible motion in a cell, the prob-ability of the cell is increased (decreased).The process of sequence generation andsearch for a feasible motion along thesequence is repeated. The local operatoris based on a potential field called thevelocity damper, i.e., constraints on thevelocity with which the obstacles may beapproached. This has an advantage overother potential fields in that it aHows the

robot to approach obstacles very closely.Other potential fields consider only theposition of the robot and repel the robotaway from the obstacles even if there isenough braking distance between them.The local planner moves the manipulatortoward the goal by including a goal

potential Iq – q~ ..112 in the minimiza-tion criterion while enforcing velocitydamper constraints and uniformity of ve-locity for each joint. This offline algo-rithm is developed for a manipulator witha high number of degrees of freedom (10links and 8 dof), for which exact algo-

rithms have a very high complexity.A randomized search technique is

developed for the generalized mover’sproblem and is used for MP of high-dofmanipulators [Barraquand and Latombe1990]. This algorithm incrementallybuilds a graph connecting the local min-ima of a potential function defined in theCspace and concurrently searches thisgraph until the goal is attained. A local

Gross-Motion Planning e 261

minimum is connected to another one byexecuting a random motion to escape thepotential well of the first one, followed bya gradient descent to reach the secondone. This algorithm is probabilisticallycomplete and is useful for a manipulatorwith high dof. The computation times forstick figure robots in polygonal\polyhedral environments are 2, 3, 15minutes for d = 8, 10, 31, respectively.This algorithm is a combination of thepotential-field and subgoal networkapproaches.

In Chen and Hwang [ 1992], a very effi-cient and resolution-complete motionplanner is presented using a subgoal net-work method (Section 2.3. 1). The effi-ciency and completeness of this algorithmare made possible by three things: defin-ing subgoals in a hierarchical and mul-tiresolution manner, bidirectional search,and the use of lCORS paradigm. A sub-goal in this algorithm is defined by arectangular cell of various dimensions sin the Cspace, where O < s < dof. Thecell of dimension dof is the whole Cspace,whereas a zero-dimensional cell is a pointin the Cspace. A cell of dimension s is aset of configurations where the first dof– s joint angles are specified, and therest are unspecified, A set of cells ofdimension s is obtained from an s + 1-dimensional cell by copying the valuesof the specified joint angles and by speci-fying the values of the ( dof – s)th jointangle as follows. Place the first dof – s– 1 links in the configuration specifiedfor the (s + 1)-dimensional cell. Move the(dof – s)th link by varying the ( dof -s )th joint angle, and pick the values ofthe joint angle that put the link maxi-mally away from the obstacles. For eachof such values, an s-dimensional cell iscreated. This process is called cell refine-ment, and the resulting cells representsets of configuration for which the firstd – s links are in safe locations. Notethat a point cannot be refined. A cell isconsidered reached if the robot can reachany point in the cell. Two cells are con-sidered adjacent if the LI distancebetween them is less than a presetthreshold (the same definition holds

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 44: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

262 ● Y. K. Hwang and N. Ahuja

between a point and a cell). Imbeddingthe bidirectional search in the subgoalnetwork method, this algorithm keepstwo lists of reached points: the s-reachedlist containing the points reached fromthe start (initially only the start) andthe g-reached list containing pointsreached from the goal (initially only thegoal). Initially, there is only one subgoal,the whole Cspace CO. The shortest se-quence of subgoals between any point ins-reached list and g-reached list is foundusing Dijkstra’s algorithm (initiallystart-Co-goal is the only sequence). Alocal operator is used to check theexistence of a feasible path along thechosen sequence by trying to move therobot from both ends of the sequence.The distance between the robot and ob-stacles is computed at the points at bothends of the sequence, and the robot ismoved from the point with the smallerdistance to the other. If there is no path,the last subgoal reached from each end isrefined into several subgoals each havingone less dimension. The refined subgoalsare removed from the subgoal network,and the newly generated subgoals areentered in the subgoal network. The ad-jacency of subgoals is then updated inthe subgoal network. The shortest se-quence of subgoals between any s-re-ached points and g-reached points iscomputed again and subsequentlychecked by the local operator. This pro-cess is iterated until a path is found oruntil there is no sequence to examine.The local operator is based on the poten-tial field and moves the robot toward thesubgoal while maximizing the distancebetween the robot and obstacles. Figure33a shows the subgoal network gener-ated in the Clspace for the problem inFigure 2. Because the ICORS paradigmis used, this algorithm solves easy prob-lem fast and harder problems with a

gradual increase of computation time. Ithas an average computation time of 10minutes on a 17-MIPS computer for 6-dofmanipulators in polyhedral environ-ments. This algorithm requires about10,000 distance computations to solve theexample in Figure 33b.

Lumelsky also applied the bug algo-rithm to manipulators of various types.In all of these algorithms, the robot isequipped only with touch sensors, andglobal information about all obstacles isnot available a priori. Path planning fora Cartesian manipulator in 3D isdescribed in Lumelsky [1986], in whichthe completeness of the algorithm isproved. The tip of the manipulator movesin the plane connecting the start and thegoal positions and parallel to the lastlink. In Lumelsky [ 1987], the kinematicsof 5 useful types of planar 2-link manipu-lators are analyzed. They are RR, PP,two RP, and PR types. The RP type hastwo kinds, depending on whether thesliding link is in the radial or angulardirection. Obstacles in work space aretransformed into configuration obstacles,and the bug algorithms are used in theGspace. Although the topology of the jointspace is more complicated than theEuclidean space, the bug algorithms arestill shown to converge. Path planning of2-link manipulators in 3D is described inLumelsky and Sun [1987]. An implemen-tation of the algorithm is reported inCheung and Lumelsky [1988] in whichinfrared sensors are used on the PUMA562 arm to detect contact. Using only thesecond and third degrees of freedom ofPUMA (thus making the robot planar),the algorithm plans paths in real timewith two Motorola 68020 microproces-sors. The above algorithms have the sameadvantages and drawback as describedearlier for other bug algorithms,Although these algorithms do not needall obstacle information a priori, the ex-tension of the bug algorithm to 3D mani-folds seems to necessitate the storage ofobstacle information. This is because in2D there are only two choices for the bugwhen it encounters an obstacle, turningright or left. In 3D, however, there are aninfinite number of choices, and the stor-age of examined and unexamined choicesis needed.

Cell Decomposition Approach

Brooks [ 1983] developed a 3D globalplanner for a PUMA robot arm. The

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 45: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-iWotion Planning “ 263

.,~’b. [IL! t CIImI

(a) The search prccess of SANDROS motton planner for the problem !n Figure 21tr,angle colbs,o. pant veti!caf bar .ne-dtmenslonal subgoal, square pot.! subgoal

(b) A .Olut,on found for a 5 dof Adept mansp.latm

Figure 33. SANDROSmotion planner.

obstacles are vertical polygonal prisms.This simplifies the computation of inter-section between the robot and obstacles,since with the first joint angle fixed, themovements of the second and third linksare confined inside a vertical disk. Con-servative approximation of configurationobstacles is derived using the geometryat the contact between the PUMA armand the prisms. The configuration obsta-cles are represented by rectangles, and apath is found from the spines of the free-ways between configuration obstacles.For an example with 6 obstacles, it takesless than one minute on a Lisp machine.This algorithm is useful in a table topenvironment.

Lozano-P6rez [1987] describes the firstresolution-complete planner for generalmanipulators that has been imple-mented. Configuration obstacles are com-puted using the needle method, and thefree Cspace is decomposed into regions. Agraph specifying the connectivity of theregions is constructed, and A* is used tofind the shortest path. The configurationobstacles are computed by consideringone link at a time. The first link is con-sidered, and feasible ranges of the firstjoint angle, 01, are computed. Next, thesecond link is taken into account. Foreach discretized value in feasible rangesof @l, feasible ranges of 02 are computed(Figure 34a). This process is repeated for

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 46: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

264 w Y. K. Hwang and N. Ahuja

\000

+[[.b] ImLIl)

RI

+++’ 4/+/({1 11)

Q“([l 11) ([l [1) ([1 [1) (11 -[1) (1I . [1)

(a) Recursively generahng the feasible ranges of the joint angles

,.

kernel of R2

. .

Ekernel of RI ~ configuration obstacle

(b) Regions and kernels (c) A solution path

Figure 34. A general motion planner for a manipulator. Reprinted from IEEE Journal of Robotzcs andAutornatton, vol. RA-3, no, 3, pp. 224–238, Lozano-P&ez, T., “A simple motion planning algorithm forgeneral manipulators,” by permission of IEEE, Piscataway,N.J., Copyright, C 1987IEEE.

all the remaining links. For polyhedralobstacles and manipulator links, it takesO(rd-l ( m n)2 ) time to build the configu-ration obstacles, where each @l is quan-tized into r values, d the number ofdegrees of freedom, m and n the num-bers of face and edges of the manipulatorlinks and obstacles, respectively. The freeCspace is then divided into maximalregions such that each region contains akernel. A kernel is defined as the part ofthe region that can be reached from anypoints of the region by moving in astraight line parallel to one of the axes inthe Cspace (Figure 34b). A collision-freepath between two points within a regionis found by first going to the kernel, mov-ing along the kernel, then going to thegoal. The connectivity among the regionsis represented in the region graph.Finally, A * is used to find a solution.

This algorithm is general, i.e., applicableto any type of manipulators. There aretwo weak points of this algorithm. First,the paths found by this algorithm are notnecessarily optimal since the kernels areused to move within regions. Second, theexhaustive nature of the algorithm makesit very slow. Consider, for example, anobstacle set and a manipulator each con-sisting of a set of polyhedra having atotal of 30 faces and edges, i.e.. mn = 103.Assume that r = 100, i.e., the angularresolution is 3.6 degrees. If it takes 10integer operations to compute a contactcondition, then the total number of inte-ger operations required is 1011 for a 3-dofmanipulator, i.e., 103 seconds or 17 min-utes on a 1OO-MIPS computer. To reducethe computation time to a practical range,a coarse resolution of angles could beused at the expense of losing accuracy.

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 47: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 265

Itvel 1

~

LFiaure 35. A hierarchic

level 2

D

model of oble{

level 3

I!lilevel 4 level 5

!llll!l

s. Reprinted from Proc. of IEEE Int. Conf. on Robotics andA&nation, pp. 330–340,Faverjon, B., “Hierarchical object modelsfor efficient anti-collision algorithm,”by permission of IEEE, Plscataway,N.J., Copyright, (9 1989IEEE.

Another option is to implement it on aparallel architecture to speed up thecomputation of the configuration spaceobstacles. Such an algorithm using theConnection Machine (a massively paral-lel SIMD machine consisting of 216 =65536 l-bit processors) is presented inLozano-P&ez and O’Donnell [1991].

Herman [1986] developed a fastalgorithm for a manipulator in 3D. Themanipulator and its swept volume whilefollowing paths are approximated byprimitive shapes such as spheres orcylinders, and the search for a collision-free path is done on the octree represen-tation of the free space. Three searchtechniques, hypothesize and test, hillclimbing, and A-, are used to generatethe solution. First, an octant closest tothe goal location is selected among theneighboring octants of the start location.Then the algorithm hypothesizes that acollision-free path is given by the straightline connecting the center of the selectedoctant and the center of the octant con-taining the start location. It approxi-mates with a generalized cylinders (calledcyl-spheres) the swept volume of the robotwhile following the straight-line path. Ifthe swept volume intersects any of theoctants occupied by the obstacles, theselected octant is abandoned, and thenext best neighboring octant of the startlocation is selected, If the swept volumedoes not intersect any of the octants oc-cupied by the obstacles, the robot movesto the selected neighboring octants. Thisprocess continues until the robot reaches

the goal location. Such a hill-climbingapproach may lead the robot to a deadend. A* search is used to get the robotout of such situations. This algorithmworks fast but should be used in rela-tively uncluttered environments due toits heuristic nature.

Faverjon [1986, 1$389] uses hierarchi-cal models of obstacles (Figure 35) andthe swept volume of manipulator links todesign a global path. The swept volumecorresponding to the first joint angle isthe volume the manipulator sweepsout when the first joint angle is fixed andwhen the rest of the joint angles arevaried. The swept volume correspondingto the second joint angle is the volumethe manipulator sweeps out when thefirst and second joint angles are fixedand when the rest of the joint angles arevaried. The hierarchical models of obj ectsand swept volumes of links are used tocompute the configuration obstacles effi-ciently. For example, if the swept volumecorresponding to the first j oint angle doesnot intersect any obstacles, then themanipulator does not intersect the obsta-cles for all values of the joint angles2,3 ,. ... d as long as the first joint angleis fixed at the value used to generate theswept volume. The configuration space isthen represented using an octree (in theexample, the robot has 3 degrees of free-dom), and A’” search is used to find paths.This algorithm works well in situationsthat do not require a high-resolutionoctree to find a solution, i.e., the freespace is not very narrow.

ACM Computmg Surveys. Vol 24, No 3, September 1992

Page 48: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

266 . Y. K. Hwang and IV. Ahuja

.

(a) A 2-link robot moving between (b) The motion in (a) is found from the quadtree,two cmxlar obstacles. and Improved by a local optimization

Figure 36. Mampulator motion planner using cell tree. Reprinted from Proc of IEEE In,? Conf on

Robotws and Automation, pp. 1732–1737, Paden, B., Mees, A., and Fmher, M , “Path planning using aJacobian-based freespace generation algorithm,” by permission of IEEE, Plscataway, N. J., Copyright, c

1989 IEEE.

The Jacobian-based method of comput-ing configuration obstacles is developedand used for MP of manipulators inPaden et al. [1989]. The Cspace represen-tation is generated using the uniformbound on the Jacobian with 1= distancein the Cspace and a 2 ~-tree. First, ittests whether the whole Cspace is free bycomputing the distance to obstacles withthe manipulator in the configurationrepresenting the center point of theCspace. If it is not, the configurationspace is divided into 2 d cubes, and eachcube is tested and labeled as either free,not free, or not sure. Not-sure cubes arecontinually divided and tested up to apreset resolution limit. A feasible pathcan be searched in the resulting 2 ‘-tree(the authors use brush fire). For the 2-link problem in Figure 36, this algorithmtakes 35 seconds on a 1.5-MIPS SUNcomputer to build the quadtree and un-der 1 second to search for a path. Themain contribution of this paper is that itgives a simple way to compute a d-

dimensional volume (not just a point orline) of collision-free parts of the Cspace.There are two weaknesses of this algo-rithm. First, the uniform bound on theJacobian is so loose that cubes of bigsizes are usually labeled as not sure. Sec-ond, it takes a long time to compute the

neighbor relations among the cubes in a2 ‘-tree, especially for d = 5 or 6. Someimprovements can be made to this algo-rithm such as using a nonuniform boundon the Jacobian l?(q) or dividing theCspace into cubes of different sizes.

Kondo [ 1991] uses multiple-heuristicsearch strategies on a rectangular gridrepresenting the Cspace. A set of param-etrized heuristic functions is defined sothat when Ax search is performed to movethe robot from the start to the goal, therobot has a preferential moving directionthat is dependent on the parameters. Theparameters are dynamically changedduring the search based on how muchprogress the robot has made toward thegoal. A bidirectional search is also used.This algorithm is fast because it mini-mizes the number of collision detectioncomputations by limiting the search inpromising parts of the Cspace. This algo-rithm solves 6-dof examples with a poly-hedral robot in 3D with an average of7000 collision detections and takes about10 minutes on a 17-MIPS SUN com-puter. We note that this algorithm isvery fast if the solution does not requirea large backtracking motion. One draw-back of this algorithm is that its resolu-tion is limited by the size of availablecomputer memory. This algorithm is res-

ACM Computing Surveys, Vol 24, No 3, September 1992

Page 49: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

olution complete if the search is con-tinued until all points on the grid areexamined.

We note here some algorithms for com-puting the boundary equations of config-uration obstacles, which can be used forobject-dependent cell decomposition. Theboundary equations of configurationobstacles for a planar manipulator amidstpolygons are derived in Ge and McCarthy[1989]. The derivation of equations isbased on the Clifford algebra [McCarthyet al. 1989]. This algorithm takes 1 sec-ond on a 1O-MIPS Silicon Graphics com-puter to generate configuration obstaclesfor a 2-link robot moving among 7 polyg-onal obstacles. The boundary equationsof configuration obstacles for stick figuremanipulators in 3D polyhedral environ-ments is presented in Hwang [1990]. It isbased on the intersection conditionbetween a line segment of the manipula-tor and a triangular face of a polyhedralobstacle. Because the boundary equa-tions are highly nonlinear, most motionplanners use object-independent celldecomposition.

Potential-Field Approach

There is no significant difference betweenthe potential-field approaches for rigidrobots and manipulators. In this section,we review local-motion planners devel-oped for manipulators. They aredeveloped for 2D environments, but canbe generalized to 3D. Khatib [1985] usesan artificial-potential-repulsion approachto avoid imminent collisions among robotarms and obstacles. This algorithm isaimed at the local, short-term avoidanceof obstacles in real time for moving robotarms rather than planning global paths.A repulsion force is generated by a poten-tial field around each obstacle. When anylink of the robot arm approaches anobstacle, the repulsive force pushes thelink away from the obstacle. The poten-tial used, P, is approximately inverselyproportional to the square of the mini-mum distance, D, between the link andthe obstacle, and becomes zero beyond apreset distance from the obstacle. The

Gross-Motion Planning “ 267

force on the robot is calculated from theequation F = – dP/dD*dD/dx where xis the position vector of the robot. Appro-priate torques at the joints of the robot tofollow the externally specified global pathare computed. The force from the artifi-cial potential field is then taken intoaccount to modify torques at the joints.This allows each link of the robot to fol-low the initially planned path closelywhile avoiding the obstacles. The role ofthe artificial potential field is to “ben~ agiven global trajectory around obstacles.Khatib’s algorithm is significant in thatthe local-obstacle avoidance problem isimplemented at low (control) level forreal-time execution.

Newman and Hogan [1987] use anenergy interpretation of the potentialfunction for obstacle avoidance andacquisition of moving targets by a manip-ulator. The manipulator is driven solelyby the force that is computed as the neg-ative gradient of the potential. Two typesof potentials are used: a goal potentialdriving the robot toward the goal posi-tion and braking potential stopping themanipulator at the goal or at the obstacleboundaries. If the goal position is moving,the goal potential is updated cor-respondingly. To have minimum-timesolutions, the slopes of potentials are setto the maximum acceleration of the actu-ators. This algorithm guarantees timeoptimality for dynamically decoupledmanipulators operating in obstacle-freeregions. The algorithm is useful as alocal-motion planner to compute force foreach actuator. In Newman [1989], a simi-lar algorithm is used to incorporate arefZex-motion planner in the control loop.The reflex-motion planner stays trans-parent until the robot is on a collisioncourse.

Potential field is also used in Boissiereand Harrigan [1988] for real-time obsta-cle avoidance of a tele-operated Pumarobot. When the robot is on a collisioncourse while following the operator’scommand, a repulsive force is applied tomodify the commanded path. This allowsthe human operator to concentrate onexecuting tasks rather than avoiding

ACM Computing Surveys, Vol 24, No. 3, September 1992

Page 50: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

268 ● Y. K. Hwang and N. Ah uja

obstacles and thus makes tele-operationmuch more efficient,

Khosla and Volpe [1988] use asuperquadric potential function toremove spurious local potential minimaat points other than the goal position.Superquadrics are a generalization ofellipsoid-shaped potential functions andcan represent a much larger class of ob-jects. The level curves of superquadricsapproximate obstacles at close distancesand become spheres far from obstacles.To the superquadric potential function isadded a goal attraction potential, and thecombined potential is used in path plan-ning of planar manipulators. The poten-tial for each link is computed at the pointwhere the link is closest to obstacles, anda repulsive force is applied to the link atthis point. The end effecter moves in thedirection minimizing the sum of theobstacle potential and the goal attractionpotential. This algorithm again isessentially a local planner.

Mathematical Programming Approach

A local-collision avoidance algorithm forredundant (dof > 6) manipulators isdeveloped in Maciejewski and Klein[ 1985]. The primary goal of the planneris to make the end effecter follow a speci-fied trajectory x(t); x(t) is typically acollision-free path for a point object, andthus collision between obstacles and themanipulator links are not consideredwhen designing the initial path. Givenx(t), the values of joint variables arefound using a generalized inverse f~omthe Jacobian equation i(t)= J(19)6(t).Then the joint variables are modified tomove the point of the manipulator closestto obstacles away from the obstacles

while the end effecter is following x(t). Itmay seem odd to design the path for thewhole manipulator based on the path ofits end effecter. If a manipulator is highlyredundant, however, its links can stayclosely on the path the end effecter istracing (like a snake) and avoid colli-sions. In case a manipulator is nothighly redundant, the motion cannot beplanned by modifying the path for themanipulator tip.

Chen and Vidyasagar [1988] havedeveloped an optimal trajectory plannerfor planar n-link manipulators. A gridof points is laid in the Cspace, and thepoints that result in collision are identi-fied. Collision points occur in groups,since the mapping of obstacles from theworld space to the Cspace is continuous.The collision points are approximated byellipses. The equations of these ellipsesare then used as constraints in theoptimal-control formulation, which issolved numerically. This algorithm de-signs globally and dynamically optimalsolutions among obstacles. Its mainweakness is the large number of ellipti-cal constraints needed to approximateconfiguration obstacles for a clutteredenvironment. The convergence rate of thenumerical optimization in a high-dimensional Cspace (dof = 6) is also hardto predict. This algorithm should be usedoffline to dynamically optimize themotion of a manipulator engaged in arepetitive task, e.g., mechanical assem-bly. Speeding up the manipulator motionby a few seconds will result in a hugesaving in manufacturing costs. A similarmethod is used to compute time-optimaltrajectories of a manipulator that avoidsthe collision between the manipulator tipand obstacles [Eltimsahy and Yang 1988].Collisions between manipulator links andobstacles are not considered.

Shiner and Dubowsky’s algorithmplans globally time-optimal trajectoriesfor a manipulator in the 2D work space(link-obstacle collisions considered)[Shiner and Dubowsky 1988]. A directedgraph is constructed using the points of auniform grid covering the work space.Adjacent points are connected by edges.The points that lie on the obstacles andin unreachable free space are deletedfrom the grid. Then, directed edges aredrawn beginning from the start grid pointtoward the goal grid point. Edges makingsharp turns or loops are not allowed. Kshortest paths are selected from thedirected graph. Each selected path isoptimized using a numerical algorithm,and the minimum-time path is selectedfrom the optimized paths. This approachdoes not take into account the manipula-

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 51: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

m...:.”$.”

..”,’

,’. . .. . .

Figure 37. Two adjacent tip positions not reach-

able from each other.

tor kinematics fully. For example, thereare cases where the manipulator tip maynot be able to move from a point to anadj scent point directly, but can reach theadjacent point by changing to a differentconfiguration (Figure 37). This happensbecause of the multiplicity of inversekinematics solutions. This algorithmtakes about 2 hours to solve a 3-link,5-obstacle problem. The slow speed istypical of numerical optimization algo-rithms in a high-dimensional space.(When dynamics of the robot is includedin the optimization, the number ofdimensions doubles, since the timederivatives of configuration variables arealso independent variables. Again, thisalgorithm has an application in offlineoptimization of repeated motions.)

Future Research Directions

MP of manipulators is essential for objectmanipulation, and a real-time algorithmis needed. Otherwise, after a command isgiven, robots have to sit idle while acollision-free motion is computed, result-ing in inefficiency. In our view, the algo-rithm in Chen and Hwang [1992] is anear-optimal planner among algorithmsimplemented in serial computers, since itcomputes the Cspace information to aminimal amount needed to find a solu-tion. It is also resolution complete andhas a small memory requirement. Webelieve that a significant improvementover this algorithm is likely only by tak-ing radically different approachessuch as using parallel computers orknowledge-based methods. Futureresearch in this direction is desirable.

There are other issues related to MP of

Gross-Motion Planning 0 269

manipulators, most importantly graspingand task constraints. When we planmotions for a manipulator, we actuallyplan motions for the ensemble of the ma-nipulator and the object in its grasp.Thus, grasp configurations affect motionplanning. On the other hand, MP isneeded to verify that a grasp configura-tion is indeed reachable. This issue isconsidered in Lozano-P6rez et al. [19871,and more research is needed. Other con-straints on manipulators arise for task-related reasons. Manipulators are oftenused to perform tasks involving interac-tions among objects such as hammeringdown a nail. This task has a constrainton the velocity of the hammer when itstrikes the nail, among other constraints.Incorporation of task constraints in MPis a complex problem, involving kinema-tics/ dynamics of manipulators andobjects, but nonetheless needed for robotsperforming any realistic task.

Lastly, we propose to generalize thepoint-to-point MP problem (movingthe robot from one configuration toanother) to the following problems: visitpoints, trace curves, and cover surfaces[Hwang et al. 1992]. These generaliza-tions are useful for mobile robots, butneeded far more for manipulators. Mani-pulators often perform operations otherthan transferring objects such as inspec-tion of sample points, deburring andchamfering of sharp metal edges, imag-ing, painting, and cleaning. These opera-tions require the tool in the manipulatorhand to move along a curve or over asurface in a constrained manner. Exam-ples of such constraints are the orienta-tion of a deburring bit with respect to thepart being deburred, stiffness of the ma-nipulator arm while deburring, and theorientation and sweeping speed of a paintgun. On top of these constraints are therequirement of avoiding collisionsbetween the manipulator and objects inthe work space. These constraints usu-ally do not completely specify the config-uration of the manipulator, and algo-rithms for selecting a good configurationfor every time instance are needed. Toplan motion for these operations, the fol-lowing three problems are defined.

ACM Computmg Surveys, Vol 24. No 3, September 1992

Page 52: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

270 ● Y. K. Hwang and N. Ah uja

(1)

(2)

(3)

Given a set of world points to be vis-ited by a set associated with a part ofa manipulator (usually the tool inhand), a set of constraints associatedwith each of the points, and an indexfind an ordering of the points andmanipulator motions to visit all thepoints according to the ordering thatoptimizes the index.

Given a set of curves to be traced bya set associated with a part of amanipulator (usually the tool inhand), a set of constraints associatedwith each of the curves, and an index,find partitions of the curves, an or-dering of the curve partitions, andmotions to trace all the curve parti-tions according to the ordering thatoptimizes the index.

Given a set of surfaces to be coveredby a set associated with a part of amanipulator (usually the tool inhand), a set of constraints associatedwith each of the surfaces, and anindex, find partitions of the surfaces,an ordering of the surface partitions,and motions to cover all surface par-titions according to the ordering thatoptimizes the index.

We note that all these problems involvevariations of the traveling salesmanproblem. These are well defined, chal-lenging, and practical problems whosesolutions will have a major impact onindustry.

3.1.4 Multimover’s Problem

The multimovers problem deals with MPof multiple robots. This problem arises inan automated factory where mobilerobots bring parts from the warehouse toassembly stations (Figure 1). Each mobilerobot must avoid other mobile robots aswell as stationary obstacles in the fac-tory. The MP of manipulators working inthe same assembly station is also a mul-timovers problem. Still another exampleis the problem of rearranging furniturein a room. Given the current arrangementand a desired one, it is obvious that usinga motion planner for the classical mover’s

problem to move each piece of furniturewould not solve the problem.

MP of multiple rectangles is shown tobe PSPACE complete in Hopcroft et al.[1984bl and lIopcroft and Wilfong [1986].Although an exact and efficient algo-rithm for the general multimover’s prob-lem is unlikely, several algorithms areavailable for some special cases. Themultimover’s problem can be consideredin two different contexts. First, if there isa precedence ordering among robots,the problem becomes a series of singlemover’s problems in time-varying envi-ronments. The MP is done in decreasingorder of precedence, and robots withhigher precedence are regarded as mov-ing obstacles for the robots with lowerprecedence. This is called a decentralizedapproach. Second, if there is no prece-dence, a centralized approach is used,wherein a single planner designs thepaths for all the robots while optimizingsome objective function. The first caseamounts to a heuristic approximation ofthe second, with less computation at theexpense of missing legal solutions in somecases, The multimover’s problem is obvi-ously much harder since the numbers ofdegrees of freedom is the sum of thenumbers of degrees of freedom of eachrobot. This problem has received onlymoderate attention since an efficientexact algorithm for a single mover’s prob-lem is yet to be developed. Algorithms forthis m-oblem are develo~ed for circularrobots and manipulatorssurveyed in two subsections.

Circular Robots

MP of several circles amongobstacles in 2D is reported in

and are

polygonalSchwartz

and Sharir [ 1983 b]. The cell decomposi-tion method based on the critical curves[Schwartz and Sharir 1983al is used tofirst solve the cases with two and threecircular robots. Only two types of criticalcurves exist for two circular robots due tothe symmetry of circles. For the case ofthree robots, critical curves for two robotsEl and Rz are computed while fixing theposition of the remaining robot R~. Then

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 53: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

the set of the critical positions of R ~ thatcause discontinuity of the critical curvesfor RI and Rz is identified. The connec-tivity graph of the regions separated bythe critical curves is constructed, and apath is found from the graph. The com-plexities are O(n3) and O(n13) for twoand three robot cases, respectively. Incase of k circular robots, the above algo-rithm is applied in a recursive manner.The paper demonstrates that exact algo-rithms for multimover’s problems havehigh-complexities even for simple robots.

In Sharir and Sifrony [1988], a generaltechnique of O(n2 ) is presented for MP oftwo robots each with two dof using a celldecomposition approach. Robots can becircles or manipulators. The algorithmdecomposes the free Cspace of each robotinto a collection of disjoint cells. Let {c,}and {cJ} be the cells for the two robots,respectively. The collision-free part of theCartesian product Ci X Cj is furtherdecomposed into O(1) 4D cells, and theiradjacency relations are determined. Thenthe adjacency relations of the 413 cellsfrom all c, x c1 are computed, resultingin 0(n4) cells. An 0(n2) algorithm formotion planning is possible by limitingthe computation to a single connectedcomponent of the configuration spacecontaining the initial configurations ofboth robots. This paper also shows effi-cient ways to compute the free-configura-tion spaces for two cylindrical robots andtwo circular (or translating convex polyg-onal) robots.

Fast-motion planning of identicalsquare robots in 2D is discussed inBuckley [ 1989]. This algorithm isdesigned for a specific application wherethe robots are feeding parts to an assem-bly table and where the robots them-selves are the obstacles. A new method toassign priorities to robots is introducedto maximize the number of robots thatcan move in a straight line from the startto goal (called linear robots). This mini-mizes the number of such robots (calledcomplex robots) for which expensivesearch of collision-free zigzag paths isnecessary. Two rules of prioritization arederived from the start and the goal con-

Gross-Motion Planning - 271

figurations of the robots. If the straight-line path of robot A between its startand goal position intersects the startposition of robot B, then robot B shouldbe moved first (is assigned a higher pri-ority). If the straight-line path of robot Aintersects the goal position of robot B,then robot A should be moved first. Theserules allow robot A to move in a straightline. Using the priority relationshipsbetween pairs of robots, a priority graphis constructed. In this graph, a directededge is drawn from robot A to B if robotA has a higher priority than robot B. Ifthere are no cycles in the graph, then allthe robots can move in straight lines inthe order of the priority. If there arecycles in this directed graph, not allrobots can travel in straight lines (Figure38). A complex robot has to be introducedto break the cycles in the priority graph.The trajectory planners for the linear andcomplex robots have 0(m2 ) and 0(m4 )time complexities, respectively (m is thenumber of robots). Both planners arebased on the configuration spaceapproach. The main advantage of thisalgorithm is that it is fast, e.g., 10 sec-onds to solve a nine-robot example ofwhich two turn out to be complex robots.Buckley shows that even though themultimovers problem has a high com-plexity, an application-specific algorithmthat runs in a practical time can be de-veloped.

A decentralized approach is taken inYeung and Bekey [1987] to plan pathsfor 2D circular robots. Each robot plansits own path using a visibility-graph-based algorithm. It attempts to reach itsgoal following the straight line path. If ithits an obstacle, it goes to the obstaclevertex closest to its goal. When a conflictoccurs between robots, it is reported to acentral coordinator called blackboard,and the blackboard issues priorities inreplanning based on the current stateand task.

Another decentralized algorithm isdeveloped for MP of 2D circular robots ofdifferent sizes [Liu et al. 1989]. The ini-tial path of each robot is planned sepa-rately using a quadtree representation of

ACM Computing Surveys. Vol 24, No 3, September 1992

Page 54: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

272 . Y, K. Hwang and N. Ahuja

To 3 1

2

prioridy graph

Figure 38. Not all four robots can go to them goal positions m straight hnes, and the prlorlty graph

contains a cycle. Reprinted from Proc. of IEEE Int. Conf. on Robot~cs and Automation, pp. 322–326,Buckely, S. J., “Fast motion planning for multlple movmg robots,” by permission of IEEE, Plscataway,

N. J., Copyright, Q 1989 IEEE

obstacles. Intersections among the pathsare detected, and those nodes that areneighbors of intersection nodes are con-sidered as candidate free space wherethe robot should move to resolve the con-flict. A search is conducted to select oneamong the candidate nodes. A Petri netformulation is used to resolve conflicts byglobally modiffing initial paths. It isimplemented for a two-robot system, andmore work is required for systems withseveral robots.

Manipulators

Fortune et al. [ 1986] report an algorithmfor two planar manipulators in 2D usingthe critical-curve method. Each manipu-lator has one link that can rotate aboutand translate through a common point,i.e., it has a cylindrical geometry. Theyuse critical curzles [Schwartz and Sharir1983a] to partition the free Cspace intocells, and they show that for a cylindricalmanipulator (a manipulator consisting ofa single link that can translate and rotatethrough a point), there are 0(n) numberof critical curves of small algebraic de-grees. It is further shown that the curvesdivide the configuration space of the firstrobot into 0( nz ) regions and that eachof these regions is partitioned into 0(n)connected components by the criticalcurves of the second robot. They presentexact algorithms for two separate cases:an 0( nz log n ) algorithm for the casewhen manipulator tips touch and movetogether and an 0( n3 ) algorithm for the

case of independent motion. These algo-rithms can be used as submodules by amotion planner for manipulators havinga cylindrical geometry.

A multimovers problem with 2-dofrobots are considered in Erdmann andLozano-P&ez [1986]. The robots can beeither translating polygons or 2-link pla-nar manipulators. They are prioritized,and when conflicts arise, the burden ofavoidance is imposed on the robots withlower priorities. Thus, this algorithmsolves many single mover’s problem in atime-varying environment. This algo-rithm is useful for cases where the prior-ity is evident, such as in assembly opera-tions. Two separate cases are consideredwhose configuration spaces are 3D, First,polygonal robots are allowed only totranslate at constant speeds. The config-uration obstacles are polyhedra in R2 x

time space, and the search for solutionsis done in a visibility graph. Second,robots are planar revolute links with twodof. The configuration space is [0, 2W ] x[0, 27r] X time for each robot, and thesearch for paths is done in the freeCspace. These algorithms are applica-tions of the Cspace to cases with dof = 3.They are fast but need to be generalizedto be useful in practical situations.

A real-time path planner for multi-robot systems among circular obstacles ispresented in Freund and Hoyer [1988].This algorithm can be used for circularrobots or cylindrical manipulators withpredefine precedence relationships.First, each robot travels in a straight line

ACM C.mputmg Surveys, Vol 24, NO 3, September 1992

Page 55: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning 8 273

in the Cspace. The configurations thatmake a robot barelv touch the otherrobots are computed” and used as thebounds on the configuration of the robot.These bounds are used to modify the con-trol inputs in real time. This algorithm ishighly successful in relatively simpleenvironments. A real-time implementa-tion is its strongest point (20 msec. on amicroprocessor system for a 3-robotproblem). An online algorithm is possiblebecause of the simple geometries of robotsand obstacles in 2D. It requires sub-stantially more work to extend this ampreach t; higher dof manipulators in 3-Dworld, since the configuration obstaclesare much more complex. On the otherhand, this algorithm is well developed formobile robots in 2D.

A real-time local-trajectory planner forcylindrical manipulators is developed inChien et al. [1988]. The planner does notgenerate the whole trajectory at once,rather it does so incrementally. Theobstacles and the robots’ end effectersare represented as spheres. Then, eachrobot independently attempts to ap-proach its goal in a straight line. Its nextposition, velocity, and acceleration(x, U, a) are computed based on the cur-rent x, v, a. Next, the predicted positionof each robot is broadcast to all otherrobots. Possible interferences are thendetected, and the trajectories are modi-fied. This algorithm is not a global plan-ner but is useful in resolvimz interferenceat a local level. A global ‘planner thatincorporates the geometry of all the linksof the robots need to be used with thisalgorithm. The algorithm can be used formanipulators with simple shapes, but itwill not easily extend to 3D manipula-tors, say, with 6 degrees of freedom. Thisalgorithm is very similar to Freund andHoyer [1988] in its use of decentralizedapproach; only the method of implement-ing the general principle is different.

In O’Donnell and Lozano-P&ez [19891,a trajectory-scheduling algorithm for twomanipulators asynchronously operatingin a common work space is developed.The initial path of each manipulator iscomputed in advance and is represented

as a sequence of configurations. Then arectangular grid called the task comple-tion diagram (TC) is created. Each pointon the grid denotes how far each manipu-lator has progressed toward its goal. Thesouthwest corner of TC represents thestate in which both manipulators are attheir start positions, and the point at thenortheast corner represents the state inwhich both manipulators are in their goalpositions. As both manipulators proceedwith their tasks, the point denoting thecurrent state will move north and east inTC. Some points cm the grid will cor-respond to a state in which the twomanipulators collide. These points areidentified using an algorithm that detectsintersection between polyhedra. Next, ascheduling algorithm will try to find inthe grid a sequence of points from thestart state (southwest corner) to the goalstate (northeast corner). To prevent themanipulators from going backwards,the point denoting the current state isallowed to move only to the north and tothe east while avoiding the points involv-ing collisions. Since the points involvingcollisions often form concave shapes,deadlock situations can occur while try-ing to move to the north and east. South-west closures of the sets of collision pointsare used as forbidden zones to preventdeadlock situations (note backtracking isneeded to resolve a deadlock). This algo-rithm has complexity of 0( n2 log n)where n is the grid size of each axis ofTC. This algorithm is fast and is usefulin a relatively sparse environment with asmall number of robots.

Future Research Directions

Although the multimovers problem has ahigh complexity, many practical prob-lems have multitudes of solutions, andsuboptimal solutions usually suffice. Formobile robots in a factory floor, algo-rithms in Yeung and Bekey [1987] andLiu et al. [1989] are adequate. As men-tioned in Section 3.1.2, MP of mobilerobots with conflicting/common objec-tives needs more research. The MP ofcooperating manipulators has very

ACM Computmg Surveys, Vol 24, No, 3, September 1992

Page 56: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

274 “ Y. K, Hwang and N. Ahuja

important applications in a multimanip-ulator assembly work cell, handling of alarge object with multiple manipulators,to name a few. Algorithms must run effi-ciently for 6-dof manipulators in 3D worldand also incorporate constraints arisingfrom task requirements. For example,lifting a large box with two manipulatorsrequires exerting contact forces that forma stable closure and balancing the weightof the box. Formulating task require-ments in terms of constraints on manipu-lator configurations and torque/force ofactuators is an open area. As far asresolving conflicts due to collisions among6-dof manipulator links are concern, anefficient heuristic algorithm seems possi-ble (but does not exist yet).

3.2 Time-Varying Environment

When obstacles are moving in time, theproblem space is one dimension higherthan the Cspace of the corresponding sta-tionary problem. A time-varying problemreduces to a stationary problem if thereis no bound on the robot’s velocity (justmove the robot infinitely fast). We thusassume that it is bounded. In most algo-rithms, it is assumed that motions ofobstacles are known for all time. Other-wise, robot motions have to be plannedfrom the predicted motions of obstacles,and replanning is needed if the obstaclemotions deviate from the prediction (seeKehtarnavaz and Li [1988] below). Thetime to reach the goal can be specified orused as a quantity to be minimized. Asfar as the complexity is concerned, it isshown to be NP-hard to plan a path for apoint robot in 2D (with a bounded veloc-ity) among translating obstacles [Cannyand Reif 1987]. For a point robot in 3D itis PSPACE-hard [Reif and Sharir 1985].

Reif and Sharir [1985] also present analgorithm for the asteroid avoidanceproblem, which is the MP problem for atranslating polytope robot with a boundedspeed among polytope obstacles translat-ing in fixed directions and velocities. Thealgorithm runs in O(n log n), 0(n2~~ + 2~k)and O((n + k)o(l)) = O(no(l)) time for

lD, 2D, and 3D world space, respectively.The n is the total number of vertices(edges) of k polygons (polyhedra). MP isdone in the d + l-dimensional C!space x

time space, wherein the Minkowski setdifference is used to compute configura-tion obstacles. The concept of the funda-mental and normal movements areintroduced to plan paths. A fundamentalmovement is a direct movement (move-ment during which the robot touchesobstacles only at the beginning and endof the movement) followed by a possiblecontact movement (movement on the sur-face of’ polyhedral obstacles beginningand ending at edges). A normal move-ment is a sequence of fundamentalmovements, where the robot changes itsdirection only on the obstacles andtouches each obstacle at most once. Weexplain the algorithm for the 2D version(others are similar). Let xO/O and x~/Tbe the start position/ time and the goalposition/time, and let V be the set of allobstacle vertices, XO and XT. Let the timeinterval 1: be the set of time v ● V canbe reached from XO using at most i fun-damental movements. Initially, Ij, =[0, T], and 1: = @ for all other v = V.Inductively for some i >0, let v’ bereachable from XO using at most i funda-mental movements. Then for each v ● V,if there is a fundamental movement fromV* to v, we compute l;+ 1 by shifting thetime interval l:, by the time needed forthe fundamental movement. If T belongsto the time interval l;,+ 1 (n = number ofobstacles), then the robot can reach thegoal point in the specified time T. It isproven that such a sequence of funda-mental movements is sufficient to find asolution if it exists. Fujimura and Samet[ 1989] implemented this algorithm in 2Dby developing a method of computingreachable vertices from a given vertexusing a direct movement.

MP of a point robot among translatingpolygonal obstacles is considered inFujimura and Samet [1988]. The polyhe-dral obstacles in the 3-dimensionalspace-time is represented with an octree,and A* search is used to find a shortestpath while enforcing maximum velocity,

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 57: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

lG

Gross-Motion Planning

: m

10

8Trajectory1

6

4 robot’s max speed = 4

2

s012345678 90me

.

(a) A candidate path IS found assummg (b) Arc-length x time space The shaded regionsthe obstacles are Slatlonary Obstacle denote the bmes the obstacles cross points onveloctpes are !ndlcaled the candidate path The bold hnes are a solutlon

trapxlory follbwmg the candidate pathTrajectory 1 exceeds robot’s maximum speed

Figure 39. Path velocity decomposition of MP in a time-varying environment.

acceleration, and centrifugal-force con-straints. Since the octree representationcan change significantly even for smallchanges in the space-time obstacles, theuncertainty in the velocities of obstaclesmay result in different paths. Th~s algo-rithm finds a shorter path than the visi-bility-graph-based algorithm in Erdmannand Lozano-P&-ez [1986] for the sameproblem.

A heuristic algorithm is developed forthe NP-hard problem of moving a pointrobot with a bounded velocity in the plane[Kant and Zucker 1986, 1988]. It is atwo-level algorithm that decomposes theproblem into path planning and velocityplanning. A path is selected from thevisibility graph that is constructedassuming the obstacles are stationary(Figure 39a). The selected path is givenas a parametric curve whose parameteris arc length s along the path. Since theobstacles are moving, some points on thispath will be occupied by obstacles in sometime intervals. For each time instant, thepoints in the path occupied by obstaclesare computed and represented as polygo-nal obstacles in the s X time space(Figure 39b). Another graph called thedirected-visibility graph is constructedusing the vertices of these polygons. (Therobot can travel only in + t direction inthis graph.) Some edges of the directedvisibility graph space will require the

275

robot to travel faster than its maximumspeed. After these edges are pruned out,the best trajectory is selected from theremaining edges using A* or Dijkstra’salgorithm. This approach is simple andeffective if the obstacles have constantvelocities. If there are uncertainties inthe velocities of obstacles, this algorithmmay fail because the paths from the visi-bility graph touch corners of obstacles.The algorithm is therefore complementedwith a low-level avoidance module tomodify the trajectory in the vicinity ofobstacles. The derived trajectory is notoptimal due to the decomposition of theproblem into two levels.

Path planning of a point robot amongmoving circular obstacles in 2D isdescribed in Kehtarnavaz and Li [1988].The positions of obstacles are not knowna priori and are predicted from the pastpositions using an autoregressive model.The forbidden regions are constructed ateach sampling time from the set of linesegments, each connecting the currentand the next predicted position of anobstacle. The path for the robot at eachsampling time is selected from the visi-bility graph. This algorithm solves astatic problem for each time incrementand resembles the logic humans use towalk through busy city sidewalks. Whenthe obstacle motions are uncertain thisalgorithm is the best one can do.

ACM Computing Surveys, Vol. 24, No. 3, September 1992

Page 58: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

276 ● Y. K. Hwang and N. Ahuja

Future Research Directions

Since MP in time-varying environmentshas a high complexity, application-specific heuristic algorithms need bedeveloped. Two interesting areas ofresearch are integration of a motionplanner with sensing and incorporationof uncertainty in obstacle information. Inreal robot systems, it takes a finiteamount of time to acquire informationabout motions of obstacles and to planmotion. Estimates of obstacle motionsalso tend to involve uncertainties. Ananalysis of the effect of sensing delays onthe uncertainty of object models isneeded. An algorithm must considerthese factors to be robust and have apractical value.

3.3 Motion Planning with Constraints

Motion planning with constraints gener-ally has a very high complexity (usuallyNP-hard or PSPACE-hard), and efforts todevelop implementable algorithms arejust beginning. Two commonly encoun-tered types of constraints in motion plan-ning are holonomic constraints andbounds on robot velocity (or acceleration).Holonomic constraints are constraints onthe derivatives of configuration variablesthat cannot be integrated. For example, awheeled vehicle can move to any positionand orientation with a sequence ofmaneuvering moves, but its motiondirection at any instant is constrained.As a result, there is a constraint on thecurvature of paths for a wheeled vehicle.We briefly summarize the work on MPwith these constraints.

The first result on motion with curva-ture constraints is presented in Dubins[ 1957]. It con~iders only ob~tacle-freecases and shows that the minimum-length paths consist of sequences ofstraight lines and maximum-curvaturelines (curves). Fortune and Wilfong[1988] have presented a method to checkthe existence of a path with a curvatureconstraint among polygonal obstacles, butit does not generate the path. This algo-rithm runs in 2°(~”ZYf~’ ‘)) time and spacewhere n is the number of vertices of

obstacle polygons and where m is thenumber of bits used to specify the posi-tions of the vertices. When the robot isgiven a network of line segments to fol-low such as on a factory floor,polynomial-time algorithms finding theshortest paths are available [Wilfong1988a, 1989]. Jacobs and Canny [1989]have developed a configuration-space-based algorithm that computes pathsthat are approximately the shortest inpolynomial time.

Some of the algorithms for MP intime-varying environments considerrobots with velocity constraints [Reif andSharir 1985; Kant and Zucker 1988], andthe results are mentioned in Section 3.2.The kinodynamic motion planning dealswith synthesizing robot motions subjectto both kinematic constraints (such asavoiding obstacles) and dynamic con-straints (such as bounds on theacceleration and velocity) [Canny et al.1990]. It is first considered in O’Diinlaing[19871, where a point robot with abounded acceleration in lD is studied.O’Diinlaing shows that with a bound onthe acceleration of a point robot, aminimum-acceleration trajectory from aninitial pair of position and velocity to agoal pair is bang-bang interpolant,meaning that the magnitude of accelera-tion is constant, but its sign is reversedat most at one time; O(nz) and O(n log n)

algorithms are presented for the motionplanning of a point in ID that evades twopursuing point obstacles, where n is thetotal number of times the obstacleschange accelerations. Problems involvingdynamics such as minimum-time andminimum-energy trajectory problems areextensively studied in the optimal-controlliterature [Athens and Falbs 1966;Bryson and Ho 1975].

A kinodynamic motion-planning prob-lem for a point robot in 2D and 3D isstudied in Canny et al. [1988]. Anapproximate time-optimal algorithm ofO(n& ‘3~ + 1)) complexity is developedusing a nonlinear grid in the positionvelocity space (also called phase space ).For the time-optimal problem, optimalsolutions take on only one of three values

ACM Computmg Surveys, Vol. 24. No. 3, September 1992

Page 59: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 277

at each time instant: maximum accelera- Inclusion of sensory requirements intion, zero acceleration, or maximum motion planning presents new con-deceleration. Thus, from a point in the straints. This is an important area, andposition velocity grid, the robot can move some results are available [Tarabanis etto one of three different points in the al. 1991].next time instant. These transitions arerepresented by the edges of the grid. Thetime-optimal solution between two pointsin the ~hase s~ace is found from the grid.The p&amete~ e denotes the goodne& ofapproximation or grid spacing. This algo-rithm is extended to manipulators inDonald and Xavier [1989], and an exactalgorithm is developed in Canny et al.119901 for a ~oint robot in 2D. This non-iinea~ grid ~an be used to find motionsoptimizing other measures, e.g., energy,by allowing the robot to take on manyvalues of acceleration.

Future Research Directions

Constraints on robot motion arise fromdifferent sources. The first type of con-straints comes from task requirements,which constrains the robot configurationand forces exerted by the robot. Researchissues with these constraints are dis-cussed in the future research section formanipulators. The second type of con-straints comes from the anatomy of therobot. All physical robots have limita-tions on their capabilities such as thebounds on velocity and acceleration.These constraints are well characterized.but their nonlinearities prohibit elegantmathematical solutions. In the worstcase, search methods can be used on agrid representing motions satisfying allkinds of nonlinear constraints, as done inCanny et al. [1988]. Remember, search-ing among all possibilities is the mostgeneral method of solving problems, andever-increasing computer speeds enablemore problems to be solved this way. Weshould start identifying problems withmathematical constraints that can besolved using a grid search. The third typeof constraints comes from sensoryrequirements. Robots need to monitor themotions and the states of objectsin the world in order to detect errors andreduce uncertainties in the object model.

3.4 Movable-Object Problem

In the movable-object problem, robots areallowed to move some of the objects inthe environment while reaching the goalposition. Immovable objects are calledobstacles. The first complexity analysisof this problem has appeared in Wilfong[ 1988b]. It is shown that the problem isNP-hard when the final positions of theobjects are unspecified and PSPACE-hardwhen specified. An 0(n3 logz n) algo-rithm is also presented for the case ofone movable polygonal object. The algo-rithm partitions possible positions of eachmovable object into regions so that ineach retion the environment has essen-tially tie same connectivity propertiesfor the robot. Although the movable-object problem has a high theoreticalcomplexity, it is often easier to solve thanproblems with stationary obstacles. Thisis because the robot can clear the objectsin its way toward the goal. In light of thisfact, a fast heuristic algorithm is devel-oped in Chen and Hwang [1991]. In thisalgorithm, a global planner plans a plau-sible sequence of robot positions leadingto the goal, and a local planner is used tomove the robot from a position to thenext in the sequence. The local plannerallows the robot to msh obstaclesblocking its path. ‘

There are algorithms that consider howto actuallv move obiects with robots. TheHandey ~ystem in” Lozano-P&ez et al.[1987] and Lozano-P&ez et al. [19891carries out the command Moue object Todestination with a manipulator. It con-sists of a range finder system for sensing,a model-based object locator, a manipula-tor motion danner for collision avoid-ance, and a grasping and regraspingmodule. It is designed for the assembly ofplanar-faced objects and has the abilityto operate on a wide class of objects in acluttered environment. The scale of this

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 60: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

278 - Y. K. Hwang and N. Ahuja

system shows the complexity of buildingan actual robot system. A theoretical for-mulation of manipulation planning ispresented in Alami et al. [1990]. In thisalgorithm, robot configurations of grasp-ing movable objects are explicitly repre-sented. The manipulation graph consistsof ST~LE and GRASP sets, which rep-resent the set of stable configurations ofmovable objects and the set of a robot’scollision-free configurations graspingmovable objects. The manipulation graphis incrementally built and searched for asolution, which is a sequence of transit

(robot moving without grasping an object)and transfer (robot moving while grasp-ing an object) paths. To apply this algo-rithm to real applications, efficient waysof computing the sets STXBLE andGRASP and limiting the size of themanipulation graph are needed.

The movable-object problem is actuallya simple task-planning problem. Incluttered environments, a heuristic mov-able-object algorithm is likely to be pre-ferred than an exact algorithm for theclassical mover’s problem. Readers inter-ested in planners at a higher level thanthe movable-object problem should lookat the work in assembly planning [Huangand Lee 1991; Hutchinson and Kak 1990;Lee and Shin 1990; Strip andMaciejewski 1990; Wilson 1992].

3.5 Comparison Tables

The algorithms surveyed above are com-pared in Tables 1–7. Each algorithm isdenoted with the first two (or more) Iet-ters of the first author’s name, followedby the first letters of the remainingauthors and the year of publication. Theg[obal/lcwal indicates whether an algo-rithm is a global or local planner, andtheo/simul/impl indicates the algorithmis theoretical, simulated in computers, orimplemented on actual robots. Forgross-motion planning without uncer-tainty, a simulation is sufficient todemonstrate the efficiency and appli-cability of an algorithm. We still haveindicated algorithms implemented onphysical robots for the interest of indus-

try. The object models of robots andobstacles are shown in robot shape andobstacle shape columns. The world spacedimensions (2D or 3D) can be inferredfrom the obstacle models. Exact/heuris-tic measures the degree of exactness ofan algorithm. Rating 1 denotes the algo-rithms that are exact, i.e., they eitherfind a solution or prove that there is nosolution. Rating 1r and lp are given toresolution-complete and probabilisticallycomplete algorithms, respectively. Rating2 is given to the heuristic algorithmsthat fail to find a solution for relativelysmall sets of pathological puzzle-likeproblems. Rating 3 is given to the heuris-tic algorithms that often fail to find asolution (these are usually very fast localalgorithms).

4. CONCLUSIONS

A motion planner is an essential compo-nent of a robot that interacts with theenvironment; without it a human opera-tor has to constantly specify the motionfor the robot. A significant amount ofresearch has been done on the develop-ment of efficient motion-planning algo-rithms. The motion-planning problem hasbeen solved in a theoretical sense forsubsets of the general problem, but exist-ing exact algorithms have very high timecomplexities and often require discreterepresentations of space. Much morework needs to be done before practicalalgorithms are developed for the generalmotion-planning problem.

In stationary environments many effi-cient algorithms exist. For the case ofpoint robots, algorithms based on the vis-ibility graph or Voronoi diagram run inO(n log n) or 0(n2) time. For the 3D

classical mover’s problem efficient exactalgorithms are yet to be developed. ForMP of manipulators, near-real-time,resolution-complete algorithms exist[Kondo 1991; Chen and Hwang 1992],but need to be integrated with graspingplanners and task planners. Motionplanning for time-varying cases, multi-movers problems, and constrained caseshave even higher complexities, and use

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 61: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning *

Table 1. Classical Mover’s Problem

279

%pproacll algorithm dof of global/ thee/ robul ob~~acle exact/ computaliou

robot local situuJ~lmpl shape shape heuristic speed————— —skeleton AIFKM80 3 global theo rectangle polygon 1

AvBF88 3 global Simul polygon polygon 1 M

L1ca90 d global Simul polytqe polytnpe lr MLoWe79 2 global simul polygon polygon 1 sKeSb8X 3 global lmpl polygon palygml 1 m

cell Broo83 3 global S“mul polygon plygon 3 m

Liecomp BrLo83 3 global Siulul palygou polygon lr MDona84 6 global Sbnul pol ylkedron polyhedron II- h

GuSS88 2 global tb eo ar~ltrary arbttr~ry kKeOR87 5 global tbeo line polyhedron 1KuZB85 3 global Sbnul polygml polygon 3 m

LeRDG90 3 global Simul pidygou polygon lr 5

Madd86 3 global Simul Ii ne rectangle i mNONA89 3 global Simul polygon polygon 2 mNguy84 3 global Simul WiygOD polygon 2 mScSb81 a global tbeo polyhedron polyhedron I b

ScSb83a 3 global tll ‘m polygon polygon 1 bZhLa90 3 glob.,1 , “Uu,,I polygon [mlygoLl 1, m

[poteutial cbAh9 I 3 global simul polygon polygon 2 mfield G1JC35 6 l’x$d simul polygon polygon Ar M

HwAb89 6 glOl&*l siD1ul Arbitrary polybedrou 2 MWarr89 3 global Simul polygon polygon 3 M

*1. abbreviationstheo/simuI/impl category

thee: theoretical algorithmsimuk simulation on computersimpl: “bnplemented on actual robots

exact/be”r=tic rating1: exact, bnds a solutlon if exists.lr: resolution complete.

1P probabkstically complete2: heuristic, fid sol”tmns except [or very bard problems.

3: heuristic, Iind wlutiom if free space M w,de.computa~lon speeds

s: < 1 minute. m: 1 - 10 numtes M. 10- 00 minute. b: > I hour

of heuristics seems essential to obtainm-actical ahzorithms. We would like to.conclude this survey by summarizing fourcomponents useful for developing effi-cient algorithms. which have been intro-duced ~y many’ researchers during thepast seven years.

First, the complexity of the MP prob-lem at hand needs to be examined andcompared with available computingresources. There exist many complexityresults for various cases of MP. If thecomplexity is very high, i.e., NP-hard orPSPACE-hard. exact algorithms shouldbe sought for only when ~he input size ofthe MP problem (robot’s degrees of free-dom or number of obstacles) is small.

Otherwise a heuristic algorithm shouldbe developed. Computing resources arelimited by the available technology or foreconomic reasons. The accuracy andquality of motion required in the robottasks should be used to determine theallowable degrees of inexactness andheuristics, which in turn determine theminimum computing resource. For exam-ple, to plan a shortest path for a subma-rine, one must settle for a heuristic algo-rithm since the 3D shortest-path prob-lem is NP-hard.

Second, when selecting a spatial repre-sentation, the form of available objectinformation in an actual implementationneeds to be considered. For example, in a

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 62: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

280 w Y. K. Hwang and N. Ah uja

Table 2. Point or Circular Robot

approact

—skeleton

Ce11decomp.

p+tent iafield

lath 00 a

pelyhedro

we,ghtec

r%iOn

partiallytam. ”

environme

algorithu

AsAGH85AtCM9AtCG89CIKV87

dReL W85

EIG088GOSG90LAWe79

MoGM870dYa82Papa85RaIs88ReSc8SRestS5ReStE8

Gah4e86JuSh88Kaoa86

KrTh8bR. wow

SiWa86

KbTh87Kcdi87KrTh86R“A089

Thor84

chHa90HwCT89MiMP87Moun850RSB84ShSc84

CIKV87LecY90MiPas7

RfiZM87

Lume87L“Sk88

RaIdS88

global/ th’w/

local ,L,u”l/mlpl

global theo

global them

global theo

global theo

global simul

global tlwo

global theo

global siruulglobal simulglobal >Imdglobal t heOglobat tiimul

global themglob at the.

global theo

global simul

glohd simulglobal simul

global simuJ

global simui

giohal simul

local tmpl

global simul

global simulglobal .Lrnul

global slmul

global t beo

global t heo

global t beoglobal Lheo

global lheo

global theo

global ttlco

global ,Imut

global lbeo

global .,(UUI

global .1 Ill d

global s,mul

gl.hal simul

Obstacle! exact / COnlputatmoshape hcunstic

palygonpolygon

line segmentrectang loid

rectanglepolygonpolygon

pol ygoopol ygo”polygon

polyhedrapolygonpolyhedrapolygonpolyhedra

polygon

polyhedraarbitrary, 2D

polygonpolygon

rectangle

elJip5espherepolygonstar

polygon

concave plyhedronCouvex polyhedronconcave polyhedroncIJ1lVeXpolyhedronCO,,CaVl?polyhedron

convex polyhedron

pol ygmlrect.ulglepolygon

1

fII11

111I1,

1111

lr1,lr

lr2

2

3

1

111

lr

1

1

speed——.

5,

m5

ssIll,

m

5

[11

m

s

m

s

s

s

s

m

mm

pol ygofl 1 m

utxlrary, ?D 1 ,.?.rbltrary, 2D 1 s

poi ygou 1 ,

mechanical assembly, object information algorithms are developed in computeris available in CAD models, which usu- simulations. one should take into accountally use constructive solid geometry. Inthis case, motion planners that use CSGmodels of objects are appropriate. If therobot has a range sensor, computation ofdistance may take as short a time assampling a signal. Motion planning canbe done directly using the depth map,and the conversion of the depth map to apolyhedral representation may not beneeded. Algorithms that are slow due todistance computation may benefit fromsuch a range sensor. Although many

how the obstacle information will beobtained in actual implementations.

Third, the minimum-work principleshould be used, meaning computationsshould be done only if needed. This prin-ci~le can be used in three areas of MP:hierarchical model of objects, multireso-lution retmesentation of the Cs~ace. and.use of heuristics. Intersection detectionand distance computation betweenobjects are the two most used routines inMP (typically used tens of thousands

ACM Computmg Surveys, Vol 24, No .3, September 1992

Page 63: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning 9 281

Table 3. Manipulator

approach

skeleton

cell

decomp.

potentmlfield

mathematicalprogramming

algoritbrn

BaLa90ChHw92

FaTo87

HOJW85Lume86

L.me87

LuSU87

Br0081i

Fave89

Herrn86

Kond91

L0za87

PaMF89

BaLa90

BoH.88

Khat85

KbVo88

NeH087

ChV188

ElYa88

MaK185

S11DU88

dol’ or—

global/ lh,a/ rolmt obstacle exact/ corn putatiorlrol>ot local simul itupl shape shape heuristic ~pced

arbitrary global sim u] [>Oiy hed ron arbitrary 1p marh!traty global sim u] polyhedron polyhedron lr n:

arbitrary global sim U1 p<dy bed r“ “ poly bed rofl Ip M

arbitrary global tbeo line circle 1

3 global simul fine polyhedron 1 s

2 global simul line arN1trary, 2D 1 s

2 global siru U1 line arbitrary, 3D 1 s

6 global imp{ polyhedron polyhedron 3 s

arbitrary global im pl polyhedron polyhedron 2 m

arbitrary global impl po Iyhed mn ar~ltrary 3 m

arbitrary global sim UI polyhedron polyhedron lr m

arbitrary global impl polyhedron poly bed ron {r b

arbitrary global simul arbitrary , arbitrary lr h

arbitrary global sim U1 polyhedron arbitrary 1p m

3 local impl polygon polygon 3 s

m bltrary local imp] polyhedron polyhedron 3 s

arbitrary local simul polygon polygon 3 .

arbitrary local impl polygon polygon 3 s

arbitrary global simul polygon polygon 2 h

2 global simul polyhedron polyhedron 1 [11

arbitrary global simul polyhedron polyhedron 2 m

arbitrary global simul polygon polygon 2 b

Table 4. Multlmover’s Problem

All are global algorithms.

approach

predeiined

priority

no

predeti ned

priority

algorithm

ErLo86

FrHo88

13uck89

chKL88

F. WY86

L“KNNA89

0DL089

ScSb83b

ShSi88

Y.B.87

dof of number of tbeO/ robot obstacle exact/ cmnputatiol

a robot robots simul/impl shape shape heuristic speed

2 arbitrary sim III polygon, manip polygon 2 n 1

2 arbitrary impl point, manip polygon 3 on-lirtc

2 arbitrary impl square none 2 s

2 arbitrary impl manipulator polyhedron 3 s

2 ~ simul manipulator polyhedron 1

2

s or m

2 sim UI circle arbitrary 2 [11

arbitrary 2 simul manipulator polyhedron p Ill

2 arbitr.iry theo circle polyhedron 1 b

2 2 tbeo circle, manip polygon 1~ arbitrary f,imul circle polyhedr<>n 2 > or Ill

Table 5. Time-Varying Environment

All are global algorithm.

The rolml is all a point, am mJbe below

apprOach aigorlth m dof of thee/ obstacle exact/ compulatmn

robot simul tmpl shape beu ristic speed

skeleton FuSa89 2 simul polygon lr m

KaZu88 2 sin ul polygon 2 sorm

KeLi88 2 simul point 3 s

ReSh85 ‘%3 theo polytope 1

CaRe85 2.3 t b eo polytope 1 tnor M

cell F.Sa88 2 sim U1 polygon lr mdecomo.

Note: MP of a translating polytope robot among translating polytopesis the same as moving a point among polytope configuration obstacle>

ACM Computmg Surveys. Vol 24. No 3. September 1992

Page 64: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

282 - Y. K. Hwang and N. AhuJa

Table 6. Motion Planning w!th Constraints

constraint algorithm robot thee/ description

shape siu)ul/impl

curvature f)ubu57 point thee Shows shortest paths consist of straight linesand maximum-curvature liues

FoWi88 point Silnul Checks the ekl.tence of a path satisfyingcurvature constraints.

J aCat19 point simttl Computes approximately the shortest path

in polynomial time using the Cspace.

Wi1f89 rectangle simul Given a sequence of line segments for a

wheeled vehicle to follow, computes

the shortest path in polYnoml.J time.

kino(iynamtc OD..87 point thee 1D problem with a bounded acceleration,the robot avoids two point obstacles.

C. DRX88 point bimul Computes the minimum-time path using a gr,d,

bounds on velocity and acceleration.

DoXa89 manipulator simul Computes the minimum-tin,. path-using a grid,

bounds on vel.xlty and acceleration.

Table 7. Movable-Object Problem

algorithm I work ,pa., robot obstacle I description

A1SL90

LoJL10GTL87

w’11r88

dimens!orl shape shape

3f) manlpttlator arbitrary Fortual!ze ruan!puIatwlh task,

introduces STABLE and GfiASP sets

31) manipulator polyhedra An actual system e~ecut[ng

Moue object O To dehttrmlmn D.21) rc,cldn~lc ,c, LA, MI(! Shows N1’-b?rdness,

of times). Hierarchical representations ofobjects significantly speed up these com-putations [Faverjon 1989]. For example,if the two cuboids each containing anobject do not intersect, the objects do noteither (called the bounding-box methodin computer graphics). Detail models ofobjects need to be considered only ifcoarser models fail to give necessaryresults. A representation of the Cspaceshould be built in multiple resolutions[Brooks and Lozano-P6rez 1983;Kambhampati and Davis 1986]. A coarserepresentation is easy to compute andneeds less time to be searched. A finerresolution is needed only if a path cannotbe found using a coarser representation.This is exactly the essence of the ICORSparadigm. Whenever there is a set ofpossible choices, develop good heuristicsto order them so that the choice with thehighest probability of yielding a solutionis examined first. These heuristics oftenincrease efficiency of algorithms.

J , -0 -, --- 1

Fourth, most robots operate in specificenvironments, and algorithms should bespecialized to adapt to these environ-ments. Also, robots have special geome-tries that can be exploited to develop fastalgorithms. It would be an accomplish-ment to develop a general efficient algo-rithm, but such an algorithm will likelyhave high complexity. Application-specific algorithms will be more efficientwithout sacrificing performance.

We also have a suggestion for thosewho implement algorithms to demon-strate efficiency and performance. It hasbeen difficult to compare performances ofmotion planners since they solve differ-ent examples on different computers.There is yet no set of benchmark prob-lems that represent realistic and non-pathological motion-planning problems.Unless the work is theoretical, we urgemotion-planning researchers to includeat least one example satisfying the fol-lowing criteria for a fair comparison.

ACM Computmg Surveys, Vol. 24, No. 3, September 1992

Page 65: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning . 283

(a) To move the L shaped robot ti requires an mtelhgenl maneuvering at the lower Iefl comer andthrough the hole The space 10 the right of the robot at the start mnf,guratton represents a trapTo mlntm]ze the path length the rotQt sfwuld take a shorl cut (arrow) ralher than going aroundthe lower right corner

(b) The Adept robot has to bend Cmvmst to get the L shaped oblect out of tbe w,cketIt then has to bend (t. arm to avmd the rmddle tall block Finally ,1has to rotate ,!s I!rsl Ib.kall Ihe way to the Iett (a S,gn(flcant backtmckmg) before mach,ng the goal con f,g. rahcm

Figure 40. Benchmark motion-planning problems.

First, the number of obstacles should beat least 5 to 10, and some obstacles shouldbe concave. Second, the solution pathshould be nontrivial and utilize all de-grees of freedom available. Third, thereshould be a narrow space at some pointalong the solution path so that the prob-lem cannot be solved with a coarse quan-tization of joint variables. Fourth, thereshould be a trap in the space so thatsome backtracking is required to find asolution. We present two benchmarkproblems for the classical mover’s prob-lem and MP of manipulators (Figure 40),meeting the criteria above. We have madean effort so that these problems arenot pathological and likely to occur inpractical situations.

ACKNOWLEDGMENTS

This work was performed at the University of

Illinois and Sandla National Laboratories and is

supported by the U.S. Army under grant DAAL03-

87-K-0006 and the U.S. Department of Energy

under contract DE-AC04-76DPO0789.

REFEFiENCES

AHuJ& N., Mm SCHACHTER, B. 1983. PatternModels. Wiley, New York.

ALAMI, R., SIM60N, T., AND LAUMOND, J. P. 1989.A geometric approach to planning manipula-

tion tasks. The case of discrete placements andgrasps. In Proceedings of the 5th InternationalSymposuim of Robotics Research (Tokyo, Aug28–31), MIT Press, Cambridge, Mass. pp.453-463.

ALT, H., FLEISCHER, R., KAUFMANN, M., MEHLHORN,K., NAHER, S., SCHIRRA, S., AND UHRIG, C.

ACM Computing Surveys, Vol. 24, No. 3, September 1992

Page 66: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

284 ● Y. K. Hwang and N. Ah uja

1990. Approximate motion planning and thecomplexity of the boundary of the umon ofsimple geometmc figures. In Proceedings of the5th Annual ACM Symposwm on Cornputa-tzonal Geometry (Berkeley, Calif., June 6–8).ACM, New York, pp. 281–289

ASANO, T., ASANO, T , GUIBAS, L., HERSHBERGER, J.,

AND IMAI, H 1985. Visibdlty-polygon search

and Eucl~dean shortest path. In The 26th S’ym

pos{um on Founclatzons of Computer Sczence

(Portland, Oreg., Oct. 21-23) pp. 155-164.

ATALLAH, M. J., AND CHEN, D Z. 1989. Optimalparallel algorithms for visibility of a simplepolygon from a point. In Proceedings of t/ze 5t/zAnnual ACM Symposium on ComputationalGeometry (Berkeley, Cahf, June 6-8). ACM,New York, pp. 114-123

ATALLAH, M. J., COLE, R,, AND GOODRICH, M. T.1989. Cascading divide-and-conquer: A tech-nique for designing parallel algorithms. SIA14

J. Comput. 18, 3 (June), 499-532.

ATHENS, M , AND FALBS, P L 1966 Optzmal

Control McGraw-Hill, New York

AURENHAMMER, F. 1991. Voronol diagrams-Asurvey of fundamental geometric data struc-ture, ACM Comput. Surv. 23, 3 (Sept.),345-405.

AVNATM, F , BCIISSONNAT, J D., AND FAVERJON, B.1988 A practical exact motion planmng algo-rlthm for polygonal objects amidst polygonal

obstacles. In Proceedt ngs of the IEEE Interns-fzonal Conference on Robotics and Automation

(Philadelphia, Apr. 24-29). IEEE. New York,pp. 1656-1661.

BARR, A., AND FEICENBAUM, E. A. 1981. TheHandbook of Artlficlal Intelligence. WdliamKaufmann, Los Altos, Calif.

BAR~AQUMiD, J., AND LATOMEE, J. C 1990 AMonte-Carlo algorithm for path planning withmany degrees of freedom In Proceedz ngs of theIEEE International Conference on Robotics andAutnrnatiorz (Cincinnati May 13-18) IEEE.New York, pp 1712-1717.

BOBROW, J E , DUBOWShT, S., AND GIBSON. J. S.1985. Time-optimal control of robotic manipu-

lators along specified paths. Int. J. RoboticsRes. 4, 3 (Fall), 3-17.

BOISSIERE, P, T., AND HARRJGAN, R. W. 1988.Telerobotlc operation of conventional robotmampulators. In Proceedings of the IEEE In-ternatzonal Conference on Robotics and Au-tornatzon (Philadelphia, Apr. 24-29). IEEE,New York, pp 576-583.

BRANICKY, M., AND NEWMAN, W. 1990. Rapidcomputation of configuration obstacles. In Pro-ceedwzgs of the IEEE Interns tlonal Conferenceon Robotzcs and Automation (Cincinnati, May13-18). pp. 304-310

BROOKS, R. A, 1983. Solving the Fmdpath prob-lem by good representation of free space. IEEETrans. S-yst., Man, and Cybernetics SMC-13, 3(Mar. /Apr.), 190-197.

BROOKS, R. A., AND LOZANO-PT2REZ, T 1983 A

subdivision algorithm m configuration spacefor Findpath with rotation. In The Interna-

tional Joznt Conference on Artificial IntellL-gcnce (Karlsruhe, Germany, Aug 8–12)

William Kaufmann, Inc , Los Altos, Calif, pp.799-806

BRYSON, A. E.. JR,, AND Ho, Y. C. 1975. Applmd

Optzmal Control. Hemisphere Pubhshmg,Washington, D.C.

BUCKLEY, S. J. 1989 Fast motion planning formultiple moving robots In Proceedings of theIEEE International Conference on Robotzcs andAutomatmn (Scottsdale, Arlz , May 14-19). pp

322-326

CANNY, J. F. 1988. The Complexity of RobotMotion Plannlng. The MIT Press, Cambridge,Mass.

CANNY, J F 1987 A new algebraic method forrobot motion planning and real geometry InProeeedlngs of the 28th Annual S.w-wm urn OnFoundations of Computer Sczence (Los Angeles,

Ott 12-14). IEEE, Washington, D. C., pp39-48.

CANNY, J. F., AND DONALD, B. 1987. SimplifiedVoronoi diagram. In Proceedings of the .3rdAnnual ACM Symposium on ComputationalGeometry (Waterloo, Ontario, June 8-10) ACMPress, New York, pp 153-161

CANNY, J. F., AND LIN, M. C. 1900. An oppor-tumstlc global path planner. In Proceedings of

the IEEE Intern at~onal Conference on Roboticsand Automat~on (Cmcinnatl, May 13–18).

IEEE, New York, pp. 1554-1561.

CANNY, J. F , AND REIF, J 1987 New lower bound

techniques for robot mot]on planmng problemsIn proceedings of the 28th Annual Symposzum

on F’oundat[ons of Compufer Sczence (LosAngeles, Oct. 12-14). IEEE, New York, pp.49-60.

CANNY, J. F., DONALD, B , REIF, J., kND XAVIER, P1988 On the complexity of kinodynamic plan-ning. In Pz-oceedmgs of the 29th Annual Sym -poszzzm on Foundations of Computer Sczence(White Plains, New York, Ott 24-26). IEEE,

New York, pp. 306-315.

CANNY, J. F., REGE, A., AND REH?, J. 1990. Anexact algorithm for kmodynamic planning inthe plane. In Proceedings of the 6th AnnualACM Symposzunz on Computatzmzal Geometry(Berkeley, Cahf , June 6–8) ACM, New York,pp. 271–280.

CHATILA, R. 1982. Path planning and environ-ment learmng m a mobde robot system. InProceedings of the Europearz Conference onArtzflclal Intelligence (Orsay, France, July12–14). pp. 211–215.

CHATILA. R., AND LAUMOND, J P. 1985. Positionreferencing and consistent world modeling formobile robots. In proceedings of the IEEEInternational Conference on Robotics andAutomation (St Louis). IEEE, New York, pp138-145.

ACM Computmg Surveys, Vol. 24, No 3, September 1992

Page 67: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross -iWotion Planning - 285

CHATTER~Y, R. 1985. Some heuristics for thenavigation of a robot. Int. J. Robotics Res. 4, 1(Spring), 59-66.

CHEN, J., AN~HAN, Y. 1990. Shortest paths onapolyhedron. In Proceedings of the 6th AnnualACM Symposium on Computational Geometry

(Berkeley, Calif., June 6-8). ACM, New York,pp. 360-369.

CHEN, P. C., AND HWANG, Y.K. 1992. SANDROS:A motion planner with performance propor-tional to task difficulty. In Proceedings of theIEEE International Conference on Robotux andAutomat? on(Nice, France, May 12-14). IEEE,

New York, pp. 2346-2353.

CHEN, P. C., AND HWANG, Y. K. 1991. Practicalpath planning among movable obstacles. InProceedings of the IEEE International Confer-

ence on Robotics and Automation (Sacramento,Apr. 7-12). ACM, New York, pp. 444-449.

CHEN, Y. C., AND VIDYASAGAR, M. 1988. Optimaltrajectory planning for planner a-link revolutemanipulators in the presence of obstacles. Inproceedings of the IEEE International Confer-enceon RobotJcs and Automat~on (Phdadelphla,Apr. 24-29). IEEE, New York, pp. 202-208.

CHINJNG. E., AND LUMELShT, V. 1988. Motionplanning for robot arm manipulators with

proximity sensing. In Proceedings of the ZEEEInternational Conference on Robotws andAzttomatzon (Phdadelphla, Apr. 24-29). IEEE,New York, pp. 740-745.

CHEW, L.P. 1985 Planning theshortest path fara disc in O(nzlogn) time. In Proceedings ofthe lst Annual ACM S.vmposzum on Computa-tional Geometry (Baltlmore, June 5–7). ACM,New York, pp. 214–220.

CHIEN, Y. P., Korvo, A. J., AND LEE, B. H 1988.On-hne generation of collislon free tra~ectoriesfor multlple robots. In Proceedings of the IEEE

International Conference on Robotm andAutomatzo n(Phdadelphia,Apr. 24-29 ). IEEE,

New York, pp. 209-211.

CHUAN~, ,J., AND AHU.JA, N. 1991a. Path planningusing the Newtonian potential. In Proceedingsof the IEEE Internatmnal Conference onRobot~cs and Automation (Sacramento, Apr.7-12). IEEE. New York, pp. 558-563.

CHLTANG, J., AND AHUJA, N. 1991b. Skeletoniza-tion using a generalized potential field model.In The 8th Israeli Sympo.sLum on ArtificialInte[[Lgence and Computer Vzszon (Dec. 30-31).

CLARKSON, K. L., KAPOOR, S., AND VAIDYA, P. M.1987. Rectilinear shortest paths throughpolygonal obstacles in 0( n(log n)~ ) time. InProceedings of the 3rd Annual ACM Sympo-

sium on Computational Geometry (Waterloo,Ontario, June 8–10). ACM, New York, pp.251-257.

COLLINS, G. 1975. Quantifier elimination for realclosed fields by cylindrical algebraic decomposi-tion. In The 2nd GI Conference on Automata

Theory and Formal Languages, vol. 33.

Springer-Verlag, New York, pp. 134-183.

CORMEN, T. H., LEISERSON, C. E., AND RIVEST, R. L.

1990. Introductloa to Algorithms. McGraw-Hill, New York, pp. 916-963.

DE REZENDIC, P. J., LIXC, D. T.j AND Wu, Y. F. 1985.

Rectilinear shortest paths with rectangularbarriers. In Proceedings of the 1st Annual ACMSymposium on Computational Geometry

(Baltimore, June 5-7). ACM, New York, pp.204-213.

DIJIiSTRA, E. W, 1959. A note on two problems inconnection with graphs. Numensche Mathe-rnatdz 1, 269–271. In English.

DONALD, B. 1984. Motion planmng with SIX

degrees of freedom, Tech. Rep. AI-TR-791, Arti-ficial Intelligence Lab.. Massachusetts Inst. of

Technology, Cambridge, Mass.

DONALD, B., AND JENNINGS, J. 1991. Sensor inter-pretation and task-directed planning using per-ceptual equivalence class In Proceedings of theIEEE Internatmna[ Conference on Robottcs andAutoraatLon (Sacramento, Apr. 7-12). IEEE,

New York, pp. 190-197.

DONALD, B., AND XAVIER, P. 19S9. A provably good

approximation algorithm for optimal time tra-jectory planning. In proceedings of the IEEEInternational Conference on Robotics andAutomation (Scottsdale, Ariz., May 14– 19).IEEE, New York, pp. 958-963.

DRYSDALI?, R. L. 1979. Generalized Voronoi dia-grams and geometric searching. Tech. Rep.

STAN-CS-79-705, Stanford Univ., Stanford,Calif.

DUBINS, L. E. 1957. On curves of mmimal lengthwith a constraint on average curvatureand with prescribed mitlal and termmal posi-tions and tangents. Amer. J, Math. 79,497-516.

ELGINDY, H., AND GOODRICH, M. T. 1988. A linear

algorithm for computmg the vislbdlty polygonfrom a point. J. Alg. 2, 186-197.

ELTIMSAHY, A. H., AND YANG, W. S. 1988. NearMimmum-time control of robotic manipulatorwith obstacles m the workspace. In Proceed-ings of the IEEE Internattona[ Conference onRobotzcs and Automation (Philadelphia, Apr.24-29). IEEE, New York, pp. 358-363.

ERDMANN. M., AND LOMNO-P!2REZ. T. 1986. Onmultlple movmg objects. In Proceedings of theIEEE International Conference oa Robot~cs andAutomation (San Francisco, Apr. 7-10), IEEE,New York, pp. 1419-1424.

FAVERJON. B. 1989. Hlerarchlcal object modelsfor efficient anti-colhslon algorithm. In Pro-ceedings of the IEEE Intcrnattonal Conferenceon Rotxmcs and Automation (Scottsdale, Ariz.,May 14-19). IEEE, New York, pp. 333-340.

FAVMLJON, B. 1986. Object level programming ofindustrial robots. In The IEEE InternationalConference on Robotics and Automation (San

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 68: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

286 ● Y. K. Hwang and N. Ahuja

Francisco, Apr 7–10) IEEE, New York, pp

1406-1412.

FAmRJON, B., AND TOURNASSOUD, P. 1987. A local

approach for path planning of mamprdatorswith a high number of degrees of freedom. InProceedwzgs of the IEEE Znternatzonal Confer-

ence on Robotzcs and Automation (Raleigh, N.Carol., Mar. 31-Apr. 3). IEEE, New York, pp.1152-1159.

FORTUNE, S , AND WILFONG, G. 1988. Planmng

constrained motion. In The Symposzum on theTheory of Computer Sczence (Chicago). pp.445-459.

FORTUNE, S., WILFONG, G., AND YAP, C. 1986.

Coordinated motion of two robot arms. In Pro-ceedings of the IEEE International Conferenceon Robotics and Automation (San Francisco,Apr. 7-10) IEEE, New York, pp. 1215-1223.

FREUND, E., AND HOYER, H. 1988. Real-time

pathfindmg in multirobot systems including

obstacle avoidance. Int. J. Robotics Res. 7, 1(Feb.), 42-70.

FUJIMURA, K., AND SAZVZET,H. 1989 Time mini-

mal paths among moving obstacles. In Pro-ceedings of the IEEE Interns tmnal Conferenceon Robotics and Automation (Scottsdale, Ariz..May 14-19). IEEE, New York, pp. 1110-1115.

FUJIMURA, K., AND SAMET, H. 1988. Path plan-ning among moving obstacles using spatialindexing. In Proceedings of the IEEE Interna-tional Conference on Robotics and Automation(Philadelphia, Apr. 24-29). IEEE, New York,pp. 1662-1667.

GAW. D.. AND MEYSTEL, A. 1986. Mmlmum-time

GE,

navigation of an unmanned mobde robot in a2-1/2D world with obstacles. In Proceedings ofthe IEEE Internat~onal Conference on Robotics

and Autornatzon (San Francisco, Apr. 7–10).IEEE, New York, pp. 1670-1677.Q., AND MCCARTHY, J. M 1989. Equations

fo} boundaries of joint obstacles for planarrobots In Proceedings of the IEEE Interns-ttonal Conference on Robotzcs and Automation

(Scottsdale, Ariz., May 14-19). IEEE, NewYork, pp. 164-169.

GEWALI, L., MENG, A., MITCHELL, J. S. B., AND

NTAFOS, S. 1988. Path planning in 0/1/ fiweighted regions with applications. In Pro-ceedings of the 4th Annual ACM Symposium onComputational Geometry (Urbana, 111., June6-8). ACM, New York, pp. 266–278.

GILBERT, E. G., ANZI Foo, C. P. 1990. Computingthe distance between general convex objects inthree-dimensional space. IEEE Trans. RoboticsAuto. 6, 1 (Feb.), 53-61

GILBERT. E. G., AND JOHNSON, D. W. 1985. Dis-tance functions and their applications to robotpath planning in the presence of obstacles.IEEE J. Robotics Auto. RA-1, 1>21-30.

GILBERT, E. G., JOHNSON, D. W., AND KRERTHI, S. S.1988. A fast procedure for computmg the dis-tance between complex objects in three-

dimensional space. IEEE J. Robotzcs Auto. RA-4, 2 (Apr.), 193-203.

GOODRICH, M. T., SHAUCK, S. B., AND GUHA, S.1990. Parallel method for wsibdity and short-est path problems in a simple polygons. InProceedings of the 6th Annual ACM Sympo-swm on Computational Geometry (Berkeley,

Calif., June 6-8). ACM, New York, pp. 73-82.

GUIBAS, L. J., SHARIR, M., AND SIFRONY, S 1988.On the general motion planning problem with

two degrees of freedom. In Proceedings of the4th Annual ACM Symposmm on Computa-tional Geometry (Urbana, Ill., June 6-8). ACM,New York, pp. 289-298.

HERMAN, M. 1986. Fast, three-dimensional,

colhsion-free motion planning. In Proceedingsof the IEEE International Conference onRobotics and Automation (San Francisco, Apr.7-10). IEEE, New York, pp 1056-1063.

HOGAN, N. 1985. Impedance control: Anapproach to manipulation: Part III—

Application. ASME J. Dynamic SYst Meas.Control. 107 (Mar.), 17-24.

HOPCROFT, J., AND ULLMAN, J. D. 1979. Introdz~c-

t~on to Automata Theory, Languages and Com -putatzozzs. Addison-Wesley, Reading, Mass.

HOPCROFT, J., AND WILFONG, G T. 1986. Rednc-ing multiple object motion planning to graph

searching. SIAM J. Comput 15, 3 (Aug ),768-785

HOPCROFT, J., JOSEPH D., AND WHITESIDE, S. 1985.On the movement of robot arms m 2-

dimensional bounded regions. SIAM J. Com-put. 14, 2 (May), 315-333.

HOPCROFT, J,, JOSEPH, D., AND WHITESIDE, S.1984a. Movement problems for 2-dimensionallinkages. SIAM J. Comput. 13, 3 (Aug.),610-629.

HOPCROFT, J., SCHWARTZ, J. T., AND SHARIR, M.1984b. On the complexity of motion planningfor multiple independent objects; PSPACE-hardness of the “Warehouseman’s Problem.”Int J. Robotics Res 3, 4 (Winter), 76-88.

HUANG, Y. F., AND LEE, C. S. G. 1991. A frame-work of knowledge-based assembly planning.In Proceedings of the IEEE Znternatzonal Con-

ference on Robotics and Automation(Sacramento, Apr. 7-12). IEEE, New York, PP599-604.

HUTCHINSON, S. A., AND KMI, A. C. 1990, Spar: Aplanner that satkles operational and geomet-ric goals in uncertain environments. Al Msg.11, 1 (Spring), 31-61.

HWANG, Y. K 1990. Boundary equations of con-figuration obstacles for manipulators In Pro-ceedings of the IEEE Intez-national Conferenceon Robotzcs and AutoznatLon (Cincmnatl, May13-18). IEEE, New York, pp. 298-303.

HWANG, Y. K., AND AHUJA, N. 1992. Potentialfield approach to path planning. IEEE Trans.Robottcs Auto. 8, 1 (Feb.), 23-32.

ACM Computmg Surveys, Vol 24, No 3, September 1992

Page 69: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Planning ● 287

HWANG, Y. K., AND AHUJA, N. 1989. Robot pathplanning using a potential field representation.In The IEEE Computer Society Conference onComputer Vuwon and Pattern Recognitwn (SanDiego, June 4–8). IEEE, New York, pp.569-575.

HWANG, Y. H., CHANG, R. C., AND Tuj H. Y. 1989.Finding all shortest path edge sequences on aconvex polyhedron. In Lecture Notes in Com-puter Science, Algorithms and Data Structures

Workshop, vol. 332, Springer-Verlag, New York.

HWANG, Y. K., CHEN, P. C., AND XAWER. P. G.

1992. Test smtes for motion planning. Inter-

nal Rep., Sandla National Laboratories,Albuquerque, New Mex.

JACOBS, P., AND CANNY, J. 1989. Planning smoothpaths for mobile robots. In Proceedings of theIEEE International Conference on Robotics andAutomation (Scottsdale, Ariz., May 14-19).IEEE, New York, pp. 2-7.

JONES, S. T. 1980. Solving problems involving

variable terrain. Part 1: A general algorithm,Byte 5, 2.

JUN, S., AND SHIN, K. G. 1988. A probabilistic

approach to collision-free robot path planning.In Proceedings of the IEEE International Con-ference on Robot,cs and Automation

(Philadelphia, Apr. 24-29). IEEE, New York,pp. 220-227,

KAMBHAMPATI, S., AND DAVIS, L. S. 1986. Mul-tiresolution path planning for mobile robots.IEEE J. Robotics Auto. RA-2, 3 (June),135-145.

KANT, K., AND ZUCKER, S. W. 1988. PIanningcollision-free trajectories m tirne-varymg envi-ronments: A two-level hierarchy. In Proceed-ings of the IEEE International Conference onRobotics and Automation (Philadelphia, Apr.24-29). IEEE, New York, pp 1644-1649.

KANT, K., AND ZUCKER, S. W. 1986. Toward effi-

cient trajectory planning The path-velocitydecomposition. Int. J. Robotics Res. 5, 1@?ring), 72-89.

KE, Y. 1989. An efficient algorithm for link dis-tance problems. In Proceedings of the 5thAnnual ACM Symposium on ComputationalGeometry (Saarbruchen, West Germany, June5-7). ACM, New York, pp. 69-78.

KK, Y., AND O’ROURKE, J. 1988. Lower bounds onmoving a ladder in two and three dimensions.In Discrete and Computational Geometry, vol.

3. Springer-Verlag, New York, pp. 197-217.

KE, Y., AND O’ROURKE, J. 1987. Moving a ladderin three dimensions: Upper and lower bounds.In Proceedings of the 3rd Annual ACM Sympo-smm on Computational Geometry (Waterloo,Ontario, June 8–10). ACM, New York, pp.136-145.

KEDEM, K., AND SHABIR, M. 1988. An automaticmotion planning system for a convex polygonalmobile robot in 2-D polygonal space. In Pro-ceedings of the 4th Annual ACM Sympos~um on

Computational Geometry (Urbana, Ill., June6-8). ACM, New York, pp. 329-340.

KEDEM, K., AND SHARIR, M. 1985. An efficientalgorithm for planning collision-free motion ofa convex polygonal object in 2-dimensionalspace amidst polygonal obstacles. In Proceed-ings of the 1st Annual ACM S-ympos~um onComputational Geometry (Baltimore, June

5-7). ACM, New York, pp. 75-80.KEHTARNAVAZ, N., AND LI, S. 1988. A collision-

free navigation scheme in the presence of mov-ing obstacles. In The International Conference

on Computer Vision. IEEE Computer Society,Los Angeles, pp. 808-813.

KEIL, J. M., AND SACK, J, R. 1985. Minimumdecomposition of polygonal objects. In Compu-tational Geometry. Elsevier Science Pubhshers,North Holland, Amsterdam, pp. 197-216.

KHATIB, O. 1985. Real-time obstacle avoidance

for manipulators and mobile robots. In Pro-ceedings of the IEEE International Conferenceon Robotics and Atomatton (St. LOUIS,Missouri). IEEE, New York, pp. 500-505.

KHATIB, O , AND MAMPEY, L. M. 1978. Fonction

decision-commande d’un robot manipulateur.Rep. 2/7’156. DERA/CERT, Toulouse, France.

KHERADPIR, S., AND THORP, J. S. 1987. Real-timecontrol of robot manipulators in the presence ofobstacles. IEEE Int. J. Robotics Auto. RA-4, 6(Dec.), 687-698.

KHOSLA, P., AND VOLPE, R. 1988. Superquadricartificial potentials for obstacle avoidance and

approach. In Proceedings of the IEEE Interna-tional Conference on Robotics and Automation

(Philadelphia, Apr. 24-29). IEEE, New York,pp. 1778-1784.

KEIRSEY, D. M., AND MITCHELL, J. S. B. 1984.

Planning strategic paths through variable ter-rain data. In Proceedings of SPIE Applicationsof Artificial Intelligence vol. 485, SPIE,Bellingham, Washington, pp. 172-179.

KIRKPATRICK, D. G. 1979. Efficient computation

of continuous skeletons. In The 20th Sympo-sium on the Foundations of Computer Science

(San Juan, Puerto RICO,Oct. 29-31). pp. 18-27.KOCH, E., YEN, C., HILLEL, G., MEYSTEL, A., AND

ISIK, C. 1985. Simulation of path planningfor a system with vision and map updating InProceedings of the IEEE International Confer-ence on Robot~cs and Automation (St. Louis,Missouri). IEEE, New York, pp. 146-160.

KODITSCHEK, D. E. 1989. Robot planning and

control via potential functions. In RobotzcsReuieu,, vol. 1, 0. Khatib, J. Graig, and T.Lozano-P&ez, Eds. MIT Press, Cambridge,Mass.

KODITSCHEK, D. E. 1987. Exact robot navigationby means of potential functions: Some topolo~-cal considerations. In Proceedings of the IEEEInternational Conference on Robotics andAutomation (Raleigh, N. Carol, Mar. 31–Apr.3). IEEE, New York, pp. 1–6.

ACM Computing Ehuwevs, vol. 24, No 3, SeDtember 1992...

Page 70: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

288 * Y. K. Hwang and N. Ahuja

KONDO, K. 1991. Motion planning with sixdegrees of freedom by multistrategic, bidirec-

tional heuristic free space enumeration. IEEETrans Robotics Auto. 7, 3 (June), 267-277

KROGH, B. H., AND THORPE, C. E. 1986. Inte-grated path planmng and dynamic steering

control for autonomous vehicles. In Proceed-ings of the IEEE International Conference onRobotzcs and Automat[on (San Francisco, Apr.7-10) IEEE, New York, pp. 1664-1669.

KuAN, D T., ZAMISKA, J C., AND BROOKS, R. A.1985. Natural decomposition of free space for

path planning. In Proceedings of the IEEEInternational Conference on Robotics andAutomation (St. LOLUS, Missourd. IEEE, NewYork, pp. 168-173.

LATOMBE, J C 1991 Robot Motion PlanningKluwer Academic Publishers, Boston\

Dordrecht\London

LEE, D. T. 1978. Proxlmlty and reachablhty mthe plane. Ph.D. dmsertatlon, Univ. of Ilhnols,Urbana-Champaign, Ill.

LEE, D. T., AND DRYSDALE, R. L. 1981. General-ization of Voronoi diagram in the plane SIAMJ. Comput. 10, 73-83

LEE, S., AND SHIN, Y. G. 1990. Disassembly plan-ning based on subassembly extraction. In Pro-ceedings of the IEEE International Conference

on Robotws and Automation (Cincinnati, May13-18). IEEE, New York, pp. 1606-1613.

LEE, D. T., CHEN, T H., AND YANG, C D 1990.Shortest rectilinear paths among weighted

obstacles. In Proceedings of the 6th AnnualACM Symposium on Computational Geometry

(Berkeley, Cahf., June 6-8). ACM, New York,pp. 301-310.

LENGYEL, J., REICHERT, M., DONALD, B. R, ANDGREENBERG, D. P 1990. Real-time robot

motion planning using rasterizing computergraphics hardware Comput. Graph. 24, 4

(Aug ), 327-335

LIN, M. C., AND CANNY, J. F. 1991. A fast algo-rlthm for incremental distance calculation. InProceedings of the IEEE International Confer-ence on Robotzcs and Automation (Sacramento,Apr. 7-12). IEEE, New York, pp. 1008-1014.

LIU, Y H , KURODA, S , NANIW& T., NOBORIO, H.,AND ARIMOTO, S 1989. A practical algorlthm

for planmng colhslon-free coordinated motionof multlple mobde robots. In Proceedings of theIEEE International Conference on Robotics andAutomation (Scottsdale, Ariz.j May 14-19)IEEE, New York, pp 1427-1432.

LOZ~NO-PfiREZ, T. 1987. A simple motlon-planning algorithm for general robot manipula-tors. IEEE J. Robotzcs Auto. RA-3, 3 (June),224-238

LOZANO-P$REZ, T., AND O’DONNELL, P. A. 1991.Parallel robot motion planning. In Proceedingsof the IEEE Internattona 1 Conference onRobotws and Automat~on (Sacramento, Apr.7-12). IEEE, New York, pp. 1000-1007.

LOZANO-PhREZ, T , AND WESLEY, M A. 1979 Analgorlthm for planning collislon-free paths

among polyhedral obstacles. Commun. ACM 22,10 (Oct.)> 560-570

LOZANO-P6REZ. T., JONES, J. L., M.AZER, E.,O’DONNELL, P. A. 1989. Task-1evel planningof pick-and-place robot motions. IEEE Comput.22, 3 (Mar.), 21–29.

LOZANO-PfiREZ, T., JONES, J. L , MAZER, E ,O’DONNELL, P. A., GRIMSON, E. L , TOURNAS-?OUD, P., ANrI LANUSSE, A 1987 Handey A

robot system that recognizes, plans, and ma-nipulates. In proceedings of the IEEE Interna-tional Conference on Robotzcs and Automation(Raleigh, N Carol , Mar 31-Apr 3). IEEE,

New York, pp. 843-849.

LUMELSm-, V. J. 1987 Effect of kmematlcs onmotion planmng for planar robot arms movmg

amidst unknown obstacles. IEEE J. RobotzcsAuto RA-3, 3 (June), 207-223.

LUMELSRY, V. 1986. Continuous motion planningm unknown envmonment for a 3D carteslanrobot arm. In Proceedings of the IEEE Znternat~onal Conference on Robotics and Automation(San Francisco, Apr. 7-10) IEEE, New York,pp. 1050-1055

LUMELSkY, V., AND SKEWIS, T 1988 A paradigm

for incorporating vision in the robot nawgatlonfunction In Proceedings of the IEEE Interna-tional Conference on Robotzcs and Automatmn

(Phdadelphla, Apr. 24-29). IEEE, New York,pp 734-739.

LUMELSKy, V.. AND SUN, K. 1987. Gross motionplanning for a simple 3D articulated robot armmovmg amidst unknown arbitrarily shaped

obstacles. In Proceedz ngs of the IEEE Interna -t~onal Conference on Robotics and Automation(Ralelgh, N. Carol., Mar. 31-Apr. 3). IEEE,New York, pp. 1929-1934.

MACIEJEWSKI, A A, AND KLEIN, C A 1985

Obstacle avoidance for cinematically redun-dant mampulators m dynamically varyingenvironments Int J RobotzLs Res. 4, 3 (Fall),109-117.

MADDILA, S R. 1986 Decomposltlon algorlthmfor moving a ladder among rectangular obsta-cles. In proceedings of the IEEE InternationalConference on Robotics and Automation (SanFrancisco, Apr. 7-10). IEEE, New York, pp.1413–1418.

MCCARTHY, J. M., GE, Q., AND BODDULURI, R M C1989 The analysls of cooperating planar robotarms in the image space of the workpiece Int.J. Robotics Res

MITCHELL, J. S. B., AND PAPADIMITRIOU, C. H. 1987.The weighted region problem. In Proceedingsof the 3rcl Annual ACM Symposzum on Compu-

tational Geometry (Waterloo, Ontario, June8-10). ACM, New York, pp. 30-38.

MITCHELL, J. S. B , MOUNT, D M., ANDPAPADIMITRIOCT, C. H. 1987 The discrete

ACM Computing Surveys, Vol 24, No 3. September 1992

Page 71: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

Gross-Motion Plan ning - 289

geodesic problem. SIAM J. Comput. 16, 4

(Aug.)> 647-668.

MITCHELL, J. S. B., ROTE, G., AND WOEGINGER, G,1990. Minimum-link paths among obstacles

in the plane. In p?’oceedzngs of the 6th AnnualACM Symposzum on Compuiattonal Geometry

(Berkeley, Cahf., June 6-8). ACM, New York,pp. 63–72.

MIYAZAKI, F., AND ARIMOTO, S. 1984. Sensoryfeedback based on the artificial potential forrobots. In Proceedings of the 9th Trzannual

World Congress of International Factory Au-tomation (Budapest, July 2–6). PergamonPress, New York, pp. 2381-2386.

MONTGOMERY, M., GAW, D., AND MEYSTEL, A. 1987.Navigation algorlthm for a nested hierarchicalsystem of robot path planning among polyhe-

dral obstacles. In Proceedings of the IEEEInternational Conference on Rohotlcs andAutomation (Raleigh, N. Carol., Mar. 3 I–Apr.

3) IEEE, New York, pp. 1612-1622.

MOUNT, D. M. 1985. On finding shortest pathson convex polyhedra. Tech. Rep. 1495, Dept. ofComputer Science, Univ. of Maryland,Baltimore.

NEWMAN, W. 1989. Automatic obstacle avoidanceat high speeds via reflex control. In Proceed-ings of the IEEE International Conference onRohotlcs and Automation (Scottsdale, Ariz.).IEEE, New York. pp. 1104-1109.

NEWMAN, W., AND HOGAN, N. 1987. High speedrobot control and obstacle avoidance usingdynamic potential function. In Proceedings ofthe IEEE International Conference on Rohotlcsand Automation (Raleigh, N. CaroI., Mar.31-Apr. 3). IEEE, New York, pp. 14-24.

NGUYEN, V. D. 1984. The Findpath problem inthe plane. AI Memo 760, Artificial IntelligenceLab., Massachusetts Inst. of Technology,

Cambridge, Mass.

NOBORIO, H., NANJWA, T., AND ARIMOTO, S. 1989.A feasible motion planning algorithm for amobile robot on a quadtree representation. InProceedings of the IEEE International Confer-

ence on Rohotlcs and Automation (Scottsdale,Anz., May 14-19). IEEE, New York, pp.327-332.

O’DONNELL, P. A., AND LOZANO-PfiREZ, T. 1989.Deadlock-free and collision-free coordination oftwo robot manipulators In Proceedings of theIEEE International Conference on Rohohcs andAutomation (Scottsdale, Ariz., May 14-19).IEEE, New York, pp. 484-489.

O’DfiNLAING, C. 1987. Motion planning withinertial constraints. Algorith mica 2, 4, 43 l–475.

O’D6NLAING, C., AND Ym, C. K. 1985. A retrac-tion method for planning the motion of a disc.J. Al,gor. 6, l(Mar. ), 104-111.

OOMMEN, B. J., IYENGAR, S. S., Fho, N. S. V., MDKASHYAP, R. L. 1987. Robot navigation inunknown terrains using learned visibility

graphs. Part I: The disjoint convex obstaclecase. IEEE Int. J. Robotzcs Auto. RA-3, 6 (Dec.),672-680,

OROURKE, J., SURI, S., AND BOOTH, H. 1984.

Shortest paths on polyhedral surfaces. Tech.Rep. The Johns Hopkins Univ., Baltimore.

PADEN, B., MEES, A., AND FISHER, M. 1989, Path

planning using a Jacobian-based freespace gen-

eration algorithm. In Proceedings of the IEEEInternational Conference on Robotics andAzdomat~on (Scottsdale, Ariz. May 14-19).IEEE, New York, pp. 1732-1737.

PAPADIMITRIOU, C. H. 1985. An algorlthm for

shortest-path motion in three dimensions. InfProcess. Lett 20, 5 (June), 259-263.

PAVLOV, V. V., AND VORONIN, A. N. 1984. Themethod of potential functions for codingconstraints of the external space in an intelli-gent mobile robot. Sowet Auto. Cont. 6.

PREPARATA, F. P., AND 5%WOS, M. I. 1985. Com-putational Geometry, An Introduction.Springer-Verlag, New York.

QUEK, F. K, H., FRANKLIN, R. F., AND PoN’r, F.1985. A decision system for autonomous robot

navigation over rough terrain. In Proceedingsof SPIE Applications of Artifzclal Intelligence

(Boston).RAO, N , IYENGAR, S., AND DESAUSSURE, G. 1988.

The Visit problem: Vlslblhty graph-based solu-tion. In Proceedings of the IEEE InternationalConference on Robotics and Automation(Philadelphia, Apr. 24-29). IEEE, New York,pp. 1650–1655.

REI~, J. H. 1979. Complexity of the mover’s

problem and generalizations, extended

abstract. In Proceedings of the IEEE Sympos-ium on Foundations of Computer t%xence (SanJuan, Puerto Rico, Oct. 29–31), IEEE, NewYork, pp. 421-427.

REIF, J. H., AND SHARIR, M. 1985. Motion plan-ning in the presence of moving obstacles InProceedings of the 26th Annual IEEE Sympo-sium on Foundations of Computer Sczence

(Portland, oreg., Ott 21-23). IEEE, New York,pp. 144-154.

REIF, J. H., AND STORER, J. A. 1988. 3-dimensional shortest paths in the presence ofpolyhedral obstacles. In Proceedings of theIEEE Symposium on Foundations of ComputerScience. (White Plains, New York, Ott 24-26),IEEE, New York, pp 85-92.

REIF, J. H, AND STORER, J. A. 1985. Shortestpaths in Euclidean space with polyhedralobstacles. Tech. Rep. CS-85-121, Computer Sci-ence Dept., Brandeis Univ., Waltham, Mass.

RICHBOtTRG, R. F, ROWE, N. C., ZYDA, M. J., ANDMCGHEE, R. B. 1987. Solving the global,two-dimensional routing problem using Snell’sLaw and A’ search. In Proceedings of the IEEEInternational Conference on Robotics andAutomation (Raleigh, N. Carol., Mar. 3 l–Apr.3). IEEE, New York, pp. 1631-1636.

ACM Computing Surveys, Vol. 24, No. 3, September 1992

Page 72: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

290 ● Y. K. Hwang and N. Ahuja

RIMON, E., AND KODITSCHEK, D E 1989 The con-struction of analytic diffeomorphism for exactrobot navigation on star worlds. In Proceedingsof the IEEE International Conference onRobotws and Automation (Scottsdale, Anz,,May 14-19), IEEE, New York, pp. 21-26.

RIMON, E , ANrI KODITSCHEK, D. E 1988 Exactrobot navigation using cost functions The caseof dmhnct spherical boundaries in E‘. In Pro-ceedings of the IEEE In ternat~onal Con ferenceon Robotux and Automat~on (Phdadelphla, Apr.24-29). IEEE, New York, pp. 1791-1796,

Ru~B, K. D., ANI) WONG, A K. C 1987 Structur-ing free space as a hypergraph for roving robotpath planning and navigation. IEEE Trans.Putt. Anal. Machzne Intell, PAMI 9, 2 (Feb.),263-273,

SCHWARTZ, J T., AND SHARIR, M. 1983a. On thepiano movers’ problem. I. The case of a two-dimenslonal rigid polygonal body movingamidst polygonal barriers Cornrnun. Pure ApplMath, 36, 3(May), 345-398.

SCHWARTZ, J. T., AND SHARIR, M. 1983b. On thepiano movers’ problem: III. Coordinatingthe motion of several independent bodiesamidst polygonal barriers. Int. J Robotics Res2?, 3 (Fall), 46–75.

SCHWARTZ, J. T., AND SHARIR, M. 1981. On thepiano movers’ problem: II: Techniques for com-puting topological properties of real algebraicmanifolds. Report No. 39, Courant Inst ofMathematical Sciences New York Univ.

SCEIWARTZ, J, T., AND YAP, C. K. 1987. Advancesm Robottcs, Vol. I, AlgorLthm w and GeometrmAspects of Robotics. Erlbaum, Hillsdale, NewJersey.

SHAMOS, M I., AND HOEY, D 1975 Closest pointproblems. In Proceedings of the 16th IEEESympos~um on Foundations of Computer ScL -ence (Berkeley, Cahf., Oct. 13– 15), IEEE, NewYork, pp. 151-162.

SHARIR, M. 1987. Efficient algorithms for plan-ning purely translational collision-free motionm two and three dimensions In proceedings ofthe IEEE International Conference on Roboticsand Automation (Ralelgh, N. Carol. j Mar.31-Apr. 3), IEEE, New York, pp. 1326-1331,

SHARIR, M., AND SCHORR, A. 1986 On shortestpaths in polyhedral spaces. SIAM *J Comput.15, l(Feb.), 193-215.

SHARIR, M., AND SCHORR, A, 1984. On shortestpaths m polyhedral spaces. In Proceedings ofthe 16th Symposium on the Theory of Comput-zng. American Computmg Machinery, pp144-153,

SHARIR, M., AND SIFRONY, S. 1988. Coordinatedmotion planning for two independent robots. InProceedings of the 4th Annual ACM Sympo-szurn on Computational Geornetr-v (Urbana, Ill ,June 6-8). ACM, New York, pp. 319–328.

SHILLER, Z., AND DuBowshT, S. 1988. Global timeoptimal motions of robotic manipulators in the

presence of obstacles In Proceedings of theIEEE International Conference on Robotzcs andAutomation (Philadelphia, Apr 24-29) IEEE,New York, pp. 370-375

SHIN, K. G., AND MCKAY, N. D. 1984, Open-loopmunmum-time control of mechamcal manipu-lators and its application. In Proceedings of theAmerican Control Conference (San Diego, June6-8) IEEE, New York, pp. 1231-1236

SINGH, S., AND WAGH, M. D. 1987 Robot pathplanning using mtersectmg convex shapes.IEEE J. Robot~cs Auto, RA-3, 2 (Apr.), 101-108.

STRIP, D. R., AND MACIEJEWSIU, A. A, 1990.Archimedes An experiment in automatmgmechanical assembly. In The llth Interna-tional Conference on Assembly Automation

(Dearborn, Mlch.). pp. MS90-839.

SURI, S. 1986. A linear time algorlthm for mini-mum hnk paths mslde a simple polygon, Com-put. Vzszon, Graph. Image Proc. 35, 99–110.

TANNENBAUM, A., AND YOMDIN, Y. 1987. Roboticmanipulators and the geometry of real semial-gebraic sets. IEEE J Robotics Auto. RA-3, 4(Aug.), 301-307.

TARABANIS, K., TSAI, R, Y., AND ALLEN, P. K. 1991.Automated sensor planning for robotic vlslontask. In Proceedings of the IEEE ZnternatzonalConference on Robotics and Automation

$6:::flnto, Apr. 7-12). IEEE, New York, pp.

TARSKI, A. 1951 A Decuslon Method for Elemen-tary Algebra and Geometry, 2nd ed. Universityof Cahforma Press. Berkeley, Calif.

TIIORPE, C. E. 1984. Path relaxation: Path plan-mng for a mobile robot. In Proceedings of theAAAZ (Austin, Tex., Aug. 6-10). Morgan Kauf-mann Publishers, Inc Los Altos, Calif,, pp.318-321

WARREN, C. W 1989. Global path planning usingartificial potential fields. In Proceedings of theIEEE Internat~onal Conference on Robotics and

Automation (Scottsdale, Ariz., May 14-19).IEEE, New York, pp. 316-321,

WELZL, E 1985. Constructing the visibilitygraph for n line segments in O(nz ) time. InfProcess Lett 20, 4(May), 167-171

WILF’ONG, G. 1989, Shortest path for autonomousvehicles. In proceedings of the IEEE Interna-tional Conference on Robotms and Automation

(Scottsdale, Ariz., May 14-19). IEEE, NewYork, pp. 15–20.

WILFONG, G. 1988a. Motion planning for anautonomous vehicle. In Proceedz ngs of the IEEEInternational Conference on Robot~cs andAutomation (Philadelphia, Apr. 24-29). IEEE,New York, pp 529-533.

WILFONG, G 1988b. Motion planning in the pres-ence of movable obstacles. In Proceedt ngs ofthe 4th Annual ACM Symposium on Computa-tional Geometry (Urbana, Ill., June 6–8). ACM.New York, pp. 279–288.

ACM Computmg Surveys, Vol 24, No. 3, September 1992

Page 73: Gross motion planning--a surveypec99.tripod.com/papers/7_030014013905244577.pdfNARENDRA AHUJA Beckman Instdute and Coordinated Sc~ence Laboratory, Unwers\ty of Illinois, Urbana, IllinoLs

WIISON, R. H. 1992. On geometric assemblyplanning. Tech. Rep. STAN-CS-92-1416, Dept.

of Computer Science, Stanford Univ., Stanford,

Calif.

YAP, C. K. 1985. An O(n log n) algorithm for the

Voronoi diagram of a set of simple curve seg-ments. Rep. No. 43, Coura nt Inst. RoboticsLaboratory, New York Univ.

Y~UNG, D Y., AND BEKEY, G. A. 1987. A decen-tralized approach to the mot~on planning prob-

Gross-Motion Planning “ 291

lem for multiple mobile robots. In Proceedings

of the IEEE Inter-national Conference on

Robottcs and Automation (Raleigh, N Carol.,Mar. 31-Apr. 3). IEEE, New York, pp.

1779-1784.

ZHU, D., AND LATOMBE, J. C. 1990. Constraintreformulation in a hierarchical path planner.In Proceedings of the IEEE Internat~onal

Conference on RobotLcs and Autornatzon(Cincinnati, May 13- 18). IEEE, New York, pp.1918-1923.

Recewed April 1990, revised March 1991, final revision accepted March 1992,

ACM Computing Surveys, Vol. 24, No. 3, September 1992