Previous Page TOC Index Next Page

BeeSoft User's Guide and Reference

Previous Item Next Item Chapter 10: Building Maps - the BeeSoft Mapper

In This Chapter...
You’ll learn all about the BeeSoft Mapper™, the software that enables your robot to construct 2-D occupancy maps of its world. As the robot explores its environment, noting the positions of walls, doorways, corridors, various obstacles, etc., you’ll see a bird’s-eye view of its ever-expanding knowledge base about its immediate surroundings -- an image with black representing occupied territory and white representing free space.
....You’ll come to understand how your robot establishes a certain degree of belief about whether a particular area is free or occupied by an obstacle.

The BeeSoft Mapper and the subsidiary tools sonarint™ and laserint™ are example applications, supplied as a part of the BeeSoft™ package to assist you in your robotic research and development activities. These tools are not officially supported by RWI, Inc.

To run these example applications, you need a working knowledge of the X-Window System, and you need to have the X-Window system up and running on your workstation. RWI, Inc., does not recommend, and will not support, running X-Windows on your robot’s internal cpmputers.

The BeeSoft Mapper™ does not control the robot itself, but simply takes in data supplied by the robot’s sensory system and uses these data to construct maps. Therefore, the Mapper needs another program or application to "drive" it. You’ll usually use either the BeeSoft Commander™ or the BeeSoft Planner™ to drive the Mapper. These applications are designed to work together, and can be thought of as BeeSoft’s native navigation package.

To build a map without running the BeeSoft Planner, though, you can make use of the robot’s joystick. Attach the physical joystick (the one that was supplied with your robot) to its port and "walk the robot" around an area while running the BeeSoft Mapper. You can then save the resulting map to a file for later use.

The BeeSoft Mapperhas two primary missions: map construction and robot position control.
Map construction is the robot’s ongoing development and refinement of its model of the surrounding environment, based on intelligent interpretation of sensor readings coupled with continuous reassessment of the accuracy and completeness of its existing map.

The BeeSoft Mapper enables your robot to learn by example and thus easily and quickly "train" itself to adjust to dynamically changing circumstances. Think of your robot’s entire sensory armamentarium as a flexible, dynamically adaptable system that gathers, analyzes and makes immediate use of multiple readings from many sensors simultaneously.

As your robot travels about its environment, possibly venturing into unexplored territory to reach a goal point you’ve set for it, it needs to keep track of which specific locations are open for it to move through, and which are blocked or occupied by obstacles of some kind. So, the robot thinks of its world as divided up into an imaginary grid pattern.

The robot moves about its virtual grid and gathers information. For each cell in the grid, usually defined as a 15 cm resolution "tile," the robot computes a reasonable estimate of the chance that the cell is occupied. This is called the cell’s occupancy value. Specifically, the occupancy value of a cell is the measure of the strength of the robot’s subjective belief as to whether or not its own center can be moved to the center of that grid cell. Think of the occupancy value as a probability of occupancy.

Areas that are highly likely to be occupied are displayed as dark; those highly likely to be free look light. Along this greyscale from black to white, or occupied to free, intermediate values represent the varying degrees of certainty in the robot’s mind about whether a particular grid is occupied or free.

In interpreting sensor readings to try to determine whether or not a grid cell is actually occupied, the robot never trusts one sensor reading by itself. Rather, it looks at many readings and cross-checks those against readings from neighboring sensors. The programs sonarint ("sonar interpreter") and laserint ("laser interpreter")feed a continuously-updated stream of sensor readings to the Mapper to update the map.

Previous Page Page Top TOC Index Next Page