Comparison of Cloud Computing models in terms of software components separation of responsibilities: "onpremises" solution leaves to the user the management of all the software layers. IaaS, PaaS and SaaS give progressively fewer responsibilities to the user.
Limitations with the on-board computational resources installed on untethered robots such as humanoids and mobile robots in general affects significantly the performance and capabilities of these machines. An approach to address this issue is to make use of the cloud robotics concept and take advantage of the extensive computational resources of th...
Context in source publication
Cloud providers such as Amazon Web Services (AWS) stand out as useful platforms to teach distributed computing concepts as well as the development of Cloud-native scalable application architectures on real-world infrastructures. Instructors can benefit from high-level tools to track the progress of students during their learning paths on the Cloud,...
... Notably, SaaS-based architectures can more easily overcome interoperability issues that arise due to differing robot hardware. Frameworks such as C2tam  and XBotCloud  focus on specific applications or algorithms, for example object recognition or object grasping. Tian et al.  proposed a RaaS-based robotics model called Brass, which allows robots to access a remote server that hosts a grasp planning technique. ...
Cloud computing revealed recently to be of great interest in robotics. Indeed, it provides on-demand and elastic computing resources, database storage, and applications over the internet. These are major assets to improve robots' computational and cognitive capabilities, and share knowledge among the international robotic community. In this context, web services technologies are considered as a key factor for providing encapsulated and interoperable robotic services. However, finding the relevant robotic web service that can match the user request among the published services for different robots is still an issue. This paper presents a solution towards robotic web services discovery and selection in a cloud computing environment, based on Robot Operating System (ROS). We propose an approach, which aims to automate the robotic services search, and enables their use when needed ‘as a service’. This solution allows users to obtain the suitable service for their robots, according to a service-query matching score. To that end, we exploit the sentence-BERT model and reinforce the training dataset through ROS and robot tasks, which enhances significantly the performance of the discovery process. We conducted experiments over several ROS Web services using NAO robot. The obtained results are presented and discussed in this paper.
Accelerated advancements in artificial intelligence and robotics have recently boosted the proliferation and adoption of robotic systems within various industries. In order to improve the capabilities of such systems that range from enabling remote processing to enhanced access to data, there has been integration of the cloud, and this gave rise to cloud robotics. Nevertheless, minimal published literature is available on a generic cloud robotic architecture that computer scientists or software developers can utilise and adapt to a particular use case scenario, as most existing cloud robotic architectures are scenario specific. To address this gap, a systematic review is conducted in this paper to illustrate the key components of cloud robotic systems through an architectural representation, in addition to enlighten how such systems are built and evaluated. For this, 44 recently published papers were systematically reviewed and analysed. Following the review, a generic architecture for cloud robotic system was realised, and it was found that there is no agreed consensus on the tools and technologies used in the build-up of such systems. Similarly, various approaches are used to evaluate such systems and the most common one is through case studies. However, there is a lack of frameworks that guide the evaluation process. This paper presents fascinating research concerns and potential for future study based on the data reported.
Robots come with a variety of computing capabilities, and running computationally-intense applications on robots is sometimes challenging on account of limited onboard computing, storage, and power capabilities. Meanwhile, cloud computing provides on-demand computing capabilities, and thus combining robots with cloud computing can overcome the resource constraints robots face. The key to effectively offloading tasks is an application solution that does not underutilize the robot’s own computational capabilities and makes decisions based on crucial cost parameters such as latency and CPU availability. In this paper, we formulate the application offloading problem as a Markovian decision process and propose a deep reinforcement learning-based deep Q-network (DQN) approach. The state-space is formulated with the assumption that input data size directly impacts application execution time. The proposed algorithm is designed as a continuous task problem with discrete action space; i.e., we apply a choice of action at each time step and use the corresponding outcome to train the DQN to acquire the maximum rewards possible. To validate the proposed algorithm, we designed and implemented a robot navigation testbed. The results demonstrated that for the given state-space values, the proposed algorithm learned to take appropriate actions to reduce application latency and also learned a policy that takes actions based on input data size. Finally, we compared the proposed DQN algorithm with a long short-term memory (LSTM) algorithm in terms of accuracy. When trained and validated on the same dataset, the proposed DQN algorithm obtained at least 9 percentage points greater accuracy than the LSTM algorithm.
The widespread use of robotics in new application domains outside the industrial workplace settings requires robotic systems that demonstrate functionality far beyond that of industrial robotic machines. The implementation of these additional capabilities inevitably increases the complexity of the robotic platforms at the hardware, control and application software level. As a result the complexity of today's robots targeting new applications in partially unstructured environments has reached a noticeable extent, e.g. such robots typically consist of a large number of actuators, sensors, and processors communicating through several interfaces. These emerging applications involve complex tasks that also vary and have to be carried out within a partially unknown environment requiring advanced capabilities with respect to system autonomy and adaptability, which further increases the intricacy of the system software architecture creating an additional challenge on the development of robotic software. The selection among the available software middlewares is not an easy task for the research community as well as for companies interested in exploiting them. A software framework that targets to enable the above described applications, should provide Real-Time (RT) performance with minimum jitter at relatively high control frequency (e.g. 1 kHz) for the low-level, code reuse, hardware abstraction layer, interoperability with existing frameworks, robustness and small footprint. Moreover a robotic software middleware has to be able to assure cross-robot compatibility, in the sense that it should be possible to use it with any robot, without code modification, but only changing a set of configuration files. A software architecture with the above performance features would lead to the possibility of effectively running autonomous and semi-autonomous skills on-board the robot. This is essential for application domains such as logistics, robot companions in houses and offices and co-workers in industrial, manufacturing and construction spaces, which require Human-Robot Collaboration (HRC), either sharing the same workspace or in a remote teleoperation scenario. The architectures and limitations of the existing frameworks are first studied and discussed in this thesis. A novel software architecture for robotics called XBotCore is then introduced in details and its experimental validation on different robotic platforms, from industrial manipulators, to humanoids, to quadruped robots is demonstrated and discussed. Having developed the core of the software architecture, this thesis then introduces a state-of-the-art multimodal (verbal, motion, force) tele-interaction control framework. Motivated by biological findings, the framework is capable to deal with the uncertainty of the interaction forces by exploring an online autonomous impedance regulation principle to adapt to payload or interaction forces variations. In the experimental trials performed, the efficacy of the individual components of the framework was proofed, with focus on the autonomous impedance regulator for force interaction; moreover the overall multimodal tele-interaction framework was validated for a human-robot collaboration task scenario that involves carrying and transporting a heavy object with a humanoid robot. However, the limitation of the on-board computational power installed on the robotic systems represents a significant barrier for their deployment in emerging applications within human working and domestic spaces, which eventually compromises their application. An approach to address this issue is to exploit the cloud computing, cloud storage, and other Internet technologies to benefit from the powerful computational, storage, and communications resources of modern data centers. In this regard, the present thesis illustrates the XBotCloud framework, which extends the XBotCore by providing the tools and mechanisms to enable users and robots to securely exploit the resources of the Cloud allowing also the combination of local (RT) and cloud execution on the basis of the requirements and the demands concerning the service execution and communication latency. XBotCloud functionalities were rigorously demonstrated in realistic cloud, network communication and robotic task pipelines settings on different robotic platforms, that include also the execution of cloud services within moderate feedback control loops.