Learning Maps and Reasoning about Space


Sunday, 04/15/01

In this lecture, we're going to think about how mobile robots might represent and reason about their physical environment for purposes of navigation and obstacle avoidance. We begin by thinking about "pieces" of space and whether they are occupied or not.

We swim in space; we see through it and move we through it. By occupying it ourselves, walking through space, or by sensing signals, light or sound, that propagate through space we can determine if pieces of space are unoccupied. By bouncing ourselves, other objects or various signals off of objects we can determine if pieces of space are occupied.

We can also recognize objects or collections of objects and infer properties of space. For example, if in the dark you sense the bumper of a car, you might reasonably infer that the rest of the car is present as well and thus presents a larger obstacle even though you have not seen the rest of the car. We do this all the time when we sense one side of a building and infer that the other surfaces of the building exist and that the visible surfaces belong to a real building and not to a stage prop.

In cataloguing pieces of space, we can characterize them as occupied or not or in terms of them being occupied by components, pieces, of particular objects. We can break up space into pieces by imposing a uniform grid and take the squares of the grid to be the pieces. So far we have emphasized the geometric and quantitative aspects of space: our physical three dimensional environment represented in terms of three dimensional, abstract pieces of Euclidean space. Such a representation is convenient for planning paths and building bridges but it can be difficult for robots to actually sense and work with.

We can also represent the world in terms of "places" that correspond to distinctive sensed properties. For example, being midway between two mountains or being at the lowest point in a valley. Such distinctive places can often be detected and found reliably and so they constitute local landmarks of a sort. For example, a robot that could sense water could follow rivers and streams.

In thinking about how we or robots might navigate in space we can think in terms of the most primitive behaviors, e.g., placing one foot in front of the next or spinning the left and right drive wheels for 10 revolutions, or we can think in terms of more complicated component behaviors that combine movement and sensing. For example, follow the stream until it forks or until it becomes too wide to cross without getting wet.

Thinking about space in terms of distinctive places and behaviors for moving from one distinctive place to another is a form of "qualitative" spatial reasoning in contrast to the "quantitative" reasoning that typically dominates in representing physical environments in terms of Euclidean space. Roboticists have explored learning and navigation algorithms involving both qualitative and quantitative reasoning as well as hybrid forms that take advantage of both types of reasoning.

Occupancy Grids

In the mid 1980s, Hans Moravec and Alberto Elfes came up with an interesting idea for creating maps to assist mobile robots in planning and navigating routes and avoiding obstacles (Moravec, H. P. and A. Elfes, "High Resolution Maps from Wide Angle Sonar", IEEE International Conference on Robotics and Automation, pages 138-145, 1985). One of its most appealing properties was that it could be easily implemented on existing robots equipped with Polaroid sonar sensors. The basic idea was sometimes called "certainty grids" and sometimes "occupancy grids" and was quite general, not depending on any particular method of detecting occupancy and, indeed, allowing through the use of Bayes rule a nice way of combining or "fusing" data from multiple sensors.

There have been many variations in subsequent years (Howard and Kitchen provide some interesting variations) but the basic idea involves a two- or three-dimensional grid and some means of storing and updating the probability of each region in the grid being occupied. There are Bayesian and Dempster-Shafer methods for updating the grid cells and there are lots of proposals for how to model sensors so that the information they provide can be integrated into an existing grid. In the case of sonar, the biggest problem is dealing with uncertainty involved in sensing and in particular the problems that arise from sound reflecting off specular surfaces. Note that the movement of the robot provides useful information in the sense that any path swept out by the robot is unoccupied at least immediately after the robot moves on.

Graphs of Locally Distinctive Places

