1

Confusion in PID loop for the case of zero error?

The above question and its accepted answer discuss the matter to some extent.

Can conclude from that answer that practically we can never have perfectly/exactly "zero" error in reality?

What about the last sentence of the answer:

Remember, the "I" and "D" processes have memory — they depend on the past behavior of e(t). u(t) is zero only if the sum of all three processes is zero.

When and how can that scenario occur?

JRE
  • 67,678
  • 8
  • 104
  • 179
LECS
  • 1,173
  • 11
  • 30
  • 1
    Exactly zero error happens when the plant output passes through the demand point so yes, we can have zero error but, we can't have zero steady-state error. – Andy aka Oct 16 '22 at 11:20
  • Just define error to be what exists in the measurement or theoretical model of a system rather than the real system itself (tackling it from the "in a practical system" rather than the zero end). Reality is truth and so cannot be erroneous. (forget that there was a nominal theoretical system that failed to be built) – Abel Oct 16 '22 at 11:32
  • 1
    @Andyaka please try to change your coment into answer. Thanks – LECS Oct 16 '22 at 11:39

3 Answers3

6

Is it possible to have exactly/perfectly zero error in a practical system?

Exactly zero error happens when the plant output passes through the demand point (a la overshooting the demand) so yes, we can have zero error but, we can't have zero steady-state error because: -

  • We can't have infinite gain
  • Noise is always present
Andy aka
  • 434,556
  • 28
  • 351
  • 777
  • There are specific cases where gain can go to infinity (the plant itself includes an integral term, e.g. PLL frequency control); but noise remains. – Tim Williams Oct 16 '22 at 14:13
1

Remember that error is \$e(t)\$. You're also asking about \$u(t)\$, which is related to the process, not the error.

Namely, in steady state, \$u(t) = \textrm{Plant}^{-1}\,r(t)\$, that is, applying the inverse transfer function of the plant to \$r(t)\$. Maybe \$u(t)\$ goes to zero, maybe it crosses through zero transiently, maybe it doesn't ever go to zero (for some inputs, compensation and plants). It's not interesting to the control, except that any needed value can be reached by it (which is trivial in the abstract, real-valued case: the domain and range are both \$\pm \infty\$).

\$e(t)\$ going to zero, however, normally happens when the input is stationary (\$\frac{d}{dt} r(t) = 0\$), the loop is stable, and as time goes to \$\infty\$. It may never reach zero as such, but the asymptotic approach can be quick enough for practical purposes (it's exponential decay). (Indeed, stability itself is defined this way, that the error reduces either to a constant (proportional control) or zero (integral). An unstable system diverges, maybe with oscillation.)

Tim Williams
  • 22,874
  • 1
  • 20
  • 71
1

In general yes the error can be zero.

Take a tracking system, for example, a system that controls the angular position of an antenna by comparing the voltages across a potentiometer attached to the antenna and another potentiometer that gives the set point.

tracking system
Source: Stefani's book

It's an example that is made in many control theory books (for example Stefani, "Design of feedback control systems 4e", p.92, or Dorf, "Modern control systems 10e", p. 282, or in the introductory chapter of Nise,"Control systems engineering").

block dia Source: ResearchGate
"Figure 1 is the control block diagram of the DC servomotor antenna pointing system (Nise, N.S., 2011). The first input to the summer is set position)(tr, the desired position at which the azimuth or elevation motor is expected to run to. The second input is the feedback signal, the current position of the respective motor, captured by some feedback sensor like the potentiometer and changed to a summer readable format. The difference between these two inputs, called position error signal)(te, is given to the controller that reads the error signal and produces appropriate output signal, controller output)(tu.The controller output then reaches the motor driver, which produces a proportional output to rotate the respective motor in either direction according to the sign of the error signal (positive or negative). As the desired position is approached, the error signal reduces to zero and the motor stops (Ogata, K., 2010)."

When the antenna is in the set position, the motor that makes it turn should not be powered. In this case the error must be zero. Nise stresses this point:

"The system normally operates to drive the error to zero. When the input and output match, the error will be zero, and the motor will not turn. Thus, the motor is driven only when the output and input do not match. The greater the difference between input and output, the larger the motor input voltage, and the faster the motor will turn."

Note the difference with what happens in an electronic feedback amplifier, for example with a real op amp: a nonzero error is required to have an output that is many times the input signal. The output of the system is not zero, but a magnified replica of the input, and with zero voltage difference deltaV at the op amp terminals you won't have any output. The case deltaV=0 is a limit condition that follows when the open loop plification goes to infinity. One could say that the goal of the feedback amplifier is to alter the open loop amplification and a nonzero error is required in any real practical case.

In the case of the above tracking system, the goal is to drive the error to zero. You don't need a lot of amplification, unless you want to make the antenna absolutely unmovable.

Regarding steady-state errors.
In most control textbooks you will also find a table showing the value of the steady state error for different inputs (step, ramp, parabolic) applied to systems of different orders. This error can be zero from type 1 onward, depending on the type of input.

error and types table Source: Stefani's book

Note that in the above table A is a coefficient in the input. The amplification is rather identifiable with the K coefficients, and the bigger K the lower the nonzero steady-state error becomes. But for some systems and input, the steady-state error is exactly zero.
What counts is the presence of as many integrations as the system's type.
As a matter of fact, on Dorf the steady state error of a PID system with disturbance and noise is analyzed (it's a medical pressure control system) and it is shown that as long as the constant Ki is non zero, the steady state error for the step response of that system goes to zero. (It's on page 249 on the 13th edition.)

Regarding noise.
Some systems reject fairly well noise in the plant or in the feedback loop. Of course, if you add noise to the error signal itself, then you might argue the the error is not exactly zero. But then we can argue that there is no such thing as any exact value of voltage or current, and I don't think that is a useful position.

Sredni Vashtar
  • 4,008
  • 2
  • 15
  • 25
  • "it is shown that as long as the constant Ki is non zero, the steady state error for that system goes to zero" please elaborate – LECS Oct 17 '22 at 04:43
  • Which coulmn in above table is Ki?(the left most one with red underline) ?? – LECS Oct 17 '22 at 04:44
  • @engr the table is one I had found with a cursory search on the web, I have now replaced it with one taken from a book. As for the Dorf example, I no longer have that edition, but only a few notes and the formulas are too long for my lazy self to texify. I added the page. – Sredni Vashtar Oct 17 '22 at 07:38