Distributed Control of Crazyflie Quadcopters

Quadcopters and Unmanned Aerial Vehicles (UAV) are becoming increasingly more commonplace; they are used for filming, food delivery, surveillance, etc. The CrazyFlie quadcopter is designed to be flown indoors, weighs just 27 grams and fits in the palm of a hand. It provides an excellent platform for research and allows to test algorithms in practice, indoors. With the firmware of the drone readily available online and maintained by BitCraze, it can be easily reconfigured and reprogrammed before up-loading it onto the CrazyFlie microprocessor.

Each member in the current feet of CrazyFlie nano-drones has a low-level cascade PID controller onboard, in the firmware. This controller, which can be easily readjusted or completely rewritten makes sure the drone tracks the velocity, position and angular inputs. These can be programmed to be sent automatically on the firmware or from a computer. The communication happens via the CrazyFlie specific CRTP protocol through the CrazyRadio 2.4GHz USB dongle. For the localisation of the copters we use an onboard approach, specifically the optical flow based sensor, called FlowDeck. By taking a number of images of the floor underneath, the FlowDeck uses a Kalman Filter to estimate the drone's position relative to its starting point. The onboard approach is a necessity as we strive towards the complete independence of the drones from any external sensors or actuators, e.g. motion capture cameras. The current research is into the full decentralization of the control of a fleet of drones. The fleet shoul be able to track position and velocity setpoints while also avoiding collisions and matching velocities achieving a full flock behaviour. The minimum necessity to achieve these is to define a specific topological graph of the network of drones, where the neighbours can communicate with each other.

The complete distribution of the control of the fleet has a number of computational and practical advantages, but also comes at a cost of complexity and communication links requirements. Overcoming these challenges creates a robust distributed framework with a plethora of opportunities. With the current setup in place, we can extend the capabilities of the fleet, such as tracking a non-stationary ground objects, surveillance of ground area, automatic wireless charging or collective task completion to name just a few.