Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________Improved Map Generation by Addition of Gaussian Noise for Indoor SLAM using ROS
Barry Loh Tze Yuen, Khairul Salleh Mohamed Sahari, Zubaidi Faiesal Mohamad Rafaai

Department of Mechanical Engineering, Universiti Tenaga Nasional
Selangor, Malaysia
E-mail: khairuls@uniten.edu.myAbstract
Rao-Blackwellized Particle Filter (RBPF) is used in this paper to solve the Simultaneous Localization and Mapping(SLAM) problem. RBPF algorithm uses particle filter where each particle carries an individual map of theenvironment. With the usage of Robot Operating System (ROS), GMapping package was used as a basis for mapgeneration and SLAM. To improve the map generation, Gaussian noise was introduced to the data from laser range
finder and also the odometry from the robot Pioneer P3AT’s pose. The introduced algorithm was successful indecreasing the uncertainty as well as increased the knowledge of each particle in the estimation of the robot’s pose,proven through practical experiment. Exploration experiments were also carried out to test the performance ofP3AT based on our proposed method.
Keywords: SLAM, ROS, Gaussian Noise, map generation, exploration.

multi-sensor fusion.1 Results obtained proved thatfusing two sensor data improved the localization ofmobile robots even more accurately. Besides that, Arras
et al. proved that using feature extraction and theKalman filter to fuse data from a laser range finder andmonocular camera increased the precision oflocalization significantly.2 On the other hand, utilizationof open-sourced systems and software are becoming
very common. Zaman et al. presented their findings ofutilizing open-sourced system, Robot Operating System(ROS) for mapping, localization and autonomous
navigation.3 Gong et al. also presented their research on
utilization of ROS for the purpose of object localization,using RFID and laser scans.4 Despite being opensourced and free, there are also drawbacks.
Hence this paper is produced to test the reliability andprecision of already programmed SLAM algorithms
found in open-sourced software ROS5 using a common
research robot. Based on the results obtained fromexperimentations, improvements were carried out tofurther enhance the SLAM and map generation. By
studying the algorithms written by the open-sourced

1. Introduction
Over the years, the rapid development of technology
has contributed to the development of robots. The
production of many new sensors including laser range
finders and Kinect camera provide more precise,reliable and faster readings.
Robots equipped with sensors allow them to learn about
their surrounding environment. This enables the robot to
conduct various tasks that include map generation,
localization and exploration, indoor services likemoving from one room to another, gripping and picking
up objects. Moreover, robots should be able to conduct
Simultaneous Localization and Mapping (SLAM) toachieve even greater results.
SLAM, as the name suggests, allows the robot toconduct mapping of the environment while localizing
itself in the map being created on-the-fly. An addition toSLAM algorithm is to utilize more than one sensor for
more accurate results. Castellanos et al. presented a 2D
version of SPmodel, a probabilistic representation
model and EKF integration system for the usage ofCopyright © 2017, the Authors. Published by Atlantis Press.
This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
118

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________GMapping algorithm to reduce the number of particles
in a RBPF for learning the occupancy grid maps.6
Gmapping also computes an accurate proposal
distribution, considering not only the movement of therobot, but also the most recent observation. This
produces drastic decrease of the uncertainty in therobot’s pose, in the prediction step of the filter. Resampling operations were also carried out selectively
which reduces the problem of particle depletion.

