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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend