Tracking exponential references

119 Views Asked by At

It is well known that, in order to track constant reference values with zero asymptotic error, in the presence of uncertainty, an integrator is required in the open loop (either by the plant or the controller itself).

Lets for simplicity assume the plant $P$ has no integral components.

In order to track constants, $r(t) = 1,$ one integrator in the controller is needed. Tracking ramps, $r(t) = t$, needs two integrators, while tracking parabolas, $r(t) = t^2$ needs 3 integrators, and so on.

So, generally speaking, in order to track $r(t) = t^n$ with zero asymptotic error for $P$, you need $n + 1$ integrators in the controller.

However, we also know that the exponential function grows faster than any polynomial. So, what is for references like $r(t) = \exp(t)$? Wouldn't it then require an infinite amount of integrators in order to track such a reference with zero asymptotic error? Is that even possible at all?

2

There are 2 best solutions below

2
On BEST ANSWER

The reason why this can be done in the first place can be derived from the final value theorem. For this one needs the Laplace transform of the tracking error, which can be obtained by multiplying the sensitivity transfer function by the Laplace transform of the reference

$$ \lim_{t\to\infty} e(t) = \lim_{s\to 0} s\,\frac{1}{1+C(s)\,G(s)}R(s). $$

When considering the limit then $C(s)\,G(s)$ can just be simplified to their total number of integrators, denoted by $m$. Of course this result only hold if the closed loop is stable, so just picking a few integrators for $C(s)$ wouldn't be a good controller. Using the Laplace transform of $t^n$ from here and substituting this all into the first equation yields

$$ \lim_{t\to\infty} e(t) = \lim_{s\to 0} s\,\frac{s^m}{s^m + 1}\frac{n!}{s^{n+1}} = n!\,\lim_{s\to 0} \frac{s^{m-n}}{s^m + 1}. $$

When $m<n$ this limit is undefined (this corresponds to the error blowing up to infinity), when $m=n$ the error goes to $n!$ and when $m>n$ the error goes to zero.

Changing the reference to $e^{a\,t}$, with $a$ some positive real number, would change its Laplace transform to $(s-a)^{-1}$. Now you might say that plugging this into the limit will always yields zero. However the theorem can only be used when the Laplace transform only has poles in the open left-half plane (OLHP) and the only reason it can be used for polynomials (whose Laplace transforms poles lie outside the OLHP) is because of pole-zero cancellation.

So from this it can be shown that for a reference $e^{a\,t}$ it is impossible to have a zero steady state tracking error when using a finite number of integrators in the feedback loop. Instead feedforward could be used to achieve tracking and use feedback as disturbance rejection. However you stated that you have (model) uncertainty, in which case simple feedforward would not be a good option. In that case you might have to resort to some adaptive control for the feedforward.

1
On

The exponential function increases very, very rapidly, so in practice you never need to track an exponential reference. If you tried, you would quickly hit the saturation limits of your actuators.

The basic reason you can use the trick of adding a pole at the origin (pure integrator) to deal with polynomial references is that feeding forward $t^n$ is the same as using the transfer function $\frac{H(s)}{s^n}$, where $H(s)$ is the (closed-loop) transfer function for a step command. There's nothing deep --just the Laplace transform of the reference. If my reference generally has the Laplace form $R(s) = F(s)R_{step}(s)$ then I can always treat the input like a step function for the transfer function $F(s)H(s)$. Using this logic you need to use the correct Laplace transform for $e^{ax}$, which is $\frac{1}{s-a}$. Thus you would add a single pole at $a$ rather than some number of poles at zero.