Implementationofslam

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/320474355

Implementation of Mobile Robot's Navigation using SLAM based on Cloud


Computing

Article in Engineering and Technology Journal · September 2017


DOI: 10.30684/etj.35.6A.11

CITATIONS READS

5 3,467

2 authors, including:

Hamid M Hasan
University of Technology, Iraq
17 PUBLICATIONS 77 CITATIONS

SEE PROFILE

All content following this page was uploaded by Hamid M Hasan on 18 October 2017.

The user has requested enhancement of the downloaded file.


Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

H.M. Hasan Implementation of Mobile Robot’s Navigation


Control and Systems Eng.
Dept. University of using SLAM based on Cloud Computing
Technology, Bagdad, Iraq
[email protected]
Abstract- This paper is concerned with the implementation of EKF-SLAM
T.H. Mohammed (Extended Kalman Filter- Simultaneous Localization and Mapping) algorithm
using a cloud computing architecture based on ROS (Robot Operating System).
Control and Systems Eng. The localization and mapping is essential step to navigate a mobile robot in
Dept. University of unknown environment. The implemented EKF-SLAM has used a landmark that
Technology, Bagdad, Iraq sensed using IR Emitter sensor provided by the Kinect camera to update a map
tabarak.hatem.2013@gma of the environment and simultaneously estimate the robot’s position and
il.com orientation within the map. The implementation was done using three parts. The
first one was the TurleBot Mobile robot with the Kinect camera, which was
simulated in Gazebo environment. The second part was the EKF-SLAM running
under the MATLAB to generate the Map and Location data. The third part was
the ROS Master node, which runs on the cloud to enable part one and two to
communicate using topics. The scan data from Kinect camera and the location
data from the odometer is transferred from the first part to the second part
through ROS Master node after impaired with zero mean Gaussian noise . Then
the second part performs EKF-SLAM and transmit the corrections to the first part
Received on: 20/02/2017 through the ROS Master node as well.
Accepted on: 08/06/2017
Keywords: Cloud Computing, EKF, Gazebo, Kinect, Kinect
How to cite this article: H.M. Hasan and T.H. Mohammad, “Implementation of Mobile Robots Navigation using
SLAM Based on Cloud Computing,” Engineering and Technology Journal, Vol. 35, No. 6, pp. 634-639, 2017.

1. Introduction sensor was shown in [7]. An EKF-SLAM was


SLAM was first presented by [1], in 1986. For implemented using ROS framework in real
mobile robot navigation, the SLAM is the environment is presented in [8]. An improvement
estimation of the robot location and building a of RBPF- SLAM using kinect camera on a
Map for its environment simultaneously. These developed system using ROS platform is shown in
two operations are highly correlated and each one [9], where the experiment was done in gazebo
affects the other. Many solutions to the SLAM simulated environment and real environment. In
problem have been proposed [2]. The solution to this paper, we show the implementation of EKF-
SLAM is, firstly, depending on the method used SLAM on cloud based on ROS platform. The EKF
for environment representation, which depends on was implemented in MATLAB with ROS toolbar
the sensors, used. Secondly, it depends on the and communicated with turtlebot mobile robot,
estimation method [3]. Generally, the SLAM which is ROS enabled mobile robot. The
involves the extraction of specific features from communication is carried out through ROS master
the environment known as landmarks. The states node implemented in cloud using
of these landmarks are estimated and stored to be publish/subscribe mechanism. The robot is
used for correcting the estimated state of the robot. equipped with kenect camera. The scanned data by
The states of the landmarks are updated while IR emitter of this camera is used by the SLAM
robot exploring the environment. The estimation process running in the MATLAB node. The
error in robot state is affected by the number and turtlebot runs in gazebo-simulated environment
type of landmarks. The most estimation methods and received the command for the movement and
used are EKF (Extended Kalman Filter) and Rao- the correction data from the MATLAB node.
Blackwellised particle filter (RBPF). Various
implementations of SLAM for mobile robot 2. Background
navigation was demonstrated several last years. A I. Extended Kalman Filter (EKF): [10]
vision based implementation of SLAM using The EKF is the heart of EKF-SLAM, it is the state
RBPF was presented in [4]. The using of laser estimator used to estimate the nonlinear system
range finder and monocular vision with Kalman state with zero mean Gaussian system noise and
Filter (KF) was represented by [5]. A development measurement noise as w and v respectively. The
of laser range finder based SLAM using EKF was estimation is carried out in two steps that are the
shown in [6]. A SLAM algorithm using EKF and prediction step and correction step as follows.
segment based environment with Ultrasonic

