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

VISION AND MOTION PLANNING  111

                Else if Target is unreachable the procedure stops.
                Else if C  = T i go to step S1.

              Procedure Compute T i -21 includes the following steps:

              • Step 1: If T is visible, define T i = T ; procedure stops.
                Else if T i is on an obstacle boundary go to Step 3.
                Else go to Step 2.
              • Step 2: Define point Q as the endpoint of the maximum length contiguous
                segment |T i Q| of M-line that extends from point T i in the direction of
                point T .
                If an obstacle has been identified crossing the M-line at point Q, then define
                a hit point, H = Q; assign X = Q,define T i = Q;gotoStep3.
                Else define T i = Q; goto Step4.
              • Step 3: Define point Q as the endpoint of the maximum length contigu-
                ous segment of obstacle boundary, (T i Q), extending from T i in the local
                direction.
                If an obstacle has been identified crossing M-line at a point P ∈ (T i Q),
                |PT| < |HT|, assign X = P ; if, in addition, |PT| does not cross the obstacle
                at P , define a leave point, L = P ,define T i = P , and go to Step 2.
                If the lastly defined hit point, H, is identified again and H ∈ (T i Q),then
                Target is not reachable; procedure stops.
                Else define T i = Q; goto Step4.
              • Step 4: If T i is on the M-line define Q = T i ,otherwise define Q = X.
                If some points {P } on the M-line are identified such that |S T | < |QT|,


                S ∈{P},and C is in the main semiplane, then find the point S ∈{P } that


                produces the shortest distance |S T |;define T i = S ;gotoStep 2.

                Else procedure stops.
              In brief, procedure Compute T i -21 operates as follows. Step 1 is executed
            at the last stage, when target T becomes visible (as at point A, Figure 3.15).
            A special case in which points of the M-line noncontiguous to the previously
            considered sets of points are tested as candidates for the next intermediate Target
            T i is handled in Step 4. All the remaining situations relate to choosing the next
            point T i among the Bug2 path points contiguous to the previously defined point
            T i ; these are treated in Steps 2 and 3. Specifically, in Step 2 candidate points
            along the M-line are processed, and hit points are defined. In Step 3, candidate
            points along obstacle boundaries are processed, and leave points are defined. The
            test for target reachability is also performed in Step 3. It is conceivable that at
            some locations C of the robot the procedure will execute, perhaps even more than
            once, some combinations of Steps 2, 3, and 4. While doing this, contiguous and
            noncontiguous segments of the Bug2 path along the M-line and along obstacle
            boundaries may be considered before the next intermediate target T i is defined.
            Then the robot makes a physical step toward T i .
   131   132   133   134   135   136   137   138   139   140   141