How was the flying robot competition: flights and errors

Setting the drone to the starting position
A year ago, a competition of flying robots began with a prize of 1 million rubles. At the start, there were 536 applications. At the first control point there were 237 participants, at the second - 204, at the third - 72. 29 strongest participants reached the final. But only 14 teams and 4 individual participants reached the KROK training ground on August 24 and 25 and fought for the prize. The total time of the final flights of their 18 drones is about 5 hours. The task is to automatically fly through a small maze from the take-off marker to the landing marker, sit down, and then return, flying around a ledge-obstacle along the way.

The most painful thing was to read letters in the last week with the subject “That's it. I crashed the robot. " The most pleasant thing is to see how the very first team showed the level of training that we expected.

And yes, below the photo report - carefully, traffic .
We flew in the rain.
We open the first day. From left to right: Vitaly Polyansky from the jury (deputy scientific director of the dean of the Robotics and Intelligent Systems faculty of the Moscow Aviation Institute), then I and Alexey Dobrovolsky (director of software development CROC).

Tune-up before flight
Installation on the launch marker

If you missed the previous series

Here we talked about the contest , and here we talked about how we assembled our robot and how hard it once flew.

Polygon layout
Our team flew during the final days out of competition, with a robot that we did to build experience in the direction of robotics outside of ordinary projects. My story will be from the point of view of the participant. And, perhaps, I will pay most attention to errors in flights: it is very useful to know such things.

The participant is preparing for the start. The
flights went for two days, and the adrenaline was just the sea. Here are the participants who participated in these final flights and their results:
Exterior wall of the training ground

What the maze looked like
Spectacles before the start of the competition

Flight on cameras

So, the very first 2engineers team showed just a great flight at the very beginning. Half the way they went like clockwork and were just half a step away from breaking the first flight and taking the contest on the first try. They flew strictly through the camera. The algorithm was doped so that they entered the turn at maximum speed on the ideal glide path, immediately recognized the marker, sat down well - but crashed into the partition at the return. They perfectly sharpened the algorithm for a specific polygon. What prevented is incomprehensible. Maybe some kind of shadow is random, but right behind the partition their robot fell. It's a shame, but after the accident, the robot did not even take off for the second attempt - something just fell inside.

"Lost at the training ground"

The robot of the Robodem team was flying great, and it was also great to find markers and land very accurately. They are the only ones who passed the fourth control point ahead of schedule, even on test flights. A few months before the final, the robot walked smoothly along the figure eight drawn on the floor. But there was a slight recognition problem at the finals, and so he sat down on the finishing ground three times, then turned around the walls - and returned back to this marker, then again tried to fly away. After 6 minutes, he still saw the “light at the end of the tunnel”, found a turn, saw the starting marker and sat on it.

Wi-Fi Issues

In about half of the participants, the robot did not count everything on board, but transferred the picture to the laptop via Wi-Fi. The problem was that none of the participants expected that the Wi-Fi network would be noisy with a lot of natural traffic from urban networks around (no interference, we watched that). For example, all ArDrone copters sent a video stream to the “ground” and received commands from the “server” as from a remote control (after all, a small robot, and the platform is closed, there’s not much to put a lot) - and here the participants were waiting for lags. For example, the first Wi-Fi channel occupied 8-9 home and office networks.

