A more specific overview of the robot. Showing the various components in more detail.
There is not much to add about the sensors or the chassis, as the progress is nearly identical to the one described in the introduction. The video also covers the beginning of the software. The main challenge so far was to get the sensors to output reliable RGB values. I resolved these issues by dividing the “raw” RGB values (that are outputted from the sensors), by their sum. That calculation gives a fraction, the scaled RGB values. These are not affected by the strength of the power source.
Additionally, I talk about controlling the robot’s position above the line using a PID controller. While I’m not going to explain what PID is (google may be your best friend here), I am talking a bit about it. I have created the algorithm from scratch, not using a library. So far I have had little success with it, but because of the fact it is basically working, I’m positive about its future. A certainly better future than one of a solely proportional controller. A controller that corrects the error (between the center of the robot and the line’s position) only by a constant factor, not paying attention to the accumulating change over time or any rapid, and sudden, changes. Such a controller can cause oscillations.