Application of Neuroevolution in Autonomous Cars
  With the onset of Electric vehicles, and them becoming more and more popular,
autonomous cars are the future in the travel/driving experience. The barrier to
reaching level 5 autonomy is the difficulty in the collection of data that
incorporates good driving habits and the lack thereof. The problem with current
implementations of self-driving cars is the need for massively large datasets
and the need to evaluate the driving in the dataset. We propose a system that
requires no data for its training. An evolutionary model would have the
capability to optimize itself towards the fitness function. We have implemented
Neuroevolution, a form of genetic algorithm, to train/evolve self-driving cars
in a simulated virtual environment with the help of Unreal Engine 4, which
utilizes Nvidia's PhysX Physics Engine to portray real-world vehicle dynamics
accurately. We were able to observe the serendipitous nature of evolution and
have exploited it to reach our optimal solution. We also demonstrate the ease
in generalizing attributes brought about by genetic algorithms and how they may
be used as a boilerplate upon which other machine learning techniques may be
used to improve the overall driving experience.
