◉ LOOPLAB

PID WORKBENCH · v1.0.0-rc.1Tune a loop. Watch the machine respond.
Ready

Project

A checkpoint is kept before an import or Fresh start.

Preview24.0 / 24.0 s
Controller settings

Adjust a gain and compare the response. During playback, changes act on the running machine.

Guided comparisons

Loads the named machine and replaces your setup and pinned baseline. Replay, then try a gain.

Advanced settings
Controller behavior Anti-windup prevents error from accumulating when it would push farther into a command limit. The memory cap still applies when this is off.
Physical system
Feedback & capacity
Timed disturbance

Scroll controls for model, feedback & loads ↓

Physical system

POSITION0%
DRIVE COMMAND0%
DELIVERED EFFORT0%
SENSOR FEEDBACK0
EXTERNAL LOAD0
VELOCITY0

Response recorder

Normalized output (%) and drive command (%) versus time (s).

TargetActual outputSensor · dottedController effortPinned baseline
—Overshoot
—Rise time (10–90%)
—Settling time (±2%)
—Current error
Inspect a moment

Use arrow keys to move by 0.02 seconds, or tap the chart. Moving the cursor pauses playback; the machine stays at its playback position.

Output is recorded at the end of each step. Sensor feedback and controller contributions are from the start of that step.

Experiments 0 saved

Save a repeatable run, change the tuning, then compare. Keep up to 12 experiments and select up to four overlays. Edit a name to rename it.

Swipe or scroll the table to see all columns.

Selected responses ·
Response Target Error Peak Overshoot Settling

Error is absolute output error; peak is output, both in normalized units. Only selected responses for the current system appear on the plot and in the table. Targets, loads and other settings can differ; these are comparisons, not rankings. Scheduled loads have no step-response metrics.

Inside the controller Contributions & limiting

Error = target − sensor feedback. Noise and sensor delay affect the feedback while the physical scene shows the actual process. The three contributions add together, then the drive command is clipped to the selected actuator limit.

0Gain × (weight × target − feedback)
0Memory: 0 unit·s
0−Gain × filtered measurement rate
Error: 0Sum: 0%Drive within limits

Integral memory is accumulating.

P · solidI · dashedD · dottedAuto-scaled contribution (%) versus time (s)

Switching I off clears its memory. Turning it back on starts accumulation from zero. Derivative acts on measurement, so a setpoint step does not create a derivative kick. Pin a baseline before switching terms to compare the output response.

Start with one change

LOOPLAB connects a PID controller to a simulated machine. Set a target, change a gain, and watch how the machine and its recording respond.

  1. Choose a system, then Starter tuning. Switching the system alone keeps your current gains. Starter tuning gives that system a repeatable setup.
  2. Press Replay. The app opens with a calculated 24-second preview. Replay animates it; Pause holds the machine and its clock.
  3. Pin a baseline, then change one gain. The baseline keeps the old output trace. A change during playback acts on the running machine; Reset run calculates a fresh complete response.
  4. Compare and keep the result. Save a complete run in Experiments, inspect a recorded moment, and export JSON to keep your setup and shelf.

What P, I and D do

P · Respond to the present error
More P usually produces a stronger correction. In these models it can also increase overshoot or oscillation.
I · Accumulate the error
I can remove a persistent offset when the actuator has enough capacity. Too much can overshoot. Switching I off clears its memory.
D · Respond to changing feedback
D can damp motion. It also reacts to sensor noise, so Advanced includes a derivative filter. It acts on measurement, not on a target step.

Read the machine and the chart together

The physical scene follows actual output. Sensor feedback can lag or contain noise. Drive command is what the controller asks for; delivered effort follows after actuator lag. The tank pump fills only; gravity drains it. A negative thermal command represents active cooling.

All outputs are normalized to 0–100%. They are not calibrated degrees, RPM or travel distances. A process pinned at an end stop or range limit is not proof of stability.

Read a sample, keep a record

Inspect a moment: arrow keys move by 0.02 s; Home/End move to the recording endpoints. Selecting a moment pauses playback without moving the machine backward. Follow latest returns to the newest sample.

Metrics: overshoot and 10–90% rise describe a fixed-target run. Settling means the recording ends with at least one continuous second inside the ±2% band (minimum 0.5 unit). It describes the observed window. An asterisk means provisional; timed events or live edits show Mixed run.

Backups: JSON keeps settings, baseline and saved experiments; CSV keeps the current sampled recording; PNG and Print / PDF create shareable views. One checkpoint is kept before import or Fresh start. Use Restore checkpoint in Project to recover it.

Opening this guide pauses playback. Close it and press Resume when ready. The model equations and longer exercises are included in the download's MODEL.md and TEACHING-GUIDE.md.