Map-Based Planning Interface

Last update 02/16/99 (revision history)

Questions

Overview

Map-based planning uses map information to drive the robot from the current location to a destination location in the map. Pre-known map information is downloaded to the robot, and is used as an input to the planner.

The map is also dynamically updated according to robot sensor input, incrementally building up traversability information in the map. This allows the planner to function when there is not a precomputed complete traversability map. The planner is still useful when there is no precomputed traversability information, since it can use the obstacle and navigation sensors to build a map of what it has seen so far.

Precomputed Map Structure

The complete map download is in general composed of several maps which can be thought of as cost overlays on the world map. Each map represents a different sort of cost of traversing a particular map cell. Though these layers can be thought of as forming a single composite map, they are referred to as separate maps: the visibility map, etc. The planner is extremely flexible in terms of the map structures is can use. We may want to make some decisions about what sort of maps are in fact going to be used so that the OCU interface can be better adapted.

Map Downloading

There is no plan to enter map information on the OCU. Maps will be precompiled offline, and then somehow downloaded onto the robot. Operationally it would make some sense for this to be done via some sort of removable media like a flash card, but for demo purposes using a net connection to download to the onboard disk is probably good enough.

Cost Weighting Function

The aggregate cost for a cell is determined by applying a weighting function to the cost values for that cell in all of the maps. This establishes a tradeoff between the various costs, and does make sense to dynamically configure from the OCU. For example, given physical traversability and visibility (risk of being seen) information, we can choose either the direct route or the stealthy route. The user interface would probably be a set of sliders, one for each map, establishing a weight for each type of cost.

Local Map Access

The planner requires access to the local obstacle map in order to build its global traversability map. The planner doesn't impose any strong requirements on this map, however, a traversability cost is preferred to a binary obstacle/no obstacle indication. The planner should be given access to every local map generated so as to maximize the overlap between the local maps so that they can be registered into a mosaic.

Navigation

Although the planner is designed to tolerate navigation error, better position estimates are of course better. The planner also makes use of position uncertainty information.

Since the precompiled maps are in world coordinates, it is necessary to establish the world position of the starting point. We must extract the world location from the output of pose estimation, so pose estimation must at some point be initialized to an absolute location.

Map Display on OCU

Here are the basic OCU requirements for map-based planning:

In the context of the proposed OCU screen layout, we probably want to display map info in the top, effectively treating the map display as another video feed. The map display may be able to operate even when driving is not being directed toward a map goal point (e.g. we are not in the map-based driving mode.)

Although map-based planning will clearly require more OCU support than the other driving modes, it is not quite as bad as it might sound, since maps are basically images. The OCU needs to manage an image buffer for each map, and to implement scrolling of these images across the display window.

Planner to OCU Communication Scenario


Home | Mail to CMU TMR-members