Skip to content
/ ai-car Public

A Self Driving Car, written in the Unity game engine, that uses deep reinforcement learning, ray casting and imitation learning to drive around a track on its own.

Notifications You must be signed in to change notification settings

rNuv/ai-car

Repository files navigation

AI Car

Description

For my Independent Study - AI Class, I used Unity's MLAgents toolkit to train a car to drive around a track on its own. Each track has a checkpoint system in which an event is invoked after a car travels through a checkpoint. Each checkpoint event triggers a positive reward to the car agent. Each track also has walls that negatively reward the agent if it collides with them. As for the agent's observations, most of them come from the ray casts of the car (the red lines coming out of the car). To train faster, I also trained the agent with imitation learning, where I had a pre recorded demonstration of the car going aroupd the track multiple times and let the training algorithm use that demo as a reference. I found that imitation learning made the training process faster, but also made the agent learn the mistakes of the demo as well.

Pictures

The initial left and right turn tracks used to train the agent.

The agent (car) is controlling itself and has learned to stay on track.

Technologies

  • Unity
  • C#

Made with <3 by Arnav, circa 2020

About

A Self Driving Car, written in the Unity game engine, that uses deep reinforcement learning, ray casting and imitation learning to drive around a track on its own.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages