Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics

Similar presentations


Presentation on theme: "Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics"— Presentation transcript:

1 Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics ppetrovic@acm.org July 11 th 2008

2 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 11 th 2008

3 Robotics Today

4 4 Robotic tasks Deterministic and static environment, repeated operations → standard control theory and planning algorithms Example PID ControllerPID Unknown, unpredictable and dynamic environment → Requires different strategies, adaptation, reasoning, learning Example: NurseBot: assistant for elderlyNurseBot Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

5 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 11 th 2008

6 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 11 th 2008

7 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 11 th 2008

8 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 11 th 2008

9 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 11 th 2008

10 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 11 th 2008

11 Nature of Data Odometry Data Range Data Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

12 Simple Example of State Estimation Suppose a robot obtains measurement z What is P(open|z)? Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

13 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: count frequencies! Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

14 Example P(z|open) = 0.6P(z|  open) = 0.3 P(open) = P(  open) = 0.5 z raises the probability that the door is open Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

15 15 Combining Evidence Suppose our robot obtains another observation z 2 How can we integrate this new information? More generally, how can we estimate P(x| z 1...z n ) ? Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

16 Recursive Bayesian Updating Markov assumption: z n is independent of z 1,...,z n-1 if we know x. Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

17 Example: Second Measurement P(z 2 |open) = 0.5P(z 2 |  open) = 0.6 P(open|z 1 )=2/3 z 2 lowers the probability that the door is open Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

18 A Typical Pitfall Two possible locations x 1 and x 2 P(x 1 )=0.99 P(z|x 2 )=0.09 P(z|x 1 )=0.07 Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

19 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 11 th 2008

20 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 11 th 2008

21 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 11 th 2008

22 Example: Closing the door Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

23 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 Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

24 Integrating the Outcome of Actions Continuous case: Discrete case: Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

25 Example: The Resulting Belief

26 Pr(A) denotes probability that proposition A is true. Axioms of Probability Theory Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

27 A Closer Look at Axiom 3 B Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

28 Using the Axioms Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

29 Discrete Random Variables X denotes a random variable. X can take on a countable number of values in {x 1, x 2, …, x n }. P(X=x i ), or P(x i ), is the probability that the random variable X takes on value x i. P(X) is called probability mass function. E.g. Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

30 Continuous Random Variables X takes on values in the continuum. p(X=x), or p(x), is a probability density function. E.g. x p(x) ‏ Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

31 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 y P(x | y) = P(x,y) / P(y) P(x,y) = P(x | y) P(y)‏ If X and Y are independent then P(x | y) = P(x)‏ Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

32 Law of Total Probability, Marginals Discrete caseContinuous case Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

33 Bayes Formula Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

34 Normalization Algorithm: Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

35 Bayes Rule with Background Knowledge Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

36 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: Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

37 Markov Assumption Underlying Assumptions Static world Independent noise Perfect model, no approximation errors Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

38 Bayes Filters Bayes z = observation u = action x = state Markov Total prob. Markov

39 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) Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

40 Bayes Filters are Familiar! Kalman filters Discrete filters Particle filters Hidden Markov models Dynamic Bayesian networks Partially Observable Markov Decision Processes (POMDPs)‏ Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

41 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 11 th 2008

42 Dimensions of Mobile Robot Navigation mapping motion control localization SLAM active localization exploration integrated approaches Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

43 Probabilistic Localization

44 What is the Right Representation? Kalman filters Multi-hypothesis tracking Grid-based representations Topological approaches Particle filters Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

45 Mobile Robot Localization with Particle Filters Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

46 MCL: Sensor Update

47 PF: Robot Motion

48 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 11 th 2008

49 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 11 th 2008

50 Bayesian Robot Programming Bayesian Robot Programming and Probabilistic Robotics, July 11 th 2008

51

52

53

54

55

56 Further Information Bayesian Robot Programming and Probabilistic Robotics, July 11 th 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


Download ppt "Bayesian Robot Programming & Probabilistic Robotics Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics"

Similar presentations


Ads by Google