This project is a simple neuroevolution environment for self-driving cars made in Unity. In our project, each agent is composed of a fully connected neural network that takes in ray-cast data as input and returns acceleration and steering directions as output. Initially, each agent begins with randomized weights and by simulating the process of evolution through a genetic algorithm, agents learn how to drive around any track without crashing into walls.
- Map builder where the user can create their own track and change the spawn point of the agents
- Comes with 3 prebuilt tracks for testing
- Visualization of the ray-casts of each agent
- Adjustable time-scale to speed up / slow down the training of the agents
In addition to the environment itself, a video series was made documenting all the theory associated with this project. For more details on how this project works, visit the playlist here.
To run the project locally:
- Clone the repository
git clone https://github.com/edweenie123/Self-Driving-Neuroevolution.git
- Open the project in Unity 2019.4.7f1
- Project programmed by Edwin Chen
- Supplementary videos made by Edward Song
