Control Algorithm for a Plant with Hysteresis-Shifted S-Curve

4 views (last 30 days)
Hello,
I have an interesting control problem that I'd like to discuss with you all. I'm working with a plant that exhibits a characteristic curve resembling an S-curve, but it can be shifted due to hysteresis effects. In order to tackle this, I'm considering employing Frequency Response Function (FRF) analysis and designing a Proportional-Integral (PI) controller.
Here are my main questions:
  1. Would conducting a FRF Analysis and implementing a PI controller be sufficient to handle this system?
  2. Can we expect the control algorithm to always converge, or are there specific scenarios where it might struggle?
I'd greatly appreciate any insights, experiences, or suggestions you might have regarding this matter. Additionally, if you have encountered similar cases in your work, I'd love to hear about the approaches you took.
Thank you in advance for your expertise!

Answers (1)

Sam Chak
Sam Chak on 21 Oct 2023
Without knowledge about the physical nature of the dynamics, your questions can only be adequately answered through extensive testing of the model's validity and an analysis of the simulated results. However, based on your description of the system's hysteretic response, it appears to exhibit behavior akin to a population growth model, where this "hysteretic-like" behavior is dependent upon the initial population value. It is important to note that the population growth model is autonomous, meaning it does not explicitly depend on an external control variable.
Your initial course of action should be to diligently research the nature of the dynamical system in existing literature. Subsequently, you should attempt to fit the proposed model with the available data. It might also be worthwhile to investigate whether the system can be accurately represented as a linear parameter-varying (LPV) system. If all other attempts prove unsuccessful, you can resort to estimating the transfer function model by employing techniques found in the System Identification Toolbox. Only then will you be able to reliably assess whether a tuned PI controller is adequate for handling the system or not.
y0 = [0.1 0.01 0.001 0.0001];
for j = 1:numel(y0)
F = ode;
F.ODEFcn = @(t, y) y*(1 - y);
F.InitialValue = y0(j);
tFinal = 20;
sol = solve(F, 0, tFinal);
plot(sol.Time, sol.Solution), hold on
end
hold off, grid on
xlabel('Time'), ylabel('Displacement')

Categories

Find more on Linear Model Identification in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!