Project Tuatara - Autonomous car competition

With a friend of mine, Armand du Parc Locmaria, we are participating in an autonomous car competition. We are trying to make our car go as fast as possible using deep learning.

Armand built the car and has done everything related to the hardware. I was more focused on model training and the simulation environement.

Regression of the center of the road

Our first approach was to use a neural network to predict the center of the road. We trained a CNN on images of the road we gathered from the car and we labeled the center.

Road Regression

We used ResNet34 as our CNN. It was pre-trained on the ImageNet dataset.

sim2real

Our second approach was to train the car in the donkey gym environnement.

Road Regression

We used SAC and PPO as our algorithms using stable-baselines3. We also used wandb to log experiments.

We also tried our first model in the simulation which, to our surprise, worked pretty well.

You can find the code on github here.

Challenges

One of the biggest challenge is that our model needs to be able to adapt to any road. The competition is not always in the same place and it’s obviously different from where we train.

To overcome that, we tried data augmentation.

Data augmentation Example of data augmentation on a batch

We tried channel inversion, random grayscale, random motion blur and random erasing.

Thanks to this, the mean episode duration has a little bit increased, which means less crashes but it is still not satisfying.

Technologies used