RAINBOW UC3 regards the usage of a swarm of drones to monitor and survey the status of power lines. The novelty of this use-case stems from the complete automation of the surveillance process and the significant increase in working range. The main feature of the envisaged system is its ability to be quickly deployed in an area with no previously established infrastructure. Edge devices will be powered exclusively from temporary sources, while antennas will be placed on temporary masts; this will render the ad hoc deployment completely on-demand and highly mobile. Lastly, this use-case will consider the extension of active drone control radio range by employing a cellular-like handover mechanism considering a spectrum of application, network and physical-layer metrics.
For the virtual demonstrator scenario, all components have been prepared as Docker containers, so they can be easily ported to RAINBOW and physical demonstrator by offering a consistent and isolated environment. Test scenarios have been defined as Docker Compose files and the whole environment can be started on the development computer with just one docker-compose up command. Moreover, Docker container images have been uploaded to the Docker Hub and an application for the UC3 virtual demonstrator has been defined in the RAINBOW test environment running at UBITECH.
To test the system during development, a virtual demonstrator has been prepared. It utilizes an Open-Source physics simulation environment called Gazebo (https://gazebosim.org/). To perform simulated drone flights, the ArduCopter drone firmware has been compiled in the software-in-the-loop (SITL) testing mode. In this mode it can be started as a normal process on a computer, and it communicates with the GCS over TCP or UDP connections, instead of radio link. A plugin allows ArduCopter to communicate with Gazebo and delivers simulated sensor readings. Both the plugin and ArduCopter required some patches in order to run them in a dockerized environment.
A benefit of utilizing such isolated containerized architecture is that all developers have access to the same environment and with exactly the same configuration on each run. The deployment is automated and does not differ between development and production environments. Also, all changes can be easily tracked with ordinary version control software.
Figure 1: Exemplary mission flights