CMPUT 412 Autonomous Map Building

# CMPUT 412 Autonomous Map Building

## CMPUT 412 Autonomous Map Building

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta 1

2. Autonomous Map Building Starting from an arbitrary initial point, a mobile robot should be able to autonomously explore the environment with its on board sensors, gain knowledge about it, interpret the scene, build an appropriate map and localize itself relative to this map. SLAM The Simultaneous Localization and Mapping Problem 2

3. How to Establish a Map?  Methods  By hand  Learning  Why learn?  Spare cost  Keep map up-to-date  Specialize to robot’s perceptual caps  What map to learn? Uses of a map?  Localization  Navigation/planning  Updateable  What is a good map?  Metric correctness  Topological correctness  Perceptual correctness  Map alone is not enough! 123.5 3

4. The Challenges 1. Changes in the environment 2. Chicken-egg-problem e.g. disappearing cupboard position of robot  position of wall ? position of wall  position of robot  Represent posterior over presence of objects in the map!  Posterior over maps! 4

5. Map Building – Main Idea  Localization:  P( Xt=x | Y1,A1, …, At-1,Yt) = ?  x: Possible position  Xt: Robot’s position at time t  At: Action at time t  Yt: percept at time t  “posterior over states”  Position from observations  pdfs over positions!  Inferring a map from observations?  pdfs over maps!  M0: Map randomly drawn at step 0!  P( M0= m | Y1,A1, …, At-1,Yt) = ?  Dynamic maps:  Mt+1~ p(.|Mt)  P( Mt= m | Y1,A1, …, At-1,Yt) = ? 5

6. How to Build Maps?  M0: Map randomly drawn at step 0!  P( M0= m | Y1,A1, …, At-1,Yt) = ?  Dynamic maps:  Mt+1~ p(.|Mt)  P( Mt= m | Y1,A1, …, At-1,Yt) = ?  How to get the posterior?  BAYES RULE; H_t = Y1,A1, …, At-1,Yt P( Mt=m|Ht) ~ P(At-1,Yt|Mt=m,Ht-1) P(Mt=m|Ht-1) ¼ P(Yt|Mt=m,Xt-1) x m’P(Mt=m|Mt-1=m’)P(Mt-1=m’|Ht-1)  Too many maps!  HEURISTICS:  store likely maps only  [and/or] compression 6

7. Localization:  Action update: bt’ = Act(bt-1)  Perception update: bt= See(bt’,Yt,M) Map Building 1. Map and action update: 1. mt’ =Evol(mt-1) 2. bt’ = Act(bt-1) 2. Perception update: 1. (bt,,mt) = Consensus(bt’,Yt,mt’) 7

8. A Semi-Parametric Representation.. m = (Á1;:::;Ám) Ái = (xi;zi;§i;ci) xi– location of feature zi– mean observation §i– covariance ci– confidence 8

9. Particle Filtering – Localization  Belief representation ¼ “particle cloud”  Particle  position hypothesis  Survival of the fittest  Particle deprivation (histories are not well represented) ParticleFilter(Xt-1(1),..,Xt-1(N)) 1. For i=1 to N do 1. Action update: Xt’(i) ~ Act(.|Xt-1(i)) 2. Perc. Update: wt(i) = p( Yt| Xt’(i)) 2. For i=1 to N do 1. Draw It~ wt(.) 2. Put Xt’ in Cloud 3. Return (Cloud) // “proposing” // “filtering” // “resampling” 9

10. FastSLAM – PF for SLAM ParticleFilter((Mt-1(i),Xt-1(i)); i=1.., N) 1. For i=1 to N do 1. Xt’(i) = Act(.|Xt-1(i)) 2. wt(i) = P(Yt|Xt’(i),Mt-1(i)) 3. Mt’(i) = Learn(Yt,Xt’(i),Mt-1(i)) 2. For i=1 to N do 1. Draw J with probability / wt(.) 2. Add (Mt’(J),Xt(J)) to Cloud 3. Return (Cloud) 11

11. Example 3 particles map of particle 3 map of particle 1 map of particle 2 12

12. Problem  Each map is quite big in case of grid maps  Since each particle maintains its own map  Therefore, one needs to keep the number of particles small  Solution: Compute better proposal distributions!  Idea: Improve the pose estimate before applying the particle filter 13

13. Motion Model for Scan Matching Raw Odometry Scan Matching 14

14. When to Resample?  Resampling is dangerous  “Effective number of samples”:  How much variation in weights..  Only re-sample when neffdrops below a given threshold (n/2) 15

15. Typical Evolution of neff visiting new areas closing the first loop visiting known areas second loop closure 16

16. Intel Lab  15 particles  four times faster than real-time P4, 2.8GHz  5cm resolution during scan matching  1cm resolution in final map 17

17. Intel Lab  15 particles  Compared to FastSLAM with Scan-Matching, the particles are propagated closer to the true distribution 18

18. Outdoor Campus Map  30 particles  250x250m2  1.75 km (odometry)  20cm resolution during scan matching  30cm resolution in final map in final map  30 particles  250x250m2  1.088 miles (odometry)  20cm resolution during scan matching  30cm resolution 20

19. Dynamic Environments ?  Changes require continuous mapping  Need for better perception! 21

20. Summary  SLAM  Probabilistic Approach  Particle Filters  FastSLAM  Still many open problems!  Dynamic Environments  Exploration? 22