0% found this document useful (0 votes)
18 views

(1985) Using An Efficient Collision Detector in The Solution of The Find-Path Problem of Industrial Robots

The document describes an efficient collision detector for use in solving the find-path problem for industrial robots. It proposes using a hierarchy of bounding spheres to represent objects for collision detection. The collision detector focuses computation on parts of objects most likely to collide based on their proximity. Two approaches are presented for incorporating the collision detector: a generate and test approach and a free space representation approach.

Uploaded by

ibov
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

(1985) Using An Efficient Collision Detector in The Solution of The Find-Path Problem of Industrial Robots

The document describes an efficient collision detector for use in solving the find-path problem for industrial robots. It proposes using a hierarchy of bounding spheres to represent objects for collision detection. The collision detector focuses computation on parts of objects most likely to collide based on their proximity. Two approaches are presented for incorporating the collision detector: a generate and test approach and a free space representation approach.

Uploaded by

ibov
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

PROCEEDINGS OF SPIE

SPIEDigitalLibrary.org/conference-proceedings-of-spie

Using An Efficient Collision Detector


In The Solution Of The Find-Path
Problem Of Industrial Robots

G. Sawatzky, H. El-Zorkany

G. Sawatzky, H. El-Zorkany, "Using An Efficient Collision Detector In The


Solution Of The Find-Path Problem Of Industrial Robots," Proc. SPIE 0579,
Intelligent Robots and Computer Vision IV, (11 December 1985); doi:
10.1117/12.950793

Event: 1985 Cambridge Symposium, 1985, Cambridge, United States

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023 Terms of Use: https://www.spiedigitallibrary.org/terms-of-use


an efficient
Using an efficient collision
collision detector
detector in
in the
the solution
solution
of the
the find
find-path
-path problem
problem of
of industrial robots.

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

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
brief overview of path planning
A brief

Configuration space and


