On a previous post we have discussed how by invoking stability one can solve problems without having to worry about particular inputs. The contrast between a solution that holds for a particular input versus a solution that holds for a class of inputs is highlighted in the present post by revisiting the problem of asymptotic tracking for a simple example.

Say one would like to design a controller $K$ in the standard feedback diagram of Fig. 4.2 to asymptotically track a *particular* constant input $\bar{y}(t) = \bar{y}$, $t \geq 0$. By particular I mean that there is only one possible value for $\bar{y}$ that one is interested in tracking. For example, let $G$ be the linear model represented by the ordinary differential equation

$$\dot{y}(t) = a y(t) + u(t)$$

and consider the problem of asymptotically tracking the particular given constant $\bar{y}$, that is the problem of designing a controller $K$ such that

$$\lim_{t \rightarrow \infty} y(t) = \bar{y}.$$

Let $a > 0$ to make the open-loop unstable and make things more interesting.

If one follows the discussion in Chapter 4, a solution to this problem must be in the form of a dynamic controller that has a pole at zero. In the present case, because $a > 0$ is such that the open-loop tranfer-function

$$G=\frac{1}{s-a}$$

is unstable, one will also also need a zero. That is, the simplest possible controller is the PI controller

$$K(s)=\frac{K_p s + K_i}{s}.$$

According to Lemma 4.1, all that needs to happen is for $K_p$ and $K_i$ to be picked so that the transfer-function

$$S=\frac{1}{1 + K G} = \frac{1}{1 + \frac{K_p s + K_i}{s} \frac{1}{s -a}}= \frac{s (s – a)}{s^2 +(K_p – a) s + K_i}$$

is asymptotically stable. From Section 6.1, any choice so that

$$K_p > a, \quad K_i > 0$$

is stabilizing. Note how $a > 0$ means that it is essential for the controller to have a zero, that is that $K_p > 0$. The above solution not only guarantees asymptotic tracking for the particular $\bar{y}$ in question but for all possible non-zero $\bar{y}$!

Now go back to the original question. If one particular input is all that one cares for, how about the following solution to this problem? Define

$$u(t) = \tilde{u}(t) – \bar{u}$$

and use the fact that

$$e(t) = \bar{y} – y(t) \quad \implies \quad y(t) = \bar{y} – e(t)$$

to write

$$\dot{e}(t) = -\dot{y}(t) = -a y(t) – u(t) = a e(t) – \tilde{u}(t) – a \bar{y} + \bar{u} .$$

Therefore the feedback controller

$$u(t) = \tilde{u}(t) – \bar{u}, \quad \tilde{u}(t) = K e(t), \quad \bar{u} = a \bar{y}$$

with $K > a$ is such that

$$\dot{e}(t) = a e(t) – \tilde{u}(t), \quad \tilde{u}(t)=K e(t),$$

and

$$\dot{e}(t) = (a – K) e(t)$$

is asymptotically stable. In other words,

$$\lim_{t\rightarrow \infty}e(t) = 0 \quad \implies \quad \lim_{t \rightarrow \infty} y(t) = \bar{y}.$$

This means asymptotic tracking even though neither the system nor the controller have a pole at zero!

So where’s the catch? The latter tracking property holds only if the controller is built with $\bar{u}$ that matches $a \bar{y}$ exactly. A small change in the value of the reference input or in the system parameter $a$ and gone is asymptotic tracking. In that way, this solution is akin to an open-loop solution, even though in this present case feedback was necessary to stabilize the closed-loop system. See Section 8.6 for a related discussion in the context of feedforward control.

By contrast, the former solution guarantees tracking for any possible $\bar{y} \neq 0$, thanks to the virtues of invoking asymptotic stability to handle a class of inputs rather than worrying about a particular input.