A single PID manages all phases of driving. In this mode, the car has a tendency to oscillate on straight track, but it can attain huge speeds. The cause of the oscillation would seem to be the overly simplified measured variable which is simply the difference between the distances to the two white lines.
In this version we simply nagivate the car to the middle of the track, then keep it aligned with the track. This model is extremely easy to implement, and performs pretty much as well as the simple single PID control. It does not perform as well as the modal control below. However, by softening the tolerance for alignment, this model can go really really fast! Warning: At high speeds, babies may start puking in the back seat!
PID parameters are tuned to specific driving modes. In this version, a second sensor provides information about the car's heading as well as its position on the track.
The following modes are implemented:
In this so called modal steering, the car oscillates less, but it loses control earlier than in the simple driving mode model. I'm not sure if better PID tuning would help or not. The PID parameters can still be edited with the buttons on the upper left.
In both cases, the frame-rate is critical and should be as close to 50 as possible. If your browser cannot achieve 50 fps, then you should download the native processing version and try it out!