CLOUD ROBOTICS PLATFORMS

Cloud robotics is a rapidly evolving field that allows robots to offload computation-intensive and storage-intensive jobs into the cloud. Robots are limited in terms of computational capacity, memory and storage. Cloud provides unlimited computation power, memory, storage and especially collaboration opportunity. Cloud-enabled robots are divided into two categories as standalone and networked robots. This article surveys cloud robotic platforms, standalone and networked robotic works such as grasping, simultaneous localization and mapping (SLAM) and monitoring.


INTRODUCTION
Cloud Robotics (CR) is a term combination of cloud technologies and robotics.Robots empowered with cloud technologies have been an important part of our daily lives.NIST [1] defines cloud computing as "a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."Cloud computing consist of three fundamental models as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) as shown in Figure 1.
SaaS applications are served over the internet, thus eliminating the need to install and run the application on the users system [2].They are managed from a centralized location and accessed remotely by a web browser or a mobile client.Google Apps is the most widely used SaaS application suit.
PaaS refers to a computing platform served by cloud infrastructure.PaaS offers developers to get a hold of all the systems and environments required for the life cycle of software, be it developing, testing, deploying and hosting of web applications.Some examples are Amazon Web Services (AWS) [3] and Microsoft's Azure [4].
IaaS provides the required infrastructure as a service.The client need not purchase the required servers, data center or the network resources.The essence of IaaS model is a pay-asyou-go financial model.Amazon and Microsoft are also IaaS providers.Robots make significant socioeconomic impacts to human lives [5,6].For example, robots can do repetitive or dangerous tasks, such as assembly, painting, packaging, and welding.However, robots are limited in terms of computational capacity, memory and storage.Also they have physical constraints such as size, shape, power supply, motion mode and working environment [7][8][9].Robots are usually used for industrial purposes, they are not commonly used in daily life because of their cost.Cloud computing can be used to enhance robots' capabilities.
Cloud computing technologies provide numerous advantages that can be valuable for the composition and running robot services.For example, complex computations of computation intensive applications can be offloaded in the cloud like what is done for Apple's voice recognition service "Siri".Connecting the robots to semantic knowledge databases hosted in the cloud will allow a large number of heterogeneous robots to share common sense knowledge [10][11][12].
The concept of "robot-as-a-service" (RaaS) refers to robots that can be dynamically combined to give support to the execution of specific applications.RaaS has three aspects of the system: structure, interface, and behavior.There can be many kinds of robot cloud units or intelligent devices.For example, robot cops [13], restaurant robot waiters [14], robot pets [15], and patient care robots [16].These robots are distributed in different locations and can be accessed through CR platforms.
The article is organized as follows:  section 1, introduction,  in Section 2, cloud robotics platforms are illustrated,  cloud-enabled robots are given in Section 3, and  conclusions are given in Section 4.

CLOUD ROBOTICS PLATFORMS
Developing software solutions for robots is difficult, because of varying hardware and nonstandardized APIs.Robotics researchers, have created a variety of frameworks to manage complexity and facilitate rapid prototyping of software for experiments, resulting in the many robotic software systems currently used in academia and industry [17].
Stanford University and Willow Garage developed a generalized open source operating system called Robot Operating System (ROS) for robots [18].ROS is not only an operating system; rather, it provides a structured communications layer above the host operating systems of a heterogeneous compute cluster [19].
Rapyuta is an open-source cloud robotics platform.It serves a platform-as-a-service (PaaS) framework for robots.Rapyuta architecture depends on LxC [20] containers.It provides an environment to access RoboEarth [21] Knowledge Repository.Massively parallel computation, allowing humans to monitor or intervene robots and serving as a global repository to store and share object models, environment maps, and actions recipes between various robotic platforms are some of specifications of Rapyuta.It is a competitor of Rosbridge [22] in terms of communication [23].
Survivable Cloud Multi-Robotics (SCMR) Framework is designed, implemented and evaluated for heterogeneous environments.One of the challenges for cloud robotics is the inherent problem of cloud disconnection.The SCMR framework provides the combination of a virtual Ad-hoc network formed by robot-to-robot communication and a physical cloud infrastructure formed by robot-to cloud communications.The design trade-off for SCMR is between the computation energy for the robot execution and the offloading energy for the cloud execution.The SCMR framework uses Web Sockets protocol for communication between the individual robots and the cloud server.In case of cloud disconnection a virtual ad hoc cloud is created between the individual robots and the robot leader and the individual robots communicate with one another through the gossip protocol [24].
Distributed Agents with Collective Intelligence (DAvinCi) is a software framework that provides the scalability and parallelism advantages of cloud computing for service robots in large environments.It is implemented as a system around the Hadoop cluster with ROS as the messaging framework [25].