Copyright © 2017 by UOT, IRAQ 436


Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

a. prediction step: III. Robot operating system (ROS) [12,13].


𝑥𝑘 = 𝑓(𝑥𝑘−1 , 𝑢𝑘−1 , 0) (1) ROS framework is open source software
𝑇
𝑃𝑘 = 𝐴𝑥 𝑃𝑘−1 𝐴𝑥 + 𝑄𝑘−1 (2) developed by the Stanford Artificial
Where:
Intelligence Laboratory and updated by
𝑥𝑘 : is the system state at sample k.
Willow Garage. ROS become a standard for
𝑢𝑘−1 : is the system input at sample k-1.
𝐴𝑥 : is the Jacobean of function f at sample k-1. robotic applications. ROS network contains
𝑄𝑘−1 : is the covariance Matrix of system noise . single ROS master node and multiple ROS
𝑃𝑘 : is the covariance Matrix of estimation error nodes. ROS master node controls the different
at sample k. parts of a ROS network and every node must
register to this node to be able to communicate
b. Correction step: with the rest of the network. ROS master node
𝑦 = ℎ(𝑥) + 𝑣 (3) is identified by a Master URI (Uniform
𝑧̅ = 𝑦 − ℎ(𝑥̅𝑘 ) (4) Resource Identifier) that specifies the
𝑍 = 𝐻𝑥 𝑃𝑘 𝐻𝑥𝑇 + 𝑅𝑘 (5) hostname or IP address of the machine where
𝐾𝑘 = 𝑃𝑘 𝐻𝑥𝑇 𝑍 −1 (6) the master is running. The other nodes can be
𝑥̅𝑘 = 𝑥̅𝑘 + 𝐾𝑘 𝑧̅ (7) running at anther machines and has a specific
𝑃𝑘 = 𝑃𝑘 − 𝐾𝑘 𝑍𝐾𝑘𝑇 (8) IP address. The communication between
Where: nodes in ROS is achieved using topics. Any
𝑦 : is the noisy measurement.
node has data to transmit can publish a topic
ℎ(𝑥): is the observation function.
𝑣: is the measurement noise.
for that data in the master node. The other
𝑧̅ : Innovation mean. nodes need to receive that data can subscribe
𝑍 : Innovation covariance Matrix. to that topic.
𝐻𝑥 : The Jacobean of ℎ(𝑥) .
𝐾 : Kalman gain. IV. Gazebo Robot simulator [14].
𝑅 : Covariance matrix of measurement noise . Gazebo is 3D multi robot. It can simulate robots,
sensors and objects. It generates realistic sensing
II. Kinematic Model for differential drive mobile data and realistic physical interaction between
robot [11]. simulated objects. Gazebo is integrated with ROS
For the mobile robot shown in Figure 1. The robot and can publish/subscribe any data
position (x and y) and orientation (θ) are related to
the linear and angular velocities by: V. Cloud computing.
𝑡
𝑥(𝑡) = ∫0 𝑉𝑟𝑜𝑏𝑜𝑡 (𝜏) cos 𝜃(𝜏)𝑑𝜏 + 𝑥0 (9) Cloud computing is “a type of Internet-based
𝑡 computing that provides shared computer
𝑦(𝑡) = ∫0 𝑉𝑟𝑜𝑏𝑜𝑡 (𝜏) sin 𝜃(𝜏)𝑑𝜏 + 𝑦0 (10) processing resources and data to computers and
𝑡
𝜃(𝑡) = ∫0 𝜔𝑟𝑜𝑏𝑜𝑡 (𝜏)𝑑𝜏 + 𝜃0 (11) other devices on demand. It is a model for enabling
Where (𝑥0 , 𝑦0 , 𝜃0 ) is the initial pose of the mobile ubiquitous, on-demand access to a shared pool of
robot, 𝑉𝐼 and 𝜔𝑟𝑜𝑏𝑜𝑡 is linear and angular configurable computing resources (e.g., computer
velocities of the mobile robot. networks, servers, storage, applications and
services) [15]”. Mobile robots have increased in
their tasks and jobs, this lead to increase in the
complexity of the required computation to achieve
those jobs. At the same time, it is required to let
the robots platform as light to reduce the power
and cost. The complexity in computation (storage
and processing) can be offloaded from the robot
platform using cloud-computing paradigm. Using
cloud computing the mobile robot is composed of
actuators, sensors, simple processing power and
storage. There are three modules of cloud
computing which are: [16]
a. Infrastructure as a Service (IaaS).
Figure 1: Kinematic Model for Differential Drive b. Software as a Service (SaaS).
Mobile Robot c. Platform as a Service (PaaS).

