1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in...
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
1
Transcript of 1 CMPUT 412 Autonomous Map Building Csaba Szepesvári University of Alberta TexPoint fonts used in...
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.
SLAMThe Simultaneous Localization and Mapping Problem
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
The Challenges1. 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
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 ) = ?
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) xm’P(Mt=m|Mt-1=m’)P(Mt-1=m’|Ht-1)
Too many maps! HEURISTICS:
store likely maps only [and/or] compression
7
Map BuildingLocalization: Action update:
bt’ = Act(bt-1) Perception update:
bt = See(bt’,Yt,M)
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’)
8
m = (Á1; : : : ;Ám)
Ái = (xi ;zi ;§ i ;ci )
A Semi-Parametric Representation..
xi – location of feature
zi – mean observation
§i – covariance
ci – confidence
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: // “proposing”Xt’(i) ~ Act(.|Xt-1(i))
2. Perc. Update: // “filtering”wt(i) = p( Yt| Xt’(i))
2. For i=1 to N do // “resampling”
1. Draw It ~ wt(.)
2. Put Xt’ in Cloud
3. Return (Cloud)
11
FastSLAM – PF for SLAM
ParticleFilter((Mt-1(i),Xt-1(i)); i=1.., N)
1. For i=1 to N do1. 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 do1. Draw J with probability / wt(.)
2. Add (Mt’(J),Xt(J)) to Cloud
3. Return (Cloud)
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
15
When to Resample?
Resampling is dangerous “Effective number of samples”:
How much variation in weights.. Only re-sample when neff drops below
a given threshold (n/2)
16
Typical Evolution of neff
visiting new areas closing the
first loop
second loop closure
visiting known areas
17
Intel Lab 15 particles
four times faster than real-timeP4, 2.8GHz
5cm resolution during scan matching
1cm resolution in final map
18
Intel Lab
15 particles
Compared to FastSLAM with Scan-Matching, the particles are propagated closer to the true distribution
20
Outdoor Campus Map 30 particles
250x250m2
1.75 km (odometry)
20cm resolution during scan matching
30cm resolution in final map
30 particles
250x250m2
1.088 miles (odometry)
20cm resolution during scan matching
30cm resolution in final map