A self-driving car implemented with neural networks and genetic algorithms (AI Course Project)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



A self-driving car implemented with neural networks and genetic algorithms (AI Course Project)

This project is a study (and a implementation) of neural networks potentials in a context where a car learns itself how to drive into a set of circuits. Connected with the developed neural network there is a genetic algorithm based on "Darwin's natural selection law".


The entire work has been made using the Unity3D Game Engine 4.0 (http://www.unity3d.com) and Trimble Sketchup (http://www.sketchup.com). The reason of this choice is that we needed an easy way to represent 3D models with physical properties, but there are no limitations to develop projects like this in other ways, languages or systems.


For non-Unity users, you can still try Carwin by opening carwin-build/carwin-build.html sample page. You only have to install the Unity Web Player.

For hackers equipped with Unity3D 4.0, open carwin-unityproj/Assets/defaultScene.unity to have full control of this project.
The source files you are probably interested to are in Assets/Scripts/CarControl folder. Read carwin-buzzoni_francesconi2012.pdf for more informations. Enjoy!

During the simulation you can use the following keyboard shortcuts:

  • Numbers from 1 to 4 to change the track
  • UP-arrow to enlarge the camera view

The following commands are available only through the Unity3D editor:

  • S to save the overall best chromosome in an external file "bestchr.txt"
  • R to restore the saved best chromosome and apply it to the current simulation (enters in SHOW MODE)


We are two students at University of Bologna, Computer Science Department. This project belongs to the Artificial Intelligence course.