CLOUD-ENABLED ROBOTS
Robots have some constraints in terms of computational capacity, memory and storage.CR help them to overcome these challenges.Opportunity to use cloud allows cost effective robots to be produced.Robots can be classified as traditional robots and cloud-enabled robots.This paper focuses on cloud-enabled robots.Cloud technologies not only empower robots but also it allows them to network each other regardless of distance.Cloud-enabled robots are divided into two categories as standalone robots and networked robots.Classification of robots is shown in Figure 2.
Robots can do a wide variety of works such as grasping, identifying objects, SLAM, monitoring, networking and some other actuating works.Robots can grasp formerly known objects easily.They can also grasp novel objects with the help of cloud.In [26], a study about grasp planning in the presence of shape uncertainty and how cloud computing can facilitate parallel Monte Carlo sampling is presented.Kehoe et al focus on parallel-jaw push grasping for the class of parts that can be modelled as extruded 2-D polygons with statistical tolerances.
Standalone robots can benefit from cloud in terms of computation power, storage capacity and memory.However, networked robots can make networks, share their information through cloud and can perform collaborative works.CR infrastructure with standalone robots and networked robots is presented in Figure 3.
SLAM [27] refers to a technique for a robot or an autonomous vehicle to build a map of the environment without a priori knowledge, and to simultaneously localize itself in the unknown environment.SLAM is important in robotics and there are plenty of researches.It consists of statistical techniques such as Kalman filters, mapping and sensing.Riazuelo et al develop a  cloud framework which name is Cloud framework for Cooperative Tracking and Mapping (C2TAM) [28].This is a visual SLAM system based a distributed framework where the CPU-intensive map optimization and storage is allocated as a service in the Cloud, while a light camera runs on robots for tracking.The robots need only internet connection for tracking and cooperative relocating.C2TAM provides a database consisting maps can be built and stored, stored maps can be reused by other robots.A robot can fuse its map online with a map already in the database, and several robots can estimate individual maps and fuse them together if an overlap is detected.
Virtual monitoring technology has been applied in more and more fields such as military, education, medical science, manufacturing engineering, and so forth.In order to realize resource sharing among all collaborating robots in a virtual monitoring system, cloud computing is proposed by combining professional computing equipment as a super virtual computing centre.Zhang et al. proposed 3D virtual monitoring system based on CR.This system's architecture consists of communication language for agent communication, algorithm for cooperative working and conflict resolution.Prototype system is applied for the monitoring of fully mechanized coal-mining equipment [29].
Networking robots overcome the limitations of stand-alone robots by having robots, environment sensors, and humans communicate and cooperate through a network.Mateo et al, presented a work to decrease message overhead occurred because of communication.The proposed an information sharing model for group communication based on Brownian agent approach.In presented work they grouped robots in clusters with a cluster head to overcome message overhead [30].Kamei et al, proposed prototype infrastructure of cloud networked robotics enables multi-location robotic services for life support [31][32][33][34].Their study focuses on requirements in typical daily supporting services through example scenarios that target senior citizens and the disabled.

CONCLUSIONS
This article presents cloud computing, cloud robotics and cloud interaction of robots.It surveys cloud platforms and cloud-enabled robotics studies.Standalone robots can benefit cloud technologies and networked robots can perform collaborative works.Networked cloudenabled robots can share computation resources, information and data with each other and can access new knowledge and skills not learned by themselves.This is a new paradigm in robotics that we believe leads to exciting future developments.Future works can focus on reliable connection, data offloading methods and ubiquitous networking among robots and cloud services.