Keywords

1 Introduction

The introduction of automation equipment in industrial production in the past few decades has brought great value to the industrial sector. With the development of industrial robots, the programmed robots have reached high level performance in real time, accuracy, robustness and compatibility. At the end of the 1990s, researchers have developed and improved the control of the robot network interface, the robustness of the operation, and “network robotics” [1] appears.

Robotics network refers to a group of robots connected through wired or wireless communication network [2]. Individual robotic in network robotics is regarded as a node. Through sensing data and information shared among nodes, the operators in remote transmit commands data and accept measurement feedback, thus assuring specific operation completed. But like the single robot, robotics network also faces the inherent physical limitations: Due to the limitations of the robot space volume and other factors, there are obvious limitations in computing and storage capacity of individual robot. This leads to the limited capacity of the traditional network robotics when facing high complexity processing. And the performance improvement has obvious limitations as well.

With the development of cloud computing, big data and other emerging Technology, the integration of cloud technology and multi robot system makes it possible to make the multi robot system with high performance and high complexity. In 2009, the European Union project RoboEarth [3], led by Holland Eindhoven University, is establishing the Wide Web for robots World (Robot World Wide Web). RoboEarth can be seen as a large database on the Internet. The emergence of RoboEarth makes the robot share information learn from each other, and finally update the database to achieve a virtuous closed loop.

With the rapid development of the Internet of things and Industrial 4.0 concept put forward [4, 5], at the Humanoids 2010 conference, Professor James Kuffner of Carnegie Mellon University proposed the concept of “cloud robot” for the first time [6], and further elaborated the potential advantages of cloud robots. The cloud robot soon caused extensive discussion and research. Researchers in Singapore for the construction of the DAvinCi [7], Japanese researchers to build business platform Rapyuta [8], development of open source software package ROS [9] (robot operating system) with efforts of willow garage’s team have accelerated the development of robotics cloud. In this paper, we will focus on the following points. First, describe the overall structure of the cloud robot, and then analyze several major elements of the cloud robot ecology, analysis of the current key issues to be solved cloud robot. At the end of the article, prospects for the future development of the cloud robot.

2 System Architecture of Cloud Robotics

Network robotics can be seen as transition state between preprogrammed robot to cloud robot [10]. Previously mentioned, Professor Kuffner James proposed a cloud robot, aimed at transferring high complexity of the computing process through communication technology to the cloud platform. This greatly reduces the computational load of the individual robot. Figure 1 describes the main architecture of the cloud robot.

Fig. 1.
figure 1

System architecture of cloud robotics

Cloud robot system is mainly composed of two parts: cloud platform related equipment and bottom facility. The bottom facilities are often all types of mobile robots, unmanned aerial vehicles, machinery and other equipment. Accordingly, the cloud platform is composed of a large number of high-performance servers, proxy servers, massive spatial database and other equipment.

Multi-robot cooperative work, such as SLAM and Navigation [11], is a typical application of cloud robots. Network Robotics’ communication mode is used for reference for cloud robotics, and the multi-robot system is composed as a cooperative computing network based on the wireless communication technology. The advantages of cooperative computing networks are the following: (1) The collaborative computing network can gather computing and storage resources, and can dynamically allocate computing and storage resources for specific work requirements. (2) Because of the exchange of information, the machine can be coordinated to make decisions. Unlike network robotic is that when a node’s computing ability and storage ability deficiency may lead to large delay time, the node can collaborate around spare node by transferring compute or storage task. For any node which has not connected to the cloud resources, due to the establishment of a link with other robots, they can be connected to the cloud through. The emergence of this mechanism, greatly expands the scope of the task of multi-robot cooperative work and greatly enhance the efficiency of specific work.

Other tasks may not need additional robots but with complexity of the operation, such as Grasping, are other hot research areas. Because the object is unknown, the previous researchers have launch a large number of sensing devices on the grab body [12], trying to improve the accuracy of grasping. But in the actual industrial circumstance, demand of high accuracy and fewer sensors [13] is more in line with the production practice. At the same time, due to the limitation of physical space and material, the equipment and storage equipment are limited. This leads to limited research and development. After the introduction of large data, through uploading a small amount of sensor data and characteristic data, researchers can analyze the match in the cloud, then the characteristic data of the grab motion is downloaded and returned to the mechanical equipment to operate. In summary, the main features of the cloud robot architecture are as follows: (1) In the cloud dynamic computing, allocation of resources, the resource is elastic and on-demand. (2) Cloud robotics’ “brain” in the cloud, through the network to obtain the results of processing. While the network robotics’ tacks are processed in the body. (3) Because of the fact that computing work can be loaded into the cloud, the robots’ load is smaller and battery life are greatly extended.

