Distributed Control of a Swarm of Autonomous Unmanned Aerial Vehicles