Drones show: how we coordinated a swarm of dancing kopter

    Hotels and amusement parks need show drones. Artists and fireworks - it's good, but not enough. We need to come up with something bright for the guests. Show drones - just such an option. We participated in the project of organizing regular shows of drones for one foreign amusement park.

    And now we are able to do the same shows in Russia.

    When it comes to a swarm of 300 or 1,000 vehicles in the fleet, positioning accuracy (that is, the location of each individual drone relative to the ground and each other) does not play a special role. This is a moving mass, where the particles are at a distance of several meters from each other. Very expensive mass. Plus or minus the meter is not important here: they take it because it’s far from the viewer, and because there are a lot of drones. Even if a couple of pieces fall, that's okay. But hotels and parks, organizers of not very large-scale events, for example, need 20–90 drones, and positioning is critical here.

    In this case, you can take only accuracy and synchrony. We have solved this problem.

    Why and how it was all

    CROC has a robotics division. It originated in 2012 and deals with various interesting things, but its main direction is the management of the UAV. We saw our own software to control drones and solve non-standard tasks. Participants in the 2013 contest may be aware of this code on the githaba, which we developed and used to control the drone in the competition of flying drones. At that time, we were solving a new task for the market - to make the drone hang in the right place, carefully bypassing corners and obstacles. Today it seems ridiculous.

    In addition, we are doing projects for managing UAVs based on Vendor software, including those based on SPH Engineering software. They have both a UgCS software ground station and a full-fledged command center for large dronoflots. UgCS is able to manage a large group of unmanned vehicles, which distinguishes it from ordinary ground control stations. By management, we understand the planning of a flight route, for example, for rescue operations or for flying around a security perimeter, sending remote commands and monitoring the state of vehicles. In fact, for the show of drones, approximately the same functions are needed as in the command center. And now, on the basis of the UgCS platform, the highly specialized Drone Dance Controller software has appeared, but this was not immediately the case.

    How was

    Soft The first version, which we tested with a partner in a short time, used the standard functionality of most civilian drones, namely, flying along a given route. The route is a set of coordinates between which the drone moves in a straight line at a given speed, making something useful along the way. For most of the tasks solved by the drones, such flight planning is more than enough. But at least there is no time synchronization in it, i.e., it is hard to force the drone to be at a given point at the right time, which is critical for group flight. However, the first version is the first version, in order to quickly build it and start flying. We draw routes in the standard way (in UgCS, of course), we load into drones - and forward.

    Synchronization of flights made, as expected, in the forehead. In the drone routes, points were allocated where the drone stopped and waited for commands from the ground to continue the flight. We called them sync points. The operator on the ground had to make sure that all the drones reached the synchronization points, and send them the “Continue” command to continue the flight.

    Iron. The first version used only standard-type routes, and as a result, allowed the use of drones from different manufacturers. But we immediately decided to fix the target platform and conduct all tests on it.

    There were no ready-made drones for the show at the time. They are not there at the time of this writing, but there is hope that they will appear soon. In the meantime, you have to collect yourself. We collect them on the basis of a 450-mm frame, and we chose an open-air Pixhawk as an autopilot, on the one hand, to untie our hands in both iron and firmware. On the other hand, so that users can easily buy all the necessary components and assemble the necessary product on their own. But in general, only autopilot is strictly fixed. The remaining structural elements are optional.

    And an important point - we immediately began to focus on GPS RTK technology. It allows you to achieve centimeter positioning accuracy relative to the ground base station (with a conventional GPS, the accuracy is 3+ meters).

    Yes, GPS RTK complicates everything, since it requires the presence of GPS RTK receivers onboard each device, which you need to constantly send data from the ground station. But there's nothing to be done: we understood that we and our clients would not grow up immediately to large fleets. Hundreds and thousands of drones in the air can draw beautiful large-scale volumetric figures in which the position of each drone is not very critical to the eye. And what can you draw a few dozen drones? Most likely, it will be some small simple geometric shapes and their transformations, for which the accuracy of flight is absolutely critical. Roughly speaking, drones should be able to line up in a straight line, pleasing to the eye and without flaws.

    Additionally, drones in Atlanta carry RGB LEDs. Their work can be embedded in a mission or they can be controlled from the ground, but it is necessary to take into account the additional load on the radio channel. However, instead of light-emitting diodes, the drone can carry on itself pyrotechnic pieces, although with them, of course, one must be very careful.

    Here is an example of one of the first flights on the first version of hardware and software (and just with pyrotechnics). Well visible and normal lines (well, ok, ok. There was still something to work on.), And manual synchronization. That is, about 40–50 times per show, the operator pressed “Let's go further”, and then the following command was sent to the drones to each one.

    But something happened already flying.

    Thus, the customer flew off the season of daily shows.

    How it works now

    In practice, the first version was expectedly not the best solution. First, the presence of constant manual synchronization is evil. The “Continue” command may not reach the drone due to, for example, poor radio communication. In this case, everyone will fly away further, and he, the poor, will remain. Secondly, it is impossible to create complex routes, which prevents the creation of animated pictures, only static scenes are possible.

    Now everything has become simpler: about six months ago, the vendor released a special version of the software - Drone Dance Controller, for example. Here he conjured a little over the autopilot and taught him to fly autonomously along arbitrary trajectories with a clear reference to GPS time. Trajectories can be prepared in a 3D editor or using scripts. The operator is now required to click on the "Start" button and quit smoking. At the exit, something like this might turn out:

    Or this:

    But, before spoiling the lungs, the team must complete the crucial stage of preparing for the show.
    So, first of all, it is necessary to prepare the fleet: make sure that all the drones are in the flyable state, correctly configured, and nothing has fallen off from them during the transportation.

    In parallel, it is necessary to prepare the show itself. We start with an animation that can be done in a 3D editor, for example, in Blender:

    Then we convert the trajectory of the animation in a format that is understandable for the autopilot. And, before leaving to fly in the field, we carefully check on the simulators with the evaluation of the result. The simulation gives us the opportunity to put virtual drones instances into the necessary coordinates and work with them on our software as with real devices. You can evaluate their flight in real time, as well as post-process their movements and visualize the result in some 3D scene.

    In the video - an example of visualization from different points of view.

    Viewpoint: Viewer

    Viewpoint: launch pad

    Viewpoint 1

    Viewpoint 2

    After that we go to the field for test runs. We deploy the infrastructure (ground station, communication), arrange the drones. We check that they transferred the transportation well and that all the drones connect to our station. Further, the software automatically determines which drone on which route should fly. We set the start time - and forward.

    And then the show itself.

    Of course, about “quit smoking” was a joke. Because directly during the flight, the operator and observers must monitor the current state of the fleet and, if necessary, make a decision on the emergency landing of failed drones.

    Of course, there are a number of limitations.

    Weather: we do not fly in rain and snow (so far), and the wind is not very fond of more than 5 m / s. It is clear that the drone will fly at 10 m / s, but the accuracy of holding the position may not be very good.

    The broadcast must be relatively free at the frequencies used to communicate with drones.

    Safety: viewers must be moved a certain distance away from the show, because drones, generally speaking, can fall.

    All this must be considered when planning.


    You can collect a swarm of drones, buy UgCS software, get recommendations from us and start flying. If you already have a certain competency in droning, then everything will not even be very difficult. I know the guys who raised the test dance for 20 drones 24 hours after the acquisition of the license and recommendations for the introduction of software (though they already had a fleet). If there is no competence, but I want to do such shows, then our engineers can implement such a project, train your specialists in everything and support them in the future. If you just need to fly off a one-time show - also write, discuss.


    Also popular now: