Probabilistic Algorithms for Mobile Robot Mapping Sebastian Thrun
Probabilistic Algorithms for Mobile Robot Mapping Sebastian Thrun Carnegie Mellon & Stanford Wolfram Burgard University of Freiburg and Dieter Fox University of Washington LEP: Adapted, combining partially with Thrun’s Tutorial
Based on the paper A Real-Time Algorithm for Mobile Robot Mapping With Applications to Multi-Robot and 3 D Mapping Best paper award at 2000 IEEE International Conference on Robotics and Automation (~1, 100 submissions) Sponsored by DARPA (TMR-J. Blitch, MARS-D. Gage, MICA-S. Heise) and NSF (ITR(2), CAREER-E. Glinert, IIS-V. Lumelsky) Other contributors: Yufeng Liu, Rosemary Emery, Deepayan Charkrabarti, Frank Dellaert, Michael Montemerlo, Reid Simmons, Hugh Durrant-Whyte, Somajyoti Majnuder, Nick Roy, Joelle Pineau, … Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Motivation SLAM (Kalman filters) Expectation Maximization Real Time Hybrid 3 D Mapping with EM Open Problems Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Museum Tour-Guide Robots With: Greg Armstrong, Michael Beetz, Maren Benewitz, Wolfram Burgard, Armin Cremers, Frank Dellaert, Dieter Fox, Dirk Haenel, Chuck Rosenberg, Nicholas Roy, Jamie Schulte, Dirk Schulz Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Nursebot Initiative With: Greg Armstrong, Greg Baltus, Jacqueline Dunbar. Jacob, Jennifer Goetz, Sara Kiesler, Judith Matthews, Colleen Mc. Carthy, Michael Montemerlo, Joelle Pineau, Martha Pollack, Nicholas Roy, Jamie Schulte Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Localization Problem § Estimate robot’s coordinates s=(x, y, q) from sensor data • Position tracking (error bounded) • Global localization (unbounded error) • Kidnapping (recovery from failure) Ingemar Cox (1991): “Using sensory information to locate the robot in its environment is the most fundamental problem to provide a mobile robot with autonomous capabilities. ” see also [Borenstein et al, 96] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: The Problem n n Concurrent Mapping and Localization (CML) Simultaneous Localization and Mapping (SLAM) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: The Problem n n Continuous variables High-dimensional (eg, 1, 000+ dimensions) Multiple sources of noise Simulation not acceptable Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Milestone Approaches Mataric 1990 Elfes/Moravec 1986 Kuipers et al 1991 Lu/Milios/Gutmann 1997 Sebastian Thrun, Carnegie Mellon, IJCAI-2001
3 D Mapping Moravec et al, 2000 Konolige et al, 2001 Teller et al, 2000 Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Take-Home Message Mapping is the Every state-of-the-art holy grail in mapping algorithm mobile robotics. is probabilistic. Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Robots are Inherently Uncertain n Uncertainty arises from four major factors: – – Environment stochastic, unpredictable Robot stochastic Sensor limited, noisy Models inaccurate Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Probabilistic Robotics Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of probability theory) n n Perception = state estimation Action = utility optimization Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Advantages of Probabilistic Paradigm n n Can accommodate inaccurate models Can accommodate imperfect sensors Robust in real-world applications Best known approach to many hard robotics problems Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Pitfalls n n n Computationally demanding False assumptions Approximate Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Motivation SLAM (Kalman filters) Expectation Maximization Real Time Hybrid 3 D Mapping with EM Open Problems Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Localization Problem § Estimate robot’s coordinates s=(x, y, q) from sensor data • Position tracking (error bounded) • Global localization (unbounded error) • Kidnapping (recovery from failure) Ingemar Cox (1991): “Using sensory information to locate the robot in its environment is the most fundamental problem to provide a mobile robot with autonomous capabilities. ” see also [Borenstein et al, 96] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Probabilistic Localization p(s) s [Simmons/Koenig 95] [Kaelbling et al 96] [Burgard et al 96] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Bayes Filters d o a t s = data = observation = action = time = state Bayes Markov Sebastian Thrun, Carnegie Mellon, IJCAI-2001 [Kalman 60, Rabiner 85]
Markov Assumption used above Knowledge of current state renders past, future independent: • “Static World Assumption” • “Independent Noise Assumption” Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Bayes Filters are Familiar to AI! n n Kalman filters Hidden Markov Models Dynamic Bayes networks Partially Observable Markov Decision Processes (POMDPs) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Localization With Bayes Filters p(s|a, s’, m) s’ a observation o laser data map m p(o|s, m) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
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] Piecewise constant (metric, topological) [Nourbakhsh et al. 95], [Simmons et al. 95], [Kaelbling et al. 96], [Burgard et al. 96], [Konolige et al. 99] Variable resolution (eg, trees) [Burgard et al. 98] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Idea: Represent Belief Through Samples • Particle filters [Doucet 98, de. Freitas 98] • Condensation algorithm [Isard/Blake 98] • Monte Carlo localization [Fox/Dellaert/Burgard/Thrun 99] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Monte Carlo Localization (MCL)
MCL: Importance Sampling
MCL: Robot Motion motion
MCL: Importance Sampling
Particle Filters Represents b(st) by set of weighted particles {s(i)t, w(i)t} draw s(i)t-1 from b(st-1) draw s(i)t from p(st | s(i)t-1, at-1, m) Importance factor for s(i)t: Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Monte Carlo Localization Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Performance Comparison Markov localization (grids) Monte Carlo localization Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Monte Carlo Localization n Approximate Bayes Estimation/Filtering – – – Full posterior estimation Converges in O(1/ #samples) [Tanner’ 93] Robust: multiple hypothesis with degree of belief Efficient: focuses computation where needed Any-time: by varying number of samples Easy to implement Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Pitfall: The World is not Markov! Distance filters: [Fox et al 1998] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Probabilistic Localization: Lessons Learned n Probabilistic Localization = Bayes filters n Particle filters: Approximate posterior by random samples Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Problem: Concurrent Mapping and Localization 70 m Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Concurrent Mapping and Localization n Is a chicken-and-egg problem – Mapping with known poses is “simple” – Localization with known map is “simple” – But in combination, the problem is hard! n Today’s best solutions are all probabilistic! Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: Outline Maximum likelihood: EM Posterior estimation: EKF (SLAM) Maximum likelihood: ML* Posterior estimation with known poses: Occupancy grids Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping as Posterior Estimation Assume static map [Smith, Self, Cheeseman 90, Chatila et al 91, Durrant-Whyte et al 92 -00, Leonard et al. 92 -00] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Kalman Filters n N-dimensional Gaussian n Can handle hundreds of dimensions Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Underwater Mapping By: Louis L. Whitcomb, Johns Hopkins University Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Underwater Mapping - Example “Autonomous Underwater Vehicle Navigation, ” John Leonard et al, 1998 Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Underwater Mapping with SLAM Courtesy of Hugh Durrant-Whyte, Univ of Sydney Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping with Extended Kalman Filters Courtesy of [Leonard et al 1998] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Key Assumption n n Inverse sensor model p(st|ot, m) must be Gaussian. Main problem: Data association Distinguishable features Undistinguishable features Posterior uni-modal Posterior multi-modal § In practice: • Extract small set of highly distinguishable features from sensor data • Discard all other data • If ambiguous, take best guess for landmark identity Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping Algorithms - Comparison SLAM (Kalman) Output Posterior Convergence Strong Local minima No Real time Yes Odom. Error Unbounded Sensor Noise Gaussian # Features 103 Feature uniq Yes Raw data No Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: Outline Maximum likelihood: EM Posterior estimation: EKF (SLAM) Maximum likelihood: ML* Posterior estimation with known poses: Occupancy grids Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping with Expectation Maximization E-Step: Localization M-Step: Mapping with known poses [Dempster et al, 77] [Thrun et al, 1998] [Shatkay/Kaelbling 1997] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Uncertainty Models for Motion map(1) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
CMU’s Wean Hall (80 x 25 meters) 15 landmarks 17 landmarks 16 landmarks 27 landmarks Sebastian Thrun, Carnegie Mellon, IJCAI-2001
EM Mapping, Example (width 45 m) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping Algorithms - Comparison SLAM (Kalman) EM Posterior ML/MAP Convergence Strong Weak? Local minima No Yes Real time Yes No Output Odom. Error Sensor Noise Unbounded Gaussian Any # Features 103 Feature uniq Yes No Raw data No Yes Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: Outline Maximum likelihood: EM Posterior estimation: EKF (SLAM) Maximum likelihood: ML* Posterior estimation with known poses: Occupancy grids Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Goal EM: data association Not real-time Kalman filters: real-time No data association ? Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Real-Time Approximation (ICRA paper) + Sebastian Thrun, Carnegie Mellon, IJCAI-2001 Incremental ML
Incremental ML: Not A Good Idea mismatch path robot Sebastian Thrun, Carnegie Mellon, IJCAI-2001
ML* Mapping, Online Idea: step-wise maximum likelihood 1. Incremental ML estimate: 2. Posterior: [Gutmann/Konolige 00, Thrun et al. 00] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping with Poor Odometry raw data Sebastian Thrun, Carnegie Mellon, IJCAI-2001 DARPA Urban Robot map and exploration path
Mapping Without(!) Odometry raw data (no odometry) Sebastian Thrun, Carnegie Mellon, IJCAI-2001 map
Localization in Multi-Robot Mapping Sebastian Thrun, Carnegie Mellon, IJCAI-2001
3 D Mapping two laser range finders Sebastian Thrun, Carnegie Mellon, IJCAI-2001
3 D Structure Mapping (Real-Time) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
3 D Texture Mapping panoramic camera raw image sequence Sebastian Thrun, Carnegie Mellon, IJCAI-2001
3 D Texture Mapping Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Underwater Mapping (with University of Sydney) With: Hugh Durrant-Whyte, Somajyoti Majunder, Marc de Battista, Steve Scheding Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping Algorithms - Comparison SLAM (Kalman) EM ML* Posterior ML/MAP Convergence Strong Weak? No Local minima No Yes Real time Yes No Yes Output Odom. Error Sensor Noise Unbounded Gaussian Any # Features 103 Feature uniq Yes No No Raw data No Yes Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: Outline Maximum likelihood: EM Posterior estimation: EKF (SLAM) Maximum likelihood: ML* Posterior estimation with known poses: Occupancy grids Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Occupancy Grids: From scans to maps Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Occupancy Grid Maps Assumptions: poses known, occupancy binary, independent Assume [Elfes/Moravec 88] Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Example CAD map occupancy grid map The Tech Museum, San Jose Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping Algorithms - Comparison SLAM (Kalman) EM ML* Occupan. Grids Posterior ML/MAP Posterior Convergence Strong Weak? No Strong Local minima No Yes No Real time Yes No Yes Unbounded None Output Odom. Error Sensor Noise Unbounded Gaussian Any Any # Features 103 Feature uniq Yes No No No Raw data No Yes Yes Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Mapping: Lessons Learned n n Concurrent mapping and localization: hard robotics problem Best known algorithms are probabilistic 1. EKF/SLAM: Full posterior estimation, but restrictive assumptions (data association) 2. EM: Maximum Likelihood, solves data association 3. ML*: less robust but online 4. Occupancy grids: Binary Bayes filter, assumes known poses (= much easier) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
The Obvious Next Step EM for concurrent localization EM for object mapping Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Motivation SLAM (Kalman filters) Expectation Maximization Real Time Hybrid 3 D Mapping with EM Open Problems Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Take-Home Message Mapping is the Every state-of-the-art holy grail in mapping algorithm mobile robotics. is probabilistic. Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Open Problems n n n 2 D Indoor mapping and exploration 3 D mapping (real-time, multi-robot) Object mapping (desks, chairs, doors, …) Outdoors, underwater, planetary Dynamic environments (people, retail stores) Full posterior with data association (real-time, optimal) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
Open Problems, con’t n n Mapping, localization Control/Planning under uncertainty Integration of symbolic making Human robot interaction Literature Pointers: n “Robotic Mapping” at www. thrun. org n “Probabilistic Robotics” AI Magazine 21(4) Sebastian Thrun, Carnegie Mellon, IJCAI-2001
- Slides: 77