(1985) Using An Efficient Collision Detector in The Solution of The Find-Path Problem of Industrial Robots
(1985) Using An Efficient Collision Detector in The Solution of The Find-Path Problem of Industrial Robots
SPIEDigitalLibrary.org/conference-proceedings-of-spie
G. Sawatzky, H. El-Zorkany
G. Sawatzky
G. Sawatzky H.
H. El-Zorkany
Division of Mechanical
Mechanical Engineering,
Engineering, Systems
Systems Laboratory
Laboratory
National Research Council of Canada
Road, Bldg.
Montreal Road, Bldg. MM-3,
-3, Ottawa,
Ottawa, Ontario,
Ontario, Canada K1A OR6
Abstract
In this
In this paper
paper an efficient approach
an efficient approach toto collision
collision detection
detection isis proposed.
proposed. ItsIts incorpo-
incorpo-
ration in
ration in two
two approaches
approaches for
for thethe solution
solution ofofthe
thefind
find-path problem is
-path problem is also
also presented.
presented.
Collision detector
Collision detector is based on representing
is based representing objects
objects byby aa hierarchy
hierarchy of
of bounding
bounding spheres.
spheres.
Features
Features ofof the
the collision
collision detector
detector are that that computation
computation timetime depends
depends on
on the
the proximity
proximity of
of
the
the objects
objects and
and that the method
that the method concentrates
concentrates itsits efforts
efforts on the parts
on the parts of
of objects
objects most
most
likely
likely toto have
have geometric interference as
geometric interference as determined
determined by collision information.
information. The use use of
of
this
this representation
representation forfor collision
collision detection
detection inin two
two approaches
approaches for
for the
the solution
solution ofof the
the
find-path
find -pathproblem,
problem,namely
namely a a generate
generate and
and test
test approach
approach and free space
and a free space representation
representation
based approach,
approach, are presented.
presented.
The
The paper is organized
paper is organized as
as follows. First, aa review
review of
of the literature is
the literature given.
is given.
Second, details
Second, details of the collision
of the collision detector
detector and its incorporation
and its incorporation in a solution
in a solution for
for the
the
find-path
find -path problem
problem are
are presented. Third, the implementation
Third, the implementation of
of this approach on
this approach a LISP
on a LISP
machine and the
machine and the preliminary performance tests
tests performed
performed using
using aa PUMA
PUMA 560
560 robot
robot are
are discus-
discus-
sed. Finally,
Finally, conclusions and potential extensions
extensions are
are outlined.
outlined.
Introduction
In the
In the current
current state
state of robot programming,
of robot programming, location
location data are
are specified
specified by by moving
moving the
the
robot to
robot to each location
location and
and recording
recording the
the location
location data.
data. InIn doing
doing soso the
the programmer
programmer also
also
ensures that
ensures that safe
safe motions
motions will result by
will result by including
including any
any intermediate
intermediate or or "via"
"via" points
points as
as
required. One advantage of this
this method
method ofof programming
programming is
is that
that the
the resulting
resulting robot
robot motion
motion
is a "playback"
is "playback" of what
what is
is programmed.
programmed. the other
On the other hand,
hand, some
some disadvantages
disadvantages of of this
this
showing
showing approach
approach are
are that it is
that it is often time
time consuming,
consuming, possibly unsafe as as it
it is
is done
done on
on the
the
spot
spot using
using the
the robot
robot itself,
itself, and
and costly asas the
the long
long programming time required disrupts
disrupts the
the
associated with
production process associated with the
the robot.
robot.
Off-line
Off -lineprogramming,
programming, where
where data
data isis obtained
obtained from
from aa CAD
CAD (computer aided design)
(computer aided design) system,
system,
can
can overcome
overcome some
some of the difficulties
of the difficulties mentioned
mentioned above,
above, however
however it
it poses
poses some
some problems.
problems.
such problem is
One such is the
the discrepancy between
between thethe kinematic,
kinematic, trajectory
trajectory and
and geometric
geometric models
models
of the
of the robot
robot and
and parts
parts that
that are
are used
used inin the
the programming
programming phase
phase and
and the
the actual
actual robot
robot and
and
parts. Another problem
Another problem isis the
the need
need ofof the
the operator
operator to to visually
visually determine
determine safe
safe robot
robot
motions
motions from
from aa two
two dimensional
dimensional display
display of the robot
of the robot and
and its
its environment.
environment. Safeness of
Safeness of
robot motions
robot could, however,
motions could, however, be verified
verified by by testing
testing for
for collisions
collisions ofof aa proposed
proposed robot
robot
motion,
motion, using
using suitable
suitable models
models ofof the
the robot and its
robot and its environment.
environment. To this
this end,
end, aa collision
collision
detector, which would be
detector, be used
used as
as an
an aid
aid to
to an
an off
off-line
-line robot
robot programmer,
programmer, isis proposed.
proposed.
A more attractive
attractive possibility
possibility is is to
to automatically
automatically generate
generate safe
safe motions between given
motions between given
locations.
task locations. Such
Such aa capability
capability will
will be
be especially
especially more
more useful
useful as
as robot
robot tasks
tasks grow in
grow in
complexity, as
complexity, for example
as for example inin automated
automated assembly.
assembly. In such
In such a system
system itit is
is desired
desired toto
program by
program by specifying
specifying what is to be done rather than giving the the details
details ofof how
how it
it is
is to
to be
be
done. Evidently, among
Evidently, among other things, this
other things, this calls
calls for
for the
the ability
ability to
to find
find paths
paths for
for the
the
its payload that
robot and its that are
are safe.
safe.
This
This paper
paper proposes
proposes aa representation
representation of of objects hierarchy of
objects by a hierarchy of bounding
bounding spheres
spheres for
for
purposes of collision
purposes collision detection.
detection. Since collision detection
Since collision detection is is often large part
often a large part of
of
attempts
attempts toto solve
solve the
the find
find-path problem, it is
-path problem, proposed to
is proposed to incorporate
incorporate the
the collision
collision
detector into
detector into certain
certain find
find-path
-path solutions
solutions to improve their computational
to improve computational efficiency.
efficiency. TheThe
paper is
paper is organized asas follows.
follows. In In Section
Section 2 2 some
some terminology
terminology is is introduced
introduced and
and aa brief
brief
survey
survey of
of path
path planning is is given.
given. In section 33 aa method
In section method of
of geometric
geometric representation
representation forfor
geometric interference algorithms
geometric algorithms is is proposed.
proposed. The use use of this
this representation
representation within
within two
two
path planning
path planning algorithms
algorithms is is presented
presented inin section
section 4.
4. In section 5,
In section 5, some
some implementation
implementation
details
details and
and preliminary
preliminary test
test results
results are
are given.
given. Finally
Finally in section 6,
in section 6, conclusions
conclusions andand
potential extensions areare outlined.
outlined.
SPIE Vol.579
SPIE Vol. 579 Intelligent
Intelligent Robots
Robots and
and Computer
Computer Vision
Vision(1985)
(1985)// 131
131
find-path
The find -path problem
problem in
in robotics
robotics refers
refers to
to the
the problem
problem of
of generating aa safe
safe robot
robot path
path
between
between an an initial
initial and
and aa final
final robot
robot configuration.
configuration. It has been
It has been shown
shown by
by Schwartz
Schwartz and
and
Sharir1,2, that
Sharirl,2, that the
the algorithm
algorithm to to solve
solve the
the find
find-path
-path problem
problem has time bounds
has computational time bounds
which are
which are exponential
exponential in terms of the the degrees of freedom
freedom of the
the manipulator
manipulator and
and polynomial
polynomial
in terms
in terms ofof geometric
geometric complexity.
complexity. The complexity of
The complexity the problem
of the problem has
has directed
directed recent
recent
research
research efforts
efforts to use approximations
to use approximations and and toto exploit
exploit available
available constraints
constraints toto produce
produce
solutions. For
practical solutions. For example, Brooks3,4 used
example, Brooks3,4 used the concept of freeways
freeways for
for moving
moving poly-
poly-
gons with
gons with rotation
rotation among
among polygons,
polygons, constraints
constraints on on allowed
allowed payload
payload rotations
rotations and
and motion
motion
decoupling between the
decoupling the upper and lower
lower arms
arms to
to obtain aa solution
solution for
for aa PUMA
PUMA robot
robot for
for pick
pick
and
and place operations.
One of
One of the simplest approaches
the simplest approaches to the find-path
the find -path problem
problem is is the generate and
the generate and test
test
method. The basic idea
The basic idea is is to
to hypothesize
hypothesize aa path,path, say
say thethe shortest
shortest path path toto the
the des-
des-
tination, and
tination, to then
and to then determine
determine if if itit is
is safe.
safe. If the path
If the path is is safe
safe itit isis taken
taken asas the
the
solution, otherwise
solution, otherwise aa new path is is proposed
proposed andand the
the process
process repeated.
repeated. One way of of genera-
genera-
ting aa new
ting new path
path isis toto use
use information
information from from the
the detected
detected collision
collision to to identify
identify a safe
safe
intermediate location
intermediate location and start the
and start the algorithm
algorithm with
with the intermediate
intermediate location
location as the
destination. Of course, there
Of course, there is is nono guarantee
guarantee that
that aa path
path could
could bebe found.
found. Furthermore,
if one
if is found
one is found itit is
is merely feasible.
feasible. Moreover, this method
Moreover, this method is is characterized
characterized by by aa local
local
view. That is to
That is to say
say that
that such
such approaches
approaches consider
consider only
only thethe objects
objects colliding
colliding andand do
do not
not
take other
take other objects
objects into
into account
account when
when proposing
proposing a new new path.
path. MyersS proposed
Myers5 proposed such
such anan
approach for simple tasks
approach for tasks such
such as
as palletizing.
palletizing. A collision detector detector is is aa basic
basic ingredient
ingredient
of such an approach and and anan efficient
efficient collision
collision detector
detector is is aa definite
definite asset.
asset.
Find-path
Find -pathsolutions
solutionswith
with a a global
global point
point of
of view tend to
view tend to include
include aa representation
representation ofof
Fspace. Lozano-Perez6,7 f 8 ana
Lozano- Perez6,7,8 and Brooks
Brooks and Lozano-Perez
and Lozano- 9 transformed
Perez9 transformed obstacles
obstacles from their
from their
Cartesian
Cartesian representation
representation into
into their
their Cspace
Cspace representation
representation from from which
which itit was
was possible
possible to
to
obtain representation of Fspace.
obtain a representation Fspace. Gouzenesl0 f 11 , in
Gouzenes10,11, in principle, discretizes Cspace
principle, discretizes Cspace with
with
an nn dimensional
an dimensional grid,
grid, where n is is the
the number of degrees of freedomfreedom of
of the
the robot
robot and
and uses
uses aa
collision detector
collision detector to test at the
to test the nodes
nodes toto generate
generate aa representation
representation of of Fspace.
Fspace. Actually,
Actually,
instead
instead ofof testing
testing at
at grid points, collision
grid points, collision detection
detection with swept volumes
with swept volumes ofof the
the robot
robot
links, which represent large
links, large regions
regions ofof Cspace,
Cspace, is is used.
used. This reduces the the number
number of tests
tests
required
required but their complexity.
but not necessarily their complexity. Even with the the above
above advantage,
advantage, thethe number
number
of collision checks
of collision checks grows exponentially with the the number of of degrees
degrees of
of freedom
freedom ofof the
the robot
robot
being considered, hence
being considered, hence an efficient collision detector is is important
important inin an
an implementation
implementation
of Gouzenes 1 approach.
of Gouzenes' approach.
Geometric representation for
for interference
interference detection
detection
The choice
The choice of aa geometric
geometric representation
representation should
should reflect
reflect thethe goals
goals and
and nature
nature of
of their
their
intended use.
use. InIn the
the case
case of CAD,
CAD, geometric accuracy is is aa predominant consideration
consideration since
since
the models
the models will
will be
be used
used inin various
various engineering
engineering analyses
analyses such
such as
as stress
stress analysis
analysis oror for
for
program
program generation
generation inin computer
computer aided
aided manufacturing.
manufacturing. For interference analysis
For interference analysis between
between
objects in path
objects in path planning,
planning, and
and inin particular
particular for
for gross
gross motion
motion planning,
planning, high
high fidelity
fidelity ofof
object
object representation
representation is is not required, as
not required, as errors
errors in
in object location
location and
and robot
robot movement
movement dodo
not justify
not justify the
the cost
cost of
of an
an accurate
accurate representation.
representation. Indeed conservative representations
Indeed representations
are more
are more advantageous
advantageous as they provide
asthey provide some
some margin
margin of
of safety.
safety. What is is most often
often required
required
is
is fast
fast computation
computation ofof interference
interference detection
detection rather
rather than geometrical precision.
precision.
For
For purposes
purposes of interference detection,
of interference detection, a representation is is proposed
proposed where
where all
all objects,
objects,
whether they
whether they represent
represent robot links, swept
robot links, swept volumes,
volumes, obstacles or or collections
collections of of obstacles
obstacles
are
are represented
represented by a hierarchy
by a hierarchy ofof spheres.
spheres. For illustration,
For illustration, consider
consider the
the rectangular
rectangular
object
object in
in figure
figure 1a
la and its representation
and its representation by a hierarchy of spheres
spheres (circles
(circles inin this
this two
two
dimensional case) shown in figure lb.
dimensional case) 1b. The union of
The union of circles
circles from
from each
each level
level ofof the
the
hierarchy bounds the object being
bounds the being modelled.
modelled. At each node,
node, the
the original
original object
object isis divided
divided
132
732 //SPIE
SPIE Vol
Vol. 579
579Intelligent
IntelligentRobots
Robotsand
andComputer
Computer Vision
Vision (1985)
the collision
The use of the collision detector
detector within
within find
find-path
-path solutions
This section
This section discusses
discusses the
the incorporation
incorporation ofof the
the proposed
proposed geometric
geometric representation
representation and
and
the associated collision
the associated collision detector
detector in in two
two find
find-path solution methods.
-path solution methods. The first is
The first is a
generate and
generate and test approach and
test approach and the
the second
second isis based
based onon representation
representation ofof Fspace.
Fspace. In both
both
methods
methods collision
collision detection
detection isis aa fundamental
fundamental part, and hence
part, and hence there
there is
is potentially
potentially aa sig-
sig-
nificant advantage
nificant in using
advantage in an approach that is
using an is computationally efficient.
efficient.
Solution
Solution to the find
to the find-path
-path problem
problem with
with aa generate
generate and
and test
test approach
approach requires
requires an ability
to check
to check the
the safeness
safeness of
of aa robot trajectory and to propose intermediate
intermediate robot
robot locations
locations if
if
trajectory is
a trajectory is unsafe.
unsafe. One technique of
One technique checking a trajectory
of checking trajectory is is to determine the
to determine the
geometric
geometric volume
volume that
that the
the robot sweeps out
robot sweeps as it
out as it executes
executes the
the trajectory
trajectory andand determine
determine if
if
this volume
this volume collides
collides with
with obstacles.
obstacles. For robots
For robots with
with rotational
rotational joints
joints this
this method
method is
is
difficult
difficult because
because the
the volumes swept by robot
volumes swept robot motions shapes, and
motions are complex shapes, and hence
hence diffi-
diffi-
cult to represent.
cult to represent. A second,
second, simpler
simpler approach
approach discretizes
discretizes aa robot
robot trajectory
trajectory andand tests
tests
for safeness
for safeness of each
each intermediate
intermediate robot
robot configuration.
configuration. The size
The size ofof the
the discretization
discretization
steps should
steps should bebe small
small enough to to reduce
reduce the
the chance
chance of of missing
missing aa collision.
collision. Evidently,
Evidently, in
in
choosing step size,
choosing a step size, there
there isis a a trade
trade-off
-off between
between thethe probability
probability of of aa miss and
and the
the
amount of
amount of computation.
computation. guarantee aa safe
To guarantee safe trajectory,
trajectory, robot
robot links
links can
can bebe enlarged
enlarged to
to
cover all
cover all robot configurations in in the
the discretization
discretization level.
level. An associated penalty however however
is that enlarging
is that enlarging the
the robot
robot may
may be
be conservative
conservative and
and may
may eliminate
eliminate legitimate
legitimate traject-
traject-
ories. For
For either
either technique
technique an efficient collision detector is is desirable.
desirable.
SPIE Vol.
SPIE Vol 579
579 Intelligent Robots
Robots and
and Computer
Computer Vision
Vision(1985)
(1985)// 133
1. Test
1. of Cspace
regions of
Test regions Cspace and if free store in
and if structure.
in a tree structure.
2.
2. From this tree representation of of Fspace find adjacencies of regions and
construct a graph ofof connected regions.
connected regions.
3. Search the
3. Search the resulting graph for
resulting graph sequence of
connected sequence
for aa connected regions from
of regions region
the region
from the
the initial
containing the
containing the region
configuration to the
initial robot configuration the final
containing the
region containing robot
final robot
configuration.
Generate aa robot
4. Generate
4. robot trajectory contained in in the sequence of regions
sequence of found.
regions found.
This method is
This method illustrated by
is illustrated way of
by way of a simple two
a simple dimensional example.
two dimensional Figure 55 shows
example. Figure an
shows an
object which
object can move
which can the xxor
in the
move in environment with
direction inin anan environment
or y ydirection stationary
three stationary
with three
Figure 6
obstacles. Figure shows the
6 shows that are
Fspace that
cells of Fspace
the cells generated for
are generated for very discre-
large discre-
very large
tization steps in
tization steps in xx and y.
and y. The representation is
Fspace representation
The Fspace obtained by
is obtained by checking large
checking aa large
rectangle which bounds
rectangle which the volume
bounds the swept out
volume swept by the
out by object for
the object all values of y,
for all y, for any xx
for any
position of
position the object.
of the rectangle is
This rectangle
object. This checked for
is checked safeness at
for safeness series of
at aa series positions
of positions
along the
along axis.
the xx axis. If the large
If the rectangle is
large rectangle free from
is free collisions, it
from collisions, stored as
is stored
it is as aa
region of
region Fspace, otherwise the
of Fspace, object is
the object is checked collisions at
for collisions
checked for series of
at aa series positions
of positions
along axis.
the yy axis.
along the While checking the
While checking the object along y,
object along y, adjacent regions of
adjacent regions of Fspace are
Fspace are
combined so
combined so that the final
that the regions are
final regions are as large as
as large possible.
as possible. Clearly,
Clearly, the quality of
the quality of
the representation of
the representation of Fspace
Fspace is determined by the
is determined size of
the size discretization steps
the discretization
of the used.
steps used.
This explains
This representation of
the very rough representation
explains the Fspace in
of Fspace Figure 6.
in Figure Figure 77 shows
6. Figure tree
the tree
shows the
structured organization of Fspace regions.
structured Regions of
regions. Regions Fspace are
of Fspace defined at
completely defined
are completely the
at the
leaves of
leaves this tree,
of this range of
indicates aa range
branch indicates
tree, while each branch of values for the
values for refer-
object's refer-
the object's
cell is
position. A cell
ence point position. defined by the
is defined the branches back to the
followed back
branches followed the
root of the
the root
and by
tree and
tree positions not
the complete range of positions
by the specified. This tree
not specified. organization of
tree organization the
of the
regions of
regions of Fspace is used
Fspace is to aid
used to search for
aid the search regions and
adjacent regions
for adjacent later to
and later to find which
find which
region a given robot configuration is is aa member of.
member of.
8 shows
Figure 8
Figure the final
shows the graph of
final graph Fspace regions
of Fspace for the
regions for object of
mobile object
the mobile of Figure 6.
Figure 6.
in the
Each node in graph represents
the graph one region
represents one of Fspace.
region of Each arc
Fspace. Each in the
arc in indicates
graph indicates
the graph
adjacent regions, where
adjacent regions, means that
adjacent means
where adjacent the region
that the overlap or
boundaries overlap
region boundaries or touch at
touch at
least one point.
least at one connectivity graph
such aa connectivity
point. From such regions, it
Fspace regions,
graph of Fspace relatively
is relatively
it is
simple to
simple to find feasible path between any two
find aa feasible if one
positions, if
two object positions, exists.
one exists.
134
734 //SP /E Vol.
SPIE Intelligent Robots and Computer Vision (1985)
579 Intelligent
Vol. 579 (1985)
(fspace-decomp
(fspace -decomp (link)
all positions of the
(for all
(for link
the link
(interferep-obj
(if (interferep
(if link obstacles)
-obj link
then move link to next position
then
(interferep-obj
if (interferep
(else if -obj link- swept -rep obstacles)
link-swept-rep obstacles)
then ( fspace- decomp next-link))
(fspace-decomp next -link))
(else (add-cell-to-Fspace-tree))))
(else (add -cell -to- Fspace- tree))))
where:
the name of a robot link
is the
link is
-- link link
-- obstacles is a list of objects which
obstacles is can be
which can considered as
be considered obstacles
as obstacles
swept -repisisthe
link-swept-rep
-- link- representation of
therepresentation volume given
the volume
of the by sweeping
given by
the remaining
the remaining links over all configurations
their configurations
all their
(interferep-obj
-- (interferep b), is
-obj aa b), predicate which
is aa predicate returns tt when
which returns
two objects
two objects a and b interfere geometrically, otherwise
interfere geometrically, nil is
otherwise nil returned.
is returned.
It is
It apparent that
is apparent the above
that the algorithm requires
above algorithm discretization step
requires aa discretization step to to be for
chosen for
be chosen
each link of
each link the robot. Choosing the
of the discretization steps
the discretization of the
steps of parameters is
link parameters
the link done
is done
knowledge of
using knowledge
using the geometry of the
of the links. For
robot links.
the robot For example,
example, rotational links with aa
links with
large length to
large length to width
width ratio should have
ratio should steps than
have more steps rotational link
than aa rotational lower
with aa lower
link with
length to
length simple relation
ratio. A simple
to width ratio. expresses this
which expresses
relation which ceiling (r(r*dq),
idea isis n=n= ceiling
this idea *dq),
where is the
where nn is of discretization
number of
the number levels, rr is
discretization levels, length to
is a length factor for
width factor
to width link,
for aa link,
dq is total range
the total
is the for the joint
range for parameter, and
joint parameter, ceiling is
and ceiling function which
is aa function the
returns the
which returns
integer.
next highest integer.
Performing an
Performing an interference between obstacles
analysis between
interference analysis positioned at
link positioned
and aa link
obstacles and the
at the
center of
center discretization step
each discretization
of each step does not guarantee
does not that the
guarantee that entire step
the entire is free
step is from
free from
collisions. It is possible
It is to find
possible to the exact
find the shape of
geometric shape
exact geometric of the link swept
the link over the
swept over the
discretization step
discretization step and for collision
it for
and use it simply, one
detection. More simply,
collision detection. determine
could determine
one could
to enlarge
how to the link shape to
enlarge the to cover whole step.
the whole
cover the Both methods guarantee a report on
step. Both
the range but
complete range
the complete but at cost of
at the cost of extra computation and
extra computation possibly aa loss
and possibly of regions
loss of of
regions of
Alternatively, one can
Fspace. Alternatively, allow the
can allow check to
interference check
the interference occur at
simply occur
to simply center
the center
at the
of
of the step, and
the step, deal with
and deal cells that
with cells represent either
that represent Fspace or
pure Fspace
either pure or mixed Cspace. An
mixed Cspace.
example of using mixed space
example representation for
space representation for the find-path
the find -path problems is is discussed below.
discussed below.
adjacency of
finding adjacency
The operation of finding of two regions is
two regions is required construct the
to construct
required to of
graph of
the graph
connected Fspace
connected regions.
Fspace regions. In general, a
In general, region of
a region Fspace is
of Fspace defined by
is defined set of
by aa set link
of link
parameter
parameter ranges qr1 qr2 ...
ranges ( qr<| (
... qrn), qri is
where qri
qr n ) f where is a range of values
a range for aa link
values for para-
link para-
meter. Two regions
Two adjacent if
are adjacent
regions are if all link parameter
all link intersect at
ranges intersect
parameter ranges at least for aa
least for
single
single value. An efficient method of
efficient method finding all
of finding regions is
adjacent regions
all adjacent produced by
is produced using
by using
the fact
the that two
fact that regions can only be adjacent if
two regions if they of adjacent
are members of
they are in
branches in
adjacent branches
tree organization of Fspace
the tree
the regions.
Fspace regions.
For the next
For the step of
next step find-path
thisfind
of this solution, it
-path solution, it is necessary to
is necessary find which
to find Fspace
which Fspace
regions contain the
regions contain the initial final robot
and final
initial and configurations and
robot configurations then find
and then connected se-
find aa connected se-
quence of regions
quence of them. To find
regions between them. membership of
region membership
find region of a robot configuration, one
robot configuration, one
searches the
searches tree of
the tree of Fspace regions until
Fspace regions the correct
until the one is
correct one found. To
is found. then find
To then path
find aa path
between two regions
between two regions there areare several methods. Clearly,
possible methods.
several possible Clearly, a breadth search
first search
breadth first
the connected graph of Fspace
of the regions will
Fspace regions the shortest
find the
will find path in
shortest path terms of
in terms of
number of
of number
But because
regions. But are not
regions are
because regions not the same size,
the same sequence of
this sequence
size, this of regions result
regions may result
in an unnecessarily
in an long robot
unnecessarily long trajectory.
robot trajectory. Methods of
Methods of finding sequence of
the sequence
finding the regions
of regions
that leads
that an "optimal"
to an
leads to trajectory are
"optimal" robot trajectory are being investigated.
being investigated.
To complete the
To complete find-path
the find solution,one
-pathsolution, must generate
onemust robot path
generate aa robot sequence of
from aa sequence
path from of
regions in Fspace. Two methods of
in Fspace. of selecting path were
robot path
selecting aa robot and both
used, and
were used, that
assume that
both assume
robot can
the robot
the line motions in
straight line
can approximately execute straight Cspace. In the
in Cspace. the first method,
first method,
proposes aa path
one proposes
one lines between
straight lines
path consisting of straight centers of
the centers
between the region
consecutive region
of consecutive
intersections. In method, one
second method,
the second
In the proposes aa path
one proposes path that consists of
that consists series of
of aa series of
straight lines to
straight lines to the point in
the nearest point in consecutive regions. Figures 9a
consecutive regions. 9a and illustrate
9b illustrate
and 9b
the first
the and second
first and methods on
second methods on aa similar sequence of
similar sequence regions.
of regions. Evidently, the first
the first
method produces more
method produces more conservative and motion in
expensive motion
possibly more expensive
and possibly terms of
in terms and
time and
of time
energy. Neither of
Neither the above
of the produce an
algorithms produce
above algorithms an optimal path.
optimal path. As noted by
As noted Gouzenes
by Gouzenes
10 ,11, generating
10,11, time or
minimum time
generating minimum energy paths
or minimum energy sequence of
from aa sequence
paths from regions is
of regions an
is an
open problem. For the case of regions that
For the guaranteed to
not guaranteed
are not
that are contain only
to contain space,
free space,
only free
Vol 579
SPIE Vol.
SPIE Robots and Computer
579 Intelligent Robots Vision(1985)
Computer Vision 135
(1985)// 135
Vol. 579
SPIE Vol.
136 //SPIE IntelligentRobots
579 Intelligent andComputer
Robots and Computer Vision (1985)
Vision (1985)
SPIE
SPIE Vol.
Vol 579
579 Intelligent Robots
Robots and
and Computer
Computer Vision
Vision(1985)
(1985)// 137
137
1.
Figure 1.
Figure Hierarchy of object
of spheres for an object
a. far b. near
b.
2.
Figure 2.
Figure Interferen
Interference detection between objects
ce detection objects
p(d(A,B)) time
d(A,B) d (( A,B)
d A,B)
3.
Figure 3. Probability density function
Probability Figure 4.
Figure 4. Computation time
Computation interference
for interference
time for
for distance between objects
for detection algorithms
SPIE
138 //SP /E Vol IntelligentRobots
579Intelligent
Vol. 579 Computer Vision
andComputer
Robotsand (1985)
Vision (1985)
5.
Figure 5. Moving object and obstacles 7.
Figure 7.
Figure Representation of
Tree Representation Fspace
of Fspace
/ / j
/
97 912 914
%
Yr
// /
93 95
¡/%/
/ j
9.3
99
91 913 915
%
/
911
A
912
92 94 96
98 910
xr
6.
Figure 6. for
Cspace decomposition for 8.
Figure 8. of Connected Fspace regions
Graph of
moving object
i
1E--X`
i
/ \\
/ \
A X-
1*1
X
1X L*
1.)L
START START
X X
FINISH FINISH
a. between consecutive
path between b. path to nearest point of
point of
region centers consecutive regions
Figure 9.
Figure 9. Selecting regions
sequences of Fspace regions
Selecting robot paths from sequences
r'
\T\
At No
/ WMR5I\i
Figure 10.
Figure 10. Examplesofof robot
Examples robot paths
paths
140
140 //SPIE
SPIE Vol
Vol. 579
579Intelligent
IntelligentRobots
Robots and
andComputer
Computer Vision
Vision (1985)