So, my basic plan for line following is to get the robot moving as quickly as possible on a regular line, and then try to make it deal with all the nasty business (gaps in the lines, acute angles, etc…) at that speed. If it doesn’t work, I’ll back the speed down. I’m hoping that this approach will end up with a faster robot than starting from slow and then trying to speed it up.
In order to try to follow the line at speed, I’ve got a simple PID routine running. It takes the front 8 sensors and aggregates it into a single number ranging from 1000 to 8000 (1000 being a line detected on the far left, 8000 being on the far right) and a nice range of values between.
This is the current state of it: