next up previous
Next: Characteristics of the Configuration Up: Configuration Space Control Previous: Motion Control in C-space

Construction of C-space Obstacles

The greatest improvement in the operator performance comes when full information (the bird's-eye view) about C-space is available (on the issue of operating with uncertainty, see the discussion in Section  5.2). We thus need to compute and display all the virtual obstacles. An intuitive approach proposed in [8] is to treat each link separately. First, link l2 is ignored, and all free space points for the whole range of values tex2html_wrap_inline483 are computed. Points of the arm contact with physical (W-space) obstacles are recorded and become part of the corresponding virtual obstacle. Then, for each value of tex2html_wrap_inline483 within its appropriately digitized range, free space points for the whole range of values tex2html_wrap_inline485 are computed in the same fashion, by rotating link l2 around positions of joint 2 determined by the current value tex2html_wrap_inline483 . Depending on the representation chosen for the virtual obstacles, their ``insides'' may have to be filled using a polygon-filling algorithm.

For the two-dimensional problem in question, C-obstacle calculation can be greatly simplified by tracing the obstacle boundaries with arm links and thus immediately creating their C-space images. Note that two or more W-space obstacles can produce a single virtual obstacle; that is, for the purposes of motion control, they would indeed be one obstacle. Our simulation uses an efficient variation of this procedure [7], which makes use of the Bug1 [6] algorithm.

In brief, procedure Bug1 operates as follows: the point robot starts moving along the straight line towards target point T. If it encounters an obstacle, a hit point H is defined at the encounter location, and the robot turns and moves in a prespecified direction (say, left) along the obstacle boundary. Once the obstacle is circled, and H is once again encountered, a leave point L is defined on the obstacle, which is the point closest to T. The robot then takes the shortest path to L and then proceeds to T in straight-line fashion, repeating the procedure whenever an obstacle is encountered. The procedure converges to T or informs that this is impossible if true. The algorithm's computational complexity is linear in the perimeters of the W-obstacles.

Figure  5 gives the C-space representation of W-space of Figure  3. Angle tex2html_wrap_inline483 is along the horizontal axis, tex2html_wrap_inline485 - along the vertical axis. The range of change of each angle is tex2html_wrap_inline547 , making C-space a square. The dark areas represent the virtual obstacles. The C-space correspondence to a two-torus means in that all four corners of the square are identified (i.e. correspond to the same point). Similarly, the top and bottom edges of the square are identified, and so are the left and right edges. Given this last fact, note that the C-space in Figure  5 contains only one virtual obstacle which corresponds to four physical obstacles in W-space, Figure  3. Point T is chosen as the corner point of the C-space square; in principle, therefore, one's moving from point S to any corner will produce a legitimate (if not necessarily the shortest) path for the arm in W-space.

   figure113
Figure: The sample task of Fig.  3; C-space representation.


next up previous
Next: Characteristics of the Configuration Up: Configuration Space Control Previous: Motion Control in C-space

Igor Ivanisevic
Tue Jul 22 15:07:45 CDT 1997