## 4 System Overview
### Drone Swarm
Finally, communications are often a challenge to apply drones in large and distant scenarios. In fire fighting missions, there must be a continuous exchange of information between the different agents: data from the drones to the base station, commands from the base station to the drones, information from the base station to the firefighters, etc. Our proposal to maintain these communications during the missions is to use the vehicles and robots involved in them as communications relays. However, we estimate that the drones must have a communication range of 5 km to enable this system in the considered scenarios. As shown in Figure 3, each quadcopter is only able to fly to waypoints and use its payload, whereas the whole fleet can spread over the scenario and perform the required tasks. For instance, a quadcopter can move through a list of waypoints taking images of the terrain, whereas the fleet can cover the whole area monitoring the evolution of the fire. It is made possible thanks the control and coordination algorithms executed by the drones, which allow them to make individual decisions based on local data that produce collective behaviors to perform global tasks. The most representative are behavior-based algorithms, whose efficiency has been validated for surveillance, search, and monitoring tasks in previous works [53; 56; 57]. Behavior-based algorithms usually consist of multiple behaviors, which process the information and generate possible actions following different patterns, and decision-making module, which fuses the outputs of them and computes the final action. Some common behaviors are inspired in nature, such as \"keep distance\" and \"keep velocity\", which are followed by birds' flocks and fishes' shoals. However, some others are devoted to solving specific robot tasks, such as search and surveillance. In both cases, the behaviors have multiple parameters that can be tuned to adapt them to different scenarios. The drone swarm shall perform the following generic tasks partially drawn from [58]:  
* Search: This task involves flying over an area of interest to find some targets, covering every point in that area at least once. * Surveillance: This task involves flying over an area of interest to find some targets, covering every point multiple times to get updated data. * Reconnaissance: This task involves flying to a list of points of interest to acquire data. * Mapping: This task involves flying over an area of interest to build a map, covering every point once to acquire images or data. * Monitoring: This task involves flying over an event of interest to acquire data. * Support: This task involves flying over teams that work on the ground to provide them with information about their environment. * Tracking: This task involves following a mobile target to acquire information or control it. * Transport: This task involves taking a load from one point to another. These generic tasks can be used individually or in combination to represent the specific tasks of firefighting missions described above. For instance, fire surveillance can be represented as a combination of surveillance and reconnaissance having fires as targets. The specific tasks and their corresponding generic tasks are collected in Table 1.