PID Comparison
Whether one tune is really better than another, or whether the difference is the same controller having a good day.
Inputs
What you measured
Whatever you measured on each run. Keep it the same for both tunes.
Seconds, degrees, inches: whatever fits.
The tunes
Recorded so the export says what was compared.
The runs
One row per pair of runs. They do not have to be paired in any real sense (the columns are compared as two groups), so leave a cell blank if you have more runs of one tune than the other.
Results
Is the difference real?
—
Tune A averaged
—
Tune B averaged
—
Difference
—
95% interval on that difference
—
Size of the change
—× the scatter
Which is more consistent
—
Runs each to settle it
—
past 1.0 the interval clears zero entirely
Show the numbers behind this chart
Every run as entered, with each tune's average and how far that run sat from it.
Add runs one at a time
Every run of each tune, with the average of the ones counted so far and the interval on the difference between them. While that interval covers zero, the two tunes have not been told apart, whatever the averages say. Adding runs narrows it; if it clears zero and stays clear, the difference is real.
How this is calculated
A controller on a real robot does not do the same thing twice. The battery sags, the mechanism warms up, the arm starts a few degrees off where it did last time. So a single run of each tune gives you two numbers containing both the change you made and the noise you did not, with no way to tell which is which.
Repeating is what separates them. The scatter within one tune tells you how much the robot varies on its own; the gap between the tunes has to be bigger than that to mean anything.
With your numbers
The interval is the answer
The averages are the least interesting output on this page. What matters is the range the true difference plausibly sits in, because that carries the uncertainty with it instead of hiding it behind a single number.
If that range sits entirely one side of zero, the difference is real at the level you tested. If it straddles zero, the honest reading is not "they are the same". It is "these runs cannot tell them apart", which is a statement about your testing rather than about the tunes.
Real is not the same as worth having
With enough runs a difference of a thousandth of a second becomes statistically real and remains completely useless. That is why the size of the change is reported separately, measured against how much the robot scatters on its own.
Below about half a scatter, the change is smaller than the run-to-run noise and no driver will feel it. Above two, it is obvious without statistics. The middle is where this page earns its keep.
Consistency often matters more than the average
A tune that settles in 0.6 s every single time is usually better than one averaging 0.55 s but ranging from 0.3 to 0.9, because autonomous routines are built on what the mechanism does reliably rather than on its best day. The spread of each tune is reported for that reason.
How many runs
The last result estimates how many runs of each tune it would take to settle a difference of the size you are seeing. It is an approximation and it assumes the difference you measured is close to the real one, so treat it as an order of magnitude: the useful distinction is between "three more runs" and "eighty".
What this cannot see
- Order effects. If you ran all of A and then all of B, anything that drifted over the session (a draining battery, a warming motor) is now sitting inside your result wearing the label of a tuning change. Alternate them.
- Whether you measured the right thing. A tune can settle faster and overshoot more. One number per run only sees one of those.
- Anything about kP, kI or kD. The constants are recorded for the export and are not used in the arithmetic. This compares outcomes, not settings.
Make a notebook page
Turns this calculation into a dated engineering notebook page: the setup, data, results, figures, working and sources, numbered and cited. You add the goal, the decision and the reflection in your own words, plus photos and sketches. Print it, paste it into Google Docs, or download a Word file or slides.
Save this run, and compare
Keeps what is on screen so you can change something and see both sides of the change. Saved in this browser only, never uploaded.
Sources & assumptions
No VEX data. Every number comes from runs you measured yourself.
The comparison uses Welch's form of the two-sample interval, which does not assume both tunes scatter by the same amount, since a change that moves the average usually moves the consistency too. Critical values come from a t table rather than the normal 1.96: at five runs a side the normal figure is about a quarter too confident, and five a side is what people actually run.
The runs-needed estimate is the standard approximation for 80% power at 95% confidence, and is an approximation rather than a guarantee.
Where this goes next
Explore further on the full mapWhere the answers on this page can be used, and which tools could have given you the numbers it asks for.
You are here
PID Comparison
Where your answer goes
Compare Test Versionscheck the better tune also makes the routine succeed more oftenuses your trial results againPID Error Analyzerrecord a run with the winning gains and look for what to tune nextuses your trial results againAutonomous Valuesee if a more reliable routine is now worth more pointsSample-Size Plannerfind out how many runs each tune needs before trusting the winnera number carries across the next question it raises