Cooperative Control of Swarms of Unmanned Aerial Vehicles