Monte Carlo Localization (MCL)

MCL is essentially a particle filter algorithm. The requirements are a map of the environment showing the regions the robot can move to and appropriate motion model and sensor model. It assumes that the robot uses range scanners for localization. First we want to talk about theory. The algorithm takes the given map and creates a population of N samples by a given probabilistic distribution (if the robot have some knowledge about where it is – for example it knows that it is in a particular room-the algorithm could take care of this and we would see particles only in that room). Then we start a continuous update cycle. The localization stars at time t=0. Then the update cycle is repeated for each time step:
• Each sample is propagated forward by sampling the next state value Xt+1 given the current value Xt for the sample, and using the transition model given.
• Each sample is weighted by the likelihood it assigns to the new evidence, P(et+1l Xt+1).
• The population is re-sampled to generate a new population of N samples. Each new sample is selected from the current population; the probability that a particular sample is selected is proportional to its weight.

So as the robot gathers more knowledge about the environment by analyzing the range scanner data it re-samples the population and the particles concentrate at one point or more points. At some points in time all points are in one cluster point.

No comments:

Post a Comment