QoS-Based Mobility System for Autonomous Unmanned Aerial Vehicles Wireless Networks

. In the era of the Unmanned Aerial Vehicles (UAVs) several kinds of applications were born to make use of these autonomous vehicles, from surveillance to emergency management, from entertainment to package delivery. All these systems are based on the autonomous capability of the unmanned vehicles. The common factor of such systems is the use of an ad-hoc wireless network that enables the communication among the vehicles. However, guaranteeing an effective level of Quality-of-Service in the UAVs wireless network is hard to reach because of the unpredictable nature of such a system. Multiple solutions have emerged to address this problem, like enhanced communication protocols or mobility control systems that exploit the autonomous mobility of such vehicles. Nevertheless, none of those solutions have real affect on the end-to-end QoS performance. This paper aims to address the issue of guaranteeing the wireless network connectivity while providing Quality-of-Service at network layer, i.e., the proposed system will dynamically adapt its topology in order to increase the end-to-end network performance by using nature-inspired algorithm.


Introduction
In recent days we observe the proliferation of Unmanned Aerial Vehicles (UAVs) due to the miniaturization and cost reduction of this kind of devices. Many applications have been proposed that make use of autonomous UAVs: from video surveillance to target recognition, from static area coverage to goods delivering, from public safety systems to disaster recovery management. In most cases, UAVs are deployed in swarms: a fleet of autonomous UAVs that self-organize themselves in order to accomplish the target task. In such systems, the main challenge is the creation of a wireless communication network that enables the cooperation among the UAVs. In literature these kind of network are called Flying Ad-Hoc Networks (FANETs) [17] and they differ from the legacy Mobile Ad-Hoc Networks (MANETs) because of the flying nature of the devices involved. The challenge of using a fleet of UAVs, instead of a single one, is that vehicles need to coordinate themselves through a network that can be difficult to maintain. A key issue in most of the mentioned applications is the self-organizing capability of the flying vehicles in order to meet the Quality of Service (QoS) requirements of the user applications [5].
is to maintain and guarantee the connectivity of the network, i.e., trying to keep all the UAVs connected. In order to achieve this goal, there exist two main possibilities: using a mobility-aware communication protocol or a communication-aware mobility control system. The aim of the first strategy is to use network protocols that are able to foresee/react to the nodes movement, and so to a possible change of the network topology. Instead, the second strategy aims to control the motion of the nodes in order to preserve the network constraints.
In the first case, to cope with the frequent variability of the network topology, several solutions consider the possibility to redefine the routing tables by including directly inside the routing algorithms some kind of mobility-aware information. For instance, authors of [12] present P-OLSR, an enhanced version of the OLSR routing protocol [2], where the link-state index also takes into account the nodes position and their speed. Another approach, proposed in [16], considers long term link-stability indexes, since nodes disseminate their link stability and load indexes through the network. In the context of reactive routing protocols, the idea is to exploit Route Request (RREQ) message in the route creation operations, in order to avoid routes that are considered less stable [1].
In the second case, the UAVs mobility control system deals with the communication constraints. Typically, in these research works, the network communication ability of UAV is modeled with a fixed radius disk area. Communication between two nodes exists if and only if the two vehicles involved are respectively in the communication radius of each others. Several solutions have been deployed to guarantee the communication between nodes by guiding their movements, like for instance [15], where vehicles act as repelling and attractive forces, i.e., keeping a minimum safe-distance to avoid collision, and not going beyond a maximum distance to avoid disconnections. Of course, this strategy can be made more accurate if the communication ability is modeled keeping into account also some communication metrics, like the link budget [14], or the Signal-to-Noise-and-Interference-Ratio (SNIR) [4], or the bit-error-ratio, instead of considering only fixed and constant values for the vehicles inter-distances.
Another important aspect in the design of UAV networks is the possibility to guarantee service differentiation with Quality of Service (QoS), i.e., that particular set of features that lets the system manage multiple kinds of communication flows while enabling the deployment of reliable services. Also in this case, in order to implement the QoS, multiple solutions have been deployed through the modification or the adaptation of the communication protocols involved. For instance, a specific network transport layer introduced by [13] is used by a robust routing protocol to provide a minimum amount of data to each node. Dealing with high mobility in an unmanned vehicles network, an efficient routing architecture is required in order to face the frequent topology change of the network. For this reason, geographical routing can be considered a good solution, since it can define route paths basing on the positions of the destination nodes. Hence, there is no need for the network to maintain all the route information. Of course, it requires a good accuracy and reliability of the positions information, whose knowledge and management cannot be considered a trivial problem [8]. One of the most common scenario where QoS is required in a UAVs network is the video streaming application, like in the case of mon-itoring or surveillance. Despite the huge number of works in the video streaming use case, only few works focus in the video streaming aspects in an autonomous unmanned vehicles network, especially concerning also the Quality of Experience (QoE) of the video. Some adaptive video streaming techniques have been designed basing on the transmission quality estimation [7]. This is computed taking into account the amount and the delay of the acknowledgments received for the video frames transmitted. Instead, in [11] a different approach based on the routing level is presented. In particular, the authors designed a cross-layer protocol that enhances the video transmission flows by using a geographical routing protocol combined with a path quality estimator. This lets the protocol foresee the quality deterioration and react by creating a new path before the link expires and so avoiding a video stop during the streaming.
In this paper we extend the work done in [14] by introducing a new method to improve the emergency wireless communication links and, hence, giving the rescue team a reliable and more effective communications network during the emergency operations.

