how to tune pid controller using genetic algorithm?
조회 수: 42 (최근 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...
댓글 수: 0
답변 (2개)
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
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
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
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Genetic Algorithm에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!