GithubHelp home page GithubHelp logo

fordevoted / self-driving-car Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 86 KB

fuzzy rule / RBFN (GN) / RBFN (PSO)/ RBFN(GN PSO)

Java 100.00%
self-driving-car pso-algorithm gene-algorithm fuzzy-logic fuzzy-systems

self-driving-car's Introduction

Self-driving-car

Self-driving car is a program, which implement PSO/GA/fuzzysystem algorithm by Java. GUI implement by using JavaFX. fordevoted

OverView

Self driving car is automobile's trend nowadays, and this program use three algorithms to accomplish the task. In this program, you can load another map files, the auto will drive to destination by itself.
the button introduction is following:

  • Open Map: Only you want to load another map, clicked the button. It willopen maps file, and draw the maps.
  • Open Solution: Open solution file(4D, 6D are accepted), auto will drive accroding to solution file and draw the driving path.
  • Run : CAUTION: before clicked this button, you need to train model or load the solution. Auto will drive by itself. You can cliked it many time for one map, but it will be broken when you click button during car is driving.
  • Train: open training dataset, and train the RBFN (if use RBFN)
  • Load Traing Result: load the RBFN parameter.
  • Save training Result: save the RBFN parameter.

Maps format

0,0,90
18,40
30,37
-6,-3
-6,22
18,22
18,50
30,50
30,10
6,10
6,-3
-6,-3

first line is beginning(x,y,φdegree)
2,3 line indicate destination position
line 2 is left-higher point(x,y) in the region
line 3 is right-lower corner(x,y) in the region
the point (x,y) of rail will show in line 4 to the last line
last line will be same to line 4 to form a enclourse rail
the beginning right-higher corner is (-6,-3);left-lower corner is (6,-3)
beginning is (-6,0) -> (6,0)

Usages

Choose the self driving algorithms, and download the folder, then use Java compiler to compile.

Feature

I used fuzzy system to decide the turning degree and direction of the auto, and implement 4 different algorithms to decide the turning degree by input the three detect distance of right, front, left.

Fuzzy Rule

Design 5 fuzzy rule to decide the decide the degree.

RBFN (GN)

Used RBFN to decide the turning degree, input 3 detect distance, output the turining degree, and train the RBFN by using genetic algorithm.

RBFN (PSO)

Used RBFN to decide the turning degree, input 3 detect distance, output the turining degree, and train the RBFN by using PSO algorithm.

RBFN (GN PSO)

Used RBFN to decide the turning degree, input 3 detect distance, output the turining degree, and train the RBFN by using PSO-GN algorithm.

License

Fordevoted

NCU CSIE | 105082015 | 陳昱瑋

Contact

[email protected]

self-driving-car's People

Contributors

fordevoted avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

ambei

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.