The navigation task is to reach a prescribed goal, even though no
environment map is given. It is assumed that the goal is expressed in
coordinates relative to the robot's initial position and orientation
(these are odometric coordinates). If the goal can only be
identified when the robot is on the goal tile, then searching is
required, which is covered next. As seen in Example 12.5,
the robot is not required to learn the whole environment to solve a
navigation problem. The search algorithms of Section 2.2
may be applied. For example, the method will find the optimal
route to the goal, and a reasonable heuristic underestimate of the
cost-to-go can be defined by assuming that all tiles are empty.
Although such a method will work, the reroute costs are not being
taken into account. Thus, the optimal path eventually computed by
may be meaningless unless other robots will later use this
information to reach the same goal in the same environment. For the
unfortunate robot that went first, a substantial amount of exploration
steps might have been wasted because
is not designed for
exploration during execution. Even though the search algorithms in
Section 2.2 assumed that the search graph was gradually
revealed during execution, as opposed to being given in advance, they
allow the current state in the search to jump around arbitrarily. In
the current setting, this would require teleporting the robot to
different parts of the environment. Section 12.3.2 covers a
navigation algorithm that extends Dijkstra's algorithm to work
correctly when the costs are discovered during execution. It can be
nicely applied to the grid-based navigation problem presented in this
section, even when the environment is initially unknown.
Steven M LaValle 2020-08-14