Explanation of the Algorithm

~Example taken from Youtube

Given the map of a building an a robot with a laser sensor we want to estimate the position of the robot.

  1. The robot could be anywhere on the map, to do this I take a finite set of randomly taken bot (random position, random orientation) and put the in a simulated map:
  2. I take the measurement of the bot:
  3. I estimate where the robot could be (considering a possible error in the measurements) and highlight the more probable simulated robots: New simulated pdf:
  4. Using the new pdf i re-randomize the simulated robots and their positions:
  5. I repeat the process:
  • Measurement.
  • Estimation of pdf.
  • Randomize new simulated robots.

This Algorithm is also known as MCL (Monte Carlo Localization). A variant of this algorithm, the AMCL ( Adaptive Monte Carlo Localization) reduces the number of simulated robots at each iteration, to speed up the algorithm, it’s a little less precise, but much more quick.


Algorithm

  1. Initialization:
  • We need to know the pdf: , , as well as the functions and .
  1. Generate particles according to the distribution
  2. Generate particles according to the distribution
  3. Which are the particles rappresentative of the distribution
  4. Generate a set of weights such that:
  1. Create a new discrete distribution function such that:
  1. Using the new restart from point (1.)