模糊控制实验.docx

上传人:b****6 文档编号:4949993 上传时间:2022-12-12 格式:DOCX 页数:13 大小:449.54KB
下载 相关 举报
模糊控制实验.docx_第1页
第1页 / 共13页
模糊控制实验.docx_第2页
第2页 / 共13页
模糊控制实验.docx_第3页
第3页 / 共13页
模糊控制实验.docx_第4页
第4页 / 共13页
模糊控制实验.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

模糊控制实验.docx

《模糊控制实验.docx》由会员分享,可在线阅读,更多相关《模糊控制实验.docx(13页珍藏版)》请在冰豆网上搜索。

模糊控制实验.docx

模糊控制实验

《模糊控制理论》

——上机实验报告

 

学号:

040401179

姓名:

王昊

班级:

04级自动化3班

指导老师:

车国林

 

昆明理工大学信息工程自动化学院

2006年12月

 

昆明理工大学信息工程与自动化学院学生实验报告

(2006—2007学年第2学期)

课程名称:

模糊控制开课实验室:

34012006年12月

专业:

2004年级自动化

自动化043C方向

学号040401179

姓名:

王昊

成绩:

实验名称:

用MATLAB设计模糊控制器

指导教师:

车国霖

一、实验目的:

1.数据模糊控制器极其设计基本过程和原理

2.在MATLAB环境下设计模糊控制器

二、实验要求:

1.比较PID控制器与模糊控制器的性能

2.比较PID控制器与模糊控制器的量化因素

三、实验内容:

1.熟悉模糊控制器设计的基本原理,应用MATLAB的模糊逻辑工具箱进行模糊推理:

输入模糊化,获取输入,确定它们通过隶属函数而属于每个适当的模糊集合的隶属度、应用模糊算子等。

2.熟悉PID控制器设计和仿真的基本原理,应用MATLAB的SIMULINK进行仿真,通过修改Kp,Ki,Kd的参数调整控制器的性能。

3.应用SIMULINK比较PID控制器与模糊控制器的性能。

4、运行模糊控制器设计的M文件

%FuzzyController

clearall;

closeall;

a=newfis('fuzzf');

f1=1;

a=addvar(a,'input','e',[-3*f1,3*f1]);%Parametere

a=addmf(a,'input',1,'NB','zmf',[-3*f1,-1*f1]);

a=addmf(a,'input',1,'NM','trimf',[-3*f1,-2*f1,0]);

a=addmf(a,'input',1,'NS','trimf',[-3*f1,-1*f1,1*f1]);

a=addmf(a,'input',1,'Z','trimf',[-2*f1,0,2*f1]);

a=addmf(a,'input',1,'PS','trimf',[-1*f1,1*f1,3*f1]);

a=addmf(a,'input',1,'PM','trimf',[0,2*f1,3*f1]);

a=addmf(a,'input',1,'PB','smf',[1*f1,3*f1]);

f2=1;

a=addvar(a,'input','ec',[-3*f2,3*f2]);%Parameterec

a=addmf(a,'input',2,'NB','zmf',[-3*f2,-1*f2]);

a=addmf(a,'input',2,'NM','trimf',[-3*f2,-2*f2,0]);

a=addmf(a,'input',2,'NS','trimf',[-3*f2,-1*f2,1*f2]);

a=addmf(a,'input',2,'Z','trimf',[-2*f2,0,2*f2]);

a=addmf(a,'input',2,'PS','trimf',[-1*f2,1*f2,3*f2]);

a=addmf(a,'input',2,'PM','trimf',[0,2*f2,3*f2]);

a=addmf(a,'input',2,'PB','smf',[1*f2,3*f2]);

f3=1.5;

a=addvar(a,'output','u',[-3*f3,3*f3]);%Parameteru

a=addmf(a,'output',1,'NB','zmf',[-3*f3,-1*f3]);

a=addmf(a,'output',1,'NM','trimf',[-3*f3,-2*f3,0]);

a=addmf(a,'output',1,'NS','trimf',[-3*f3,-1*f3,1*f3]);

a=addmf(a,'output',1,'Z','trimf',[-2*f3,0,2*f3]);

a=addmf(a,'output',1,'PS','trimf',[-1*f3,1*f3,3*f3]);

a=addmf(a,'output',1,'PM','trimf',[0,2*f3,3*f3]);

