Metrics to characterize control performance without simulation

3 次查看(过去 30 天)
Hello,
I am trying to find a metric to tune the parameters of a variable structure controller but right now I am using metric computed after simulation and it is very long plus the metrics cannot be computed in some cases. Is there a metric that could be used to tune the controller without simulating the model and that could be computed in any case?
Thank you
  2 个评论
Mathieu NOE
Mathieu NOE 2024-12-17
hello , do you have a simple working code we can use ?
IMO,performance is related to error signals and I don't see how you could have a somewhat equivalent info without simulating your closed loop on a given test signal
Lucas
Lucas 2024-12-17
I am trying to use PSO to optimize the parameters with a code like this :
% x0 : initial parameters
% x_best : optimized parameters
mdl = 'sys_2';
load_system(mdl);
x0 = %depends on controller structure
nvars = numel(x0);
lb = %depends on controller structure
ub = %depends on controller structure
n_iter = 100;
swarm_size = min(20, 5*nvars);
options = optimoptions('particleswarm', 'MaxIterations', n_iter, 'SwarmSize', swarm_size, 'InitialPoints', x0);
x_best = particleswarm(@(x)fitness_function(x, mdl), nvars, lb, ub, options);
Right now the fitness function is derived from simulation. In the future, I want to create an evolutionnary algorithm that optimize the structure of the controller and where this process would be an iteration of the algorithm. This is what I would like to find a faster way to optimize the parameters of the controller.

请先登录,再进行评论。

回答(1 个)

Naga
Naga 2024-12-23
Tuning controller parameters without running simulations can be tricky, but there are ways to speed up or avoid simulations entirely:
  1. Use simplified models, replace full simulations with analytical models or reduced-order approximations.
  2. Evaluate controller parameters directly using stability margins, control effort, or robustness criteria.
  3. Surrogate model, train a machine learning model (e.g., Gaussian Process) to approximate performance metrics based on a few simulations, then use it for optimization.
  4. Add constraints or rules to exclude obviously unstable or infeasible parameters before simulation.
For your PSO code, you could integrate a surrogate model. This might look like replacing your current fitness function with a trained model or pre-checking parameter stability to avoid wasting time on bad candidates.

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by