User:Prashantserai
Monte Carlo localization is a very well known and popular technique for Localization of Mobile robots. The algorithm for the same Algorithm MCL is shown in figure below. It is well known that, in order that the algorithm to work well, the amount of uncertainty in the sensor model needs to be inflated, which may not be very satisfactory. There have been approaches proposed in literature to alleviate the above-mentioned problem like incorporating only a limited number of readings at a time, "Robust Monte Carlo localization for mobile robots", "Unscented Particle Filters", "Improved Likelihood Models for Probabilistic Localization based on Range Scans", "Adaptive Full Scan Model for Range Finders in Dynamic Environments", etc. which have their respective limitations.
It was felt that, apart from the discreteness in the sample representation of the particle filter, another reason that necessitates the inflation of the sensor noise is the linear proportionality of, the belief probability function represented by the particle filter to, the density of particles. For a non-inflated model, the dynamic range of probabilities of the plausible hypotheses can be quite significant, and thus the use of linearly proportional resampling creates a loss of particle diversity. Consequentially, a variation is proposed to the Monte Carlo localization technique described in Algorithm MCL2; wherein the weights are transformed by a sublinear function for eg. cube-root, log, etc. The resampling is then carried out proportional to the transformed weights . After resampling, along with the particle pose, the remaining weight of the particle i.e. is also retained.
It is expected that such a modification, will allow better accuracy than compared to use of inflated sensor model, as well as, allow one to retain the robustness that the use of inflated sensor model provides. The performance of the proposed Algorithm MCL2 remains to be evaluated though.
Algorithm MCL: for to : motion_update sensor_update endfor for to : draw from with probability endfor return
Algorithm MCL2: for to : motion_update sensor_update endfor for to : draw from with probability endfor return
could be a sub-linear function like nth-root, log, etc.