Skip to content

anthfgreco/evolutionary-racing-ai

Repository files navigation

GitHub Last Commit

Logo

Evolutionary Racing AI

Watch cars learn to drive using neuro-evolution.

Demo: evolutionary-racing-ai.vercel.app

About

The aim of this project is to visualize the evolution process of a car learning to drive. The neural network of the car is trained using neuro-evolution, a genetic algorithm that uses a fitness function to determine the best neural networks.

Built With

  • React for user interface, changing simulation variables, and displaying stats
  • p5.js for racing visualization
  • TensorFlow.js for neural networks
  • Base Web for styling and React UI components
  • Vite for snappy React development

Development

  • Clone or fork project then navigate to the project folder
  • Install dependencies with npm install
  • Run development server with npm run dev

Roadmap

  • Drifting physics
  • Migrate from ml5.js to TensorFlow.js
  • Drivable car to race against computer
  • Load pre-trained neural net
  • Explanation + helper text below canvas
  • Control panel to change simulation variables
  • Port to React
  • Option to change map to see if car can generalize or if it overfit
    • Use different maps each generation to prevent overfitting
  • Buttons for racing current best AI and pre-trained AI
  • Graph or table of best fitness over time
  • Publish to GitHub Pages or Vercel

About

Teaching a car to drive using neuro-evolution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published