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

PLANAR REVOLUTE–REVOLUTE (RR) ARM  209

            simple circular obstacles, A, B, C, D (Figure 5.12). In spite of their simplicity,
            we will see that moving between these obstacles turns out to be tricky.
              As discussed before, at times both links of the arm may interact with obstacles
            simultaneously, or one link may interact simultaneously with more than one
            obstacle. For instance, when link l 1 touches obstacle D (Figure 5.12), obstacles
            A and C maybeonthe wayoflink l 2 . Therefore, link l 2 may be touching at
            least one of obstacles A or C, while at the same time link l 1 is touching obstacle
            D. This means that in C-space, obstacles A, C,and D form a single obstacle.
            Furthermore, note that if we position link l 2 between obstacles B and C and
            start moving link l 1 past obstacle A, at some point link l 2 will simultaneously
            touch obstacles B and C. In other words, in C-space all four obstacles create a
            complicated single obstacle, a kind of a labyrinth (Figure 5.13). As it is formed
            by two closed curves, this is a Type II obstacle. Also shown in Figure 5.13 is
            the M-line (S, T ), chosen as a straight line in a “flatten” C-space.
              Let us choose “right” as the local direction for the arm’s passing around an
            obstacle. Although the sensing, the motion, and the actual algorithm procedure
            will be happening in W-space, to understand what happens under this procedure
            it is better to follow the generated path first in C-space. As we know already,
            the reason C-space is easier to follow is that the C-space image of the path has
            no self-intersections or double points, and obstacles are sets of simple closed
            curves.
              When watching it in C-space (Figure 5.13), one will recognize in the arm’s
            path (indicated by arrows) the “signature” of the Bug2 procedure described in
            Section 3.3.2. (We will see below that the resulting algorithm becomes more
            complex than Bug2 because it has to take into account the more complex topology
            of the torus compared to the plane.) Starting at S, the arm’s image point moves
            along M-line toward T . On its way it encounters obstacle B and defines a hit
            point, H 1 . Here the robot turns right (counterclockwise) relative to the obstacle
            boundary; after passing point 3, it meets M-line again and defines here the leave
            point L 1 .
              The next path segment is along M-line and is short, producing the next hit
            point, H 2 . Turning right at H 2 , the robot embarks on another path segment along
            the obstacle boundary, which takes it through points H 2 , 6, 5, 4, bringing it back
            to point H 1 . A local cycle has been created. (More detail on conditions under
            which local cycles are created can be found in Section 3.3.) Now the robot will
            pass point H 1 “on the fly,” still continuing along the obstacle boundary. It is
            now looking for a candidate for a leave point that is closer to point T than
            point H 2 is to T . This path segment will take it again through points 3 and L 1
            and then through points 2, 1, 12, and 11 until it encounters M-line again and
            defines the leave point L 2 . From then on, it directly proceeds along M-line to
            point T .
              Note that along its way the robot will see only one of the two simple closed
            curves that form our virtual obstacle—and even this one only partially. The robot
            will never know that the other closed curve even exists. It will not know that it
            has dealt with a Type II obstacle. As we will see, this is not always so: Some
   229   230   231   232   233   234   235   236   237   238   239