Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems Probabilistic.

Similar presentations

Presentation on theme: "Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems Probabilistic."— Presentation transcript:


2 Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems Probabilistic Techniques for Mobile Robot Navigation Special Thanks to Frank Dellaert, Dieter Fox, Giorgio Grisetti, Dirk Haehnel, Cyrill Stachniss, Sebastian Thrun, …

3 Probabilistic Robotics

4 Robotics Today

5 Humanoids Overcoming the uncanny valley [Courtesy by Hiroshi Ishiguro]

6 Humanoid Robots [Courtesy by Sven Behnke]

7 DARPA Grand Challenge [Courtesy by Sebastian Thrun]

8 DCG 2007

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

10 Minerva

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

12 Nature of Data Odometry Data Range Data

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

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

15 A Closer Look at Axiom 3 B

16 Using the Axioms

17 Discrete Random Variables X denotes a random variable. X can take on a countable number of values in {x 1, x 2, …, x n }. P(X=x i ), or P(x i ), is the probability that the random variable X takes on value x i. P( ) is called probability mass function. E.g..

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

19 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)

20 Law of Total Probability, Marginals Discrete caseContinuous case

21 Bayes Formula

22 Normalization Algorithm:

23 Conditioning Law of total probability:

24 Bayes Rule with Background Knowledge

25 Conditioning Total probability:

26 Conditional Independence Equivalent to and

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

28 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!

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

30 29 Combining Evidence Suppose our robot obtains another observation z 2. How can we integrate this new information? More generally, how can we estimate P(x| z 1...z n ) ?

31 Recursive Bayesian Updating Markov assumption: z n is independent of z 1,...,z n-1 if we know x.

32 Example: Second Measurement P(z 2 |open) = 0.5P(z 2 | open) = 0.6 P(open|z 1 )=2/3 z 2 lowers the probability that the door is open.

33 A Typical Pitfall Two possible locations x 1 and x 2 P(x 1 )=0.99 P(z|x 2 )=0.09 P(z|x 1 )=0.07

34 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?

35 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.

36 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.

37 Example: Closing the door

38 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.

39 Integrating the Outcome of Actions Continuous case: Discrete case:

40 Example: The Resulting Belief

41 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:

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

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

44 Bayes Filter Algorithm 1. Algorithm Bayes_filter( Bel(x),d ): 2. 0 3. If d is a perceptual data item z then 4. For all x do 5. 6. 7. For all x do 8. 9. Else if d is an action data item u then 10. For all x do 11. 12. Return Bel(x)

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

46 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.

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

48 Localization Mapping Exploration Outline

49 Probabilistic Localization

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

51 Localization with Sonars in an Occupancy Grid Map

52 Resulting Beliefs

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

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

55 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] Particle Filters

56 Monte Carlo Localization (MCL) Represent Density Through Samples

57 Weight samples: Importance Sampling

58 Mobile Robot Localization with Particle Filters

59 MCL: Sensor Update

60 PF: Robot Motion

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

62 Beam-based Sensor Model

63 Typical Measurement Errors of an Range Measurements 1.Beams reflected by obstacles 2.Beams reflected by persons / caused by crosstalk 3.Random measurements 4.Maximum range measurements

64 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.

65 Beam-based Proximity Model Measurement noise z exp z max 0 Unexpected obstacles z exp z max 0

66 Beam-based Proximity Model Random measurementMax range z exp z max 0 z exp z max 0

67 Resulting Mixture Density How can we determine the model parameters?

68 Raw Sensor Data Measured distances for expected distance of 300 cm. SonarLaser

69 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.

70 Approximation Results Sonar Laser 300cm 400cm

71 Example zP(z|x,m)

72 Odometry Model Robot moves from to. Odometry information.

73 Sampling from a Motion Model Start

74 MCL: Global Localization (Sonar)

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

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

77 Under a Light Measurement:Resulting density:

78 Next to a Light Measurement:Resulting density:

79 Elsewhere Measurement:Resulting density:

80 MCL: Global Localization Using Vision

81 Vision-based Localization Odometry only: Vision: Laser:

82 Vision-based Localization

83 Adaptive Sampling

84 Idea: 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- ), the KL-distance between the true posterior and the sample-based approximation is less than. Observation: For fixed and, number of samples only depends on number k of bins with support: KLD-sampling

85 MCL: Adaptive Sampling (Sonar)

86 MCL: Adaptive Sampling (Laser)

87 Performance Comparison Monte Carlo localizationGrid-based localization

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

89 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

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

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

92 Incremental Updating of Occupancy Grids (Example)

93 Resulting Map Obtained with Ultrasound Sensors

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

95 Occupancy Grids: From scans to maps

96 Tech Museum, San Jose CAD map occupancy grid map

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

98 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 achicken and egg problem

99 Localization Mapping Exploration Outline

100 Why SLAM is Hard: Raw Odometry

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

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

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

104 A Graphical Model for SLAM m x z u x z u 2 2 x z u... t t x 1 1 0 10t-1

105 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)

106 Scan Matching Maximize the likelihood of the i-th pose and map relative to the (i-1)-th pose and map. robot motioncurrent measurement map constructed so far

107 Scan Matching Example

108 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]

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

110 Example map of particle 1map of particle 3 map of particle 2 3 particles

111 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.

112 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)

113 Motion Model for Scan Matching Raw Odometry Scan Matching

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

115 Application Example

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

117 Resulting Proposal Distribution Gaussian approximation:

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

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

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

121 Improved Proposal The proposal adapts to the structure of the environment

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

123 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?

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

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

126 Typical Evolution of N eff visiting new areas closing the first loop second loop closure visiting known areas

127 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

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

129 128 MIT Kilian Court

130 129 MIT Kilian Court

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

132 Localization Mapping Exploration Outline

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

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

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

136 Exploration With Known Poses Real robot, ultrasounds only:

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

138 Where to Move Next?

139 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.

140 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.

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

142 Map and Pose Uncertainty pose uncertainty map uncertainty

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

144 Dual Representation for Loop Detection

145 Application Example

146 Real Exploration Example

147 Comparison Map and pose uncertainty: Map uncertainty only:

148 Example: Entropy Evolution

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

150 Corridor Exploration

151 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.

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

153 3D Mapping

154 3D Map Example

155 The Autonomous Blimp Project

156 Navigation in Environments with Deformable Objects


158 Autonomous Cars

Download ppt "Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems Probabilistic."

Similar presentations

Ads by Google