3 Four Major Factors of Cloud Robotics

Cloud robot’s structure involves a number of cloud technology, networking, embedded systems and all kinds of wireless communication protocols. This section we mainly discuss 4 major factors of big data, cloud computing, open source and robot cooperative learning.

3.1 Big Data

Big data as a current hot research field, has been widely used in all kinds of practical research [14]. In the field of robotics, previously mentioned Grasping is a typical example of the use of big data. The significance of large data is not only for its literal meaning, but also for providing an index of pictures, maps and object data of the global database for the terminal (this paper mainly refers to various types of machine equipment). These data include images, videos, maps, sensor networks, and so on. The most typical is the RoboEarth. As the robot database, RoboEarth is attracting a large number of researchers to use and share due to the characteristics of open source. The positive closed loop makes RoboEarth store the massive object data and map data. These important data provide important technical support for the development of robot navigation and grasping.

3.2 Cloud Computing

Cloud computing is originally used for commercial purposes. In recent years, cloud computing has gradually played a role in the field of scientific research [15, 16].

In the robot field, due to the high computing performance of cloud computing, With the computing task uploaded to the cloud, the computational load of computing equipment are liberated to a great extent. For example, In the field of multi-robot operation, cloud computing has greatly accelerated the speed of development of the robot and automation equipment. In order to achieve the robot navigation, Riazuelo et al. [13] used the cloud platform for SLAM, achieving very good results.

However, what we cannot ignore is that the introduction of cloud computing means the upload and download of computing load. Current mainstream communication protocols, such as Zigbee, Bluetooth and Wifi have developed rapidly [17], but the working environment has a great influence on the fluency of wireless communication. The particular example is the interaction of dynamic information which is easy to cause network delay in the process of information transmission. For the applications whose real-time requirement is high, how to use the cloud computing is also a hot research direction.

3.3 Open Source

The spirit of open source promotes the advancement of multi domain technology through the promotion of technological exchange. With the development of cloud technology, the spirit of open source also infiltrates into the cloud robot field. Among them, the most representative is ROS and RoboEarth.

3.3.1 Robot Operating System (ROS)

Robot Operating System (ROS) is a well-known open source, which aims to improve the code reuse rate and development efficiency of the robot operating system.

There are two major parts to mark ROS: system maintenance and distribution.

  1. (1)

    Main: the core part, designed by Garage Willow and some developers, to provide maintenance. It provides some of the basic tools for distributed computing, as well as the entire ROS of the core part of the program.

  2. (2)

    Universe: the global scope of the code, Maintained by international ROS community organization. It is a library of code, such as code for OpenCv, PCL. In general, algorithms, frameworks and hardware drivers consist the Universe (Fig. 2).

    Fig. 2.
    figure 2

    ROS file architecture

The concept of computation graph is a kind of point to point network form for ROS processing data. When the program runs, all the processes and their data processing, will be displayed through a point to point network. This level mainly includes several important concepts: node, message, subject, service.

Node is a process that performs an operation task. When many nodes are running at the same time, it is easy to draw the point to point communication into a graph. The nodes communicate by sending messages or service. Messages are in a publish / subscribe manner. A node can publish a message in a given topic. A node is concerned with a particular type of data via subcribe on a particular topic. As for service, when the other nodes send request data to the service node, the service node will response. Figure 3 describes the two communication methods between two nodes through the message and service mode.

Fig. 3.
figure 3

Point to point communication mode

ROS has numerous nodes, messages, services, tools, and library files that require an effective structure to manage the code. In the ROS file system level, there are a number of important concepts: package, stack. ROS’s software is organized in a package. Package containing nodes, ROS dependency library, configuration files, third party software, etc. The objective of the package is to provide a structure that is easy to use in order to facilitate the reuse of the software. The corresponding stack is a collection of packages, which provides a complete set of features. The community level concept of ROS is a code release of a form of expression, and Fig. 4 describes the community level architecture.

Fig. 4.
figure 4

Community level architecture

3.3.2 RoboEarth

RoboEarth is a web site dedicated to the robot service. It is a huge network database system, the robot here can share information, learn from each other’s behavior and environment.

The overall architecture of the RoboEarth is shown in Fig. 5. In general, RoboEarth is divided into Clients layer, Cloud Engine layer, Database layer. The computing tasks will be transferred to cloud with a unified data format through the network, which makes all the information for uploading of any robot the same. After the unified data format, computing tasks will be transferred to Engine Cloud for cloud computing. Engine Cloud sometimes need to interact with the upper Database data, and finally return the results to the underlying robot. Some applications such as Grasping may directly access the upper layer of the Database for model matching, then the feature data is returned to the underlying robot, in order to carry out further operations.