community, a portion of the code was found that theaddition of a Gaussian type noise will implement theusage of Kalman filter to improve the knowledge of theparticle filters of the map. Besides that, exploration
experiments were carried out on the robot to further test
the reliability and performance of the proposedimprovement. To achieve this objective, a Hokuyo
URG-04LX laser range finder was used together with aPioneer 3-AT equipped with wheel encoders only. A
common laptop was used to provide the algorithms anddata collection throughout the process.
2. Current WorkIn this research, a ROS-based control system was used
for the Pioneer 3-AT robot for localization and creationof maps in unexplored controlled and uncontrolledindoor environments.
2.1. ROS setup for Pioneer 3-AT
The two sensors used in this research are the Hokuyo
URG-04LX, and the wheel encoders of the mobilerobot. Linux (Ubuntu 12.04 LTS) based computer
system equipped with ROS was used to control therobot. For manned maneuvers of the robot, a keyboard
was used. Both the laser and the mobile robot areconnected to the computer through USB ports. Based onROS, the packages and stacks used in this research are
theP2OS,
Hokuyo_node,
SLAM_Gmapping,Navigation stack and the Exploration stack. The P2OS
and Hokuyo_node package serve as the driver toestablish connection and data transfer between the laser
range finder and the mobile robot to the computer. Not
only that, the P2OS package provide a 3D model of thePioneer 3-AT that can be viewed in the RVIZ
Visualization tool and also allows the movement of themobile robot to be controlled by a joystick or akeyboard. Fig. 1 shows the experimental setup and theprogram lifecycle for this research work.
SLAM_Gmapping package provides a highly
efficient Rao-Blackwellized particle filter (RBPF) tocreate occupancy grid maps. The RBPF algorithm not
only incorporates data fusion between the laser androbot’s pose, but also solves the SLAM problem.
However, the utilization of particles to carry individual
map of the environment possess a big threat to theperformance of the computer. This is because large
computations have to be conducted. Grisetti et al.
proposed adaptive techniques to be included in theFig. 1: Experimental setup and program lifecycle

Following up the algorithm of Gmapping, individual
importance weightage is assigned to each particle basedon the significance of the sampling principle. The
weightage allows resampling that performs particle
filtering when the target distribution differs from the
proposal distribution. Instinctively, the more efficient
proposal distribution approximation of the target
distribution, the better is the performance of the filter.
Montemarlo et al. presented RBPF that uses a Gaussian
approximation of the improved proposal in the contextof landmark-based SLAM.7 However, Grisetti et al.
found that GMapping uses the same principle ofGaussian approximation of improved proposal but in thecontext of dense grid maps.6
The Gaussian computes for each particle using aKalman filter that estimates the pose of the robot. This
technique is utilized whenever the map is represented bya set of features and the errors affecting the featuredetection is assumed to be Gaussian. From theunderstanding, to fully utilize the Kalman filter, aGaussian distribution or also known as normal
distribution type of noise was added to both the laser
range finder sensor data and the wheel encoders’ sensor
data. The Box-Muller transform was used to add a
Gaussian distribution noise to the sensor data. In Ref. 8,
Box and Muller mentioned that the Box-Muller

119Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________

transform is a pseudo-random number sampling method
to generate pairs of standard, independent, normally
distributed random numbers when provided uniformly
distributed random numbers. The Box-Muller transform
can be expressed in two different forms, the basic andpolar form. The polar form calculations were adapted in
the source codes due to its advantages of being arguably
faster and cheaper to the performance of the CPU. The
following equations explain how Gaussian Noise wasadded to both the odometer and laser range scanner dataassociated with this paper using Box-Muller Transform.
First, random numbers in the range from [-1, +1] forvariables x1 and x2 are generated and substituted intoequations (1) and (2), to generate values of u and v
with standard normal distribution and standard deviationof 1.

Fig. 3: Algorithm for addition of Gaussian noise to odometry
sensor data

The navigation stack provides a costmap that is built
around the mobile robot as it moves to provide
information of any nearby obstacles. The navigation
stack also provides Dijkstra algorithm, Trajectory
Rollout and Dynamic Window Approach for local andglobal path planning, and obstacle avoidance.
The exploration stack implements a frontier-based
entropy approach with loop closing abilities for furtherstability. The exploration node scans the environment
around the current robot’s position for reachable empty
spaces within the map. Nearest goals will be selected
while unreachable areas are ignored. The exploration
node work very closely with the costmap created by thenavigation stack.
Throughout the experiments, the configuration files
for all the packages were tweaked to provide
improvements and enhance the results obtained.

(1)(2)
The value of s is then calculated based on equation(3). If value equals to 0 or more than 1, generate x1 andx2 until condition is fulfilled for value of s.
(3)
(4)
(5)
Values of U and V are then calculated usingequations (4) and (5). The values of U and V are thenmultiplied with a specified standard deviation toproduce Gaussian noise. For this paper, 0.01 is used.
Gaussian noise is then added to the sensor data as
shown in Fig. 2 and Fig. 3.

