# UVCS: Unit Virtual Coordinate System for UAV Intra-Swarm Routing in GPS-Denied Environment
## 2 Related Work  
With the emergence of the Internet of Things (IoT), devices have been firmly embedded in daily lives. For simplicity of deployment and operation of such large decentralized systems, it is convenient to combine devices into a single distributed network, which can be controlled remotely. Wireless self-organizing dynamic networks utilized for this task are a particular case of well-known ad hoc networks. An ad hoc network is a collection of wireless mobile nodes dynamically forming a temporary network without the use of any existing network infrastructure or centralized administration [11]. A distinguishing feature of such networks is that each node acts as both an end system and a router. Ad hoc networks can be deployed in territories with no infrastructure, for example, in scenarios such as disaster relief. The topology of ad hoc networks changes much more frequently as compared to wired networks. The routing protocol must ensure network scalability, robustness [12], and energy efficiency [13]. Over the past decades, many algorithms have been proposed for routing in wireless communication networks [14]. Table-driven routing traditionally implemented in wired networks, despite the reliability of operation and simplicity of configuration, have a number of drawbacks when deployed on wireless ad hoc systems. Specifically, the dynamics of the system topology require frequent updates of the routing tables, sometimes even non-incremental ones. On the other hand, on-demand routing protocols, such as the Ad hoc On-Demand Distance Vector (AODV) routing protocol, introduce large delays required to route discovery prior to information transmission [15]. As an alternative solution to table-driven and on-demand routing, geographic routing protocols can be utilized [16; 17]. According to them, packets are forwarded between nodes based on their geographic locations, which are utilized as addresses. At each intermediate node, the process of selecting the next node for forwarding is based on the geographic position of the destination node and the coordinates of the neighboring forwarding candidates. The simplest strategy is to use greedy forwarding and by sending the data packets to the neighbor that is geographically closest to the destination. Figure 0(a) shows a scenario where data are transferred from the green node src to the red node dest. Specifically, the next node is chosen based on two characteristics. Firstly, it should be adjacent to the current node. Secondly, the distance between the potential node and the destination node should be minimal. The figure illustrates the choice of the node in the fourth step. The current node, highlighted in yellow, has four adjacent nodes (marked in bold). Comparing the distances between the bold and dest node (lengths of dashed lines) one ends up choosing the node at the minimum distance from the dest. However, this method can lead to deadlock situations. Figure 0(b) illustrates the case when packets are forwarded to a node without neighbors apart from the current node. In the second step the current yellow node choses the node that is at the shortest distance from the dest red node but has no neighbors. In such cases, alternative forwarding strategies such as an Adaptive Greedy-compass Energy-aware Multipath protocol (AGEM) [18] can be utilized. Figure 1: Explanation of the Greedy Forwarding Geographic Routing protocol. Geographic routing algorithms offer a number of advantages, such as simplicity, efficiency, and scalability. Another important advantage of geographic routing is that there is no need to store large routing tables and/or flood the network with route discovery packets. However, nodes' location information may not always be available in specific environments such as deep woods, indoors, and mountains. One of the ways how to utilize geographic routing without explicit nodes' location information is to rely upon the use of virtual coordinates instead of geographic coordinates.