2. Co-design of Sensors and Rules
Let us now look at how to design good physical arrangements of sensors and interpret them appropriately to accomplish some task. The robot in this section, "TJ", was built on a 12" circular base (see figure 3) which is small enough to easily fit through doors, but large enough to carry most of the processing that is required. This is important as TJ was designed to act as a high-speed courier within an office building. In terms of control, the strategic part of navigation - where to go next - is handled by a standard symbolic program while the tactical part - moment-to-moment steering - is handled by a collection of reactive behaviors. To do its job, the symbolic layer maintains a coarse geometric map of the robot's world consisting of a number of landmarks and a number of paths between them. However, these paths have very little information other than length associated with them. Thus, the symbolic system must trust the competence of the behavior-based system to actually get it from one end to the other.
Figure 3 - TJ has a 3-wheeled omni-directional base and uses both sonar ranging and infrared proximity detection for navigation. An on-board network of microprocessors runs all local navigation behaviors.
One of the primary heuristics for successfully traversing a path segment is to follow along a wall. Figure 4 illustrates how we derived the control rules to accomplish this. First, we installed a long range (about 7 feet) infrared-based proximity detector (W) on the side of the robot to directly detect whether an obstacle (presumably a wall) is present anywhere near the robot. When a wall is present, we generally assume that the robot needs to be closer to it (a) and so we command the robot to gradually turn in the direction of the wall in this situation. To detect when the robot has gotten too close to the wall, we installed another shorter range (about 10 inches) IR sensor (M). When the robot perceives this situation (b), it steers gradually away from the wall.
Figure 4 - Wall following depends on a number of "matched filters" that recognize particular situations. The overhead diagrams here show the sensor response obtained in several important classes of poses. A dark (versus light) line indicates that the corresponding IR sees an obstruction. The robot travels in the direction of the internal arrowhead; the dotted lines show its previous path.
We can write these two responses as an ordered list. In this list, the behaviors that come earlier can be overridden by ones further down. Thus, even though the long range wall IR is on when the robot is very close to the wall, rule number 2, based on the short middle sensor, takes over control of the robot. When neither of these rules is active, the robot goes straight as a default.
| 1: | W | -> | R |
| 2: | M | -> | L |
There are also two behaviors that adjust the angle of the robot with respect to the wall. To measure TJ's relative orientation we installed two more IR sensors (F and B) with a medium range (about 16 inches). If the robot is angled too steeply, the front diagonal IR will be on while the rear diagonal is off (c). To prevent the robot from getting too close, we create a behavior which causes the robot to turn away in this situation. Sometimes, however, the robot is misaligned in the other direction and will eventually leave the wall behind. In this situation the rear diagonal IR will see something while the front diagonal does not (d). To correct this, we install another behavior which causes the robot to veer back toward the wall. The final list of right-wall following control rules for the robot is then:
| 1: | W | -> | R |
| 2: | ~F & B | -> | R |
| 3: | M | -> | L |
| 4: | F & ~B | -> | L |
We assume that it is better to lose the wall (turn left) than to ram into it (by turning right). Thus, behaviors which turn the robot away from the wall take precedence over those guiding it closer. Also, since the act of adjusting the robot's course to be parallel to a wall typically happens after the robot is at more or less the correct distance, the alignment rules have higher priorities than the offset rules. We might consider eliminating rule 2 from this list since normally when the robot is close to a wall the W sensor is on anyhow. However, when the robot reaches a convex corner, this is not necessarily true and rule 2 is actually helps the robot round the edge. We might also consider combining rules 3 and 4 by using a disjunction (or). However, keeping them separate improves the modularity of the system. For instance, we might decide later that we will use a completely different behavior to center the robot in narrow corridors. In this case we might want to eliminate rule 3 while leaving the protective veering reflex (rule 4) unchanged.
Copyright © 1992, Johuco Ltd., All Rights Reserved