北京化工大学 信息学院 everhei@163.com
图7 离散系统等幅振荡
2 为了更进一步的了解该实验的相关特征,我们设计以下实验,来分别研究该仿真中Kc的初始值、阶跃信号的幅值对实验的影响。
(1) 我们得知当B=0.3时原系统是稳定的,这里我们逐步改变阶跃信号的幅值,使A分别取1、1.3、1.6、1.9、2.3来观察其结果,如图8所示:
6
北京化工大学 信息学院 everhei@163.com
图8 A取不同值的过渡过程
由图8可以看出,当A由小逐渐增大时,系统将由稳定转向发散,因为在设计实验或真实过程中,该扰动的幅值不可太大,否则将使得系统发散。其原因已在1中做过说明。 (2) 在原系统稳定的情况下,我们改变修改常数Kc的初始值,分别取Kc=-5、-0.5、 -0.2、0、0.2、0.5、5来进行观测,结果如图9所示:
图9 取不同Kc初始值的仿真
由实验我们得到Kc的最终稳定值为0.49921,有图可以看出,当Kc的初始值取得离此稳态值越远的话,过程的初始超调越大,但最终过程都能趋于稳定。因而在设计实验的时候,Kc的初始值应根据先验知识或粗略计算去一个与其稳定值较为相近的值为宜。 五 结论:
由以上的推导及仿真结果可以看出,依据最优控制的方法设计出的MIT控制律并不能保证控制器在任何情况下都能很好的工作,换言之,对于连续系统当BKpKmA2?b1/b2时系统会不稳定。对于离散系统随未给出准确的解析表达式,但从定性的角度来说,各参数的影响是相似的。因而在实验设计中为避免系统发散,阶跃信号的幅值不可选择太大。同时由此式可以看出,当Kp减小后,对应使系统振荡的B将增大,这就说明了第三部分中我们在没有改变B的情况下将Kp由2变为1后系统的性能为什么会得到提高。
7
北京化工大学 信息学院 everhei@163.com
参考文献
[1] 韩曾晋.自适应控制[M].北京: 清华大学出版社,1995: 148-151 [2] 厉玉鸣,等.自动控制原理[M].北京:化学工业出版社,2005: 279-280 附程序
clc clear
ts=0.1;B=0.8367;ei=0; % 临界值 B=0.836 Kp=2;Km=1;Kc(1)=0.2;
num1=[Km];den1=[1 2 1]; % 参考模型 sys1=tf(num1,den1); dsys1=c2d(sys1,ts,'z')
[num11,den11]=tfdata(dsys1,'v'); num2=[Kp];den2=[1 2 1]; % 对象模型 sys2=tf(num2,den2); dsys2=c2d(sys2,ts,'z')
[num22,den22]=tfdata(dsys2,'v');
ym_1=0;ym_2=0;r_1=0;r_2=0; yp_1=0;yp_2=0;u_1=0;u_2=0;
for i=1:1:500 time(i)=i*ts; rin(i)=1; r(i)=rin(i); u(i)=Kc(i)*rin(i);
ym(i)=-den11(2)*ym_1-den11(3)*ym_2+num11(2)*r_1+num11(3)*r_2; yp(i)=-den22(2)*yp_1-den22(3)*yp_2+num22(2)*u_1+num22(3)*u_2; error(i)=ym(i)-yp(i); Err(i)=error(i)^2;
8
北京化工大学 信息学院 everhei@163.com
gain(i)=Kc(i)*Kp; ei=ei+error(i)*ym(i)*ts; Kc(i+1)=Kc(1)+B*ei;
ym_2=ym_1;ym_1=ym(i);r_2=r_1;r_1=r(i); yp_2=yp_1;yp_1=yp(i);u_2=u_1;u_1=u(i); end
subplot(1,3,1)
plot(time,rin,'r',time,ym,'g',time,yp,'b') legend('R','ym','yp',4) title('input and output') xlabel('time/second') subplot(1,3,2)
plot(time,Km,'r',time,gain,'b') legend('Km','Kp*Kc') title('change of Kc') xlabel('time/second') subplot(1,3,3) plot(time,Err)
title('change of error^2') xlabel('time/second')
9