Probabilistic Techniques for Mobile Robot Navigation

Slides:



Advertisements
Similar presentations
Mapping with Known Poses
Advertisements

Beam Sensor Models Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read.
Probabilistic Robotics
IR Lab, 16th Oct 2007 Zeyn Saigol
Probabilistic Robotics
Markov Localization & Bayes Filtering 1 with Kalman Filters Discrete Filters Particle Filters Slides adapted from Thrun et al., Probabilistic Robotics.
1 Slides for the book: Probabilistic Robotics Authors: Sebastian Thrun Wolfram Burgard Dieter Fox Publisher: MIT Press, Web site for the book & more.
Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics
SA-1 Probabilistic Robotics Probabilistic Sensor Models Beam-based Scan-based Landmarks.
Bayes Filters Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read the.
Probabilistic Robotics Bayes Filter Implementations Particle filters.
Recursive Bayes Filtering Advanced AI
Probabilistic Robotics: Kalman Filters
1.Examples of using probabilistic ideas in robotics 2.Reverend Bayes and review of probabilistic ideas 3.Introduction to Bayesian AI 4.Simple example.
SA-1 Probabilistic Robotics Probabilistic Sensor Models Beam-based Scan-based Landmarks.
Autonomous Robot Navigation Panos Trahanias ΗΥ475 Fall 2007.
Particle Filters Pieter Abbeel UC Berkeley EECS Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics TexPoint fonts used in EMF. Read.
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotic Embedded Systems Laboratory University of Southern California
Probabilistic Robotics
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotic Embedded Systems Laboratory University of Southern California
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Probabilistic Robotics
Monte Carlo Localization
1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete this.
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
A Probabilistic Approach to Collaborative Multi-robot Localization Dieter Fox, Wolfram Burgard, Hannes Kruppa, Sebastin Thrun Presented by Rajkumar Parthasarathy.
SA-1 Probabilistic Robotics Mapping with Known Poses.
Probabilistic Robotics Bayes Filter Implementations Particle filters.
Bayesian Filtering Dieter Fox Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of probability theory) Perception.
HCI / CprE / ComS 575: Computational Perception
Bayesian Filtering for Robot Localization
Markov Localization & Bayes Filtering
Efficient Approaches to Mapping with Rao- Blackwellized Particle Filters Department of Computer Science University of Freiburg, Germany Wolfram Burgard.
From Bayesian Filtering to Particle Filters Dieter Fox University of Washington Joint work with W. Burgard, F. Dellaert, C. Kwok, S. Thrun.
SA-1 Mapping with Known Poses Ch 4.2 and Ch 9. 2 Why Mapping? Learning maps is one of the fundamental problems in mobile robotics Maps allow robots to.
Probabilistic Robotics: Monte Carlo Localization
Mapping and Localization with RFID Technology Matthai Philipose, Kenneth P Fishkin, Dieter Fox, Dirk Hahnel, Wolfram Burgard Presenter: Aniket Shah.
Probabilistic Robotics Bayes Filter Implementations Gaussian filters.
1 Robot Environment Interaction Environment perception provides information about the environment’s state, and it tends to increase the robot’s knowledge.
Probabilistic Robotics Bayes Filter Implementations.
SA-1 Probabilistic Robotics Probabilistic Sensor Models Beam-based Scan-based Landmarks.
Mobile Robot Localization (ch. 7)
Robot Mapping Short Introduction to Particle Filters and Monte Carlo Localization.
City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Advanced Mobile Robotics.
4 Proposed Research Projects SmartHome – Encouraging patients with mild cognitive disabilities to use digital memory notebook for activities of daily living.
CSE-473 Project 2 Monte Carlo Localization. Localization as state estimation.
1/17/2016CS225B Kurt Konolige Probabilistic Models of Sensing and Movement Move to probability models of sensing and movement Project 2 is about complex.
Probabilistic Robotics
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotic Embedded Systems Laboratory University of Southern California
Probabilistic Robotics
Probabilistic Robotics Introduction Probabilities Bayes rule Bayes filters.
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.
10-1 Probabilistic Robotics: FastSLAM Slide credits: Wolfram Burgard, Dieter Fox, Cyrill Stachniss, Giorgio Grisetti, Maren Bennewitz, Christian Plagemann,
Probabilistic Robotics Probability Theory Basics Error Propagation Slides from Autonomous Robots (Siegwart and Nourbaksh), Chapter 5 Probabilistic Robotics.
Particle filters for Robot Localization An implementation of Bayes Filtering Markov Localization.
Autonomous Mobile Robots Autonomous Systems Lab Zürich Probabilistic Map Based Localization "Position" Global Map PerceptionMotion Control Cognition Real.
Matching ® ® ® Global Map Local Map … … … obstacle Where am I on the global map?                                   
CSE-473 Mobile Robot Mapping.
Probabilistic Robotics
Markov ó Kalman Filter Localization
State Estimation Probability, Bayes Filtering
Particle Filter/Monte Carlo Localization
CSE-490DF Robotics Capstone
Particle filters for Robot Localization
Probabilistic Robotics
A Short Introduction to the Bayes Filter and Related Models
EE-565: Mobile Robotics Non-Parametric Filters Module 2, Lecture 5
Probabilistic Map Based Localization
Probabilistic Robotics
Probabilistic Robotics Bayes Filter Implementations FastSLAM
Presentation transcript:

