智能控制实验:自适应模糊神经网络(ANFIS,Adaptive Neuro-Fuzzy Inference System)-CSDN博客
简介:学习模糊控制的原理与Matlab模糊逻辑设计器(FuzzyLogicDesigner)的使用,对比PID控制与模糊控制在同一单位反馈系统上的作用效果。
福州大学 自动化系 黄宸贞 2024/9
指导教师:陈剑
实验任务
有单位反馈系统,其开环传递函数为:
G
(
s
)
=
5
s
3
+
3
s
2
+
s
G(s)=\frac{5}{s^{3}+3s^{2}+s}
G(s)=s3+3s2+s5
采用周期为40s的方波为输入信号。
1)设计该对象的PID控制系统,并调试出一组PID控制器参数,给出输入输出曲线;
2)设计模糊控制器对该系统进行控制,同样给出输入输出曲线;
3)将模糊控制结果与PID控制结果相比较;
4)在系统中加入延迟环节(延迟时间为1s),和随机扰动(扰动幅值为0.01),重新设计模糊控制与PID控制器,并比较二者的控制效果。
要求:显示模糊推理系统的输入输出量、论域、所包括的隶属函数及其类型和参数、规则库。并说明所设计的模糊推理系统的规则原理。
实验过程
1.PID控制系统
设计对象的PID控制系统如下。
使用PID调节器调试PID控制器参数。
PID控制作用下,系统参考输入及输出曲线如下。
2.模糊控制系统
设计对象的模糊控制系统如下。
在Matlab命令行中输入“fuzzyLogicDesigner”,打开模糊编辑器工具,设计模糊逻辑的各内容。
设定输入变量为E(误差)、EC(误差的微分),输出变量为U。推理算法为Mamdani Type1。
由PID控制器的响应曲线大致估算,E的论域为(-2,2),EC的论域为(-0.8,0.8),U的论域为(-0.2,0.2)。
选择E、EC的隶属函数为高斯曲线型,U的隶属函数为三角型。
创建规则库。
E \ EC | NB | NM | NS | ZO | PS | PM | PB |
---|---|---|---|---|---|---|---|
NB | PB | PB | PB | PM | PM | PS | ZO |
NM | PB | PB | PM | PM | PS | ZO | NS |
NS | PB | PM | PM | PS | ZO | NS | NM |
ZO | PM | PM | PS | ZO | NS | NM | NM |
PS | PM | PS | ZO | NS | NM | NM | NB |
PM | PS | ZO | NS | NM | NM | NB | NB |
PB | ZO | NS | NM | NM | NB | NB | NB |
规则原理:规则中,当输入的控制量“误差E”和“误差变化率EC”较小和较大时,分别对应“输出U”较小和较大,并适当调整隶属度函数的类型及分布范围,可以得到接近于方波的模糊控制输出量。
总结模糊规则时,应注意以下原则:
(1)规则数量合理;
(2)规则需具有一致性;
(3)完备性要好。
完成规则创建后,预览control surface。
模糊控制作用下,系统仿真结果曲线如下。
3.优化模糊控制器
对模糊控制逻辑的隶属度函数及论域等进行改进,如下所示。
将修改后的FIS文件应用于前述模糊控制系统,仿真结果曲线如下。可见控制效果获得较大改善。
4.两种控制方法的比较
对比波形可知,模糊控制和PID控制都能在一定程度上接近预期的方波波形。
所限于时间与经验不足,设计的模糊控制器效果一般。相较于仅初步调参的模糊控制器,PID控制器的输出结果更接近方波的预期波形。说明在简单低阶线性系统中,PID控制器比模糊控制器更为简易且实用。
5.在系统中加入延迟环节和随机扰动
加入延迟环节与噪声扰动后,对象的PID控制系统如下。
调节PID控制器参数后,控制系统参考输入及输出曲线如下。
加入延迟环节与噪声扰动后,对象的模糊控制系统如下。
控制系统参考输入及输出曲线如下。
可见,当系统内添加扰动与时滞等非线性环节后,PID控制系统的稳态误差较大,模糊控制系统则仍能稳定地响应。
总结
模糊控制器通过将测量得到的被控对象的状态经过模糊化接口转换为用人类自然语言描述的模糊量,而后根据人类的语言控制规则,经过模糊推理得到输出控制量的模糊取值,控制量的模糊取值再经过清晰化接口转换为执行机构能够接收的精确量。
相较于传统控制方法,模糊控制具有如下优点:
(1)适用性广:模糊控制在设计控制器时不依赖控制对象的数学模型,只要求掌握控制经验;
(2)鲁棒性强:系统鲁棒性强,适用于出现扰动与时滞环节的系统。
但模糊控制也具有如下缺点:
(1)参数调整困难:确立模糊化和逆模糊化的方法、总结模糊规则时,缺乏系统的方法,主要靠经验和试凑。
(2)具有稳态误差:模糊控制器由于不具有积分环节,因而稳态精度不高。
模糊控制算法作为一种基于模糊逻辑的控制算法,在控制系统中具有广泛的应用前景。尽管该算法存在一些缺点,如参数调整困难等问题,但其适用性广、鲁棒性强优点使得它在许多应用场景中表现出良好的性能。
模糊控制还可以与其它常见控制方法相结合,如模糊PID控制、自适应模糊控制、专家模糊控制等,以弥补模糊控制中存在的缺点。
在实际应用中,我们需要根据具体情况选择合适的控制算法,并结合实际经验进行参数调整,以实现最佳的控制效果。
参考文献
[1]韦巍,何衍. 智能控制基础[M]. 北京:清华大学出版社, 2008-11.
[2]王耀南. 智能控制理论及应用[M]. 北京:机械工业出版社, 2008-02.
[3]晏勇,杜继宏,冯元琨. 模糊控制[J]. 计算机测量与控制,1999,7(1):55-57. DOI:10.3969/j.issn.1671-4598.1999.01.019.
附
模糊控制器曲线导出代码
a=readfis('myFIS');%括号内为FIS文件名称
h3=figure(1)%误差
set(h3,'Position',[600,100,400,250]);
plotmf(a,'input',1);
set(gca,'FontName','Times New Roman','FontSize',10,'LineWidth',0.5);
xlabel('E','FontName','Times New Roman','fontsize',10);% xlabel('\fontsize{10}\fontname{Times new roman}e');
ylabel('\fontsize{10}\fontname{Times new roman}Degree of membership');
h3=figure(2)%误差的微分
set(h3,'Position',[600,100,400,250]);
plotmf(a,'input',2);
set(gca,'FontName','Times New Roman','FontSize',10,'LineWidth',0.5);
xlabel('EC','FontName','Times New Roman','fontsize',10);
ylabel('\fontsize{10}\fontname{Times new roman}Degree of membership');
h3=figure(3)%输出
set(h3,'Position',[600,100,400,250]);
plotmf(a,'output',1);
set(gca,'FontName','Times New Roman','FontSize',10,'LineWidth',0.5);
xlabel('U','FontName','Times New Roman','fontsize',10);
ylabel('\fontsize{10}\fontname{Times new roman}Degree of membership');
模糊控制器Control Surface导出代码
a=readfis('myFIS');%括号内为FIS文件名称
figure(1)
gensurf(a,[1,2],1)
set(gca,'FontName','Times New Roman','FontSize',8,'LineWidth',0.5);
xlabel('E','FontName','Times New Roman','fontsize',8);
ylabel('EC','FontName','Times New Roman','fontsize',8);
zlabel('U','FontName','Times New Roman','fontsize',8);