Train fuzzy controller with Genetic Algorithm for reversing car
Overview :
- Here is sugeno type fuzzy control model.
- The file called “SUGENOwithGA.m” is the main code.
- Following the main code guide, the GA will start to evolve our fuzzy controller to reach our goal!
Our goal :
-
The goal is reversing the car(represented as a triangle, the sharp angle is the head of the car) to the location around
(50,100) with the angle "phi"(calculated from the x-axis to the axis that crosses the head and the tail of the car) around 90 degrees. -
Minimizing "docking_error", which is defined as below:
X_f is equals to 50, Y_f is equals to 100 and Phi_f is equals to 90 degrees.
-
You can find there are a "trajectory_error" in the code, which is only used for seeing how efficiency of the car reversing.
Parameter :
- X is ranges from 0 to 100
- Y is ranges from 0 to 100
- Phi is ranges from -90 to 270 degrees
- Theta(represented as the angle of the tire can rotate) is ranges from -30 to 30 degrees
Insight :
- The probability of mutation should be high. Otherwise, every gene will be same as each other when evolving.
- Always retaining the outsanding gene seems to be a good way.