《智能控制》考试试题试题1:针对某工业过程被控对象:0.520()(101)(21)s G s e s s -=++,试分别设计常规PID 算法控制器、模糊控制器、模糊自适应PID 控制器,计算模糊控制的决策表,并进行如下仿真研究及分析:1. 比较当被控对象参数变化、结构变化时,四者的性能;2. 研究改善Fuzzy 控制器动、静态性能的方法。
解:常规PID 、模糊控制、Fuzzy 自适应PID 控制、混合型FuzzyPID 控制器设计 错误!未找到引用源。
. 常规PID 调节器PID 控制器也就是比例、积分、微分控制器,是一种最基本的控制方式。
它是根据给定值()r t 与实际输出值()y t 构成控制偏差()e t ,从而针对控制偏差进行比例、积分、微分调节的一种方法,其连续形式为:01()()[()()]t p d i de t u t K e t e t dt T T dt=++⎰ (1.1) 式中,p K 为比例系数,i T 为积分时间常数,d T 为微分时间常数。
PID 控制器三个校正环节中p K ,i T 和d T 这三个参数直接影响控制效果的好坏,所以要取得较好的控制效果,就必须合理地选择控制器的参数。
Ziegler 和Nichols 提出的临界比例度法是一种非常著名的工程整定方法。
通过实验由经验公式得到控制器的近似最优整定参数,用来确定被控对象的动态特性的两个参数:临界增益u K 和临界振荡周期u T 。
用临界比例度法整定PID 参数如下:表1.1 临界比例度法参数整定公式51015202530354000.20.40.60.811.21.41.61.8Time(s)y (t )051015202530354000.511.5Time(s)y (t )PID 0.6u K 0.5u T 0.125u T据以上分析,通过多次整定,当 1.168p K =时系统出现等幅振荡,从而临界增益 1.168u K =,再从等幅振荡曲线中近似的测量出临界振荡周期 5.384u T =,最后再根据表1.1中的PID 参数整定公式求出:0.701, 2.692,0.673p i d K T T ===,从而求得:比例系数0.701p K =,积分系数/0.260i p i K K T ==,微分系数0.472d p d K K T ==。
基此,可搭建如图1.1所示的PID 控制系统Simulink 仿真模型,仿真得到系统阶跃响应曲线如图1.2(a )所示。
图1.1 PID 控制系统Simulink 仿真模型图1.2(a )(b) 临界比例度法整定的系统阶跃响应曲线错误!未找到引用源。
. 模糊控制器由于模糊控制采用了模糊似人推理机制,所以其控制机理较传统的PID 控制更加接近于人工智能。
一般地,一个完整的模糊控制系统结构如图1.3所示。
下面基于MATLAB 模糊逻辑工具箱设计模糊控制器。
图1.3 模糊控制器的基本结构1)论域及隶属度函数的建立若取E 、EC 、U 的论域均为{}6,5,4,3,2,1,0,1,2,3,4,5,6------,其模糊子集都为{NB ,NM ,NS ,ZO ,PS ,PM ,PB}。
在MATLAB 中键入命令FUZZY ,进入模糊逻辑编辑窗口FIS Editor 。
建立E 、EC 、U 的隶属度函数,有三角形、高斯形、梯形等11种可供选择,在此选常用的三角形(trimf )隶属度函数。
图1.4为E 、EC 、U 的隶属度函数。
图1.4 E 、EC 、U 的隶属度函数2)模糊控制规则及决策方法控制规则是对专家理论知识与实践经验的总结,共有49条模糊控制规则,如表1.2所示。
在Rules Editor 窗口中输入这49条控制规则,例如:if E is NB and EC is NS then U is NB 。
表1.2 模糊控制规则表 UENB NM NSZO PS PM PB ECNB NB NBNB NB NM NS ZONM NB NB NM NM NS ZO ZONS NB NM NM NS ZO ZO ZOZO NM NS NS ZO PS PS PMPS ZO ZO ZO PS PM PM PBPM ZO ZO PS PM PM PB PBPB ZO PS PM PB PB PB PB模糊决策一般采用Mamdani(min-max)决策法。
解模糊有重心法、等分法、最大隶属度平均法等5种可供选择,在此采用重心法(centroid)。
根据以上规则和方法,设计出模糊控制器的输出与输入的关系曲面图,即得出模糊规则是一种非线性控制。
基此,可搭建如图1.5所示的模糊控制系统Simulink仿真模型,通过模糊控制器模块,可以和包含模糊控制器的fis文件联系起来,还可以随时改变输入输出论域,隶属度函数以及模糊规则,方便仿真和调试。
经过多次整定,选取误差E、误差变化率EC的量化因子及控制量U的比例因子分别为:0.5,0.1,0.6e ec uk k k===,仿真得到系统阶跃响应曲线如图1.6所示。
图1.5 模糊控制系统Simulink仿真模型05101520253035400.20.40.60.811.21.4T ime(s)y(t)图1.6 模糊控制系统阶跃响应曲线从图1.6可以看出,单纯的模糊控制器相当于非线性的PD控制,无积分作用,其调节不能做到无静差。
在仿真过程中发现,量化因子、比例因子的大小对模糊控制器控制性能的影响很大,也许还存在一组最优量化因子和比例因子,能使系统获得更好的响应特性。
错误!未找到引用源。
. Fuzzy自适应PID控制器由于常规PID控制在稳定阶段有良好的响应性能,于是采用Fuzzy+PID控制方法,构成FuzzyPID控制系统。
其结构框图如图1.7所示。
图1.7 Fuzzy控制+PID控制在Matlab/Simulink环境下,转换由开关模块“switch”实现,“switch” 模块中的Threshold整定值(即误差整定值)设置为0.01。
对系统进行仿真,可得响应曲线波形如图1.8所示。
图1.8 Fuzzy控制+PID控制波形从图1.8中可以看出系统稳定时间很短仅约为3,存在的静差约为0.06,输出最大约为0.94,无超调量。
Ⅳ. 采用Fuzzy +PID复合控制器由以上两个仿真可知,采用Fuzzy控制可以极大地改善系统超调和稳定时间,但是其稳态性能有所下降,稳态精度明显不如常规PID控制。
利用Fuzzy控制+精确积分控制方法,由于常规Fuzzy控制缺少积分环节而存在稳态误差,故可以通过Fuzzy控制+精确积分的方法改善系统的稳态性能,即混合型FuzzyPID控制器,这样可以使系统成为无差模糊控制系统。
其结构框图如图1.9所示。
图1.9Fuzzy控制+精确积分控制k ,其余参数不变。
对系统进行仿真,可得响应曲线波取精确积分系数0.029i形如图1.10所示。
图1.10 Fuzzy-PID波形从图1.10中可以看出系统稳定时间比较短约为5,存在的静差仅有0.02,输出最大约为0.98,超调量约为3.06%。
保持所设计的控制器参数不变,当被控对象的参数或模型结构变化(例如T=0.15)时,PID和Fuzzy控制器的性能分析31) 当被控对象的参数发生变化A.当系统k值由原来的15变化为30时,其余参数不变,各种控制方式的系统阶跃响应如图1.11所示。
T由原来的7.5变化为15时,其余参数不变,各种控制方式的系统阶B.当1跃响应如图1.12所示。
T由原来的0.75变化为1.5时,其余参数不变,各种控制方式的系统C.当2阶跃响应如图1.13所示。
(1)模糊控制决策表的计算当利用MATLAB模糊逻辑工具箱设计好模糊控制器后,还应该计算相应的模糊控制决策表,即关系矩阵。
这里利用MATLAB工具箱中的readfis和evalfis 函数,计算上述模糊控制器的决策表,编写的M文件如下:a = readfis('fuzzy1.fis');for i = -6 : 6for j = -6 : 6u(i+7,j+7) = evalfis([i,j],a);endend运行该程序,可得到模糊控制决策表为如下一13*13矩阵:u =Columns 1 through 8-5.3723 -5.2527 -5.3723 -5.2527 -5.3723 -4.2674 -3.9992 -1.9992-5.2527 -5.2527 -5.2527 -4.2674 -4.2674 -3.2733 -3.0000 -1.9991-5.3723 -5.2527 -5.3723 -4.2674 -3.9992 -3.0000 -2.0008 -1.0007-5.2527 -4.2674 -4.2674 -4.2674 -3.9984 -3.0000 -2.0016 -1.0007-5.3723 -4.2674 -3.9992 -3.9984 -3.9992 -3.0000 -2.0008 -1.0007-5.2527 -4.2674 -3.9984 -3.0000 -3.0000 -1.9991 -1.0007 0.0000-5.3723 -4.2674 -3.9992 -3.0000 -2.0008 -1.0007 -0.0000 1.0007-4.2674 -3.2733 -3.0000 -1.9991 -1.0007 0.0000 1.0007 1.9991 -3.9992 -3.0000 -2.0008 -1.0007 -0.0000 1.0007 2.0008 3.0000 -3.0000 -1.9991 -1.0007 -1.0007 0.0000 1.0007 2.0016 3.0000 -2.0008 -1.0007 -0.0000 0.0000 -0.0000 1.0007 2.0008 3.0000 -1.0007 -1.0007 0.0000 0.0000 0.0000 1.9991 3.0000 3.2733 -0.0000 0.0000 -0.0000 0.0000 -0.0000 1.9992 3.9992 4.2674 Columns 9 through 13-0.0000 0.0000 -0.0000 0.0000 -0.00000.0000 0.0000 0.0000 1.0007 1.0007-0.0000 0.0000 -0.0000 1.0007 2.00080.0000 1.0007 1.0007 1.9991 3.0000-0.0000 1.0007 2.0008 3.0000 3.99921.0007 1.9991 3.0000 3.2733 4.26742.00083.0000 3.99924.26745.37233.0000 3.0000 3.99844.26745.25273.9992 3.9984 3.99924.26745.37233.99844.2674 4.2674 4.26745.25273.99924.26745.3723 5.2527 5.37234.2674 4.26745.2527 5.2527 5.25275.3723 5.2527 5.3723 5.2527 5.3723在MATLAB 命令窗口(Command Window )里输入 gensurf(a),可以得到模(2)四种方案的控制性能研究错误!未找到引用源。