Presentation is loading. Please wait.

Presentation is loading. Please wait.

Monte Carlo Localization for Mobile Robots Frank Dellaert 1, Dieter Fox 2, Wolfram Burgard 3, Sebastian Thrun 4 1 Georgia Institute of Technology 2 University.

Similar presentations


Presentation on theme: "Monte Carlo Localization for Mobile Robots Frank Dellaert 1, Dieter Fox 2, Wolfram Burgard 3, Sebastian Thrun 4 1 Georgia Institute of Technology 2 University."— Presentation transcript:

1 Monte Carlo Localization for Mobile Robots Frank Dellaert 1, Dieter Fox 2, Wolfram Burgard 3, Sebastian Thrun 4 1 Georgia Institute of Technology 2 University of Washington 3 University of Bonn 4 Carnegie Mellon University

2 Take Home Message Representing uncertainty using samples is powerful, fast, and simple !

3 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

4 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

5 Minerva

6 Motivation Crowded public spaces Unmodified environments

7 Museum Application Exhibit Desired Location

8 Global Localization Where in the world is Minerva the Robot ? Vague initial estimate Noisy and ambiguous sensors

9 Local Tracking Sharp initial estimate Noisy and ambiguous sensors

10 The Bayesian Paradigm Knowledge as a probability distribution 60% Rain 40% dry

11 Probability of Robot Location P(Robot Location) X Y State space = 2D, infinite #states

12 Bayesian Filtering Two phases:1. Prediction Phase 2. Measurement Phase

13 1. Prediction Phase P(x t ) =  P(x t |x t-1,u) P(x t-1 ) u x t-1 xtxt Motion Model

14 2. Measurement Phase P(x t |z) = k P(z|x t ) P(x t ) z xtxt Sensor Model

15 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

16 What sensor ? Sonar ? Laser ? Vision ?

17 Problem: Large Open Spaces Walls and obstacles out of range Sonar and laser have problems One solution: Coastal Navigation

18 Problem: Large Crowds Horizontally mounted sensors have problems One solution: Robust filtering

19 Solution: Ceiling Camera Upward looking camera Model of the world = Ceiling Mosaic

20 Global Alignment (other talk)

21 Ceiling Mosaic

22 Large FOV Problems 3D ceiling -> 3D Model ? Matching whole images slow

23 Small FOV Solution Model = orthographic mosaic No 3D Effects Very fast

24 Vision based Sensor P(z|x) h(x) z

25 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

26 Hidden Markov Models ABCD E A B C D E

27 Kalman Filter motion Very powerful Gaussian, unimodal sensor

28 Under Light

29 Next to Light

30 Elsewhere

31 Markov Localization Fine discretization over {x,y,theta} Very successful: Rhino, Minerva, Xavier…

32 Dynamic Markov Localization Burgard et al., IROS 98 Idea: use Oct-trees

33 Sampling as Representation P(Robot Location) X Y

34 Samples Densities Density => samples Obvious Samples => density Histogram, Kernel Density Estimation

35 Sampling Advantages Arbitrary densities Memory = O(#samples) Only in “Typical Set” Great visualization tool ! minus: Approximate

36 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

37 Disclaimer Handschin 1970 (!) lacked computing power Bootstrap filter 1993 Gordon et al. Monte Carlo filter 1996 Kitagawa Condensation 1996 Isard & Blake

38 Added Twists Camera moves, not object Global localization

39 Monte Carlo Localization weighted S ’ k SkSk S’kS’k S k-1 PredictWeightResample

40 1. Prediction Phase u Motion Model P(x t |,u)

41 2. Measurement Phase Sensor Model P(z|x t )

42 3. Resampling Step O(N)

43 A more in depth look

44 Bayes Law, new look Densities: update prior p(x) to p(x|z) via l(x;z) Samples update a sample from p(x) to a sample from the posterior p(x|z) through l(x;z)

45 Bayes Law Problem We really want p(x|z) samples But we only have p(x) samples ! How can we upgrade p(x) to p(x|z) ?

46 More General Problem We really want h(x) samples But we only have g(x) samples ! How can we upgrade g(x) to h(x) ?

47 Solution = Importance Sampling 1. generate x i from g(x) 2. calculate w i = h(x i )/g(x i ) 3. assign weight q i = w i /  w i Still works if h(x) only known up to normalization factor

48 Mean and Weighted Mean Fair sample: obtain samples x i from p(x|z) E[m(x)|z] ~  m(x i )/N Weighted sample: obtain weighted samples (x i,q i ) from p(x|z) E[m(x)|z] ~  q i m(x i )

49 Bayes Law using Samples 1. generate x i from p(x) 2. calculate w i = l(x i ;z) 3. assign weight q i = w i /  w i Indeed: w i =p(x|z)/p(x) = l(x;z) p(x) /p(x) = l(x;z) 4. if you want, resample from (x i,q i )

50 Monte Carlo Localization weighted S ’ k SkSk S’kS’k S k-1 PredictWeightResample

51 Outline Robot Localization Sensor ? Density Representation ? Monte Carlo Localization Results

52 Video A Office Environment Sonar Sensors Global Localization Symmetry confusion

53 Global Localization

54 Global Localization (2)

55 Global Localization (3)

56 Reference Path

57 Accuracy

58 Smithsonian Museum of American History Ceiling Camera, Global Localization Video B

59 Odometry Only

60 Using Vision

61 Fast Internet Morning

62 Odometry only Vision Laser

63 Video C Univ. Washington Sieg Hall Laser

64 Conclusions Monte Carlo Localization: Powerful yet efficient Significantly less memory and CPU Very simple to implement Future: discrete states, rate information, distributed

65 Take Home Message Representing uncertainty using samples is powerful, fast, and simple !


Download ppt "Monte Carlo Localization for Mobile Robots Frank Dellaert 1, Dieter Fox 2, Wolfram Burgard 3, Sebastian Thrun 4 1 Georgia Institute of Technology 2 University."

Similar presentations


Ads by Google