Competition “Unmanned tram against driver” through the eyes of a developer
Every year Gorelektrotrans and every two years throughout Russia hold competitions on the professional skills of tram drivers. It must be said that these competitions are quite difficult, because to participate in them you need to drive for a whole year without violations, not have a single accident, and actually be among the top three drivers in your fleet. The next stage – the best three people from each park compete with representatives of other parks at the citywide level. The total number of participants in the final is 18 people. Such is the difficult multi-stage selection on the way to the top and the title of the best car driver 2024.
The tests themselves consist of several stages:
• Assessment of theoretical knowledge of traffic rules;
• Assessment of theoretical knowledge of tram acceptance rules;
• Assessment of practical skills in driving a tram at the stage of high-speed driving;
• Assessment of practical skills in driving a tram “for smoothness and comfort of driving.”
We (the Cognitive Pilot company) were also asked to participate in this event, since we are developing tram driver assistance systems that are used in St. Petersburg Gorelektrotrans. Today, more than 200 smart trams with our system transport 60 thousand people daily in St. Petersburg.
The competition was held at the second site of Tram Park No. 5 on Shavrova Street. The route as a whole was typical and consisted of several points: the start of the movement, a stop, a speed limit zone, an arrow, an emergency stop at a randomly turned on traffic light (on the second pass without one), the sudden appearance of a person (on the second lap) and the finish.
All items that have a clear purpose must be accompanied by certain actions and commands from the driver. The positioning accuracy of the tram is also taken into account (in the photo below you can see boards on the ground with zones – white, red and green). Based on the results of work at each point, points are assigned.
![Paragraph "Start of movement" Paragraph "Start of movement"](https://habrastorage.org/getpro/habr/upload_files/eaf/860/a8a/eaf860a8a96966728f8efd666ef11ed4.png)
![Paragraph "Stop" Paragraph "Stop"](https://habrastorage.org/getpro/habr/upload_files/366/344/761/36634476146648c8202a4b75805b182b.png)
![Paragraph "Arrow" and two curves with speed limits Paragraph "Arrow" and two curves with speed limits](https://habrastorage.org/getpro/habr/upload_files/f56/58f/b9e/f5658fb9e35e7d83ca8bd61879d9e600.png)
Next, you need to accelerate strictly to 40 kilometers per hour (controlled by an external radar) and urgently stop at a randomly appearing red traffic light. Three traffic lights are installed. At the same time, the distance between the sensor that detects crossing the line and the traffic light is only 20 m.
At the finish line, the accuracy of positioning and the correct execution of commands by the driver are also assessed.
Similar actions must be demonstrated on the second lap to ensure smooth running with a water container installed on board. In this case, on the second lap the “Traffic Light” exercise is no longer performed.
![Container with water) Container with water)](https://habrastorage.org/getpro/habr/upload_files/77b/015/873/77b0158736056622bd0887981cbb04e1.png)
It should be noted that the competition for drivers is not something ordinary and trivial; the tension and excitement of the moment affects it. So, for example, errors are made in positioning over the shield (because it is not visible due to its dimensions), incorrect actions take place at points, there are violations in the speed of movement on curves (someone even counts the time of movement to themselves in order to accurately meet to the standard), emergency braking at a traffic light is perhaps the most difficult exercise (some do not reach the set speed, some overdo it, some lack reaction).
![When approaching the start When approaching the start](https://habrastorage.org/getpro/habr/upload_files/231/31a/92d/23131a92dbd4bbc9d9686f096ff916a1.png)
Of course, the robot has obvious advantages: the absence of “competitive” jitters, unlike the jitters of its developers)) therefore, voicing commands, opening doors, flashing emergency lights, sound signals and performing other events at each point, of course, is not a problem for him.
From the point of view of positioning, there are also obvious advantages, because the high-precision GPS mode allows you to position with an accuracy of several centimeters, although taking into account the performance of “braking”, the difference may vary, especially at high speed, but in general the statistics were on our side, and we had no special mistakes didn't notice.
![Stops at different points along the route Stops at different points along the route](https://habrastorage.org/getpro/habr/upload_files/151/3a4/0b9/1513a40b9ae24dc710f6667dd2827a7e.png)
Strange as it may seem at first glance, despite the apparent simplicity, we were not able to perform the movement along the curve flawlessly. During training, we drove either a little faster or a little slower than the ideal time. At first we managed to achieve an “ideal” result, but after the tram was sent for wheel boring, we were unable to repeat the result. The algorithm set the handle to ensure a speed in the range of 5 kilometers per hour, but since there is quite a lot of friction in the curve, maintaining the set speed was actually carried out in the range of 5-6 kilometers per hour, and since we are talking about seconds (for the second curve) and fractions of seconds ( for the first), then we still received several penalty points.
The traffic light test turned out to be quite difficult for us. First of all, emergency braking is not a completely normal operation of the braking system; during it, the shoes of the rail brake fall onto the rails, sand pours in, and at a speed of 40 kilometers per hour, the tram and its visitors experience a braking acceleration of several meters per second squared. If there is something lying on the seat or floor in the cabin, it successfully flies off and hits the wall (this is how we broke one of our laptops, which we forgot to fix). In addition, emergency braking cannot be repeated often and constantly, since the wheels wear out very quickly. After rain or uncleaned sand on the rails, the tram goes into a skid, which increases the braking distance. We had to tune the settings of the traffic light recognition algorithm that we use in ADAS, since additional cumulative filters, matching filters and other mechanisms introduced a delay, which was critical at such a speed. After minimizing them, we began to successfully perform this exercise. During the control test, we received several penalty points for hitting a line of about 5-10 cm, which, in general, we consider an excellent result, since more than 30 percent of the competitors objectively fail to cope with it.
On the second lap, it was necessary to perform the same exercises, but at the same time not to spill water in a glass, and instead of emergency braking at a traffic light, stop in front of a person on the tracks. In general, we did not have any problems driving without spilling water from a glass, and it seems that this exercise was not difficult for tram drivers, and the case of stopping in front of a real person, in general, is a solved problem for us. We use two cameras and see his location far away, so even at a speed of 40 kilometers per hour it is quite doable. Although it must be said that when you are standing on the tracks and a tram is moving towards you at such a speed, it seems that it is time to leave, and there is no time left to check the system)) otherwise it’s kaput. Therefore, without preparation, such an exercise, primarily based on the human factor, cannot be done; you need to firmly stand your ground)) i.e. on the tracks.
![Stopping in front of a person Stopping in front of a person](https://habrastorage.org/getpro/habr/upload_files/fe5/590/f0b/fe5590f0b38181b603b88edfe8e566c8.png)
Thus, of course, we did not achieve an ideal result and did not become top 1, but we were among the top five winners. For us, developers, of course, this was not the main thing; first of all, we proved to ourselves that:
Firstly, we used absolutely prod code without crutches and any special features for competitions. Only what we use in driver assistance systems.
Secondly, they did not reset, reset, or transfer the algorithm to any other operating modes or other settings on each test. Everything worked on the same settings, and when we were asked to drive around with the reporters a few more times, we didn't have a headache that anything might go wrong.
Thirdly, we did everything honestly, because we stood with everyone on the set and worried about our “robot”, because despite everything, there is a chance that he will perform something not according to the script).
I can’t help but say a few words about our customer – Gorelektrotrans. Director – Minkin Dmitry Yurievich – he is a true fan of his business and a great engineer at heart, he has assembled an amazing team of managers and administrators who, despite all the difficulties, lack of proper funding, bureaucracy and personal time, rush around with all the innovators to achieve ambitious goals. Therefore, it is really very pleasant to work in such a team, when no one takes into account their own goals and pursues only the goals of the team, we need to stay and do something again, so we do it! We need more such understanding people inside the country.
![Our fans Our fans](https://habrastorage.org/getpro/habr/upload_files/594/da6/a48/594da6a4801a3ce370303897626453bb.png)
Video from the interior when stopping at a traffic light
Some links on the topic from the web
News from St. Petersburg State Unitary Enterprise “Gorelektrotrans” on VKontakte