![Page 1: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/1.jpg)
© sebastian thrun, CMU, 2000 1
CS226 Statistical Techniques In RoboticsMonte Carlo Localization
Sebastian Thrun (Instructor) and Josh Bao (TA)
http://robots.stanford.edu/cs226Office: Gates 154, Office hours: Monday 1:30-3pm
![Page 2: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/2.jpg)
© sebastian thrun, CMU, 2000 2
Bayes Filters
),,|(),,,|( 010010 muzxpmuzxzp ttttttt Bayes
[Kalman 60, Rabiner 85]
x = statet = timem = mapz = measurementu = control
Markov),,|(),|( 010 muzxpmxzp ttttt
101010101 ),,|(),,,|(),|( tttttttttt dxmuzxpmuzxxpmxzp
Markov
1101011 ),,|(),|(),|( ttttttttt dxmuzxpuxxpmxzp
),,|( 00 muzxp ttt
![Page 3: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/3.jpg)
© sebastian thrun, CMU, 2000 3
Bayes filters
Linear Gaussian: Kalman filters (KFs, EKFs) Discrete: Hidden Markov Models (HMMs) With controls: Partially Observable Markov
Decision Processes (POMDPs) Fully observable with controls: Markov Decision
Processes (MDPs) With graph-structured model: Dynamic Bayes
networks (DBNs)
![Page 4: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/4.jpg)
© sebastian thrun, CMU, 2000 4
Markov Assumption
Past independent of future given current state
Violated:• Unmodeled world state• Inaccurate models p(x’|x,u), p(z|x)• Approximation errors (e.g., grid, particles)• Software variables (controls aren’t random)
![Page 5: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/5.jpg)
© sebastian thrun, CMU, 2000 5
xt-1
ut
p(xt|xt-1,ut)
Probabilistic Localization
110101100 ),,|(),|(),|(),,|( tttttttttttt dxmuzxpuxxpmxzpmuzxp
map mlaser data p(z|x,m)
![Page 6: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/6.jpg)
© sebastian thrun, CMU, 2000 6
What is the Right Representation?
Multi-hypothesis
[Weckesser et al. 98], [Jensfelt et al. 99]
Particles
[Kanazawa et al 95] [de Freitas 98][Isard/Blake 98] [Doucet 98]
Kalman filter
[Schiele et al. 94], [Weiß et al. 94], [Borenstein 96], [Gutmann et al. 96, 98], [Arras 98]
[Nourbakhsh et al. 95], [Simmons et al. 95], [Kaelbling et al. 96], [Burgard et al. 96], [Konolige et al. 99]
Histograms(metric, topological)
![Page 7: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/7.jpg)
© sebastian thrun, CMU, 2000 7
Particle Filters
![Page 8: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/8.jpg)
© sebastian thrun, CMU, 2000 8
Particle Filter
1101110 ),|(),|(),|(),|( tttttttttt dxmdxpuxxpmxzpmdxp
Represent p(xt| d0..t ,m) by set of weighted particles {x(i)t,w(i)
t}
draw x(i)t1 from p(xt-1|d0..t1,m)
draw x(i)t from p(xt | x(i)
t1,ut1,m)
Importance factor for x(i)t:
ondistributi proposal
ondistributitarget )( itw
),|( )( mxzp itt
![Page 9: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/9.jpg)
© sebastian thrun, CMU, 2000 9
Monte Carlo Localization (MCL)
11...01...011...0...0 ),|(),|()|(),|( tttttttttttt dxuzxpxuxpxzpuzxp
![Page 10: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/10.jpg)
© sebastian thrun, CMU, 2000 10
Monte Carlo Localization (MCL)
Take i-th sample
“Guess” next pose
Calculate Importance Weights
Resample
),|(~ ][1
][ ittt
it xuxpx
1][1 t
it Xx
)|( ][][ itt
it xzpw
][][ )( itt
it wSxp
![Page 11: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/11.jpg)
© sebastian thrun, CMU, 2000 11
Monte Carlo Localization
![Page 12: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/12.jpg)
© sebastian thrun, CMU, 2000 12
Sample Approximations
![Page 13: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/13.jpg)
© sebastian thrun, CMU, 2000 13
Monte Carlo Localization, cont’d
![Page 14: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/14.jpg)
© sebastian thrun, CMU, 2000 14
Performance Comparison
Monte Carlo localizationMarkov localization (grids)
![Page 15: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/15.jpg)
© sebastian thrun, CMU, 2000 15
What Can Go Wrong?
Model limitations/false assumptions
Map false, robot outside map
Independence assumption in sensor measurement noise
Robot goes through wall Presence of people Kidnapped robot problem
Approximation (Samples) Small number of samples
(eg, n=1) ignores measurements
Perfect sensors Resampling without robot
motion Room full of chairs
(discontinuities)
![Page 16: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/16.jpg)
© sebastian thrun, CMU, 2000 16
Localization in Cluttered Environments
![Page 17: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/17.jpg)
© sebastian thrun, CMU, 2000 17
Kidnapped Robot Problem
![Page 18: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/18.jpg)
© sebastian thrun, CMU, 2000 18
Probabilistic Kinematics
map m
![Page 19: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/19.jpg)
© sebastian thrun, CMU, 2000 19
Pitfall: The World is not Markov!
99.0),|(),|()short is (?
1...1...1
tttt
zz
tt dxzuxpdzmxzpzpt
![Page 20: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/20.jpg)
© sebastian thrun, CMU, 2000 20
Error as Function of Sensor Noise
sensor noise level (in %)
erro
r (in
cm
)
1,000 samples
![Page 21: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/21.jpg)
© sebastian thrun, CMU, 2000 21
dual
mixed
MCL
Error as Function of Sensor Noise
sensor noise level (in %)
erro
r (in
cm
)
![Page 22: © sebastian thrun, CMU, 20001 CS226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA)](https://reader036.vdocument.in/reader036/viewer/2022062714/56649d435503460f94a1f34a/html5/thumbnails/22.jpg)
© sebastian thrun, CMU, 2000 22
Avoiding Collisions with Invisible Hazards
Raw sensors
ttttamzt dxzuxpIazpt
),|()( 1..1..1),raytrace(
99.0)(sup* azpa ta
Virtual sensors added