Feb 5, 1996 - Whereas Moravec and Elfes construct a model of the environment given the position of the ..... 10] Hans P. Moravec and Martin C. Martin.
Estimating the Absolute Position of a Mobile Robot Using Position Probability Grids Wolfram Burgard
Dieter Fox
Daniel Hennig
Timo Schmidt
February 5, 1996 Abstract In order to re-use existing models of the environment mobile robots must be able to estimate their position and orientation in such models. Most of the existing methods for position estimation are based on special purpose sensors or aim at tracking the robot's position relative to the known starting point. This paper describes the position probability grid approach to estimating the robot's absolute position and orientation in a metric model of the environment. Our method is designed to work with standard sensors and is independent of any knowledge about the starting point. It is a Bayesian approach based on certainty grids. In each cell of such a grid we store the probability that this cell refers to the current position of the robot. These probabilities are obtained by integrating the likelihoods of sensor readings over time. Results described in this paper show that our technique is able to reliably estimate the position of a robot in complex environments. Our approach has proven to be robust with respect to inaccurate environmental models, noisy sensors, and ambiguous situations.
1 Introduction In order to make use of environmental models mobile robots always must know their current position and orientation1 in their environment. Therefore, the ability of estimating their position is one of the basic preconditions for the autonomy of mobile robots. The methods for position estimation can be roughly divided into two classes: relative and absolute position estimation techniques [5]. Members of the rst class track the robot's relative position according to a known starting point. The problem solved by these methods is the correction of accumulated dead reckoning errors coming from the inherent inaccuracy of the wheel encoders and other factors such as slipping. Absolute position estimation In the remainder of this paper we use the notion \position" to refer to \position and orientation" if not stated otherwise. 1
1
techniques attempt to determine the robots position without a priori information about the starting position. These approaches of the second class can be used to initialize the tracking techniques belonging to the rst class. This paper addresses the problem of estimating the absolute position of a mobile robot operating in a known environment. There are two reasons why we consider this problem as relevant: 1. Whenever the robot is switched on, it should be able to re-use its model of the environment. For this purpose, it rst has to localize itself in this model. 2. If the position tracking has failed, i.e. the robot has lost its position in the environment, the robot should be able to perform a repositioning. There are dierent types of special purpose sensors which can be utilized to estimate the absolute position of a robot. For example, active beacons give reliable results but increase the cost of a mobile robot. Alternatively, the environment could be equipped with markers easily detectable by the robot's sensors. But even in this case the robot must be able to deal with situations where markers are hidden or removed by humans or other robots. Therefore we are interested in position estimation techniques which are able to work without any modi cations of the environment and use sensors a mobile robot generally is equipped with. For example, such sensors are proximity sensors like ultrasonic sensors, infra-red sensors, and laser range- nders. Position estimation techniques of this type are generally regarded as map-matching techniques, because they match measurements of the sensors against the given model of the environment. We have the following requirements to such a method: 1. The method should be able to deal with uncertain information. This is important because Sensors are generally imperfect. This concerns wheel encoders as well as proximity sensors such as ultrasonic sensors or laser range- nders. Models of the environment are generally inaccurate. Possible reasons for deviations of the map from the real world come from imperfect sensors, measuring errors, simpli cations, open or closed doors, or even moving objects such as humans or other mobile robots. 2. The method should be able to deal with ambiguities. Typical oce environments contain several places which cannot be distinguished with a single measurement. As example consider a long corridor, where changes of the position due to the limited range of the sensors do not necessarily result in changes of the measured values. Thus, the set of possible positions of the robot is a region in that corridor. 2
3. The method should allow the integration of sensor readings from dierent types of sensors over time. Sensor fusion improves reliability while the integration over time compensates noise and is necessary to resolve ambiguities. Position probability grids simultaneously address all these desiderata. They allow a mobile robot to determine its position in typical oce environments within a short time. Moreover, our method is able to deal with uncertain sensor information and ambiguous situations. The approach described in this paper is based on the construction of certainty grid maps developed by Elfes and Moravec [9]. Certainty grid maps have been proven to be a powerful means for the solution of dierent problems. Initially, they were designed to provide a probabilistic model of the robot's environment by storing in each eld of the grid the probability that this cell is occupied by an obstacle. In the past such occupancy probability maps or variants of them have been successfully used for collision avoidance [1, 2] and path planning [3, 8]. The power of the certainty grid technique is its mathematical foundation as well as the ability to deal with dierent types of sensors and the inherent uncertainty of the data provided by sensors. This paper issues a further application area of this technique, namely the estimation of the absolute position of a robot. The principle of our approach is to accumulate in each cell of the position probability grid the posterior probability of this cell referring to the current position of the robot. Because we have to consider a discrete set of possible orientations in addition to the discretization of the two-dimensional environment, position estimation is a three-dimensional problem. This extension, however, does not result in any principle problems, because the certainty grid concept can easily be extended to problems with higher dimensionality [10]. After discussing related work Section 3 shows how to build position probability grids for the estimation of the absolute position of a mobile robot. In Section 4 we describe an application of this technique to ultrasonic sensors and occupancy probability maps as world model. Finally, Section 5 describes experiments with this application in typical oce environments.
2 Related work Various techniques for the estimation of the position of mobile vehicles by matching sensor readings against a given model of the environment have been developed in the past (see [4, 5] for overviews). Most of them address the problem of tracking the current position and orientation of the robot given its initial con guration. Recently, more and more probabilistic techniques are applied to position estimation problems. These approaches can be distinguished according to the type of maps they rely on. Techniques based on metric or grid-based representations of the environment generally generate unimodal or Gaussian distributions representing the estimation of the robot's 3
position. Wei et al. [17] store angle histograms constructed out of range- nder scans taken at dierent locations of the environment. The position and orientation of the robot is calculated by maximizing the correlation between histograms of new measurements with the stored histograms. Schiele and Crowley [13] compare dierent strategies to track the robots position based on occupancy grid maps. They use two dierent maps: a local grid computed using the most recent sensor readings, and a global map built during a previous exploration of the environment or by an appropriate CAD-tool. The local map is matched against the global map to produce a position and orientation estimate. This estimate is combined with the previous estimate using a Kalman lter [7], where the uncertainty is represented by the width of the Gaussian distribution. Compared to the approach of Wei et al., this technique allows an integration of dierent measurements over time rather than taking the optimum match of the most recent sensing as a guess for the current position. Other researchers developed positioning techniques based on topological maps. Nourbakhsh et al. [11] apply Markov Models to determine the node of the topological map which contains the current position of the robot. Dierent nodes of the topological map are distinguished by walls, doors or hallway openings. Such items are detected using ultrasonic sensors, and the position of the robot is determined by a \state-set progression technique", where each state represents a node in the topological map. This technique is augmented by certainty factors which are computed out of the likelihoods that the items mentioned above will be detected by the ultrasonic sensors. Simmons and Koenig [15] describe a similar approach to position estimation. They additionally utilize metric information coming from the wheel encoders to compute state transition probabilities. This metric information puts additional constraints on the robots location and results in more reliable position estimates. Kortenkamp and Weymoth [6] combine information obtained from sonar sensors and cameras using a Bayesian network to detect gateways between nodes of the topological map. The integration of sonar and vision information results in a much better place recognition which reduces the number of necessary robot movements respectively transitions between dierent nodes of the topological map. Due to the separation of the environment into dierent nodes the methods based on topological maps, in contrast to the methods based on metric maps described above, allow to deal with ambiguous situations. Such ambiguities are represented by dierent nodes having high position probabilities. However, the techniques based on topological maps provide a limited accuracy because of the low granularity of the discretization. This restricted precision is disadvantageously if the robot has to navigate fast through its environment or even grasp for objects. Our approach provides a ne grained, metric discretization of the environment, and is able to estimate the robots position up to a few centimeter. By integrating the likelihoods of measurements over time, it provides a discrete approximation of the position probability function for the environment. In combination with the metric tracking techniques, our approach can be used for the initialization of the tracking process. Even the methods based on topological maps can be augmented by our approach. If the nodes of the topological 4
map additionally contain metric information, our approach can be used to position the robot within a node.
3 Building position probability grids The certainty grid approach was originally designed by Elfes and Moravec as a probabilistic grid model for the representation of obstacles. The basic idea is to accumulate in each cell of a rectangular grid eld the probability that this cell is occupied by an obstacle. The main advantage of this technique lies in the ability to integrate sensory data over time and to combine data obtained from dierent types of sensors into a single map. Furthermore, it works well even with inaccurate sensors such as ultrasonic proximity sensors. Whereas Moravec and Elfes construct a model of the environment given the position of the robot and sensor readings, we go the opposite direction estimating the position given the environmental model and the sensor readings. For this purpose, we construct a position probability grid P containing in each eld the posterior probability that this eld includes the current position of the robot. For a grid eld x this certainty value is obtained by repeatedly ring the robot's sensors and accumulating in x the likelihoods of the sensed values supposed the center of x currently is the position of the robot in the environment model m. Each time the robot's sensors are red, the following two steps are carried out: 1. Shift P according to the movement of the robot since the last update. This includes a processing of P to deal with possible dead-reckoning errors. 2. For each grid eld x of P and each reading s, compute the likelihood of s supposed x is the current position of the robot in m, and combine this likelihood with the probability stored in x to obtain a new probability for x. The basic assumptions for our approach are:
The robot must have a model m of the world the sensor readings can be matched
against. Such models can either come from CAD-drawings of the environment or can themselves be grid representations of occupancy probabilities. The robot does not leave the environmental model. This assumption allows us to use the same size for the position probability grid P as for the environmental model m. The probability for positions outside of P is assumed to be 0.
In the remainder of this section we describe how to integrate dierent sensor readings into position probabilities. Furthermore we show how to keep track of the robot's movements with explicit consideration of possible dead-reckoning errors. 5
3.1 Integrating multiple sensor readings In order to give reliable position estimates we have to integrate the information of consecutive sensor readings. Unfortunately, we cannot apply the recursive Bayesian update formula [12] used by Elfes and Moravec in [8] to construct occupancy probability maps. The reason lies in the dierent hypotheses spaces. In [8] each cell of the occupancy grid is considered independently from the other cells of the grid so that there are two hypotheses for each cell, namely that the cell is occupied or not. If, however, we are estimating the position of a robot, we cannot consider the dierent elds independently, because the robot obviously can be in at most one cell of the grid. Therefore, the hypothesis space of the position estimation problem consists of jP j dierent hypotheses, where jP j is the size of the grid P . For each eld x of P the corresponding hypothesis is that the current position of the robot is represented by x, and the sum of the position probabilities over all elds of P must be 1. Suppose m is the model of the environment, and p(xjs1 ^ : : : ^ sn?1 ^ m) is the (posterior) probability that x refers to the current position of the robot, given m and the sensor readings s1; : : : ; sn?1. Then, to derive the formula specifying how to update the probability for x given new sensory input sn we start with the well known Bayesian inversion formula: (1) p(xjs1 ^ : : : ^ sn?1 ^ sn ^ m) = p(s1 ^ p:(:s: ^^s:n:?:1^^ssnjx^^smj)m )p(xjm) 1 n?1 n The denominator p(s1 ^ : : : ^ sn?1 ^ snjm) on the right side of Equation (1) is independent from x, and is generally regarded as a normalizing constant 1 (see [12]), which is computed by requiring that X p(xjs1 ^ : : : ^ sn?1 ^ sn ^ m) = 1 (2) x
Thus, we replace Eq. (1) by p(xjs1 ^ : : : ^ sn?1 ^ sn ^ m) = p(s1 ^ : : : ^ sn?1 ^ snjx ^ m) p(xjm) (3) Assuming conditional independence of sn from s1; : : : ; ^sn?1 given x and m, this is equivalent to p(xjs1 ^ : : : ^ sn?1 ^ sn ^ m) = p(s1 ^ : : : ^ sn?1jx ^ m) p(xjm) p(snjx ^ m) (4) Suppose 1 is the normalizing constant for p(xjs1 ^ : : : ^ sn?1 ^ m) and 2 = 1 . Thus, p(xjs1 ^ : : : ^ sn?1 ^ sn ^ m) = 1 p(s1 ^ : : : ^ sn?1jx ^ m) p(xjm) 2 p(snjx ^ m) (5) = 2 p(xjs1 ^ : : : ^ sn?1 ^ m) p(snjx ^ m) (6) While p(xjs1 ^ : : : ^ sn?1 ^ m) represents the old information, the new information is given by the term p(snjx ^ m). This value is the likelihood of measuring the sensory input sn 6
given the world model m and assuming that x refers to the current position of the robot. The constant 2 simply normalizes the sum of the position probabilities over all x up to 1. Equation (6) de nes the update of P given new sensory input sn. If P [x] is the value of eld x in P , then all we have to do is to multiply P [x] by p(snjx ^ m) and to store the result in x. After that, we have to normalize P . To initialize P [x] we use the a priori probability p(xjm) of x referring to the actual position of the robot given m. The estimation of the probability p(xjm) as well as the likelihood p(snjx ^ m) depend on the given world model and the type of the sensors used for position estimation. In Section 4 we demonstrate how to use occupancy probability maps for position estimation and how sensor readings of ultrasonic sensors are matched against such maps.
3.2 Integrating the movements of the robot In the previous section we showed how to update P given new sensor input sn. This section describes the operations on P which are necessary to keep track of the robots movements. To achieve this, the following three tasks have to be done: 1. We have to shift the map according to the robot's movement. 2. For each new position measurement x we have to consider how the trajectory from the previous position to x ts into the environment. For example, a trajectory leading the robot through free space has a higher probability than a trajectory through an obstacle. 3. We have to respect that the dead-reckoning information generally is inaccurate. Let n be the oset in grid elds for the latest movement, then the rst task corresponds to a straightforward shift of P by n. Assuming frequent updates of the position information we approximate the probability of the robot's trajectory from the previous position to x by p(xjm), i.e. we only consider the nal position of the trajectory. This value, multiplied by the value in x, gives the new position probability for x. Because the robot does not leave the environmental model, the update formula is: ( (x ? n) 2 P P [x] := P0 [x ? n] p(xjm) ifotherwise (7) The previous formula is correct under the assumption of perfect dead reckoning information. To respect the inherent uncertainty of the dead-reckoning we additionally apply a smoothing operation on P . If !x is a Gaussian distribution centered around x then this smoothing is done in the following way: P ! (~x) P [~x] P [x] := x~2Pm x ! (~x) (8) x~2m x 7
3.3 The position estimation procedure In the previous two sections we showed how to integrate new measurements of the sensors into the position probability grid, and how to respect movements of the robot. Suppose shift(P; n) is a procedure which shifts and smoothes P according to the movements of the robot as described in Section 3.2. Furthermore assume that integrate(P; sn) updates P given new sensory input at the current position of the robot. Then, we apply the procedure shift, if the measurement describes a movement of the robot, and the procedure integrate otherwise:
while new sensory input s is obtained do begin if s is a movement information then else
shift(P; s)
integrate(P; s); normalize(P ); end fwhileg We assume that proximity sensor input always follows immediately after a movement information, so that the correct position is used in the procedure integrate. At any time the eld of P with the highest probability represents the best estimation for the current position of the robot. The quality of this estimation depends on the value of the probability and on the dierence to the probabilities in the remaining elds of the grid. Thus, ambiguities are represented by dierent elds having a similar high probability. After developing the equations for the integration of position probabilities in position probability grids we next describe the application of this approach to ultrasonic sensors using occupancy grid maps as environmental model.
4 Position estimation with occupancy probability maps as world model 4.1 Matching sonar sensor readings against occupancy grids To compute the likelihood p(sjx ^ m) that a sensor reading s is received given the position x and an occupancy grid map m we follow Moravec's approach [8]. We consider a discretization R1; : : : ; Rk of possible distances measured by the sensor. Consequently, p(Rijx ^ m) is the likelihood that a the distance Ri is measured at the position x in m. There are two situations in which a sensor beam is re ected by a cell x~ of m covered by the segment Ri of a sonar cone if the robot is in position x. The usual case is that an occupied cell is hit by the sonar beam. On the other hand, there is a small chance that a sensor 8
beam erroneously is re ected. Possible reasons for such too short readings are cross-talk or inaccuracy of the world model. If m(~x) is the occupancy probability of eld x~ in m, then we approximate the likelihood that x~ re ects the sonar beam by m(~x) p(h(~x)jx ^ m) where p(h(~x)jx ^ m) is the probability that the sensor would detect the occupied cell in x~ given x is the position of the robot. The likelihood of a too short reading is computed by the product (1 ? m(~x)) p(e(~x)jx ^ m) where p(e(~x)jx ^ m) is the probability that the unoccupied cell x~ re ects the sonar beam. Thus, the likelihood that x~ does not re ect the sonar beam is (1 ? m(~x) p(h(~x)jx ^ m)) (1 ? (1 ? m(~x)) p(e(~x)jx ^ m))). Assuming the event that x~ re ects the sonar beam being conditionally independent of the re ection of all other cells in Ri, we compute the likelihood that Ri re ects a sonar beam by Y p(Rijx ^ m) = 1 ? [1 ? m(~x) p(h(~x)jx ^ m)] [1 ? (1 ? m(~x)) p(e(~x)jx ^ m)] (9) x~2Ri
Before the beam reaches Ri , it traverses R1 ; : : : ; Ri?1 . Supposed that the sonar reading s is included by range Ri , the likelihood p(sjx ^ m) equals the likelihood that Ri re ects the sonar beam given that none of the ranges R