how to tune pid controller using genetic algorithm?

23 次查看(过去 30 天)
Hi friends, I had designed longitudinal flight control system in simulink. In that model i want to tune PID controller by using Genetic algorithm.How can i get Kp,Ki,Kd values ?
anybody knows how to use GA in simulink, Pls help me...

回答(2 个)

Amirali Najafi
Amirali Najafi 2020-5-20
Code credit to Steve Brunton
close all; clear all; clc
dt = 0.001;
PopSize = 25;
MaxGenerations = 10;
s = tf('s');
G = 1/(s*(s*s+s+1));
options = optimoptions(@ga,'PopulationSize',PopSize,'MaxGenerations',MaxGenerations);
[x,fval] = ga(@(K)pidtest(G,dt,K),3,-eye(3),zeros(3,1))
function J = pidtest(G,dt,parms)
s = tf('s');
K = parms(1) + parms(2)/s + parms(3)*s/(1+.001*s);
Loop = series(K,G);
ClosedLoop = feedback(Loop,1);
t = 0:dt:20;
[y,t] = step(ClosedLoop,t);
CTRLtf = K/(1+K*G);
u = lsim(CTRLtf,1-y,t);
Q = 1;
R = .001;
J = dt*sum(Q*(1-y(:)).^2+R*u(:).^2)
[y,t] = step(ClosedLoop,t);
plot(t,y,'LineWidth',2,'color','r')
drawnow
end
  5 个评论
krishna
krishna 2023-10-31
Hi friends, I had designed model of 6DOF quadcopter control system in simulink i'm using cascade PID controller . In that model i want to tune PID controller by using Genetic algorithm.How can i get Kp,Ki,Kd values ? any one give me code for this for tuning PID controller.
Abdel Aziz
Abdel Aziz 2024-11-14,13:37
Hello, im working on a 6DOF quadcopter for solar panel cleaning in Matlab simulink using simscape multibody, and i am already tuned Altitude and Yaw controller,but when i try to tune pitch/Roll controller my model become unstable , please i need help to tune my Quad

请先登录,再进行评论。


Abdel Aziz
Abdel Aziz 2024-11-14,13:37
Hello, im working on a 6DOF quadcopter for solar panel cleaning in Matlab simulink using simscape multibody, and i am already tuned Altitude and Yaw controller,but when i try to tune pitch/Roll controller my model become unstable , please i need help to tune my Quad

类别

Help CenterFile Exchange 中查找有关 Genetic Algorithm 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by