After more than a year of diligent development of the first autonomous formula in the Czech Republic, the eForce Driverless team qualified for several races of the 2020 season organized by the representation of the Formula Student competition. Among them were, for example, the very prestigious FS Germany races and also the popular domestic FS Czech Republic traditionally held in the Autodrome Most complex. All competitions were to be held during the summer of 2020, however, due to the pandemic situation, to our great disappointment, they were all canceled into one.
As a replacement, the organizers of the Hungarian FS EAST races and the Dutch FS Netherlands managed to organize the very first virtual Formula Student Online race, for which we qualified without hesitation. Outside of us, for example, a joint team from MIT and TU Delft qualified. The race took place in July of this year and in this article we would like to show you how our very first and only race in the 2020 season went.
FS Online was a very unconventional race, as it was organized online. Because the coronavirus did not allow us to race real formulas on a real track, we raced with virtual formulas on a virtual track.
The organizers of the race prepared a simulator for the participating teams, in which the forces of our control algorithms were measured, which were given the task of controlling the virtual formula and safely crossing an unknown track with it.
As in real races, the track is marked by yellow and blue cones. The goal of the race is to cross this track without going off the marked route or knocking down the cones as quickly as possible and stop safely at the end of the formula.
In order to successfully cross the track, it was necessary to deploy a number of control and recognition algorithms. These include, for example, algorithms for recognizing cones on the track, an algorithm for planning the optimal route through the detected track and algorithms for controlling the formula itself - speed control, wheel turning, etc.
Preparation for races
The preparation before the race consisted of two parts. First, we needed to modify our existing formula software to be able to communicate with the simulator provided to us by the organizers. This was crucial, because if we could not control our formula in the simulator, all the work on recognition and autonomous control would be wasted.
In order to have a chance of success at FS Online, it was necessary to tune our autonomous system for the virtual environment in which the races took place. This was necessary mainly because the organizers provided us with only certain virtual sensors that could be used. Among them were cameras, LiDAR and an inertial unit (IMU).
Cameras are very widely used in the Formula Student competition, especially for their low price. Even our autonomous system was built exclusively on cameras in front of FS Online. When using cameras for autonomous control, we distinguish two basic types. Mono and stereo cameras.
Mono cameras are classic cameras that you know. The cameras record color video. The problem with these cameras is that they do not have enough information to reconstruct the 3D position of objects in the scene from the recording, which is needed to locate the cones. If we saw a cone on the track in such a camera, we would not be able to clearly determine how far it is. Stereo cameras solve this problem by combining two mono cameras that are synchronized and their relative positions are known. If both cameras are looking at the same object in the scene, it is possible to determine its 3D position. This principle is similar to the principle on which the human eyes work. Our system was built on stereo cameras, thanks to which it is possible to obtain relatively accurate cone positions.
Close-up shooting with stereo cameras
LiDAR is a device designed to map the terrain using laser beams. Unlike cameras, LiDAR does not mean a 2D image of the scene but a so-called point cloud. LiDAR emits a laser beam and, based on the reflection time, can determine the distance to the object from which the beam was reflected. Each such reflection is one point in said cloud of points. The more beams LiDAR emits, the more accurately it can map the surrounding terrain. Compared to cameras, LiDAR has advantages in much greater range and greater accuracy. The disadvantage of LiDAR is typically a much higher price compared to stereo cameras.
An IMU, or inertial unit, is a device that combines accelerometers and gyroscopes that can measure the speed, acceleration, orientation of a formula, and moving objects in general. IMU is useful mainly for determining the position, but it is usually relatively inaccurate and needs to be combined with other sensors - such as GPS.
We decided to deploy LiDAR for FS Online races. An alternative was to use mono cameras, but there was just the problem of not being able to get 3D cone positions. The decision to use LiDAR was a risk, because at that time we were just starting with LiDAR and we did not have any algorithms developed for it. The first problem also turned out here - the virtual LiDAR could not provide intensity information. Intensity is simply the energy with which a given beam bounced off an object. Since each color absorbs a different amount of light, the reflected beam will have a different intensity depending on the color of the object, which can be used to determine the color in the case of cones.
The color of the cone is very useful because it greatly simplifies the work of the algorithm that plans the optimal route. He must know correctly whether the route actually leads inside and not outside the track. Thanks to the fact that the yellow cones are always on the right and the blue on the left, planning is all the easier. Even without color information, however, a new planning algorithm was designed that did not need to know the colors of the cones.
At the same time, it was also necessary to design algorithms for detecting cones in a point cloud. Cones are relatively small objects and therefore are usually represented in a point cloud as only a small number of points. Typically, even just 5 points from one cone will bounce. Robust algorithms were used for detection, which combined filtering of uninteresting points and clustering of points that belonged to one cone. The result was a relatively fast algorithm that could reliably detect cones on the track.
Finally, a mapping algorithm specially developed for the FS Online competition was used, which was able to build a map of the route using data from IMU and LiDAR. This again helped with planning and control algorithms that could calculate more optimal routes with the knowledge of the whole map.
With a large sleep deficit, we managed to get our system into working order the day before the race. Now it was time to see if our hard work was worth it.
The races themselves took place over three days. Every day we faced a new track whose difficulty gradually increased. The rules allowed modifications to be made during the races, so every day after our formula ended the race, we continued to improve until the morning of the next day, when it was necessary to upload the final code for the day.
After several problems during the first two days, when unfortunately we were not able to run the whole track due to a software error, we managed to go the whole track and finish the race on the last day to the third of all good as the only team!
Formula Student Online was a clear success for us, as it was the first race for our autonomous team and despite some problems during the first two days, we proved that our formula is able (although virtually) autonomously to cross an unknown track only based on sensors and our clever algorithms. These plants also showed us how useful LiDAR can be and gave us a basis for further development and integration of LiDAR into our autonomous system.
The simulator created for FS Online proved to be useful even after the races were over, for the further development of our formula. We can easily test the recognition of cones from cameras and LiDAR, control and planning algorithms and much more.