1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 61 62 63 64 65 Cloud Robotics: A Software Architecture For Heterogeneous Large-Scale Autonomous Robots Seyed Ali Miratabzadeh, Nicolas Gallardo, Nicholas Gamez, Karthikpai Haradi, Abhijith R Puthussery, Paul Rad, Mo Jamshidi Electrical and Computer Engineering Department, University of Texas at San Antonio Open Cloud Institute, University of Texas at San Antonio San Antonio, Texas, USA Ali.Miraftab@utsa.edu, {hbq744, jyi358, dxq821, qaw164}@my.utsa.edu, Paul Rad@utsa.edu, moj@wacong.org Abstract—The paper proposes a software architecture for cloud robotics which intends three subsystems in the cloud environment: Middleware Subsystem, Background Tasks Subsystem, and Control Subsystem. The architecture invokes cloud technologies such as cloud computing, cloud storage, and other networking platforms arranged on the assistances of congregated infrastructure and shared services for robotics, for instance Robot Operating System (ROS). Since the architecture is looking for reliable, scalable, and distributed system for the heterogeneous large-scale autonomous robots, Infrastructure as a Service (IaaS) is chosen among the cloud services. Three major tasks can be handled by the proposed software architecture Computing, Storage, and Networking. Hadoop–MapReduce provides the appropriate framework in the cloud environment to process and handle these tasks. Keywords—cloud robotics; heterogeneous system; large-scale autonomous; Hadoop-MapReduce, Robot Operating System (ROS). I. INTRODUCTION Robotic services are systems, devices, and robots with three functions: sensation, actuation, and control [1]. Providing robotic services to support intelligent artificial activities through socially conscious interactive behaviors is an emerging topic in robotics research for instance to support daily human activities [2] and IBM Smarter Cities [3]. To afford this important, robotic technologies can be integrated with advanced networking technologies [18] to foster the emergence of networked robotics. A networked robotic system indicates to a group of robotic devices that are connected via a wired and/or wireless communication network [4]. Networked robotics, especially the multi-robot system, distributes the workload of sensing, actuating, communication, control, and computation among a group of participating robots. It has achieved great success in industrial applications, intelligent transportation systems, and security applications. However, the advancement of networked robotics is restricted by resource, information, and communication constraints inherent in the existing framework [5]. These drawbacks are significant in the networks of mobile robotic, and may lead to severe performance degradation. Networked robotics serves as a stepping stone [5] towards cloud robotics. For instance, cloud-enabled network robotics leverages emerging cloud computing technologies to enhance networked robotics removing analytical duties off the robot. The design objective is to overcome the limitations of networked robotics using elastic resources provisioned by an ever-present cloud infrastructure. Cloud computing uses a sophisticated networked ecosystem but presents a clear, concise interface to extend the capabilities of networked robotics. In 2010, Kuffiner J. J. penned the term “Cloud Robotics” and described a number of potential advantages over conventional robotics [6]. Cloud robotics is an emerging field of robotics embedded in cloud computing, cloud storage and cloud networking. While providing advantages of powerful computational, storage, and communications resources of modern data centers, it also allows robots to benefit from the platform which includes infrastructure and shared services. Robots connected with the cloud platform can access the services running on the remote servers. Furthermore, one byproduct of the cloud robotics is the allocation of the background tasks, services not related to core function of the robot, to the cloud platfrom, for instance Big Data management and implementation of advanced Machine Learning algorithms [7], [20] and heavy image enhancement algorithms [17], [21], [24] or software [19]. The definition of cloud computing by NIST [8] enables remarkable elasticity in designing and implementing new applications for networked robotics. Several researchers have begun to study the architecture of cloud technologies in robotic applications. For instance, a research group at Singapore’s ASORO laboratory announced a software framework that merges the scalability and parallelism advantages of cloud computing to large-scale environments of robots. The system is implemented through Hadoop clusters and ROS communication networks [9]. The dustbot project [10] is an example of such a sophisticated network within a robotic system. In this project, two kind of robots perform the cooperative tasks while benefitting from the use of external sensory systems. Two tasks have been implemented within the system: garbage collection and street cleaning and sweeping. Z. Du et. al. [11] introduced the concept of Robot as a Service and the initial system of a Robot Cloud Center. To the best of our knowledge, substantial works have few distinct design directions and implementation, especially in the area of cloud robotics utilizing emerging advanced technologies in the cloud research area such as OpenStack [12] and Docker [13]. This work was supported by Grant number FA8750-15-2-0116 from Air Force Research Laboratory and OSD, and by Open Cloud Institute at University of Texas at San Antonio, Texas, US. WAC 2016 1570259520 1