635
Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

Each module provides the developer with different IV. Third Part
type of service gained in using the cloud This part consists ROS master node. It was running
computing. Our concern in this paper is on Iaas in a host with a specified IP address at the cloud.
type. In this module, the communications and There were three topics used for communication
storage resources are used. between part one and part two. In Figure 3, the
ROS master node and the Interaction between the
3. Implementation of EKF-SLAM system parts, is demonstrated.
I. System overview
The implementation of EKF-SLAM for mobile 4. Experiments and Results
robot navigation consists three parts, the first part To evaluate the implemented EKF-SLAM, an
was the mobile robot simulated in Gazebo environment with many landmarks was simulated
simulator environment, the second part was the in Gazebo simulator as shown in Figure 4.
EKF-SLAM running in MATLAB and the third EKF_SLAM running in MATLAB node sends
part was the ROS master node where the topics are motion data (𝑉𝑟𝑜𝑏𝑜𝑡 , 𝜔𝑟𝑜𝑏𝑜𝑡 ).
published. The third part was hosted in a sever Then the robot moves to a new location (x, y, θ)
within the cloud; the other parts were in deferent according to its kinematic model, then the IR
clients connected to cloud. Each part has IP emitter node send the scan data, and the odometry
address used for the communication. node send location data estimated by odometer.
Then the EKF-SLAM generate the corrections for
II. First Part the estimated location. Gaussian noise with zero
In this part, a mobile robot, which is the Turtlebot, mean was added to the scan and odometer data
equipped with the kinect camera and environment with different values of variance. This is to
with landmarks was simulated in Gazebo. While simulate the measurement noise (v) and system
the robot moves, the data collected from IR sensor noise (w) respectively. figure(5) shows the EKF-
of the kinect camera as well as the position data SLAM location estimation and map for
collected by odometery unit, are published into the measurement noise (v) variance equal to 0.02
specified topics at the ROS mater node (which is meter and system noise(w) variance equal to 0.02
the third part). meter also. Figure 6 shows the location error
accumulation with mobile movement with and
III. Second Part without EKF-SLAM for the same experiment. In
this experiment, the Mean Square Error (MSE)
This part is demonstrated in Figure 2.In this part
was 0.56 meter without EKF-SLAM and 0.092
the EKF-SLAM process is done. The program of
meter for EKF-SLAM. In addition, it is evident
this part subscribe to the published data from the
that the error grows up without EKF-SLAM and
first part (sensor data and odometry data). The
limited with EKF-SLAM.
localization and mapping is performed in this part
Many experiments have been conducted with
and the location corrections is published into ROS
deferent noise variance in Table 1. The
mater node to be subscribed by part one to be used
measurement noise v was 0.01 meter and the
by simulated robot for next move.
system noise was varied from 0.01 to 0.2 meters.

Figure 2: Block diagram of EKF-SLAM implemented in Matlab node

636
Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

Figure 3: ROS nodes connection diagram

Figure 3: ROS nodes connection diagram

Figure 4: Turtlebot and its environment simulated in gazebo

Figure 5: EKF-SLAM localization and landmarks map for system noise w=0.02 and measurement noise
v=0.02

637
Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

Figure 6: Accumulated location error for 30-meter mobile movement distance

Table 1: location (MSE) for measurement noise v=0.01 and different system noise w
Variance of System noise (w) Mean square error (MSE) Mean square error (MSE)
in Meter EKF-SLAM without EKF-SLAM
0.010 0.0313 0.1029
0.015 0.0384 0.2865
0.020 0.0548 0.4316
0.025 0.0790 0.2409
0.030 0.0918 0.2557
0.035 0.1042 0.2355
0.040 0.2728 0.8294
0.060 0.1930 0.6850
0.070 0.3045 1.3270
0.100 0.3729 1.0004
0.120 0.3622 1.2089
0.200 0.4985 2.8554

