Implementation of Mobile Robot’s Navigation using SLAM based on Cloud Computing

- This paper is concerned with the implementation of EKF-SLAM (Extended Kalman Filter- Simultaneous Localization and Mapping) algorithm using a cloud computing architecture based on ROS (Robot Operating System). The localization and mapping is essential step to navigate a mobile robot in unknown environment. The implemented EKF-SLAM has used a landmark that sensed using IR Emitter sensor provided by the Kinect camera to update a map of the environment and simultaneously estimate the robot’s position and 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 through the ROS Master node as well.


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

I. Extended Kalman Filter (EKF): [10]
The EKF is the heart of EKF-SLAM, it is the state estimator used to estimate the nonlinear system state with zero mean Gaussian system noise and measurement noise as w and v respectively. The estimation is carried out in two

Engineering and Technology Journal
Vol. 35, Part A. No. 6,2017 steps that are the prediction step and correction step as follows.
a. prediction step: Where: is the system state at sample k. is the system input at sample k-1. : is the Jacobean of function f at sample k-1.
is the covariance Matrix of system noise .
: is the covariance Matrix of estimation error at sample k.
b. Correction step: : is the noisy measurement.
( ): is the observation function.
: is the measurement noise. ̅ : Innovation mean.
II. Kinematic Model for differential drive mobile robot [11]. For the mobile robot shown in Figure 1. The robot position (x and y) and orientation (θ) are related to the linear and angular velocities by: ) is the initial pose of the mobile robot, and is linear and angular velocities of the mobile robot. III. Robot operating system (ROS) [12,13].
ROS framework is open source software developed by the Stanford Artificial Intelligence Laboratory and updated by Willow Garage. ROS become a standard for robotic applications. ROS network contains single ROS master node and multiple ROS nodes. ROS master node controls the different parts of a ROS network and every node must register to this node to be able to communicate with the rest of the network. ROS master node is identified by a Master URI (Uniform Resource Identifier) that specifies the hostname or IP address of the machine where the master is running. The other nodes can be running at anther machines and has a specific IP address. The communication between nodes in ROS is achieved using topics. Any node has data to transmit can publish a topic for that data in the master node. The other nodes need to receive that data can subscribe to that topic.
IV. Gazebo Robot simulator [14]. Gazebo is 3D multi robot. It can simulate robots, sensors and objects. It generates realistic sensing data and realistic physical interaction between simulated objects. Gazebo is integrated with ROS and can publish/subscribe any data V. Cloud computing. Cloud computing is "a type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications and services) [15]". Mobile robots have increased in their tasks and jobs, this lead to

Engineering and Technology Journal
Vol. 35, Part A. No. 6,2017 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). b. Software as a Service (SaaS). c. Platform as a Service (PaaS).
Each module provides the developer with different type of service gained in using the cloud computing. Our concern in this paper is on Iaas type. In this module, the communications and storage resources are used.

I. System overview
The implementation of EKF-SLAM for mobile robot navigation consists three parts, the first part was the mobile robot simulated in Gazebo simulator environment, the second part was the EKF-SLAM running in MATLAB and the third part was the ROS master node where the topics are published. The third part was hosted in a sever within the cloud; the other parts were in deferent clients connected to cloud. Each part has IP address used for the communication.

II. First Part
In this part, a mobile robot, which is the Turtlebot, equipped with the kinect camera and environment with landmarks was simulated in Gazebo. While the robot moves, the data collected from IR sensor of the kinect camera as well as the position data collected by odometery unit, are published into the specified topics at the ROS mater node (which is the third part).

III. Second Part
This part is demonstrated in Figure 2.In this part the EKF-SLAM process is done. The program of this part subscribe to the published data from the first part (sensor data and odometry data). The localization and mapping is performed in this part and the location corrections is published into ROS mater node to be subscribed by part one to be used by simulated robot for next move.

IV. Third Part
This part consists ROS master node. It was running in a host with a specified IP address at the cloud. There were three topics used for communication between part one and part two. In Figure 3, the ROS master node and the Interaction between the system parts, is demonstrated.

Experiments and Results
To evaluate the implemented EKF-SLAM, an environment with many landmarks was simulated in Gazebo simulator as shown in Figure 4. EKF_SLAM running in MATLAB node sends motion data ( , ). Then the robot moves to a new location (x, y, θ) according to its kinematic model, then the IR emitter node send the scan data, and the odometry node send location data estimated by odometer. Then the EKF-SLAM generate the corrections for the estimated location. Gaussian noise with zero mean was added to the scan and odometer data with different values of variance. This is to simulate the measurement noise (v) and system noise (w) respectively. figure (5) shows the EKF-SLAM location estimation and map for measurement noise (v) variance equal to 0.02 meter and system noise(w) variance equal to 0.02 meter also. Figure 6 shows the location error accumulation with mobile movement with and without EKF-SLAM for the same experiment. In this experiment, the Mean Square Error (MSE) was 0.56 meter without EKF-SLAM and 0.092 meter for EKF-SLAM. In addition, it is evident that the error grows up without EKF-SLAM and limited with EKF-SLAM. Many experiments have been conducted with deferent noise variance in Table 1. The measurement noise v was 0.01 meter and the system noise was varied from 0.01 to 0.2 meters.

Conclusion
From the conducted experiments , EKF-SLAM shows good performance to mitigate the effect of both the system and measurement noise of type zero mean Gaussian in the estimation of location and map . For noise in the range of (0.3) meter of variance, using EKF-SLAM keeps the localization error bounded while without EKF-SLAM the error grows up. Even if the noise variance is (0.01) meter. Advantage of using cloud computing is that the computation of EKF-SLAM is offloaded from the mobile robot platform and the mobile robot remotely controlled, which is suitable for dangerous places. computer engineering, 1990, from university of technology, Iraq. He received Ph.D. in computer engineering, 2012, from Basra University, Iraq. He currently working as Assistant professor at the faculty of control and systems engineering, university of technology, Iraq. He is interesting in computer networks studies and researches, wireless sensor networks realization, mobile robot navigation, IoT development and investigation, pattern recognition, Face recognition, image processing, stochastic DSP applications.