There are lots of approaches to reasoning about space qualitatively that abstract from the metric properties of real space. Most approaches require that we carve up space in different ways and assign meaning to these different pieces of space and to the various ways they are connected to one another. Ben Kuipers' TOUR model is one approach that has inspired a good deal of follow-on research. The basic idea in the TOUR model is that the world is comprised of places called locally distinctive places. These places or LDPs are not globally distinctive but the robot can determine if indeed it is one and can distinguish it from other nearby LDPs. A map is then a graph whose nodes correspond to LDPs and whose edges correspond to navigation strategies that enable the robot to move from LDP to an "adjoining" one. One of my students, Ken Basye working, working with Leslie Kaelbling and myself did some very nice analyses of map learning problems that relate to the basic TOUR model.

In the abstract, the TOUR model is very simple and elegant; things get a little more complicated when you try to apply the model to a real robot running around in a real environment. In order to apply the TOUR model, you have to define what you mean by locally distinctive place, write programs so that the robot can recognize that it is in an LDP, and be precise about what constitutes an arc between two nodes in a graph of locally distinctive places. In the work of Basye, Dean and Kaelbling, the robot is running around in an indoor office-like environment, LDPs correspond "interruptions" or "discontinuities" in surfaces and corridors such as "T" and "L" junctions, and the arcs correspond to self-terminating local controllers that, e.g., control the robot to traverse a corridor from one junction to another. In the abstract, you can probably imagine what the graph of locally distinctive places would look like for the 4th floor of the CIT. Actually implementing a system that can reliably recognize locally distinctive places and traverse the space between them is more difficult than you might imagine.

Behavior-Based Spatial Reasoning

One difficult part of programming robots is trying to figure out what a robot should do given what a robot can perceive about its environment. Writing robot programs is particularly difficult when the robot perceives its environment in very different ways than the programmer perceives that same environment. A typical ploy is to take whatever information the robot obtains from its sensors and then use that information to try to build up a model of the environment that is comprehensible to the programmer; then it is a relatively simple matter to write control programs that determine what to do based on that representation. This strategy can be very inefficient however when the "comprehensible" internal representation is neither necessary nor sufficient for good performance.

Behavior-based methods generally avoid internal representations of any sort, arguing that they are unnecessary for most purposes. Spatial reasoning, however, seems to require some sort of internal representation that stands in a particular relationship ("map") with the structure of the external world. Maps are obviously useful to robots that have to navigate from one place to another. How would an advocate of behavior-based robot control approach learning maps and remain faithful to the spirit of behavior-based control?

Maya Mataric's Masters thesis was about getting a behavior based-robot to learn maps and plan paths. You can read about the details in her clearly written thesis, but the basic idea is simple and can be extended in a variety of ways. Recall the basics of behavior-based control: Behaviors directly map sensory inputs to motor outputs to achieve a particular task. Typically behaviors are initiated by specific signals, e.g., innate releasing mechanisms, which can be generated externally or as a result of other behaviors. Sequences of such behaviors can be initiated when one behavior terminates by generating the stimulus or releaser for the next in the sequence.

Suppose you let a robot designed to explore its environment just run for a while. From a macro level, you'd expect to see a sequence of behaviors, each behavior in the sequence corresponding to the invocation of a specific behavior, which runs for awhile before turning over control to the next behavior in the sequence. If those behaviors correspond to following corridors, looking for branching corridors, choosing which corridor to take when at a branch, etc., then the sequences of observed behaviors would constitute a map of sorts. Depending on the specific behaviors, the map may be familiar or strange to us but it makes sense to the robot, the robot's behaviors correspond directly to how the robot relates to its environment.

Given a sequence of behaviors, it is possible to construct a more compact model that can enable the robot to discover when it has returned to the same "location" in its map. The resulting map looks like a finite automaton in which the states correspond to behavior invocations and can be used by the robot to plan paths from one "location" to another "location". I keep putting the word location in scare quotes because behavior invocations need not relate to well defined pieces of space. The disadvantage is that we may find the robot's map-learning and map-following activities inscrutable. The advantage, of course, is that the map that the robot constructs in defined in its own terms, the only way that it can make sense of its environment, and is only influenced by our biases through the fact that human programmers design the basic behaviors. Relating the way robots perceive their environment to the way that humans perceive their environment remains an open problem, however.


Previous Home Next


Last updated on April 15, 2001.

Home Courses