The load changes
Riders differ by tens of kilograms, sit differently, and shift while driving. An open-loop system is calibrated for one load and wrong for every other. A closed loop simply measures what happened and corrects.
Engineering · Control
A stepper told to advance two hundred steps advances two hundred steps, unless something stops it — in which case it does not, and nothing in the system finds out. Every axis of the PDK is closed on an absolute encoder, so the difference between where the platform was told to be and where it actually is exists as a number the controller acts on.
Three nested loops ›Why it matters here ›What closing the loop cannot do ›
Three nested loops
They run at different rates for a reason: the inner loop has to be faster than the thing it corrects, and the outer loops have less to do per cycle but more to reason about.
| Loop | Rate (internal) | What it compares |
|---|---|---|
| Drive, per motor | 8 kHz | Commanded position and current against the encoder reading, on the same 125 µs cycle |
| Inverse kinematics | 3.3 kHz | The requested platform pose against the six leg targets that would produce it |
| Command stream | 1 kHz | Pose commands out over CAN at 2 Mbaud — each command returns that axis's encoder position with it |
Why it matters here
Riders differ by tens of kilograms, sit differently, and shift while driving. An open-loop system is calibrated for one load and wrong for every other. A closed loop simply measures what happened and corrects.
The legs are rigidly coupled through the platform. If one runs behind, the others are fighting it through the structure. Closing each leg individually is what keeps a disagreement from becoming a force.
A closed loop produces an error signal continuously. A persistent error is a fault the machine can detect and act on — an open-loop system has no way to know it is wrong.
The boundary
Closing the loop on the motor shaft closes it on the motor shaft. Anything that happens after that point — compliance in a joint, a gap in a transmission, flex in the frame — is outside the loop. The controller will report that the shaft is exactly where it was asked to be, and it will be right, and the platform can still be somewhere else. This is why the architecture matters as much as the control: removing the transmission is what makes the shaft a good proxy for the load.
A faster loop is also not automatically a better one. Rate sets the ceiling on how quickly a disturbance can be answered; the answer's quality depends on the tuning, and an aggressive loop on a compliant structure oscillates rather than settles. The numbers on this page describe how often the machine gets to correct itself, not how well it does it.
And no loop rate anywhere in this machine is a rate your PC will see. These are internal figures. The game supplies data at its own cadence — typically 60 Hz — and nothing downstream can invent detail that was never sent.
Keep reading
What the innermost loop is actually computing, 8,000 times a second per motor.
The sensor every one of these loops depends on.
The same path measured in time rather than in loops.