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 .