Download presentation
Presentation is loading. Please wait.
Published byOliver Hoover Modified over 9 years ago
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 !
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.