SLAM notes

advertisement
MCL -> SLAM
x: pose
m: map
u: robot motions
z: observations
The SLAM Problem
Given:
-Robot’s controls (u)
-Observations of features (z)
Produce:
-Map of features (m)
-Path of the robot (x)
Indoors
Undersea
Space
Underground
Can’t map without a pose!
Can’t localize without a map!
Given:
Given:
-Robot’s controls (u)
-Observations of features (z)
-Map of features (m)
-Robot’s controls (u)
-Observations of features (z)
Produce:
-Map of features (m)
-Path of the robot (x)
-Path of the robot (x)
Produce:
So, what’s a particle?
Particle
x, y, 
#1
Landmark 1 Landmark 2 … Landmark M
Particle
x, y, 
#2
Landmark 1 Landmark 2 … Landmark M
…
Particle
x, y, 
N
Landmark 1 Landmark 2 … Landmark8 M
So how do we represent a landmark?
MCL
Landmark’s location: known
Landmark:
SLAM
Landmark’s location: estimated
Landmark:
covariance matrix
So how do we represent a landmark?
MCL
Landmark’s location: known
Landmark:
SLAM
Landmark’s location: estimated
Landmark:
covariance matrix
How do we run this particle filter?
=robot_motion
obs=robot_observations
foreach p in Particles
p.weight=1
p.move( ) // Motion Model!
foreach in obs
if never seen before
p.map.add_landmark( ) // Sensor Model!
else
p.map.update_landmark( ) // Sensor Model!
p.weight=p.weight * p.update_weight( ) // Independence!
resample()
FastSLAM – Action Update
Landmark #1
Filter
Particle #1
Landmark #2
Filter
Particle #2
Particle #3
13
FastSLAM – Sensor Update
Landmark #1
Filter
Particle #1
Landmark #2
Filter
Particle #2
Particle #3
14
FastSLAM – Sensor Update
Particle #1
Weight = 0.8
Particle #2
Weight = 0.4
Particle #3
Weight = 0.1
15
Discussion Questions
• What happens to one landmark’s estimated
location if another landmark is observed
wrongly?
• What will happen if each landmark is seen
exactly once in a trajectory?
• What happens if the robot should see a
landmark, and doesn’t? (negative information)
• What happens if the robot misidentifies a
landmark?
Discussion Questions
• What if your robot gets re-kidnapped?
• What will happen if your robot never moves?
• What happens if the robot should see a
landmark, and doesn’t? (negative information)
• What happens if the robot misidentifies a
landmark?
Download