Page 196 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 196
MINIMUM TIME STRATEGY 171
Section 3.6), which computes the next intermediate target T i+1 so as to
guarantee the global convergence, and also performs the test for target
reachability.
As before, S is the starting point, T —the robot target position; at step i, C i
is the robot’s current position, vector V i —the current velocity vector. Initially,
i = 0,C i = T i = S.
Procedure Main Body. At each step i:
If C i = T , stop.
Find T i from Compute T i .
If T is found unreachable, stop.
If T i is visible, find C i+1 from Define Next Step; make a step toward C i+1 ;
iterate; else,
Use Find Lost Target to produce T i visible; iterate.
Procedure Define Next Step. This procedure consists of two steps:
S1: Find the canonical solution (the switch curves and controls (p, q)) using
Eqs. (4.16), (4.17), and (4.18). If it is -acceptable, exit; else go to S2.
S2: Find the near-canonical solution as in Section 4.3.5; exit.
Procedure Find Lost Target. This procedure is executed when T i becomes invis-
ible. The last position C i where T i was visible is then stored until T i becomes
visible again. Various heuristics can be used here as long as convergence is pre-
served. One simple strategy would be to come to a halt using a stopping path,
then come back to C i with zero velocity, and then move directly toward T i .This
may add stops that could be avoided. The procedure chosen below is somewhat
smarter in that the robot does not stop unnecessarily: If the robot loses T i ,it
t
keeps moving ahead while defining temporary intermediate targets T on the vis-
i
ible part of the line segment (C i ,T i ) and continues looking for T i .If itlocates
T i , it turns directly toward it without stopping (Figure 4.11a). Otherwise, if the
whole segment (C i ,T i ) becomes invisible, the robot brakes to a stop, returns to
C i with zero velocity, and then moves directly toward T i (Figure 4.11b). Find
Lost Target operates as follows:
S1: While at C k ,k > i, find on the segment (C i ,T i ) the visible point closest
t
to T i ; denote it T . If there is no such point [i.e., the whole segment
k
(C i ,T i ) is not visible], go to S2. Else, using Define Next Step, compute
t
and execute the next step using T as the temporary intermediate target;
k
iterate.
S2: Initiate a stopping path, then go back to C i ; exit.