This is simple line following robot with minimalistic hardware; Controll algorithm is derivated from PID, improved for this application to two PDD2 controllers (proportional - derivative - 2nd derivative) switched with fuzzy multiplexer. Six controller constants were geneticly calculated on mathematical robot model in Ruby.
I would like to see the code. Any chance? And more info about the geneticly calculated robot model would be useful too. Furthermore an artificial neural network is substantially different from a genetic algorithm, but could be used instead of backpropagation to train the network…Really, we need more info. Thanks.
1) speed - traditional P controller, depend on moving average error value
2) diferential - neural network
My neural network controlls diferential. I used two linear neurons with three inputs, and connected them together with fuzzy multiplexer.
Output controlls motor’s speed difference :
fuzzy mux : Y(t) = S(t)A(t) + (1-S(t))B(t);, where S(t) = <0, 1>, and depends on speed value 0 - min speed, 1 - max speed (interval!, not just two values). This mux is with only 1, 0 values equivalent with digital multiplexer.
where A(t), B(t) are controllers (or linear neurons) :
Hi, I’m really interested in your project. I’m doing the same project at school and I want to apply neural nets as well. I have read some books and watched some tutorials about NN but still don’t know how to implement these into line follower. You said that the six controllers constant were genetically calculated on mathematical model. May I ask you what robot model you used? and would you mind giving me more details about fuzzy mux? Thanks in advance.