5. Conclusion References
From the conducted experiments , EKF-SLAM [1] R.C. Smith and P. Cheeseman, “On the
shows good performance to mitigate the effect Representation and Estimation of Spatial
of both the system and measurement noise of Uncertainty”, the International Journal of Robotics
type zero mean Gaussian in the estimation of Research, Vol. 5, No.4, 1986.
location and map . For noise in the range of (0.3) [2] H. Durrant-Whyte and T. Baily, “Simultaneous
meter of variance, using EKF-SLAM keeps the Localisation and Mapping (SLAM): Part I. The
localization error bounded while without EKF- Essential Algorithms,” IEEE Robotics &
Automation Magazine, Vol. 13, No. 2. pp. 99-110,
SLAM the error grows up. Even if the noise
June 2006.
variance is (0.01) meter.
Advantage of using cloud computing is that the [3] A. Garulli et al., “Mobile robot SLAM for line-
based environment representation”, Proceedings of
computation of EKF-SLAM is offloaded from
the 44th IEEE Conference on Decision Control, and
the mobile robot platform and the mobile robot the European Control Conference 2005 Seville,
remotely controlled, which is suitable for Spain, December 12-15, 2005.
dangerous places.

638
Engineering and Technology Journal Vol. 35, Part A. No. 6, 2017

[4] L. Maohai, H. Bingrong and L. Ronghua,


“Novel Mobile Robot Simultaneous Localization Author(s) biography
and Mapping Using Rao-Blackwellised Particle Dr. Hamid M.Hasan. Received
Filter “,International Journal of Advanced Robotic B.Sc. in control and systems
Systems, Vol. 3, No. 3, pp. 231-238 , 2006. engineering, 1986, and M.Sc. in
[5] S. Fu et al., “SLAM for Mobile Robots Using computer engineering, 1990, from
Laser Range Finder and Monocular Vision”, IEEE university of technology, Iraq. He
Int, Conf. Mechatronics and Machine Vision in received Ph.D. in computer
Practice, pp.91-96, December 2007. engineering, 2012, from Basra
[6] Y. Misono et al., “Development of Laser University, Iraq. He currently
Rangefinder-based SLAM Algorithm for Mobile working as Assistant professor at
Robot Navigation”, SICE Annual Conference 2007, the faculty of control and systems engineering,
Sept. 17-20, 2007, Kagawa University, Japan. university of technology, Iraq. He is interesting in
computer networks studies and researches, wireless
[7] L.D. Alfonso, Andrea Griffo, Pietro Muraca,
sensor networks realization, mobile robot navigation,
Paolo Pugliese , “A SLAM algorithm for indoor
IoT development and investigation, pattern
mobile robot localization using an Extended Kalman
recognition, Face recognition, image processing,
Filter and a segment based environment mapping” ,
stochastic DSP applications.
16th International Conference on Advanced
Robotics (ICAR), 2013.
Tabarak H. Mohammed. She
[8] D. Trivun, Edin Salaka, Dinko Osmankovic,
received B.Sc. and M.Sc. in
Jasmin Velagic, Nedim Osmi,” Active SLAM-Based
Mechatronics at 2014 and 2017,
Algorithm for Autonomous Exploration with Mobile
from the unversity of technology,
Robot”, 23th Mediterranean Conference on Control
iraq. She is intersting in mobile
and Automation (MED), 2015.
robot navigation.
[9] M. Fahmi Abdul Ghani, Khairul Salleh , Mo
hamed Sahari, Loo Chu Kiong,” Improvement of the
2D SLAM system using Kinect Sensor for Indoor
mapping” , SCIS&ISIS 2014, Kitakyushu, Japan,
December 3-6, 2014 .
[10] J. Vall Miro, Gamini Dissanayake,Weizhen
Zhou,” Vision-based SLAM using natural features in
indoor environments”, IEEE/RSJ International
Conference on Intelligent Robots and Systems ,2006.
[11] G. Dudek, Michael Jenkin, “Computational
Principles of Mobile Robotics”, Cambridge
University Press, (Chapter 1), ISBN:0-521-56876-5,
2000.
[12] A. Pajaziti, Petrit Avdullahu, “SLAM – Map
Building and Navigation via ROS”, Journal of
Intelligent Systems and Applications in
Engineering”, Vol. 2, Issue 4, PP. 71-75, 2014.
[13] R. Claessens, Yannick Mouller, Benjamin
Schnieders,” Graph-based Simultaneous
Localization and Mapping on the TurtleBot
platform”, seventh German Conference on Robotics,
ROBOTIK, 2012.
[14] A. Howard, Nathan Koenig,” Gazebo Version
0.4.0 User Manual”, USC Robotics Research
Laboratory University of Southern California Los
Angeles, California, USA, 2004.
[15] H. Qusay, “Demystifying Cloud Computing”,
The Journal of Defense Software Engineering,
pp.16-21, December 2014.
[16] B. Kehoe, Pieter Abbeel, “A Survey of
Research on Cloud Robotics and Automation”, IEEE
Transactions on Automation Science and
Engineering, Volume: 12, Issue: 2, April 2015.

639

View publication stats

You might also like