CS 226 Statistical Techniques In Robotics Monte Carlo
CS 226 Statistical Techniques In Robotics Monte Carlo Localization Sebastian Thrun (Instructor) and Josh Bao (TA) http: //robots. stanford. edu/cs 226 Office: Gates 154, Office hours: Monday 1: 30 -3 pm © sebastian thrun, CMU, 2000
x = state t = time m = map z = measurement u = control Bayes Filters Bayes Markov [Kalman 60, Rabiner 85] © sebastian thrun, CMU, 2000 2
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) © sebastian thrun, CMU, 2000 3
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) © sebastian thrun, CMU, 2000 4
Probabilistic Localization p(xt|xt-1, ut) xt-1 laser data ut map m © sebastian thrun, CMU, 2000 p(z|x, m) 5
What is the Right Representation? Multi-hypothesis Kalman filter [Schiele et al. 94], [Weiß et al. 94], [Borenstein 96], [Gutmann et al. 96, 98], [Arras 98] [Weckesser et al. 98], [Jensfelt et al. 99] Histograms (metric, topological) Particles [Nourbakhsh et al. 95], [Simmons et al. 95], [Kaelbling et al. 96], [Burgard et al. 96], [Konolige et al. 99] © sebastian thrun, CMU, 2000 [Kanazawa et al 95] [de Freitas 98] [Isard/Blake 98] [Doucet 98] 6
Particle Filters © sebastian thrun, CMU, 2000 7
Particle Filter Represent p(xt| d 0. . t , m) by set of weighted particles {x(i)t, w(i)t} draw x(i)t-1 from p(xt-1|d 0. . t-1, m) draw x(i)t from p(xt | x(i)t-1, ut-1, m) Importance factor for x(i)t: © sebastian thrun, CMU, 2000 8
Monte Carlo Localization (MCL) © sebastian thrun, CMU, 2000 9
Monte Carlo Localization (MCL) § Take i-th sample § “Guess” next pose § Calculate Importance Weights § Resample © sebastian thrun, CMU, 2000 10
Monte Carlo Localization © sebastian thrun, CMU, 2000 11
Sample Approximations © sebastian thrun, CMU, 2000 12
Monte Carlo Localization, cont’d © sebastian thrun, CMU, 2000 13
Performance Comparison Markov localization (grids) Monte Carlo localization © sebastian thrun, CMU, 2000 14
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) © sebastian thrun, CMU, 2000 15
Localization in Cluttered Environments © sebastian thrun, CMU, 2000 16
Kidnapped Robot Problem © sebastian thrun, CMU, 2000 17
Probabilistic Kinematics map m © sebastian thrun, CMU, 2000 18
Pitfall: The World is not Markov! © sebastian thrun, CMU, 2000 19
error (in cm) Error as Function of Sensor Noise 1, 000 samples sensor noise level (in %) © sebastian thrun, CMU, 2000 20
Error as Function of Sensor Noise error (in cm) dual MCL mixed sensor noise level (in %) © sebastian thrun, CMU, 2000 21
Avoiding Collisions with Invisible Hazards Raw sensors Virtual sensors added © sebastian thrun, CMU, 2000 22
- Slides: 22