More problems

  • Railab (Polytechnic Museum) flew well, but could not return - like, the battery unexpectedly failed, not allowing the robot to fly a little.
  • Aviation Engineering showed an excellent technological base during test flights, but they were still let down by the propeller group, and they could not take part in the final. But well done, they arrived as spectators with their apparatus.
  • “IKar” moved around the landfill great, but it was suddenly let down by the recognition of landing sites. Perhaps due to the fact that he had information on the recognition results transmitted over the radio link at a frequency of 915 MHz. Since we have on the roof radio relay equipment of the base station, there could be interference on this channel. If I am not mistaken, their robot was debugged with a different transmitter, and the new one was not tested locally.
  • Everyone who was guided by a magnetometer, that is, a compass, got problems due to the reinforced concrete structures of the building. Unfortunately, not everyone understood this long before the start of the competition. The robots completed the attempt by flying directly to the nearest wall - orientation failure affected. On the other hand, here, for example, the "Universal Mechanism" flew purely on gyroscopes and very accurately.
  • The team from Vladivostok could not lift the robot into the air on the first try and did not even try to do it a second time. I can’t name the reason, but apparently, they realized that something could not be fixed quickly.
  • Ardron "Universal Mechanism" on test flights showed almost perfect results, having successfully completed five of the five test flights and within two and a half minutes. But in competitions, the team in the first flight was let down by the humidity of the training ground, because of this the optical odometry failed, and in the second there was an uncertain wi-fi connection between the drone and the ground station. Both of these problems did not appear on test flights.
  • Possible glare on the pavement after the rain seems to have upset those who flew with optic flow rather than sonar - it's like driving an optical mouse in the mirror.

Our flight

Perhaps it’s worth telling a little about our robot. Our team went beyond the competition, because our company organized it. We set for ourselves three important limitations (they are partly complications):
  • The algorithm should not be sharpened to the ground: it is necessary to solve a class of problems in a universal way, and not specifically this one.
  • No GPS: it is assumed that the robot will be used in the future where the signal may be distorted or absent.
  • All calculations must be carried out on board the robot (work without communication with a ground station, only a single signal is sent from it - to the start).

This is us.
This is our robot
. We had 8 batteries (fortunately, we could afford it), dear lidar, and, just in case, the second robot that was needed to stay in the race if we smash our first one in the tests. On the last runs before the tournament, our drone flew through the maze and back stably for a time from 3.58 minutes to 4.2 minutes. We were just sure that everything with him would be excellent, and he would go the distance.
To our great surprise, the first attempt failed completely - the robot simply did not fly anywhere.

As it turned out in the interval between attempts, the reason is completely banal - we did not provide for duplication of the data transmission channel. All data processing is done on board, so the robot only needs to send a command to start. Only later we get telemetry from him. When we came to the first attempt, we considered ourselves absolutely ready. All the software on the robot was launched, the software on the laptop was deployed, the router was online, but for some reason the command from the laptop to the robot was simply not transmitted. If we had a second laptop or remote, we would urgently send a command from them.

On the second attempt, after restarting the laptop, the robot flew successfully.

We flew in 4 minutes and 1 second.

Here is the video of the first day of flights -

from 2:09:45 - our successful attempt
Before, I wrote how we suffered with the optic flow sensor, because our lidar did not reach the walls. On pre-flight tests, it turned out that the lidar is enough throughout the test site and optic flow is simply not needed. The lidar has a more accurate measurement, that's all, that's enough.

We also had a problem with the algorithm, it is very critical for different types of lighting. That is, if the bright sun shines, falls on the walls, then they turn out brighter than the target itself. To prevent the robot from crashing into the walls, we modified the algorithm in such a way as to discard them and not take them into account in recognition. In tests, we tried to show the robot a lot of bright things with contrasting objects inside - he saw, for example, three targets, and stopped in the air, waiting for the two to disappear. As a result, we played with optical input filters until we got more or less working parameters.

When we made sure that our robot could already carry out the competitive task, we complicated the task: we installed additional partitions at the training ground, and even experimented with flying around the obstacles that appeared in the form of people. Moreover, we were so confident in our abilities that we became our backs to the approaching robot and waited until it circled us.

Here are videos about it. Additional partitions:

And we are in the form of additional obstacles:

Just before the flight, we rejected such a frame: very heavy. But they came up with a wonderful kit from the hula-hoop, which, incidentally, saved us - a little bit touched the wall. Yes, this is the first time in all our flights that the drone has touched anything. Also an accident.

And here we are happy, with our robot and a spare frame.

General impressions

On the last tests before the tournament, I was very pleased that all the teams were quite well-disposed towards each other, quite calmly shared information. Someone advised, for example, to put the camera on the back of the copter, so as not to make an extra turn when searching for a marker. One of the teams managed to realize this before the final.

