simple example of state estimation
TRANSCRIPT
![Page 1: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/1.jpg)
Simple Example of State Estimation
Suppose a robot obtains measurement z What is P(open|z)?
![Page 2: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/2.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 3: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/3.jpg)
Example P(z|open) = 0.6 P(z|¬open) = 0.3 P(open) = P(¬open) = 0.5
67.032
5.03.05.06.05.06.0)|(
)()|()()|()()|()|(
==⋅+⋅
⋅=
¬¬+=
zopenP
openpopenzPopenpopenzPopenPopenzPzopenP
• z raises the probability that the door is open
![Page 4: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/4.jpg)
4
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 5: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/5.jpg)
Recursive Bayesian Updating
),,|(),,|(),,,|(),,|(
11
11111
−
−−=nn
nnnn
zzzPzzxPzzxzPzzxP
Markov assumption: zn is independent of z1,...,zn-1 if we know x.
)()|(
),,|()|(
),,|(),,|()|(),,|(
...1...1
11
11
111
xPxzP
zzxPxzP
zzzPzzxPxzPzzxP
niin
nn
nn
nnn
∏=
−
−
−
=
=
=
η
η
![Page 6: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/6.jpg)
Example: Second Measurement
P(z2|open) = 0.5 P(z2|¬open) = 0.6 P(open|z1)=2/3
625.085
31
53
32
21
32
21
)|()|()|()|()|()|(),|(
1212
1212
==⋅+⋅
⋅=
¬¬+=
zopenPopenzPzopenPopenzPzopenPopenzPzzopenP
• z2 lowers the probability that the door is open
![Page 7: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/7.jpg)
A Typical Pitfall Two possible locations x1 and x2
P(x1)=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 8: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/8.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 9: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/9.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.
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 10: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/10.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 11: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/11.jpg)
Example: Closing the door
![Page 12: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/12.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 10.9
0
![Page 13: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/13.jpg)
Integrating the Outcome of Actions
∫= ')'()',|()|( dxxPxuxPuxP
∑= )'()',|()|( xPxuxPuxP
Continuous case:
Discrete case:
![Page 14: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/14.jpg)
Example: The Resulting Belief
)|(1161
83
10
85
101
)(),|()(),|(
)'()',|()|(1615
83
11
85
109
)(),|()(),|(
)'()',|()|(
uclosedP
closedPcloseduopenPopenPopenuopenPxPxuopenPuopenP
closedPcloseduclosedPopenPopenuclosedPxPxuclosedPuclosedP
−=
=∗+∗=
+=
=
=∗+∗=
+=
=
∑
∑
![Page 15: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/15.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 16: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/16.jpg)
A Closer Look at Axiom 3
B
BA ∧A BTrue
)Pr()Pr()Pr()Pr( BABABA ∧−+=∨
![Page 17: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/17.jpg)
Using the Axioms
)Pr(1)Pr(0)Pr()Pr(1
)Pr()Pr()Pr()Pr()Pr()Pr()Pr()Pr(
AAAA
FalseAATrueAAAAAA
−=¬−¬+=
−¬+=¬∧−¬+=¬∨
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 18: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/18.jpg)
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(X) is called probability mass function.
E.g. 02.0,08.0,2.0,7.0)( =RoomP
![Page 19: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/19.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 20: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/20.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 21: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/21.jpg)
Law of Total Probability, Marginals
∑=y
yxPxP ),()(
∑=y
yPyxPxP )()|()(
∑ =x
xP 1)(
Discrete case
∫ = 1)( dxxp
Continuous case
∫= dyypyxpxp )()|()(
∫= dyyxpxp ),()(
![Page 22: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/22.jpg)
Bayes Formula
evidenceprior likelihood
)()()|()(
)()|()()|(),(
⋅==
⇒
==
yPxPxyPyxP
xPxyPyPyxPyxP
![Page 23: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/23.jpg)
Normalization
)()|(1)(
)()|()(
)()|()(
1
xPxyPyP
xPxyPyP
xPxyPyxP
x∑
==
==
−η
η
yx
xyx
yx
yxPx
xPxyPx
|
|
|
aux)|(:
aux1
)()|(aux:
η
η
=∀
=
=∀
∑
Algorithm:
![Page 24: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/24.jpg)
Bayes Rule with Background Knowledge
)|()|(),|(),|(
zyPzxPzxyPzyxP =
![Page 25: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/25.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:
),,,|()( 11 tttt zuzuxPxBel =
},,,{ 11 ttt zuzud =
![Page 26: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/26.jpg)
Markov Assumption
Underlying Assumptions Static world Independent noise Perfect model, no approximation errors
),|(),,|( 1:11:11:1 ttttttt uxxpuzxxp −−− =)|(),,|( :11:1:0 tttttt xzpuzxzp =−
![Page 27: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/27.jpg)
111 )(),|()|( −−−∫= ttttttt dxxBelxuxPxzPη
Bayes Filters
),,,,|(),,,,,|( 111111 ttttttt uzzuxPuzzuxzP −−= ηBayes
z = observationu = actionx = state
),,,|()( 11 tttt zuzuxPxBel =
Markov ),,,,|()|( 111 ttttt uzzuxPxzP −= η
Markov 11111 ),,,|(),|()|( −−−−∫= ttttttttt dxuzuxPxuxPxzP η11111
1111
),,,,|(
),,,,,|()|(
−−−
−−∫=
tttt
tttttt
dxuzzuxP
xuzzuxPxzP
ηTotal prob.
Markov 111111 ),,,|(),|()|( −−−−∫= tttttttt dxzzuxPxuxPxzP η
![Page 28: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/28.jpg)
Bayes Filter Algorithm • Algorithm Bayes_filter( Bel(x),d ):• η=0
• If d is a perceptual data item z then• For all x do• • • For all x do•
• Else if d is an action data item u then• For all x do•
• Return Bel’(x)
)()|()(' xBelxzPxBel = )(' xBel+= ηη
)(')(' 1 xBelxBel −= η
')'()',|()(' dxxBelxuxPxBel ∫=
111 )(),|()|()( −−−∫= tttttttt dxxBelxuxPxzPxBel η
![Page 29: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/29.jpg)
Bayes Filters are Familiar!
Kalman filters Discrete filters Particle filters Hidden Markov models Dynamic Bayesian networks Partially Observable Markov Decision Processes
(POMDPs)
111 )(),|()|()( −−−∫= tttttttt dxxBelxuxPxzPxBel η
![Page 30: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/30.jpg)
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.
![Page 31: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/31.jpg)
Dimensions of Mobile Robot Navigation
mapping
motion control
localizationSLAM
active localization
exploration
integrated approaches
![Page 32: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/32.jpg)
Probabilistic Localization
![Page 33: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/33.jpg)
What is the Right Representation?
Kalman filters Multi-hypothesis tracking Grid-based representations Topological approaches Particle filters
![Page 34: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/34.jpg)
Mobile Robot Localization with Particle Filters
![Page 35: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/35.jpg)
MCL: Sensor Update
![Page 36: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/36.jpg)
PF: Robot Motion
![Page 37: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/37.jpg)
Bayesian Robot Programming Integrated approach where parts of the robot
interaction with the world are modelled by probabilities
Example: training a Khepera robot (video)
![Page 38: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/38.jpg)
Bayesian Robot Programming Integrated approach where parts of the robot
interaction with the world are modelled by probabilities
Example: training a Khepera robot (video)
![Page 39: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/39.jpg)
Bayesian Robot Programming
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 40: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/40.jpg)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 41: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/41.jpg)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 42: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/42.jpg)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 43: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/43.jpg)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 44: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/44.jpg)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
![Page 45: Simple Example of State Estimation](https://reader031.vdocuments.net/reader031/viewer/2022020701/61f6b974314f0d0ae21c7447/html5/thumbnails/45.jpg)
Further Information Recently published book: Pierre Bessière,
Juan-Manuel Ahuactzin, Kamel Mekhnacha, Emmanuel Mazer: Bayesian Programming
MIT Press Book (Intelligent Robotics and Autonomous Agents Series): Sebastian Thrun, Wolfram Burgard, Dieter Fox: Probabilistic Robotics
ProBT library for Bayesian reasoning bayesian-cognition.org