Page 180 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 180
MAXIMUM TURN STRATEGY 155
• M1: Move in the direction specified by Define Next Step, while executing
Compute T i .If T i is visible, do the following: If C i = T , the procedure
stops; else if T is unreachable, the procedure stops; else if C i = T i ,goto
M2. Otherwise, use Find Lost Target to make T i visible. Iterate M1.
• M2: Make a step along vector V i while executing Compute T i :If C i = T ,
the procedure stops; else if the target is unreachable, the procedure stops;
else if C i = T i ,gotoM1.
Define Next Step. This procedure covers all cases of generation of a single motion
step. Its part D1 corresponds to motion along the M-line; D2 corresponds to a
simple turn when the directions of vectors V i and (C i ,T i ) can be aligned in
one step; D3 is invoked when the turn requires multiple steps and can be done
with the maximum speed; D4 is invoked when turning must be accompanied by
braking:
• D1: If vector V i coincides with the direction toward T i , do the following:
If T i = T , make a step toward T ; else make a step toward T i .
• D2: If vector V i does not coincide with the direction toward T i ,dothe
following: If the directions of V i+1 and (C i ,T i ) can be aligned within one
step, choose this step. Else go to D3.
• D3: If a step with the maximum turn toward T i and with maximum velocity
is safe, choose it. Else go to D4.
• D4: If a step with the maximum turn toward T i and some braking is pos-
sible, choose it. Else, choose a step along V i , with maximum braking,
p =−p max , q = 0.
Find Lost Target. This procedure is executed when the intermediate target T i
becomes invisible. The last position C i where T i was visible is kept in the
memory until T i becomes visible again. A very simple fix would be this: Once
T i becomes occluded by an obstacle, in order to immediately initiate a stopping
path, move back to C i , and then move directly toward T i . This would be quite
inefficient, however. Instead, the procedure operates as follows: Once the robot
loses T i , it keeps moving ahead while defining temporary intermediate targets on
the visible part of the line segment (C i ,T i ), and continuing looking for T i .If
it finds T i , the procedure terminates, the control returns to the Main Body,and
the robot moves directly toward T i (see Figure 4.6a). Otherwise, if the whole
segment (C i ,T i ) becomes invisible, the robot brakes to a stop, returns to C i ,
the procedure terminates, and so on (see Figure 4.6b). Together these two pieces
ensure that the intermediate target T i will not be lost. The procedure is as follows:
• F1: If segment (C i ,T i ) is visible, define on it a temporary intermediate
t
target T and move toward it while looking for T i . If the current position is
i
at T , exit; else if C i lies in the segment (C i ,T i ), exit. Else go to F2.
• F2: If segment (C i ,T i ) is invisible, initiate a stopping path and move back
to C i ; exit.