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

88    MOTION PLANNING FOR A MOBILE ROBOT

           Proof: Any path generated by algorithm Bug1 can be looked at as consisting
           of two parts: (a) straight-line segments of the path while walking in free space
           between obstacles and (b) path segments when walking around obstacles. Due
           to inequality (3.6), the sum of the straight-line segments will never exceed D.
           As to path segments around obstacles, algorithm Bug1 requires that in order to
           define a leave point on the ith obstacle, MA has to first make a “full circle”
           along its boundary. This produces a path segment equal to one perimeter, p i ,of
           the ith obstacle, with its end at the hit point. By the time MA has completed
           this circle and is ready to walk again around the ith obstacles from the hit to the
           leave point, in order to then depart for point T , the procedure prescribes it to go
           along the shortest path. By then, MA knows the direction (going left or going
           right) of the shorter path to the leave point. Therefore, its path segment between
           the hit and leave points along the ith obstacle boundary will not exceed 0.5 · p i .
           Summing up the estimates for straight-line segments of the path and segments
           around the obstacles met by MA on its way to point T , obtain (3.7). Q.E.D.

              Further analysis of algorithm Bug1 shows that our model’s requirement that
           MA knows its own coordinates at all times can be eased. It suffices if MA knows
           only its distance to and direction toward the target T . This information would
           allow it to position itself at the circle of a given radius centered at T . Assume
           that instead of coordinates of the current point Q m of minimum distance between
           the obstacle and T , we store in register R 1 the minimum distance itself. Then
           in Step 3 of the algorithm, MA can reach point Q m by comparing its current
           distance to the target with the content of register R 1 . If more than one point of
           the current obstacle lie at the minimum distance from point T , any one of them
           can be used as the leave point, without affecting the algorithm’s convergence.
              In practice, this reformulated requirement may widen the variety of sensors the
           robot can use. For example, if the target sends out, equally in all directions, a low-
           frequency radio signal, a radio detector on the robot can (a) determine the direc-
           tion on the target as one from which the signal is maximum and (b) determine
           the distance to it from the signal amplitude.

           Test for Target Reachability. The test for target reachability used in algorithm
           Big1 is designed as follows. Every time MA completes its exploration of a new
           obstacle i, it defines on it a leave point L i . Then MA leaves the ith obstacle at
           L i and starts toward the target T along the straight line (L i ,T ). According to
           Lemma 3.3.1, MA will never return again to the ith obstacle. Since point L i is
           by definition the closest point of obstacle i to point T , there will be no parts of
           the obstacle i between points L i and T . Because, by the model, obstacles do not
           touch each other, point L i cannot belong to any other obstacle but i. Therefore,
           if, after having arrived at L i in Step 3 of the algorithm, MA discovers that the
           straight line (L i ,T ) crosses some obstacle at the leave point L i , this can only
           mean that this is the ith obstacle and hence target T is not reachable—either
           point S or point T is trapped inside the ith obstacle.
              To show that this is true, let O be a simple closed curve; let X be some point
           in the scene that does not belong to O;let L be the point on O closest to X;
   108   109   110   111   112   113   114   115   116   117   118