This paper analyzes the Monte Carlo localization (MCL) method, which estimates the pose of an indoor mobile robot. A mobile robot must know where it is to navigate in an indoor environment. The MCL technique is one of the most influential and popular techniques for estimation of robot position and orientation using a particle filter. For the analysis, we perform experiments in an indoor environment with a differential drive robot and ultrasonic range sensor system. The analysis uses MATLAB for implementation of the MCL and investigates the effects of the control parameters on the MCL performance. The control parameters are the uncertainty of the motion model of the mobile robot and the noise level of the measurement model of the range sensor.
1. Introduction
The estimation of position and orientation is vital for navigation of a mobile robot. The estimation of location, called localization, has been studied extensively. There are many methods that have been proposed and implemented. These methods include simple dead reckoning, least squares, and other more complicated filtering approaches.
The most intuitive and trivial method, which is also impractical, is dead reckoning. This method integrates the velocity over time to determine the change in robot position from its starting position. Other localization systems use beacons
[1
–
5]
placed at known positions in the environment. The beacons use range data to the robot. The range sensors use ultrasonic or radio frequency signals to determine the distances between the robot and the beacons. The least squares method or filtering method uses the range data to estimate the position of the mobile robot. Uncertainty in robot motion and the noise in the range measurement affect the performance of the estimation; additionally, some control parameters of the methods should be adjusted according to the levels of uncertainty and noise. There have been several filtering approaches for localization.
There have been several filtering approaches for localization. Several of the major approaches are the Kalman filter (KF), extended Kalman filter (EKF)
[6]
, unscented Kalman filter (UKF), and particle filter (PF)
[7
–
9]
. All of these filters follow the Bayesian filter approach. The variations in the Kalman filter assume that the uncertainties in robot motion and measurement are Gaussian.
The pure KF only uses a linear model of robot motion and sensor measurement. To handle the nonlinearity in robot motion and sensor measurement, the EKF approximates the nonlinearity with a firstorder linear model. UKF, a recent development of KF, does not approximate the robot motion and sensor measurement. Instead, it uses a nonlinear model of motion and measurement as it is. It uses samples called the sigma points to describe the probabilistic properties of the robot motion and sensor measurement. UKF also assumes that all the uncertainty involved in the system is Gaussian.
Though EKF has been used widely and successfully for mobile robot localization, it sometimes provides unacceptable results because real data can be very complex, involving elements of nonGaussian uncertainty, high dimensionality, and nonlinearity. Moreover, EKF requires derivation of a highly complicated Jacobian for linearization. Therefore, Monte Carlo methods have been introduced for localization.
Monte Carlo localization (MCL) is based on a particle filter
[10
–
12]
. MCL can solve the global localization and kidnapped robot problem in a highly robust and efficient way. The Monte Carlo localization method uses a set of samples, called the particles, to depict the probabilistic features of the robot positions. In other words, rather than approximating probability distributions in parametric form, as is the case for KFs, it describes the probability as it is using the particles. MCL has the great advantage of not being subject to linearity or Gaussian constraints on the robot motion and sensor measurement.
This paper is concerned with the estimation of robot position and orientation in an indoor environment. We have used a sensor system comprised of static ultrasonic beacons and one mobile receiver installed on the robot. The robot navigates through predefined path points. The exteroceptive measurement information is the range data between the robot and the beacons. In this experiment, we have used a differential drive mobile robot. The paper contributes to understanding the effect of control parameters on the localization performance. How the uncertainty in robot motion and sensor measurement affects the location estimation has been exploited through experiments.
The remainder of this paper is organized as follows. In Section 2, MCL and its fundamentals are discussed. Section 3 illustrates details of the experiment and analysis of MCL. Section 4 covers the discussion of the experiments, and Section 5 concludes the paper.
2. Monte Carlo Localization and its Models
The MCL method iterates sampling and importance resampling in the frame of the Bayesian filter
[13]
approach for localization of a mobile robot. It is alternatively known as the bootstrap filter
[14]
, the Monte Carlo filter
[15]
, the condensation algorithm
[16]
, or the survival of the fittest algorithm
[17]
. All of these methods are generally known as particle filters.
MCL method can approximate almost any probabilistic distribution of practical importance. It is not bound to a limited parametric subset of probabilistic distributions as in the case of an EKF localization method for a Gaussian distribution. Increasing the total number of particles increases the accuracy of the approximation. However, a large number of particles degrades the computational efficiency that is needed for realtime application of the MCL. The idea of MCL is to represent a belief about a robot position with a particle set
, each representing a hypothesis on the robot pose (
x
,
y
,
θ
).
Monte Carlo localization repeats three steps: 1) application of a motion model, 2) application of a measurement model, and 3) resampling of particles. These three steps are explained in
Table 1
using pseudocode.
Monte Carlo localization (MCL) algorithm
Monte Carlo localization (MCL) algorithm
In
Table 1
, the prediction phase starts from the set of particles
and applies the motion model to each particle
in a particle set
. In a measurement model, the importance factor, sometimes called the belief
of each particle is determined. The information in the measurement
z_{t}
is incorporated into the particle set
via the importance factor
. After the belief
calculation, resampling is performed on the basis of belief
. Resampling transforms the particle set into another particle set of the same size, which finally yields the estimated particle set
for time
t
.
The resulting sample set
usually consists of many duplicates. It refocuses the particle set into a region of high posterior probabilities. The particles that were not contained in
have lower belief. It should be noted that the resampling process neither includes the particles in order from the highest belief nor excludes the particles in order from the lowest belief. Thus, the set
consists of
P
particles, which represent the probable locations of the robot at time
t
.
 2.1 Motion Model
