In robotics and sensors, Monte Carlo localization (MCL) is a Monte Carlo method to determine the position of a robot given a map of its environment based on Markov localization. It is basically an implementation of the particle filter applied to robot localization, and has become very popular in the Robotics literature. In this method a large number of hypothetical current configurations are initially randomly scattered in configuration space. With each sensor update, the probability that each hypothetical configuration is correct is updated based on a statistical model of the sensors and Bayes' theorem. Similarly, every motion the robot undergoes is applied in a statistical sense to the hypothetical configurations based on a statistical motion model. When the probability of a hypothetical configuration becomes very low, it is replaced with a new random configuration.