View
219
Download
2
Category
Preview:
Citation preview
Bayesian Robot Programming &Probabilistic Robotics
Pavel PetrovičDepartment of Applied Informatics, Faculty of Mathematics, Physics and Informaticsppetrovic@acm.org July 11th 2008
2
Bayesian and Probabilistic Robotics Robotics research challenges Why bother with probabilities Bayesian robot programming Probabilistic robotics
navigation, localization Mapping
Where to go from here
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
4
Robotic tasks Deterministic and static environment, repeated
operations→ standard control theory and planning algorithms
Example PID Controller Unknown, unpredictable and dynamic environment
→ Requires different strategies, adaptation, reasoning, learning
Example: NurseBot: assistant for elderly
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
5
Approaches to Robotics Technology/engineering –
mechanization, automation, robotics Filosophy – artificial intelligence,
artificial life, embedded intelligence Today: time for reflection and rapid
development – traditional fields are being restructured
Challenge: specialization
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
6
Nature of data – sensors Information obtained from real world has
completely different nature than the discrete data stored in the computer: sensors provide noisy data and algorithms must cope with that!
Sensors never provide a complete information about the state of the environment – only measure some physical variables / phenomena with a bounded precision and certainty
Information from the sensors is not available at any time, obtaining the data costs time and resources
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
7
Why Probabilities Real environments imply uncertainty in
accuracy of robot actions sensor measurements Robot accuracy and correct models are
vital for successful operations All available data must be used A lot of data is available in the form of
probabilities
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
8
What Probabilities Sensor parameters Sensor accuracy Robot wheels slipping Motor resolution limited Wheel precision limited Performance alternates
based on temperature, etc.
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
9
What Probabilities These inaccuracies can be measured and
modelled with random distributions Single reading of a sensor contains more
information given the prior probability distribution of sensor behavior than its actual value
Robot cannot afford throwing away this additional information!
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
10
What Probabilities More advanced concepts: Robot position and orientation
(robot pose) Map of the environment Planning and control Action selection Reasoning...
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Nature of Data
Odometry Data Range DataBayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Simple Example of State Estimation Suppose a robot obtains measurement z What is P(open|z)?
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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:
)()()|()|(
zPopenPopenzPzopenP
count frequencies!
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
15
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 )?
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
ni
in
nn
nn
nnn
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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 openBayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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?
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Integrating the Outcome of Actions
')'()',|()|( dxxPxuxPuxP
)'()',|()|( xPxuxPuxP
Continuous case:
Discrete case:
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Example: The Resulting Belief
)|(1161
83
10
85
101
)(),|()(),|(
)'()',|()|(1615
83
11
85
109
)(),|()(),|(
)'()',|()|(
uclosedP
closedPcloseduopenPopenPopenuopenP
xPxuopenPuopenP
closedPcloseduclosedPopenPopenuclosedP
xPxuclosedPuclosedP
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Bayes Formula
evidenceprior likelihood
)()()|()(
)()|()()|(),(
yPxPxyPyxP
xPxyPyPyxPyxP
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Normalization
)()|(1)(
)()|()(
)()|()(
1
xPxyPyP
xPxyPyP
xPxyPyxP
x
yx
xyx
yx
yxPx
xPxyPx
|
|
|
aux)|(:
aux1
)()|(aux:
Algorithm:
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Markov Assumption
Underlying Assumptions Static world Independent noise Perfect model, no approximation errors
),|(),,|( 1:11:11:1 ttttttt uxxpuzxxp )|(),,|( :11:1:0 tttttt xzpuzxzp
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
111 )(),|()|( ttttttt dxxBelxuxPxzP
Bayes Filters
),,,,|(),,,,,|( 111111 ttttttt uzzuxPuzzuxzP Bayes
z = observationu = actionx = state
),,,|()( 11 tttt zuzuxPxBel
Markov ),,,,|()|( 111 ttttt uzzuxPxzP
Markov11111 ),,,|(),|()|( ttttttttt dxuzuxPxuxPxzP
11111
1111
),,,,|(
),,,,,|()|(
tttt
tttttt
dxuzzuxP
xuzzuxPxzP
Total prob.
Markov111111 ),,,|(),|()|( tttttttt dxzzuxPxuxPxzP
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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.
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Dimensions of Mobile Robot Navigation
mapping
motion control
localizationSLAM
active localization
exploration
integrated approaches
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
What is the Right Representation?
Kalman filters Multi-hypothesis tracking Grid-based representations Topological approaches Particle filters
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Mobile Robot Localization with Particle Filters
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Bayesian Robot Programming Integrated approach where parts of the robot
interaction with the world are modelled by probabilities
Example: training a Khepera robot (video)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Bayesian Robot Programming Integrated approach where parts of the robot
interaction with the world are modelled by probabilities
Example: training a Khepera robot (video)
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
Further Information
Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008
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
Recommended