# The Cloud-to-Edge-to-IoT Continuum as an Enabler for Search and Rescue Operations
## 2 Related Work
### ROS Applications  
With robots coming out of research labs to interact with the real world in several domains comes the realization that robots are but one of the many components of \"robotic applications\". The distributed nature of such systems (i.e., robots, edge, cloud, mobile devices), the inherent complexity of the underlying technologies (e.g., networking, artificial intelligence--AI, specialized processors, sensors and actuators, robotic fleets) and the related development practices (e.g., continuous integration/continuous development,containerization, simulation, hardware-in-the-loop testing) pose high entry barriers for any actor wishing to develop such applications. With new features and robotic capabilities being constantly developed in all main five elements of modern advanced robotics (i.e., perception, modeling, cognition, behavior and control) and AI solutions expanding what is possible each day, software updates will become frequent across all involved devices, requiring development and operation (DevOps) practices to be adapted to the specific nature of robotic applications and their lifecycle (e.g., mobile robots, frequent disconnections, over-the-air updates, safety).  
ROS (robot operating system) is an open-source framework for writing robotic software that was conceived with the specific purpose of fostering collaboration. In its relatively short existence (slightly more than ten years) it has managed to become the de facto standard framework for robotic software. The ROS ecosystem now consists of tens of thousands of users worldwide, working in domains ranging from tabletop hobby projects to large industrial automation systems (see Figure 1).  
Open Robotics (Available online: [[https://www.openrobotics.org](https://www.openrobotics.org)]([https://www.openrobotics.org](https://www.openrobotics.org)) (accessed on 19 January 2023)) sponsors the development of ROS and aims to generally \"support the development, distribution, and adoption of open-source software for use in robotics research, education, and product development\". Currently, ROS is the most widely used framework for creating generic and universal robotics applications. It aims to create complex and robust robot behaviors across the widest possible variety of robotic platforms. ROS achieves that by allowing the reuse of robotics software packages and creating a hardware-agnostic abstraction layer. This significantly lowers the entry threshold for non-robotic-field developers who want to develop robotic applications.  
On the other hand, from the architectural point of view, ROS still treats the robot as a central point of the system and relies on local computation. This limitation makes the task of creating large-scale and advanced robotics applications much harder to achieve. The current state of cloud platforms does not support the actual robotic application needs off the shelf [13; 14; 15; 16; 17]. It includes bi-directional data flow, multi-process applications or exposing sockets outside the cloud environment. These hurdles make them less accessible for robotics application developers. By creating a cloud-to-edge-to-IoT continuum which provides the needs of such robotic environments, we can lower the hurdle for an application developer to use or extend robots' capabilities.