Probabilistic Techniques for Mobile Robot Navigation Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems http://www.informatik.uni-freiburg.de/~burgard/ Special Thanks to Frank Dellaert, Dieter Fox, Giorgio Grisetti, Dirk Haehnel, Cyrill Stachniss, Sebastian Thrun, …

Probabilistic Robotics               

Robotics Today

Overcoming the uncanny valley “Humanoids” Overcoming the uncanny valley [Courtesy by Hiroshi Ishiguro]

Humanoid Robots [Courtesy by Sven Behnke]

DARPA Grand Challenge [Courtesy by Sebastian Thrun]

DCG 2007

Robot Projects: Interactive Tour-guides Rhino: Albert: Minerva:

Minerva

Robot Projects: Acting in the Three-dimensional World Herbert: Zora: Groundhog:

Nature of Data Range Data Odometry Data

Probabilistic Techniques in Robotics Perception = state estimation Action = utility maximization Key Question How to scale to higher-dimensional spaces

Axioms of Probability Theory Pr(A) denotes probability that proposition A is true.

A Closer Look at Axiom 3 B

Using the Axioms

Discrete Random Variables X denotes a random variable. X can take on a countable number of values in {x1, x2, …, xn}. P(X=xi), or P(xi), is the probability that the random variable X takes on value xi. P( ) is called probability mass function. E.g. .

Continuous Random Variables X takes on values in the continuum. p(X=x), or p(x), is a probability density function. E.g. p(x) x

Joint and Conditional Probability P(X=x and Y=y) = P(x,y) If X and Y are independent then P(x,y) = P(x) P(y) P(x | y) is the probability of x given y P(x | y) = P(x,y) / P(y) P(x,y) = P(x | y) P(y) If X and Y are independent then P(x | y) = P(x)

Law of Total Probability, Marginals Discrete case Continuous case

Bayes Formula

Normalization Algorithm:

Conditioning Law of total probability:

Bayes Rule with Background Knowledge

Conditioning Total probability:

Conditional Independence Equivalent to and

Simple Example of State Estimation Suppose a robot obtains measurement z What is P(open|z)?

Causal vs. Diagnostic Reasoning P(open|z) is diagnostic. P(z|open) is causal. Often causal knowledge is easier to obtain. Bayes rule allows us to use causal knowledge: count frequencies!

Example P(z|open) = 0.6 P(z|open) = 0.3 P(open) = P(open) = 0.5 z raises the probability that the door is open.

Combining Evidence Suppose our robot obtains another observation z2. How can we integrate this new information? More generally, how can we estimate P(x| z1...zn )?

Recursive Bayesian Updating Markov assumption: zn is independent of z1,...,zn-1 if we know x.

Example: Second Measurement P(z2|open) = 0.5 P(z2|open) = 0.6 P(open|z1)=2/3 z2 lowers the probability that the door is open.

A Typical Pitfall Two possible locations x1 and x2 P(x1)=0.99 P(z|x2)=0.09 P(z|x1)=0.07

