Particle Filter
Index Projects Publications Slides Other
Robot Localization Problem

Particle Filter

Simulation

Path Planning

Localization estimation without observations

Sick Laser Simulation

Experimental Results

Drawbacks

Challenges

References

It is strongly recommended to use Internet Explorer and Windows Media Player (version 6.4 or above)


 
 Robot Localization

A parametric localization consists on identify the pose (x,y position and orientation) of the vehicle (robot) into a map. This localization has to be improved using the information acquired by sensors (as a range-finder sensor).

The localization problem solved with a probabilistic approach is robust in face of sensor limitations, sensor noise and environment dynamics as referred in [7], where the author identifies the global localization problem as particularly challenging. Using a probabilistic approach, the localization turns into an estimation problem with the evaluation and propagation of a probability density function, see [6]. Within the context of mobile robot localization, this type of approaches are often referred to as Markov Localization (ML) or Hidden Markov Models (HMM). See [8].

The next figure illustrates the main goal of localization.

 
 Particle Filter

There are several approaches to the localization problem as the Monte-Carlo simulation method, well known as Particle Filter. The main objective of particle filtering is to track a variable of interest, typically with non-Gaussian and potentially multi-modal probability distribution function pdf. Multiple copies (particles) of the variable of interest are used, each one associated with a weight that signifies the quality of that specific particle. A more detailed description of the Monte-Carlo simulation method (particle filtering) used in order to implement Bayesian framework localization is described in [1].

 
 Simulation using MATLAB

I developed a small program to simulate particle filter to estimate the trajectory of a mobile robot using a laser range-sensor. The observation are also simulated, however the program is prepared to work with real data acquired by a real range-sensor. I assumed that the map is known and modeled as a set of straight-lines, defined each one by two points. The direction and the number of straight-lines is not important. The program shows the real path (defined by a set of via points), the particles evolution, the respective weights and the observations. The interface is not optimized, but it is sufficient to illustrate as the particle filter works! For more information, send me an e-mail. 

 

 Path Planning

The navigation is explained as follows. The robot has to follow some via points (respecting the input order), without restriction to the direction. No obstacle avoidance was implemented. It is necessary to know the pose of the vehicle to control the Translation and Rotation velocities. However in some examples it is assumed that the real pose is known, just to illustrate other details. 


(If your browser does not support embed Windows Media Player, click here)

 
 With NO OBSERVATIONS

With no observations, the vehicle's pose is estimated by dead-reckoning. The weights are not updated and, consequently, the particles are equally important. The uncertainty is increasing, as depicted in the following pictures. The path is planned without pose estimation, just to illustrate the uncertainty evolution.

The simulation were made with 200 particles, where the initial pose was known. The red path is the real trajectory while the black is the estimated one. The blue cloud corresponds to the set of particles, which is becoming sparse along time.

 


(If your browser does not support embed Windows Media Player, click here)

 Range Finder Simulation
 

So, it is necessary a sensor. In this case it was simulated a Laser range finder. Real measurements can be observed in the page of the RESCUE project.

The observation is a vector, where the values are the distances to an obstacle (hall, object, etc) according to a set of  directions. It is also simulated the maximum range and the noise in the measurements. The video gives an idea of the observations. 

 


(If your browser does not support embed Windows Media Player, click here)

 
 Particle Filter Results

These are the localization results, using 200 particles, where the initial pose is known. All the particles were initialized with the initial pose of the vehicle and uniform weights.

The navigation was evaluated using the estimated pose of the vehicle, which corresponds to the best particle (or the particle with highest weight). The red and black paths are the real and the estimated trajectories, respectively. 


(If your browser does not support embed Windows Media Player, click here)

The next picture illustrates the particles evolution. The uncertainty shrinks periodically, as a result of the re-sampling step. The best particles (with large weights) provides good estimation according to the acquired measurements. Sometimes small set of particles diverge, since some different places provide similar observations.

When the initial pose is not known, it is necessary to modify the initialization criteria. For instance, uniform along the map. This requires more and more particles! Otherwise, the particles (could) converge to unexpected places (local minimums), as illustrated in the "Drawbacks".

The next 2 videos illustrate the particle filter algorithm, where the vehicle starts from different places and the initial pose is not known. The estimated path is not shown, to simplify the visualization.


(If your browser does not support embed Windows Media Player, click here)

 


(If your browser does not support embed Windows Media Player, click here)

As described previously, it is necessary to resample the particles, according to their weights. It addresses two points: the resampling method and the appropriate time to do that. The author of [1] suggests the Effective Sample Size (ESSt), using the number of particles (M) and the coefficient of variation cvt2. When the ESSt is greater then a threshold value, the particles are resampled.

The evaluation of the weights in two consecutive iterations, where the second is the resampling result.


 Drawbacks

In this example, the number of particles was too small yielding the pose estimation to a wrong place. Since the navigation is dependent to estimation, the vehicle can not follow the via points. The vehicle is lost! How to solve this rough situation? Increasing the number of particles is the obvious solution, but it becomes a computational burden!


(If your browser does not support embed Windows Media Player, click here)

Usually there are different places in the map, where the robot acquire similar observations. In these situations, when the initial pose is not known, the estimation pose converge to the right trajectory...


(If your browser does not support embed Windows Media Player, click here)


(If your browser does not support embed Windows Media Player, click here)


(If your browser does not support embed Windows Media Player, click here)

... or simply lost! The map is so symmetric that the information acquired by the sensor is never enough to aim a correct estimation!


(If your browser does not support embed Windows Media Player, click here)

 Challenges
  • Choose the appropriate number of particles and an initialization procedure

  • How to identify that the estimation path is wrong? (for instance: a bad initialization or a few number of particles)

  • The number of particle could be dynamic through time

  • How to estimate the path? Using the best particle (with the highest weight)?

  • Simultaneous Localization And Mapping (SLAM) - not assuming the map is known; there are several papers about this topic

  • Matching between observations and the map: how dependent is the Particle Filter to the matching?

  • Particle Filtering for cooperative localization

  • Experimental results with real laser measurements (maybe soon with an ATRV-Jr!)

 References
  1. A Particle Filter Tutorial for Mobile Robot Localization - Ioannis M. Rekleitis
  2. SLAM presentation - a summary of the Summer School on Simultaneous Localization And Mapping, Alberto Vale, Francisco Teixeira
  3. Robust Monte Carlo Localization for Mobile Robot - Sebastian Thrun, Dieter Fox, Wolfram Burgard, Frank Dellaer
  4. Murphy et al 99 - Andrieu et al 99 - Doucet 00
  5. Bayesian Approaches to Mapping - Tutorial SLAM Summer School - Sebastian Thrun
  6. Probability, Random Variables and Stochastic Processes - A. Papoulis - McGraw-Hill}, 1991.
  7. Probabilistic Algorithm in Robotics - S. Thrun 2000
  8. A Probabilistic Approach for the Localization of Mobile Robots in Topological Maps - Alberto Vale, Maria Isabel Ribeiro 2002

Google