🔥 Classical PID vs Energy-Based Control

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:I(t)=Kie(t)dtI(t) = \int K_i\, e(t)\, dt

where:

  • e(t)e(t) 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
  • e>0e > 0 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 possibleinevitable.

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:Ev=VtargetVactualE_v = V_{target} – V_{actual}

Its integral from t0t_0​ to tt:t0tEv(τ)dτ\int_{t_0}^{t} E_v(\tau)\, d\tau

Directly yields:=poscmdposcur=e= pos_{cmd} – pos_{cur} = e

👉 Position error e is the integral of velocity error.

No artificial integration with dtdt.
No wind-up.
No tricks.


6. Physical Meaning of eee

  • Large ee → system is far → more energy is required
  • Smoothly decreasing ee → correct energy injection → stable system
  • Abrupt changes in ee → 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 Vcmd to saturate at Vmax (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

Một suy nghĩ 2 thoughts on “🔥 Classical PID vs Energy-Based Control

  1. Pingback: ⚠️ Why Classical PID Breaks Under Physical Limits | Artificial Intelligence Kiosk

  2. Pingback: ⚠️ Why Classical PID Breaks Under Physical Limits – Century R&D Investment Institute

Bình luận về bài viết này