A motion model is used to predict the pose
of the robot from the previous pose
using the control command or proprioceptive motion sensing (
v
,
w
).
Table 2
shows the proposed motion model that was used in MCL
[6]
.
Motion model
In
Table 2
,
,
, and
constitute a particle
that represents the pose of the robot. Δ
t
is the algorithm time step, and
v
and
w
are the translational and rotational velocities measured by the wheel encoders on the robot. The variable
motionpara
consists of α
_{1}
, α
_{2}
, α
_{3}
, α
_{4}
, α
_{5}
, and α
_{6}
, which represent the motion uncertainty. The function
sample
generates a random number from the Gaussian random variable with zero mean and variance of α
_{i}
v
^{2}
+α
_{j}
w
^{2}
.
 2.2 Measurement Model
In the measurement model, the belief
of the predicted particles is computed utilizing the received range information from the beacons.
Table 3
shows the proposed measurement model that we have to implement in MCL.
is the distance between the predicted particle and the beacons.
Measurement model
prob
(

, δ
_{r}
in
Table 3
is the Gaussian probability distribution of the measurement noise in the range information. The measurement noise can be caused by unexpected objects, crosstalk between different signals, and specular reflection of the signals.
 2.3 Resampling
Finally, all particles are resampled, i.e., a new set of particles are drawn from the current set
on the basis of the belief
. We use systematic resampling, which is also known as stochastic universal resampling because it is fast and simple to implement.
3. Experiment and Analysis
The experiments are conducted in a classroom with chairs and tables on which computers and monitors are located. The four ultrasonic beacons are installed on the ceiling.
Figures 1
,
2
shows the experimental setup which indicates the trajectory of the robot motion and the location of ultrasonic beacons. The positions of the beacons and way points are provided in
Tables 4
and
5
, respectively.
Capstone design laboratory (environment for robot navigation experiment).
Experimental setup.
Locations of the beacons
Locations of the way points
Locations of the way points
We use the MRPNRLAB 02 differential drive robot (see
Figure 3
) manufactured by RED ONE technologies and the USAT A105 ultrasonic sensor system (see
Figure 4
) from the company Korea LPS. The work area for the experiment is 14.5
m
×7.25
m
. The receiver of the sensor system is mounted on the robot, and beacons are attached on the ceiling of the room.
Differential drive robotMRPNRLAB02.
Ultrasonic sensor system USAT A105.
The robot is controlled by a joystick and uses the wheel encoder data to calculate the translational velocity
v
and rotational velocity
w
. The ranges between the robot and beacons are measured by the ultrasonic sensor system to correct the predicted robot location. The initial pose (
x_{o}
,
y_{o}
,
θ_{o}
) of the robot is (5.3
m
, 1.2
m
, 0.00
rad
). The robot navigates with a translational velocity of
v
= 0.3
m/sec
and rotational velocity
w
= 0.1
rad/sec
. The MCL is implemented using MATLAB with 300 particles.
Table 6
lists the values of the control parameter that are used to investigate the performance of MCL.
Control parameter values
During the experiment, the ultrasonic range measurement system often fails in detecting some of the ranges. Because of the failure, ambiguity and large estimation error are observed in the path segments from 3 to 4, 4 to 5, and 5 to 6.
Figure 5
shows the plots of the estimated trajectories by colored lines according to the values of the control parameters, as shown in
Table 6
. The asterisks represent the positions of the beacons.
Figures 6
and
7
illustrate the distance error and orientation error between the estimated and real robot trajectories.
Tables 7
and
8
list the mean and standard deviation of the distance error and orientation error of the estimation, respectively. From the experimental results, the estimation error of the robot is observed to decrease when the appropriate control parameter values are used.
Comparison of estimated trajectories using different parameter values.
Distance error between estimated and actual robot trajectories.
Orientation error between estimated and actual robot orientation.
Mean of distance error and orientation error
Mean of distance error and orientation error
Standard deviation (SD) of distance error and orientation error
Standard deviation (SD) of distance error and orientation error
4. Discussion
A variety of techniques and suggestions have been proposed for mobile robot localization
[18
–
24]
. It is evident that a comparison of different techniques was difficult because of a lack of commonly accepted test standards and procedures. We have developed our own experimental environment using four ultrasonic beacons and six way points for robot navigation. An analysis of MCL was performed under three different cases, as provided in
Table 6
. Each case in Table 6 is categorized according to the low, medium, and high values of motion uncertainty and measurement noise. The investigation of MCL analysis was based on the following:

1) plotting the trajectory of the estimated position against the real robot trajectory,

