How to Formula Student AI

The Formula Student AI competition is becoming increasingly popular. The influx of new teams and students spending their time making autonomous systems is awesome. But it’s hard.

EUFS won the FS-AI 2023 competition
Winning the 2023 FS-AI Competition was pretty cool.

I spent two years between 2021 and 2023 in charge of the Driverless Software Team at Edinburgh University Formula Student. We won the AI competition both years, and we were the only team to successfully complete all the dynamic missions over that two year period.

I’ve seen what works and what doesn’t.

This is for the new teams.

Keep It Simple

Drill this into every member of your team. Then drill it in again.

It can be tempting to copy the more established teams when you’re starting out, but that’s a massive mistake. Some of those teams have been working on this problem for 7 years. Trying to do 7 year’s worth of work in a year as a new team is likely to fail.

There are four dynamic events:

  1. Acceleration
  2. Autocross
  3. Trackdrive
  4. Skidpad

Tackle each event in that order. EUFS first completed skidpad 4 years after their first competition. If you try and complete all the events at the same time, you probably won’t do any of them.

When I say keep it simple. I mean it. You don’t need SLAM. You don’t need global planning. You don’t need a fancy IMU, or an expensive LiDAR. Most teams start off way too ambitious and don’t get anything working.

What does a simple system look like?

Camera

Get a stereo camera, or just use the one already on the ADS-DV.

Use the camera to detect the cones, and estimate its distance to the car. The estimates will be terrible, but at slow speeds it won’t matter.

You want to go fast? Learn to walk before you run.

Interface

EUFS has spent hundreds of hours with the ADS-DV and have learned to interface with it. Use it.

Don’t waste your time trying to figure out how to do this yourselves. You will only have limited time with the ADS-DV. Use it to test your software, not to re-invent the wheel.

That’s It

The interface will give you wheel speeds. With the camera and the wheel speeds, you can write something that does acceleration. It’s literally a 75m straight line. Don’t overcomplicate it (but you will need to steer).

Autocross is harder because you have to turn, but you can build on what you wrote for acceleration. Trackdrive is, for your purposes, autocross 10 times. Trackdrive tests the reliability of your software. 10 laps is a long time for something not to go wrong. Don’t overcomplicate it.

That puts you in the race for 450 points. 2nd place in 2023 got 475.

Test, Test, Test

The real world is merciless. If something can go wrong, it will go wrong. That’s why keeping it simple is so important.

Everything is new, so everything probably has a bug in it. The more stuff you have, the more likely something will break, and the less likely you’ll be able to fix before time runs out.

Test the sh*t out of what you do have.

Put it through its paces. Make tests for it. Test each piece individually. Then as a whole. Then individually again. Use a simulation (like eufs_sim). Cover all cases. Then come up with new ones.

Try and get access to the ADS-DV. Use as much time as you have with it to test everything in real world conditions. Record the sensor data so you can test offline too.

Remember, focus on completing one event at a time.

Conclusion

Don’t try and come out of the gates flying. Don’t look at the established teams and ignore the 7 years of pain that they’ve had to endure to get to where they are. Don’t put the cart before the horse.

Learn to walk before you run. Trust me.