Often the world is dynamic since Actions Often the world is dynamic since actions carried out by the robot, actions carried out by other agents, or just the time passing by change the world. How can we incorporate such actions?

Typical Actions The robot turns its wheels to move The robot uses its manipulator to grasp an object Plants grow over time… Actions are never carried out with absolute certainty. In contrast to measurements, actions generally increase the uncertainty.

Modeling Actions To incorporate the outcome of an action u into the current “belief”, we use the conditional pdf P(x|u,x’) This term specifies the pdf that executing u changes the state from x’ to x.

Example: Closing the door

State Transitions P(x|u,x’) for u = “close door”: If the door is open, the action “close door” succeeds in 90% of all cases.

Integrating the Outcome of Actions Continuous case: Discrete case:

Example: The Resulting Belief

Bayes Filters: Framework Given: Stream of observations z and action data u: Sensor model P(z|x). Action model P(x|u,x’). Prior probability of the system state P(x). Wanted: Estimate of the state X of a dynamical system. The posterior of the state is also called Belief:

Markov Assumption Underlying Assumptions Static world Independent noise Perfect model, no approximation errors

Bayes Filters z = observation u = action x = state Bayes Markov Total prob. Markov Markov

Bayes Filter Algorithm Algorithm Bayes_filter( Bel(x),d ): h=0 If d is a perceptual data item z then For all x do Else if d is an action data item u then Return Bel’(x)

Bayes Filters are Familiar! Kalman filters Discrete filters Particle filters Hidden Markov models Dynamic Bayesian networks Partially Observable Markov Decision Processes (POMDPs)

Summary Bayes rule allows us to compute probabilities that are hard to assess otherwise. Under the Markov assumption, recursive Bayesian updating can be used to efficiently combine evidence. Bayes filters are a probabilistic tool for estimating the state of dynamic systems.

Dimensions of Mobile Robot Navigation SLAM localization mapping integrated approaches active localization exploration motion control

Outline Localization Mapping Exploration

Probabilistic Localization

Localization with Bayes Filters p(z|x) observation x laser data p(o|s,m) s’ a p(x|u,x’)

Localization with Sonars in an Occupancy Grid Map

Resulting Beliefs

What is the Right Representation? Kalman filters Multi-hypothesis tracking Grid-based representations Topological approaches Particle filters

Monte-Carlo Localization Set of N samples {<x1,w1>, … <xN,wN>} containing a state x and an importance weight w Initialize sample set according to prior knowledge For each motion u do: Sampling: Generate from each sample a new pose according to the motion model For each observation z do: Importance sampling: weigh each sample with the likelihood Re-sampling: Draw N new samples from the sample set according to the importance weights

Particle Filters Represent density by random samples Estimation of non-Gaussian, nonlinear processes Monte Carlo filter, Survival of the fittest, Condensation, Bootstrap filter, Particle filter Filtering: [Rubin, 88], [Gordon et al., 93], [Kitagawa 96] Computer vision: [Isard and Blake 96, 98] Dynamic Bayesian Networks: [Kanazawa et al., 95]

Monte Carlo Localization (MCL) Represent Density Through Samples

Importance Sampling Weight samples:

Mobile Robot Localization with Particle Filters

MCL: Sensor Update

PF: Robot Motion

Particle Filter Algorithm 1. Draw from 3. Importance factor for 2. Draw from 4. Re-sample

Beam-based Sensor Model

Typical Measurement Errors of an Range Measurements Beams reflected by obstacles Beams reflected by persons / caused by crosstalk Random measurements Maximum range measurements

Proximity Measurement Measurement can be caused by … a known obstacle. cross-talk. an unexpected obstacle (people, furniture, …). missing all obstacles (total reflection, glass, …). Noise is due to uncertainty … in measuring distance to known obstacle. in position of known obstacles. in position of additional obstacles. whether obstacle is missed.

Beam-based Proximity Model Measurement noise Unexpected obstacles zexp zmax zexp zmax

Beam-based Proximity Model Random measurement Max range zexp zmax zexp zmax

Resulting Mixture Density How can we determine the model parameters?