2) calculating and plotting the distance error and orientation error between the real robot position and the estimated position, and

3) evaluation of mean and standard deviation of the distance error and orientation error.
Large estimation error is observed in (a) and (b) in
Figure 5
, which corresponds to cases (i) and (ii), respectively.
Figure 5c
, which corresponds to case (iii), shows the least estimation error. The results also suggest that the motion error and measurement noise of the experiment are relatively high.
Figures 7
and 8 show the distance error and orientation error for the experiments. The mean and standard deviation of the errors are listed in
Tables 7
and
8
, respectively. The results are shown in
Figures 5
through
7
, and
Tables 7
and
8
indicate that the proper selection of control parameters is crucial for the use of MCL. MCL fails if the values of the control parameters assume that the uncertainty of robot motion is lower than the actual uncertainty. Likewise, assuming that the measurement uncertainty is lower than that of the actual measurement deteriorates the estimation performance.
5. Conclusion
This paper shows results of MCL used for localization of a mobile robot in an indoor environment. The experiment uses a differential drive robot, which uses wheel encoder data and range data from four fixed beacons.
The experiments compare three different cases, which represent localization under different control parameter values. The control parameters adjust the uncertainty of robot motion and sensor measurement noise. From the comparison, it is concluded that assuming that the motion uncertainty and measurement noise are lower than the actual values causes poor estimation performance. This is the case for KF approaches, where the mismatch in the process error level and measurement error level causes poor estimation performance.
Conflict of Interest
No potential conflict of interest relevant to this article was reported.
Acknowledgements
This work was supported by an NRF grant funded by the Korean government (NRF2013R1A1A4A01012469).
BIO
Sairah Naveed received her B.E. in electronic engineering from NED University of Engineering and Technology, Karachi, Pakistan in 2009. Currently she is pursuing her M.S. degree in the Department of control and instrumentation engineering, Chosun University, Korea. During 2010 2011 she worked in the Dept. of Electronic Engineering, Sir Syed University of Engineering and Technology, Pakistan as a laboratory engineer. Since 2012 she is working as a research assistant in Autonomous Robot Control System Laboratory, Chosun University, Gwangju, Korea. Her research interests include mobile robot localization, mapping and modeling of robot simulation system with uncertainty.
Nak Yong Ko received his B.S., M.S., and Ph.D. degrees from the Department of control and instrumentation engineering, Seoul National University, Korea, in the field of robotics. He has been at the Dept. Control, Instrumentation, and Robot Engineering, Chosun University, Korea, since 1992. During 19961997 and 20042005, he worked as a visiting research scientist at the Robotics Institute of Carnegie Mellon University. His research interests include autonomous motion of mobile robots and underwater robots (localization, map building, navigation, planning and collision avoidance), and manipulator force/torque control.
Jin T. S.
,
Kim H. S.
,
Kim J. W.
2010
“ Landmark detection based on sensor fusion for mobile robot navigation in a varying environment, ”
International Journal of Fuzzy Logic and Intelligent Systems
http://dx.doi.org/10.5391/IJFIS.2010.10.4.281
10
(4)
281 
286
DOI : 10.5391/IJFIS.2010.10.4.281
Peca M.
,
Gottscheber A.
,
Obdrlek D.
,
Schmidt C.
,
Eds
2010
“ Ultrasonic localization of mobile robot using active beacons and code correlation, ”
Springer
in Research and Education in RoboticsEUROBOT 2009, Communications in Computer and Information Science
Heidelberg, Berlin
Eds
82
116 
130
Kang S. C.
,
Jin T. S.
2007
“ Global map building and navigation of mobile robot based on ultrasonic sensor data fusion,”
International Journal of Fuzzy Logic and Intelligent Systems
7
(3)
198 
204
DOI : 10.5391/IJFIS.2007.7.3.198
Moreno L.
,
Armingol J.
,
Garrido S.
,
de la Escalera A.
,
Salichs M.
2002
“ A genetic algorithm for mobile robot localization using ultrasonic sensors, ”
Journal of Intelligent and Robotic Systems
http://dx.doi.org/10.1023/A:1015664517164
34
(2)
135 
154
DOI : 10.1023/A:1015664517164
Leonard J. J.
,
DurrantWhyte H. F.
1991
“ Mobile robot localization by tracking geometric beacons, ”
IEEE Transactions on Robotics and Automation
http://dx.doi.org/10.1109/70.88147
7
(3)
376 
382
DOI : 10.1109/70.88147
Welc G.
,
Bishop G.
“ An introduction to the Kalman filter, ”
in Proceedings of SIGGRAPH ’01, The 28th International Conference on Computer Graphics and Interactive Techniques
Los Angeles, CA
August 1217
Jeong W.
,
Kim Y. J.
,
Lee J. O.
,
Lim M. T.
“ Localization of mobile robot using particle filter, ”
in SICEICASE International Joint Conference
Busan, Korea
October 1821, 2006
http://dx.doi.org/10.1109/SICE.2006.315151
3031 
3034
DOI : 10.1109/SICE.2006.315151
Thrun S.
,
Burgard W.
,
Fox D.
2005
Probabilistic Robotics
MIT Press
Cambridge, MA
Thrun S.
2002
“ Particle filters in robotics, ”
in Proceedings of the Eighteenth Conference on Uncertainty in Artificial Intelligence
Alberta, Canada
511 
518
Thrun S.
,
Fox D.
,
Burgard W.
,
Dellaert F.
200
“ Robust Monte Carlo localization for mobile robots, ”
Artificial Intelligence
http://dx.doi.org/10.1016/S00043702(01)000698
128
(12)
99 
141
DOI : 10.1016/S00043702(01)000698
Fox D.
,
Burgard W.
,
Dellaert F.
,
Thrun S.
“Monte Carlo localization: efficient position estimation for mobile robots, ”
in Proceedings of the Sixteenth National Conference on Artificial Intelligence and Eleventh Conference on Innovative Applications of Artificial Intelligence
Orlando, FL
July 1822, 1999
343 
349
Dellaert F.
,
Fox D.
,
Burgard W.
,
Thrun S.
“ Monte Carlo localization for mobile robots, ”
in Proceedings of the IEEE International Conference on Robotics and Automation
Detroit, MI
May 1015, 1999
http://dx.doi.org/10.1109/ROBOT.1999.772544
1322 
1328
DOI : 10.1109/ROBOT.1999.772544
Doucet A.
,
Godsill S.
,
Andrieu C.
2000
“ On sequential Monte Carlo sampling methods for Bayesian filtering, ”
Statistics and Computing
10
(3)
197 
208
DOI : 10.1023/A:1008935410038
Gordon N. J.
,
Salmond D. J.
,
Smith A. F. M.
1993
“ Novel approach to nonlinear/nonGaussian Bayesian state estimation, ”
IEE Proceedings, Part F: Radar and Signal Processing
140
(2)
107 
113
DOI : 10.1049/ipf2.1993.0015
Kitagawa G.
1996
“ Monte Carlo filter and smoother for NonGaussian nonlinear state space models, ”
Journal of Computational and Graphical Statistics
http://dx.doi.org/10.2307/1390750
5
(1)
1 
25
DOI : 10.2307/1390750
Isard M.
,
Blake A.
1998
“ CONDENSATION: conditional density propagation for visual tracking, ”
International Journal of Computer Vision
http://dx.doi.org/10.1023/A:1008078328650
29
(1)
5 
28
DOI : 10.1023/A:1008078328650
Kanazawa K.
,
Koller D.
,
Russell S.
“ Stochastic simulation algorithms for dynamic probabilistic networks, ”
in Proceedings of the Eleventh conference on Uncertainty in artificial intelligence
Montreal, Canada
August 1820, 1995
346 
351
Kim D. W.
,
Igor Y.
,
Kang E. S.
,
Jung S.
2013
“ Design and control of an omni directional cleaning robot based landmarks, ”
Journal of Korean Institute of Intelligent Systems
http://dx.doi.org/10.5391/JKIIS.2013.23.2.100
23
(2)
100 
106
DOI : 10.5391/JKIIS.2013.23.2.100
Jeong S. K.
,
Kim T. G.
,
Ko N. Y.
2013
“ Programming toolkit for localization and simulation of a mobile robot, ”
Journal of Korean Institute of Intelligent Systems
http://dx.doi.org/10.5391/JKIIS.2013.23.4.332
23
(4)
332 
340
DOI : 10.5391/JKIIS.2013.23.4.332
Van Q. N.
,
Eum H. M.
,
Lee J.
,
Hyun C. H.
2013
“ Vision sensorbased driving algorithm for indoor automatic guided vehicle, ”
International Journal of Fuzzy Logic and Intelligent Systems
http://dx.doi.org/10.5391/IJFIS.2013.13.2.140
13
(2)
140 
146
DOI : 10.5391/IJFIS.2013.13.2.140
Edlinger T.
,
Von Puttkamer E.
“ Exploration of an indoorenvironment by an autonomous mobile robot, ”
in Proceedings of the IEEE/RSJ/GI International Conference on Intelligent Robots and Systems and Advanced Robotic Systems and the Real World
Munich, Germany
September 1216, 1994
http://dx.doi.org/10.1109/IROS.1994.407463
1278 
1284
DOI : 10.1109/IROS.1994.407463
Talluri R.
,
Aggarwal J. K.
,
Chen C. H.
,
Pau L. F.
,
Wang P. S. P.
,
Eds
1993
Handbook of pattern recognition and computer vision
World Scientific Publishing
River Edge, NJ
Eds
“ Position estimation techniques for an autonomous mobile robot: a review, ”
769 
801
Durieu C.
,
Clergeot H.
,
Monteil F.
“ Localization of a mobile robot with beacons taking erroneous data into account, ”
in Proceedings of the IEEE International Conference on Robotics and Automation
Scottsdale, AZ
May 1419, 1989
http://dx.doi.org/10.1109/ROBOT.1989.100122
1062 
1068
DOI : 10.1109/ROBOT.1989.100122
Betke M.
,
Gurvits L.
1997
“ Mobile robot localization using landmarks,”
IEEE Transactions on Robotics and Automation
http://dx.doi.org/10.1109/70.563647
13
(2)
251 
263
DOI : 10.1109/70.563647