Open-Loop versus Closed-Loop Control
An open-loop controller follows a plan without checking the result: drive at this speed for this long. A closed-loop controller measures where it is and corrects. Open loop is simple, but anything unexpected throws it off.
The difference
Open loop computes the command from the goal alone. Closed loop uses the error \(e = x_{\text{goal}} - x\) at every moment:
The integral term is what removes the last bit of error against a steady push like a headwind.
What to notice
With no wind and no wheel error, both robots stop at the flag. Add a headwind or a wheel that turns 10 percent fast, and the open-loop robot stops short or overshoots by an amount that grows with the error. The closed-loop robot keeps correcting and ends near the flag either way. Push both mid-drive and only the closed-loop robot recovers. The price of feedback is a sensor, and a controller that has to be tuned so it does not oscillate.