System Model
In this Section we introduce the system model and the terminology we use throughout the paper. Let U = {u 1 , u 2 , . . . , u N U AV } be the set of the available UAVs. Each UAV u i ∈ U has, at each time instant, a specific position p i = x i , y i defined in Euclidean space. We assume a limited scenario of dimension S maxX × S maxY . During an emergency, all the UAVs u i ∈ U are deployed into the scenario by the public safety organizations. Let P S be the static wireless point managed by the public safety team. The UAVs are then released in the emergency scenario starting from the station P S. All the UAVs have the capability of adjusting their position and moving autonomously in the scenario. Without loss of generality, we assume a connected communication network among the UAVs during the deployment operations. We assume that each UAV is equipped with a GPS sensor and an on-board camera that is able to generate a video streaming of the emergency scenario. The generated video streaming is then sent toward the public safety station P S through the UAVs multi-hop wireless network. The UAVs organize themselves in a multi-hop mesh network where an UAV u j ∈ N eigh(u i ) if there is a 1-hop direct connection between UAV u i and UAV u j .
The objective of this paper is to formulate a distributed mobility model that is able to maintain the connectivity of the UAVs mesh network during the whole network lifetime and provide a QoS on the end-to-end network performance.

Distributed Mobility Model
In this Section we describe the distributed mobility model used by each UAV for the autonomous movements. At each time instant, on each UAV u i , where the sum of these forces defines the next position that the UAV u i will try to reach. More formally, the total force − → F i that is acting on the UAV u i is given by the sum of all the acting forces: We modeled the acting forces − → F i←j as virtual spring forces, i.e. forces that act as springs. We use the well know Hooke's law as force definition: where − → x is the displacement of the virtual spring from its relaxed position l 0 . The constant k defines the stiffness of the spring, i.e. the responsiveness at the spring displacement. We keep the value of k as a constant system parameter; we plan to further investigate such parameter as future work. We modeled the relaxed position l 0 with two different methods: -Algo low : l 0 = l 0,low . Here, l 0,low is a system variable that is in charge of guaranteeing the network connectivity among the UAVs network. In Algo low we let l 0 be equal for all the forces it is a function of l 0,low and of the communication network conditions. In this case the spring relaxed position will modify each communication link in order to meet the higher levels QoS (described in Section 3.3).

Physical layer Quality of Service
We introduced the spring forces to enable the UAVs network to maximize the coverage of the scenario while maintaining the UAVs communication network connected. In this Section we describe in more details the Algo low where the relaxed position of each virtual spring force is: l 0 = l 0,low . We derived this technique from [14] [3], where the virtual spring force acting on the UAVs u i and generated from the UAV u j , located respectively in positions p i and p j , is defines as follow: where k is the stiffness characterizing the spring forces and ∆l i←j (l 0 ) is the spring displacement between the actual length of the spring, l i←j , and the relaxed, or natural, length of the spring l 0 , that is defined by l 0,low in Algo low . For the definition of the − → F low i←j spring force length we used the link budget (LB) index that UAV u i receive from the UAV u j . The LB index, or fading margin [10], captures the physical layer QoS because it defines the reliability of the communication link and indicates whether it is going to break or not. Here, l 0 = l 0,low is the user defined parameter that indicates the requested QoS at physical layer and l i←j defines the actual value of the LB index. The l i←j index is evaluated on UAV u i after receiving a message from UAV u j and is calculated as follow: Here, P rx i←j is the power received by UAV u i from a message sent by UAV u j , while R thr i is the radio receiver threshold that indicated the minimum amount of energy that a receiver device needs in order to be able to properly receive a message. Without loss of generality, we assume homogeneous characteristic of the radio receiver, i.e. ∀u i ∈ U , R thr i = R thr . Finally, the spring displacement ∆l i←j (l 0 ) is calculated as follow: where α is the propagation decay exponent that describes the propagation characteristic of the environment. Figure 1 shows the ∆l i←j (l 0 ) value for different environment characteristics.  We can notice from Equations 3 and 5 that the force − → F low i←j is repulsive against the UAV u j when the received message is too strong (l i←j > l 0 ) and is attractive if the calculated LB index is too low (l i←j < l 0 ).
In order to execute the Algo low method, each UAV u i ∈ U , every t beacon seconds, broadcasts a BEACON low message to inform the neighborhood of its position. The beacon message sent by the UAV u i is formed as follow: where ID i is the identifier of the UAV u i .

