




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 熟悉模糊工具箱一、 目的和要求1. 目的 (1) 通过本次实验,进一步了解模糊控制的基本原理、模糊模型的建立和模糊控制器的设计过程。(2) 掌握MATLAB模糊逻辑工具箱的图形用户界面设计模糊控制器的过程。2. 要求(1)充分理解实验内容,并独立完成实验报告。(2)实验报告要求:实验题目、实验具体内容、结果分析、收获或不足。二、 实验内容1、 利用matlab中的模糊逻辑工具箱提供的图形用户界面(GUI)工具设计一个两输入、一输出的模糊控制器,控制器的要求如下:(1)设模糊控制器的输入变量为:误差E和误差变化EC,输出量为U。(2)隶属度函数:u 隶属度函数均为三角函数u E、EC和U的模糊语言变量集均为NB,NM,NS,ZO,PS,PM,PBu E和EC论域为-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6u U的论域为-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7(3)控制规则表如下:表1 模糊控制表U EC E NBNMNSZOPSPMPBNBPBPBPBPMPMZOZONMPBPBPBPMPMZOZONSPMPMPMZOZONSNSZOPMPMPSZONSNMNMPSPSPSZONMNMNMNMPMZOZONMNBNBNBNBPBZOZONMNBNBNBNB三实验步骤模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。1. 模糊控制器结构设计FIS处理系统有多少个输入变量,输出变量,名称是什么,模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor 概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middle of maximum,largest of maximum,smallest of maximum)。Matlab的FIS界面如图3所示。图3 模糊推理系统(FIS)界面2. 隶属函数编辑器:确定各个变量的论域和显示范围(左下角编辑区内),如图4所示。定义每个变量的模糊集的名称(如负大、负中、负小、零、正小、正中、正大)和个数(Edit菜单中Add MFs),以及每个模糊变量的隶属函数类型和参数(点击变量的隶属函数曲线后在右下角编辑区内修改)。隶属函数的类型有:trimf,trapmf,gbellmf,gaussmf,gauss2mf,sigmf,dsigmf,psigmf,pimf,smf,zmf图4 隶属函数编辑器3. 模糊规则编辑完成了对变量的命名,隶属函数也有了适当的形状和名字,就可以编辑模糊规则。选择连接关系(and 或者or),权重,在编辑器左边选择一个输入变量,并选择它的语言值,然后在编辑器右边的输出变量中选择一个输出变量,并选中它的语言值,然后将这种联系添加到模糊规则中。 Options/Format 下可以选择模糊规则不同的格式,默认的是verbose(模糊规则的详细格式),还有symbolic(符号格式),indexed(高度压缩格式)4. 模糊规则观察器模糊规则观察器的功能是可以令用户观察模糊推理图,并观察模糊推理系统的行为是否与预期的一样。可以观察到输入变量(默认色是黄色)和输出变量(默认色是蓝色)如何应用在模糊规则中;反模糊化的数值是多少。5. 输出曲面观测器模糊规则观察器非常详细的显示了在某一个时刻的计算。如果看到模糊推理系统的全部输出曲面,即与整个输入区间相对应的输出区间,就要打开输出曲面观测器。View/view surface6. 将建立的FIS保存到磁盘,文件名后缀为.fis。四.实验总结实验二 Mamdani型模糊推理系统的设计与仿真一、 目的和要求1. 目的(1) 通过本次综合设计,进一步了解模糊控制的基本原理、模糊模型的建立和模糊控制器的设计过程。(2) 提高控制系统的仿真能力(3) 熟悉MATLAB在模糊控制系统仿真中的应用。2. 要求(1) 充分理解实验内容,并独立完成实验报告。(2) 实验报告要求:实验题目、实验具体内容及实验功能、结果分析、收获或不足、程序清单。二、 实验内容完成对给定的对象的模糊控制仿真:(1) 自选控制对象,比如传递函数。(2) 确定模糊控制论域和参数。(3) 在MATLAB中输入fuzzy( ),设计模糊控制隶属度函数和控制规则。(4) 运行SIMULINK仿真程序,绘制仿真图。(5) 运行仿真,记录实验数据和控制曲线。(6) 并分析结果。三、 实验步骤1)确定模糊规则误差E、误差变化EC及控制量U的模糊集定义如下:EC和U的模糊集均为:NB,NM,NS,ZO,PS,PM,PBE的模糊集为:NB,NM,NS,NO,PO,PS,PM,PB确定模糊控制规则:一般如表2所示:表2 模糊控制规则表U EC E NBNMNSZOPSPMPBNBPBPBPBPMPMZOZONMPBPBPBPMPMZOZONSPMPMPMZOZONSNSNOPMPMPSZONSNMNMPOPMPMPSZONSNMNMPSPSPSZONMNMNMNMPMZOZONMNBNBNBNBPBZOZONMNBNBNBNB2)设计模糊逻辑控制器模糊逻辑控制系统的参数对控制性能影响很大,因此参数设置是实验的重点内容,具体步骤如下:a. 打开Matlab的FIS编辑器(双击Fuzzy logic toolbox下的FIS Editor Viewer),确定模糊推理输入变量和输出变量的个数、名字。b. 打开隶属函数编辑器,选定变量的论域和显示范围,选择隶属函数的形状和参数。 c. 打开模糊规则编辑器,编辑模糊规则。d. 重新回到FIS编辑器界面,选择模糊算子,推理方法,聚类方法,解模糊的方法等(centroid,bisector,middle of maximum,largest of maximum,smallest of maximum)。e. 用模糊规则观察器或输出曲面观察器,观看模糊推理情况。f. 将建立的FIS保存到磁盘,文件名后缀为.fis。g. 进行模糊控制仿真时,首先要将FIS发送到Matlab工作空间(workspace)中,用FIS窗口下File/Export/to workspace实现,用户建立一个工作空间变量名(例如fuzzycontrol),这个变量将FIS系统作为Matlab的一个结构进行工作。仿真时,打开fuzzy logic controller ,输入FIS变量名,就可以进行仿真了。3)建立SIMULINK仿真模型在MATLAB的simulink仿真环境中建立模糊控制系统的方框图。如图1所示。其中有信号发生器,比较器,放大器(Gain),零阶保持器,多路混合器(Mux),模糊逻辑控制器(FIS)(在Simulink Library Browser/Fuzzy Logic Toolbox下添加),控制对象,示波器(scope)。图1 在线推理方式模糊控制仿真模型4)调整Ke,Kec ,Ku的值的大小(二阶系统模糊控制参考数据是100, 1, -150),得到系统适合的输出曲线直到符合要求(如误差小于1或者超调量小于5)为止,观察输出曲线。四、 总结实验三 模糊自适应整定PID控制仿真实验一、 实验目的与要求1. 目的(1) 通过实验了解数字PID控制的原理(2) 通过实验实现离散系统的数字 PID 控制仿真(3) 通过实验了解模糊自适应整定PID控制的原理(4) 通过实验实现模糊自适应整定PID控制仿真(5) 通过实验掌握编程方式实现的模糊控制仿真2. 要求(3) 充分理解实验内容,并独立完成实验报告。(4) 实验报告要求:实验题目、实验具体内容及实验功能、结果分析、收获或不足、程序清单。二、 实验内容1 针对给定离散系统的输入信号的位置响应,设计离散PID控制器,编制相应的仿真程序。(1) 被控对象自己选定:比如下传递函数(2) 针对离散系统的阶跃信号、正弦信号和方波信号的位置响应,设计离散PID控制器。(3) 采样时间为1ms ,采用模糊PID控制进行阶跃响应,在第300个采样时间时控制器输出加1.0的干扰,编制炉温模糊控制系统的Matlab仿真程序三、 实验步骤1. 确定模糊自整定PID的算法基础,画出PID参数的在线自校正工作程序流程图2. 针对 kp, ki , kd 三个参数分别建立合适的模糊规则表3. 针对给定离散系统的阶跃信号、正弦信号和方波信号的位置响应,设计离散PID控制器,编制相应的仿真程序。程序代码:实验程序%Fuzzy Tunning PID Controlclear all;close all;clca=newfis(fuzzpid);a=addvar(a,input,e,-3,3); %Parameter ea=addmf(a,input,1,NB,zmf,-3,-1);a=addmf(a,input,1,NM,trimf,-3,-2,0);a=addmf(a,input,1,NS,trimf,-3,-1,1);a=addmf(a,input,1,Z,trimf,-2,0,2);a=addmf(a,input,1,PS,trimf,-1,1,3);a=addmf(a,input,1,PM,trimf,0,2,3);a=addmf(a,input,1,PB,smf,1,3);a=addvar(a,input,ec,-3,3); %Parameter eca=addmf(a,input,2,NB,zmf,-3,-1);a=addmf(a,input,2,NM,trimf,-3,-2,0);a=addmf(a,input,2,NS,trimf,-3,-1,1);a=addmf(a,input,2,Z,trimf,-2,0,2);a=addmf(a,input,2,PS,trimf,-1,1,3);a=addmf(a,input,2,PM,trimf,0,2,3);a=addmf(a,input,2,PB,smf,1,3);a=addvar(a,output,kp,-0.3,0.3); %Parameter kpa=addmf(a,output,1,NB,zmf,-0.3,-0.1);a=addmf(a,output,1,NM,trimf,-0.3,-0.2,0);a=addmf(a,output,1,NS,trimf,-0.3,-0.1,0.1);a=addmf(a,output,1,Z,trimf,-0.2,0,0.2);a=addmf(a,output,1,PS,trimf,-0.1,0.1,0.3);a=addmf(a,output,1,PM,trimf,0,0.2,0.3);a=addmf(a,output,1,PB,smf,0.1,0.3);a=addvar(a,output,ki,-0.06,0.06); %Parameter kia=addmf(a,output,2,NB,zmf,-0.06,-0.02);a=addmf(a,output,2,NM,trimf,-0.06,-0.04,0);a=addmf(a,output,2,NS,trimf,-0.06,-0.02,0.02);a=addmf(a,output,2,Z,trimf,-0.04,0,0.04);a=addmf(a,output,2,PS,trimf,-0.02,0.02,0.06);a=addmf(a,output,2,PM,trimf,0,0.04,0.06);a=addmf(a,output,2,PB,smf,0.02,0.06);a=addvar(a,output,kd,-3,3); %Parameter kpa=addmf(a,output,3,NB,zmf,-3,-1);a=addmf(a,output,3,NM,trimf,-3,-2,0);a=addmf(a,output,3,NS,trimf,-3,-1,1);a=addmf(a,output,3,Z,trimf,-2,0,2);a=addmf(a,output,3,PS,trimf,-1,1,3);a=addmf(a,output,3,PM,trimf,0,2,3);a=addmf(a,output,3,PB,smf,1,3);rulelist=1 1 7 1 5 1 1; 1 2 7 1 3 1 1; 1 3 6 2 1 1 1; 1 4 6 2 1 1 1; 1 5 5 3 1 1 1; 1 6 4 4 2 1 1; 1 7 4 4 5 1 1; 2 1 7 1 5 1 1; 2 2 7 1 3 1 1; 2 3 6 2 1 1 1; 2 4 5 3 2 1 1; 2 5 5 3 2 1 1; 2 6 4 4 3 1 1; 2 7 3 4 4 1 1; 3 1 6 1 4 1 1; 3 2 6 2 3 1 1; 3 3 6 3 2 1 1; 3 4 5 3 2 1 1; 3 5 4 4 3 1 1; 3 6 3 5 3 1 1; 3 7 3 5 4 1 1; 4 1 6 2 4 1 1; 4 2 6 2 3 1 1; 4 3 5 3 3 1 1; 4 4 4 4 3 1 1; 4 5 3 5 3 1 1; 4 6 2 6 3 1 1; 4 7 2 6 4 1 1; 5 1 5 2 4 1 1; 5 2 5 3 4 1 1; 5 3 4 4 4 1 1; 5 4 3 5 4 1 1; 5 5 3 5 4 1 1; 5 6 2 6 4 1 1; 5 7 2 7 4 1 1; 6 1 5 4 7 1 1; 6 2 4 4 5 1 1; 6 3 3 5 5 1 1; 6 4 2 5 5 1 1; 6 5 2 6 5 1 1; 6 6 2 7 5 1 1; 6 7 1 7 7 1 1; 7 1 4 4 7 1 1; 7 2 4 4 6 1 1; 7 3 2 5 6 1 1; 7 4 2 6 6 1 1; 7 5 2 6 5 1 1; 7 6 1 7 5 1 1; 7 7 1 7 7 1 1;a=addrule(a,rulelist);a=setfis(a,DefuzzMethod,mom);writefis(a,fuzzpid);a=readfis(fuzzpid);%PID Controllerts=0.001;sys=tf(2.235e005,1,2.047e004,1);dsys=c2d(sys,ts,tustin);num,den=tfdata(dsys,v);u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0;error_1=0;e_1=0.0;ec_1=0.0;kp0=0.4;kd0=2;ki0=0;r,t = gensig(square,1,10,0.001);n=length(t);rin=1-2*r;time=t;for k=1:ntime(k)=k*ts;rin(k)=1;%Using fuzzy inference to tunning PIDk_pid=evalfis(e_1,ec_1,a);kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2);kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if k=300 % Adding disturbance(1.0v at time 0.3s)u(k)=u(k)+1.0;endif u(k)=10 u(k)=10;endif u(k)=-10 u(k)=-10;endyout(k)=-den(2)*y_1-den(3)*y_2+num(1)*u(k)+num(2)*u_1+num(3)*u_2;error(k)=rin(k)-yout(k);%Return of PID parameters% u_3=u_2; u_2=u_1; u_1=u(k); y_3=y_2; y_2=y_1; y_1=yout(k); x(1)=error(k); % Calculating P x(2)=error(k)-error_1; % Calculating D x(3)=x(3)+error(k); % Calculating I e_1=x(1); ec_1=x(2); error_2=error_1; error_1=error(k);endshowrule(a)figure(1);plot(time,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025武汉工程大学招聘非事业编制工作人员1人(九)考试参考题库附答案解析
- 2025上海市社会工作者协会专业实习生招聘笔试备考题库及答案解析
- 2025四川省国利托管重组私募基金管理有限公司总经理1人笔试参考题库附答案解析
- 2025西安数字基建有限公司招聘(12人)笔试备考试题及答案解析
- 2025四川绵阳科技城党群工作部绵阳科技城社会事业局招募医疗卫生辅助岗人员15人笔试模拟试题及答案解析
- 2025浙江金华市数字红人文化传媒有限公司劳务派遣人员招聘9人笔试参考题库附答案解析
- 2025四川达州大竹县第十一小学附属幼儿园招聘2人笔试备考题库及答案解析
- 播音系学生的毕业论文
- 2025浙江宁波慈溪市白沙路街道公办幼儿园招聘派遣制工作人员3人考试备考试题及答案解析
- 智能制造与自动化技术实践操作指南
- 快速康复在泌尿外科的应用
- 2025版抵押贷款抵押物抵押权登记及变更手续协议模板
- (标准)按摩店转让合同协议书
- 《死亡医学证明(推断)书》培训试题(附答案)
- 护理核心制度2025年
- 膀胱灌注的护理课件
- 桥梁安全保护区管理制度
- 学堂在线 大学生国家安全教育 章节测试答案
- 2025至2030中国增强型飞行视觉系统行业发展趋势分析与未来投资战略咨询研究报告
- 华文版二年级上册-写字-书法
- 慢性根尖周炎病例分析
评论
0/150
提交评论