Configuration and free space
space
Configuration space
Configuration space of aa robot,
robot, which
which will
will be
be referred
referred to
to as
as Cspace,
Cspace, is
is the
the set
set of
of all
all
robot configurations.
robot configurations. Free space
Free space of
of aa robot,
robot, which
which will
will be
be referred
referred toto as Fspace, is
as Fspace, is aa
subset
subset of Cspace and
of Cspace and is
is defined
defined byby all
all configurations
configurations of the the robot
robot for
for which
which the
the robot
robot
does not collide
does not collide with other
other objects.
objects. Fspace
Fspace isis the
the complement
complement ofof the set of
the set of all
all points
points
occupied
occupied by thethe obstacles
obstacles inin Cspace.
Cspace. Evidently any robot
Evidently any robot configuration is is represented
represented by
by
a point
a point inin its Cspace. Accordingly,
its Cspace. Accordingly, in Cspace the
in Cspace the path
path planning
planning problem
problem becomes
becomes the
the
simpler one
simpler one ofof finding
finding a continuous
continuous path
path for
for aa point
point that
that isis completely
completely contained
contained in
in
Fspace. Unfortunately,
Unfortunately, accurate
accurate representation
representation of of Fspace
Fspace for
for six
six degree
degree ofof freedom
freedom robots
robots
is rather difficult
is a rather difficult problem.
problem. This is
This is aa manifestation
manifestation of of the
the fact
fact that
that obstacles
obstacles with
with
simple
simple geometry
geometry inin Cartesian
Cartesian space
space can
can become
become very
very complex
complex shapes in in Cspace.
Cspace.
Find-path
Find -path algorithms
algorithms

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)

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
and the
and the resulting "sub-
"sub-objects"
objects" are
are separately
separately bounded
bounded byby smaller
smaller circles.
circles. These two two facts
facts
allow for effective interference detection between two objects by comparing their
hierarchical representations.
hierarchical representations. Two objects
objects are
are said
said to
to interfere
interfere ifif any
any of
of the
the leaves
leraves of
of
their
their representations intersect.
representations intersect. Two objects
Two objects dodo not intersect if
not intersect if a set
set of
of spheres
spheres from
from
one object, which
one object, which bounds
bounds that
that object,
object, does
does not
not interfere
interfere with
with any
any spheres
spheres from
from aa set
set of
of
spheres
spheres which
which bound the second
bound the second object.
object. Interference
Interference detection
detection between
between spheres
spheres isis done
done by
comparing the
comparing the distance between their
distance between their centers
centers and the sum
and the sum of their
their radii.
radii. This is
This is done
done
very easily
easily for
for both two dimensional and
both two and three
three dimensional spheres.
spheres.
Figure
Figure 22 illustrates the circles used in
illustrates the in computing
computing interference
interference detection between
between aa two
two
dimensional
dimensional robot
robot and its environment
and its environment when the the robot
robot isis far
far from
from and
and near
near to
to obstacles.
obstacles.
Comparison of
Comparison these two
of these two cases
cases highlights
highlights many
many properties
properties of of the
the interference
interference detection
detection
algorithm. Note thatthat the
the algorithm
algorithm can
can terminate
terminate after
after comparing
comparing thethe top
top level
level spheres
spheres ofof
each
each object
object when
when they
they are
are sufficiently farfar apart.
apart. Accordingly,
Accordingly, computation time time for
for inter-
inter-
ference
ference detection
detection between
between two
two objects
objects will depend on their
will depend their proximity.
proximity. Also notice
notice that
that
the
the entire
entire representation
representation of of objects
objects isis rarely
rarely used
used because
because thethe interference
interference detection
detection
algorithm
algorithm "homes
"homes in"
in" on
on potential collisions without
potential collisions considering the
without considering the entire object.
object. This
idea can
idea can be extended by
be extended grouping collections
by grouping collections of of small
small objects into aa single
objects into single region
region andand
considering
considering thethe objects enclosed only
objects enclosed only when
when necessary.
necessary. In the example,
In the example, one
one can
can imagine
imagine
that
that the
the obstacles
obstacles are
are really a collection
collection of
of smaller
smaller objects.
objects. To restate the the above
above pro-
pro-
perties one
perties can say that
one can that the
the algorithm
algorithm and
and representation
representation technique
technique allow
allow computation
computation to to
occur only when
occur when necessary.
necessary. For the
For the above
above reasons
reasons a hierarchy
hierarchy of spheres
spheres can
can bebe aa good
good
geometric representation for purposes of interference
geometric interference detection between
between objects.
objects.
comparison between
A comparison between geometric
geometric interference
interference detection
detection algorithms
algorithms that
that employ
employ different
different
object representations
object representations is is difficult.
difficult. Two Two important
important factors
factors that
that should
should bebe considered
considered inin
such aa comparison
comparison are are computational
computational speedspeed and and fidelity
fidelity ofof spatial
spatial representation.
representation. A
simple
simple comparison
comparison of of two
two object interference algorithms
object interference algorithms can
can be
be made follows. Consider
made as follows.
two
two methods
methods R-j
R1 and
and R2R2 of representing objects.
of representing objects. Associated
Associated with eacheach method
method ofof representa-
representa-
tion is an
tion is an interference
interference algorithm,
algorithm, namely
namely I1 I-j and 12 respectively.
and I2 respectively. The algorithms have
The algorithms have
computation times t1
computation times t-j and t2- Now let
and t2. let R1
R-j be
be a non non-hierarchical
-hierarchical representation
representation and
and let R2
let R2
be
be aa hierarchical
hierarchical representation. Perform interference analysis
Perform interference analysis on two objects
on two objects A and
and B nn
times with 11
times l-j and
and I2.
12. Let
Let d(A,B)
d(A,B) bebe aa distance
distance function
function for
for the
the objects
objects AA and
and B.
B. Assume
that
that d(A,B)
d(A,B) hashas aa probability
probability density
density function
function shownshown in
in figure
figure 3.3. Assume that ti
Assume that t-| and
and t2
t2
depend on
depend d(A,B) as shown
on d(A,B) shown inin figure
figure 4.4. LetLet T^ and T2
Ti and T2 be the
the total
total computation
computation times
times for
for
II and
Ii and 12
I2 respectively
respectively in the above experiment.
in the experiment. Ti T1 will not
not depend
depend onon d(A,B),
d(A,B), whereas
whereas T2T2
will be
will be strongly
strongly dependent
dependent on on d(A,B).
d(A,B). If the
If the shape
shape of
of the
the object
object distance
distance probability
probability
density function
density function is is favourable
favourable thenthen I212 and
and R2R2 isis the
tne better
better algorithm
algorithm andand representation
representation
to use.
use.
Currently
Currently aa programmer
programmer determines spheres used
determines the spheres used to
to represent
represent an
an object
object with
with the
the aid
aid
of algorithms
algorithms which
which generate hierarchies of
generate hierarchies of spheres
spheres from
from simple
simple shapes.
shapes. For example,
example, one
one
such
such algorithm
algorithm returns
returns aa binary
binary tree
tree of spheres
spheres for
for aa rectangle
rectangle as
as can
can be
be seen
seen in
in figure
figure
1. The
1. The algorithm
algorithm works finding aa bounding
works by finding bounding sphere
sphere for
for aa rectangle
rectangle and
and then
then recursively
recursively
sub-dividing
sub -dividingthat
thatrectangle
rectangle until
until the
the length
length to
to width
width ratio
ratio of the new rectangle
of the rectangle isis less
less
than
than the
the square
square root two.
root of two. similar algorithm
A similar algorithm was
was implemented
implemented for
for three
three-dimensional
-dimensional
boxes with trapezoidal
boxes trapezoidal cross
cross-sections.
-sections. TheThe automatic
automatic generation
generation of aa good
good representation
representation
by aa bounding
by bounding hierarchy of from a CAD object representation would
of spheres from would be
be aa very
very useful
useful
tool.

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

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
The second
The aspect of
second aspect the generate
of the and test
generate and solution is
test solution to propose
is to robot
intermediate robot
propose intermediate
collisions are
configurations when collisions detected. For
are detected. each robot the rules and
For each and heuristics used
will vary according
will vary to the
according to application.
the application. As an
As example, one
an example, can choose
one can to limit
choose to the
limit the
choices for collision
choices for with aa PUMA
avoidance with
collision avoidance 560 robot
PUMA 560 to three
robot to strategies. Given that
three strategies. that aa
collision
collision is detected,, attempt to move over,
is detected or outside
inside or
over, inside of the
outside of obstacle that
the obstacle in
is in
that is
collision with
collision payload. An example of such
with the PUMA payload. an approach
such an presented in
is presented
approach is next
the next
in the
section.
Global -path solutions
find-path
Global find generally use
solutions generally use a representation of
a representation of Fspace, which can
Fspace, which can bebe
described by
described collection of
by aa collection regions formed
of regions from the
formed from generated by
cells generated
the cells imposing an
by imposing an nn
dimensional grid
dimensional grid onon Cspace, where nn is
Cspace, where the number
is the degrees of
of degrees
number of freedom of
of freedom of the robot.
the robot.
Clearly,
Clearly, the number of
the number of cells in in an exponentially with
an n dimensional grid grows exponentially with the degrees
the degrees
of freedom of the
of freedom robot.
the robot. For example if
For example dimension of
each dimension
if each Cspace is
of Cspace divided into
is divided into 2525
then for
steps, then
steps, degree of
three degree
for aa three of freedom robot the
freedom robot number of
the number cells is
of cells 2^ or
is 215 about
or about
32,000, and
32,000, number of
the number
and the cells for
of cells degree of
six degree
for aa six freedom robot
of freedom grows to
robot grows 2 3 0 or
to 230 about
or about
cells. Obviously,
1,000,000,000 cells. individually for
Obviously, checking each cell of Cspace individually safe-
robot safe-
for robot
ness and
ness storing only the
and storing cells that
the cells part of
are part
that are of Fspace can be
Fspace can very demanding,
be very especially
demanding, especially
for with more
robots with
for robots more than freedom. If
three degrees of freedom.
than three however it
If however possible to
is possible
it is effec-
to effec-
tively check
tively regions of
large regions
check large Cspace, the
of Cspace, the work required to
work required Fspace will
determine Fspace
to determine will be re-
be re-
duced. The procedure would be to check aa large
to check region of
large region Cspace, and
of Cspace, it is
if it
and if found to
is found be
to be
part ofof Fspace it it is stored, otherwise it
is stored, it is down and
broken down
is broken further. Such a
investigated further.
and investigated
method has
method has two one being
benefits, one
two benefits, being that the number of checks checks is reduced and
is reduced secondly that
and secondly that
the number of
the number of regions used to represent
regions used Fspace is
represent Fspace number of
less. The number
is less. of Fspace regions can
Fspace regions can
be reduced if
further reduced
be further if adjacent regions can
adjacent regions can be combined into
be combined regions of
larger regions
into larger similar
of aa similar
shape. For example, the
For example, region should
combined region
the combined still be
should still otherwise the
convex, otherwise
be convex, regions
the regions
should not be combined. Fewer
be combined. regions of Fspace will result
Fewer regions result in searches for
faster searches
in faster paths
for paths
contained in Fspace.
in Fspace.
Gouzenesl0,11 recently
earlier, Gouzenes10,11
As mentioned earlier, proposed aa method
recently proposed of obtaining
method of represen-
obtaining aa represen-
tation of
tation Fspace that
of Fspace is efficient
that is efficient in terms of
in terms of the number of required to
checks required
of checks determine
to determine
and the number of regions
Fspace and
Fspace to represent
used to
regions used detection is
collision detection
Fspace. Since collision
represent Fspace. is
still aa major
still requirement, further
major requirement, improvement in
further improvement in the this method
performance of this
the performance be
may be
method may
obtained by
obtained by improving computational efficiency
the computational
improving the the collision
of the
efficiency of required. The
checks required.
collision checks
versions of
general versions
general of the implement Gouzenes'
the algorithms to implement briefly described
are briefly
Gouzenes 1 method are and
described and
then illustrated
then simple example
illustrated by aa simple The reader
below. The
example below. is referred
reader is to 10,11
referred to further
for further
10 f 11 for
details.
Gouzenes 1 find
Gouzenes' -path solution
find-path steps:
four steps:
solution contains four

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)

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
Implementation details and preliminary results
The first few
The first this section
paragraphs of this
few paragraphs contain aa brief
section contain of
description of
brief description the general
the general
algorithms needed to
algorithms needed obtain aa Fspace
to obtain description for
Fspace description an nn degree
for an freedom
of freedom
degree of robot.
robot. The
algorithm for
algorithm and storing
for finding and cells of
storing cells Fspace can
of Fspace can be described as
be described a
a recursive
expressed in
algorithm expressed LISP".
"PseudoLISP
in "Pseudo ".

