0

I have been reading several manuscripts, primarily involving modified Smith Predictors to improve disturbance rejection for time-delayed systems. The overwhelming majority of these manuscripts discuss in rejecting input disturbances to the process.

In my application, I have output disturbance (disturbance coming after the process). Is it incorrect to assume that these control systems (designed and simulated for input disturbances) will perform similarly if the disturbance came after the plant. I haven't taken linear controls for the longest time, but I am certain the closed-loop transfer function is different with output disturbances vs. input disturbances.

In regards to my application. I am controlling the contact-force of an end-effector onto a moving surface. I am considering that the moving surface is output disturbance. Correct me if I am wrong.

Thank you,

1 Answers1

1

In general if one could describe your system with the following block diagram:

Control block diagram with disturbance

Then in the frequency domain the output $y$ can be written as,

$$ Y = \frac{C\,P}{1 + C\,P}\, R + \frac{P}{1 + C\,P}\, W + \frac{1}{1 + C\,P}\, V. $$

So the input disturbance gets an additional "coloring" from $P$ of the noise $w$ compared to $v$. I am not sure what kind of methods you refer to with "these control systems", but if those methods specifically use the fact that the system amplifies the input disturbance with the process sensitivity (instead of the sensitivity for the output disturbance), then I would say that those methods will not perform similarly.

If you would like to find a controller, using Smith predictor, for a plant $P$ which is delayed by $T$ seconds,

$$ \hat{P} = P\,e^{-T\,s}, $$

by using a controller $C$, which was designed for plant $P$, you get,

$$ \hat{C} = \frac{C}{1 + C\,P\left(1 - e^{-T\,s}\right)}. $$

The corresponding transfer functions from $r$, $w$ and $v$ to $y$ can be found te be equal to,

$$ Y = \frac{C\,P\,e^{-Ts}}{1 + C\,P}\, R + \frac{\left(1 + C\,P\left(1 - e^{-T\,s}\right)\right) P\,e^{-T\,s}}{1 + C\,P}\, W + \frac{1 + C\,P\left(1 - e^{-T\,s}\right)}{1 + C\,P}\, V. $$

For small $s$ the term $1 - e^{-T\,s}$ can be approximated with $T\,s$, which can be shown with the finite differencing for the derivative,

$$ \frac{dx}{dt} = \lim_{h \to 0} \frac{x(t) - x(t-h)}{h}, $$

$$ s\,X(s) = \lim_{T \to 0} \frac{1 - e^{-T\,s}}{T} X(s). $$

So if you would design a high bandwidth controller $C$ for $P$, such that $C\,P$ has always a minus one slope below the bandwidth frequency, then the sensitivity function for the delayed control loop will behave approximately as the undelayed sensitivity function plus $T\,s$ for low frequencies. Therefore, for such a controller, frequencies in $v$ above approximately $T^{-1}$ rad/s will be visible in the output. Even though the undelayed sensitivity function, at those frequencies, should still be very small. At this frequency the approximation of $T\,s$ will start to break down, but the order of magnitude will still be the same, so $T^{-1}$ rad/s should still be a reasonable estimation of above which frequencies the delayed sensitivity function will start to stop suppressing frequencies in $v$.

Another option could be to design a controller, such that for frequencies near $T^{-1}$ rad/s, or lower if one knows that $v$ is limited to frequencies lower than that, the numerator of the the sensitivity goes to zero. This would be the case when,

$$ \left. C = \frac{1}{P \left(e^{-T\,s} - 1\right)}\right|_{s\approx i\,T^{-1}}. $$

This also have the advantage that the process sensitivity also goes to zero near those frequencies. If the those "control systems" you talked about also make use of this property, then you should also be able to apply it to output disturbances.

  • Thank you very much @fibonatic. My current controller is a Smith Predictor. The process was modelled as SOPDT with a time constant of ~0.035 seconds. The feedback has a delay of 0.1 seconds sampled at 25 Hz. The output disturbance has frequencies up to and less than 1.25 Hz. My system has no input disturbance. Based on what you said and given the dynamics of my system, I should be achieving reasonable disturbance rejection - however I see poor performance in my simulations. I do not think I designed C properly. I will look into the reference. Thank you. – gelman_grad Oct 26 '16 at 16:25
  • First I designed C without delay using a 1st-order model, P. It shows acceptable disturbance rejection. Second, I implemented the SP and added feedback delay, T, with C_hat = C/(1+CP(0.1s)) using the approximation of the delay in the denominator. As you can see, the performance is horrible. Did I do something incorrect? – gelman_grad Oct 26 '16 at 20:29
  • @DannyGelman If you would like to compare the performance of a controller without delay and with delay (adjusting the controller using SP) then you could use the same controller C(s). Also for the SP you should use the same P(s) for both the plant and for the SP. Also I think you did something wrong, since your controller in both cases should suppress low frequencies (especially a constant disturbance of 25), but in both cases y oscillates around 25 as well, unless you also set the step to a magnitude of 25. – Kwin van der Veen Oct 27 '16 at 00:27
  • Making P(s) consistent does not change the performance much. The controller is suppressing low frequencies in both cases, is it not? - but I would expect a much better performance for the SP. Yes, input step is 25 and a chirp signal (25 offset, 0.1 - 2 Hz, 15 p-p) is injected as output disturbance. I think I am obviously either calculating C_hat incorrectly or I am bad at Simulink. Here is the comparison of using C(s) with and without using SP. For some reason C(s) in the SP is performing better than C_hat(s)... – gelman_grad Oct 27 '16 at 14:05
  • @DannyGelman $\hat{C}(s)$ is just effective controller you get when you work out the two internal feedback loops in your block diagram. So if you want to keep using those loops, then you should keep using $C(s)$, but if you prefer just a single feedback loop you can use $\hat{C}(s)$. Also as stated in my answer, for a high bandwidth controller for the system without delay you get much better disturbance rejection than for the system with delay using SP. Namely your delayed system will let through disturbances above roughly 10 rad/s or 1.6 Hz, which is very close to your frequency content. – Kwin van der Veen Oct 27 '16 at 14:37
  • Oh d'oh, thank you for clearing that up. Yes, I'd rather use the multiple loops than the effective controller, Ĉ(s). When you say that the delayed system will let disturbances above 10 rad/s, do you mean that the gain will be 1 (no reduction what-so-ever)? If this is the case, than these results are to be expected. Correct me if I am wrong. And lastly, is there a way to improve the disturbance reduction of frequencies < 10 rad/s? – gelman_grad Oct 27 '16 at 15:58
  • @DannyGelman You could have slightly better disturbance rejection if you use a higher bandwidth controller. For example here are similar simulink results: low bandwidth using C=(30s+900)/s; high bandwidth using C=(250s+5e4)/s (I used a chirp from 0.002 to 2 Hz). – Kwin van der Veen Oct 27 '16 at 23:42