Skip to main content
onepocketRobotics

Control & Navigation

Control Systems: Open and Closed Loop

The difference between commanding a machine and controlling one. What feedback buys, how to read a step response, and why every real loop is fighting delay.

intermediate · 13 min read

Lesson content

There are exactly two ways to make a machine do what you want.

Open loop: work out the right command, send it, and hope.

Closed loop: send a command, measure what actually happened, and correct.

The difference between them is a single wire, the one carrying the measurement back.

That wire changes everything about how the machine behaves the moment the world stops cooperating.

The same parts in the same order, twice. The second drawing adds the measurement coming back. Underneath, one machine is given one sudden load, and the two curves are what each drawing does about it.

Definition

Open-loop control

Send a command and assume it worked. Nothing measures the result.

Formal definition

A control scheme in which the control action is independent of the process output.

Definition

Closed-loop (feedback) control

Measure the output, compare it with the target, and act on the difference.

Formal definition

A control scheme in which the control action is computed from the error between a reference and the measured process output.

What does feedback actually buy, given that it adds cost and complexity?

Three specific things, and they are worth naming separately.

It pushes back against disturbances. Something knocks the system off target, and the controller notices and corrects for it, without ever having been told that the disturbance exists.

It tolerates a wrong model. An open-loop controller is only ever as good as its assumptions. A closed loop measures reality instead.

It copes with change. As a battery drains, a gearbox wears or a payload varies, an open-loop calibration quietly goes wrong. A closed loop just works a little harder.

What does it cost? A sensor, and the possibility of instability.

That second cost is a real risk rather than a footnote. A feedback loop can amplify its own corrections until the machine shakes itself apart.

Needs a sensor

Open loop
No
Closed loop
Yes

Handles disturbances

Open loop
No
Closed loop
Yes

Needs an accurate model

Open loop
Yes. The model is the whole system
Closed loop
Less so

Can go unstable

Open loop
No
Closed loop
Yes

Cost

Open loop
Low
Closed loop
Higher

Examples

Open loop
Stepper motor, microwave timer, toaster
Closed loop
Servo joint, thermostat, cruise control

How a closed loop behaves is described by its step response. Command a sudden change, then watch what happens. Four numbers describe the answer, and they trade against each other.

Rise time

How long it takes to get most of the way there, usually from 10 % to 90 % of the change.

The obvious measure of speed. Push it too low and you buy overshoot.

Overshoot

How far past the target it goes before coming back, as a percentage.

Sometimes harmless, sometimes a collision. On an arm approaching a fixture, any overshoot at all is unacceptable.

Settling time

How long until it stays inside a tolerance band, often ±2 %.

Usually the number that decides cycle time. A fast response that rings for a second has saved you nothing.

Steady-state error

The gap that is still there once everything has settled.

A pure proportional controller always leaves one, because zero error means zero output and gravity does not care.

Stability margin

How much extra gain or delay the loop can take before it starts oscillating.

A loop tuned to the edge works on the bench and fails when the payload changes. Leave margin on purpose.

Why does delay in a feedback loop cause oscillation?

Because by the time the correction arrives, it is no longer the right correction.

Picture steering a car where the wheel takes two seconds to act. You drift left, so you steer right. But by the time the steering bites you have already drifted back on your own, so now you are pushing right when you needed left. The error grows.

The formal version says the same thing. Delay adds phase lag. When the total lag reaches 180° at a frequency where the loop gain is still above one, your negative feedback has quietly become positive feedback, and the loop oscillates.

Three practical consequences follow, and all three catch people out.

Filters are dangerous inside a control loop.

Sensor latency matters as much as sensor accuracy.

And raising the gain of a laggy loop makes it worse rather than faster.

Example

The shower, and why open loop fails there

Open loop: set the tap where it worked yesterday and step in.

It works, until somebody flushes a toilet, or the boiler cycles, or the water pressure shifts. Now you are being scalded, and the tap has no idea anything happened.

Closed loop: step in, feel the temperature, adjust. Disturbances now handle themselves.

Here is the best part of the analogy. The pipe is long, so your adjustment takes several seconds to arrive.

Everyone eventually learns the same lesson. Make a small change, wait, then judge.

Over-correct and you get the classic scalding-then-freezing oscillation. That is precisely a control loop with too much gain and too much delay.

Real controllers use both approaches at once.

Feedforward uses a model to compute most of the command up front. Feedback then cleans up whatever the model got wrong.

Gravity compensation on a robot arm is the classic example. The model predicts the torque needed just to hold the arm up. The feedback loop is left with only the difference, which is small.

That division of labour is why a good controller can be both fast and calm.

Where the loops sit on a real robot joint

  1. Current loop, 10 kHz

    Innermost. Regulates motor current, which is torque. Lives inside the drive.

  2. Velocity loop, 1 kHz

    Commands a current in order to reach a target speed.

  3. Position loop, 250 Hz to 1 kHz

    Commands a velocity in order to reach a target angle.

  4. Trajectory or task, 10 to 100 Hz

    Feeds position setpoints along a planned path.

  5. Why nested?

    Each inner loop deals with its own disturbances long before the outer one would notice. A sudden load change is absorbed by the current loop in a hundred microseconds, and the position loop never even sees it.

When to use

  • The output can be measured cheaply and quickly
  • Disturbances are real and unpredictable
  • The machine changes with wear, temperature or payload
  • Accuracy matters more than simplicity

When to avoid

  • There is no practical sensor for the quantity you care about
  • The machine is genuinely predictable and repeatable, like a stepper on a light load
  • Sensor delay is so large that any usable loop would be unstable
  • The sensor costs more than the accuracy it buys is worth

Raising the gain when the response is sluggish and laggy.

If lag is the cause, more gain only brings the loop closer to instability. Reduce the delay first: faster sensing, less filtering, a shorter loop period.

Filtering a noisy sensor heavily to smooth the control.

Every filter adds phase lag, and phase lag destabilises. Fix the noise at its source before you reach for a filter.

Tuning on the bench and deploying with no margin.

A loop at the edge of stability works until the payload, temperature or battery voltage changes. Tune it, then deliberately back off.

Key takeaway

  • Open loop commands and assumes. Closed loop measures and corrects.
  • Feedback buys disturbance rejection, tolerance of a wrong model and adaptation to change, at the cost of a sensor and the risk of instability.
  • Judge a loop by rise time, overshoot, settling time and steady-state error. They trade against each other.
  • Delay causes oscillation, so latency and filtering matter as much as gain does.
  • Real robots nest loops, from current up to trajectory, so each one absorbs its own disturbances.

Finished this lesson?

Guest progress is saved on this device.

Control Systems: Open and Closed Loop | OnepocketRobotics