Abstract
To learn a map of an environment a mobile robot has to explore its workspace using its sensors. Sensors are noisy and have perceptual limitations that must be considered while learning a map. This paper considers a mobile robot with sensor perceptual limitations and introduces a new method for exploring and navigating autonomously in indoor environments. To minimize the risk of collisions as well as to not exceed the range of sensors, we introduce the concept of a travel space as a way to associate costs to grid cells of the map, based on distances to obstacles. During exploration the mobile robot minimizes its movements, including rotations, to reach the nearest unexplored region of the environment, using a dynamic programming algorithm. Once the exploration ends, the travel space is used to form a roadmap, a net of safe roads that the mobile robot can use for navigation. These exploration and navigation method are tested using a simulated and a real mobile robot with promising results.
Introduction
This paper introduces an exploration approach for an indoor mobile robot using its sensors, to learn a Probabilistic Grid-based Map (PGM) (Elfes, A., 1989; Moravec, H. P., 1988; Thrun, S., 1998a) of an environment. A PGM is a two dimensional map where the environment is divided in square regions or cells of the same size that have occupancy probabilities associated to them. The map learned is commonly used by a mobile robot for navigation while it does a high level task. Research on exploration strategies has developed two general approaches:
During the exploration of the environment, the robot movements are typically measured by an odometer. However, the odometer introduces errors that accumulate over time. In order to build useful maps, odometric errors have to be reduced or corrected, usually using other sensors. Given the perceptual limitations and accuracy of sensors, odometric errors can not always be reduced. Typically sensors like sonars and cameras can detect obstacles within a range of a few meters and their accuracy decreases with the distance to obstacles. The reduction of odometric errors in this case is known as the
There are several successful localization methods that can estimate the robot's position using its sensors. However, most localization methods fail when the sensors of the robot are beyond its perceptual capability (Roy et al, 1999) (i.e., the robot is too far from obstacles).
This paper introduces a novel approach to explore a static indoor environment. The idea is to reach the nearest unexplored grid cell minimizing a travel cost. The travel cost takes into account the movements of the robot (including rotations) and the perceptual limitations of the sensors, and tries to maintain a fixed distance to obstacles while the robot is moving, like a
The concept of a (
Once the map is complete, the travel space is also used to obtain an efficient navigation technique based on the same dynamic programming algorithm. The idea is to reduce the number of free cells to be processed, significantly reducing the computational cost. A
These ideas have been tested using a mobile robot simulator and a real mobile robot in indoor environments. Experiments show that the robot tries to keep a safe distance to obstacles, minimizing the risk of collisions with obstacles and of getting lost, and it also reduces the number of movements (including rotations) while it is exploring an environment and consequently reduces its odometric errors. This results in more accurate maps.
In (Roy et al, 1999), a
In another related work (Thrun, S., 1998b), the probability of occupancy of a grid cell is used as a cost associated to the cell. The motion policy, given by
The remainder of the paper is organized as follows. Section 2 describes the proposed exploration approach. Section 3 describes the navigation method, once the map has been built. Section 4 presents experimental results using a mobile robot simulator and a real mobile robot. The experiments are performed using a system build upon the ideas for sensor data fusion and position tracking described in (Romero, I., Morales, E., & Sucar, E., 2000). Finally, section 5 is devoted to conclusions and future work.
Exploration
Given that robotic sensors only cover a small area around it and they can not see through walls, the robot has to explore the environment to build a complete map. For this it uses its sensors and moves to different locations, until all areas are covered. The process we use to build a probabilistic grid map does the following general steps:
Process the readings taken by all the sensors and update the probability of occupancy of the cells in the PGM (Sensor Data Fusion Step). Update the travel space accordingly considering the changes in the PGM. Choose the next movement using value iteration. If all the grid cells accessible to the robot are Execute the movement of the cell associated with the robot current position. Get readings from the sensors and correct odometric error (Position Tracking Step). Go to the first step.
Next we review steps 1 to 5, with steps 2 and 3 (the key steps of our approach) covered in more detail.
The general idea for exploration is to move the robot on a minimum-cost path to the nearest unexplored grid cell (Thrun, S., 1998b). The minimum-cost path is computed using
This paper proposes a new approach that combines local search strategies within a modified version of value iteration described in (McKerrow, P. J., 1991). When the robot starts to build a map, all the cells have the same probability of occupancy,
In an alternative approach (Thrun, S., 1998b), a cell is considered explored when it has been updated at least once. That approach, however, does not work well when there are specular surfaces (i.e., using ultrasonic range sensors) in the environment, since multiple measurements are normally required to get reliable estimates for the probability of occupancy of a cell.
Cells are defined as
In this work, a cylindrical (circular base) robot is considered, so the configuration space (c-space) (Latombe, J-C., 1991) can be computed by growing the occupied cells by the radius of the robot. In fact, the c-space is extended to form a
Step 1: Sensor Data Fusion
In this work it is considered that the robot has three types of sensors:
We extend the idea of sonar data fusion given in (Howard, H. & Kitchen, L., 1996) to fuse data from sensors of different types. We consider a cell as occupied if it is detected occupied by at least one sensor. In this way, the probability that a given cell is occupied can be estimated using a logical
To expand the right hand side of (1), it is assumed that the events
This expression can be used to compute the probability that a cell is occupied once we have determined the probability that a cell is occupied by each type of sensor. The prior probabilities,
Consider the travel space due to a single real occupied cell in the occupied-free map (see Figure 1). The travel space splits the cells of the occupied-free map in four categories:

Travel space due to a single occupied cell.
The idea to suggest safe paths to the robot is to assign a high cost to far cells, a low cost to travel cells and higher costs to warning cells. In order to assign higher costs to warning cells closer to obstacles, each warning cell must record, besides its type, the distance to the nearest occupied cell, denoted by Initialization. Let all free cells in the travel space be of type If there is a change from free to occupied cell, do:
Grow the occupied cell by a radius of the robot. Assign the type Using a larger circle, compute the warning cells (see Fig. 1). For each of these cells, let Using a larger circle, compute the travel cells (see Fig. 1). For each of these cells, let If there is a change from occupied to free cell, do:
Using a circle of radius Consider a circle of radius 2 Repeat steps 2 or 3 until the map building process ends.
Notice that the process to update a transition from an

A travel space due to multiple occupied cells. From darker to lighter: occupied cells (black), warning cells (dark gray), travel cells (light gray), and far cells (white).
The travel space has the advantage of taking into account the perceptual limitations of sensors, setting
Another advantage of this discrete approach, from using a continuous function for the cost of cells, is a more efficient and intuitive method. In our approach only warning cells and travel cells are updated, and not far cells. However, warning cells apply a function to compute the cost of the cell given its distance to the nearest occupied cells.
First we review the type of movements allowed for the robot and then the approach to compute an optimal motion policy for the robot.
In this work we consider that the robot can perform only 8 possible movements, one per cell in its vicinity, as shown in Fig. 3. If the robot executes movement

If the robot executes movement
A policy to move to the unexplored cells following minimum-cost paths is computed using the travel space and a modified version of
To consider explicitly rotations of the robot as well as translations, our approach introduces a variable V
The new algorithm takes into account Initialization.
Unexplored cells ( Explored cells that are free in the Update. For all orientations of the explored free cells do:
This update rule is iterated until the values
When the values of
Exploration ends when
Fig. 4 illustrates this approach. The robot has orientation θr=θ3 and movements

Strategy to punish orientation changes. The robot is at the left cell with orientation
In general, minimizing the number of rotations significantly reduces odometric errors as it will be shown in Section 4.
When the robot is far away from obstacles (in far cells), other sensors are not able to reduce the odometric error and the robot can get lost. Thus the robot may follow a longer path if that path allows the robot to use sooner its sensors to correct odometric errors.
The cost,
At first glance, any monotonic decreasing function to assign cost to

Possible paths to go from R to G. T1 and T2 are safer than T3.
In the case of path T2, the condition is
To minimize the risk of collisions, restrictions given by equations 6 or 7 (for a more conservative and safer path) should be considered in the function C for warning cells, at least for the cells near to obstacles.
To reduce the time to compute an exploration policy, two strategies are considered: (i) Instead of including all unexplored cells as goals, we only include the unexplored cell (or cells) nearest to the robot, and (ii) During the updating process of the value iteration algorithm we use a
Step 5: Position Tracking
We apply a Markov localization framework (Fox, D. & Burgard, W., 1998) to estimate the most probable location for the robot. The key idea of Markov localization is to compute a probability distribution over all possible locations in the environment. Let
The robot moves
Robot motion is modeled by a conditional probability, denoted by
Here

Robot motion for one direction.
When sensing
Here
In order to get an efficient procedure to update the probability distribution, cells with probability below some threshold are set to zero.
Once we know the most probable location
We have described our method to explore and learn a map of an environment, considering a mobile robot with sensors' perceptual limitations. There are several features of the approach that make it a robust exploration method and a better position tracker. In particular: it (i) avoids the risk of collisions with obstacles, (ii) avoids unnecessary rotations (reducing odometric errors), and (iii) minimizes the risk of getting lost when it is far away from obstacles (and hence its sensors are beyond its perceptual limitations).
Once the map is complete, the same algorithm used for exploration can be used for navigation. In this case, the goal cell takes the place of the unique unexplored cell (a zero value for variable
A significant reduction in the number of free cells to be updated in the value iteration algorithm can be achieved using the travel space associated with the built map. The key idea is to consider travel cells as a kind of road map (as defined in (Latombe, J-C., 1991), a net of roads that the robot will use most of the time to go from one place to another. Some issues must be solved in order to build the road map and use it for navigation. First, how to find the cells of the road map when there are no travel cells in the travel space, e.g., in narrow passages there are only warning cells and the environment can have isolated sets of connected travel cells (see Fig. 7 (a)). Second, how to consider the uncertainty in the position of the robot during navigation. Finally, how to handle cases where the initial and goal position are not within the road map. The following method solves the first problem.

Building a roadmap. From left to right: (
Given the distance
The second problem can be solved if the cells in the road map grow in a similar form to the occupied cells in the travel space. In this case, the robot radius is the maximum uncertainty of the robot position.
The last problem can be handled if for each free cell that is not in the road map, it is computed the distance
The key idea of this navigation approach is to built a road map from the built map. The road map is a net of safe roads for the robot, like a highway for a car. Because the road map is based on the travel space, and the travel space is built considering the perceptual limitations of sensors, the roads in the road map are easy and safe to follow.
The exploration and navigation are based in the same value iteration algorithm, however when the robot navigates the travel space is fixed. Considering that the number of cells in the road map is a small subset of the free cells, in the future we plan to use the road map idea to solve efficiently the global localization problem.
This section presents experimental results obtained using a mobile robot simulator and a real mobile robot.
We consider a differential drive mobile robot. The differential scheme consists of two wheels on a common axis, each wheel driven independently, and two caster wheels to ensure balance. The robot has the ability to drive straight and to turn in place. Our mobile robot, shown in Fig. 8, has an odometer, ultrasonic sensors and a laser range sensor (implemented with a laser line generator and two cameras). The mobile robot base has a micro-controller MC68HC12 to control 2 sonars and 3 DC motors, two for the traction wheels and one to rotate the turret (the top part of the robot). It has a notebook computer (pentium III 1Ghz running Linux Redhat 9) with a wireless network card and a serial connection with the micro-controller.

Mobile Robot.
The mobile robot simulator introduces an uniform random error of +/- 3% on rotations and +/- 10% on displacements. When the robot moves forward, the path followed by the robot is not necessarily in the desired direction. The simulator introduces a uniform random variation of +/- 5°.
We consider a PGM with grid cells of 10×10cm2 and cells in the travel space with a cost that depends on their type. Far cells have a cost of 600 and travel cells have a cost of 1. Fig. 9 shows the cost of warning cells based on their distance to the nearest obstacles (up to 100 cm). This assignment for the warning cells builds a high

Cost of warning cells depends on the distance (in cm) to the nearest occupied cell.
Here we present some exploration results using only the travel space. Section 4.2 considers the effect of punishing robot rotations.
First, we considered experiments to observe the effect of using the travel space. Fig. 10 (a) shows a PGM (of about 10×10m2) built by the simulated robot without using the travel space (i.e., assigning null costs to warning and travel cells). The lighter trace on the map is given by the odometer and it shows the path followed by the robot. Note that sometimes the robot gets very close to obstacles.

PGMs using the mobile robot simulator. White areas represent cells with occupancy probabilities near to 0. From left to right: (a) Without the travel space. (
In contrast, Figure 10 (b) shows the map built using the travel space. The costs associated to cells in the travel space implement a kind of
The map of the Fig. 10 (b) is also more accurate because the travel space approach tends to move the robot to positions where the sensor readings are more reliable and hence the position tracking algorithm gives better estimations.
Our next experiments consider the process to build roadmaps. The travel space associated to the map of Fig. 10 (b) is shown in Fig. 11 (a). Travel cells have the lowest cost and they are represented as white pixels. Darker pixels represent free cells with higher costs. For this map, the full set of free cells where the robot can move is shown in Fig. 11 (b). Fig. 11 (c) shows the roadmap extracted from the travel space, using the ideas described before. There is a significant reduction from 6386 free cells (see Fig. 11 (b)), to only 371 cells in the roadmap.

From left to right: (
We also test our exploration approach using the real mobile robot. Fig. 12 (a) shows a map of a small house of 8×13m. The built map is accurate enough to be useful for navigation. There are two glass doors in the upper part of the environment that are captured in the map. These are detected by sonars but the laser range finder can see obstacles through them. The road map associated to the built map is shown in Fig. 12 (b).

Using the real robot. From left to right: (
Finally we give an example of the three steps of the navigation process. Fig. 13 (a) shows the road map (simulated case) built with an uncertainty on the robot position of 20 cm. Fig. 13 (b) shows two circles that connect the initial and goal cells to the road map (left and right circles respectively) and Fig. 13 (c) shows the motion policy to reach the goal cell given by the value iteration algorithm. In the Fig. 13 (c) darker pixels denote higher values of V that represent higher accumulated costs to reach the goal cell. Note that the goal cell has a cost of zero and it is represented by a white pixel. From these

Using the roadmap for navigation. From left to right: (
The idea of these experiments was to build maps of a simulated environment and compare the
If
In these experiments we use a linear function to compute
Fig. 14 shows a simulated environment of 12×9m used for these tests. We build 10 maps for this simulated environment with

Paths followed by the robot. (top) (
Statistical information about the time to compute policies of movements (one computation after each movement of the robot) when
Figure 15 shows the PGMs built by the simulated robot without using the position tracking procedure for

Maps built without using odometric corrections. Dark areas represent cells with occupancy probabilities near to 1. (left) (
There is a trade of between computation time and movements of the robot. There are fewer rotations and better maps, when rotations are punished (
A new approach for a mobile robot to explore and navigate in an indoor environment that combines local control (via costs associated to cells in the
Previous works do not consider the actual direction of the robot, do not include the computation of safe paths, or are suitable only for exploration (Thrun, S., 1998b; Roy, N., Burgard, W. & Thrun, S., 1998)
As the experimental results confirm, the exploration follows a kind of
In addition, this approach minimizes the number of orientation changes, reducing odometric errors. Experimental results confirm that
A preprocessing of the travel space that results in a
In the future, we plan to use this approach to build maps of environments with
