ROBOTICS 101Concept explainer

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:

$$\text{open loop: } u(t) = u_{\text{plan}}(t) \qquad \text{closed loop: } u(t) = K_p\,e + K_i \int e\,dt - K_d\,\dot x$$

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.