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

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
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