linear time vehicle relocation in slam -...

7
Linear time vehicle relocation in SLAM Jos´ e Neira, Juan D. Tard´ os, Jos´ e A. Castellanos Dept. Inform´ atica e Ingenier´ ıa de Sistemas Universidad de Zaragoza c/Mar´ ıa de Luna 1, 50018 Zaragoza, Spain {jneira, tardos, jacaste}@unizar.es Abstract — In this paper we propose an algorithm to deter- mine the location of a vehicle in an environment represented by a stochastic map, given a set of environment measure- ments obtained by a sensor mounted on the vehicle. We show that the combined use of (1) geometric constraints considering feature correlation, (2) joint compatibility, (3) random sampling and (4) locality, make this algorithm lin- ear with both the size of the stochastic map and the number of measurements. We demonstrate the practicality and ro- bustness of our approach with experiments in an outdoor environment. I. Introduction The objective of simultaneous localization and mapping (SLAM) is to use the information obtained by sensors mounted on a vehicle to build and update a map of the environment and compute the vehicle location in that map. The most critical point in obtaining a robust SLAM solu- tion is data association, i.e. relating sensor measurements with the elements included in the map. There are two basic approaches to address the data association problem: Search in pose space: where a set of candidate vehicle locations is generated and analyzed looking for consistency between sensor measurements and the previous map. This idea, that can be used with raw sensor data, is the base of the Monte Carlo localization approach to SLAM [16]. Search in correspondence space: where sensor measure- ments are processed to obtain discrete features (points, lines, etc.) that are matched against the features stored in the map. This is the approach used in all feature based approaches to SLAM [4], [6], [8]. During continuous SLAM, the uncertainty in the loca- tion of the map elements relative to the vehicle is usually small, and both techniques have proven able to solve the problem. In this work, we concentrate on the more difficult vehicle relocation problem, also known as first-location, global localization, or “kidnapped” robot problem. It can be stated as follows: given a vehicle in an unknown location, and a map of the environment, use a set of measurements taken by onboard sensors to determine the vehicle location within the map. Several works have addressed the problem using an a pri- ori map of the environment (see [5] for a review). In SLAM, solving this problem is essential to be able to re-start the robot in a previously learned environment, to recover from localization errors, or to safely close big loops. Monte Carlo localization addresses the problem by sim- ply generating vehicle pose hypotheses covering all possi- ble locations and computing the likelihood of each pose by looking for consistency with the map. However, re- sults about the computing time required and the speed of convergence of such an extensive technique have not been reported. On the other hand, feature based approaches to SLAM usually rely on the gated nearest neighbor (NN) algorithm, that can only solve data association when a good vehicle estimation exists. Our Joint Compatibility technique [14] is much more robust, but it is still restricted to some meters and less than 30 degrees of vehicle error. When there is no vehicle estimation, previous work on object recognition suggests that simple geometric constraints can be used to limit the complexity of searching the correspondence space [10]. Recent implementations of this idea include the work of Bailey et al. [1] using graph theory, the work of Lim and Leonard [13] using a hypothesize and test technique, and our own work [5] using Grimson’s interpretation tree [10]. In this paper we further elaborate on the interpreta- tion tree approach, presenting in section II alternative al- gorithms able to solve the relocation problem. We intro- duce in section III the idea of locality that allows to obtain search algorithms linear in time with the size of the map. Finally, we provide experimental results comparing the dif- ferent algorithms, using the datasets obtained by Guivant and Nebot [11] with an outdoor vehicle. The winner is a novel algorithm that, combining random sampling and hypothesis verification, solves the relocation problem in a very robust and efficient way. II. Relocation in SLAM In classical stochastic mapping, the environment information related to a set of elements F = {B, F 0 ,F 1 ,...,F n } is represented by a global map M B F = x B F , P B F ), where: ˆ x B F = ˆ x B F0 . . . ˆ x B Fn ; P B F = P B F0F0 ··· P B F0Fn . . . . . . . . . P B FnF0 ··· P B FnFn (1) The state vector ˆ x B F contains the estimated location of the vehicle F 0 and of n environment features F 1 ...F n , all with respect to a base reference B. Matrix P B F is the estimated error covariance of ˆ x B F . In the case of the vehicle, its loca- tion vector ˆ x B F0 describes the transformation from B to F 0 . In the case of an environment feature F j , the parameters that compose its location vector ˆ x B Fj depend on the feature type. Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan, September 14-19, 2003 0-7803-7736-2/03/$17.00 ©2003 IEEE 427

