Machine learning and PID controller allow us to control an autonomous car to drive around an object.
How does it work?
1) MACHINE LEARNING: In this project we will create a NEURAL NETWORK with "Python" and copy its weights to a network with forward propagation on the "Artemis RedBoard ATP" board programmed with "Arduino IDE", and that will allow the robot car to drive alone and without hitting the walls. We will have four inputs, three correspond to 3 analog infrarred sensors and the fourth is for the BIAS. We will make the neural network have 4 outputs: two for each motor, since to the L298N driver we will connect 2 digital outputs of the board for each car motor. In addition the outputs will be between 0 and 1 (depolarize or polarize the motor).
2) PID CONTROLLER: In this phase, also we will use the same 3 analog infrared sensors, which detect the distances at which the walls are, one in front and two on the left and right sides. The robot uses PID controller to maintain a central distance between the left and right walls. If the robot is near the left wall, then it can decrease the speed of the right motor and increase the speed of the left motor, to make the robot move to the right, and moving away from the left wall, and vice versa. The speeds are controlled by means of PWM signals to the two gearmotors.