The second week of test flights was all crammed. Our training ground officially worked from 10:00 to 20:00, but almost every day the flights went until 10 pm, and at the training ground there were 5 teams at a time.


There were a lot of girls.
Please note what are all positive.

Those who walked a good distance can be equally divided into those who had ready-made ArDrone with computers on the ground and powerful algorithms for processing the video stream, and half of the custom solutions that carried different sensors.

In general, the teams that were preoccupied with computer modeling of the behavior of their robot flew the best. It was these teams who had the opportunity to debug navigation algorithms, recognition, without breaking robots, and not coming to the training ground. There were also those who used a hand-written simulator for simulation. This is the 2engineers team - they just took and developed their own simulator - they are game developers, for them, apparently, it was not difficult. I remember that when I was shown this simulator, at first I even said: “No, why are you showing me the video from the camera? Show me the simulator. " And they: “This is the simulator”  From far away it was indistinguishable from what the robot actually transmits from its camera. They just arrived, took our landfill to the camera and put all the textures on their model. И на этом уже отлаживали свой безумный вираж и алгоритм распознавания, и все-все-все.

Many were tempted to add code between attempts or to change parameters. We warned them and asked not to touch anything, to fly a second attempt on the same. The best is the enemy of the good, this is just the case, it is worth making corrections in one line of code and everything will break. After all, there will be no time to check and generally realize what you have done.

At the front desk,
winning team of flying, more serious and worried about the way things turn out
team "Air Engineering" and their robot, which is summed up at the last moment
Weather in the final days let us down, warming blankets, and as they could)
Robot Team ASA we about they called themselves a flying Dutchman

One of the ASovtsy installs the robot on the launch pad.
And here 2engineers are preparing to press the "Start" button.
This is an individual participant, Vitaly Agalakov. Unfortunately, to cope with the task alone was not easy.
Apparently, according to the members of the Railab team, a robot with eyes flies better. It almost helped :)
Fans bask in rugs during a rain break The
captain of the UNION team, for the best video presentation based on the results of the third checkpoint, they received a laptop from us. Selected by the audience.

Hummingbird team robot
And the participants themselves with a robot at the press wall with a lot of logos for the information partners of the contest
Operation to protect themselves from the rain

A participant from iKar sets up his “Dutchman”
Photo for the memory of the “AA robots” team with an unmanned aerial vehicle and at the training ground A
guest who did not fly from Vladivostok
Team 607 came to us directly from Rostov-on-Don, sunny at that time
Team 3 guys 1 bot, last shamanism before a decisive attempt


Here is more detailed about those who went to the finals. Of these, 10 representatives of Moscow and the Region and one each from the Northern capital, Bryansk, Krasnoyarsk, Tomsk, Kazan, Rostov-on-Don, Biysk and Vladivostok.

And this is a comment by the jury of the first day of the final of the competition, Vitaliy Polyansky, deputy for scientific work of the dean of the faculty “Robotic and Intelligent Systems” of the Moscow Aviation Institute (MAI):
«Я не первый год работаю в области беспилотных систем и даже занимаюсь организацией кружков по робототехнике в средних учебных заведениях и МАИ. Но прошедший финал конкурса, судить который мне довелось, действительно удивил и порадовал. Участники смогли за год, совмещая разработку роботов со своей основной деятельностью в учебных заведениях и профильной работой, сделать из традиционно управляемых посредством пульта коптеров совершенно автономных дронов. А некоторые и вовсе построили роботов с нуля, создав уникальные конструкции. И это все исключительно на энтузиазме! Их глаза горят, а значит, конкурс был затеян не зря».

The prize million was taken by the Robodem team from Sergiev Posad . The winner’s drone completed the competition task in 6 minutes and 45 seconds.

On the same video of the first day of flights starting at 32:20, you can see their winning flight:

Here you can watch the video of the second day of flights.

These videos could be watched online, both days there was a broadcast, during which almost two thousand people watched the contest. For example, the statistics of the first day:
Winners after the flight