Consider a DC motor system as described below.
Inputs:
- – input voltage
- – load/disturbance torque
Outputs:
- – angular speed of the motor
Transfer function:
where is a time constant and are system gains.
Our objective is to have approach and track a given reference in spite of disturbance .
Open-loop Control
Let’s first attempt to use open-loop control to achieve disturbance rejection; we want to maintain in steady state in the presence of constant disturbance.
The open-loop controller receives no information about the disturbance (the only input is , no feedback signal from anywhere else). So, let’s attempt to design for no disturbance (i.e. ), then see how the system works in general.
Assuming zero disturbance, we have the following system diagram:
The transfer function is:
with a stable pole at . We want a DC Gain of .
We have:
Using a constant gain of gives us
What happens if we have nonzero disturbance ?
which in turn gives
Conclusion: In the absence of disturbances, reference tracking is good, but disturbance rejection is poor. Steady-state error is determined by , which we have no control over. In fact, we cannot change this through any choice of controller , no matter how clever.
Feedback Control
Now consider disturbance rejection with the feedback system below:
We have
and
Solving for :
The first term has a DC gain of , and the second term has a DC gain of . (Recall that DC gain is computed by taking the limit as approaches zero).
Assuming that the reference and disturbance are constant, applying the Final Value Theorem gives
Conclusions:
- , but can be brought arbitrarily close to as . Thus, steady-state tracking is good with high gain, but never quite as good as in the open-loop case.
- is small (arbitrarily close to ) for large . Thus, we have much better disturbance rejection than with open-loop control.