a=addmf(a,'output',1,'PB','smf',[1*f3,3*f3]);

rulelist=[11111;%Editrulebase

12111;

13211;

14211;

15311;

16311;

17411;

21111;

22211;

23211;

24311;

25311;

26411;

27511;

31211;

32211;

33311;

34311;

35411;

36511;

37511;

41211;

42311;

43311;

44411;

45511;

46511;

47611;

51311;

52311;

53411;

54511;

55511;

56611;

57611;

61311;

62411;

63511;

64511;

65611;

66611;

67711;

71411;

72511;

73511;

74611;

75611;

76711;

77711];

a=addrule(a,rulelist);

%showrule(a)%Showfuzzyrulebase

a1=setfis(a,'DefuzzMethod','mom');%Defuzzy

writefis(a1,'fuzzf');%savetofuzzyfile"fuzzf.fis"whichcanbe

%simulatedwithfuzzytool

a2=readfis('fuzzf');

disp('fuzzycontrollertable:

e=[-3,+3],ec=[-3,+3]');

Ulist=zeros(7,7);

fori=1:

7

forj=1:

7

e(i)=-4+i;

ec(j)=-4+j;

Ulist(i,j)=evalfis([e(i),ec(j)],a2);

end

end

Ulist=ceil(Ulist)

figure

(1);

plotfis(a2);

figure

(2);

plotmf(a,'input',1);

figure(3);

plotmf(a,'input',2);

figure(4);

plotmf(a,'output',1);

 

5、运行SIMULINK,模糊控制器与PID控制器设计如图

(1):

(1)、通过对比两个PID参数不同,说明三个参数对控制器性能的影响;

(2)、通过控制同一对象比较PID与模糊控制器的性能。

 

FigureNO.1

FigureNO.2

FigureNO.3

FigureNO.4

 

四、实验结果:

1、PID控制器三个参数对系统性能的影响

(1)Kp不同,其他相同(Kp1=60,Kp2=100)

(2)ki不同,其它相同(ki1=1,ki2=3)

(3)kd不同,其它相同()

2、模糊控制器与PID控制器的比较

3、不同的量化因子下的模糊控制器的比较

(1)、Ke=0.5,kec=0.5,ku=0.75

(2)、ke=5,kec=5,ku=7.5

五、结果分析:

1、系数Ki可消除系统的静态误差,适用于有自平衡性的系统。

加大积分系数KI(减小TI)有利于减小系统静差,但过强的积分作用会使超调量加剧,甚至引起振荡;微分系数KD的值对响应过程影响非常大。

若KP取得过小,能使系统减少超调量,稳定裕度增大,但会降低系统的调节精度,使过渡过程时间延长;不同的量化因子对模糊控制器的影响很大,过大则精度过小,过小则控制系统速度过底;

2、若增加微分作用KD,有利于加快系统响应,使超调量减小,增加稳定性,但也会带来扰动敏感,抑制干扰能力减弱。

比例系数KP增大可以加快响应速度,减小系统稳态误差,提高控制精度。

但是KP过大会产生较大超调,甚至导致系统不稳定;

3、与传统的控制相比,模糊控制有以下优点:

(1)、模糊控制适用于,不易获得精确数学模型的被控对象,其结构参数不很清楚或难以获得,只要求掌握操作人员或领域专家的经验或知识;

(2)、模糊控制是一种语言变量控制器,其控制规则只用语言变量的形式定性的表达,构成了被空对象的模糊模型。

在经典控制中,系统模型是用传递函数来描述;

(3)、模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。

 

六、实验总结:

模糊控制在实际的应用中是很广泛被运用的,无论是从模糊控制的模糊规则,还是模糊控制的模糊关系,无论从模糊控制的模糊推理,还是模糊控制的模糊判决,都只有在实践中摸索才能体会出其中的意义。

而运用MATLAB环境仿真模拟,使得模糊控制器的设计更加快洁。

在实践中一定要注意耐心,在MATLAB语言程序存在问题时一定要耐心的检查纠正,每一个函数都要验证。

在编程中思想一定要清晰,只有清晰了才能减少程序出错的可能。

还有一点是函数的命名,尽量与实际模糊控制联系,只有这样才能减少错误。

总之,模糊控制理论和MATLAB无论在以后的学习还是工作中都是十分有用的,在此次上机实验中我也学到了很多有用的东西,在以后我还将认真学习下去。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1