Emergent Swarms

Quadcopter Collision Avoidance

Back to homepage

Summary

A part of the graduating team from the Swarm of Aircraft Inspection Drones project decided to further collaborate and implement the algorithms we developed in a real-world drone swarm. Originally, this project aimed to facilitate a swarm of drones to operate round-the-clock. As the project unfolded, the scope broadened to include demonstration of inspection capabilities and human interaction. Eventually, we assembled a swarm of 40 drones with features like real-time collision avoidance, behavior planning for 24/7 operation, inspection capabilities, and human interaction. During the project, I was responsible for the collision avoidance and human interaction. Two of our team members are now advancing this project through a startup named Emergent Swarms.

Human Interaction

The swarm can be directed by a human operator who points their left arm in the direction they want the swarm to move, using their right arm to indicate the desired distance of the swarm. The swarm can navigate around the human operator, other drones, and obstacles while executing the operator's commands. The system is robust enough to allow the human operator to move freely around the swarm. The human collision avoidance system operates on a per-limb basis, which technically allows the drones to fly between the operator's legs. The human operator can also use their left arm to point at a specific drone, and the swarm will rearrange to surround that drone. I implemented the algorithms that make real-time human interaction with the swarm possible.

Collision Avoidance

The drones' collision avoidance system is fully decentralized. Each drone is aware of its own position and desired velocity as well as the position and velocity of the drones in its vicinity (but not their desired velocities!). I developed a fully parallel implementation of this system capable of calculating collision avoidance between hundreds of drones and nonconvex obstacles at 60 Hz on my old laptop.