introduction to mobile robotics summary
play

Introduction to Mobile Robotics Summary Wolfram Burgard, Maren - PowerPoint PPT Presentation

Introduction to Mobile Robotics Summary Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello 1 Probabilistic Robotics 2 Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of


  1. Introduction to Mobile Robotics Summary Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello 1

  2. Probabilistic Robotics 2

  3. Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of probability theory)  Perception = state estimation  Action = utility optimization 3

  4. Bayes Formula ( , ) ( | ) ( ) ( | ) ( ) P x y P x y P y P y x P x ( | ) ( ) likelihood prior P y x P x ( ) P x y ( ) evidence P y 4

  5. Simple Example of State Estimation  Suppose a robot obtains measurement z  What is P(open|z)? 5

  6. Causal vs. Diagnostic Reasoning  P(open|z) is diagnostic.  P(z|open) is causal.  Often causal knowledge is easier to obtain. count frequencies!  Bayes rule allows us to use causal knowledge: ( | ) ( ) P z open P open ( | ) P open z ( ) P z 6

  7. z = observation u = action Bayes Filters x = state  ( ) ( | , , , ) Bel x P x u z u z 1 1 t t t t   ( | , , , , ) ( | , , , ) P z x u z u P x u z u Bayes 1 1 1 1 t t t t t  ( | ) ( | , , , ) P z x P x u z u Markov 1 1 t t t t  ( | ) ( | , , , , ) P z x P x u z u x Total prob. 1 1 1 t t t t t  ( | , , , ) P x u z u dx 1 1 1 1 t t t  ( | ) ( | , ) ( | , , , ) P z x P x u x P x u z u dx Markov 1 1 1 1 1 t t t t t t t t  ( | ) ( | , ) ( | , , , ) P z x P x u x P x u z z dx Markov 1 1 1 1 1 1 t t t t t t t t ( | ) ( | , ) ( ) P z x P x u x Bel x dx 1 1 1 t t t t t t t 7

  8. Bayes Filters are Familiar! ( ) ( | ) ( | , ) ( ) Bel x P z x P x u x Bel x dx 1 1 1 t t t t t t t t  Kalman filters  Particle filters  Hidden Markov models  Dynamic Bayesian networks  … 8

  9. Sensor and Motion Models ( | , ) ( | ' , ) P z x m P x x u 9

  10. Motion Models  Robot motion is inherently uncertain.  How can we model this uncertainty? 10

  11. Probabilistic Motion Models  To implement the Bayes Filter, we need the transition model p(x | x ’ , u) .  The term p(x | x ’ , u) specifies a posterior probability, that action u carries the robot from x ’ to x . 11

  12. Typical Motion Models  In practice, one often finds two types of motion models:  Odometry-based  Velocity-based ( dead reckoning )  Odometry-based models are used when systems are equipped with wheel encoders.  Velocity-based models have to be applied when no wheel encoders are given.  They calculate the new pose based on the velocities and the time elapsed. 12

  13. Odometry Model  Robot moves from to . , y , ' y , ' , ' x x  Odometry information . , , u 1 2 rot rot trans 2 2 ( ' ) ( ' ) x x y y trans atan2 ( ' , ' ) y y x x 1 rot ' 2 1 rot rot 2 rot ' y , ' , ' x , y , x trans 1 rot 13

  14. Sensors for Mobile Robots  Contact sensors: Bumpers  Internal sensors  Accelerometers (spring-mounted masses)  Gyroscopes (spinning mass, laser light)  Compasses, inclinometers (earth magnetic field, gravity)  Proximity sensors  Sonar (time of flight)  Radar (phase and frequency)  Laser range-finders (triangulation, tof, phase)  Infrared (intensity)  Visual sensors: Cameras  Satellite-based sensors: GPS 14

  15. Beam-based Sensor Model  Scan z consists of K measurements. { , ,..., } z z z z 1 2 K  Individual measurements are independent given the robot position. K ( | , ) ( | , ) P z x m P z x m k 1 k 15

  16. Beam-based Proximity Model Measurement noise Unexpected obstacles z exp 0 z max z exp 0 z max 2 z ( exp ) z z e 1 z z 1 exp ( | , ) P z x m ( | , ) 2 b P z x m e unexp hit 0 otherwise 2 b 16

  17. Beam-based Proximity Model Random measurement Max range z exp z exp 0 z max 0 z max 1 1 ( | , ) P z x m ( | , ) P z x m max rand z z small max 17

  18. Resulting Mixture Density T ( | , ) P z x m hit hit ( | , ) P z x m unexp unexp ( | , ) P z x m ( | , ) P z x m max max ( | , ) P z x m rand rand How can we determine the model parameters? 18

  19. Bayes Filter in Robotics 19

  20. Bayes Filters in Action  Discrete filters  Kalman filters  Particle filters 20

  21. Discrete Filter  The belief is typically stored in a histogram / grid representation  To update the belief upon sensory input and to carry out the normalization one has to iterate over all cells of the grid 21

  22. Piecewise Constant 22

  23. Kalman Filter  Optimal for linear Gaussian systems!  Most robotics systems are nonlinear!  Polynomial in measurement dimensionality k and state dimensionality n : O(k 2.376 + n 2 ) 23

  24. Kalman Filter Algorithm Algorithm Kalman_filter ( t-1 , t-1 , u t , z t ): 1. 2. Prediction: m t = A t m t - 1 + B t u t 3. T + Q t S t = A t S t - 1 A t 4. 5. Correction: T + R t ) - 1 K t = S t C t T ( C t S t C t 6. m t = m t + K t ( z t - C t m t ) 7. S t = ( I - K t C t ) S t 8. 9. Return t , t

  25. Extended Kalman Filter  Approach to handle non-linear models  Performs a linearization in each step  Not optimal  Can diverge if nonlinearities are large!  Works surprisingly well even when all assumptions are violated!  Same complexity than the KF 25

  26. Particle Filter  Basic principle  Set of state hypotheses ( “ particles ” )  Survival-of-the-fittest  Particle filters are a way to efficiently represent non-Gaussian distribution 26

  27. Mathematical Description  Set of weighted samples State hypothesis Importance weight  The samples represent the posterior 27

  28. Particle Filter Algorithm in Brief  Sample the next generation for particles using the proposal distribution  Compute the importance weights : weight = target distribution / proposal distribution  Resampling: “ Replace unlikely samples by more likely ones ” 28

  29. Importance Sampling Principle  We can even use a different distribution g to generate samples from f  By introducing an importance weight w , we can account for the “ differences between g and f ”  w = f / g  f is often called target  g is often called proposal  Pre-condition: f(x)>0  g(x)>0 29

  30. Particle Filter Algorithm ( ) ( | ) ( | , ) ( ) Bel x p z x p x x u Bel x dx 1 1 1 1 t t t t t t t t draw x it 1 from Bel (x t 1 ) draw x it from p ( x t | x it 1 , u t 1 ) Importance factor for x it : target distributi on i w t proposal distributi on ( | ) ( | , ) ( ) p z x p x x u Bel x 1 1 1 t t t t t t ( | , ) ( ) p x x u Bel x 1 1 1 t t t t ( | ) p z x t t 31

  31. Resampling w 1 w n w 1 w n w 2 w 2 W n-1 W n-1 w 3 w 3  Stochastic universal sampling  Roulette wheel  Systematic resampling  Binary search, n log n  Linear time complexity  Easy to implement, low variance 32

  32. MCL Example 33

  33. Mapping 34

  34. Why Mapping?  Learning maps is one of the fundamental problems in mobile robotics  Maps allow robots to efficiently carry out their tasks, allow localization …  Successful robot systems rely on maps for localization, path planning, activity planning etc 35

  35. Occupancy Grid Maps  Discretize the world into equally spaced cells  Each cells stores the probability that the corresponding area is occupied by an obstacle  The cells are assumed to be conditionally independent  If the pose of the robot is know, mapping is easy 36

  36. Updating Occupancy Grid Maps  Update the map cells using the inverse sensor model 1 [ ] [ ] [ ] xy xy xy | , 1 P m z u P m Bel m [ ] xy t t t 1 t t 1 1 1 Bel m t [ ] [ ] [ ] xy xy xy 1 | , 1 P m z u P m Bel m 1 1 t t t t t  Or use the log-odds representation [ ] [ ] xy xy : log ( ) B m odds m [ ] [ ] xy xy log | , B m odds m z u t t 1 t t t t [ ] xy log odds m P x t ( ) : odds x [ ] xy B m 1 P x 1 t 37

  37. Reflection Probability Maps  Value of interest: P ( reflects ( x,y ))  For every cell count  hits( x , y ): number of cases where a beam ended at < x , y>  misses( x , y ): number of cases where a beam passed through <x,y> hits( , ) x y [ ] xy ( ) Bel m hits( , ) misses( , ) x y x y 38

  38. SLAM 39

  39. The SLAM Problem A robot is exploring an unknown, static environment. Given:  The robot ’ s controls  Observations of nearby features Estimate:  Map of features  Path of the robot 40

  40. Chicken -or-Egg  SLAM is a chicken-or-egg problem  A map is needed for localizing a robot  A good pose estimate is needed to build a map  Thus, SLAM is regarded as a hard problem in robotics  A variety of different approaches to address the SLAM problem have been presented  Probabilistic methods outperform most other techniques 41

Recommend


More recommend