1 / 17

MCL -> SLAM

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!

sharla
Télécharger la présentation

MCL -> SLAM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MCL -> SLAM

  2. x: pose m: map u: robot motions z: observations

  3. The SLAM Problem • Given: • Robot’s controls (u) • Observations of features (z) • Produce: • -Map of features (m) • -Path of the robot (x)

  4. Indoors Undersea Underground Space

  5. Can’t map without a pose! Can’t localize without a map!

  6. 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)

  7. 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

  8. So how do we represent a landmark? MCL Landmark’s location: known Landmark: SLAM Landmark’s location: estimated Landmark: covariance matrix

  9. So how do we represent a landmark? MCL Landmark’s location: known Landmark: SLAM Landmark’s location: estimated Landmark: covariance matrix

  10. 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()

  11. FastSLAM – Action Update Landmark #1 Filter Particle #1 Landmark #2 Filter Particle #2 Particle #3

  12. FastSLAM – Sensor Update Landmark #1 Filter Particle #1 Landmark #2 Filter Particle #2 Particle #3

  13. Weight = 0.8 Weight = 0.4 Weight = 0.1 FastSLAM – Sensor Update Particle #1 Particle #2 Particle #3

  14. 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?

  15. 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?

More Related