Submitted to International Journal of Robotics Research, December 1999. Revised November 1, 1999.
On-Line Sub-Optimal Obstacle Avoidance
Zvi Shiller
Mechanical and Aerospace Engineering
University of California
Los Angeles, CA 90095
Abstract
This paper presents an on-line planner for sub-optimal obstacle avoidance. It
generates near-shortest paths incrementally by avoiding obstacles optimally one
at a time. In known environments, obstacles are avoided in an order determined
by a global criterion. In unknown environments, obstacles are avoided as they
are detected by on-board sensors. This avoidance strategy is guaranteed to
reach the goal regardless of the order in which the obstacles are avoided. The
method is demonstrated in several examples for an omnidirectional point robot
moving amongst planar polygonal obstacles.
1
1
Introduction
This paper presents an on-line planner for known and unknown environments.
We consider an on-line planner any planner that generates the path incrementally, in contrast to o -line planners, which compute the entire path before the
robot makes its rst move. On-line, is thus associated with incremental, rather
than with local sensors.
Current approaches to on-line obstacle avoidance for known environments
include potential eld methods [6, 9, 10, 11, 12, 16, 20], and for unknown environments, a number of sensor-based planners [14], and on-line adaptations of
classical o -line methods [4, 17, 8].
The potential eld approach, rst proposed in [9], generates paths by following the negative gradient of a potential function, which consists of an attractive
potential at the goal, and repulsive potentials at the obstacles. While this approach is computationally ecient and is suitable for online feedback control,
it su ers from local minima, which may cause the path to terminate at a point
other than the goal. This problem was overcome using harmonic potentials [6]
and navigation functions [16]. Harmonic potentials attain their extremal values on the boundary of their domain [5]. Since the superposition of harmonic
potentials is also harmonic, obstacles represented by harmonic potentials do
not induce local minima. The navigation function consists of asymptotically
decaying functions that are tuned to avoid local minima. Both functions are
computationally too expensive for on-line planning, particularly in environments
with a large number of obstacles, and none attempts to generate the shortest
path.
A similar approach was used to compute shortest paths by following the
negative gradient of the distance function (the shortest distance to the goal) [7,
2]. The computation of the distance function requires solving the shortest path
problem (or some approximation of it) at each point, which is computationally
expensive for all but a small number of obstacles.
Sensor-based planners assume unknown environments, which are uncovered
locally using on-board sensors [14]. The traditional assumption of local sensors
led to the development of "bug" algorithms that avoid obstacles by following
their boundaries at close range. Naturally, such planners are concerned with
global convergence, and not much with path optimality.
On-line adaptations of classical o -line planners include local roadmaps [4],
incremental cell-decomposition [17], and the \tangent bug" algorithm [8]. Since
the objectives of these planners di er from each other (the roadmap attempts
to maximize distance to obstacles, whereas the tangent-bug attempts to nd
the shortest path), they are dicult to compare.
This paper presents a di erent approach to on-line obstacle avoidance, which
is applicable to known and unknown environments, and is extendable to arbitrary cost functions. Note that we do not associate on-line with unknown
environments, nor with sensor-based planning, since even in fully known envi2
ronments, it may be necessary to plan motions on the y (on-line) due to the
high computational complexity of the o -line solution, or due to changes in the
environment. Associating on-line with incremental, rather than with sensorbased, seems more general and applicable to a wider range of applications.
This approach was motivated by optimal control theory, which states that
the global optimal solution to any dynamic optimization follows the negative
gradient of the so called return function. The return function is the cost-to-go
to the goal from any feasible state, and is a solution of the Hamilton-JacobiBellman (HJB) equation [3]. The computation of the return function for optimally avoiding a single obstacle, using any cost function, is relatively simple,
but the optimal avoidance of multiple obstacles is another matter. One measure
of this computational diculty is the number of potential local minima, which
grows exponentially with the number of obstacles (2n for planar obstacles).
Even simple problems, such as the shortest path problem, are at best polynomial in the number of obstacles [21], which is computationally quite extensive
when considering a large number of obstacles.
To overcome this inherent diculty, we propose to approximate the solution,
or equivalently, to approximate the return function, of the multi-obstacle problem by avoiding obstacles optimally one at a time. This was motivated by the
observation that the e ect of an obstacle on the return function is local, i.e., the
di erence between the shortest path that avoids the obstacle (the constrained
solution) and the straight line to the goal (the unconstrained solution) diminishes with the distance of the initial point from the obstacle [19]. Therefore, a
given obstacle can be practically ignored at points not in its immediate vicinity. Avoiding obstacles one at a time thus approximates the original continuous
return function by a piecewise continuous function that switches between the
return functions of the individual obstacles. The closer the approximation to
the true return function, the closer the path to the global optimal.
This avoidance strategy reduces the original problem of optimally avoiding
m obstacles to m simpler problems of optimally avoiding one obstacle each.
On average, this translates to a decrease in computational complexity from
polynomial, for the shortest path problem, to linear in the number of obstacles.
This eciency makes this approach an attractive alternative to o -line planning.
The freedom to avoid obstacles in the order of their detection makes it applicable
to sensor-based planning, since obstacles can be avoided as they are detected by
the on-board proximity sensors. The proposed planner has global convergence
properties regardless of the order in which the obstacles are avoided, and of the
sensor range,
This approach resembles some properties of existing on-line planners. For
example, following the gradient of the return function is similar to potential eld
methods [6, 9, 11, 16], except that the return function yields the optimal path
(following an approximated return function produces obviously a sub-optimal
path). It is also similar to following the gradient of a distance function [7, 2],
except that we limit the distance function to one obstacle, which is computa3
tionally cheaper. And the concept of avoiding one obstacle at a time is inherent
to sensor-based planning [14, 8], except that our paths are generally shorter.
We have previously used this approach to avoid circular obstacles, minimizing distance [19] and motion time [18]. In this paper we focus on minimizing
distance in R2 , assuming an omnidirectional point robot and arbitrary planar
obstacles, satisfying the following assumptions:
Assumption 1: The free-space is connected (no obstacles with holes).
Assumption 2: The boundary of each obstacle is a piecewise smooth closed
curve.
Assumption 3: The obstacles are non-intersecting and not overlapping with
the goal. Any set of overlapping obstacles is represented by a single obstacle.
Assumption 4: The number of obstacles is nite.
We distinguish between obstacles that do not encircle the goals and those
that do. Initially, we make the following assumption:
Assumption 5: The goal lies out of the convex hull of the union of all obstacles.
Satisfying Assumption 5 ensures no loops, as is later proven in Section 3.
The paper is organized as follows. Section 2 presents the optimal avoidance
of a single known obstacle. We refer the reader to [19] for a detailed discussion
of the HJB equation, and the motivation for avoiding obstacles one at a time.
Section 3 addresses the avoidance of multiple obstacles in known environments,
subject to Assumption 5. This assumption is relaxed in Section 4. Section 5
addresses computational eciency as compared to o -line planning. Section 6
extends this approach to unknown environments. Examples that demonstrate
the method for 18 polygonal obstacles are presented in Section 7.
2 Optimal Avoidance of One Obstacle
We rst address the optimal avoidance of one known planar obstacle, under
Assumptions 1-5. Consider for simplicity the convex obstacle, denoted OB in
Figure 1. This obstacle a ects the shortest path only from points in a subset of
the free-space, we call the obstacle shadow, shown grey in Figure 1. It coincides
with the shadow created by OB and a point light source at o.
To formalize the avoidance of a single obstacle, we rst de ne the obstacle
shadow, and then de ne the exit point (point b in Figure 1).
4
Shadow
x0
a
OB
b
o
Figure 1: Optimal avoidance of one obstacle
2.1
The Obstacle Shadow
To de ne the obstacle shadow, we use elementary Topology and Join1 Geometries [15]. A few de nitions are in order.
De nition 1 [15]: a=b denotes a ray, consisting of the half line, originating at
a opposite to point b.
De nition 2: A=b denotes the union of all rays generated by the set A and
element b:
A=b = [(a=b); a 2 A:
If b is a point, then A=b is a cone.
(1)
The obstacle shadow is generated by sweeping a ray along @OB , the boundary of OB , as shown in Figure 2, then subtracting OB from the swept cone.
This leads to the following de nition:
De nition 3: The
SOB=o , is de ned as:
shadow
of obstacle OB with respect to goal o, denoted
SOB=o = @OB=o ? OB:
where @OB denotes the boundary of OB .
(2)
If OB is convex, then SOB=o consists of one connected set. Otherwise, SOB=o
may consist of multiple disconnected subsets, as shown in Figure 4. Note that
1 A join operation between two elements
2 assigns to each ordered pair ( ) a
uniquely determined subset of . In Euclidean geometry, the join operation between two
points ( ) is the open segment with end points and .
a; b
J
a; b
J
a; b
a
5
b
A/b
A
b
Figure 2: A cone generated by a ray from b.
Shadow
∂OB/o
OB
OB
∂OB
o
o
Figure 3: Generating the obstacle shadow
each subset is bounded by at least one ray of the cone @OB=o that is locally
tangent to @OB . We call a primary shadow the subset of SOB=o that is bounded
by the two extreme rays of @OB=o. The other subsets of SOB=o are secondary
shadows, and are bounded each by one tangent ray that is interior to @OB=o. A
formal de nition of a primary shadow is given later (De nition 9) after de ning
exit points.
2.2
The Exit Point
The tangency points between the extreme rays of each shadow and the obstacle
boundary are exit points, since any shortest path originating in the shadow must
pass through one of the exit points, from which it follows the straight line to the
goal o, as later stated in Proposition 1. A primary shadow has two exit points
6
Primary shadow
OB
b
a
c
Secondary
shadows
e
d
in
o
Figure 4: The shadows of a concave obstacle
(a and b in Figure 4), whereas a secondary shadow has only one (points c, d,
and e).
To formally de ne an exist point, we need the following de nitions:
De nition 4 [15]: p is an extreme point of A if p is never contained in the join2
of two distinct points of A.
De nition 5 [15]: R is an extreme ray of cone K if for x; y K ,
R (x; y) implies R x; y:
(3)
The notation A B means that A intersects B , or A and B have a common
element.
De nition 6: p 2 @OB is an exit point of shadow Si SOB=o if p 2 R, R is
an extreme ray of Si , (p; o) \ OB =6 0, and (p; o) < (x; o); x 2 R \ @OB .
We observe that the exit points of the primary shadow subdivide @OB into
two subsets. We call one upper boundary, denoted @U , and the other lower
boundary, denoted @L. To de ne the upper and lower boundaries, we recall the
de nition of a limit point [1]:
De nition 7: p is a limit point of A if every neighborhood of p contains at
least one point of A ? p. Such point may or may not be in A.
2 A join operation between two elements
2 assigns to each ordered pair ( ) a
uniquely determined subset of . In Euclidean geometry, the join operation between two
points ( ) is the open segment with end points and [15].
a; b
J
a; b
J
a; b
a
7
b
De nition 8: Let p; q 2 @ OB be the two exit points generated by the extreme
rays (De nition 5) of
. Then, the upper boundary,
join ( ) 2
, of which every point is a limit point of
boundary,
, is the complement of :
OB=o
p; q
@ OB
@L
@ OB
@U
, is the
. The lower
@ OB
SOB=o
@U
@L
=
@ OB
?
(4)
@ U:
Note that
must include points that are not limit points of OB=o , for
otherwise, no point on the obstacle boundary would be visible from , a contradiction of Assumptions 2 and 3.
@L
S
o
De nition 9: A primary shadow is a connected subset of SOB=o , of which every
point of
@U
is a limit point.
2.3 The Avoidance Strategy
Using the de nition of the obstacle shadow and the properties of the exit points,
we can state the following proposition:
Proposition 1: The shortest path from any shadow must exit the shadow
through one of its exit points, from which it follows the straight line to the goal
without entering any of the other shadows.
Proof: This follows from De nition 6 and from the observation that entering
any shadow after exiting one shadow would deviate from the straight line to the
goal, which by De nition 6 is obstacle-free. 2
x0
a
b
OB
c
in
o
Figure 5: The shortest path
8
Proposition 1 is demonstrated in Figure 5, where the shortest path from
some point x0 in the primary shadow follows the boundary of the convex hull of
OB until reaching the exit point of the primary shadow (point c), from which
it follows the straight line to the goal o without entering another shadow.
The avoidance of a single obstacle is summarized in the following Algorithm,
under Assumptions 1-5 and the assumption that the geometry of the obstacle
is known (unknown environments are treated later in Section 6):
Algorithm 0: Optimal avoidance of a single obstacle
Initialize: Set current point x = x0.
Step 1: If the line (x; o) does not intersect OB, go to Step 3.
Step 2: Compute the shortest path to o.
If none, Stop, and declare "Target unreachable."
Follow the shortest path until clearing OB (reaching the exit point
q).
Set x = q.
Step 3: Move along (x; o) to o. STOP. 2
The calculation of the optimal path can be done using a tangent graph
or any other ecient optimization. The choice of the exit point, when two
exist, is determined by the shortest path. No solution may be found in Step 2,
declaring the target "unreachable," if the free-space is not connected (violating
Assumption 1), or the goal is inside the obstacle (violating Assumption 3).
3 Near-Optimal Avoidance of Multiple Obstacles
Multiple obstacles can be avoided optimally on-line (in known environments) by
solving the shortest path problem at the initial point, and re-solving it whenever
obstacles appear or disappear. This can be eciently done using tangent graphs
[13, 21], except that the tangent graph grows polynomially with the number of
obstacles [21]. We circumvent this problem by avoiding obstacles optimally one
at a time. In this Section, the avoidance strategy is subject to Assumptions 1-5,
and assuming known environments.
By considering only those obstacles whose shadows contain the current point,
and among those selecting only one to avoid at one time, we e ectively reduce
the problem of avoiding m obstacles to m simpler sub-problems of avoiding one
obstacle each. This may compromise path optimality, at the gain of drastically
reducing the average computational complexity to be linear in the number of obstacles. It is practical to assume that the optimal avoidance of a single obstacle
is computationally negligible, and can be done in real-time.
9
The order in which the obstacles are avoided may a ect computational eciency and path optimality. It does not, however, a ect convergence to the goal
for the shortest path problem3, as discussed later.
We considered two criteria for selecting the current obstacle (the one to be
avoided), one global and one local: 1) the maximum cost obstacle, i.e. the
obstacle that maximizes the value of the return function (requires the longest
shortest path) from the current point, x, and 2) the nearest obstacle. The
former is a global criterion applicable to any cost function, and useful in known
environments. The latter is a local criterion, and useful in unknown or partially
known environments.
In the case of convex obstacles, we observed that the paths generated using
both criteria were close to optimal, whereas for concave obstacles, using the
nearest obstacles resulted in signi cantly longer paths, as demonstrated later in
this paper.
3.1 The Basic Algorithm
We begin with the simplest basic algorithm, which is later used as a building
block for more general cases. It applies to general known planar obstacles, under Assumptions 1-5, and the following Assumption, which makes this a basic
algorithm:
Assumption 6: The path generated between two subsequent obstacles is not
blocked by another obstacle.
In the following algorithm, we denote o the goal point, and qi the exit point
used while avoiding OBi .
Algorithm 1: The Basic Algorithm
Initialize: x = x0.
Step 1. Select the current obstacle, OBm , that intersects the shortest path from x to o.
If none (m = 0), go to step 3.
Step 2. Compute the shortest path to o.
If none, Stop, and declare "Target unreachable."
Follow the shortest path until clearing OBm (reaching the exit point
qm ). Set x = qm ,
Go to step 1.
Step 3. Move along (x; o) to o. STOP. 2
3 In this paper, we prove that selecting the obstacles in any order guarantees global convergence as long as each selected obstacle is avoided to its exit point. The exit point, as
de ned earlier, is characteristic of the shortest path problem, and may not apply to other
cost functions. To achieve global convergence for general cost functions, the obstacles must
be selected by a global criterion [18].
10
x
OB 1
a
b
c
OB 2
OB 3
in
o
Figure 6: Avoidance of multiple obstacles using the basic Algorithm
This algorithm is demonstrated for the case shown in Figure 6. Here, OB1
is selected as the current obstacle at the initial point. The path is, therefore,
generated by avoiding OB1 until reaching the exit point a, which is in the
shadows of both OB2 and OB3 . From a, OB2 is selected as the current obstacle
and is avoided until reaching the exit point c. From c, the shortest path is the
straight line to the goal.
In the context of optimal control, the path generated by the basic Algorithm
switches (always at the exit points) from the return function of OB1 to the return
function of OB2 , and nally to the unconstrained return function. Consequently,
the path follows the negative gradient of what we call the pseudo return function
[19], which is an approximation of the true return function for this problem.
Although we cannot quantify this approximation, since it depends on the speci c
shapes and locations of the obstacles, the paths generated using the maximum
cost criterion were very close to the global optimal paths for convex [19] as
well as for concave obstacles (see examples in this paper), suggesting a close
approximation of the true return function.
3.2 Convergence of Algorithm 1
We now prove convergence of Algorithm 1 by proving that it cannot enter an
in nite loop, which is the only condition that would preclude it from reaching
the goal (under Assumptions 1-6).
We rst prove convergence for one and then for two obstacles.
Lemma 1:
Let OB be an obstacle not overlapping with the goal o, S SOB=o be a connected shadow (primary or secondary), and q 2 @OB be an exit point (right
or left) of this shadow. The shortest path from any point x 2 S to o 6= x that
11
avoids
cannot re-enter after passing through the exit point .
OB
S
q
Proof:
Suppose the path from to does re-enter after passing through the exit point
. By Proposition 1, it must then pass through again. But passing through
twice creates a loop that is non-optimal, violating Step 2 of the algorithm. If
this shadow has a second exit point, say point , then passing through implies
that the path ? ? is shorter than the straight line ( ), a contradiction.
x
o
S
q
q
q
p
q
2
p
p
o
q; o
Lemma 2:
Given two obstacles and goal 2 R2 ? C , satisfying assumptions 1 to 5, where
R2 ? C is a connected free-space, Algorithm 1 avoids both obstacles in a nite
number of steps from any point 2 R2 ? C .
o
x
OB1
q1
z
OB2
q
2
in
Figure 7: Avoiding two obstacles
Proof:
Given two obstacles, 1 , 2 (see Figure 7), let 1 OB1 =o be the primary
shadow of 1 . Also, assume, without loss of generality:
OB
OB
S
S
OB
a) 1 is avoided rst, starting from 2 1 ,
b) the shortest path passes through the left exit point, 1 2
c) ( 1 ) intersects 2 at 2 2 (the upper boundary of
d) ( 1 ) \ 2 = 0.
OB
x
S
q
q ;o
q ;z
OB
z
@U
,
),
@ OB1
OB2
OB
For Algorithm 1 to enter an in nite loop, it is necessary that the exit point
of the shadow containing 1 (the exit point of the rst obstacle) be in a
previously visited shadow, or 2 2 1 OB1 =o . For 2 to be in 1 , it is
necessary that 2 penetrates 1 through one of its extreme rays, without
intersecting 1 . Treating the plane as a topological space with two holes
( 1 and ), there are only 6 homotopically di erent closed curves between
q2
q
q
OB
S
S
OB
OB
o
12
S
q
S
?????
??????
?????
?????
??????
?????
?????
??????
?????
??????
?????
?????
??????
?????
?????
??????
?????
?????
??????
?????
??????
?????
??????
?????
??????
??????
???????
??????
???????
???????
??????
???????
???????
??????
???????
???????
??????
???????
???????
??????
???????
???????
??????
???????
??????
???????
??????
???????
q2
q2
q2
OB 1
OB 1
q1
q1
q1
z
z
OB 1
z
OB 2
OB 2
OB 2
o
o
o
b
a
q2
c
q2
q2
OB 1
OB 1
q1
z
z
OB 2
z
OB 2
OB 2
o
in
OB 1
q1
q1
o
o
e
d
f
Figure 8: Proof of Lemma 2
(= 2 3: 2 around 1 (+ ?) and 3 around (+ ? 0)4),
all shown in Figure 8. Cases and violate Assumption 5; in cases and ,
2 is not an exit point of the shadow containing 1 , since it does not belong
to the tangent ray of the secondary shadow containing 1 ; and in cases and
, 2 is not an exit point of the shadow containing 1 , in addition to violating
Assumption 5 and the assumption that is the rst colliding point of the line
1 ? with
2.
This proves that under the stated assumptions, no exit point of the shadow
containing 1 can be in an already exited shadow of 1 . From Proposition 1,
it follows that the shortest path cannot pass twice through the same exit point,
which in turn implies that both obstacles are avoided in a nite number of steps.
z
2 ( 1 ) and
q ;o
q2
OB
a
;
o
d
;
q
e
q
q
f
;
b
q
c
q
z
q
o
OB
q
OB
2
In proving Lemma 2, we considered a primary shadow for 1 . However,
the same arguments hold for secondary shadows, and even more so, since penetrating a secondary shadow requires crossing only one tangent boundary by
2 instead of the two for the primary shadow. The exact shape of
1 is also
unimportant since all we need is the two exit points and their tangents through
. We also assumed that 1 is avoided through its left exit point. Exiting
through the right makes no di erence, except to mirror the cases treated here.
OB
OB
o
OB
OB
4 "+", "-", and "0" denote CCW, CW, and no circle around a hole, respectively.
13
Note that this proof applies only to re-entering the same shadow of 1 . It
does not preclude entering another shadow of 1 after avoiding 2 , which
implies a di erent exit point. Exiting from di erent exit points does not create
a loop.
We now extend Lemma 2 to three obstacles:
OB
OB
OB
Lemma 3:
Given three obstacles and goal 2 R2 ? C , satisfying Assumptions 1 to 5, Algorithm 1 avoids these obstacles in a nite number of steps from any point
2 R2 ? C .
o
x
q
OB 1
1
OB 2
q
2
OB 3
q3
in
Figure 9: Avoiding three obstacles
Proof: Denote 1 OB1 =o 2 OB2 =o 3 OB3 =o as the shadows visited
by the shortest path shown in Figure 9. By Lemma 2, 3 62 2 . It remains to
prove that 3 62 1 .
Assume, without loss of generality:
a) The order of avoidance is rst 1 , starting from 2 1 , then 2 , and
nally 3 ,
b) The shortest path passes through the exit point, 1 2
1, 2 2
2,
3 2
3,
c) ( 1 2 ) \ 3 =6 0 (the shortest path from 1 to 2 does not intersect
3 ),
d) ( 2 ) intersects 3 at 2 3 (the upper boundary of 3 ).
Assume 3 2 1 . Excluding the closed curves between 2 3 and 3 2 1
S
S
;S
S
;S
S
q
q
S
S
OB
x
S
OB
OB
q
q
@ OB
q
@ OB
@ OB
q ;q
OB
OB
OB
OB
q ;o
OB
q
z
@U
OB
S
z
S
q
S
that circle (since they violate Assumption 5), there are a total of only 22 = 4
homotopically di erent curves, all shown in Figure 10. Cases
are similar
to cases
of the proof of Lemma 2, and are hence ruled out using similar
arguments. In case , 3 is not an exit point of the shadow containing 2 and .
o
b; d
b; e
c
q
q
14
z
?????
???????
?????
???????
?????
???????
?????
???????
?????
???????
??
?????
???????
??
??
?????
???????
??
??
?????
???????
??
??
??
??
?????????
??????
?????????
??????
?????????
??????
?????????
??????
?????????
??????
??
??
?????????
??????
??
??
??
??
?????????
??????
??
??
??
??
q3
q3
OB 1
OB 1
q
OB 2
OB 2 q 2
z
z
a
b
q3
q3
2
OB 3
OB 3
q
OB 1
OB 1
1
OB 2
q
z
2
z
OB 3
OB 3
in
q
OB 2
2
d
c
Figure 10:
OB3
penetrating
S1
.
In case , 3 is a legitimate exit point of the shadow containing , but it violates
assumption (a) above that 3 is avoided third. 2
a
q
z
OB
The following Theorem extends Lemma 3 to an arbitrary number of obstacles.
Theorem 1:
The paths generated by Algorithm 1 are guaranteed to terminate at the goal
for all initial points x 2 R2 ? C , under Assumptions 1 to 6.
Proof: By Lemma 3, Theorem 1 holds for the case of three obstacles. We now
prove it for obstacles, by induction.
Assume that Theorem 1 holds for ? 1 obstacles, or n 62 i = 2 ? 1.
It remains to prove that n 62 1 , i.e., that no exit point of n can be in an
already exited shadow of 1 .
Denote i OB =o = 1 as the shadows visited by the shortest path,
n
n
q
q
S
S ;i
;n
OB
OB
S
S
i
;i
;n
and assume, without loss of generality:
a) The obstacles are avoided in the order of their index, i.e. rst 1 , then
2 , and nally
n,
b) The shortest path passes through the exit points, i 2
i =1 ,
c) ( k?1 k ) \ n =6 0, = 2 ? 1 (early segments of the shortest path
do not intersect n )
OB
OB
OB
q
q
;q
OB
k
;n
OB
15
@ OB ; i
;n
d) ( ?1 ) intersects
qn
;o
OBn
at 2
z
@ Un
(the upper boundary of
OBn
).
Assume 2 1 . Similarly to the proof of Lemma 3, there are only 22 = 4
new homotopically di erent closed curves introduced by adding
, that do
not encircle , all shown in Figure 11. The other closed curves between 2
and 2 1 either circle , thus violating Assumption 5, or they pass between
previously avoided obstacles, thus violating the assumed order of avoidance
(assumption ) and assumption .
qn
S
OBn
o
qn
z
S
Sn
o
a
?????
???????
?????
???????
?????
???????
?????
???????
?????
???????
??
?????
???????
??
??
?????
???????
??
??
?????
???????
??
??
??
??
??????
?????????
??????
?????????
??????
?????????
??????
?????????
??????
?????????
??
??
??????
?????????
??
??
??????
?????????
??
??
?????????
??
??
??
??
c
qn
qn
OB 1
OB 1
2
2
OB n-1
OB n-1 q n-1
n-1
OB n
z
OB n
q
q
z
a
b
qn
qn
OB 1
OB 1
1
2
2
OB n-1
q
OB n-1
q
n-1
z
n-1
z
OB n
in
OB n
d
c
Figure 11:
OBn
penetrating
S1
Cases are similar to cases of Lemma 3, and are hence ruled out using
similar arguments. In case , is not an exit point of the shadow containing
is avoided
?1 and , and case violates assumptions (a) and (c) that
last.
We thus proved that 62
= 1 ? 1, under the assumption that
62
= 2 ? 1. Demonstrating this result for = 3, extends it, by
induction, to an arbitrary . That no shadow can be visited twice for any
number of obstacles, implies that Algorithm 1 cannot enter an in nite loop.
Convergence follows from Assumption 4 that the number of obstacles is nite.
b; d
b; e
c
qn
z
a
OBn
qn
qn
Si ; i
qn
Si ; i
;n
;n
n
n
2
In proving Theorem 1, we did not assume any speci c criterion for selecting
the current obstacle. It therefore holds for any selection criterion, as long as
each obstacle is avoided optimally, or until reaching an exit point, which, as
16
proven, is visited at most once.
3.3 Modi cations of the Basic Algorithm: Relaxing Assumption 6
The basic algorithm does not handle cases that violate Assumption 6, as shown
in Figure 12, where OB3 intersects the shortest path that avoids OB2 . This
situation can be easily handled by slightly modifying Algorithm 1 to either
switch to the colliding obstacle as the current obstacle, or to recursively apply
the basic algorithm to intermediate goals de ned along the original path.
x
x
b a
c
in
OB 1
a
b
OB 3
c
OB 1
OB 3
OB 2
OB 2
o
o
Figure 12: Modi cations of the basic Algorithm.
3.3.1
Switch to the colliding obstacle
Switching to OB3 as the current obstacle when a potential collision is detected,
and then applying the basic algorithm to its exit point c, takes care of the
problem. The switch to OB3 may be as early as at point a, the exit point of
OB1 (on left Figure 12), or as late as at point b, the colliding point with OB3
(on right of Figure 12). The exact switching point may depend on the amount
of known information about the obstacles, or the range of the on-board sensors.
Once detected, the obstacle is avoided optimally until reaching an exit point.
By Theorem 1, the path cannot return to the same exit point, and hence would
17
not enter an in nite loop. This assumes that the geometry of the obstacle is
known. The treatment of unknown obstacles is discussed later in Section 5.
x
OB 1
a
b
c
OB 3
OB 2
d
in
o
Figure 13: De ning intermediate goals.
3.3.2 Intermediate Goals
The other modi cation uses the basic algorithm to reach an intermediate goal,
de ned along the original path avoiding OB2 , as shown in Figure 13. This
point is selected as the exit point d of OB2 . If the new path intersects another
obstacle, this process is then repeated recursively until an obstacle-free path is
found. Convergence of this modi cation is ensured by virtue of Assumptions 3,
4 and Theorem 1. Assumptions 3,4 imply that the number of potential intermediate goals is nite since the obstacles are nite and not overlapping. This in
turn implies that there exists at least one nonintersecting tangent between every
obstacle and one other obstacle. An intermediate goal on this neighboring obstacle is therefore reachable by a basic path (generated by the basic Algorithm).
Theorem 1 implies that no intermediate goal is visited more than once, which
guarantees convergence.
4 General Environments: Relaxing Assumption
5
Obstacles that violate Assumption 5 may in rare cases cause Algorithm 1 to
enter an in nite loop, as shown in Figure 14. Here, the obstacles were shaped so
that the shortest path from the right exit point of each obstacle passes through
the right exit point of the next obstacle, resulting in a (clockwise) loop. To
break the loop, we modify Algorithm 1 as follows, assuming known obstacles,
Assumptions 1-4, and the ability to recognize a previously visited point.
18
To detect a loop, we store the exit points visited along the path in a que,
and compare each new exit point to those already in the que. When the path
returns to an already visited exit point, the points down the que to the rst
occurance of that point form a closed loop around the goal, as is discussed
later in Section 4.2. The direction of this loop (CW or CCW) is determined by
calculating the net angle gain of a ray from the goal, passing through all the
exit points in the loop in the order they were deposited in the que. Determining
the direction of the loop allows us to break the loop by avoiding all subsequent
obstacles through the exit point opposite to the exit point associated with that
loop. For example, a CW loop is associated with the right exit point. A CW
loop is therefore broken by switching to the left exit points of all subsequent
obstacles. For the case shown in Figure 14 a, a loop was detected when the
path returned to point q. Since this was a CW loop, it is broken (in this case
in one step) by avoiding the next obstacle through the left exit point, as shown
in Figure 14 b.
Switching to the opposite exit point ensures that the subsequent path is
interior to the original loop, as discussed later in Section 4.2. The algorithm
may enter another loop (opposite in direction to the original loop), in which
case the exit point is reversed again. This strategy ensures that each loop is
interior to the previous loop. The number of such loops may not exceed the
number of obstacles since each loop encircles a subset of the obstacles encircled
by the previous loop.
x0
x0
p
p
q
g0
g0
in
q
a
b
Figure 14: Avoiding Loops
19
4.1 The Algorithm
In this algorithm we store the exit points, p, in an ordered list, Q, with elements
Qi = p. In this algorithm, "to pop Q to element j " means to remove all elements
Qi ; i > j , and to set the current x to the values in Qj . The variable direction
stores the direction of the detected loop.
Algorithm 2: Avoiding Loops
Initialize: x = x0 ; i = 0; direction = 0.
Step 1:
Search Q for x.
If none: (add the current point to Q):
Set i = i + 1 (index for points in Q),
Qi = x.
Else: (detected a loop)
Pop the list to Qj = x; j < i ( nd the element that contains the current point x).
Determine the direction of the loop (using the points Qj
to Qi ).
Assign direction = CW, or CCW.
Step 2:
Select the current obstacle, OBm , from x to o.
If none (m = 0), go to step 4.
Step 3. (Avoid OBm )
If direction = 0, compute the shortest path that avoids OBm to o.
Else, compute the shortest path that avoids OBm to o through
the right exit point if direction = CCW , or the left exit point if
direction = CW .
If none, Stop, and declare "Target unreachable."
Clear OBm (reach the exit point qm ).
Set x = qm ,
Go to step 1.
Step 4. Move along (x; o) to o.
STOP. 2
Note that in the case of a loop, the shortest path in Step 3 is the shortest
under the condition that it passes through a speci ed exit point. This potential
increase in the path length is the price paid to ensure convergence. Also note
that, similarly to Algorithm 1, the goal is "unreachable" if Assumptions 1 or
3 are violated. This should be easy to determine since we assume here known
obstacles, or sensors of in nite range.
20
4.2 Convergence of Algorithm 2
To prove convergence of Algorithm 2, we rst prove that any close loop must
encircle the goal, and then prove that such a loop is broken by reversing the
direction of avoidance.
Lemma 4: A loop created by Algorithm 2 must encircle the goal.
Proof: Theorem 1 precludes loops that do not encircle the goal under Assump-
tion 5. Theorem 1 applies also to general obstacles as long as their boundary
segments in the loop do not encircle the goal. It follows that any closed loop
produced by Algorithm 2 must encircle the goal. 2
We now show that any loop around the goal is broken by reversing the direction of avoidance. We need the following propositions.
Proposition 2: The shortest path avoiding a given obstacle includes a portion
of its upper boundary.
Proof: This follows from Proposition 1 and De nition 6. The obstacle is avoided
if the straight line from the current point to the goal intersects the obstacle at
its upper boundary. If the exit point is not visible from the current point, then
the path must follow some section of the upper boundary to reach it. If the exit
point is visible from the current point, then the followed segment of the upper
boundary reduces to a point. 2
Proposition 3: The angle from the ray z=o, z 2 @U , to the ray q =o (the ray
passing through the right exit point, q ) is always negative (CCW being positive), and the angle from z=o to q =o (the left exit point, q ) is always positive.
r
r
l
l
Proof: This follows from z=o being interior to the cone @U=o, and q , q being
r
extreme points of @U . 2
l
Referring to Figure 14, we make the following observation:
Observation 1: Avoiding obstacles through the right (left) exit point encircles
the goal CW (CCW).
Proposition 4: A closed loop around the goal, with no reversals (of exit points),
contains all the obstacles it avoids.
Proof: Assume a CW loop, which is a non-reversing loop (all obstacles are
avoided through the same{right{exit point), and consider two obstacles, OB1
and OB2 , both part of the loop, as shown in Figure 15. By Observation 1, this
21
loop passes through the right exit point of both obstacles. If 1 is avoided
rst and 2 is avoided second, then the right exit point, 1 , of 1 must be
in the shadow of 2 , and the upper boundary of 2 must cross the extreme
ray containing 1 at some point closer to the goal, or ( ) ( 1 ). Since by
Assumption 3 the obstacles do not cross each other, it follows that the upper
boundary of 2 is interior to the upper boundary of 1 between the extreme
rays of 1 . Since the upper boundary of 2 left of 1 is interior (closer to
the goal) to the upper boundary of 1 , and the upper boundary of 2 right
of 1 forms a segment of the loop, it follows that 2 is contained by the CW
loop. Extending these arguments to the rest of the obstacles implies that all
obstacles avoided by a non-reversing loop are contained in that loop. 2
OB
OB
q
OB
q
OB
OB
z
z; o
OB
<
q ;o
OB
OB
OB
q
OB
OB
q
OB
OB 1
q1
z
OB2
o
in
Figure 15: Proof of Proposition 4.
Note that the arguments used in the proof of Proposition 4 apply only to
primary shadows since they require that the obstacle penetrates one extreme
ray and exits through the opposite exit point. A secondary shadow has only
one extreme ray (and one exit point on that ray), and thus cannot be part of a
non-reversing loop.
The next Corollary follows from Proposition 4:
Corollary 1: The left (right) exit point of every obstacle is internal to a CW
(CCW) loop.
Theorem 2: Algorithm 2 converges to the goal in nite time.
Proof: To prove convergence of Algorithm 2, we need to show that it does not
enter an in nite loop. If no loop is detected, then convergence follows from
Assumption 4 that the number of obstacles is nite.
22
Consider, without loss of generality, a CW loop, detected in Step 1 after
only one turn. Step 3 of Algorithm 2 then switches to the left exit point. If the
loop is non-reversing (all obstacles are avoided through the right exit points),
switching to the left exit point would bring the path inside the loop, since by
Corollary 1 the left exit point is internal to a CW loop. Avoiding all subsequent
obstacles through their left exit points would ensure that all new exit points are
internal to the loop. In the worst case, Algorithm 2 runs into another loop after
avoiding the rst loop. The new loop must be CCW and non-reversing (since all
obstacles are now avoided through their left exit points). This loop is ensured
to be internal to the original loop since the exit points it passes through and
the segments of the upper boundaries are internal to the original loop. The exit
points of the new loop are separated from the original loop by some minimum
distance that is the sum of the minimum thickness and the minimum spacing
between the obstacles. The CCW loop is broken by switching to the right exit
point, which may result in a third loop (CW) that is internal to the second
loop. The number of subsequent loops is bounded by the number of remaining
obstacles to be avoided, which is decreasing with each loop.
If the original loop is CW but it switches between right and left exit points,
then switching to the left exit point may result in a path that partly coincides
with the original loop. If this results in a CCW loop, then it must be nonreversing, since it avoids all obstacle through their left exit points. The CCW
loop is then broken as discussed earlier. 2
Note that the selection of a speci c exit point after a loop has been detected
may not yield the shortest path for each avoided obstacle. This potential increase in path length is necessary to ensure convergence. It is used only after a
loop has been detected, and may not be needed for most practical environments.
5 Computational Eciency
We assess the eciency of the proposed approach for known environments in
the context of o -line planning. For simplicity, we consider convex polygonal
obstacles.
The computational burden of this approach consists of checking collision and
evaluating the shortest path avoiding individual obstacles. Checking collision
involves computing intersections between one line and all the edges of the obstacle. Computing the shortest path for an individual obstacle involves generating
two tangents from the current point and two from the goal to the obstacle, and
evaluating the distance of both paths. Both computations (collision and shortest path) are computationally simple, except that they are repeated at every
exit point.
At each exit point, collision is tested with the remaining obstacles (excluding
the already avoided obstacles). The number of these obstacles decreases linearly.
23
In total, there are kn ? k2 2 such tests, where n is the number of obstacles and k
is the number of visited exit points (number of avoided obstacles).
The number of shortest path evaluations at each exit point depends on the
selection criterion. The nearest obstacle criterion requires only one evaluation
at each step. The determination of the nearest obstacle, however, requires the
calculation of the distance between the current point to all remaining obstacles,
which is repeated in total kn? k2 2 times. The maximum cost criterion requires no
calculation of distance, but the computation of the shortest path to all remaining
obstacles. In total, there are kn ? k2 2 such evaluations. Obviously, the maximum
cost is computationally more expensive than the nearest criterion. It can serve
as a fair comparison to other methods.
This approach thus requires kn ? k2 2 collision tests, and kn ? k2 2 shortest
path evaluations. It is therefore of complexity O(nk2 ). The maximum number
of visited exit points, k, is n, raising the complexity to O(n2 ). The existence
of loops multiplies this number by two since each loop, which is visited only
once, results in avoiding some obstacles within the loop at most twice. While
this is the worst complexity, it is an unrealistic measure since generally, not all
obstacles are visited during the motion.
Our experience with convex obstacles [19] shows that only a small fraction
of the obstacles were visited, roughly the number of obstacles along the straight
line to the goal from the initial point. The examples presented in this paper
later in Section 7, with concave obstacles, also involve a relatively small number
of obstacles (less than 5 out of 18 for the maximum cost criterion). So while the
worst complexity is polynomial in the number of obstacles, we can claim linear
average complexity.
In comparison, the tangent graph approach, which is currently the most
ecient, is of O(n2 ) complexity [21]. However, this complexity is xed, since the
size of the graph depends on the number of obstacles, and not on the shortest
path. We should recognize, however, that the tangent graph generates the
shortest path, whereas we can only approximate it at an unknown accuracy.
The shortest path and collision evaluations are suitable for parallel computation since they are calculated independently for many obstacles at each
exit point. Thus, using n processors, each computing the shortest path to one
obstacle, can reduce the worst computation time to be linear in the number
of obstacles, and the average computation time to be linear in the number of
actually avoided obstacles.
6 Unknown Environments
The preceding algorithms are applicable to unknown environment, provided
that exit points can be recognized by the on-line sensors. Once exit points
are properly determined, the avoidance strategy of known obstacles applies,
24
retaining the same convergence properties, except that the unknown obstacles
are avoided non-optimally.
6.1
Convex Obstacles
To determine exit points on-line, rst consider the convex obstacle shown in
Figure 16. A collision occurs when the straight line to the goal from the current
position intersects the upper boundary of some obstacle at some point z . An
exit point can be reached by following the boundary of the obstacle in either direction (CW or CCW), until the straight line to the goal is no longer obstructed
by the obstacle. For smooth convex obstacles, an exit point is detected when
the tangent (direction of motion) points at the goal. The avoidance strategy for
convex obstacles is therefore quite simple, resembling typical "bug" algorithms.
The following Algorithm is a modi cation of Algorithm 1, assuming convex obstacles and Assumptions 1-5:
CCW
z
CW
OB
Left exit
point
in
Right exit
point
o
Figure 16: Avoiding an unknown convex obstacle.
Algorithm 3: Avoiding unknown convex obstacles
Step 1. Move along the straight line to the goal.
If the goal is reached, Stop.
Else, an obstacle was detected.
Step 2. Choose (arbitrarily) a direction of avoidance (CW or CCW).
Follow @OB until reaching an exit point.
Go to Step 1. 2
Convergence of Algorithm 3 follows from convergence of Algorithm 1, since
convergence of the latter was based on avoiding obstacles via exit points, regardless of the order in which the obstacles are avoided. Failure to reach the
25
goal may not occur under the stated assumptions. Violating these assumptions
may result in failure to reach an exit point in Step 2.
6.2
Concave Obstacles
For concave obstacles, we recall Proposition 3, stating that a CW turn around
the obstacle from the colliding point z 2 @U @OB reaches the right exit point,
whereas a CCW turn reaches the left exit point. Therefore, a CW turn around
an obstacle should result in a negative angle gain between the direction at the
original colliding point and the exit point, and similarly, a CCW turn should
result in a positive angle gain.
This applies to any obstacle (convex or concave, encircling the goal or not)
since any ray passing through any point on the boundary is internal to the cone
de ned by the rays passing through the two exit points.
a
OB
in
o
Figure 17: Avoiding an unknown concave obstacle.
An exit point is, therefore, detected locally when it satis es the following
conditions:
a) the straight line to the goal is not obstructed by the obstacle,
b) the direction of motion points towards the goal,
c) the angle gain from the colliding point is negative for a CW turn, and positive
for a CCW turn.
Having established a simple procedure to determine the proper exit point
for a given avoidance direction, we can use Algorithm 3 for concave obstacles
as well, under Assumption 5.
Note, however, that not every point that locally satis es conditions (a) to
(c) is a true exit point, as shown in Figure 17. Here, point a appears locally
as an exit point during a CW turn, but it is not, since its tangent to the goal
intersects the obstacle. We call it a false exit point.
26
If the sensory information is strictly local, then each lobe of the concave
obstacle can be treated as a separate obstacle, and each point that appears
as an exit point be treated as a true exit point. The avoidance strategy then
follows the obstacle boundary and the straight line segments to the goal from
each apparent exit point, as shown in Figure 17.
a
b
c
OB
d
in
o
Figure 18: A loop created by switching directions at false exit points.
Switching the direction of avoidance before reaching a true exit point may
cause Algorithm 3 to enter an in nite loop, even if the obstacle does not encircle
the goal, as shown in Figure 18. Here, after exiting a false exit point, a, the
robot switches to a CCW turn, which brings it all the way to point b. At b, it
switches to a CW turn, which brings it back to point a. Reaching a true exit
point (c or d) breaks the loop.
Similarly to the approach used in Algorithm 2, in nite loops are prevented by
switching the direction of avoidance from a revisited (true or false) exit point. In
Figure 18, this would occur at point a, after completing one loop (that includes
point b). From a, a CW turn should be attempted, which would reach point c
and thus leave the obstacle.
The avoidance of general unknown concave obstacles satisfying Assumptions
1-4 follows Algorithm 2, with minor modi cations that do not warrant a repeat
of the algorithm. The modi cations involve Steps 2 and 3. The selection of the
current obstacle for known obstacles is done after exiting the previous obstacle,
using any local or global criterion. For unknown obstacles, the current obstacle
is selected as the rst obstacle obstructing the straight line to the goal. Step 3
in Algorithm 2 avoids the current obstacle optimally until reaching the right of
left exit points. In unknown environments, the current obstacle is avoided by
following its boundary until reaching an exit point (false or true). The direction
of avoidance (CW or CCW) is arbitrary5, unless a loop has been detected. Loops
5
An arbitrary direction can be resolved using any local criterion, such as selecting the
27
are broken by reversing the direction of avoidance, as in Step 3 of Algorithm
2. Failure to reach the goal is now detected when the same exit point is visited
twice (after reversal of direction), or when the algorithm returns to the hitting
point on the obstacle boundary without reaching an exit point. Both situations
result from violating Assumptions 2 and 3.
Convergence of this procedure, under Assumptions 1-4, follows from convergence of Algorithm 2, with the exception that loops not around the goal (such
as the loop shown in Figure 18) are possible. However, such loops are caused by
reversing the direction of avoidance before reaching a true exit point. They can
be avoided simply by keeping the direction of avoidance xed until entering a
loop, and then reversing the direction of avoidance until encountering the next
loop. This will ensure that each obstacle is avoided until reaching a true exit
point, which by Lemma 4 precludes loops not around the goal.
6.3
Spirals
Spirals deserve a special consideration as they seem to present a challenge for
any avoidance strategy. First, the exit point of a spiral that encircles the goal
does not satisfy De nition 6 since all rays passing through o and @OB intersect
the cone SOB=o (2), and hence no ray satis es the de nition of an extreme ray
(De nition 5). This is more of a semantic than an actual problem, since the
de nition of exit points is not unique. Instead of rede ning exit points, we note
that the two extreme points a and b of the spiral on the left in Figure 19, are
equivalent to the exit points of the primary shadow of the spiral on the right,
which does not encircle the goal. We may treat both as exit points, even though
only b is a true exit point (for spirals with one turn or more), since all shortest
paths starting outside the spiral must pass through that point.
Figure 19 demonstrates the avoidance of two spirals using the proposed
approach, assuming unknown geometry. In both cases, we make the worst
choices of the avoidance direction at each colliding point.
On the right, a spiral that does not encircle the goal is avoided by rst
attempting a CW turn to point c, which is a false exit point. Colliding again
with the obstacle, the robot attempts a CCW turn to d, another false exit point.
At e, a CCW turn brings it to a, a true exit point, then terminating at the goal,
as shown. A CW turn would exit the obstacle at b, also terminating at the goal.
Note that returning to d after completing the loop through e does not qualify
as a revisit of an exit point since on the way back to d, the robot points away
from the goal, thus not satisfying condition (b) (see Section 5.2).
The spiral on the left in Figure 19, which encircles the goal, is avoided by
rst attempting a CW turn to a, and continuing CW from the colliding point
d. This causes to revisit the (false) exit point a, in which case a CCW turn is
attempted to the exit point b, terminating at the goal.
direction in which the slope points towards the goal.
28
c
c
a
d
d
b
b
e
a
o
in
o
Figure 19: Avoiding spirals.
7 Examples
The following examples demonstrates this approach for general planar polygonal
obstacles. Using the set-up shown in Figure 20, with 18 concave obstacles, and
assuming a known environment, several paths were computed from di erent
initial point to the same goal. Computation time for each path was only a
fraction of a second on a Silicon Graphics Indy workstation.
Starting from various initial points, and using the maximum cost obstacle
criterion, Algorithm 2, modi ed to account for intermediate goals, produced the
paths shown in Figures 20 to 23 by the solid line. All paths seem very close to
the optimal path. The path in Figures 23 is in fact the shortest path.
The dotted lines in Figures 20 to 23 represent paths computed with the
nearest obstacle criterion. This is similar to the selection criterion dictated by
an on-board sensor, except that once the obstacle was selected, its geometry
was assumed known. These paths are much longer than the path generated by
the maximum cost criterion since they penetrate deep into the convex hull of
the largest obstacle.
Figures 20 and 23 show the paths generated by cutting a pass through the
largest obstacle. Here the di erence between the paths generated by either
criterion is relatively small; the maximum cost paths are generally shorter.
8 Conclusions
An on-line planner for generating near-shortest paths amongst general planar
obstacles was presented. It generates the path incrementally by avoiding obstacles optimally one at a time. The main feature of this approach is that it
is simple, yet it produces near-shortest paths, and it is globally convergent.
29
in
Goal
Figure 20: Near-Optimal Paths
The avoidance strategy does not specify the order in which obstacles must be
avoided. The obstacles can be selected using a global criterion, such as selecting
the most expensive (the maximum cost) obstacle to be avoided rst, or using a
local criterion by selecting the nearest obstacle in the direction of the goal. The
former was shown to result in close to optimal paths. The latter is useful for
unknown environments when using short range sensors.
Although the main focus of this paper has been on-line planning, the proposed approach presents an ecient alternative to o -line planning of nearshortest paths, by reducing computational complexity from polynomial [21] to
linear (on average) in the number of obstacles.
The proposed avoidance strategy was implemented for general planar polygonal obstacles on a Silicon Graphics Indy workstation. Avoidance of 18 concave
obstacles took only a fraction of a second. The paths produced by the global
criterion appear to be close, if not identical, to the shortest paths in all cases.
The global criterion is extendable to other cost functions [18], which are beyond
the capabilities of all other existing on-line planners.
Acknowledgments
This work was conducted during a sabbatical leave at Tohoku University, Japan.
The examples were generated by Dr. Satish Sundar.
30
in
Goal
Figure 21: Near-Optimal Paths
References
[1] M.A. Armstrong. Basic Topology. Springer-Verlag, New York, 1983.
[2] J. Barraquand, B. Langlois, and J.C. Latombe. Numerical potential eld
techniques for robot path planning. IEEE Transactions on Systems, Man
and Cybernetics, 22(2):224{241, 1992.
[3] L. Cesari. Optimization - Theory and Applications: Problems with Ordinary
Di erential Equations. Springer-Verlag, New York, 1983.
[4] H. Choset and J. Burdick. Sensor based planning, part ii: Incremental
construction of the generalized voroni graph. IEEE Int'l. Conf. on Robotics
and Automation, pages "1643{1648", 1995.
[5] R. V. Churchill, J. W. Brown, and R. F. Verhey. Complex Variables and
Applications. McGraw-Hill (3rd ed.), New York, 1974.
[6] C. I. Connoly, J. B. Burns, and R. Weiss. Path planning using laplace's
equation. IEEE Conf. on Robotics and Automation, Cincinnati, OH,
1:2102{2106, 1991.
[7] R. Jarvis. Collision-free trajectory planning using distance transforms.
Transactions of the Institution of Engineers, Australia, Mechanical Engineering, ME10(3):187{191, September 1985.
31
in
Goal
Figure 22: Near-Optimal Paths
[8] I. Kamon, E. Rimon, and E. Rivlin. Tangentbug: A range-sensor based
navigation algorithm. Int. Journal of Robotics Research, 17(8), August
1998.
[9] O. Khatib. Real time obstacle avoidance for manipulators and mobile
robots. Int'l Journal of Robotics Research, 1:65{78, 1986.
[10] P. Khosla and R. Volpe. Superquadric arti cial potentials for obstacle
avoidance approach. Proc. IEEE Int'l Conference on Robotics and Automation, 3:1778{1784, 1988.
[11] J. O. Kim and P. Khosla. Real time obstacle avoidance using harmonic
potential functions. Proc. IEEE Int'l Conference on Robotics and Automation, 1:790{796, 1991.
[12] D. E. Koditschek and E. Rimon. Robot navigation functions on manifolds
with boundary. Advances in Applied Mathematics, 11:412{442, 1990.
[13] Jean-Claude Latombe. Robot Motion Planning. Kluwer Academic Publishers, Boston, 1991.
[14] V.J. Lumelsky and A. Stepanov. Path planning strategies for a point mobile
automaton moving amidst unknown obstacles of arbitrary shape. Algorithmica, 2:403{430, 1987.
32
in
Goal
Figure 23: Near-Optimal Paths
[15] W. Prenowitz and Jantosciak J. Join Geometries: A Theory of Convex
Sets and Linear Geometry. Spinger-Verlag, New-York, 1979.
[16] E. Rimon and D. E. Koditschek. Exact robot navigation using arti cial
potential functions. IEEE Trans. on Robotics and Automation, 8:501{518,
1992.
[17] A. Stentz. Optimal and ecient path pllanning for partially-known environments. IEEE Int'l. Conf. on Robotics and Automation, page "", 1994.
[18] S. Sundar and Z. Shiller. Time-optimal obstacle avoidance. Proc. IEEE
Conf. on Robotics and Automation, pages 3075{3080, 1995.
[19] S. Sundar and Z. Shiller. Optimal obstacle avoidance based on sucient
conditions of optimality. IEEE Transactions of Robotics and Automation,
13(2):305{310, 1997.
[20] R. Volpe and P. Khosla. Arti cial potentials with elliptical isopotential
contours for obstacle avoidance. Proc. IEEE Int'l Conf. on Robotics and
Automation, 3:1778{1784, 1987.
[21] Liu Y.H. and Arimoto S. Path planning using a tangent graph for mobile
robots among polygonal and curved obstacles. International Journal of
Robotics Research, 11(4):376{382, August 1992.
33
Goal
Figure 24: Near-Optimal Paths
34