Metrics to characterize control performance without simulation

조회 수: 2 (최근 30일)
Lucas
Lucas 2024년 12월 17일
답변: Naga 2024년 12월 23일
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