In Proceedings IEEE International Conference on Robotics and Automation, May 1994.
Optimal and Efficient Path Planning for Partially-Known Environments
Anthony Stentz
The Robotics Institute; Carnegie Mellon University; Pittsburgh, PA 15213
Abstract
The task of planning trajectories for a mobile robot has
received considerable attention in the research literature.
Most of the work assumes the robot has a complete and
accurate model of its environment before it begins to
move; less attention has been paid to the problem of
partially known environments. This situation occurs for
an exploratory robot or one that must move to a goal
location without the benefit of a floorplan or terrain map.
Existing approaches plan an initial path based on known
information and then modify the plan locally or replan the
entire path as the robot discovers obstacles with its
sensors, sacrificing optimality or computational efficiency
respectively. This paper introduces a new algorithm, D*,
capable of planning paths in unknown, partially known,
and changing environments in an efficient, optimal, and
complete manner.
1.0 Introduction
The research literature has addressed extensively the
motion planning problem for one or more robots moving
through a field of obstacles to a goal. Most of this work
assumes that the environment is completely known before
the robot begins its traverse (see Latombe [4] for a good
survey). The optimal algorithms in this literature search a
state space (e.g., visibility graph, grid cells) using the dis-
tance transform [2] or heuristics [8] to find the lowest cost
path from the robot’s start state to the goal state. Cost can
be defined to be distance travelled, energy expended, time
exposed to danger, etc.
Unfortunately, the robot may have partial or no
information about the environment before it begins its
traverse but is equipped with a sensor that is capable of
measuring the environment as it moves. One approach to
path planning in this scenario is to generate a “global”
path using the known information and then attempt to
“locally” circumvent obstacles on the route detected by
the sensors [1]. If the route is completely obstructed, a
new global path is planned. Lumelsky [7] initially assumes
the environment to be devoid of obstacles and moves the
robot directly toward the goal. If an obstacle obstructs the
path, the robot moves around the perimeter until the point
on the obstacle nearest the goal is found. The robot then
proceeds to move directly toward the goal again. Pirzadeh
[9] adopts a strategy whereby the robot wanders about the
environment until it discovers the goal. The robot
repeatedly moves to the adjacent location with lowest cost
and increments the cost of a location each time it visits it to
penalize later traverses of the same space. Korf [3] uses
initial map information to estimate the cost to the goal for
each state and efficiently updates it with backtracking costs
as the robot moves through the environment.
While these approaches are complete, they are also
suboptimal in the sense that they do not generate the
lowest cost path given the sensor information as it is
acquired and assuming all known, a priori information is
correct. It is possible to generate optimal behavior by
computing an optimal path from the known map
information, moving the robot along the path until either it
reaches the goal or its sensors detect a discrepancy
between the map and the environment, updating the map,
and then replanning a new optimal path from the robot’s
current location to the goal. Although this brute-force,
replanning approach is optimal, it can be grossly
inefficient, particularly in expansive environments where
the goal is far away and little map information exists.
Zelinsky [15] increases efficiency by using a quad-tree
[13] to represent free and obstacle space, thus reducing the
number of states to search in the planning space. For
natural terrain, however, the map can encode robot
traversability at each location ranging over a continuum,
thus rendering quad-trees inappropriate or suboptimal.
This paper presents a new algorithm for generating
optimal paths for a robot operating with a sensor and a map
of the environment. The map can be complete, empty, or
contain partial information about the environment. For