Giter VIP home page Giter VIP logo

evolutionary-cars's Introduction

Evolutionary cars

This is the repository for the project of the course sistemi intelligenti robotici (intelligent robot systems), University of Bologna, A.Y. 2017/2018.

Goal of the projects

The project aims to design and implement a system in which 2D cars learn to drive on a circuit through an evolutionary robotics approach based on neural networks.

General description

  • Every car is equipped with five proximity sensors, which are placed in the front side. Each sensor provides the distance between the car and the nearest object in a certain direction.
  • Every car is driven by a feedforward neural network. The net takes the five sensor values as input, and provides two value as output: the engine force (speed of the car) and direction.
  • The neural net's weights make up the genotype of the car. They are initially set in a random way, and then evolved through a genetic algorithm.
  • The genotype quality is given by the distance traveled by the car.
  • In the evolution phase the genetic algorith performs selection, crossover and mutation to create a new generation of genotypes. More details will be provided in the project report.

Simulation

We used Godot and C# for simulating the car races. We created four different circuits with different difficulty levels. If you wish to run the simulation by yourself you will need Godot with C# integration. Be aware that running the simulation on the toughest circuits will need several minutes. There is no way to speed up the simulation yet.

Examples

Easy circuit

easy

Medium-easy circuit

medium-easy

Medium-hard circuit

medium-hard

Hard circuit

hard

evolutionary-cars's People

Contributors

manuelperuzzi avatar ggraffieti avatar maffone avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.