Fig. 5.
figure 5

Architecture of RoboEarth

3.4 Robot Cooperative Learning

In SLAM, navigation and other applications, besides uploading computing tasks to cloud, robot cooperative learning, namely shared track, control strategy and other information is also another important part. Inter communication is typical machine to machine (M2M) communication architecture. Collaborative learning requires that the global task priority is greater than the priority of the node task, the dynamic packet interaction and control. This gives a higher requirement for the control algorithm.

It is worth noting that, due to inter machine communication (M2M) usually use routing proactive protocol and routing Ad-hoc protocol [18]. In the unfamiliar environment network robots may choose proactive routing protocol to open up the path, proactive routing protocol contains a periodic packet switching and routing table updates, which makes the consumption of computing resources and memory resources particularly huge. While according to Ad-hoc protocol, to communicate with the target node, the source node needs to establish the routing table, lead to a more serious delay, this situation is particularly serious in the dynamic network topology.

4 Key Issues to Be Resolved

This chapter we will discuss the key issues to be solved of the cloud robot, namely Resource allocation and scheduling, Data Interaction between robot and cloud platform and Cloud Security respectively.

4.1 Resource Allocation and Scheduling

Uploading computational tasks with high complexity to the cloud is one of the biggest characteristics of the cloud robot. Besides different working equipment, different interface settings, different network environment, for a given computational task, the choice of uploading or assigning the task to near nodes has significant impact on the overall performance.

It is worth noting that, like the inter machine communications, uploading task to the cloud (M2C) may result in emergence of delay. New algorithms and techniques need to face the real time change of network delay. Although wireless technology has made significant progress, once the connection problems of robot and cloud services happen, serious delay is almost inevitable. Therefore, when designing a new algorithm, we need to design a load distribution algorithm with “any time” characteristic. Once it is found that the task that cannot be properly uploaded to the cloud needs to be uploaded to the cloud, mechanism of dynamic allocation of computing tasks should be activated, thereby controlling the delay time.

4.2 Data Interaction Between Robot and Cloud Platform

The most significant feature of cloud robot is data interaction between robot and cloud platform. The output data structure differs greatly among manufacturers. In fact, different models of product from even the same manufacturer may result in output data structure of great difference. The diversity of data structure presents a high requirement for the compatibility of the cloud input interface. To solve this problem, the current mainstream cloud platforms often provide multiple interfaces for numerous formats of data.

However, due to the limited number of interfaces, the data to be uploaded must be properly preprocessed. How the data format needs to be translated greatly affects the robustness and real-time performance of the data exchange. Additionally due to the invariance of the cloud device, cloud devices can only handle and store data of specific structure. This means that the input interfaces need to transform the corresponding data structure into a unified format. Lastly at the output part, when the upload data processing is completed, the ready-to-output data must also be transformed to specific formats. The output data needs to consider the compatibility of the underlying devices and the real-time requirements of the entire data exchange.

4.3 Cloud Security

The introduction of cloud technology has greatly expanded the complexity of multi robot operation. But at the same time it also introduces new technical challenges: the privacy and security issues brought by the cloud technology.

These hidden dangers contain the data generated by the computing devices and sensors in the work of the cloud robot. Commercial science and technology has appeared serious data leakage incidents, especially in the upload to the cloud photos, video [19]. In scientific research and industrial practice, key data stored in the cloud may be far from the hacker to steal, leading to the loss of key data. In order to eliminate these hidden dangers, we must establish the relevant management rules and legal provisions [20, 21]. In addition to the technical level, the establishment of a unified standard and prevention mechanisms as the technical support is also an important prerequisite for the healthy development of the field of cloud robotics.

5 Conclusions

This paper briefly describes the origin and development of the cloud robot, from the allocation of resource, communication mode, and analyzed of the cloud robot communication architecture. Four major elements of the cloud robot are summarized, and the key technologies to solve the development of the cloud robot are analyzed. Cloud robot, sharing computing resources between each other and the cloud platform, pushes multi-robot system and collaborative learning to new height. By sending the computational load of high complexity to the cloud platform, the cloud robot no longer requires high performance of onboard equipment, greatly reducing the cost of the application of multi robot system. With the development of cloud computing, big data and other fields, the cloud robot in SLAM, Grasping, Navigation and other applications will achieve better performance.