Revolutionizing Self-Driving Cars with Neuro-Evolution ๐Ÿš—

Discover the latest advancements in AI for autonomous vehicles through my third and fourth attempts at developing a self-driving car in Grand Prix Version 3.0. Watch the demonstration and see AI in action!

Aniekan Umorenโ€ข370 viewsโ€ข5:30

About this video

A quick demonstration of my third and fourth attempts at developing an artificial intelligence program.

Self Driving Car: Grand Prix Version 3.0 2017/10/27

GENERAL USAGE NOTES
____________________
This program uses *Neuro-evolution to generate artificial neural networks that control the behaviors of self-driving cars.After a few generations, the population learns how to go around the track while avoiding obstacles.Each car has 6 proximity sensors that they must learn to use to navigate through the environment. Each car also contains an additional sensor that tells it whether it is driving in the right direction (CW).

The program has 2 modes: EVOLVE & REVIVE

EVOLVE:
This is the default mode but it can be re-activated by pressing 'E' (Shift + 'e' or CAPS + 'e')

The program begins will an initial population of randomly generated cars consisting of poor drivers. However, after many cycles of reproduction mutation, recombination, and selection, the population will learn to navigate the race track. After each generation, the program saves the DNA of the fittest car in the file titled "fossilRecord.txt", which can later be revived in REVIVE mode.

There are two knobs in the top right corner:
- COLLISION_DMG: controls how much the cars are "hurt" by collisions
- MUTATION_RATE: controls how often mutations occur
It is recommended that you initially turn the MUTATION_RATE dial to the maximum. This ensures that the population does not converge prematurely. Also since the initial population will collide often, it is recommended that you turn the COLLISSION_DMG to the minimum. As the algorithm progresses, experiment with these parameters.

There is a slider in the bottom left corner that can be used to view the Neural Network activity of a specific car in the population. The car that is being viewed will be colored red.


REVIVE:
This mode is activated by pressing 'R' (Shift + 'r' or CAPS + 'r')

In the bottom left there is a text field that can receive the following
commands:
- "new race": remove all cars from the track
- "new course": change the position of obstacles
- "random": randomly pick cars from the fossil record
- "[0-9]+": selects the best car from the inputted generation

This mode allows you to revisit the best cars in each generation. If you would like to revive cars in "fossilRecord.txtโ€ simply change the name of the text file to "revive.txt".

To end the program press 'Q'.

DEPENDENCIES
____________
To run this, you must first install Processing 3(.3.6) as well as the following libraries:
- ControlP5
- Box2DProcessing


* a form of artificial intelligence that uses **evolutionary algorithms
** an optimization algorithm that uses mechanisms inspired by biological evolution such as reproduction, mutation, recombination, and selection.









CODE
Grand-Prix: https://github.com/Anix55/Neural-Networks/tree/master/SelfDrivingCar_GrandPrix
Be sure to open the READ_ME.txt file for a more detailed description of the program as well as instructions on how to run it.

Demolition Derby: https://github.com/Anix55/Neural-Networks/tree/master/SelfDrivingCar_DemolitionDerby

Enjoy!

Video Information

Views
370

Total views since publication

Likes
6

User likes and reactions

Duration
5:30

Video length

Published
Oct 28, 2017

Release date

Quality
hd

Video definition

Related Trending Topics

LIVE TRENDS

This video may be related to current global trending topics. Click any trend to explore more videos about what's hot right now!

THIS VIDEO IS TRENDING!

This video is currently trending in Poland under the topic 'dancing with the stars'.

Share This Video

SOCIAL SHARE

Share this video with your friends and followers across all major social platforms including X (Twitter), Facebook, Youtube, Pinterest, VKontakte, and Odnoklassniki. Help spread the word about great content!