Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems http://www.informatik.uni-freiburg.de/~burgard/ Probabilistic Techniques for Mobile Robot Navigation anks to Frank Dellaert, Dieter Fox, Giorgio Grisetti, Dirk Haehnel, Cyrill Stachniss, Sebastian Thrun, …
128
Embed
Wolfram Burgard University of Freiburg Department of Computer Science Autonomous Intelligent Systems burgard/ Probabilistic.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Wolfram Burgard
University of Freiburg
Department of Computer Science
Autonomous Intelligent Systems
http://www.informatik.uni-freiburg.de/~burgard/
Probabilistic Techniquesfor
Mobile Robot Navigation
Special Thanks to Frank Dellaert, Dieter Fox, Giorgio Grisetti, Dirk Haehnel, Cyrill Stachniss, Sebastian Thrun, …
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
mapping
motion control
localizationSLAM
active localization
exploration
integrated approaches
Probabilistic Localization
s’a
p(x|u,x’)
a
s’
laser data p(o|s,m)p(z|x)observation x
Localization with Bayes Filters
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
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
Monte-Carlo Localization
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
Mobile Robot Localization with Particle Filters
MCL: Sensor Update
PF: Robot Motion
Particle Filter Algorithm
1. Draw from
2. Draw from
3. Importance factor for
4. Re-sample
Beam-based Sensor Model
K
kk mxzPmxzP
1
),|(),|(
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
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
zexp zmax0
b
zz
hit eb
mxzP
2exp )(
2
1
2
1),|(
otherwise
zzmxzP
z
0
e),|( exp
unexp
Unexpected obstacles
zexp zmax0
Beam-based Proximity Model
Random measurement Max range
max
1),|(
zmxzPrand
smallzmxzP
1),|(max
zexp zmax0zexp zmax
0
Resulting Mixture Density
),|(
),|(
),|(
),|(
),|(
rand
max
unexp
hit
rand
max
unexp
hit
mxzP
mxzP
mxzP
mxzP
mxzP
T
How can we determine the model parameters?
Raw Sensor DataMeasured 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.
)|( expzzP
Approximation Results
Sonar
Laser
300cm 400cm
Example
z P(z|x,m)
Odometry Model
22 )'()'( yyxxtrans
)','(atan21 xxyyrot
12 ' rotrot
• Robot moves from to .
• Odometry information .
,, yx ',',' yx
transrotrotu ,, 21
trans1rot
2rot
,, yx
',',' yx
Sampling from a Motion Model
Start
MCL: Global Localization (Sonar)
Using Ceiling Maps for Localization
[Dellaert et al. 99]
Vision-based Localization
P(s|x)
h(x)s
MCL: Global Localization Using Vision
Vision-based Localization
Adaptive Sampling
• 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
3
12
)1(9
2
)1(9
21
2
1)1,1(
2
1
zkk
kkn
MCL: Adaptive Sampling (Sonar)
Dimensions of Mobile Robot Navigation
mapping
motion control
localizationSLAM
active localization
exploration
integrated approaches
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
1
][1
][1
][
][
1][
1][
][
1
1
,|1
,|11
xy
t
xyt
xyt
xyt
ttxy
t
ttxy
txyt mBel
mBel
mP
mP
uzmP
uzmPmBel
1][][ ,|log tt
xyt
xyt uzmoddsmB )(log: ][][ xy
txy
t moddsmB
xP
xPxodds
1:)(
][log xytmodds
][1
xytmB
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
mapping
motion control
localizationSLAM
active localization
exploration
integrated approaches
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”
Why SLAM is Hard: Raw Odometry
Why SLAM is Hard: Ambiguity
Start
End
Same position
[Courtesy of Eliazar & Parr]
Probabilistic Formulation of SLAM
n=a£b dimensions
map m
three dimensions
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
m
x
z
u
x
z
u
2
2
x
z
u
... t
t
x 1
1
0
10 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.
)ˆ,|( )ˆ ,|( maxargˆ 11]1[
ttt
ttt
xt xuxpmxzpx
t
robot motioncurrent measurement
map constructed so far
Scan Matching Example
Rao-Blackwellized Particle Filters for SLAMObservation:
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.