170 likes | 334 Views
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. Underground. Space. Can’t map without a pose!
E N D
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 Underground Space
Can’t map without a pose! Can’t localize without a map!
Given: • Robot’s controls (u) • Observations of features (z) • Map of features (m) • Produce: • -Path of the robot (x) • Given: • Robot’s controls (u) • Observations of features (z) • Produce: • -Map of features (m) • -Path of the robot (x)
x, y, Landmark 1 Landmark 2 Landmark M … So, what’s a particle? Particle #1 x, y, Landmark 1 Landmark 2 Landmark M … Particle #2 x, y, Landmark 1 Landmark 2 Landmark M … … Particle N
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 foreachp 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
FastSLAM – Sensor Update Landmark #1 Filter Particle #1 Landmark #2 Filter Particle #2 Particle #3
Weight = 0.8 Weight = 0.4 Weight = 0.1 FastSLAM – Sensor Update Particle #1 Particle #2 Particle #3
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?