Transcript
Page 1: Particle Filter for Robot Localization

Particle Filter for Robot Localization

Vuk Malbasa

Page 2: Particle Filter for Robot Localization

Problem

• Map is given as bitmap

• It is possible to measure distance to dark like from any position

• Robot needs to find out where on the map it is located

• Only available data is:

• Odometry (noisy)

• Range finding (noisy)

• Robot is programmed to follow a particular route around the map and is allowed to measure at each time step

Page 3: Particle Filter for Robot Localization

Robot sensors• The robot measures distance to wall from

several directions– I assumed that a gyroscope would always let

the robot take measurements from the same angle

• Additive noise is simulated in the measurements as

ε ~ N(0,1)

• The robot sees a vector of distances

• To localize the robot needs to find a spot on the map which has similar distances to what it sees

• The measure of similarity– Given the current robot measurements as the

mean of a normal distribution with a large standard deviation how likely are the measurements taken from different locations across the map?

R

Page 4: Particle Filter for Robot Localization

Measurements• Sometimes the measurements can be

ambiguous• When there the robot is in a repetitive

position on the map the distance function can be deceiving– This is where odometry helps

• When in the features that the robot sees are unique to that position on the map then the distance function has one optimum

Page 5: Particle Filter for Robot Localization

Measurements• When the map is complex and the

measurements are noisy then the distance function shows multiple optima

• This leads to the importance of keeping track of previous positions of particles

– While a positions measurements may not be unique to a particular place on the map, the sequence of measurements is unique

Page 6: Particle Filter for Robot Localization

Algorithm

initialize particles

for i = 1:length(movement)

take measurements from current position

simulate measurements for particles

calculate distance function

assign weights

resample

move robot

move particles

end

Page 7: Particle Filter for Robot Localization

PracticeAt the beginning of the movement there are many possible positions because of noisy measurements and the wide Gaussian distance function

After a few iterations there are only two major positions left and the biggest one is wrong

However once the robot moves into a place on the map with unique measurements there is only one position

Page 8: Particle Filter for Robot Localization

Parallel to evolutionary computation

loop

predict

evaluate

resample

end

loop

simulate

evaluate

reproduce

end

Particle filters Evolutionary Computation

Uncanny similarity


Recommended