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

212    MOTION PLANNING FOR TWO-DIMENSIONAL ARM MANIPULATORS

           sensor-based motion planning, one cannot avoid it; after all, a path is built from
           individual steps.
              The robot control system is guided by a computer; that is, it is a discrete control
           system. Accordingly, motors that realize the motion of robot joints usually receive
           computer commands at some fixed sampling rate, say 20 or 50 times per second.
           For example, the rate of 50 commands per second translates into 20 ms per each
           motion cycle. Within each cycle the control computer(s) receives and processes
           the sensor data, calculates the next step in space based on guidance from the
           motion planning algorithm, translates the step into commands to individual robot
           joints, and sends those increments to the corresponding motors; the latter execute
           the step motion. Then the next 20-ms cycle starts, and so on. Special software
           makes sure that the robot passes each step “on the fly,” without stopping, resulting
           in continuous motion.
              Recall that the arm motion consists of either moving along an M-line or
           moving (“sliding”) along obstacles. When moving along an M-line, the step
           calculation is easy: Each step is a linear function of arm coordinates on the
           previous step and increments dθ i for joint values. The function’s coefficients
           depend on the decided speed. When moving along an obstacle boundary, a step
           is computed along the line tangent to the corresponding C-obstacle at the point
           of local contact. Because this tangent has two possible directions, the direction
           chosen is the one that corresponds to the current local direction (see details
           above).
              Whether at the current moment the arm is in contact with one or a few physical
           obstacles, in C-space this corresponds to one point of contact, and so the solution
           for a step is unique. We reiterate that the fact of computing each step based on the
           C-space representation does not mean that any beforehand C-space calculations
           take place. Each step is solely a function of entities in W-space, namely, the
           prior step θ i coordinates and sensing data. More detail on the step calculation
           procedure can be found in Ref. 106.



           5.2.4 Example
           The workspace in this example contains four obstacles, A, B, C, D (Figure 5.15).
           Obstacles are convex and concave, with straight-line and curved boundaries. The
           dashed line (S, T ) is the shortest M-line [as in (5.1) and (5.2)]. S and T are the
           start and target positions of the arm; also shown are some intermediate positions
           of link l 2 along the way: (1, 1), (2, 2), ...,(12, 12). The accepted local direction
           is “right.”
              The arm proceeds as follows. Starting at point S, it moves toward point T
           along the M-line, until it senses obstacle A. The arm then starts passing around
           A (see, e.g., point 1) until it senses obstacle B; it proceeds along obstacle B until
           it meets the M-line again (point 2); it follows the M-line and very soon meets
           obstacle D; it moves along D until it meets obstacle C (e.g., point 3); while
           following C, it meets again obstacle D (point 4); it follows D (points 5, 6, 7, 8)
           until it meets the M-line again; and finally it proceeds along M-line to T .
   232   233   234   235   236   237   238   239   240   241   242