Minicar Challenge

The ADL Minicar Challenge is a yearly software competition held by ADL and the Institute of Computer Science. The task in this competition series is to create a software solution that can autonomously drive a toy car based on visual inputs.

Most of the solutions apply some form of data science, very often machine learning and artificial neural networks to solve the task. However, any software can be used, including hand-written rules and commands. We call it a software competition because upgrading the hardware is not allowed.

We strongly believe that self-driving with toy cars is an awesome way to learn the entire life cycle of data-driven solutions. In common data science student projects the data acquisition, cleaning and model deployment phases are omitted. In here, the student will be responsible for the entire process from data collection to multiple iterations of deployment and learning from failures. Having a solution successfully deployed in the real world looks good on any CV.

Competition in January 2023

Results of the 2023 competition:

1st place: Yevhen Pankevych and Volodymyr Savchuk, score 0.068, github
2nd place: Mihkel Lepson and Artur Tuttar, score 0.054, github
3rd place: Pavlo Pyvovar, score 0.020, github

The hardware platform was DonkeyCar. The rules give a good idea of the task. The main task was driving in a toy town with the challenges of avoiding pedestrians and static vehicles. Three new elements were introduced in addition to Task 1 from the 2022 competition:

  1. giving way on a pedestrian crossing,
  2. giving way to a vehicle on the right on a T-shaped intersection
  3. adhering to "entering one-directional street" and "stop" signs.
Participation in the competition could yield 6 ECTS if you register to the course Autonomous Vehicles Project LTAT.06.012 (link). It could also serve as a course project in other courses, e.g. Machine Learning, Neural Networks, and Introduction to Data Science.

We used the DonkeyCar S1 platform. These cars come equipped with a frontal camera which is the main sensor. They also have an IMU (inertial measurement unit) that can but doesn’t need to be used. The car is a 1:10 scale compared to a real car. Changing car hardware is not allowed in this competition. The existing codebase is really user-friendly and you can start collecting data in 10 minutes and training a neural network model in less than an hour.

The minicar

DonkeyCar S1 is a 1:10 scale toy car, equipped with a camera, raspberry pi and a remote control board. It comes assembled and functional, no hardware skills are needed to use it. It has a strong and responsive community in Discord.

The DonkeyCar:

- Has a mobile app that allows you to get driving with the car in less than 10 minutes. Driving means collecting human-driving data that AI can learn from!
You can train a type of model within the app, without even having to install anything on your computer. You just drive around and based on the recordings of your driving, you can train a model to imitate you.
- The car can be controlled via a mobile app, web application or a game controller. You can choose when to record, if to delete the last 100 frames (in case of behaviour you don’t want the model to learn, e.g. you crashed the car) and so on, either via application or via buttons on the controller.
- For more advanced models, there is a codebase that allows you to transfer recordings from the car to your computer, train a model in your computer or in Google Colabs, transfer the code/models back to the car and launch them.
- The codebase supports multiple model types.
- The cars can be configured to connect to any wifi network, being in the same network you can connect to the car via ssh if you know the device name.
- The battery lasts for a few hours of driving, but is a fire hazard and needs to be kept in fireproof bags when not in use. Please adhere to the safety rules regarding the batteries.

Based on prior projects, a few more words about the capabilities and limitations of the hardware:

  • - 180-degree turning diameter as measured by outside wheel 140-160 cm, depending on the car
  • - Cannot maintain speed when hardware heats up (need to manually turn up throttle)
  • - All driving so far has been done with end-to-end systems. So far only steering has been controlled, but it is possible to control speed too, it just needs more data to learn.
  • - Can compute simple CNN prediction in 40ms, enough frequency for driving
  • - Can be taught to drive between walls, or follow a line. Can avoid obstacles. Can adhere to commands "turn left, turn right" or other similar (drive slow), but this takes more  data collection.
  • - Can be taught to give way to another donkey coming from the right
  • - Can drive indoors and outdoors
  • - Quite sensitive to light conditions, as expected

Competition in January 2022

See more here.

In January 2022 the second competition was held with DonkeyCars. There were two tasks: object avoidance and route completion. The main prizes for each task were 1000 euros.

The rewarded teams were:

Task 1: object avoidance and lane following promo video
1st place: Rustam Abdumalikov and Aral Açıkalın winners run
2nd place: Mike Camara
3rd place: Kristjan Roosild

Task 2: route completion pr video
1st place: Rustam Abdumalikov and Aral Açıkalın
2nd place: not awarded
3rd place: not awarded

Competition in January 2021

See more here.

In January 2021 the first competition was held with 1:25 scale cars on a racing track. The winning solution completed the track in both directions with clean driving and great speed.

The rewarded teams were:
1st place: Leo Schoberwalter (video1, video2, video from onboad camera)
2nd place: Enlik and Handy Kurniawan (video1, video2)
3rd place: Thamara Luup, Mykyta Baliesnyi, Aleksasha Krylov (video1, video2)