Upload: trandang

Post on 29-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

Linear time vehicle relocation in SLAM

Jose Neira, Juan D. Tardos, Jose A. CastellanosDept. Informatica e Ingenierıa de Sistemas

Universidad de Zaragozac/Marıa de Luna 1, 50018 Zaragoza, Spain

{jneira, tardos, jacaste}@unizar.es

Abstract—In this paper we propose an algorithm to deter-mine the location of a vehicle in an environment representedby a stochastic map, given a set of environment measure-ments obtained by a sensor mounted on the vehicle. Weshow that the combined use of (1) geometric constraintsconsidering feature correlation, (2) joint compatibility, (3)random sampling and (4) locality, make this algorithm lin-ear with both the size of the stochastic map and the numberof measurements. We demonstrate the practicality and ro-bustness of our approach with experiments in an outdoorenvironment.

I. Introduction

The objective of simultaneous localization and mapping(SLAM) is to use the information obtained by sensorsmounted on a vehicle to build and update a map of theenvironment and compute the vehicle location in that map.The most critical point in obtaining a robust SLAM solu-tion is data association, i.e. relating sensor measurementswith the elements included in the map. There are two basicapproaches to address the data association problem:• Search in pose space: where a set of candidate vehiclelocations is generated and analyzed looking for consistencybetween sensor measurements and the previous map. Thisidea, that can be used with raw sensor data, is the base ofthe Monte Carlo localization approach to SLAM [16].• Search in correspondence space: where sensor measure-ments are processed to obtain discrete features (points,lines, etc.) that are matched against the features storedin the map. This is the approach used in all feature basedapproaches to SLAM [4], [6], [8].

During continuous SLAM, the uncertainty in the loca-tion of the map elements relative to the vehicle is usuallysmall, and both techniques have proven able to solve theproblem. In this work, we concentrate on the more difficultvehicle relocation problem, also known as first-location,global localization, or “kidnapped” robot problem. It canbe stated as follows:given a vehicle in an unknown location, and a map of theenvironment, use a set of measurements taken by onboardsensors to determine the vehicle location within the map.

Several works have addressed the problem using an a pri-ori map of the environment (see [5] for a review). In SLAM,solving this problem is essential to be able to re-start therobot in a previously learned environment, to recover fromlocalization errors, or to safely close big loops.

Monte Carlo localization addresses the problem by sim-ply generating vehicle pose hypotheses covering all possi-ble locations and computing the likelihood of each pose

by looking for consistency with the map. However, re-sults about the computing time required and the speed ofconvergence of such an extensive technique have not beenreported.

On the other hand, feature based approaches to SLAMusually rely on the gated nearest neighbor (NN) algorithm,that can only solve data association when a good vehicleestimation exists. Our Joint Compatibility technique [14] ismuch more robust, but it is still restricted to some metersand less than 30 degrees of vehicle error. When there isno vehicle estimation, previous work on object recognitionsuggests that simple geometric constraints can be used tolimit the complexity of searching the correspondence space[10]. Recent implementations of this idea include the workof Bailey et al. [1] using graph theory, the work of Lim andLeonard [13] using a hypothesize and test technique, andour own work [5] using Grimson’s interpretation tree [10].

In this paper we further elaborate on the interpreta-tion tree approach, presenting in section II alternative al-gorithms able to solve the relocation problem. We intro-duce in section III the idea of locality that allows to obtainsearch algorithms linear in time with the size of the map.Finally, we provide experimental results comparing the dif-ferent algorithms, using the datasets obtained by Guivantand Nebot [11] with an outdoor vehicle. The winner isa novel algorithm that, combining random sampling andhypothesis verification, solves the relocation problem in avery robust and efficient way.

II. Relocation in SLAM

In classical stochastic mapping, the environmentinformation related to a set of elements F ={B, F0, F1, . . . , Fn} is represented by a global map MB

F =(xBF ,PB

F ), where:

