The objective of my project was to determine the most effective way of controlling a line-following robot in regards to oscillation and speed. I believe that the program that accounts for the most variables and has the greatest range of speed will oscillate the least and will travel the fastest.
A line-following robot was constructed using a microcontroller, motor shield, two geared DC motors, three solderless breadboard wires, an LED, two resistors, a photo resistor, 6 AA batteries and pack, a solderless breadboard, and 6 rubber bands.
After constructing a track of electrical tape on a large sheet of paper, three different programs were written and tested on the track.
Each of the programs were tested with a different colored marker attached to the robot, which allowed accurate measurement and recording of data. Each program completed 5 laps and the speed, oscillation, and wavelength were recorded.
The proportional controller consistently completed a lap in the fastest time and with the least amount of oscillation. The 3-step controller completed the laps significantly slower and had a greater oscillation height then the other two.
The 2-step controller consistently completed the lap the slowest as well as had a greater degree of oscillation then the proportional controller.
The experiment demonstrated that my hypothesis was correct. The proportional controller, which accounts for the greatest number of variables, was the most effective controller at reducing error and increasing speed.
This has significant implications for a wide range of fields. Any technical device that needs to correct errors, can use this program: from rovers, to space shuttles, or even something as simple as an oven.
This project is about programming to reduce error and to increase the effectiveness of a line-following robot.