This Robot was Programmed using an Arduino and the Arduino IDE to be able to recognize a black line on a white surface and follow it on a number of different tracks as demonstrated in the videos below. Our team of 4 put together this robot using our skills and knowledge of 3D design, circuitry, and programming.
The robot uses a photoresistor array and an LED to illuminate the track and measure the intensity of the light reflected back so our program could monitor where the black line was relative to the front of the robot. We included a motor shield to control the output speed of our motor and used PID (proportional integral derivative) control implemented through our code to make the two motors on the different wheels spin at different speeds, allowing the robot to turn. The 3D printed frame was what held everything together, and we made ours extendable so it was possible to see how the distance between the photoresistor sensors and the back wheels could possibly benefit our performance. We went through numerous iterations of our design (as can be seen in the CAD gallery below) and finally settled on one we were proud to call our own. Scroll down to see more details on the design process.