Higher layer Quality of Service
The forces defined in Algo low and introduced in the previous Section 3.2 are able to guarantee only a low level of QoS, i.e. they are able to maintain the UAV network connected and to keep a user-defined LB value on each communication link. However, these forces are not able to guarantee any application layer QoS, like throughput, packet delivery ratio (PDR), end-to-end delay, etc... For this reason, in this paper, we propose a model that is able to exploit the autonomous vehicle mobility to improve the aforementioned QoS indexes. We saw in previous Section 3.2 that in Algo low , the value of the reference link budget used as natural spring length l 0 is constant and defined by the system variable l 0,low . This method, however, manages all the communication links in the same way, without taking in consideration of the network condition of each particular link. In this Section we describe the Algo high that is capable of exploit the difference between each communication link improving the network performance. The calculus of the spring forces is similar to the Equation 3: with the only difference in the definition of the spring relaxed position that is no more the constant l 0,low , but the value l i←j 0,high that is different for each link i ← j. Before defining the l i←j 0,high value, we need to describe the network variables used in this context. In Equation 4 we saw how an UAV u i is able to easily calculate the link budget l i←j of the link i ← j. We can also assume that the UAV u i is able to estimate the packet error rate (PER) per i←j on the link i ← j [6]. While the link budget is useful for the connectivity issue since it indicates if a specific link is going to break, the PER index gives more information about the link state specifying the error probability on the link.
Moreover, we modify the beacon message by including more network information. More specifically the BEACON high message is formed as follow: where list i ( u k , data k←i ), with u k ∈ N eigh(u i ), is the list of the u i 's neighbors toward which the node u i is generating data at data k←i [M B/s]. Here u k is not the destination node of the packets, but the next-hop node in a multi-hop routing algorithm. Furthermore, the generated data k←i includes both the packet generated by u i and the data that the node u i is forwarding in the multi-hop communication network. We assume that the UAV u i will include its neighbor u k in the list i only if data k←i > 0. Let data N eigh(ui)\{k}←i be the sum of all the generating data that the UAV u i has to send to its neighbors except for the UAV u k . We can now define the l i←j 0,high . For each UAV u j ∈ N eigh(u i ) we have: if data N eigh(uj )\{i}←j > 0 AND data N eigh(ui)\{j}←i > 0 l 0,low otherwise (9) Essentially, the Algo high will increase the reference link budget if u i is transmitting data towards u j , or vice versa, while it will decrease the reference link budget if u i and  (Figure 2(a)) and dec i←j LB (Figure 2(b)) with l 0,low = 12dBm, l min 0,low = 4dBm and l max 0,high = 20dBm for different value of peri←j.
u j is transmitting data towards any other UAV. If both u i and u j are not transmitting the Algo high will behave like Algo low . The functions inc i←j LB and dec i←j LB are defined as follow: dec i←j LB = l 0,high − l min 0,low · 1 e datai j ·peri←j + l min 0,high (11) where l min 0,low and l max 0,high are user defined variable, such that l min 0,low ≤ l 0,low ≤ l max 0,high . Furthermore, we need to define data i↔j = max(data i←j , data j←i ) and data i j = max(data N eigh(uj )\{i}←j , data N eigh(ui)\{j}←i ). In Figure 2(a) and 2(b) we draw the inc i←j LB and dec i←j LB functions, respectively. In Figure 2(a) we see that the value increases asymptotically till the value of l max 0,high . We notice also the effect of the per i←j index on the resulting reference link budget: the less the per i←j is, the faster the reference link budget increase. In this way a poor quality link will be recovered faster due to an higher reference link budget. On the other side, if the link has already a good quality, there is no need for increasing the reference link budget. In Figure 2(b) is shown the dec i←j LB function. In this case the UAVs u i and u j have data to transmit, but no data packet for each other and hence we need to reduce the interference among them. In order to do this, we reduce the reference link budget that will distance the two UAVs. Also in this case, if the link quality index is poor (high per i←j ), we move the UAVs farther away to reduce the interference.
In Figure 3 we show a possible scenario with N U AV = 8. In this example scenario we have that the UAV u 1 and u 4 are generating the streaming video for the P S station. The data flow generated by u 1 is passed through u 2 and u 3 , while the data flow generated by u 4 is passed through u 5 . Here we can appreciate how the Algo high works: since there is a flow along the path u 1 → u 2 → u 3 → P S, the communication link belonging to this path becomes shorter due to the increment of the reference link budget (see Equation 9). The same happen to the path u 4 → u 5 → P S. On the other side, the links between these two data flow paths (u 1 ↔ u 4 , u 2 ↔ u 4 , u 2 ↔ u 5 , u 3 ↔ u 5 ), become longer to reduce the interference among the them. The UAVs u 6 , u 7 , u 8 are not affected by these data flows and their links length remain constant.

