Page 135 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 135

110    MOTION PLANNING FOR A MOBILE ROBOT

           Test for Target Reachability. If, after having defined the last hit point as its
           intermediate target, the robot returns to it before it defines the next hit point,
           then either the robot or the target point is trapped and hence the target is not
           reachable. (For more detail, see the corresponding text for algorithm Bug2.)

              The following notation is used in the rest of this section:

              • C i and T i are the robot’s position and intermediate target at step i.
              • |AB| is the straight-line segment whose endpoints are A and B; it may also
                designate the length of this segment.
              • (AB) is the obstacle boundary segment whose endpoints are A and B,or
                the length of this segment.
              • [AB] is the path segment between points A and B that would be generated
                by algorithm Bug2, or the length of this path segment.
              • {AB} is the path segment between points A and B that would be generated
                by algorithm VisBug-21 or VisBug-22, or the length of this path segment.

              It will be evident from the context whether a given notation is referring to a
           segment or its length. When more than one segment appears between points A
           and B, the context will resolve the ambiguity.


           3.6.2 Algorithm VisBug-21
           The algorithm consists of the Main body, which does the motion planning proper,
           and a procedure called Compute T i -21, which produces the next intermediate
           target T i and includes the test for target reachability. As we will see, typically the
           flow of action in the main body is confined to its step S1. Step S2 is executed only
           in the special case when the robot is moving along a (locally) convex obstacle
           boundary and so it cannot use its vision to define the next intermediate target T i .
           For reasons that will become clear later, the algorithm distinguishes between the
           case when point T i lies in the main semiplane and the case when T i lies in the
           secondary semiplane. Initially, C = T i = S.

           Main Body. The procedure is executed at each point of the continuous path. It
           includes the following steps:

              • S1: Move toward point T i while executing Compute T i -21 and performing
                the following test:
                If C = T the procedure stops.
                Else if Target is unreachable the procedure stops.
                Else if C = T i go to step S2.
              • S2: Move along the obstacle boundary while executing Compute T i -21 and
                performing the following test:
                If C = T the procedure stops.
   130   131   132   133   134   135   136   137   138   139   140