xBF =

xBF0...

xBFn

; PBF =

PBF0F0

· · · PBF0Fn

.... . .

...PB

FnF0· · · PB

FnFn

(1)

The state vector xBF contains the estimated location of the

vehicle F0 and of n environment features F1 . . . Fn, all withrespect to a base reference B. Matrix PB

F is the estimatederror covariance of xB

F . In the case of the vehicle, its loca-tion vector xB

F0describes the transformation from B to F0.

In the case of an environment feature Fj , the parametersthat compose its location vector xB

Fjdepend on the feature

type.

Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan, September 14-19, 2003

0-7803-7736-2/03/$17.00 ©2003 IEEE 427

Page 2: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

......

...... ......

......

......

Fig. 1. Interpretation tree of measurements E1 · · ·Em in terms ofmap features F1 · · ·Fn.

Given a new set of m measurements z = {z1, . . . , zm} ofthe environment features E = {E1 . . . Em} obtained by asensor mounted on the vehicle, with R being the estimatederror covariance of z, the purpose of data association is toproduce a hypothesis:

H = [j1 j2 · · · jm]

associating each measurement Ei with its correspondingmap feature Fji (ji = 0 indicates that zi is consideredspurious). This hypothesis can be used to determine orrefine the vehicle and environment feature locations.

The space of measurement-feature correspondences canbe represented by an interpretation tree of m levels [10] (seefig. 1). Each node of the tree at level i has n+1 branches,corresponding to the n alternative feature pairings for themeasurement Ei, and an extra branch (star-branch) to ac-count for the measurement being spurious. The size of thiscorrespondence space, (i.e. the number of alternative hy-potheses) is exponential with the number of measurements,Nh = (n + 1)m.

Next we describe several algorithms to perform data as-sociation by searching in the interpretation tree for themost plausible hypothesis in a depth-first branch andbound manner. Each algorithm implements a differenttechnique to validate the set of pairings in a hypothesis.

A. Geometric Constraints

Given no estimation of the vehicle location, location in-dependent constraints must be used to efficiently traversethe interpretation tree in search for the best hypothesis.Grimson [10] proposed a branch and bound algorithm formodel based geometric object recognition that uses unaryand binary geometric constraints.

Given a pairing pij = (Ei, Fj), let ui = (ui,Pi) anduj = (uj ,Pj) be d-dimensional stochastic parameter vec-tors (e.g. length for segments, angle for corners, or radiusfor circular features) related to the measurement Ei andthe feature Fj respectively. Assuming independence be-tween measurements and the stochastic map, the unaryconstraint is satisfied when:

D2ij = (ui − uj)T (Pi + Pj)−1(ui − uj)

< χ2d,α (2)

Given two pairings pij = (Ei, Fj) and pkl = (Ek, Fl),a binary geometric constraint is a geometric relation be-tween measurements Ei and Ek that must also be satisfiedbetween their corresponding map features Fj and Fl (e.g.,distance between two points, angle between two segments).In the case of map features, let fjl be a d-dimensional func-tion to compute a geometric relation between features Fj

and Fl:

bjl = fjl

(xBF

)(3)

with estimated mean and covariance:

bjl = fjl

(xBF

)Pjl = Jj PB

FjFjJT

j + Jl PBFlFl

JTl

+ Jj PBFjFl

JTl + Jl PB

FlFjJT

j

Jj =∂fjl

∂xBFj

∣∣∣∣∣xBF

; Jl =∂fjl

∂xBFl

∣∣∣∣∣xBF

The influence of the correlations between the features in thecomputation of the geometric relation is important in thecase where the features are distant from the map base refer-ence. Their estimated location may be very imprecise, buttheir correlation will allow to estimate their geometric re-lations with sensor precision. Similar equations correspondto measurements Ei and Ek. Assuming measurements in-dependent from map features, the binary constraint is sat-isfied when:

D2ikjl = (bik − bjl)T (Pik + Pjl)−1(bik − bjl) < χ2

d,α