Simulation Results
In this Section we evaluate the system model presented previously through a simulation study. To this purpose, we modeled in OMNeT++ the scenario introduced in Section 3. We considered 1000m × 1000m map where we placed the public safety wireless point station P S at the center of this scenario. Unless specified otherwise, we use these values for the system parameters: l 0,low = 12dBm, l min 0,low = 4dBm, l max 0,low = 20dBm, k = 50, N U AV = 14 and t beacon = 0.5sec.
We analyze the throughput and the end-to-end delay indexes for the simulated scenarios. These indexes, in fact, reveal if the system is capable of supporting the video streaming on a multi-hop UAVs wireless network. We compare both the algorithms described in Section 3: -Algo low where the natural spring length of the forces l 0 is constant and set to l 0,low ; -Algo high where the natural spring length of the forces l 0 is parametric to the wireless link characteristic between each pair of UAVs u i , u j .
At the beginning of each simulation test, we release the set U of UAVs close to the station P S, assuring an initial connectivity of the wireless mesh. During the initialization phase of 60sec, we let the UAVs move without generating any video stream. In this way, the UAVs will cover the emergency scenario forming the wireless covering  (Figure 4(a)) and the end-to-end delay (Figure 4(b)) indexes comparing Algo high and Algo low . mesh. After this initialization phase, each UAV, with probability p S , will generate a video streaming flow of 400kB/s toward the station P S. In Figure 4(a) we can notice the improvement that Algo high has over the Algo low . Here we set p S = 0.75, i.e. each node is transmitting the video stream with probability 0.75. We can notice how, in the first part of the graph (simulation time 70sec to 100sec), the two algorithms behave almost the same. However, as soon as the UAVs using the Algo high activate the adaptive value of l 0 , the performance of the system improve meaningfully. On the other side, the throughput index for the Algo low method, remains almost stable during the time. Figure 4(b) shows the average end-to-end delay index of the network varying the transmitting probability p S of the UAVs. We can notice that at low traffic load, the difference between the two algorithms is neglectable. However, when more UAVs start the video streaming, the Algo low is no more able to support the streaming. On the other side, we have that the Algo high that is capable of halving the end-to-end delay, giving hence more support for real-time video streaming. In Figure 5(a) and 5(b) we show the network performance changing the number of deployed UAVs. As we can see, the Algo high outperforms always Algo low in both the throughput and the end-to-end delay indexes. In Figure 5(a) we have that the throughput decrease while increasing N U AV because of the multiple generation of streaming data and hence the number of packet collisions in the wireless channel. In Figure 5(b) we notice that in Algo high the end-to-end delay remains approximately half of the Algo low .   Fig. 6. The throughput and the end-to-end delay indexes comparing Algo high and Algo low using GPSR as routing protocol.
We want to point out that the proposed mobility algorithm Alogo high is agnostic on the routing protocol that is being used, because the only thing that the algorithm needs to know is the next-hop node in the multi-hop wireless network. In the previous settings we used AODV as routing protocol. In Figure 6 we changed the routing algorithm with the GPSR protocol. As we can see from the figure, also in this case there is a significant improvement in both the throughput and the end-to-end delay performance indexes.