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

86    MOTION PLANNING FOR A MOBILE ROBOT

           If point S happens to be on an obstacle boundary and the line (S, T ) crosses that
           obstacle, then D = d(H 1 ).
              According to our model, if MA’s path touches an obstacle tangentially, then
           MA needs not walk around it; it will simply continue its straight-line walk toward
           point T . In all other cases of meeting an ith obstacle, unless point T lies on
           an obstacle boundary, a relation d(H i )>d(L i ) holds. This is because, on the
           one hand, according to the model, any straight line (except a line that touches
           the obstacle tangentially) crosses the obstacle at least in two distinct points.
           This is simply a reflection of the finite “thickness” of obstacles. On the other
           hand, according to algorithm Bug1, point L i is the closest point from obstacle
           i to point T . Starting from L i , MA walks straight to point T until (if ever) it
           meets the (i + 1)th obstacle. Since, by the model, obstacles do not touch one
           another, then d(L i )>d(H i+1 ). Our sequence of distances, therefore, satisfies
           the relation

                     d(H 1 )>d(L 1 )>d(H 2 )>d(L 2 )>d(H 3 )> d(L 3 )...  (3.6)

           where d(H 1 ) is or is not equal to D.Since d(L i ) is the shortest distance from the
           ith obstacle to point T , and since (3.6) guarantees that algorithm Bug1 monoton-
           ically decreases the distances d(H i ) and d(L i ) to point T , Lemma 3.3.1 follows.
           Q.E.D.

              The important conclusion from Lemma 3.3.1 is that algorithm Bug1 guarantees
           to never create cycles.

           Corollary 3.3.1. Under Bug1, independent of the geometry of an obstacle, MA
           defines on it no more than one hit and no more than one leave point.

              To assess the algorithm’s performance—in particular, we will be interested
           in the upper bound on the length of paths that it generates—an assurance is
           needed that on its way to point T , MA can encounter only a finite number
           of obstacles. This is not obvious: While following the algorithm, MA may be
           “looking” at the target not only from different distances but also from different
           directions. That is, besides moving toward point T , it may also rotate around it
           (see Figure 3.3). Depending on the scene, this rotation may go first, say, clock-
           wise, then counterclockwise, then again clockwise, and so on. Hence we have
           the following lemma.

           Lemma 3.3.2. Under Bug1, on its way to the Target, MA can meet only a finite
           number of obstacles.

           Proof: Although, while walking around an obstacle, MA may sometimes be
           at distances much larger than D from point T (see Figure 3.3), the straight-
           line segments of its path toward the point T are always within the same circle
           of radius D centered at point T . This is guaranteed by inequality (3.6). Since,
   106   107   108   109   110   111   112   113   114   115   116