Figure 2 describes the recursive branch and bound al-gorithm (GCBB) which computes the best hypothesis fromthe available measurements and the features of the stochas-tic map using unary and binary location independent ge-ometric constraints. Starting with an empty hypothesis,the algorithm proceeds in a depth-first branch and boundmanner. At the leaf-level of the interpretation tree, thealgorithm checks whether it has come up with a hypothe-sis having more consistent pairings than the current best.Given that satisfying binary geometric constraints does notguarantee that a hypothesis is globally consistent [10], thevehicle location is estimated and the joint compatibilitytest [14] is used to verify global consistency of the matchinghypothesis. Note that the algorithm performs a boundedsearch, it evaluates the potential benefit of considering thestar-branch before it recurs. Branching can be done bypre-ordering the measurements so that, for example, themost precise (usually closer to the sensor) are consideredfirst. Both unary and binary constraints, being locationindependent, can be pre-computed before recursion starts.

428

Page 3: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

procedure relocation GCBB:Best = []GCBB([], 1)return Best

procedure GCBB (H, i):-- H : current hypothesis-- i : observation to be matchedif i > m -- leaf node?

if pairings(H) > pairings(Best) -- did better?estimate location (H)if joint compatibility(H)

Best = Hfi

fielse

for j in {1 . . . n}if unary(i, j) ∧ binary(i, j, H)

GCBB([H j], i + 1) -- (Ei, Fj) acceptedfi

rofif pairings(H) + m - i > pairings(Best)

GCBB([H 0], i + 1) -- try star nodefi

fi

Fig. 2. Geometric Constraints Branch and Bound

B. Maximum clique

A closely related technique also used in object recogni-tion consists in building a compatibility graph whose nodesare unary compatible matchings and whose arcs representpairs of binary compatible matchings. Finding the largesthypothesis consistent with unary and binary constraints isequivalent to finding the maximum clique in the compati-bility graph (see [10] for a discussion and references). Thisidea has been applied recently by Bailey et al. [1] to theproblem of robot relocation with an a priori map.

To compare with GCBB, we have also implemented aclique search algorithm, MAXCLI. Given that the compat-ibility graph is very sparse, we have chosen to implementthe branch and bound clique algorithm of Carraghan andPardalos [3] considered one of the best for sparse graphs(it is also three to four times faster than the clique al-gorithm used in [1]). We have found that its pruning ofthe correspondence space is more effective, and it can beprogrammed very efficiently in MATLAB using sparse ma-trices, giving as result a faster algorithm than GCBB.

C. Generation-verification

An alternative group of algorithms, originally developedfor geometric object recognition [2], [7], follow a hypothesisgeneration-verification scheme. Based on this idea, we havedeveloped algorithm GV (fig. 3). The generation of candi-date hypotheses is carried out using location independentunary and binary geometric constraints, just as in GCBB.But as soon as the number of pairings is adequate to de-

procedure relocation GV:Best = []GV([], 1)return Best

procedure GV (H, i):-- H : current hypothesis-- i : observation to be matchedif i > m

if pairings(H) > pairings(Best)Best = H

fielseif pairings(H) == 3

estimate location (H)if joint compatibility(H)

JCBB(H, i) -- hypohtesis verificationfi

elsefor j in {1 . . . n}

if unary(i, j) ∧ binary(i, j, H)GV([H j], i + 1)

firofif pairings(H) + m - i > pairings(Best)

GV([H 0], i + 1)fi

fi

Fig. 3. Generation-verification

termine vehicle location (i.e. two points, two non-parallelsegments), the hypothesis verification step takes place, pre-dicting the location of map features and searching for pair-ings with the remaining measurements. For this purpose,we use the Joint Compatibility Branch and Bound (JCBB)algorithm (see fig. 4), proven to be very robust when anestimated vehicle location is available [14].

The justification of this approach lies in the fact thatjoint compatibility is a tighter consistency criterion thangeometric constraints, and thus branch pruning is more ef-fective. The potential drawback of this approach is thathypothesis verification is location dependent, and thus,the constraints to be used for validation cannot be pre-computed. To limit the amount of location dependent con-straints to apply, in our implementation verification takesplace when a hypothesis contains at least three consistentpairings. The third pairing, being redundant, reduces theamount of incorrect hypothesis that arrive at the verifica-tion stage.

D. Random sampling

