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

MINIMUM TIME STRATEGY  171

                  Section 3.6), which computes the next intermediate target T i+1 so as to
                  guarantee the global convergence, and also performs the test for target
                  reachability.

              As before, S is the starting point, T —the robot target position; at step i, C i
            is the robot’s current position, vector V i —the current velocity vector. Initially,
            i = 0,C i = T i = S.

            Procedure Main Body. At each step i:

              If C i = T , stop.
              Find T i from Compute T i .
              If T is found unreachable, stop.
              If T i is visible, find C i+1 from Define Next Step; make a step toward C i+1 ;
                 iterate; else,
              Use Find Lost Target to produce T i visible; iterate.

            Procedure Define Next Step. This procedure consists of two steps:

              S1: Find the canonical solution (the switch curves and controls (p, q)) using
                  Eqs. (4.16), (4.17), and (4.18). If it is  -acceptable, exit; else go to S2.
              S2: Find the near-canonical solution as in Section 4.3.5; exit.

            Procedure Find Lost Target. This procedure is executed when T i becomes invis-
            ible. The last position C i where T i was visible is then stored until T i becomes
            visible again. Various heuristics can be used here as long as convergence is pre-
            served. One simple strategy would be to come to a halt using a stopping path,
            then come back to C i with zero velocity, and then move directly toward T i .This
            may add stops that could be avoided. The procedure chosen below is somewhat
            smarter in that the robot does not stop unnecessarily: If the robot loses T i ,it
                                                                     t
            keeps moving ahead while defining temporary intermediate targets T on the vis-
                                                                    i
            ible part of the line segment (C i ,T i ) and continues looking for T i .If itlocates
            T i , it turns directly toward it without stopping (Figure 4.11a). Otherwise, if the
            whole segment (C i ,T i ) becomes invisible, the robot brakes to a stop, returns to
            C i with zero velocity, and then moves directly toward T i (Figure 4.11b). Find
            Lost Target operates as follows:

              S1: While at C k ,k > i, find on the segment (C i ,T i ) the visible point closest
                                  t
                  to T i ; denote it T . If there is no such point [i.e., the whole segment
                                 k
                  (C i ,T i ) is not visible], go to S2. Else, using Define Next Step, compute
                                               t
                  and execute the next step using T as the temporary intermediate target;
                                              k
                  iterate.
              S2: Initiate a stopping path, then go back to C i ; exit.
   191   192   193   194   195   196   197   198   199   200   201