Drone Collaboration

A project of the Robotics 2020 class of the School of Information Science and Technology (SIST) of ShanghaiTech University. Course Instructor: Prof. Sören Schwertfeger.

Ganlin Zhang, Runze Yuan


Letting quadcopters to work together to perform some complex task like catching a ball is very challenge but can really help in reality. In this project, We implement the task of flying as a team. We use several quadcopters which fly as a team together to follow a certain trajectory simultaneously.  We will use tracking system to observe the positions of drones and ball.


Quadcopters are quite unique in the field of robotics since most of the modern robots work on the ground while quadcopters can work in the air. This feature is useful for catching objects since moving in the air is more efficient for most cases. In this project, we implemented the first part of the catching task, using several quadrocopters to form a flying team to a certain point, which provide possibility to catch heavier object than a single quadcopter in the future. We used a center computer to control the whole system, sending messages to the drones by radio. Tracking system is used to locate the drones and the object.

System Description

The drones we used is called crazyflie, which is a small quadcopters whose weight is only about 30 grams. It can be communicated with smart phone by bluetooth or with PC by radio(using a radio device called crazyradio PA). Crazyflie is an open source hardware and it also has several open source software package which is convenient for developer. We use optitrack tracking system to give drone's pose for controlling the movement of the drone. The tracking system server communicates with the PC using LAN to decrease the latency instead of using wifi.


We make one test using a single drone and another test using multiple drones
In this test, we try to make multiple drones form a team to follow an object moving. We record the trajectory for evaluation below. 

Here is the trajectory captured by optitrack system, we can see that the error of the position is small (0.214 meter in average). 

In this test, we try to use a single drone to hit the ball before the ball land. We use horizontal projectile motion model to estimate the landing point of the ball.  


When small quadcopters can form a team, they can cooperate together to do some more complex task. Under giving the ground truth pose by tracking system, the formation of the team can be nearly perfect. Also, to hit an object which is not too fast is also possible by our implementation.