Branch and bound algorithms are forced to traverse thewhole correspondence space until a good bound is found.In the SLAM relocation problem, when the vehicle is notwithin the mapped area, a good bound is never found.Since the correspondence space is exponential with thenumber of measurements, in this worst case the executiontimes of GCBB, MAXCLI and GV are very long.

429

Page 4: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

procedure JCBB (H, i):-- H : current hypothesis-- i : observation to be matchedif i > m

if pairings(H) > pairings(Best)Best = H

fielse

for j in {1 . . . n}if unary(i, j)

∧ joint compatibility([H j])JCBB([H j], i + 1)

firofif pairings(H) + m - i > pairings(Best)

JCBB([H 0], i + 1)fi

fi

Fig. 4. Joint Compatibility Branch and Bound

procedure relocation RS:Pfail = 0.05, p = 3, Pg = 0.5Best = []i = 0repeat

z = random permutation(z)RS([], 1)Pg = max(Pg, pairings(Best) / m)t = log Pfail/ log (1− Pg

p)i = i + 1

until i >= treturn Best

procedure RS (H, i):-- H : current hypothesis-- i : observation to be matchedif i > m

if pairings(H) > pairings(Best)Best = H

fielseif pairings(H) == 3

estimate location (H)if joint compatibility(H)

JCBB(H, i) -- hypohtesis verificationfi

else -- branch and bound without star nodefor j in {1 . . . n}

if unary(i, j) ∧ binary(i, j, H)RS([H j], i + 1)

firof

fi

Fig. 5. Random Sampling

This fact led us to consider a relocation algorithm wherethe hypothesis generation process is done using randomsampling (RS) instead of by full traversal of the interpre-tation tree. Our RS algorithm (fig. 5) is an adaptation ofthe RANSAC algorithm [9] for the relocation problem. Thefundamental idea is to randomly select p of the m measure-ments to try to generate vehicle localization hypotheses,and verify them with all m measurements using joint com-patibility. If Pg is the probability that a randomly selectedmeasurement corresponds to a mapped feature (not spuri-ous) and Pfail is the acceptable probability of not findinga good solution when it exists, the required number of triesis:

t =⌈

log Pfail

log (1− Pgp)

⌉(4)

For the reason explained above, we use p = 3. ChoosingPfail = 0.05 and considering a priori that only half ofthe measurements are present in the map Pg = 0.5, themaximum number of tries is t = 23. If you can considerthat at least 90% of the measurements correspond to amap feature, the number of required tries is only 3. TheRS algorithm randomly permutes the measurements andperforms hypothesis generation considering the first threemeasurements not spurious (without star branch). Thenumber of tries is re-calculated to adapt to the currentbest hypothesis, so that no unnecessary tries are carriedout [12].

Notice that the maximum number of tries does not de-pend on the number of measurements. Experiments willshow that this fact is crucial in reducing the computationalcomplexity of the RS algorithm.

III. Locality

As it has been explained above, the main problem of theinterpretation tree approach is the exponential number ofpossible hypotheses (tree leaves): Nh = (n + 1)m. The useof geometric constraints and branch and bound search dra-matically reduces the number of nodes explored, by cuttingdown entire branches of the tree. However, Grimson [10]has shown that in the general case, where spurious mea-surements can arise, the amount of search needed to findthe best interpretation is still exponential. In these condi-tions, the interpretation tree approach seems impracticableexcept for very small maps.

To overcome this difficulty we introduce the concept oflocality: given that the set of measurements has been ob-tained from a unique vehicle location (or from a set ofnearby locations), it is sufficient to try to find matchingswith local sets of features in the map. Given a map featureFj , we define its locality L(Fj) as the set of map featuresthat are close enough to it, such that they could be seenfrom the same vehicle location. For a given mapping prob-lem, the maximum cardinality of the locality sets will be aconstant c that depends on the sensor range and the max-imum density of features in the environment.

During the interpretation tree search, once a matchinghas been established with a map feature, the search can

430

Page 5: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e
Page 6: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

−80 −60 −40 −20 0 20 40 60 800

10

20

30

40

50

60

70

80

Fig. 7. Segmentation of scan 120, with m = 13 tree trunks detected.Radiuses are magnified × 5.

−50 0 50 100 150

−80

−60

−40

