  Networks of Unmanned Aerial Vehicles (UAVs), composed of hundreds, possibly
thousands of highly mobile and wirelessly connected flying drones will play a
vital role in future Internet of Things (IoT) and 5G networks. However, how to
control UAV networks in an automated and scalable fashion in distributed,
interference-prone, and potentially adversarial environments is still an open
research problem. This article introduces SwarmControl, a new software-defined
control framework for UAV wireless networks based on distributed optimization
principles. In essence, SwarmControl provides the Network Operator (NO) with a
unified centralized abstraction of the networking and flight control
functionalities. High-level control directives are then automatically
decomposed and converted into distributed network control actions that are
executed through programmable software-radio protocol stacks. SwarmControl (i)
constructs a network control problem representation of the directives of the
NO; (ii) decomposes it into a set of distributed sub-problems; and (iii)
automatically generates numerical solution algorithms to be executed at
individual UAVs. We present a prototype of an SDR-based, fully reconfigurable
UAV network platform that implements the proposed control framework, based on
which we assess the effectiveness and flexibility of SwarmControl with
extensive flight experiments. Results indicate that the SwarmControl framework
enables swift reconfiguration of the network control functionalities, and it
can achieve an average throughput gain of 159% compared to the state-of-the-art
solutions.
