基于遗传算法的PID控制器参数优化与仿真研究
500450400350300BestJ25020015010050002040Times6080100
图5-3 最优指标J优化曲线
Fig.5-3 The optimization curve of the optimal indicator J
10.90.80.70.6Ideal position signalPosition signal tracking yd,y0.50.40.30.20.10 050010001500Time(s)200025003000
图5-4 阶跃响应曲线 Fig.5-4 The step response curve
将常规整定与遗传算法整定的图形放在一起可得:对于这个一阶滞后系统,常规法整定的调节时间大约是800s,而利用遗传算法整定后调节时间大概是600s,而且由图形可以看出,在反应的前期,采用遗传算法整定的参数会使得反应曲线更为平滑,可以获得更好的控制效果。所以,我们可以看出基于遗传算法的PID参数整定在一阶滞后系统中是有效的。
30
辽宁工程技术大学毕业设计(论文)
1.41.210.80.60.40.20050010001500200025003000
图5-5 混合阶跃响应曲线 Fig.5-5 The hybrid step response curve
5.4 二阶系统滞后系统的PID参数整定
设系统的传递函数是G(s)?2e?15s
(20s?1)(5s?1)1)确定范围和编码 使用10位二进制编码,其中前十位是Kp ,中间十位是Kd ,后十
位是Ki。其中Kp取值范围是[0,1],Kd的取值范围是[0,10],Ki的取值范围是[0,1]。 2)生成初始种群 设置群体大小为50。
3)解码并确定适应度函数值 在程序中采用时间乘绝对误差积分 ITAE??te(t)dt作
0?为最优指标,为了抑制超调,采用惩罚功能:一旦出现超调,将超调加入最优指标,此时最优指标为 J??te(t)?100e(t)dt。
0?程序实现:for i=1:1:P
Ji(i)=timef(i)*abs(error(i)); B=B+Ji(i); if i>1
erry(i)=y(i)-y(i-1); if erry(i)<0
B=B+100*abs(erry(i)); end end
end BsJ=B;
31
基于遗传算法的PID控制器参数优化与仿真研究
由于遗传算法中按照最大化方向搜索,而最优参数应该使得最优指标最小,于是选取
1最优指标的倒数为适应度函数,即f?。
J由于系统函数为 G(s)?2e?15s 离散化后得
(20s?1)(5s?1)0.1685z?4?0.1112z?5G(z)?
1?1.147z?1?0.2865z?2程序为:ts=5;
sys=tf(2,[100 25 1],’inputdelay’,15); dsys=c2d(sys,ts,'z')
[num,den]=tfdata(dsys,'v')
运行后可得num(1)=0,num(2)=0.1685,num(3)=0.1112;
den(1)=1,den(2)=-1.1467,den(3)=0.2865;
Y(z)0.1685z?4?0.1112z?5由得: ?G(z)??1?2U(z)1?1.147z?0.2865z差分方程为
y(k)??den(2)*y(k?1)?den(3)*y(k?2)?num(2)*u(k?4)?num(3)*u(k?5)
程序实现为:u_1=0.0;u_2=0.0;u_3=0; u_4=0;u_5=0;y_1=0;y_2=0;
y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_4+num(3)*u_5; u_5=u_4;u_4=u_3;u_3=u_2;
u_2=u_1;u_1=u(k);y_2=y1;y_1=y(k);
4)设置遗传算子 采用单点交叉,Pc?0.8;采用自适应变异概率,
Pm?0.1?[1:1:Size]?0.07Size。
5)设置终止条件 在本遗传算法中以进化代数作为终止条件。设置终止代数G?100,只要进化代数到达100代,算法自动停止,输出结果[24]
对程序进行执行后,得:Kp?0.3666,Kd?3.0205,Ki?0.0108,J?193.1111 最优指标J的优化曲线及优化后阶跃响应曲线:
32
辽宁工程技术大学毕业设计(论文)
260250240230BestJ22021020019002040Times6080100
图5-6 最优指标J优化曲线
Fig.5-6 The optimization curve of the optimal indicator
1.41.210.8Ideal position signalPosition signal tracking yd,y0.60.40.20 0100200Time(s)300400500
图5-7 阶跃响应曲线 Fig.5-7 The step response curve
由阶跃响应曲线可以看出,系统的超调量大概为3%,调节时间为90s,控制性能良好。由此可见遗传算法整定二阶滞后环节PID参数是有效的。
5.5 三阶系统的PID参数整定
设系统的传递函数是G(s)?400
s(s?10)(s?20)5.5.1 常规法整定
其整定方法如前面内容所示,要利用Z-N法第二种情况。
33
基于遗传算法的PID控制器参数优化与仿真研究
利用Z-N法的步骤可以的到Kcr?15,Pcr?0.5所以利用表4-2所给的经验公式可得:
Kp?0.6Kcr?0.6?15?9 ,Kd?KpTd?KpTi2KpPcrKpPcr8?9?0.5?0.5625 8Ki?
??2?9?36 利用所得数据,在MATLAB中进行仿真,结果如图所示: 0.51.61.41.210.80.60.40.20012345
图5-8 阶跃响应曲线 Fig.5-8 The step response curve
5.5.2 基于遗传算法的PID参数优化
1)确定范围和编码 根据Z-N法整定的参数知道其大概取值范围,使用10位二进制编
码,其中前十位是Kp ,中间十位是Kd ,后十位是Ki。其中Kp取值范围是[0,20],Kd的
取值范围是[0,1],Ki的取值范围是[0,50]。 2)生成初始种群 设置群体大小为50。
3)解码并确定适应度函数值 在程序中采用时间乘绝对误差积分 ITAE??te(t)dt作
0?为最优指标,为了抑制超调,采用惩罚功能,一旦出现超调,将超调加入最优指标,此时最优指标为 J??te(t)?15e(t)dt。
0?程序实现:for i=1:1:P
Ji(i)=timef(i)*abs(error(i)); B=B+Ji(i); if i>1
34