Learning Content and Theses

Platform for digital learning at HSHL

Reference Tracking

Colloquially, the goal of every control system is output quantity = setpoint. In the vocabulary of control engineering, the goal is controlled variable = reference variable. With cruise control, for example, the car should reach a target speed. Then the reference variable is, e.g., w = 80 km/h, and the controlled variable y should ideally also be 80 km/h.

Mathematically, we want to achieve y = w. The “reference response” (tracking behaviour) of a control loop describes how well this requirement is met. Using the rules of the block diagram, we can calculate how the controlled variable behaves as a function of the reference variable in the general control loop. The following applies:

Simplified control loop with block A, reference variable w, control error e and controlled variable y
\[ \begin{gathered} e = w - y \\[6pt] \text{Substitute: } y = A \cdot e = A \cdot (w - y) = A \cdot w - A \cdot y \\[6pt] \text{Rearrange: } y + A \cdot y = A \cdot w \\[6pt] \text{Factor out: } y \cdot (1 + A) = A \cdot w \\[6pt] y = \frac{A}{1 + A} \cdot w \end{gathered} \]

The goal is y = w. This is satisfied for A → ∞. So if we implement an infinitely large gain in the controller, y = w applies. This cannot be achieved in practice. In other words, for large gains in the series connection of controller, actuator and plant, the controlled variable is approximately equal to the reference variable.

\[ \begin{gathered} \text{General control loop: } y = \frac{A}{1 + A} \cdot w \\[6pt] \text{Goal: } \frac{A}{1 + A} \text{ should equal 1; then } y = w \\[6pt] \text{Reference response: transfer function } H_{\mathrm{FÜ}} = \frac{\text{output}}{\text{input}} = \frac{y}{w} \\[6pt] \text{General: } H_{\mathrm{FÜ}} = \frac{y}{w} = \frac{A}{1 + A} \\[6pt] \text{Example: } A = 100 \\[6pt] H_{\mathrm{FÜ}} = \frac{A}{1 + A} = \frac{100}{100 + 1} = 0.99 \approx 1 \end{gathered} \]

The reference response of a control loop describes how well the controlled variable follows the reference variable (FÜ stands for the German “Führungsverhalten”). A good control loop ensures that HFÜ is as close as possible to 1. Then the controlled variable almost equals the reference variable.

With A = 100, we have already achieved the goal y = w quite well. Whether that is sufficient depends on the application. A good measure for assessing the quality of control is also the control error e. It indicates how much the controlled variable y deviates from the reference variable w. The control is good if the control error e is as small as possible. After all, it describes the difference reference variable − controlled variable. The control error is determined from the equation at the summing point in the block diagram:

Simplified control loop with block A
\[ \begin{gathered} \text{General formula for the control error } e \\[6pt] e = w - y = w - \frac{A}{1 + A} \cdot w = w \cdot \left(1 - \frac{A}{1 + A}\right) = w \cdot \left(\frac{1 + A}{1 + A} - \frac{A}{1 + A}\right) = w \cdot \left(\frac{1}{1 + A}\right) \end{gathered} \]

How large is the control error for a value of A = 100? That also depends on the reference variable w. w is the setpoint that we demand of the system from outside. So we set the value ourselves. For the general consideration, out of laziness we choose the value 1, which allows a nice simple calculation: w = 1.

\[ \begin{gathered} \text{General: } e = w \cdot \left(\frac{1}{1 + A}\right) \\[6pt] \text{Example: } w = 1 \text{ and } A = 100 \\[6pt] e = 1 \cdot \left(\frac{1}{1 + 100}\right) = \frac{1}{101} \approx \frac{1}{100} = \frac{1}{A} \end{gathered} \]

The control error e has approximately the value 1/A if we set the reference variable to w = 1.

For an arbitrarily chosen reference variable w, we form the quotient e / w to make a statement about the quality of control. Then we see by what percentage the output quantity deviates from the reference variable. The following applies:

\[ \begin{gathered} \text{General: } e = w \cdot \left(\frac{1}{1 + A}\right) \\[6pt] \frac{e}{w} = \left(\frac{1}{1 + A}\right) = \frac{1}{100 + 1} \approx 0.01 = 1\,\% \\[6pt] H_{\mathrm{FÜ}} = \frac{A}{1 + A} = \frac{100}{100 + 1} \approx 0.99 = 99\,\% \\[6pt] H_{\mathrm{FÜ}} + \frac{e}{w} = \left(\frac{A}{1 + A}\right) + \left(\frac{1}{1 + A}\right) = \left(\frac{1 + A}{1 + A}\right) = 1 = 100\,\% \end{gathered} \]

With A = 100, the control error e relative to the reference variable w is 1 %. The reference response is 99 %. The sum of these two terms is always 1 (last line). So you no longer need to calculate the control error e using the formula with A if you have already calculated the reference response. It is easier via the last line of the equations above.

Assessing the behaviour

Is the controller good enough with 99 % goal achievement? A control error of 1 % would not even be noticed in a cruise control, for example. With a setpoint of 80 km/h, the speed would then be 79.2 km/h. If the body temperature deviates from the setpoint of 37 °C by 0.4 °C, that is not a big deal either. For a high-precision machine tool, a 1 % control error may already be too poor. So it depends on the application.

Cause of the control error

As long as we only insert constant values for A, a control error remains for all values of A. Why is that?

According to y = A ∙ e, the output y is larger than the control error e by a factor of A. If y = w, there would be no control error, with e = w − y = 0. With e = 0, because of y = A ∙ e = A ∙ 0 = 0, the controlled variable would also be y = 0. Without a control error, the output of a control loop with constant A is always 0. That is not a sensible operating point. So a control loop with a non-zero controlled variable at the output must necessarily have a control error e ≠ 0. The larger A is, the smaller e is.

That is of course not satisfactory. Later we will learn a method of getting around this problem.

Download course as PDF

The PDF contains all pages of the course. Interactive content is only available on the website.