Page 386 - Introduction to AI Robotics
P. 386

10.6 Interleaving Path Planning and Reactive Execution
                                                                        y for non-holonomic robots, because
                                      <     50.5. There is no common heuristic                <       369
                                      the maneuverability of each platform is different. A more vexing aspect of
                                      subgoal obsession is when the goal is blocked and the robot can’t reach the
                                      terminating condition. For example, consider a subgoal at the opposite end
                                      of a hall from a robot, but the hall is blocked and there is no way around.
                                      Because the robot is executing reactively, it doesn’t necessarily realize that it
                                      isn’t making progress. One solution is for the Sequencer to estimate a maxi-
                                      mum allowable time for the robot to reach the goal. This can be implemented
                                      either as a parameter on the behavior (terminate with an error code after n
                                      seconds), or as an internal state releaser. The advantage of the latter solu-
                                      tion is that the code can become part of a monitor, leading to some form of
                                      self-awareness.
                                        Related to subgoal obsession is the fact that reactive execution of plans
                                      often lacks opportunistic improvements. Suppose that the robot is heading
                                      for Subgoal 2, when an unmodeled obstacle diverts the robot from its in-
                                      tended path. Now suppose that from its new position, the robot can perceive
                                      Subgoal 3. In a classic implementation, the robot would not be looking for
                                      Subgoal 3, so it would continue to move to Subgoal 2 even though it would
                                      be more optimal to head straight for Subgoal 3.
                                        The need to opportunistically replan also arises when an a priori map turns
                                      out to be incorrect. What happens when the robot discovers it is being sent
                                      through a patch of muddy ground? Trying to reactively navigate around
                                      the mud patch seems unintelligent because choosing left or right may have
                                      serious consequences. Instead the robot should return control to the Car-
                                      tographer, which will update its map and replan. The issue becomes how
                                      does a robot know it has deviated too far from its intended path and needs
                                      to replan?
                                        Two different types of planners address the problems of subgoal obses-
                        D* ALGORITHM  sion and replanning: the D* algorithm developed by Tony Stentz 136  which is
                                      a variant of the A* replanning algorithm, and an extension to the Trulla al-
                                      gorithm. Both planners begin with an a priori map and compute the optimal
                                      path from every location to the goal. D* does it by executing an A* search
                                      from each possible location to the goal in advance; this converts A* from be-
                                      ing a single-source shortest path algorithm into an all-paths algorithm. This
                                      is computationally expensive and time-consuming, but that isn’t a problem
                                      since the paths are computed when the robot starts the mission and is sitting
                                      still. Since Trulla is a wavefront type of planner, it generates the optimal path
                                      between all pairs of points in Cspace as a side effect of computing the path
                                      from the starting location to the goal.
   381   382   383   384   385   386   387   388   389   390   391