A Framework for Mobile Robot &= Uncertain

advertisement
From: AAAI Technical Report WS-98-02. Compilation copyright © 1998, AAAI (www.aaai.org). All rights reserved.
A Framework for Mobile Robot
Concurrent Path Planning &: Execution
in Incomplete &= Uncertain Environments
John S. Zelek
Engineering Systems & Computing,
School of Engineering, University of Guelph,
Guelph, ON, N1G 2Wl, Canada
e-marl: jzelek@uoguelph.ca
www:http://131.104.80.10/webfiles/zelek/
Abstract
Sensor-based discovery path planning is problematic
because the path needs to be continually recomputedas
new information is discovered. A process-based clientserver approach is presented that permits concurrent
sensor-based mapand localization-correction updates
as well as concurrent path computationand execution.
Laplace’sequation is constantly solved (i.e., a harmonic
function) by using an iteration kernel convolved with
an occupancy-grid representation of the current free
space. The path produced (i.e., by steepest gradient
descent on the harmonic function) is optimal in the
sense of minimizingthe distance to the goal as well as
a hitting probability. This helps alleviate the influence
of uncertainty on path planning. Aninitial heuristic
estimate provides the path planner with instantaneous
response(i.e., reactive), but with somedeliberationit
able to produce optimal paths. In addition, the computation time for generating the path is insignificant provided that the harmonic function has converged. On
a regular grid, the computationof the harmonicfunction is linear in the total numberof grid elements. A
quad-tree representation is used to minimizethe computation time by reducing the numberof grid elements
and minimallyrepresenting large spaces void of obstacles and goals.
Introduction
Sensor-based discover path planning is the guidance of
an agent - a robot - without a complete a priori map,
by discovering and negotiating with the environment so
as to reach a goal location while avoiding all encountered obstacles. A robot must not only be able to create
and execute plans, but must be willing to interrupt or
abandon a plan when circumstances demand it. In traditional AI planning, a smart planning phase constructs
a plan which is carried out in a mechanical fashion by
a dumb executive phase. The use of plans regularly
involves rearrangement, interpolation, disambiguation,
and substitution of map information. Real situations
are characteristically
complex, uncertain, and immediate. These situations require that the planning and the
execution phases function in parMlel, as opposed to the
serial ordering found in traditional AI planning.
Path planning can be categorized as either being
static or dynamic, depending on the mode of available
information (Hwang& Ahuja 1992). st atic path pl anning strategy is used when all the information about the
obstacles is knowna priori. Most path planning methods are static. Dynamicpath planning is also referred
to as being discovery and on-line planning (Halperin,
Kavraki, & Latombe 1997). In this problem space, the
workspace is initially unknownor partially known. As
the robot moves, it acquires new partial information via
its sensors. The motion plan is generated using partial
information that is available and is updated as new information is acquired. Typically this requires an initial
planning sequence and subsequent re-planning as new
information is acquired.
A path planning framework has been proposed and
implemented as part of the SPOTTmobile robot control architecture (Zelek 1996). Within SPOTT’sframework there are two concurrently executing planning
modules. Planning is defined along a natural division:
(1) local, high resolution, and quick response, versus (2)
global, low resolution, and slower response. The local
planning module executes a path based on what is currently known about the environment as encoded in an
occupancygrid (Elfes 1987). A potential field technique
using harmonic functions is used, which are guaranteed
to have no spurious local minima (Connolly & Grupen
1993). A harmonic function is the solution to Laplace’s
equation. Any path - determined by performing gradient descent - has the desirable property that if there is
a path to the goal, the path will arrive there (Doyle
Snell 1984). In addition, the steepest descent gradient
path is also optimal in the sense that it is the minimumprobability of hitting obstacles while minimizing
the traversed distance to a goal location (Doyle & Snell
1984). This optimality condition permits modeling uncertainty with an error tolerance (i.e., obstacle’s position and size, robot’s position) provided that the robot
is frequently localized and obstacle positions and size
are validated via sensor information.
The computation of the harmonic function is expensive, being linear in the numberof grid points. The presented technique is a complete algorithm (i.e., also referred to as exact algorithm): guaranteed to find a path
between two configurations if it exists. A complete algo-
rithm usually requires exponential time in the number
of degrees-of-freedom (Halperin, Kavraki, & Latombe
1997). The approach is confined to a 2D workspace,
with the emphasis being on obtaining real-time 1 performance in this dimensional space with future prospects
of adaptation to higher dimensionalities.
A client-server process model is used to concurrently
compute the potential field (i.e., compute the potential
paths to the goal) and execute the path. The global
planning module uses a search algorithm (i.e., Dijkstra’s algorithm) on a graph structure representation
of the map. The role of the global planning module is
to provide global information to the local path planner. This is necessary because the spatial extent of the
local path planner is limited due to its computational
requirements increasing proportionally with the number of grid elements.
A typical operational scenario within SPOTT(Zelek
1996) can be presented in the following manner. The
goal specification is given as input by the user. If an
a priori CADmap exists, it is loaded into the map
database. The role of the control programs (i.e., behavioral controller) is to provide the local path planner
(i.e., potential field) with the necessary sensor-based
information for computation, such as obstacle configurations, current robot position, subgoals if necessary, in
addition to performing reactive control. The behavioral
controller continually computes mapping and localization information by processing sensor data. As the path
is being computed, another module is responsible for
concurrently performing steepest gradient descent on
the potential function in order to determine the local
trajectory for the robot.
Background
A type of heuristic algorithm for performing dynamic
path planning is the potential field technique (Khatib
1986). This technique offers speedup in performance
but cannot offer any performance guarantee. In addition, these algorithms typically get stuck in local minima. Techniques have been devised for escaping these
local minima such as the randomized path planner (Barraquand & Latombe 1991) which escapes a local minimumby executing random walks at a cost of computational efficiency.
A complete algorithm for performing dynamic path
planning is the D* algorithm (Stentz 1995). D* (i.e.,
dynamic A*) performs the A* algorithm initially on the
entire workspace. As new information is discovered, the
algorithm incrementally repairs the necessary components of the path. This algorithm computes the shortest distance path to the goal with the information given
at any particular time. One problem with the D* algorithm is that no allowances are made for uncertainty in
the sensed obstacles and position of the robot.
1Real-time is defined as responding to environmental
stimuli faster than events change in the environment.
An approach that approximates being a complete
algorithm is probabilistic planning (Barraquand et al.
to appear). Probabilistic planning is generally used
for multi-link manipulators and when the configuration space has more than five degrees of freedom. In
this approach, the first step is to efficiently sample the
configuration space at random and retain the free configurations as milestones. The next step checks if each
milestone can be circumvented by a collision free path,
producing a probabilistic
roadmap. A harmonic function can be computed using the milestones as grid elements. It is argued in this paper that a quad-tree representation can permit the use of a complete approach
without resorting to probabilistic techniques even if it
is just for 2Dplanning.
Local
Path Planning
SPOTT’slocal path planner is based on a potential field
method using harmonic functions, which are guaranteed
to have no spurious local minima (Connolly & Grupen
1993). A harmonic function on a domain f~ C R’* is
function which satisfies Laplace’s equation:
V2¢=
Z~_I
(~2¢
-- 0
(1)
The value of ¢ is given on a closed domainf~ in the configuration space C. A harmonic function satisfies the
MaximumPrinciple 2 and Uniqueness Principle a (Doyle
& Snell 1984). The MaximumPrinciple guarantees that
there are no local minima in the harmonic function.
Iterative applications of a finite difference operator
are used to compute the harmonic function because it
is sufficient to only consider the exact solution at a finite numberof mesh points 4. In addition, gradients for
path computation are solicited during the iterative computation without concern for obstacle collision 5. Linear
interpolation is used to approximate gradients whenthe
position of the robot is in between mesh points. The
obstacles and grid boundary form boundary conditions
(i.e., Dirichlet boundaryconditions are used) and in the
free space the harmonic function is computed using an
iteration kernel, which is formed by taking advantage
of the harmonic function’s inherent averaging property,
where a point is the average of its neighboring points. A
five-point iteration kernel (Hornbeck 1975) for solving
Laplace’s equation is given as follows:
1
U i÷l,j
Ui,j = -~(
"Jr Vi-l,j
J¢- Ui,jq-1
+ Ui,j-1)
(2)
2A harmonic function f(x,y) defined on f~ takes on
its maximumvalue Mand its minimumvalue m on the
boundary.
aIf f(x, y) and g(x, y) are harmonicfunctions on f~ such
that f(x, y) = g(x, forall boundary points, then f(x, y) =
g(x, y) for all x, y.
4As opposedto finite element methodswhich computean
approximationof an exact solution by continuous piecewise
polynomial functions.
5Obstacles are not in the free space and are not valid
positions for the robot.
A more accurate nine-point iteration kernel can also be
used (van de Vooren & Vliegenthart 1967):
1
tr~,~ = ~(U~+l,j
+ g~_l,~+ U~,j+l+U~,~-~)
+N(U~+Id+I+ Ui-l,~+l
+ Ui-l,~-i
+ Ui+~,~-l)
(3)
The computation of the harmonic function can be formulated with two different types of boundary conditions. The Dirichlet boundary condition 8 is where u
is given at each point of the boundary. The Neumann
eu the normal compoboundary condition is where ?-~,
nent of the gradient of u, is given at each point of the
boundary. In order to have flow, there has to be a
source and a sink. Thus, the boundary of the mesh
is modeled as a source, and the boundary of the goal
model is modeled as a sink. The boundaries of the obstacles are modeled according to the type of boundary
condition chosen: Dirichlet or Neumann. The path determined by performing steepest gradient descent on
a harmonic function using Dirichlet boundary conditions - is also optimal in the sense that it is the minimumprobability of hitting obstacles while minimizing the traversed distance to a goal location (Doyle
Snell 1984). Neumannboundary conditions cause such
a path to graze obstacle boundaries. This optimality
condition permits modeling uncertainty with an error
tolerance (i.e., obstacle’s position and size, robot’s position) provided that the robot is frequently localized
using sensor data. The robot is modeled as a point but
all obstacles are compensated for the size of the robot
in addition to an uncertainty tolerance 7. The computation of the harmonic function is performed over an
occupancy grid representation of the local map. The
computation of the harmonic function is executed as a
separate process from the path executioner. In order to
reduce the numberof iterations to be linear in the the
number of grid points, "Methods-of-Relaxation" (Ames
1992) techniques such as Gauss-Seidel iteration with
Successive Over-Relaxation, combined with the "Alternating Direction" (ADI) method were used. A local
windowis used for computingthe potential field to further limit the computation time, and because of the
rapid decay of the harmonic function, especially in in
narrow corridors s. A global path planner (discussed
later) provides information about goals outside the local bounds. The process computing the iteration kernels and servicing requests from the executioner and
sensor updates uses the following algorithm:
2. If the goal is outside the boundsof the potential field,
project the goal onto the border.
3. Loop2:
(a) Computean averaging iteration kernel over the entire
grid space.
(b) Poll to see if a newrobotpositionestimateis available.
If so, correct the accumulatederror.
(c) Poll to see if any newlysensed data is available. If so,
update the map.
(d) Updatethe robot’s position basedon the odometersensor.
(e) Poll to see if the execution process modulerequests a
newsteering direction for the robot. If so, computeit
by calculating the steepest descent gradient vector at
the current estimate of the robot’s position.
(f) If the robot is near the edge of the border of the potential field window,movethe windowso that the robot
is at the center andgo to Loop1, else go to Loop2.
This computation has the desirable property that
map features can be added or subtracted dynamically
(i.e., as they are sensed) alongside with the correction
of the robot’s position. In addition, these events are
independent of the computation and the execution of
the path.
Pot~mt~l
FieldContour
Display
2
4
6
10
XaXI=
12
14
16
18
Figure 1:
Equal-potential contours, of a computation converging
towards
the harmonic
functionsolution. A
pathexecuted
at this instance
shows
some
irregularitiesfrom
a smooth
curve.Afterconvergence,
the pathis smooth,
albeit
at theresolution
of thediscretization.
1. Loop1: Loadinitial mapif available.
8This inherently makes all applicable boundary points
into sources (i.e., in terms of sources and sinks for modeling
liquid flow).
7This mayappear to be heuristic, but it is based on not
permitting the robot’s position error to grow beyonda certain fixed limit (i.e., by re-localizing).
SOna thirty-two bit computer, the harmonic function
can only be accurately represented whenthe length-to-width
ratio for a narrowcorridor is less than 7.1 to 1 (Zelek 1996).
Another approach to speed up performance is to provide an initial guess to the solution, namelythe heuristic potential field (Khatib 1986). This makes the local
path planner an iterative-refinement
anytime approach
(Zilberstein 1996) where after a short period after
map change, response is reactive but not optimal or
guaranteed; and after convergence is achieved, response
is optimal (see Figure 1). Achieving fast convergence
will not necessarily be possible or realistic if the path
planning is done in more dimensions than two. A possible approach to take in this scenario is to extend the
approach to include probabilistic planning (Barraquand
et al. to appear).
There is no need to compute the harmonic function
at a fine grid sampling over the local windowespecially
in large open spaces that are void of any obstacle or goal
models. The most efficient irregular grid sampling to
implement on a computer is the quad-tree representation. Pyramids and quad-trees are a popular data structure in both graphics and image processing (Pavlidis
1982) and are best used when the dimensions of the
matrix can be recursively evenly subdivided until one
grid point represents the entire image. Approximately
33%more nodes are required to represent the image but
usually the algorithm will be a lot faster, especially if
there are large open spaces. Quad-trees have also been
previously used for path planning (Chen, Szczerba,
Uhran 1997). Most approaches have usually applied
the A* search strategy to find the shortest distance between two points but application of A* in a quad-tree
representation does not necessarily produce the shortest distance path. This problem was overcome by making a slight modification to the quad-tree representation by using a framed-quad-tree representation (Chen,
Szczerba, & Uhran 1997).
Computing the harmonic function with a quad-tree
representation bears some resemblance to the multi-grid
methods (Ames 1992) for computing solutions to differential equations with the slight difference that in this
approach there is no need to compute all of the grid
locations at their highest resolution. To take into account the irregular grid spacing in the quad configuration, the iteration kernel is redeveloped from basic
principles (i.e., Taylor series expansionresulting in forward and difference equations) and can be rewritten as
follows (given that hr is the distance from Ui,j to Ui+ld,
h~ is the distance from Uij to Ui-ld, kd is the distance
from Ui,j to Ui,j-1, and k~ is the distance from Ui,j to
Ui5+1) (see Figure 2a):
Uid =
kdkt(htUi+l,~+h,~Ui_ld)+h,.htlktUi,i+l+kdUi,i_l) (4)
kdk~(h,.+hz)+h,~ht(kt+kd)
An alternative method of deriving the iteration kernel
for non-uniform grid sampling is to analyze the grid
network as a resistor network (Doyle & Snell 1984) and
to also draw this interpretation
into the language of
a random walker on a collection of grid points. The
distances between grid points are resistor values and
the voltage to the circuit is applied across the obstacle
and goal locations. The interpretation of the voltage in
terms of a random walker is (Doyle & Snell 1984):
Whena unit voltage is applied betweena (i.e, obstacles)
and b (i.e., goal(s)), makingva = 1 Vb =0, the volta ge
v~ at any point x represents the probability that a walker
starting from x will return to a before reaching b.
Steepest gradient descent on the collection of voltage
points corresponds to minimizing the hitting probabil-
ity. An interpretation of the current in terms of a randomwalk can be given as follows (Doyle & Snell 1984):
Whena unit current flows into a andout of b, the current
i~ flowing throughthe branchconnecting x to y is equal
to the expected numberof times that a walker, starting at
a and walking until he(she) reaches b, will movealong the
branch from x to y.
Figure 2a illustrates the resistor circuit equivalent
used to derive Equation 4. The equation was derived
by applying Kirchoff’s Current Law9. Figure 2b illustrates that this method can be applied to any irregular
grid configuration; for example, the sampled configuration space used in probabilistic planning (Barraquand
et al. to appear). For any irregular grid sampling, the
iteration kernel can be rewritten as shown in Equation
5, where Un are neighboring points to Ui,j, Rn distance
away.
Z:n=d
n------d
(5)
~ ~n=d R,,~
R,, ~ A..,n=--d
U1
Un+l
Ui,j
Figure 2: Resistor Circuit Equivalent. (a) The resistor circuit equivalent
usedto deriveEquation
4. (b) This
method
canbeappliedto anyirregulargrid sampling
by applying Kirchoff’sCurrent
Lawandequating
resistorvalueswith
the corresponding
distancevalues(seeEquation
5).
Again, linear interpolation is used to approximate
gradients when the position of the robot is in between
grid points. This introduces some error in the minimal
hitting path but the benefit in significantly less computations provides adequate justification for this trade-off.
In addition, the introduced error has minimal effect in
increasing the chance of collision because the error is in
the large grid locations which are void of obstacles and
goals (see Figure 3). The quad-tree representation for
a particular configuration (see Figure 3) resulted in
thirty-six-fold savings in computational time in achieving convergence.
9Kirchoff’s Current Lawsays that the total currentflowing into any point other than the points wherethe voltage
is appliedacross(i.e., a or b) is 0. Current(i.e., I) is calculated as ~
where ~ and 1~ are the voltages on either
Rij
side of the resistor Rij.
Potential
FieldContour
Display
2
4
6
8
10
X axis
12
14
16
18
Figure 5: Floor Plan as Graph. The graph shows a
partial section of the CAD
mapin Figure4.
Figure3: Path for Quad Representation.
The quad
interpolated
path(dotted)
differs
slightly
fromthepathproduced
on a regular-spaced
grid.
Global Path Planning
Theglobalplanning
moduleperforms
search(i.e.,deliberation)
usingDijkstra’s
algorithm
(Aho,Hopcroft,
& Ullman1983)througha graphstructureof nodes
and arcs(seeFigure4 and 5). Thisis onlypossible if a CAD map is available
a priori.Automating
the creationof the graphmap fromthe CAD map and
the creation
of a CAD mapfromsensordataareboth
leftasfuture
research
endeavors.
Initially
itis assumed
thatalldoorsareopenuntilthisassumption
is refuted
by sensordata.A graphabstraction
of the CAD map
is obtainedby assigning
nodesto roomsand hallway
portions
andedgesto theaccess
ways(i.e.,doors)
betweennodes.The globalgraphplannerdetermines
a
pathbasedon startandstopnodesdefined
by thecurrentlocation
anddesired
destination
of therobot.If
thecurrent
goalis outside
theextent
ofthelocalpath
planner, then the global path planner projects the goal
onto the local map’s border as follows:
:i:i:i i:i~iiiiiiiiiii
Figure 4: CADmap of the first floor of the School of
Engineering.Theaccompanying
graphmapis in Figure 5.
45
Let pg = (Xg, yg) define the position of the goal in an
anchored x-y spatial coordinate system (i.e., SPOTT’sexperiments used cm. as a unit of measure). Let pr = (xr, yr)
define the current position of the robot. The local mapis a
collection of grids (i.e., nodes) but the references into this
grid are always continuous rather than discrete. For example, the gradient at a particular position is calculated by
interpolating amongstthe neighboring grid elements. Let
nr be the node in the global map where the robot is located (i.e., pr) and ng be the nodewherethe goal is located
(i.e., pg). Let bpf = ((xl,yl), (x2,y2)) define the top-left
and bottom-right points designating the spatial extent of
the potential field. Bydefinition, initially p, is in the center of the region defined by bp/. The global path produced
by the global path planner is given in the following form:
< n,.,e~,nj, ...,nm-l,et-l,n,~,ez,ng >. The following isthe
algorithm (see Figure 6) for projecting the global goal onto
the border of the potential field:
1. If pg is within bp/, and n# is the same as n~ then do
nothing.
2. If Pa is within n~ and pg is not within bp/, then the goal
is projected onto the portion of the side of bp/ that is
entirely contained within nr.
3. Let e~ be the first edgewithin the global path (i.e., moving fromn~ towards ng) that is not completelywithin bp/.
Let p~ be the intersection of bp/with the line connecting
the center of the edge ea with the center of the node(i.e.,
n~) last traversed before reaching that edge. The goal is
projected onto the portion of the side of bp/that contains
both the node nk and the point p~.
In each of the three cases there are situations where
the goal will not be reachable. In the third case, the goal
will not be reachable if a doorwayis closed or a node
is blocked by an obstacle. In this case, the global path
planner replans the global path. In the first two cases,
the goal may not be reachable within the spatial extent
of the potential field due to newly discovered obstacles,
but the goal may actually be physically reachable. The
easiest wayto deal with this situation is to makethe size
1)
harmonic function (i.e., for path planning). The results are encouraging for continued use of the described
client-server process model for real-time motion control of a mobile robot. Actual deployment of this technique requires satisfying the assumption that adequate
perceptual routines are available (i.e., based on sonar,
range, and vision sensors) or developed. The presented
technique also appears adaptable for use in path planning using the probabilistic
planning methodology by
using the sampled configuration space as grid elements.
3)
2)
Future Issues
Future work includes addressing the representation of
movingobstacles and goals, sensor fusion, as well as an
extension to a multi-dimensional configuration space.
An occupancy grid representation simplifies the sensor fusion problem (Elfes 1987) at the expense of limiting accuracy to the grid’s resolution. With the foresight
of potentially including map building capabilities into
the SPOTTarchitecture (i.e., the architecture in which
the presented path planning method has been tested),
an equivalent vector representation of the occupancy
grid is maintained and cross-referenced (at the expense
of complicating sensor fusion). In addition, the associated vectors (i.e., typically range line segments) may
not directly correspond to physical objects. Addressing
the issue of sensor fusion within the given framework
(if detailed mapbuilding functionality is required) may
be difficult because fusing data together will typically
take away computation time from the main processing
loop in which the harmonic function is computed.
A similar problem may hold for updating moving grid
elements. Typically a collection of grid elements will
move together as a rigid body. In order to limit the
affect of updating movingobstacles has on the iterative
computation, certain courses of action such as limiting
the refresh rate of moving obstacles and how manyobstacles can move are possible avenues of exploration.
This assumes that adequate perceptual capabilities are
present so as to update and predict obstacle (mid potentially goals for tracking) trajectories.
[]
nr~nl, ngln2,
gtobai path - nl,n3,n4,n5,n;
Figure 6: Projecting Global Goal onto Local Limits.
Thethree cases as presentedby the algorithmin the text are
presented.Theshadedarea corresponds
to the extent of the
local path planner: 6pf. Thethick line corresponds
to the
projectionof the goalonto the local path planner’sborders.
Thethin lines representwall features. In (1), the goal and
robotare in the same
nodeandbpf. In (2), the robot andgoal
are in the samenodebut not the same6pf. (3) is the most
generalcase.
of the potential field such that the node is completely
within the potential field’s spatial extent.
Discussion
Experiments were performed using a Nomadics 200 mobile robot. The map was updated with sonar (and laser)
range lines at a regular frequency. The sonar range
lines were produced by fusing sonar data points and
removing outliers (Mackenzie & Dudek 1994). It was
found that the sensing range of the sensors (i.e., approximately 5 m) permitted the robot to move at speeds up
to 50 cm/sec. By this time the harmonic function had
converged and the path was optimal.
In addition, it was found that in highly structured environments (e.g., narrow hallways) it is computationally
advantageous to use just behavioral rules for navigation
(e.g., moveforwards and stay centered in the hallway)
as opposed to requiring the full computational power
of the local path planner. Typically if an obstacle is
discovered in a narrow hallway, the hallway is blocked
from passage and a new global path needs to be recomputed, thus negating the need for the local path planner
(i.e., the obstacle cannot be circumvented anyways, the
hallway is blocked).
The technique provides a viable method for concurrently computing and executing the path for a mobile
robot, as well as mappingand localizing the robot via
sensor information at the same time. A significant reduction in required computational time was achieved by
using the quad-tree representation for computing the
References
Aho, A. V.; Hopcroft, J. E.; and Ullman, J. D. 1983. Data
Structures and Algorithms. Addison-Wesley
Publishing Co.
Ames, W. F. 1992. Numerical Methods for Partial Di~erential Equations. AcademicPress Inc.
Barraquand, J., and Latombe, J.-C. 1991. Robot motion
planning: A distributed representation approach. International Journal of Robotics Research10:628-649.
Barraquand, J.; Kavraki, L.; Latombe, J.; Li, T.; Motwani, R.; and Raghavan, P. to appear. A random sampling schemefor path planning. International Journal o]
Robotics Research.
Chen, D. Z.; Szczerba, R. J.; and Uhran, J. J. 1997. A
framed-quadtreeapproach for determining euclidean shortest paths in a 2-d environment. IEEE Transactions on
Robotics and Automation 13(5):668-681.
46
Connolly, C. I., and Grupen, R. A. 1993. On the applications of harmonic functions to robotics. Journal of Robotic
Systems 10(7):931-946.
Doyle, P. G., and Snell, J. L. 1984. Random Walks and
Electric Networks. The Mathematical Association of America.
Elfes, A. 1987. Sonar-based real-world mapping and navigation. IEEE Journal of Robotics and Automation 3:249265.
Halperin, D.; Kavraki, L.; and Latombe, J.-C. 1997.
Robotics. Boca Raton, FL: CRCPress. chapter 41, 755778.
Hornbeck, R. W. 1975. Numerical Methods. Quantum
Publishers Inc.
Hwang, Y. K., and Ahuja, N. 1992. Gross motion planning
- a survey. ACMComputing Surveys 24(3):220-291.
Khatib, O. 1986. Real-time obstacle avoidance for manipulators and mobile robots. The International Journal of
Robotics Research 5(1):90-98.
Mackenzie, P., and Dudek, G. 1994. Precise positioning
using model-based maps. In IEEE International
Conference on Robotics and Automation, volume 2. San Diego,
CA: IEEE. 11615-1621.
Pavlidis,
T. 1982. Algorithms for Graphics and Image
Procesiing. Computer Science Press.
Stentz, A. 1995. The focussed d* algorithm for real-time
replanning. In Proceedings of the International Joint Conference on Artificial Intelligence.
van de Vooren, A., and Vliegenthart,
A. 1967. On the
9-point difference formula for laplace’s equation. Journal
of Engineering Mathematics 1(3):187-202.
Zelek, J. S. 1996. SPOTT: A Real-time Distributed and
Scalable Architecture for Autonomous Mobile Robot Control. Ph.D. Dissertation, McGill University, Dept. of Electrical Engineering.
Zilberstein, S. 1996. Using anytime algorithms in intelligent systems. Artificial Intelligence Magazine 73-83.
47
Download