2.2. Experiments
Two experiments were carried out in different types ofenvironments. The map area, as shown in Fig. 4, is aself-created controlled environment. It is an empty
room, filled with cardboard boxes, with a dimension of7m x 5m. The purpose of the controlled environment isto ensure a safe and high performance working
automatic robot system before proceeding with more
complex situations. Fig. 5 shows the map generated
which only took about 90 seconds.
The other experiment was carried out in an
uncontrolled environment, that is the South Wing cornerof the College of Engineering, UNITEN with total
estimated dimensions of about 41m x 25m. During thisFig. 2: Algorithm for addition of Gaussian noise to laser range
scanner data120

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________experiment, to prove that the map generation will beincreased further, the mobile robot was manually driven
twice. Once without the addition of Gaussian noise tothe sensor data, and another time with the addition ofGaussian noise. Few parameters like the configurations,path taken by the mobile robot and the speed of themobile robot were kept constant throughout the entire
experiment to obtain results with integrity. Fig. 6 andFig. 7 show the map generated without addition ofGaussian noise and addition of Gaussian noise,respectively.

mobile robot was allowed to be independent in
conducting path planning and obstacle avoidance. The
entire map generation took about 35 minutes and shownin Fig. 8. Throughout all the experiments, there weremany issues faced and observations made that will be
discussed further in the next section.

Fig. 7: Map generated for uncontrolled environment withaddition of Gaussian noise

Fig. 4: Self-created controlled environment

Fig. 8: Map generated for uncontrolled environment withaddition of Gaussian noise and exploration stack
Fig. 5: Map generated of the controlled environment

3. Discussion
3.1. ObservationsIn smaller environments, the mobile robot is able tonavigate around smoothly and generate accurate maps.
This is mainly due to the fact that in that short period oftime, not many errors were accumulated by the wheel
encoders. Not only that, the laser range finder ispowerful enough for the small environments. However,in bigger environments like the uncontrolledenvironment, the map generated tends to have a lower
resolution and is inconsistent. As the mobile robot
continues to navigate and generate map of its
surrounding environments, the wheel encoders tend toaccumulate more and more errors, mainly due toFig. 6: Map generated for uncontrolled environment without
addition of Gaussian noise

For the final experiment, the mobile robot wasequipped to utilize the exploration stack in the same
uncontrolled environment. During this experiment, the121

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________data of the laser range finder, generating maps withstructural irregularities. Besides the laser range finder,
the wheel encoders also produce a much higher error
count whenever the mobile robot is navigating throughthis area. Moreover, the main plug hole covers which
are not properly fitted a shown in Fig. 10 (right) also
contributed to inconsistency in the map generated.

slippage. Hence, to counter the accumulating errors, thesensor data from the wheel encoders were fused
together with sensor data from the laser range finder.
However, as shown in Fig. 6, the effort still may not beenough as the map generated is not very satisfactory.
With the addition of Gaussian noise to both the sensor
data, the map generation improved quite significantly
due to the usage of Kalman filter.
On the other hand, Fig. 8 displays one of the bestmaps generated. The exploration stack from ROS
implements a frontier-based exploration algorithm,
which also includes loop closing methods. It formulates
the entropy of the environment as the mobile robot isnavigating. Higher entropy generated signifies a higher
uncertainty of the knowledge of the environment. This
allows the mobile robot to recalculate and navigate
through the most optimal path with low entropy togenerate the most accurate map.
3.2. Issues
Despite providing the algorithms and hardware for
optimal map generation, there were still some factorsthat were affecting the results. Most of these factors
involve the aspects related to both the environment andthe mobile robot. These issues include:Fig. 9: Chair with a wider lower partA. Height and orientation of the laser range finder
The laser range finder was placed 20cm above theground and onto the platform of the mobile robot. The
laser range finder also scans the environment at a plane
parallel to the ground. Due to that, there were certainoccasions whereby the mobile robot could not navigate
away from an obstacle as the obstacle’s height was
below the scanning plane of the laser. Furthermore, thelaser range finder has a blind spot at the back and would
not be able to detect obstacles behind the robot.

