Page 25 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 25
Chapter 1
L
L R R
Robot Robot
Figure 1.3. Robot enters State 3 Figure 1.4. Robot becomes trapped
and begins turning right
We could elect to go in any of several directions with our simple robot. We could
provide latched states to take into account recent history. For example, we could
record the fact that the system had gone between states 3 and 4 without ever having
experienced a State 2 clear period. If this happened, we could force the robot to
continue to turn away from the nearer obstacle until State 2 was achieved.
To do this, the robot would have to essentially latch the behavior of State 4 (turn
left) if it occurred immediately after State 3. We could then unlatch State 4 if State
2 (Clear) or State 1 (Halt) conditions occurred. To do this we could introduce new,
persistent states called states 5 and 6. State 5 could be called “Escape Right” and
State 6 could be called “Escape Left.” A persistent state remains true unless can-
celled by a higher ranking state.
Figure 1.5 shows the logic flow for our simple collision avoidance robot as a modified
state-driven machine. Notice that we have gone from an instantaneous state ap-
praisal and reaction to a more complex decision tree in which some states must be
evaluated before others, and where the previous state may be maintained even if its
initial trigger conditions are no longer true. The logic no longer has the simple
elegance promised in the concept of a “state-driven” machine. The flow is already
getting convoluted, and we have yet to give the robot any real sense of objective!
Worse, there are still potential weaknesses in the performance. For example, there is
8