−20

0

20

40

60

80

Fig. 8. Stochastic map of 2D points built until step 1000. There aren = 99 features. Reference vehicle trajectory for steps 1001 to 2500.Radiuses are magnified × 5.

map of n = 99 point features (see fig. 8). The relocationalgorithms GCBB, GV, MAXCLI and RS were executedon scans 1001 to 2500. This guarantees that we use scansstatistically independent from the stochastic map. The ra-diuses of the trunks are used as unary constraints, and thedistance between the centers as binary constraints. To ver-ify the vehicle locations obtained by our algorithms, weobtained a reference solution running continuous SLAMuntil step 2500. Fig. 8 shows the reference vehicle locationfor steps 1001 to 2500.

No significant difference was detected in the solutionsobtained by the four algorithms. They agree most of thetime because the techniques that they use to validate ahypothesis are substantially equivalent. In this experiment,when six or more measurements are paired, the algorithmsreturn the true vehicle location, with no false positives.Otherwise, the solution must be discarded as being nonreliable.

In the experiment, of the 1500 steps of the trajectory con-sidered, we have selected 737 steps where the vehicle waswithin the map limits. In 604 (82%) cases, the algorithmsfound six or more pairings, and the location obtained wasconsistent with the reference solution (within 2σ bounds).In the remaining cases, either less than six points were seg-mented from the scan, (74 case, 10%), or the algorithms

6 7 8 9 10 11 12 13 14 150

1

2

3

4

5

6

7

GCBBGVMAXCLIRS

Fig. 9. Mean execution time .vs. m (number of measurements) forsteps 1001 to 2500 of the vehicle trajectory.

could not find six matchings (59 cases, 8%). In these cases,more sensor information is necessary to reliably determinethe vehicle location.

We found a significant difference in efficiency. The algo-rithms where implemented in MATLAB, and executed on aPentium IV, at 1.7GHz. Figure 9 shows the mean runningtime of each algorithm versus the number of measurementsin cases where the relocation was successful. GV turns outto be the less efficient. This is due to the fact that hypothe-ses must be verified using location dependent constraints,which cannot be pre-computed. The best algorithm is RS,with mean execution time of less than 1s.

The worst case for all algorithms happens when the ve-hicle is not in the mapped area. In this case a good boundcannot be found, and the whole correspondence space mustbe explored. To compare the worst case performance ofeach algorithm, we generated random measurements form = 3 . . . 30, 100 times for each value of m, and executedthe algorithms. Only MAXCLI and RS are considered, be-cause both GCBB and GV are highly exponential on m,and their performance is extremely poor. Figure 10 showsthe mean time of both algorithms versus m. In this ex-periment, the running time of MAXCLI appears to growquadratically with m. This is because the dominant cal-culation is the determination of binary constraints, whichis O(cnm2). In the case of RS, time grows steeply untilm = 7. In these cases, all combinations of three measure-ments selected from m are tried, which is less than themaximum number of tries t = 23 given by eq. (4). Af-ter that, RS appears to grow linearly with m, because thedominant calculation is the individual innovation test ofthe hypothesis verification step, which is O(cm). In bothalgorithms the search part is an exponential component,but it accounts for a very small part of the total runningtime for these values of m. RS shows to be superior toMAXCLI for more than 15 measurements.

432

Page 7: Linear time vehicle relocation in SLAM - unizar.eswebdiis.unizar.es/GRPTR/pubs/Neira_ICRA_2003.pdf · Linear time vehicle relocation in SLAM Jos´e Neira, Juan D. Tard´os, Jos´e

0 5 10 15 20 25 300

1

2

3

4

5

6

7

8

9

10

MAXCLIRS

Fig. 10. Mean execution time .vs. m for random measurements

V. Conclusions

In this paper we have proposed an algorithm that deter-mines the location of a vehicle in a stochastic map, given aset of measurements obtained by an onboard sensor. Thisalgorithm follows a generation-verification scheme, whosemain novelties are: (1) hypothesis generation is carried outusing geometric constraint validation under feature corre-lation, described here for the first time; (2) the correspon-dence space is sampled instead of completely traversed,which results in a great reduction of complexity at the rea-sonable expense of a small probability of failure; and (3) theconcept of locality is introduced, which makes constant thenumber of map features that the algorithm must considersimultaneously. We have shown how these properties makethis algorithm linear with both the size of the stochasticmap, and the number of sensor measurements.