Fig. 10: Left picture shows the different surface types andinclination. Right picture shows the main plug hole covers

D. Overbearing dynamic obstacles
While conducting the exploration experiment, there
may be times whereby the mobile robot may stop for along period of time before being able to navigate itself.
When there are too many people walking pass by in theroom, the costmap generated by the navigation stacktends to get very congested and not being refreshedquickly. The mobile robot will then assume that there
are many obstacles very close to it in all directions.

B. Objects with wider lower parts
Certain objects in the environment like chairs andtables affect the navigation of the mobile robot. The
mobile robot tends to have the perception that the path
planned is clear. However, the chair in Fig. 9 has its
frame sticking out and the mobile robot has a very highchance of actually colliding with it.

4. Conclusion
Maps of the environment are very important to themobile robot. With accurate maps, the mobile robot may
be able to conduct proper path planning, obstacle
avoidance and precise localizations.

C. Surface difference and inclination
As shown in Fig. 10, the difference in surface typeand its inclination caused a disturbance in the sensor

122

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 2 (September 2017) 118–123___________________________________________________________________________________________________________References

The GMapping node from ROS utilizes the RBPFSLAM. Not only that, it also uses the EKF for multisensor fusion to reduce the amount of errors
accumulated by the sensors. Based on the algorithm, itdetects that if the sensor data contains error of Gaussian
distribution, a Kalman Filter is used to compute eachparticle that estimates the robot’s pose. Given thelinearity and advantages of Kalman Filter, theestimation would be more accurate to correct thelocalization. In turn, it will generate more precise andconsistent maps as the particles contain more valuable
information than before. Hence, two nodes were written
in C++ language to perform addition of uniform
distribution values using the Box-Muller transform toboth the laser range finder sensor data and the wheel
encoders sensor data. Experiments were then carried out
to prove the improvement of the map generated which
turned out to be successful as shown in Fig. 7 and Fig.
8.
However, this improvement is only limited toapplications using RBPF-based grid-mapping algorithm
and the usage of GMapping in ROS. Further
implementations in the future may include a visualsensor for calculating depths to enhance further theknowledge of the particles and reduce the accumulatederrors. Not only that, it is also recommended to look for
improvements in the costmap generated, reliability ofthe sensor data, and even various mapping strategies
that could be implemented.

1. J. Neira, J.Horn, J. Tardos and G. Schmidt, Multisensor
mobile robot localization, in Proc. IEEE Int. Conf. on
Robotics and Automation, (1996), vol. 1, pp. 673-679
2. K. Arras, N. Tomatis and R. Siegwart, Multisensor onthe-fly localization using laser and vision, in Proc.
IEEE/RSJ Int. Conf. on. Intelligent Robots and Systems,(2000), vol. 1, pp. 462-467
3. S. Zaman, W. Slany and G. Steinbauer, ROS-based
mapping, localization and autonomous navigation using aPioneer 3-DX robot and their relevant issues, Electronics,Proc. of Saudi Int. Electronics Communications andPhotonics Conf., (2011), pp. 1-5
4. S. Gong, H. Liu, Y. Hu, J. Zhang, ROS-based object
localization using RFID and laser scan, Proc. of Int. Conf.
on Information and Automation, (2012), pp. 406-411
5. M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote,
J. Leibs, R. Wheeler and A. Y. Ng, ROS: an open-source
robot operating system, ICRA Workshop on Open Source
Software, (2009)
6. G. Grisetti, C. Stachniss and W. Burgard, Improved
techniques for grid mapping with rao-blackwellized
particle filters, IEEE Trans. on Robotics 23(1) (2007) 3446
7. M. Monteerlo, S. Thrun, D. Roller and B. Wegbreit,
Fastslam 2.0: An improved particle filtering algorithm forsimultaneous localization and mapping that provably
converges, in Proc. of the 18th Int. Joint Conf. on
Artificial Intelligence, (Morgan Kaufmann, 2003), pp1151-1156
8. G. E. P. Box and M. E. Muller, A note on the generationof random normal deviates, The Annals of Mathematical
Statistics 29 (1958) 610-611

Acknowledgements
This work is supported by Universiti Tenaga Nasional
through research grant: J510050673.

123