Decentralized Control of Drone Swarms
Apart from their growing popularity for private use, drones can be helpful in a variety of scenarios. A particularly important case of application is in catastrophic situations (e.g., after earthquakes), where drones can be deployed for disaster relief by setting up ad-hoc communication networks, distributing supplies, or coordinating search and rescue operations. Besides, drones offer many possibilities for industrial and commercial purposes, such as aerial photography, environmental monitoring, light shows, and transportation.
Due to the limited physical capabilities of drones (e.g., their finite carrying capacity and observation radius), many of these tasks cannot be performed by a single drone but require the collaboration of several drones in form of swarms. To control such a swarm, however, it typically proves impracticable to coordinate their moves from a central location for several reasons. On the one hand, a centralized control architecture bears the risk that the communication with the swarm gets interrupted (e.g., due to changing/difficult environmental conditions). On the other hand, the bandwidth requirements for communication grow with the size of the swarm, which can lead to communication bottlenecks in large networks. In addition, a centralized communication scheme always comes with the risk of breakdown in the event of a malfunction of the central element (single point of failure).
For a swarm to operate autonomously and safely in a variety of potential environments, decentralized and robust control mechanisms are required that guarantee the stability of the swarm even in the case of unexpected events (e.g., the failure of one or more drones). The difficulty in designing such decentralized mechanisms is that, in most realistic cases, none of the drones has a complete overview of the current constellation of the swarm, which requires a clever and efficient coordination all involved actors.
Unfortunately, due to large system sizes and various effects caused by the physical characteristics of each single drone (e.g., nonlinear dynamics, partial observation of the environment, etc.), a complete analytic treatment of this distributed task is usually impossible. A key challenge for successful swarm control is, therefore, to develop robust communication protocols and control algorithms that are able to exploit and propagate the local information of the drones despite the abovementioned difficulties. At this point, methods from machine learning and (deep) reinforcement learning can come into play, which can help to learn the required interaction models from experience (i.e., through interaction with the environment) while offering robustness against deviations between the assumed model and the real physical system.
At BCS, we work on the development of such decentralized mechanisms and investigate how complex collective behavior can be synthesized from the local interaction of multiple distributed agents. In this project, we want to test different collective behavioral strategies under realistic conditions, using a real drone system. Herein, one of the main aspects is the communication strategy of the drones, which enables them to coordinate their flight during the execution of a task.
If you would like to learn more about possible student projects, please contact Adrian Šošić.