模糊控制器的matlab设计步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊PID控制器设计和仿真步骤:
第一步:各变量隶属度函数的确定
1、用于PID 参数调整的模糊控制器采用二输入三输出的形式。该控制器是以误差E 和误
差变化率EC 作为输入,PID 控制器的三个参数P、I、D 的修正△KP、△KI、△KD 作为输出,如图1;
2、取输入E 和EC 和输出△KP、△KI、△KD 模糊子集为{NB,NM,NS,ZO,PS,PM,PB},
其论域为[-6,6],量化等级为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};如图2
3、在模糊逻辑工具箱的隶属度函数编辑器中,选择输入量E,EC隶属函数为高斯型
(gaussmf),输出△KP、△KI、△KD的隶属函数为三角形(trimf),如图2和3。
图1
图2
图3第二步:根据图4规则建立模糊规则表,如图5:
图4
图5
第三步:设置参数:与方式(And method)为min;或方式(Or method)为max;推理(Implication)为min;合成(Aggregation)为max;去模糊(Defuzzification)为重心平均法(centroid)。第四步:保存该FIS文件,取名为FuzzyPID.fis
第五步:在MA TLAB的M文件编辑器里建立一个名为FuzzyPID.m的文件,其内容为:martrix=readfis(‘Fuzzypid.fis’),并运行。
第六步:打开SIMULINK,新建一个Model,选择一个Subsystem,在其中编辑模块,如图6,并设置模糊化因子KE=KEC=0.01,解模糊因子KP=0.5,KI=KD=0.01,并在Fuzzy Logic Controller模块的Parameters中输入readfis('FuzzyPID.fis'):
图6
第七步:返回到新建的Model中,按照如图7所示建立模糊PID控制器,其中,PID初始值为KP0=20,KI0=1.35,KD0=3.7,传递函数为:
图7
第八步:保存为FuzzyPID.mdl并运行。
第九步:运行结果与初始PID控制器的结果比较,如图8和9:
图8图9