Top Banner
MCL -> SLAM
17

MCL -> SLAM. x: pose m: map u: robot motions z: observations.

Dec 17, 2015

Download

Documents

Kristina Lewis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

MCL -> SLAM

Page 2: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

x: posem: mapu: robot motionsz: observations

Page 3: 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)

Page 4: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

Indoors

Space

Undersea

Underground

Page 5: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

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

Page 6: MCL -> SLAM. x: pose m: map u: robot motions z: observations.
Page 7: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

Given:-Robot’s controls (u)-Observations of features (z)

Produce:-Map of features (m)-Path of the robot (x)

Given:-Robot’s controls (u)-Observations of features (z)-Map of features (m)

Produce:-Path of the robot (x)

Page 8: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

8Landmark 1 Landmark 2 Landmark M…x, y,

Landmark 1 Landmark 2 Landmark M…x, y, Particle#1

Landmark 1 Landmark 2 Landmark M…x, y, Particle#2

ParticleN

So, what’s a particle?

Page 9: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

So how do we represent a landmark?

MCL

Landmark’s location: knownLandmark:

SLAM

Landmark’s location: estimatedLandmark:

covariance matrix

Page 10: MCL -> SLAM. x: pose m: map u: robot motions z: observations.
Page 11: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

So how do we represent a landmark?

MCL

Landmark’s location: knownLandmark:

SLAM

Landmark’s location: estimatedLandmark:

covariance matrix

Page 12: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

How do we run this particle filter? =robot_motionobs=robot_observationsforeach p in Particles

p.weight=1p.move( ) // Motion Model!foreach in obs

if never seen beforep.map.add_landmark( ) // Sensor Model!

elsep.map.update_landmark( ) // Sensor Model!

p.weight=p.weight * p.update_weight( ) // Independence!resample()

Page 13: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

13

FastSLAM – Action Update

Particle #1

Particle #2

Particle #3

Landmark #1Filter

Landmark #2Filter

Page 14: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

14

FastSLAM – Sensor Update

Particle #1

Particle #2

Particle #3

Landmark #1Filter

Landmark #2Filter

Page 15: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

15

FastSLAM – Sensor Update

Particle #1

Particle #2

Particle #3

Weight = 0.8

Weight = 0.4

Weight = 0.1

Page 16: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

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?

Page 17: MCL -> SLAM. x: pose m: map u: robot motions z: observations.

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?