From Fundamentally Misguided Position Control to Physically Correct Energy Control
Introduction
Classical PID control has existed for more than a century and is still widely taught today. However, in modern servo systems — especially industrial servos — continuing to apply classical PID in a dogmatic way is not merely suboptimal; in many cases, it is fundamentally unusable.
This article does not aim to deny the historical value of PID. Instead, it states a technical reality that must be confronted:
Classical PID has no common language with industrial servo systems.
The root cause is not poor tuning, but a mismatch at the mathematical and physical level of the control problem itself.
1. RC Servos and the Illusion That “PID Works”
RC servos provide position-only control.
The user sends a target angle (e.g., 120°), and the servo moves toward it using its internal electromechanical characteristics.
In this context, classical PID is typically applied as follows:
- At each control cycle:
- Compute position error
- Output an
Output_Angle - Call
myServo.write(Output_Angle)
The servo eventually reaches the target, which creates the illusion that PID is working correctly.
But the fundamental question remains:
What is the mathematical foundation of the integral term in classical PID?
2. The Integral Term of Classical PID: No Physical Meaning
In classical PID:
where:
- is position error
- The PID output is used to influence system energy (velocity, acceleration, torque)
This means we are:
- Integrating meters, degrees, or pulses
- To control energy-related quantities
👉 A dimensional mismatch from the very beginning.
PID appears to “work” for RC servos only because of slow mechanics and strong internal constraints — not because the model is correct.
3. Overshoot Is Not an Accident — It Is Inevitable
Consider a simple case:
- Setpoint = 120°
- Initial position = 0°
Early phase:
- Large error → large positive P
- for many cycles → I accumulates a large positive value
Near the setpoint:
- P decreases
- I remains large
- D (if present) is a small negative term, insufficient to cancel I
What happens?
👉 Overshoot is unavoidable.
Not possible — inevitable.
What is often described as “oscillation around the setpoint” is actually:
- The system dumping incorrectly accumulated energy
- By swinging back and forth until dissipation completes
In an era of:
- nano-scale precision
- industrial reliability
- long-term stability
👉 Such behavior is unacceptable.
4. Industrial Servos: Position Is the Destination, Speed Is the Path
Industrial servos do support position control, but:
Position defines the destination.
Speed defines how you get there.
If you:
- Send a
pos_cmd - Without actively controlling speed
The servo will:
- Move at a constant internal speed
- Toward a continuously changing destination
- With no direct relationship to the original setpoint
Tracking requires explicit speed control.
This is where classical PID loses its language:
- PID outputs position
- Industrial servos require speed
Any attempt to “convert position commands into speed commands” is:
- non-transparent
- mathematically unsupported
- an ad-hoc workaround
5. Energy-Based Control: Choosing the Correct Control Variable
In modern servo systems, the correct control variable is:
Speed — or more fundamentally — system energy.
Define velocity error:
Its integral from to :
Directly yields:
👉 Position error e is the integral of velocity error.
No artificial integration with .
No wind-up.
No tricks.
6. Physical Meaning of eee
- Large → system is far → more energy is required
- Smoothly decreasing → correct energy injection → stable system
- Abrupt changes in → sudden energy impulses → irregular behavior
Irregularity can be naturally defined as:
r = fabsf(e - e_last) / (fabsf(e_last) + Efloor);
This does not measure error oscillation —
It measures energy impulses.
7. Pursuit vs Tracking Is Not an Integral Problem
A common question is:
“What if the servo and target do not start from the same position?”
The answer is straightforward:
Whether the system is in ‘pursuit’ or ‘tracking’ mode is not a property of the integral model, but a strategic decision at a higher control layer.
For example:
- Far away → allow
Vcmdto saturate atVmax(pursuit) - Near target → switch to smooth tracking
👉 The energy-based model remains unchanged.
8. Conclusion
Classical PID:
- is historically important
- but fundamentally incompatible with modern industrial servos
Overshoot:
- is not a tuning failure
- but an inevitable consequence of an incorrect model
Energy-Based Control:
- targets the correct physical variable
- has clear physical meaning
- requires no corrective patches
- and speaks the native language of industrial servos
Pingback: ⚠️ Why Classical PID Breaks Under Physical Limits | Artificial Intelligence Kiosk
Pingback: ⚠️ Why Classical PID Breaks Under Physical Limits – Century R&D Investment Institute