Measured distances for expected distance of 300 cm. Raw Sensor Data Measured distances for expected distance of 300 cm. Sonar Laser

Approximation Maximize log likelihood of the data Search space of n-1 parameters. Hill climbing Gradient descent Genetic algorithms … Deterministically compute the n-th parameter to satisfy normalization constraint.

Approximation Results Laser Sonar 400cm 300cm

Example z P(z|x,m)

Odometry Model Robot moves from to . Odometry information .

Sampling from a Motion Model Start

MCL: Global Localization (Sonar)

Using Ceiling Maps for Localization [Dellaert et al. 99]

Vision-based Localization h(x) s P(s|x)

Under a Light Measurement: Resulting density:

Next to a Light Measurement: Resulting density:

Elsewhere Measurement: Resulting density:

MCL: Global Localization Using Vision

Vision-based Localization Odometry only: Vision: Laser:

Vision-based Localization

Adaptive Sampling

KLD-sampling Idea: Observation: Assume we know the true belief. Represent this belief as a multinomial distribution. Determine number of samples such that we can guarantee that, with probability (1- d), the KL-distance between the true posterior and the sample-based approximation is less than e. Observation: For fixed d and e, number of samples only depends on number k of bins with support:

MCL: Adaptive Sampling (Sonar)

MCL: Adaptive Sampling (Laser)

Performance Comparison Grid-based localization Monte Carlo localization

Dimensions of Mobile Robot Navigation SLAM localization mapping integrated approaches active localization exploration motion control

Occupancy Grid Maps Store in each cell of a discrete grid the probability that the corresponding area is occupied. Approximative Do not require features All cells are considered independent Their probabilities are updated using the binary Bayes filter

Updating Occupancy Grid Maps Update the map cells using the inverse sensor model Or use the log-odds representation

Typical Sensor Model for Occupancy Grid Maps Combination of a linear function and a Gaussian:

Incremental Updating of Occupancy Grids (Example)

Resulting Map Obtained with Ultrasound Sensors

Resulting Occupancy and Maximum Likelihood Map The maximum likelihood map is obtained by clipping the occupancy grid map at a threshold of 0.5

Occupancy Grids: From scans to maps

Tech Museum, San Jose CAD map occupancy grid map

Dimensions of Mobile Robot Navigation SLAM localization mapping integrated approaches active localization exploration motion control

Simultaneous Localization and Mapping (SLAM) To determine its position, the robot needs a map. During mapping, the robot needs to know its position to learn a consistent model Simultaneous localization and mapping (SLAM) is a “chicken and egg problem”

Outline Localization Mapping Exploration

Why SLAM is Hard: Raw Odometry

Why SLAM is Hard: Ambiguity End Same position Start [Courtesy of Eliazar & Parr]

Probabilistic Formulation of SLAM three dimensions n=a£b dimensions map m

Key Question/Problem How to maintain multiple map and pose hypotheses during mapping? Ambiguity caused by the data association problem.

A Graphical Model for SLAM x z u 2 ... t 1 t-1

Techniques for Generating Consistent Maps Scan matching (online) Probabilistic mapping with a single map and a posterior about poses Mapping + Localization (online) EKF SLAM (online, mostly landmarks or features only) EM techniques (offline) Lu and Milios (offline)

Scan Matching Maximize the likelihood of the i-th pose and map relative to the (i-1)-th pose and map. To compute consistent maps, we apply a recursive scheme. At each point in time we compute the most likely position of the robot, given the map constructed so far. Based on the position hat l-t, we then extend the map an incorporate the scan obtained at time t. current measurement map constructed so far robot motion

Scan Matching Example

Rao-Blackwellized Particle Filters for SLAM Observation: Given the true trajectory of the robot, we can efficiently compute the map (mapping with known poses). Idea: Use a particle filter to represent potential trajectories of the robot. Each particle carries its own map. Each particle survives with a probability that is proportional to the likelihood of the observation given that particle and its map. [Murphy et al., 99]

Factorization Underlying Rao-Blackwellization Mapping with known poses Particle filter representing trajectory hypotheses

Example 3 particles map of particle 3 map of particle 1

