6
$\begingroup$

I'm trying to control a system where the controller sample rate is physically fixed and the plant has significant dynamics on the same order as the sample rate. I understand that one would prefer to have the sample rate considerably faster than the plant dynamics, but the physics of this system are such that this is inherently impossible. I can get some control of the system by hand-tuning a PID, but it seems considerably sub-optimal.

Is there a strategy for developing a controller like this?

Edit: I should add that the plant is this situation is a relatively complex LTI plant with reverberations caused by pure time delays. The delay cycles are a bit slower than the Nyquist frequency. The plant is stable.

$\endgroup$
  • $\begingroup$ not a good one. if you have significant content above Nyquist, i think you might be screwed. $\endgroup$ – robert bristow-johnson Jun 21 '16 at 23:50
  • $\begingroup$ Do you have a model for the plant dynamics? $\endgroup$ – datageist Jun 22 '16 at 0:26
  • $\begingroup$ Would a low-pass-filter of sufficient order be able to suppress those dynamics? $\endgroup$ – fibonatic Jun 22 '16 at 11:15
  • $\begingroup$ Robert: There is some content above Nyquist, but the main dynamics I hope to address are between 0.1 and 0.5 Fs. $\endgroup$ – tkw954 Jun 23 '16 at 15:00
  • $\begingroup$ datageist: I have a model. It's a relatively complex linear system with reverberations due to pure time delays. The delay cycles are a bit slower than the Nyquist frequency. $\endgroup$ – tkw954 Jun 23 '16 at 15:03
1
$\begingroup$

Depending on your plant you might be able to do something. If the plant is unstable, but dominantly linear, you should be able to get a very accurate model using exact discretization (zero-order hold). Either you will be able to stabilize your plant using PID, or PID will be of too low order, in which case you need to switch to a control law matching you plant order. The H-infinity synthesis framework (robust control) will do that for you. Here you can also include uncertainty weights to limit control law gain, which might help esp. if your system is not linear. Depending on the uncertainty you might not be able to find a feasible control law for stabilization, however...

If your plant is stable, or stabilizable, you can further improve performance using feed-forward control. Here the sampling time should not be of much concern, and you can use something like zero phase error tracking.

$\endgroup$
  • $\begingroup$ There is no such thing as exact discretization and zero-order hold is one of the worst you can do in terms of stability. $\endgroup$ – percusse Dec 21 '16 at 2:39
  • $\begingroup$ @percusse: how come it works in every single lab set-up I've ever done then? $\endgroup$ – Arnfinn Dec 22 '16 at 4:07
  • $\begingroup$ Because you are not close to their sampling frequency. $\endgroup$ – percusse Dec 22 '16 at 4:27
  • $\begingroup$ @percusse: but I have been, still works $\endgroup$ – Arnfinn Dec 22 '16 at 4:28
  • 1
    $\begingroup$ @percusse: what? Can you include a link to the method you feel is inexact? You must be talking of something different. The ZOH method is exact in the sense that given an exact model of the continuous-time system (including an "exact" ZOH) the ZOH method exactly predicts how the plant will appear to the sampled-time controller. You can even account for processing delays if need be. Perhaps you're conflating inexact modeling in the continuous-time domain with inexact conversion to a discrete-time domain? $\endgroup$ – TimWescott Dec 6 '19 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.