This algorithm is potentially useful also in multi-vehicleSLAM. If a group of vehicles independently build mapsof regions of an environment, identifying the commonarea mapped will allow to join the information in a sin-gle stochastic map. This constitutes the subject of futurework.

Acknowledgements

Enormous thanks to Jose Guivant and Eduardo Nebot,from the University of Sydney, for making public the Vic-toria Park dataset, as well as the MATLAB tree segmenta-tion code, at http://www.acfr.usyd.edu.au. This researchhas been funded in part by the Direccion General de Inves-tigacion of Spain under project DPI2000-1265.

References

[1] T. Bailey, E. M. Nebot, J. K. Rosenblatt, and H. F. Durrant-Whyte. Data association for mobile robot navigation: A graphtheoretic approach. In Proc. IEEE Int. Conf. Robotics and Au-tomation, pages 2512–2517, San Francisco, California, 2000.

[2] R.C. Bolles and P. Horaud. 3DPO: A three-dimensional partorientation system. Int. J. Robotics Research, 5(2):3–26, 1986.

[3] R. Carraghan and P.M. Pardalos. An exact algorithm for the

maximum clique problem. Operations Research Letters, 9:375–382, 1990.

[4] J. A. Castellanos, J. M. M. Montiel, J. Neira, and J. D. Tardos.The SPmap: A probabilistic framework for simultaneous lo-calization and map building. IEEE Trans. Robot. Automat.,15(5):948–953, 1999.

[5] J. A. Castellanos and J. D. Tardos. Mobile Robot Localizationand Map Building: A Multisensor Fusion Approach. KluwerAcademic Publishers, Boston, Mass., 1999.

[6] M. W. M. G. Dissanayake, P. Newman, H. F. Durrant-Whyte,S. Clark, and M. Csorba. A solution to the simultaneous local-ization and map building (SLAM) problem. IEEE Trans. Robot.Automat., 17(3):229–241, June 2001.

[7] O. D. Faugeras and M. Hebert. The representation recognition,and locating of 3D objects. Int. J. of Robotics Research, 5(3):27–52, 1986.

[8] H. J. S. Feder, J. J. Leonard, and C. M. Smith. Adaptive mo-bile robot navigation and mapping. Int. J. Robotics Research,18(7):650–668, July 1999.

[9] M. A. Fischler and R. C. Bolles. Random sample consensus:A paradigm for model fitting with applications to image analy-sis and automated cartography. Comm. Assoc. Comp. Mach.,24(6):381–395, 1981.

[10] W. E. L. Grimson. Object Recognition by Computer: The Roleof Geometric Constraints. The MIT Press, Cambridge, Mass.,1990.

[11] J. E. Guivant and E. M. Nebot. Optimization of the simul-taneous localization and map building algorithm for real timeimplementation. IEEE Trans. Robot. Automat., 17(3):242–257,June 2001.

[12] R. Hartley and A. Zisserman. Multiple View Geometry in Com-puter Vision. Cambridge University Press, Cambridge, U. K.,2000.

[13] J. H. Lim and J. J. Leonard. Mobile robot relocation from echolo-cation constraints. IEEE Trans. Pattern Analysis and MachineIntelligence, 22(9):1035–1041, September 2000.

[14] J. Neira and J. D. Tardos. Data association in stochastic map-ping using the joint compatibility test. IEEE Trans. Robot. Au-tomat., 17(6):890–897, 2001.

[15] J.D. Tardos, J. Neira, P.M. Newman, and J.J. Leonard. Robustmapping and localization in indoor environments using sonardata. Int. J. Robotics Research, 21(4):311–330, 2002.

[16] S. Thrun. An online mapping algorithm for teams of mobilerobots. Int. J. Robotics Research, 20(5):335–363, May 2001.

[17] S. Thrun. Simultaneous mapping and localization with sparseextended information filters: theory and initial results. TechnicalReport CMU-CS-02-112, Carnegie Mellon University, ComputerScience Department, Pittsburgh, PA, 2002.

433