Race To The Future 2022 - Thomas More
What is "Race To The Future?"
Race To The Future is a racing event organized by PXL Digital. The race consists of 2 heats driven by time. High schools may do this tele-guided with a remote control, colleges and companies solve this with AI and/or computer vision. The racetrack consists of red tubes 110mm thick, which the small race cars have to drive between. Every time your car gets stuck and you have to free it, you are assigned a 15-second penalty time.
Hardware
The race car comes with the following components in the box as standard from PXL:
- Racing car
- Servo
- Motor
- Electronic Speed Controller (ESC)
- Battery 1800mAh
- Spektrum RF Receiver
- RF Sender with steering wheel, throttle and E-stop
- Raspberry Pi 4B 4GB
- 32GB SD card
- Arduino Pro Micro
- USB <--> Micro USB cable
- Adafruit PCA9685 16-channel PWM module
- Buck-Boost converter
- Dupont wires
- Mounting plate for all parts
- Screws, nuts, miscellaneous....
We started by fully assembling the car and mounting the various parts on the mounting plate. Then we found out that the dupont wires were too thin to properly power a Raspberry Pi 4B. As a solution, we took our own wires that were thick enough and soldered dupont connectors to them.
We also had a bumper made and 3D printed at the Thomas More Create Cave so that the car remained free of damage and we didn't get stuck in the red pipes so easily.
Software
We started by using existing software from PXL Digital. This was based on Docker containers and ROS1 (Robot Operating System). After a few days we found out that this was all still running on Python 2 and thus we could not use the latest features. After this, I started rewriting much of the software to Python 3.
In the meantime, 2 fellow students have been hard at work training an AI model on recorded data. At first we got no results from this, but towards the end of the project data started to come out. Unfortunately, this data was too inaccurate to run a race with. Therefore, we prepared an OpenCV backup so that we could finish the race.
Race progression
On race day, Friday, May 13, 2022, we were out early. We spent the whole morning driving laps with the car and fine-tuning it to drive as well as possible. Unfortunately, during the first heat, our success turned into huge problems. The car suddenly stopped responding to our instructions, and when we did get it running, there was a huge amount going wrong with the steering. We finished this heat to then figure out what had gone wrong. While restarting the car, a short circuit occurred in a lower-level component, which broke our Raspberry Pi. We still tried to find a solution at that time, which led us to get a new Raspberry Pi. At that time we did not know that a short circuit was present, and in no time we rebuilt the car with the new Raspberry Pi. But this effort was unfortunately nullified by the short circuit present, whereupon we broke a second Raspberry Pi.
After this, we threw in the towel and started networking with the various companies and scholars present. In retrospect, this was very valuable as all 3 of us were immediately offered internships at Eurofins Digital Testing.
Hardware diagnosis
After the race, in between exams, we looked at, measured and tested the car component by component individually. After this, we found out that the buck-boost converter failed as the voltage regulation slowly shifted upward. This ended up delivering a supply voltage of 7.2 volts to a 5-volt Raspberry Pi, which ultimately killed the Raspberry Pi.
Conclusion
Edition 2023 will come back stronger and we already have a view of what we want to change by then. We also got a huge amount of training data from Eurofins Digital Testing, which means we want to run that edition 100% on AI. We will also make some hardware changes that should guarantee better overall performance.