Recursive Bayes Filtering Advanced AI
-
Upload
noble-kidd -
Category
Documents
-
view
33 -
download
1
description
Transcript of Recursive Bayes Filtering Advanced AI
![Page 1: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/1.jpg)
Recursive Bayes Filtering
Advanced AI
Wolfram Burgard
![Page 2: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/2.jpg)
Tutorial Goal
To familiarize you with probabilistic paradigm in robotics
Basic techniques• Advantages• Pitfalls and limitations
Successful Applications Open research issues
![Page 3: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/3.jpg)
Robotics Yesterday
![Page 4: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/4.jpg)
Robotics Today
![Page 5: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/5.jpg)
RoboCup
![Page 6: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/6.jpg)
Physical Agents are Inherently Uncertain
Uncertainty arises from four major factors: Environment stochastic, unpredictable Robot stochastic Sensor limited, noisy Models inaccurate
![Page 7: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/7.jpg)
Nature of Sensor Data
Odometry Data Range Data
![Page 8: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/8.jpg)
Probabilistic Techniques for Physical Agents
Key idea: Explicit representation of uncertainty using the calculus of probability theory
Perception = state estimationAction = utility optimization
![Page 9: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/9.jpg)
Advantages of Probabilistic Paradigm
Can accommodate inaccurate models Can accommodate imperfect sensors Robust in real-world applications Best known approach to many hard
robotics problems
![Page 10: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/10.jpg)
Pitfalls
Computationally demanding False assumptions Approximate
![Page 11: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/11.jpg)
Outline
Introduction Probabilistic State Estimation Robot Localization Probabilistic Decision Making
Planning Between MDPs and POMDPs Exploration
Conclusions
![Page 12: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/12.jpg)
Pr(A) denotes probability that proposition A is true.
Axioms of Probability Theory
1)Pr(0 A
1)Pr( True
)Pr()Pr()Pr()Pr( BABABA
0)Pr( False
![Page 13: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/13.jpg)
A Closer Look at Axiom 3
B
BA A BTrue
)Pr()Pr()Pr()Pr( BABABA
![Page 14: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/14.jpg)
Using the Axioms
)Pr(1)Pr(
0)Pr()Pr(1
)Pr()Pr()Pr()Pr(
)Pr()Pr()Pr()Pr(
AA
AA
FalseAATrue
AAAAAA
![Page 15: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/15.jpg)
Discrete Random Variables
X denotes a random variable.
X can take on a finite 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. 02.0,08.0,2.0,7.0)( RoomP
.
![Page 16: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/16.jpg)
Continuous Random Variables
X takes on values in the continuum.
p(X=x), or p(x), is a probability density function.
E.g.
b
a
dxxpbax )(]),[Pr(
x
p(x)
![Page 17: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/17.jpg)
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 yP(x | y) = P(x,y) / P(y)P(x,y) = P(x | y) P(y)
If X and Y are independent thenP(x | y) = P(x)
![Page 18: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/18.jpg)
Law of Total Probability, Marginals
y
yxPxP ),()(
y
yPyxPxP )()|()(
x
xP 1)(
Discrete case
1)( dxxp
Continuous case
dyypyxpxp )()|()(
dyyxpxp ),()(
![Page 19: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/19.jpg)
Bayes Formula
evidence
prior likelihood
)(
)()|()(
)()|()()|(),(
yP
xPxyPyxP
xPxyPyPyxPyxP
![Page 20: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/20.jpg)
Normalization
)()|(
1)(
)()|()(
)()|()(
1
xPxyPyP
xPxyPyP
xPxyPyxP
x
yx
xyx
yx
yxPx
xPxyPx
|
|
|
aux)|(:
aux
1
)()|(aux:
Algorithm:
![Page 21: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/21.jpg)
Conditioning
Total probability:
Bayes rule and background knowledge:
)|(
)|(),|(),|(
zyP
zxPzxyPzyxP
dzyzPzyxPyxP )|(),|()(
![Page 22: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/22.jpg)
Simple Example of State Estimation
Suppose a robot obtains measurement z What is P(open|z)?
![Page 23: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/23.jpg)
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:
)()()|(
)|(zP
openPopenzPzopenP
count frequencies!
![Page 24: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/24.jpg)
Example
P(z|open) = 0.6 P(z|open) = 0.3 P(open) = P(open) = 0.5
67.03
2
5.03.05.06.0
5.06.0)|(
)()|()()|(
)()|()|(
zopenP
openpopenzPopenpopenzP
openPopenzPzopenP
• z raises the probability that the door is open.
![Page 25: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/25.jpg)
Combining Evidence
Suppose our robot obtains another observation z2.
How can we integrate this new information?
More generally, how can we estimateP(x| z1...zn )?
![Page 26: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/26.jpg)
Recursive Bayesian Updating
),,|(
),,|(),,,|(),,|(
11
11111
nn
nnnn
zzzP
zzxPzzxzPzzxP
Markov assumption: zn is independent of z1,...,zn-1 if we know x.
)()|(
),,|()|(
),,|(
),,|()|(),,|(
...1...1
11
11
111
xPxzP
zzxPxzP
zzzP
zzxPxzPzzxP
ni
in
nn
nn
nnn
![Page 27: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/27.jpg)
Example: Second Measurement
P(z2|open) = 0.5 P(z2|open) = 0.6
P(open|z1)=2/3
625.08
5
31
53
32
21
32
21
)|()|()|()|(
)|()|(),|(
1212
1212
zopenPopenzPzopenPopenzP
zopenPopenzPzzopenP
• z2 lowers the probability that the door is open.
![Page 28: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/28.jpg)
A Typical Pitfall
Two possible locations x1 and x2
P(x1)= 1-P(x2)= 0.99
P(z|x2)=0.09 P(z|x1)=0.07
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
5 10 15 20 25 30 35 40 45 50
p( x
| d)
Number of integrations
p(x2 | d)p(x1 | d)
![Page 29: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/29.jpg)
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?
![Page 30: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/30.jpg)
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.
![Page 31: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/31.jpg)
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.
![Page 32: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/32.jpg)
Example: Closing the door
![Page 33: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/33.jpg)
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.
open closed0.1 1
0.9
0
![Page 34: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/34.jpg)
Integrating the Outcome of Actions
')'()',|()|( dxxPxuxPuxP
)'()',|()|( xPxuxPuxP
Continuous case:
Discrete case:
![Page 35: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/35.jpg)
Example: The Resulting Belief
)|(1161
83
10
85
101
)(),|(
)(),|(
)'()',|()|(
1615
83
11
85
109
)(),|(
)(),|(
)'()',|()|(
uclosedP
closedPcloseduopenP
openPopenuopenP
xPxuopenPuopenP
closedPcloseduclosedP
openPopenuclosedP
xPxuclosedPuclosedP
![Page 36: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/36.jpg)
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:
),,,|()( 121 tttt zuzuxPxBel
},,,{ 121 ttt zuzud
![Page 37: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/37.jpg)
Markov Assumption
Underlying Assumptions Static world Independent noise Perfect model, no approximation errors
)|,...,(),...,,,|,...,( 11211 ttttttt xddpdddxddp
)|,...,,(...),,,|,...,,( 012101 tttttttt xdddpddxdddp
Xt-1 Xt Xt+1
Zt-1 Zt Zt+1
ut-1 ut
),|(),...,,,|( 110211 ttttttt xuxpddxuxp
![Page 38: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/38.jpg)
Bayes Filters
),,,|(),,,,|( 121121 ttttt uzuxPuzuxzP Bayes
z = observationu = actionx = state
),,,|()( 121 tttt zuzuxPxBel
Markov ),,,|()|( 121 tttt uzuxPxzP
1111 )(),|()|( ttttttt dxxBelxuxPxzP
Markov1121111 ),,,|(),|()|( tttttttt dxuzuxPxuxPxzP
11211
1121
),,,|(
),,,,|()|(
ttt
ttttt
dxuzuxP
xuzuxPxzP
Total prob.
![Page 39: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/39.jpg)
Bayes Filter Algorithm
1. Algorithm Bayes_filter( Bel(x),d ):2. 0
3. if d is a perceptual data item z then4. For all x do5. 6. 7. For all x do8.
9. else if d is an action data item u then10. For all x do11.
12. return Bel’(x)
)()|()(' xBelxzPxBel )(' xBel
)(')(' 1 xBelxBel
')'()',|()(' dxxBelxuxPxBel
1111 )(),|()|()( tttttttt dxxBelxuxPxzPxBel
![Page 40: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/40.jpg)
Bayes Filters are Familiar!
Kalman filters Particle filters Hidden Markov models Dynamic Bayes networks Partially Observable Markov Decision
Processes (POMDPs)
1111 )(),|()|()( tttttttt dxxBelxuxPxzPxBel
![Page 41: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/41.jpg)
Application to Door State Estimation
Estimate the opening angle of a door and the state of other dynamic objects using a laser-range finder from a moving mobile robot and based on Bayes filters.
![Page 42: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/42.jpg)
Result
![Page 43: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/43.jpg)
Lessons Learned
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.
![Page 44: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/44.jpg)
Tutorial Outline
Introduction Probabilistic State Estimation Localization Probabilistic Decision Making
Planning Between MDPs and POMDPs Exploration
Conclusions
![Page 45: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/45.jpg)
The Localization Problem
Given Map of the environment. Sequence of sensor measurements.
Wanted Estimate of the robot’s position.
Problem classes Position tracking Global localization Kidnapped robot problem (recovery)
“Using sensory information to locate the robot in its environment is the most fundamental problem to providing a mobile robot with autonomous capabilities.” [Cox ’91]
![Page 46: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/46.jpg)
Representations for Bayesian Robot Localization
Discrete approaches (’95)• Topological representation (’95)
• uncertainty handling (POMDPs)• occas. global localization, recovery
• Grid-based, metric representation (’96)• global localization, recovery
Multi-hypothesis (’00)• multiple Kalman filters• global localization, recovery
Particle filters (’99)• sample-based representation• global localization, recovery
Kalman filters (late-80s?)• Gaussians• approximately linear models• position tracking
AI
Robotics
![Page 47: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/47.jpg)
What is the Right Representation?
Kalman filters
Multi-hypothesis tracking
Grid-based representations
Topological approaches
Particle filters
![Page 48: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/48.jpg)
Gaussians
2
2)(
2
1
2
2
1)(
:),(~)(
x
exp
Nxp
-
Univariate
)()(2
1
2/12/
1
)2(
1)(
:)(~)(
μxΣμx
Σx
Σμx
t
ep
,Νp
d
Multivariate
![Page 49: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/49.jpg)
49
Kalman Filters
Estimate the state of processes that are governed by the following linear stochastic difference equation.
The random variables vt and wt represent the process measurement noise and are assumed to be independent, white and with normal probability distributions.
ttt
tttt
wCxz
vBuAxx
1
![Page 50: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/50.jpg)
[Schiele et al. 94], [Weiß et al. 94], [Borenstein 96],
[Gutmann et al. 96, 98], [Arras 98]
Kalman Filters
![Page 51: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/51.jpg)
Kalman Filter Algorithm
1. Algorithm Kalman_filter( <, d ):
2. If d is a perceptual data item z then3. 4. 5.
6. Else if d is an action data item u then7. 8.
9. Return <
)( KCI
1 obs
TT CCCK)( CzK
actTAA
BuA
![Page 52: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/52.jpg)
Non-linear Systems
Very strong assumptions: Linear state dynamics Observations linear in state
What can we do if system is not linear? Linearize it: EKF Compute the Jacobians of the dynamics
and observations at the current state. Extended Kalman filter works surprisingly
well even for highly non-linear systems.
![Page 53: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/53.jpg)
[Gutmann et al. 96, 98]:
Match LRF scans against map
Highly successful in RoboCup mid-size league
Kalman Filter-based Systems (1)
Courtesy of S. Gutmann
![Page 54: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/54.jpg)
Kalman Filter-based Systems (2)
Courtesy of S. Gutmann
![Page 55: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/55.jpg)
[Arras et al. 98]:
Laser range-finder and vision
High precision (<1cm accuracy)
Kalman Filter-based Systems (3)
Courtesy of K. Arras
![Page 56: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/56.jpg)
[Cox 92], [Jensfelt, Kristensen 99]
Multi-hypothesisTracking
![Page 57: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/57.jpg)
Belief is represented by multiple hypotheses
Each hypothesis is tracked by a Kalman filter
Additional problems:
Data association: Which observation
corresponds to which hypothesis?
Hypothesis management: When to add / delete
hypotheses?
Huge body of literature on target tracking, motion
correspondence etc.
Localization With MHT
See e.g. [Cox 93]
![Page 58: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/58.jpg)
[Jensfelt and Kristensen 99,01]
Hypotheses are extracted from LRF scans Each hypothesis has probability of being the
correct one:
Hypothesis probability is computed using Bayes’ rule
Hypotheses with low probability are deleted
New candidates are extracted from LRF scans
MHT: Implemented System (1)
)}(,,ˆ{ iiii HPxH
},{ jjj RzC
)(
)()|()|(
sP
HPHsPsHP ii
i
![Page 59: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/59.jpg)
MHT: Implemented System (2)
Courtesy of P. Jensfelt and S. Kristensen
![Page 60: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/60.jpg)
MHT: Implemented System (3)Example run
Map and trajectory
# hypotheses
Hypotheses vs. time
P(Hbest)
Courtesy of P. Jensfelt and S. Kristensen
![Page 61: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/61.jpg)
[Burgard et al. 96,98], [Fox et al. 99], [Konolige et al. 99]
Piecewise Constant
![Page 62: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/62.jpg)
Piecewise Constant Representation
),,( yxxbel t
![Page 63: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/63.jpg)
Grid-based Localization
![Page 64: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/64.jpg)
Tree-based Representations (1)
Idea: Represent density using a variant of Octrees
![Page 65: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/65.jpg)
Xavier: Localization in a Topological Map
[Simmons and Koenig 96]
![Page 66: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/66.jpg)
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
![Page 67: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/67.jpg)
MCL: Global Localization
![Page 68: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/68.jpg)
MCL: Sensor Update
)|()(
)()|()()|()(
xzpxBel
xBelxzpw
xBelxzpxBel
![Page 69: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/69.jpg)
MCL: Robot Motion
'd)'()'|()( , xxBelxuxpxBel
![Page 70: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/70.jpg)
)|()(
)()|()()|()(
xzpxBel
xBelxzpw
xBelxzpxBel
MCL: Sensor Update
![Page 71: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/71.jpg)
MCL: Robot Motion
'd)'()'|()( , xxBelxuxpxBel
![Page 72: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/72.jpg)
1. Algorithm particle_filter( St-1, ut-1 zt):
2.
3. For Generate new samples
4. Sample index j(i) from the discrete distribution given by wt-
1
5. Sample from using and
6. Compute importance weight
7. Update normalization factor
8. Insert
9. For
10. Normalize weights
Particle Filter Algorithm
0, tS
ni 1
},{ it
ittt wxSS
itw
itx ),|( 11 ttt uxxp )(
1ij
tx 1tu
)|( itt
it xzpw
ni 1
/it
it ww
![Page 73: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/73.jpg)
Resampling
Given: Set S of weighted samples.
Wanted : Random sample, where the probability of drawing xi is given by wi.
Typically done n times with replacement to generate new sample set S’.
![Page 74: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/74.jpg)
w2
w3
w1wn
Wn-1
Resampling
w2
w3
w1wn
Wn-1
• Roulette wheel
• Binary search, log n
• Stochastic universal sampling
• Systematic resampling
• Linear time complexity
• Easy to implement, low variance
![Page 75: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/75.jpg)
Motion Model p(xt | at-1, xt-1)
Model odometry error as Gaussian noise on and
![Page 76: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/76.jpg)
Start
Motion Model p(xt | at-1, xt-1)
![Page 77: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/77.jpg)
Model for Proximity Sensors
The sensor is reflected either by a known or by anunknown obstacle:
Laser sensor Sonar sensor
![Page 78: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/78.jpg)
[Fox et al., 99]
MCL: Global Localization (Sonar)
![Page 79: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/79.jpg)
Using Ceiling Maps for Localization
[Dellaert et al. 99]
![Page 80: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/80.jpg)
Vision-based Localization
P(s|x)
h(x)s
![Page 81: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/81.jpg)
MCL: Global Localization Using Vision
![Page 82: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/82.jpg)
Localization for AIBO robots
![Page 83: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/83.jpg)
Adaptive Sampling
![Page 84: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/84.jpg)
• 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
![Page 85: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/85.jpg)
MCL: Adaptive Sampling (Sonar)
![Page 86: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/86.jpg)
Particle Filters for Robot Localization (Summary)
Approximate Bayes Estimation/Filtering Full posterior estimation Converges in O(1/#samples) [Tanner’93] Robust: multiple hypotheses with degree of
belief Efficient in low-dimensional spaces: focuses
computation where needed Any-time: by varying number of samples Easy to implement
![Page 87: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/87.jpg)
Localization Algorithms - Comparison
Kalman filter
Multi-hypothesis
tracking
Topologicalmaps
Grid-based(fixed/variable)
Particle filter
Sensors Gaussian Gaussian Features Non-Gaussian Non-Gaussian
Posterior Gaussian Multi-modal Piecewise constant
Piecewise constant
Samples
Efficiency (memory) ++ ++ ++ -/+ +/++
Efficiency (time) ++ ++ ++ o/+ +/++
Implementation + o + +/o ++
Accuracy ++ ++ - +/++ ++
Robustness - + + ++ +/++
Global localization
No Yes Yes Yes Yes
![Page 88: Recursive Bayes Filtering Advanced AI](https://reader036.fdocuments.in/reader036/viewer/2022062720/56813587550346895d9ce690/html5/thumbnails/88.jpg)
Localization: Lessons Learned
Probabilistic Localization = Bayes filters Particle filters: Approximate posterior
by random samples Extensions:
Filter for dynamic environments Safe avoidance of invisible hazards People tracking Recovery from total failures Active Localization Multi-robot localization