# An Evolutionary Algorithm to Optimise a Distributed UAV Swarm Formation System
## 2 Related Works  
In this section, we review some research works related to robot formations, including distributed/decentralised approaches [14] wherein robots self-organise [15] by using limited local information.  
First, we discuss some formation-control articles starting with a distributed method for formation control, as described in [16]. This article discusses a swarm of aerial robots which self-coordinates by sharing information and obtaining a consensus to navigate throughout a dynamic environment by using a restricted communication and vision range. The authors proposed a motion-planning algorithm based on calculating the convex hull of the robots' positions and achieving the optimal formation while avoiding obstacles. Their results have been obtained by using four real quad-rotors and Monte Carlo simulation experiments. In our proposal, we obtain different robot formations because our robots are located in a 3D shape inscribed into a sphere, using swarms of up to ten robots. Finally, our formations are achieved by using attracting and repelling forces optimised by an EA.  
A non-uniform vector field method is proposed to achieve formations of fixed-wing UAVs in [17]. The authors use a leader-follower approach and compare their results with a wind-absence method and another one based on unicycle dynamics. The system stability is analysed by using Lyapunov stability theory. Several validations are carried out by comparing simulations by using Gazebo and hardware-in-the-loop experiments using two UAVs. Our approach is different as it does not rely on a leader (all swarm members are in the same hierarchy level). We propose the optimisation of the swarm's parameters, and simulate up to 10 robots by using the full UAV dynamics.  
Secondly, we include some articles in which metaheuristics are used to optimise the robots' trajectories. In [18], the authors propose an alternative method by which to achieve distance-based formation by using a GA. It is composed of two phases: formation and obstacle avoidance. Each phase uses a different chromosome. The first codifies the distance and moving angle of each robot to achieve the formation, whereas the second defines the robots' speed to avoid collisions. The algorithm is tested by using simulations and real robots in experiments in a 2D environment. Although our formation system is also based on distance and angles, we calculate different robot parameters to foster self-organisation by using an EA.  
A cooperative method is proposed in [19] by using a GA and a cellular automata. A team of three robots moves throughout a pre-specified formation pattern by a discretised environment. One of the robots (master) coordinates the rest (slaves) when moving in the desired pattern. A set of robot parameters are calculated by using a GA through simulations to maximise the time in formation and team progress, while minimizing the number of rotations performed by robots. As mentioned before, we propose a different set of parameters focused on the robot collaboration while surrounding a rogue drone in a 3D environment.  
Summing up, in our proposal we obtain the UAV formation by using attracting and repelling forces parametrised and optimised by an EA. We use a multi-physics robot simulator to test our proposal on 90 unseen scenarios per case study featuring different initial conditions. We have given some initial steps [20] in a 2D environment toward the present article in which we have increased the complexity of the formation, proposed and parameterised a hybrid evolutionary algorithm where each robot parameter is optimised individually. To the best of our knowledge, this study involving the optimisation of the swarm parameters for achieving robust 3D formations by using an evolutionary technique followed by the validation by using the ARGoS simulator has not been addressed before.