Metrics to characterize control performance without simulation

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 日

0 投票

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.

カテゴリ

質問済み:

2024 年 12 月 17 日

回答済み:

2024 年 12 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by