Probabilistic Robotics: Fastslam
Probabilistic Robotics: Fastslam
Probabilistic Robotics: Fastslam
FastSLAM
The SLAM Problem
2
The SLAM Problem
A robot moving though an unknown, static environment
Given:
The robot’s
controls
Observations of
nearby features
Estimate:
Map of features
Path of the
robot 3
Why is SLAM a hard problem?
Robot pose
uncertainty
6
Particle Filters
7
Localization vs. SLAM
A particle filter can be used to solve both problems
9
Dependencies
Is there a dependency between the dimensions of
the state space?
If so, can we use the dependency to solve the
problem more efficiently?
10
Factored Posterior (Landmarks)
poses map observations & movements
SLAM posterior
Robot path posterior
landmark positions
Does this help to solve the problem?
Factorization first introduced by Murphy in 1999 11
Factored Posterior (Landmarks)
poses map observations & movements
Landmark 1 l1
observations z1 z3
controls u0 u1 u ut-1
1
z2 zt
Landmark 2 l2
15
FastSLAM
Rao-Blackwellized particle filtering based on
landmarks [Montemerlo et al., 2002]
Each landmark is represented by a 2x2
Extended Kalman Filter (EKF)
Each particle therefore has to maintain M EKFs
Particle
#1
x, y, Landmark 1 Landmark 2 … Landmark M
Particle
#2
x, y, Landmark 1 Landmark 2 … Landmark M
…
Particle
N
x, y, Landmark 1 Landmark 2 … Landmark M
16
FastSLAM – Action Update
Landmark #1
Filter
Particle #1
Landmark #2
Filter
Particle #2
Particle #3
17
FastSLAM – Sensor Update
Landmark #1
Filter
Particle #1
Landmark #2
Filter
Particle #2
Particle #3
18
FastSLAM – Sensor Update
19
FastSLAM - Video
20
FastSLAM Complexity
O(N)
Update robot particles Constant time per particle
based on control ut-1
N = Number of particles
O(N•log(M))
M = Number of map features Log time per particle
21
Data Association Problem
Which observation belongs to which landmark?
22
Multi-Hypothesis Data Association
Data association is
done on a per-particle
basis
23
Per-Particle Data Association
4 km traverse
< 5 m RMS
position error
100 particles
Blue = GPS
Yellow = FastSLAM
Dataset courtesy of University of Sydney 25
Results – Victoria Park
27
Results – Accuracy
28
Grid-based SLAM
29
Mapping using Raw Odometry
30
Mapping with Known Poses
31
Rao-Blackwellization
poses map observations & movements
SLAM posterior
u0 u1 ut-1
x0 x1 x2 ... xt
z1 z2 zt
35
Rao-Blackwellized Mapping
Each particle
maintains its own map and
updates it upon “mapping with known poses”
36
Particle Filter Example
3 particles
37
map of particle 2
Problem
Solution:
Compute better proposal distributions!
Idea:
Improve the pose estimate before applying
the particle filter
38
Pose Correction Using Scan
Matching
Maximize the likelihood of the i-th pose
and map relative to the (i-1)-th pose
and map
Raw Odometry
Scan Matching
40
Mapping using Scan Matching
41
FastSLAM with Improved
Odometry
Scan-matching provides a locally
consistent pose correction
44
FastSLAM with Scan-Matching
Loop Closure
45
FastSLAM with Scan-Matching
46
47
Further Improvements
Improved proposals will lead to more
accurate maps
They can be achieved by adapting the proposal
distribution according to the most recent
observations
Flexible re-sampling steps can further improve the
accuracy.
48
Improved Proposal
The proposal adapts to the structure
of the environment
49
Selective Re-sampling
Re-sampling is dangerous, since
important samples might get lost
(particle depletion problem)
51
Resampling with Neff
52
Typical Evolution of neff
visiting new
areas closing the
first loop
visiting
known areas
54
Intel Lab
15 particles
Compared to
FastSLAM with
Scan-Matching,
the particles are
propagated
closer to the true
distribution
55
Outdoor Campus Map
30 particles
250x250m2
1.75
1.088km
miles
(odometry)
20cm resolution
during scan
matching
30cm resolution
in final map
56
Outdoor Campus Map - Video
57
MIT Killian Court
58
MIT Killian Court
59
MIT Killian Court - Video
60
Conclusion
The ideas of FastSLAM can also be applied in the
context of grid maps
Utilizing accurate sensor observation leads to
good proposals and highly efficient filters
It is similar to scan-matching on a per-particle
base
The number of necessary particles and
re-sampling steps can seriously be reduced
Improved versions of grid-based FastSLAM can
handle larger environments than naïve
implementations in “real time” since they need
one order of magnitude fewer samples
61
More Details on FastSLAM
M. Montemerlo, S. Thrun, D. Koller, and B. Wegbreit. FastSLAM: A
factored solution to simultaneous localization and mapping, AAAI02
62