Toto the Robot

There once was a robot named Toto (see Toto’s photo in figure 16.2) that used just such a representation to learn the map of its office environment at MIT, in order to hang out with students and help someone1 get her PhD in robotics. Let’s see how Toto learned its environment and got around to do its task. To be honest, Toto did not in fact water any plants, as water and mobile robots rarely mix well.

                                                          

                                                    Toto the robot.

 

Toto’s Navigation

Toto was a behaviour-based system; you can see its control diagram in figure 16.3. It was equipped with a simple ring of twelve Polaroid sonars (if you can’t remember why twelve, go back to Chapter 14), and a low-resolution compass (2 bits). Toto lived around 1990, in the "old days," well before laser scanners became commonplace. As in any good BBC, Toto’s controller consisted of a collection of behaviours. Its lowest levels of the system took care of moving Toto around safely, without collisions. Next, Toto had a behaviour that kept it near walls and other objects, based on the distance perceived

                             Toto’s behaviour-based controller

Toto’s sonar-based navigation regions

 

with its sonar sensors. Toto used a set of sonar sensing regions for navigation (shown in above figure); its low-level safe navigation was in fact a reactive system. In fact, Toto’s navigation controller used some of the programs.

Following boundaries was a good idea for Toto. Remember why? sonars are most likely to be accurate at short and intermediate distances from objects. It pays to get accurate sensor data when building maps and going places, so Toto did it by staying near objects whenever possible. It turns out that rats and mice also like to stick near objects, perhaps for other reasons (safety from people?), but nobody would have confused Toto with a rat, at least based on its looks. We’ll see later that Toto’s brain, in particular its use of distributed representation, was also rat-like, but more on that in a bit.

 To summarize, Toto’s navigation layer manifested the following behaviours:

1. The lowest-level behaviour kept it moving safely around its environment without colliding with static obstacles or moving people.

2. The next level behaviour kept it near walls and other objects in the environment.

Toto’s Landmark Detection

The next thing Toto did was to pay attention to what it was sensing and how it was moving. This is generally a good thing to do. It allowed Toto to notice when it was moving straight in the same direction for a while, or when it was meandering around a lot. Moving straight indicated that it might be next to a wall or in a corridor, and so Toto was able to detect walls and corridors. Meandering around indicated that it was in a cluttered area, and so Toto would detect that as well. So while Toto moved about, one of its behaviours was paying attention to what its sonars “saw,” and in that way detecting and recognizing landmarks: If Toto kept moving along in a consistent compass direction (in a near-straight line) and kept close to a wall on one side (say the left), it would recognize and detect a left-wall (LW). If the wall was on the other side, it detected a right-walls (RW), and if it saw walls on both sides, it recognized a corridor (C). Finally, if it detected nothing straight for a while (no walls on either side), causing it to meander about, it declared a messy area (MA). In Toto’s mind, left walls, right walls, corridors, and messy areas were special, because it could notice them easily from its sensors and its own behaviour. Therefore, they formed nice landmarks for his map.

Toto’s landmark detection layer also noted the compass direction for each of the landmarks it detected. Its 2-bit compass (that’s not meant as an insult, it is an accurate description) indicated north as 0, east as 4, south as 8, west as 12, and so on, as shown in figure. In addition to the compass direction of the landmark, Toto also noted the landmark’s approximate length.

To summarize, Toto’s landmark detection layer manifested the following behaviour:

1. It kept track of the consistency in the sonar and compass readings, and, noticing those, recognized one of the landmark types (left-wall, right wall, corridor, messy-area).

2. For each landmark type, it also noted the compass direction and length of the landmark.