Figure 8 shows a run where the Reach and KeepOff behaviors are blended as in (3) above. At the bottom of the picture, we plot the evolution over time of the truth value of the two contexts, corresponding to the level of activation of the two behaviors in the blending. At start, Reach has full control of the robot. When the obstacle is detected by the robot's sonars (a), the preferences of KeepOff begin to dominate, and Flakey slows down and steers away from the obstacle until there is no more danger (b). KeepOff is reactivated when the second obstacle is detected (c). Note that the Reach behavior remains partially active when the danger of collision is not too high, thus biasing the avoidance maneuvers toward the target.
Figure 7: Trajectories generated by the Reach behavior from several starting positions.
Figure 9 shows the execution of a full navigation plan in an office environment; the lower part plots the corresponding behavior activations. The context rules are those in Figure 5 above -- the Face behavior has been added to get the robot in a convenient position to start door crossing. Although no obstacle was represented in Flakey's internal map, the interaction between the goal-directed behaviors and reactive obstacle avoidance (KeepOff) produced a smooth trajectory around obstacles, as in (a) and (c). Moreover, the interplay between KeepOff and Cross (d) allowed Flakey to safely cross the office door, although its position was slightly off from what was expected (due to map imprecision). Finally, blending the two Follow behaviors resulted in a smooth motion during corridor switching (b) without the use of an explicit turning behavior. A similar phenomenon can be observed in the transition between corridor following and door crossing. Total execution time was approximately 80 seconds at a top speed of 400 mm/sec.
Figure 8: Blending target reaching and reactive obstacle avoidance. Top: Flakey's trajectory. Bottom: time evolution of the activation of behaviors.
Flakey consistently performed this sort of navigation tasks in the SRI buildings during normal office activity. It successfully used the self-localization algorithm to stay localized with respect to its approximate map (see Saffiotti and Wesley, 1996, for examples). Flakey was also demonstrated at a few public events, including the first international robotics competition of the AAAI, where Flakey placed second and gained special recognition for its smooth and reliable reactivity (Congdon et al 1993).
Figure 9: Execution of a navigation plan. Top: Flakey's trajectory. Bottom: time evolution of the activation of behaviors.