(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

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
an unsafe robot
an unsafe result. One
may result.
trajectory may
robot trajectory circumventing this
One way of circumventing problem is
this problem use
to use
is to
the test the
the collision detector to test safety of aa proposed
the safety path. If
proposed path. a path
If a path is then
safe, then
is not safe,
either locally modify
either locally modify the of the
part of
the part path which
the path is causing
which is collision or
the collision
causing the try aa
or try
shortest sequence
trajectory from the next shortest regions.
sequence of regions.
proposed representation,
The proposed
The associated collision
the associated
representation, the and its
detector and
collision detector incorporation
its incorporation
into the two
into the find-path
two find algorithms discussed
-path algorithms above were
discussed above implemented in
were implemented on an
LISP on
in LISP LMI
an LMI
LAMBDA Lisp machine. For For geometric representation and properties the
object properties
and other object program
the program
structure which can
uses an object data structure
uses any open
represent any
can represent two or
link, two
open link, dimensional
three dimensional
or three
robot. Other
Other properties stored for
properties stored each object
for each object are list of
are a list other objects
of other could
that could
objects that
potentially interfere with it,
potentially interfere transformation to
coordinate transformation
relative coordinate
it, relative its support,
to its of
name of
support, name
support, list of supported objects,
support, representation of
and representation
objects, and the volume
of the out by
swept out
volume swept sup-
the sup-
by the
ported
ported links if any. Finding
if any. Finding the world coordinates
the world point in
coordinates of aa point object's coordinate
an object's
in an coordinate
frame
frame is determined by
is determined transforming the
by transforming the point by the
point by transformations of
the transformations supporting
the supporting
of the
Inverse kinematic
objects. Inverse kinematic solutions are generally robot specific specific and would normally
and would have
normally have
to be developed
to for aa particular
developed for particular problem instance.
problem instance. In
In particular the kinematic
inverse kinematic
the inverse
solution for
solution 560 robot
PUMA 560
for aa PUMA was implemented in LISP.
robot was Preliminary testing of
Preliminary testing the
of the
collision detector and find-path
and find algorithms were
-path algorithms performed on a PUMA 560
were performed robot.
560 robot.
Figure 10 shows
Figure 10 three two
shows three -dimensional examples
two-dimensional and the
examples and paths that
the paths generated by
were generated
that were by
Fspace that
using the representation of Fspace
using generated with
was generated
that was proposed object
the proposed
with the representa-
object representa-
tion detector. The
interference detector.
tion and associated interference The computation time was
computation time was on the the order one
order of one
times reported
favourably with times
minute. This compares very favourably 10 f 11 which
in 10,11
reported in which are on the
are on order
the order
in essentially
hours in
of hours essentially similar examples. It
similar examples. It should emphasized that
should be emphasized that work reported in
work reported in
10,11 used facilities
10,11 used are not
that are
facilities that for LISP
optimized for
not optimized LISP and responsible for
and are probably responsible the
for the
times reported.
large computing times previously mentioned,
reported. As was previously mentioned, it it is possible to work with
is possible with
description of
a description of mixed
mixed space Cspace. Notice that
space representation of Cspace. that the third example
the third has
example has
which could
aa collision which be detected with the collision detector and
could be modified.
subsequently modified.
and subsequently
Preliminary results for
Preliminary results using the
for using the collision detector in
collision detector generateand
in a a generate find-path
testfind
andtest -path
approach are
approach shown in
are shown Figure 11,
in Figure which shows
11, which PUMA 560
shows aa PUMA robot executing
560 robot path that
executing aa path moves
that moves
single obstacle
over aa single with three
obstacle with joint-interpolated
three joint motions. Again,
-interpolated motions. Again, paths were checked
were checked
detector, with the
with the collision detector, the object links of
the links
and the
object and PUMA 560
of aa PUMA represented
robot represented
560 robot
hierarchy of
with aa hierarchy spheres. The
of spheres. used in
rule used
The rule shown was to
the path shown
generating the
in generating the
to raise the
payload until
payload it no longer
until it interferes with
longer interferes the obstacle
with the attempt to
and attempt
obstacle and move directly
to move to
directly to
the
the destination -interpolated motion
joint-interpolated
destination with joint another collision
until another
motion until collision is detected. The
is detected.
path in
path dimensional space
three dimensional
in three approximately one
requires approximately
space requires one minute
minute to generate with
to generate the
with the
system.
Preliminary results for for generating and using an
and using description for
Fspace description
an Fspace three links
for three of aa
links of
dimensional robot,
three dimensional
three specifically the
robot, specifically PUMA 560
the PUMA were also
robot, were
560 robot, obtained. The added
also obtained. added
complexity of the third dimension is
of the indicated by the
is indicated computation time
longer computation
the much longer requir-
time requir-
ed for determining
ed for Fspace. For
determining Fspace. For the first three
the first links of
three links PUMA 560
of aa PUMA robot with
560 robot single
with aa single
object
object in in its environment, generation of the
its environment, the Fspace approximately 20
required approximately
description required
Fspace description 20
minutes. For For the same problem
the same objects in
four objects
with four
problem with in the environment the
the environment time
computation time
the computation
increased to
increased approximately two
to approximately hours.
two hours. This increase in
This increase computing time
in computing time is partially
is partially
attributed to
attributed the fact
to the that the
fact that "garbage collector"
the "garbage necessary for
was necessary
collector" was for the test.
second test.
the second
The
The "garbage collector" is
"garbage collector" program which
LISP program
is aa LISP previously allocated
reclaims previously
which reclaims and
memory, and
allocated memory,
slows down program execution-
slows execution time considerably. An improvement may also be
possible if
possible the four
if the objects are
four objects are grouped together and
grouped together represented by
and represented sphere.
single sphere.
by aa single
This should reduce
This should computation time
reduce computation appreciably as
time appreciably many checks
as many will be
checks will be made the
with the
made with
sphere rather than
single sphere
single four.
than four. It should also
It should be noted
also be that the
noted that algorithms were
the algorithms not
were not
optimally and
coded optimally
coded computation time
and computation could be
time could Presently work on aa more
improved. Presently
be improved. effi-
more effi-
cient implementation of
cient implementation of the Fspace decomposition
the Fspace algorithm is
decomposition algorithm progressing.
is progressing. Figure 12
photographs of
shows photographs
shows of a PUMA 560 robot executing
560 robot generated by
path generated
executing aa path Fspace. The
searching Fspace.
by searching
initial and
initial configuration of
final configuration
and final the PUMA in
of the Figures 11
in Figures 11 andand 12 were the
12 were same.
the same. It is
It is
worth noting
worth that in this example, the
noting that generated from
path generated
the path Fspace is slightly
from Fspace slightly more
conservative than
conservative than that produced by the the generate and approach.
test approach.
and test
Conclusions and possible extensions
purposes of
For purposes
For of gross motion, conservative object
motion, conservative may be
representations may
object representations sufficient.
be sufficient.
For purposes of
For purposes of interference analysis, are the
spheres are
analysis, spheres shape in
geometrical shape
simplest geometrical
the simplest terms
in terms
of computational requirements.
of computational using a representation
requirements. Therefore using objects by
of objects
representation of hierarchy
by aa hierarchy
of
of spheres within the
spheres within solution of
the solution gross motion
of gross planning problems
motion planning appears to
problems appears very
be very
to be
effective.

A few observations and


few observations reflections on
and reflections on the solution by
-path solution
find-path
the find by Fspace representation
Fspace representation
are in
are order.
in order. disadvantage of an
A disadvantage an approach that uses
approach that representation is
Fspace representation
uses aa Fspace that
is that
Fspace is
Fspace payload and
is payload state dependent,
world state
and world obtaining an
while obtaining
dependent, while an Fspace representation is
Fspace representation is
the major
the major computational burden of
computational burden approach. If
the approach.
of the If a robot will be carrying aa variety
be carrying variety of
payloads, one can use the payload which is
payloads, the worst
is the case, in
worst case, of obtaining
terms of
in terms obtaining an Fspace
an Fspace

Vol. 579
SPIE Vol.
136 //SPIE IntelligentRobots
579 Intelligent andComputer
Robots and Computer Vision (1985)
Vision (1985)

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
representation,
representation, to
to avoid several Fspace
avoid generating several Fspace representations.
representations. The drawback of of this
this
approach
approach is that this
is that this Fspace
Fspace representation
representation may eliminate
eliminate paths
paths for
for smaller
smaller payloads.
payloads. AA
technique that
technique is being
that is being investigated
investigated attempts
attempts to
to modify
modify an
an existing
existing Fspace
Fspace representation
representation
when
when single
single objects
objects are
are added
added or removed from
or removed from the
the robot
robot environment.
environment. Hopefully such an
Hopefully such
approach will
approach will reduce the work required to
reduce the to regenerate aa complete
complete description
description ofof Fspace.
Fspace.
References
1.
1. Schwartz,
Schwartz, Jacob T. T. and Sharir,
and Sharir, Micha,
Micha f "On
"On the
the "piano
"piano movers"
movers" problem
problem I.
I. The
special case
special case of rigid polygonal
of a rigid polygonal body
body moving
moving amidst
amidst polygonal
polygonal barriers.
barriers.", Commun. Pure
", Commun.
Appl.
Appl. Math, Vol. 36,
Math, Vol. 36, pp
pp 345
345-398,
-398, Jan. 1983.
Jan. 1983.
2. Schwartz,
2. Schwartz, Jacob T. T. andand Sharir,
Sharir, Micha, "On the
Micha, "On the "piano movers"
movers" problem 2.2. General
techniques for
techniques for computing
computing topological
topological properties
properties of of real
real algebraic
algebraic manifolds.
manifolds.", Adv. Appl.
", Adv. Appl.
Math.,
Math., Vol. 4, No. 3,
Vol. 4, 3, pp.
pp. 298
298-351,
-351, Sept. 1983.
Sept. 1983.
3.
3. Brooks,
Brooks, Rodney A., A., "Solving
"Solving the
the find
find-path
-path problem
problem by
by good representation
representation ofof free
free
space",
space ", IEEEIEEE Trans.
Trans. Syst. Cybern., Vol.
Man Cybern., Vol. SMC
SMC-13, No. 3,
-13, No. 3, pp.
pp. 190
190-197, March/April
-197, March 1983.
/April 1983.
4.
4. Brooks, Rodney A., "Planning Collision Free Motions for Pick-and-Place Pick - and -Place
Operations",
Operations ",The The International
International Journal
Journal of of Robotics Research, Vol.
Robotics Research, Vol. 2, No. 4,
2, No. pp. 19
4, pp. 19-44,
-44,
Jan. 1983.
5.
5. Myers, J.K. and Agin, G.J., "A Supervisory Collision Avoidance Robot
Controllers",
Controllers ", Robotics
Robotics Research
Research and
and Advanced Applications. Winter
Advanced Applications. Winter Annual
Annual Meeting
Meeting of thethe
American SME.,
SMB., pp.pp. 225
225-232, Nov. 14
-232, Nov. 14-19, 1982.
-19, 1982.
6.
6. Lozano-Perez,
Lozano -Perez, Tomas, "An Algorithm for
"An Algorithm for Planning
Planning Collision
Collision-free paths Amongst
-free paths Amongst
Polyhedral Obstacles
Polyhedral Obstacles",", Communications
Communications of of the
the ACM (22) Vol.
ACM (22) Vol. 10, pp.
10, pp. 560560-570,
-570, Oct. 1979.
7. Lozano-Perez,
Lozano -Perez, Tomas,
Tomas, "Automatic
"Automatic planning manipulator transfer
planning of manipulator transfer Movements
Movements", IEEE
", IEEE
Trans. Man, Cybernetics
Systems, Man, Cybernetics SMC SMC-11, Vol. 10,
-11, Vol. 681-698,
10, pp 681 -698, Oct. 1981.
8. Lozano-perez,
Lozano- perez, Tomas, Planning:
Tomas, "Spatial Planning: A Configuration
Configuration Space
Space Approach
Approach",
", IEEE
Trans. on Comp.,Comp., Vol.
Vol. 32,
32, No.
No. 2,
2, pp.
pp. 108
108-120, Feb. 1983.
-120, Feb. 1983.
9.
9. Brooks, Rodney
Brooks, Rodney A. A. and Lozano-Perez,T.,
and Lozano -Perez,T., "A"A subdivision
subdivision algorithm
algorithm in in configuration
space for find find-path
-path with rotation",
rotation ", Proc. 8th Int. Joint Conf. Artificial Intell.
pp.799-806,
pp.799 1983.
-806, 1983.
10.
10. Gouzenes, L.,
Gouzenes, L., "Generation
"Generation of of Collision
Collision-free
-free trajectories
trajectories for for mobile and mani-
mobile and mani-
pulator robots",", IFAC
pulator robots IFAC Artificial
Artificial Intelligence,
Intelligence, Leningrad,
Leningrad, USSR 1983.
1983.
11. Gouzenes,
11. Gouzenes, L., L., "Strategies
"Strategies forfor Solving
Solving Collision
Collision-free
-free Trajectories Problems
Problems for
for
Mobile
Mobile andand Manipualtor
Manipualtor RobotsRobots",", The
The International
International Journal
Journal ofof Robotics Research, Vol.
Robotics Research, Vol. 3, 3,
No. 4, pp
No. 4, pp 51
51-65,
-65, Winter 1984.
Winter 1984.

SPIE
SPIE Vol.
Vol 579
579 Intelligent Robots
Robots and
and Computer
Computer Vision
Vision(1985)
(1985)// 137
137

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
a.a. rectangula
rectangular spheres
r object and spheres b.
b. hierarchy of spheres
of spheres

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)

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
Y

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

SPIE Intelligent Robots and Computer


Vol 579 Intelligent
SPIE Vol. Vision (1985)
Computer Vision 139
(1985)// 139

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
00 000000000
I I

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)

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use
11.
Figure 11.
Figure Puma executing
Puma safe path
executing safe 12.
Figure 12. safe path
Puma executing safe
by generate
determined by determined from Fspace
te st
and test repre sentation
representation

Vol 579 Intelligent Robots


SPIE Vol.
SPIE and Computer
Hobots and Vision(19851
Computer Vision 141
(1985)// 141

Downloaded From: https://www.spiedigitallibrary.org/conference-proceedings-of-spie on 12 Sep 2023


Terms of Use: https://www.spiedigitallibrary.org/terms-of-use

You might also like