Limitations A huge number of particles is required. This introduces enormous memory and computational requirements. It prevents the application of the approach in realistic scenarios.

Challenge Reduction of the number of particles. Approaches: Focused proposal distributions (keep the samples in the right place) Adaptive re-sampling (avoid depletion of relevant particles)

Motion Model for Scan Matching Raw Odometry Scan Matching

Graphical Model for Mapping with Improved Odometry z k x 1 u' u k-1 ... k+1 2k-1 2k 2 n n·k (n+1)·k-1 n·k+1

Application Example

The Optimal Proposal Distribution [Doucet, 98] For lasers is extremely peaked and dominates the product. We can safely approximate by a constant:

Resulting Proposal Distribution Gaussian approximation:

Resulting Proposal Distribution Approximate this equation by a Gaussian: maximum reported by a scan matcher Gaussian approximation Draw next generation of samples Sampled points around the maximum

Estimating the Parameters of the Gaussian for each Particle xj are a set of sample points around the point x* the scan matching has converged to.  is a normalizing constant

Computing the Importance Weight Sampled points around the maximum of the observation likelihood

Improved Proposal The proposal adapts to the structure of the environment

Incorporating the Measurements End of a corridor: Free space: Corridor:

Selective Resampling Resampling is dangerous, since important samples might get lost (particle depletion problem) In case of suboptimal proposal distributions resampling is necessary to achieve convergence. Key question: When should we resample?

Effective Number of Particles Empirical measure of how well the goal distribution is approximated by samples drawn from the proposal Neff describes “the variance of the particle weights” Neff is maximal for equal weights. In this case, the distribution is close to the proposal

Resampling with Neff If our approximation is close to the proposal, no resampling is needed We only resample when Neff drops below a given threshold (N/2) See [Doucet, ’98; Arulampalam, ’01]

Typical Evolution of Neff visiting new areas closing the first loop visiting known areas second loop closure

Map of the Intel Lab 15 particles four times faster than real-time (P4, 2.8GHz) 5cm resolution during scan matching 1cm resolution in final map

Outdoor Campus Map 30 particles 250x250m2 1.75 km (odometry) 20cm resolution during scan matching 30cm resolution in final map

MIT Kilian Court

MIT Kilian Court

Dimensions of Mobile Robot Navigation SLAM localization mapping integrated approaches active localization exploration motion control

Outline Localization Mapping Exploration

Exploration The approaches seen so far are purely passive. By reasoning about control, the mapping process can be made much more effective.

Decision-Theoretic Formulation of Exploration reward (expected information gain) cost (path length)

Exploration with Known Poses Move to the place that provides you with the best tradeoff between information gathered and cost of reaching that point.

Exploration With Known Poses Real robot, ultrasounds only:

Dimensions of Mobile Robot Navigation SLAM localization mapping integrated approaches active localization exploration motion control

Where to Move Next?

Naïve Approach to Combine Exploration and Mapping Learn the map using a Rao-Blackwellized particle filter. Apply an exploration approach that minimizes the map uncertainty.

Disadvantage of the Naïve Approach Exploration techniques only consider the map uncertainty for generating controls. They avoid re-visiting known areas. Data association becomes harder. More particles are needed to learn a correct map.

Application Example True map and trajectory Path estimated by the particle filter

Map and Pose Uncertainty map uncertainty

Goal Integrated approach that considers to control the robot. exploratory actions, place revisiting actions, and loop closing actions to control the robot.

Dual Representation for Loop Detection

Application Example

Real Exploration Example

Comparison Map uncertainty only: Map and pose uncertainty:

Example: Entropy Evolution

map and pose uncertainty Quantitative Results Localization error: avg. localization error [m] map and pose uncertainty map uncertainty

Corridor Exploration

Summary Probabilistic techniques are a powerful tool to deal with a variety of problems in mobile robot navigation. By actively controlling mobile robots one can more effectively solve high-dimensional state estimation problems.

Questions? No Arrows Left … localization mapping motion control SLAM active localization exploration integrated approaches

3D Mapping

3D Map Example

The Autonomous Blimp Project

Navigation in Environments with Deformable Objects

Navigation in Environments with Deformable Objects

Autonomous Cars