👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
PID 控制在控制领域中是最为传统、有效的控制方法,因为其结构简单、稳定性好等广泛应用于工业过程控制。其中PID的控制性能主要取决于比例、微分、积分系数的取值,系数的取值影响系统控制的动态性能、系统稳定性、超调量等众多方面。因此,PID 控制器参数选择至关重要,但是PID控制器控制参数不易整定,应对复杂工况时效果不佳[1] ,还需要引入智能算法进行优化。
粒子群优化算法(PSO算法)是一种基于群体协作的随机搜索算法,该算法参数设置少、收敛速度快、实现简单,常常应用于系统辨识,取得了较好的优化结果[2] 。但是单一的粒子群算法容易陷入局部最优,导致误差较大。经过改进的粒子群算法既可以减少迭代次数,还可以提高算法精度及效率,常应用在焊接缺陷成因诊断、灰色预测模型改善等领域[3-4] ,产生了较好的影响。
针对 PID 控制算法和粒子群算法[1] 进行详细介绍。
1)PID 控制器
PID 控制器是最基础的一种负反馈控制器,控制器的控制方程为:
式中:Kp 为比例环节系数; Ti 为积分环节常数; Td 为微分环节系数。PID 控制器的原理如图 3 所示。
一、引言
PID控制器作为最为传统、有效的控制方法之一,因其结构简单、稳定性好而被广泛应用于工业过程控制。然而,PID控制器的性能取决于其比例、积分、微分三个参数的取值,这些参数的整定一直是自动控制领域研究的重要问题。传统的参数整定方法如试验加试凑的方式不仅费时,而且不能保证获得最佳的性能。因此,引入智能算法进行优化成为研究热点。粒子群优化算法(PSO)作为一种基于群体协作的随机搜索算法,具有参数设置少、收敛速度快、实现简单的优点,适用于PID控制器的参数优化。
二、PID控制器原理
PID控制器是一种负反馈控制器,其控制方程为:u(t)=Kp×e(t)+Ki×∫e(t)dt+Kd×de(t)/dt,其中Kp为比例环节系数,Ki为积分环节常数,Kd为微分环节系数。PID控制器的性能主要取决于这三个参数的取值,它们影响系统控制的动态性能、系统稳定性、超调量等众多方面。
三、粒子群优化算法原理
粒子群优化算法是Kennedy和Eberhart等受鸟群在寻觅食物时的行为启示,于1995年提出的一种优化算法。在粒子群算法中,每个优化问题的潜在解都可以想象成d维搜索空间上的一个点,这些点被称之为粒子。粒子群算法通过迭代找到最优解,在每一次迭代过程中,粒子跟踪两个极值来更新自己的速度和位置:一个是粒子本身所找到的最优解,称为个体极值;另一个是整个种群目前找到的最优解,称为全局极值。
四、基于粒子群优化调整离散PID控制器的研究
- 问题定义:将PID控制器的三个参数Kp、Ki、Kd作为粒子群中的粒子,采用控制误差绝对值时间积分函数作为优化目标,通过粒子群优化算法动态调整这三个参数,实现PID控制参数的实时优化。
- 模型建立:建立离散PID控制器模型,并确定粒子群优化算法的适应度函数。
- 算法实现:在Matlab环境下进行仿真实验,通过粒子群优化算法对PID控制器的参数进行优化。具体步骤包括初始化粒子群、计算适应度、更新速度和位置、判断终止条件等。
- 结果分析:通过仿真实验,得到优化后的PID控制器参数,并比较优化前后的系统性能。结果表明,基于粒子群优化算法的PID控制器参数优化方法具有很强的灵活性、适应性和鲁棒性,能够显著提高系统性能。
五、结论与展望
基于粒子群优化算法的PID控制器参数优化方法具有显著的优势,能够克服传统参数整定方法的缺点,提高系统性能。未来研究可以进一步探索改进粒子群优化算法,提高算法精度和效率,以及将该方法应用于更复杂的控制系统和实际问题中。
📚2 运行结果
主函数代码:
close all;
clear all;
clc;
%parametry symulacji
k_start = 4;
k_stop = 800;
%parametry modelu
alfa1 = -1.645679;
alfa2 = 0.675125;
beta1 = 0.01098;
beta2 = 0.009632;
%wartosci poczatkowe zmiennych
u = zeros(1,k_stop);
y = zeros(1,k_stop);
x1 = zeros(1,k_stop);
x2 = zeros(1,k_stop);
e = zeros(1,k_stop);
y_zad = [0.5*ones(1,k_stop/4) -0.35*ones(1,k_stop/4) 0.4*ones(1,k_stop/4) -1.2*ones(1,k_stop/4)];
%% Regulator PID nastrojony metoda Zieglera-Nicholsa
T=1;
Tosc = 16.8; %(192-24)/10 <-- usrednione dla 10 okres贸w
kkr = 3.7;
k_p = 0.6*kkr;
Ti_p = 0.5*Tosc;
Td_p = 0.125*Tosc;
% Niegasnace oscylacje:
% Ti_p = inf;
% Td_p = 0;
% k_p = kkr;
% Nastawy regulatora PID w wersji dyskretnej
r2=(k_p*Td_p)/T;
r1=k_p*((T/(2*Ti_p))-((2*Td_p)/T)-1);
r0=k_p*(1+(T/(2*Ti_p))+(Td_p/T));
E = 0;
for k = k_start:k_stop
%model nieliniowy
g1 = (exp(5*u(k-3))-1)/(exp(5*u(k-3))+1);
x1(k) = -alfa1*x1(k-1) + x2(k-1) + beta1*g1;
x2(k) = -alfa2*x1(k-1) + beta2*g1;
g2 = 1-exp(-1.5*x1(k));
y(k) = g2;
e(k)=y_zad(k) - y(k);
u(k)=r2*e(k-2)+r1*e(k-1)+r0*e(k) + u(k-1);
if (u(k)>1)
u(k)=1;
end
if (u(k)<-1)
u(k)=-1;
end
E = E + (y_zad(k) - y(k))^2;
end
display(sprintf('Wskaznik jakosci E = %f',E))
y1 = y;
u1 = u;
disp('Nacisnij spacje aby kontynuowac');
pause;
%% Regulator PID nastrojony PSO
%
%parametry regulatora obliczone w pliku pid_pso_tun.m
r0 = 1.2230
r1 = -1.4218
r2 = 0.2628
u = zeros(1,k_stop);
y = zeros(1,k_stop);
x1 = zeros(1,k_stop);
x2 = zeros(1,k_stop);
e = zeros(1,k_stop);
E = 0;
for k = k_start:k_stop
%model nieliniowy
g1 = (exp(5*u(k-3))-1)/(exp(5*u(k-3))+1);
x1(k) = -alfa1*x1(k-1) + x2(k-1) + beta1*g1;
x2(k) = -alfa2*x1(k-1) + beta2*g1;
g2 = 1-exp(-1.5*x1(k));
y(k) = g2;
e(k)=y_zad(k) - y(k);
u(k)=r2*e(k-2)+r1*e(k-1)+r0*e(k) + u(k-1);
if (u(k)>1)
u(k)=1;
end
if (u(k)<-1)
u(k)=-1;
end
E = E + (y_zad(k) - y(k))^2;
end
%%
figure(1)
clf
subplot(2,1,1)
plot(y);
title('Porownanie przebiegow sygnalow wyjsciowych i wejsciowych regulatora PID nastrojonego dwiema metodami')
hold on
plot(y1,'m')
hold on
plot(y_zad,'r--')
legend('PID PSO','PID Z-N')
ylabel('y(k)')
xlabel('k');
grid on
subplot(2,1,2)
plot(u)
hold on
plot(u1,'m')
grid on
ylabel('u(k)')
xlabel('k');
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]杨雨彬,任天宇,邓宏敬,蔡子龙,杨子墨.基于优化粒子群神经PID的双变量解耦控制[J].科技资讯,2023,21(03):1-5.DOI:10.16661/j.cnki.1672-3791.2206-5042-5807.
[2]李欢欢,刘辉,盖江涛,李训明.基于粒子群优化算法PID参数优化的双电机耦合驱动履带车辆转向控制研究[J/OL].兵工学报:1-8[2023-04-22].
[3]李春亚,杨辰飞.基于粒子群算法和PID相结合的船舶电喷柴油机自动控制[J].舰船科学技术,2023,45(01):147-150.