Download presentation
Presentation is loading. Please wait.
1
1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A A AA
2
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
3
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!
4
4 The Challenges 1. Changes in the environment e.g. disappearing cupboard Represent posterior over presence of objects in the map! 2. Chicken-egg-problem position of robot position of wall position of wall position of robot Posterior over maps!
5
5 Map Building – Main Idea Localization: P( X t =x | Y 1,A 1, …, A t-1,Y t ) = ? x: Possible position X t : Robot’s position at time t A t : Action at time t Y t : percept at time t “posterior over states” Position from observations pdfs over positions! Inferring a map from observations? pdfs over maps! M 0 : Map randomly drawn at step 0! P( M 0 = m | Y 1,A 1, …, A t-1,Y t ) = ? Dynamic maps: M t+1 ~ p(.|M t ) P( M t = m | Y 1,A 1, …, A t-1,Y t ) = ?
6
6 How to Build Maps? M 0 : Map randomly drawn at step 0! P( M 0 = m | Y 1,A 1, …, A t-1,Y t ) = ? Dynamic maps: M t+1 ~ p(.|M t ) P( M t = m | Y 1,A 1, …, A t-1,Y t ) = ? How to get the posterior? BAYES RULE; H_t = Y 1,A 1, …, A t-1,Y t P( M t =m|H t ) ~ P(A t-1,Y t |M t =m,H t-1 ) P(M t =m|H t-1 ) ¼ P(Y t |M t =m,X t-1 ) x m’ P(M t =m|M t-1 =m’)P(M t-1 =m’|H t-1 ) Too many maps! HEURISTICS: store likely maps only [and/or] compression
7
7 Map Building Localization: Action update: b t ’ = Act(b t-1 ) Perception update: b t = See(b t ’,Y t,M) 1.Map and action update: 1.m t ’ =Evol(m t-1 ) 2.b t ’ = Act(b t-1 ) 2.Perception update: 1.(b t,,m t ) = Consensus(b t ’,Y t,m t ’)
8
8 A Semi-Parametric Representation.. x i – location of feature z i – mean observation § i – covariance c i – confidence
9
9 Particle Filtering – Localization Belief representation ¼ “particle cloud” Particle position hypothesis Survival of the fittest Particle deprivation (histories are not well represented) ParticleFilter(X t-1 (1),..,X t-1 (N)) 1.For i=1 to N do 1.Action update: // “proposing” X t ’(i) ~ Act(.|X t-1 (i)) 2.Perc. Update: // “filtering” w t (i) = p( Y t | X t ’(i)) 2.For i=1 to N do // “resampling” 1.Draw I t ~ w t (.) 2.Put X t ’ in Cloud 3.Return (Cloud)
10
10 Example – Laser Scanning
11
11 FastSLAM – PF for SLAM ParticleFilter((M t-1 (i),X t-1 (i)); i=1.., N) 1.For i=1 to N do 1.X t ’(i) = Act(.|X t-1 (i)) 2.w t (i) = P(Y t |X t ’(i),M t-1 (i)) 3.M t ’(i) = Learn(Y t,X t ’(i),M t-1 (i)) 2.For i=1 to N do 1.Draw J with probability / w t (.) 2.Add (M t ’(J),X t (J)) to Cloud 3.Return (Cloud)
12
12 Example map of particle 1 map of particle 3 map of particle 2 3 particles
13
13 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
14
14 Motion Model for Scan Matching Raw Odometry Scan Matching
15
15 When to Resample? Resampling is dangerous “Effective number of samples”: How much variation in weights.. Only re-sample when n eff drops below a given threshold (n/2)
16
16 Typical Evolution of n eff visiting new areas closing the first loop second loop closure visiting known areas
17
17 Intel Lab 15 particles four times faster than real-time P4, 2.8GHz 5cm resolution during scan matching 1cm resolution in final map
18
18 Intel Lab 15 particles Compared to FastSLAM with Scan-Matching, the particles are propagated closer to the true distribution
19
19 Intel Lab
20
20 Outdoor Campus Map 30 particles 250x250m 2 1.75 km (odometry) 20cm resolution during scan matching 30cm resolution in final map 30 particles 250x250m 2 1.088 miles (odometry) 20cm resolution during scan matching 30cm resolution in final map
21
21 Dynamic Environments Changes require continuous mapping Need for better perception!
22
22 Summary SLAM Probabilistic Approach Particle Filters FastSLAM Still many open problems! Dynamic Environments Exploration?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.