48
Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics [email protected] July 11 th 2008

Bayesian Robot Programming and Probabilistic Robotics, July 11 th

Embed Size (px)

Citation preview

Bayesian Robot Programming &Probabilistic Robotics

Pavel PetrovičDepartment of Applied Informatics, Faculty of Mathematics, Physics and [email protected] 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

Robotics Today

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

Example: Closing the door

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

Probabilistic Localization

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

MCL: Sensor Update

PF: Robot Motion

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

Bayesian Robot Programming

Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008

Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008

Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008

Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008

Bayesian Robot Programming and Probabilistic Robotics, July 11th 2008

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