西安交大自动化智能控制实验报告.docx

上传人:b****1 文档编号:2406679 上传时间:2023-05-03 格式:DOCX 页数:32 大小:1.19MB
下载 相关 举报
西安交大自动化智能控制实验报告.docx_第1页
第1页 / 共32页
西安交大自动化智能控制实验报告.docx_第2页
第2页 / 共32页
西安交大自动化智能控制实验报告.docx_第3页
第3页 / 共32页
西安交大自动化智能控制实验报告.docx_第4页
第4页 / 共32页
西安交大自动化智能控制实验报告.docx_第5页
第5页 / 共32页
西安交大自动化智能控制实验报告.docx_第6页
第6页 / 共32页
西安交大自动化智能控制实验报告.docx_第7页
第7页 / 共32页
西安交大自动化智能控制实验报告.docx_第8页
第8页 / 共32页
西安交大自动化智能控制实验报告.docx_第9页
第9页 / 共32页
西安交大自动化智能控制实验报告.docx_第10页
第10页 / 共32页
西安交大自动化智能控制实验报告.docx_第11页
第11页 / 共32页
西安交大自动化智能控制实验报告.docx_第12页
第12页 / 共32页
西安交大自动化智能控制实验报告.docx_第13页
第13页 / 共32页
西安交大自动化智能控制实验报告.docx_第14页
第14页 / 共32页
西安交大自动化智能控制实验报告.docx_第15页
第15页 / 共32页
西安交大自动化智能控制实验报告.docx_第16页
第16页 / 共32页
西安交大自动化智能控制实验报告.docx_第17页
第17页 / 共32页
西安交大自动化智能控制实验报告.docx_第18页
第18页 / 共32页
西安交大自动化智能控制实验报告.docx_第19页
第19页 / 共32页
西安交大自动化智能控制实验报告.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

西安交大自动化智能控制实验报告.docx

《西安交大自动化智能控制实验报告.docx》由会员分享,可在线阅读,更多相关《西安交大自动化智能控制实验报告.docx(32页珍藏版)》请在冰点文库上搜索。

西安交大自动化智能控制实验报告.docx

西安交大自动化智能控制实验报告

一:

实验目的

1.掌握基于MATLAB的模糊控制系统设计的基本方法和步骤,包括Toolboxes中模糊工具箱、SIMULINK的使用以及模糊控制器的设计方法,并对相应的控制系统设计出对应的模糊控制器的规则;

2.将课本内容与实际应用相结合,进一步理解模糊控制所涉及的知识。

例如:

模糊集合的定义、模糊语言、模糊推理、模糊变量的隶属函数、论域等;

3.对模糊PID控制器进行SIMULINK仿真,掌握应用MATLAB对控制系统进行仿真的基本方法。

4.在设计好的控制器基础上,改变相应的量化因子和比例因子,分析各参数对系统的影响。

一、实验内容

已知

,设计模糊控制器,并进行仿真,使系统达到较好性能,并对结果进行一定的分析。

具体要求:

重新划分论域,并制定规则,保证设计的系统是稳定的,控制效果要优于FUZZY_PID的控制效果,系统的响应速度尽量快。

此外,要对这个设计和仿真过程进行完整的表述。

二、模糊控制器原理分析

1.概述

模糊逻辑控制器(FuzzyLogicController),简称为模糊控制器,其特点是控制规则是基于模糊条件语句描述的语言控制规则。

模糊控制器包含模糊接口、规则库、模糊推理、去模糊化接口等部分。

输入变量是过程实测变量与系统设定值之差值,输出变量是系统的实时控制修正变量。

 

图1模糊逻辑控制器的基本结构

一维模糊控制器的输入量是系统的偏差量e,输出量是模糊量U,在实施控制时,要对模糊量U进行去模糊化处理,转化为精确值。

因此,得到可操作的确定值u,就是模糊控制器的输出值,通过u的调整控制作用,使偏差e尽量小。

本次实验中,所用的器是目前广为采用的二维模糊控制。

它的输入量是偏差e和偏差变化率de,以控制量u作为输出量,它比一维控制器有较好的控制效果,且易于计算机的实现。

2.模糊控制器设计所包括的内容

(1)确定模糊控制器的输人变量和输出变量(即控制量);

(2)设计模糊控制器的控制规则;

(3)确立模糊化和非模糊化的方法;

(4)选择模糊控制器的输入输出变量的论域并确定模糊控制器的参数;

(5)模糊控制器的软硬件实现;

(6)合理选择模糊控制算法的采样时间。

3.模糊控制器规则的设计

控制规则的设计是设计模糊控制器的关键,一般包括三部分设计内容:

选择描述输入、输出变量的模糊集合,定义各模糊变量的模糊子集及建立模糊控制器的控制规则。

(1)选择描述输入和输出变量的模糊量

选择较多的模糊子集描述输入、输出变量,可以使制定控制规则方便,但是控制规则相应变得复杂;选择子集过少,使得描述变得粗糙,导致控制器的性能变坏。

一般情况下都选择七个模糊子集,但也可以根据实际系统需要选择三个或五个子集。

本次实验中,针对被控对象,改善模糊控制结果的目的之一是尽量减小稳态误差。

因此,对应于控制器输入——误差e,将其分为八个模糊子集:

{NB,NM,NS,NE,PE,PS,PM,PB}

将另一个输入——误差的变化率de及控制器的输出u分为七个模糊子集:

{NB,NM,NS,ZE,PS,PM,PB}

(2)定义各模糊子集的隶属度函数

经理论研究显示,在众多隶属函数曲线中,用正态型隶属度函数来描述模糊变量是最适宜的。

但在实际的工程中,正态分布的隶属度函数的运算是相当复杂和缓慢的,而三角型分布的隶属度函数的运算简单、迅速。

因此,控制系统的众多控制器一般采用计算相对简单,控制效果迅速的三角型分布。

但是,在实验中经过不断更改变量的隶属度函数,并观察控制器输出发现,对与本次实验的系统,高斯型隶属度曲线的控制效果更好。

(3)建立模糊控制器的控制规则。

模糊控制器的控制规则是基于人们通过学习、试验以及长期经验积累而逐渐形成的,存储在操作者头脑中的一种技术知识集合,是通过对被控对象或过程的一些观测,操作者再根据已有的经验和技术知识,进行综合分析并做出控制决策,调整加到被控对象的控制作用,从而使系统达到预期的目标。

这种基于经验的控制的作用同自动控制系统中的控制器的作用是基本相同的,所不同的是前者的决策是基于操作系统经验和技术知识,而后者控制决策是基于某种控制算法的数值运算。

利用模糊集合理论和语言变量的概念,可以把利用语言归纳的经验控制策略转换为数值运算,即所谓的模糊自动控制。

4.精确量的模糊化

将精确量(数字量)转换为模糊量的过程称为模糊化。

精确量只有经过模糊化处理,变为模糊量,才能便于实现模糊控制算法。

过程参数的变化范围是各不相同的,为了统一到指定的论域中来,模糊化的第一个任务是进行论域变换,过程参数的实际变化范围成为基本论域。

模糊化的第二个任务是求得输入对应语言变量的隶属度。

语言变量的隶属函数有两种表示方式,即离散方式和连续方式。

本次实验中,采用的模糊化方法是把精确量离散化。

如把在论域中变化的连续量分为几个档次,每一档对应一个模糊集合,这样处理使模糊化过程简单。

否则,将每一精确量对应一个模糊子集,有无穷多个模糊子集,使模糊化过程复杂化。

实际上的输入变量(如误差和误差的变化等)都是连续变化的量,通过模糊化处理,把连续量离散为论域中有限个整数值的做法是为了使模糊推理合成方便。

5.模糊推理及其模糊量去模糊化方法

建立的模糊控制规则要经过模糊推理才能决策出控制变量的一个模糊子集,它是一个模糊量而不能直接控制被控对象,还需要采取合理的方法将模糊量转换为精确量,以便最好地发挥出模糊推理结果的决策效果。

把模糊量转换为精确量的过程称为去模糊化,也称反模糊化。

6.模糊控制规则表

模糊控制表一般由两种方法获得,一种是采用离线算法,以模糊数学为基础进行合成推理,根据采样得到的误差e、误差的变化de,计算出相应的控制量变化

另一种是以操作人员的经验为依据,由人工经验总结得到模糊控制表。

然而这种模糊控制表是非常粗糙的,引起粗糙的原因,是确定模糊子集时,完全靠人的主观而定,不一定符合实际情况,在线控制时有必要对模糊控制表进行在线修正,而这会对工程实现带来很多的麻烦。

由于e的模糊分割数是8,ec的模糊分割数也是7。

我们建立的模糊系统共包括56条规则。

三、实验步骤:

根据上述的模糊控制器原理分析,结合具体的MATLAB中模糊逻辑工具箱FuzzyLogicToolbox以及Simulink仿真环境,开始本次实验,具体步骤如下:

一:

模糊控制器的设置

1.设置模糊控制器输入输出变量

1)在MATLAB主窗口中键入“fuzzy”,回车;或顺序单击“START”->“Toolboxes”->“FuzzyLogic”->“FISEditorViewer”->“New”->“Mamdani”,进入二维Mamdani型FIS编辑器界面;

2)再在FIS编辑器界面上,顺序单击“Edit”->“AddVariable”->“input”,为系统添加一个输入;

图2FIS编辑器界面

3)单击输入量“input1”模框,发现其边框变红,再在“CurrentVariabel”区中“Name”编辑框中,输入模糊控制器的输入变量名“e”,回车,即完成了输入变量的重命名。

同样的,将输入变量“input2”和输出变量“output1”分别重命名为de和u。

2.设置模糊控制器输入输出变量的论域以及隶属度函数

双击输入量e模框,进入MF编辑器界面,如下所示:

图3MF编辑器界面

1)初步设置输入输出量论域

根据下图所示的老师的FUZZY_PID模糊控制器的控制结果,观察误差e,误差变化率de和初步确定e、de和控制器输出u的取值范围,可大致论域范围。

图4-1FUZZY_PID控制器的阶跃响应曲线

图4-2FUZZY_PID控制器的误差及误差变化率曲线

以u为例,根据图像所示,输出量u的范围为[0,1.2],因此,在设计初期,首先将u的论域从[0,2]缩小到[0,1.2]。

单击输入变量“u”模框,在其“Range”栏内,输入误差e的论域为[0,1.2]。

接下来,用同样的方法,确定e的论域为[-3,1],de的论域为[-0.2,0.2]。

至此,已经完成了控制器输入输出量的论域设置,这只是初步调节,以上数据都会在具体实验中,根据系统的阶跃响应的震荡、收敛性、超调以及响应速度做适当的调整。

2)顺序单击菜单“Edit”->“RemoveallMFs”,删除所有模糊变量,在顺序单击“Edit”->“AddMFS”,弹出的如下对话框:

图5隶属度函数对话框

在对话框中“MFtype”一栏选择“gaussmf”,即高斯型隶属度函数,在“NumberofMFs”一栏,选择“8”,单击“OK”,完成设置,如下图所示:

图6隶属度函数显示

点击其中一个隶属度函数,在“Name”框中输入该隶属度函数对应的模糊集合的名称,覆盖原有名称,以e为例,由左至右依次为{NB,NM,NS,NZ,PZ,PS,PM,PB}。

同样的,按相同步骤设置输入量de和输出量u。

其中,两者隶属度函数均设置问高斯型,模糊变量数为7个,名称设置相同,为{NB,NM,NS,ZE,PS,PM,PB}。

至此,已经完成了模糊控制器输入输出变量的初步设置,如下图所示:

图7-1输入量e的模糊子集显示

图7-2输入量de的模糊子集显示

图7-3输出量u的模糊子集显示

3.制定模糊控制器控制规则:

规则制定的好坏,关系到控制器的收敛性。

在本次实验中,根据一般情况下系统的阶跃响应曲线的形状,并结合模糊控制器的输入输出变量的隶属度函数所对应的论域的具体取值范围,依据经验制定模糊控制器的控制规则。

正如下图所示,当输出量小于1时,误差e小于零;同样,当输出量大于1,则误差e大于零。

而且当输出u处于上升趋势时,误差逐渐减小,误差变化率de小于零;相反的,当输出与处于下降趋势时,误差变化率de大于零。

图8一般情况下的阶跃响应曲线

综合以上信息,将模糊控制器的规则制定如下表所示:

表1模糊控制器规则表

u

e

NB

NM

NS

NZ

PZ

PS

PM

PB

 

de

NB

PB

PB

PB

PM

PM

PM

NM

NM

NM

PB

PB

PS

PS

PM

PM

NM

NM

NS

PB

PM

PS

PS

PS

PS

NM

NM

ZE

PB

PM

PS

ZE

ZE

NS

NM

NM

PS

PB

PM

NS

NS

NS

NS

NM

NM

PM

PB

PM

NM

NM

NM

NS

NS

NM

PB

PB

PM

NM

NM

NM

NB

NB

NM

下面,将制定好的规则输入到模糊控制编辑器中,在MF编辑器界面,顺序单击菜单“Edit”->“Rules”,进入模糊规则编辑器,如下所示:

图9-1模糊规则编辑器界面

如上图所示,模糊规则编辑器中提供了一个文本编辑窗口,用于规则的输入和修改。

在模糊规则编辑器中,系统已将在MFEdit中定义的变量显示在界面的左下部。

在窗口上选择相应的输入输出变量,然后选择不同变量之间的连接关系(or或and)以及输入权重(缺省状态下为1),然后单击按钮“Addrule”,制定好的规则就会显示在编辑器的显示区域中。

例如,分别在变量“e”模框选择“NB”,在“de”模框中选择“PB”,在“u”模框中选择“PB”,e与de的连接关系为“and”型,然后单击按钮“Addrule”,结果如下图所示:

图9-2规则编辑的显示

按照上述步骤,逐步完成其余55条规则的输入,完成后,单击“Close”,关闭模糊规则控制器。

4.完成模糊控制器的设置,存盘

在MFEdit界面中,顺序点击菜单“File”->“Export”->“ToDisk”,在弹出的对话框中,以“Fuzzywzq”命名并保存。

同理,若想导入模糊控制器,则在模糊逻辑编辑器中顺序单击“File”->“Import”->“FromDisk”,在目标文件夹中选择相应的*.fis文件即可。

5.模糊规则观察器以及模糊推理输出曲面视图

应用以上三个模糊逻辑工具箱图形工具,就可以完整的建立模糊推理系统,要查看模糊推理系统的各种特性,就需要应用下面两个观察器。

1)模糊规则观察器

模糊规则观察器的功能是用于显示模糊推理图,并显示模糊推理系统的行为是否与预期的一样。

要打开模糊推理观察期可以在MATLAB命令窗口键入“ruleview”或在模糊逻辑编辑器中顺序单击“View”->“Viewrules”。

打开模糊规则观察器如下图所示:

图10模糊规则观察器

模糊推理观察器显示了整个模糊推理过程中的重要部分。

每一个规则与一行图形相对应,每一列上是一个变量。

前两列显示的是输入变量所引用的隶属度函数,第三列显示的是结果所引用的隶属度函数。

单击图形最左边的某个规则标号,将在图形下端显示相应的规则。

第三列的最后一个图形中表示对给定推理系统的总和加权判定。

从模糊规则观察器中可以立即解释全部模糊推理过程。

模糊规则观察器同样显示了某一隶属度函数的形状会如何影响整体结果。

2)输出曲面观察器

模糊规则观察器非常详细的显示了在某一时刻的计算,在这个意义上,他给出的是模糊推理系统的微观视图。

而输出曲面观察器显示的是模糊推理系统的全部输出曲面,也就是整个输入区间相对应的整个输出曲面。

在MATLAB的命令窗口中键入“surfview”或在模糊逻辑编辑器中顺序单击“View”->“Viewsurface”。

打开的输出曲面观察器如下图所示:

图11输出曲面观察器

正如输出曲面观察器所示,由于本次实验的模糊推理系统是两输入一输出系统,因此系统的输出曲面是三维图形。

二:

Simulink系统仿真

模糊控制器设计完成后,就可以使用Simulink工具箱进行系统的动态仿真。

仿真步骤如下:

1)载入模糊推理系统

要将模糊系统嵌入Simulink,首先要保证与模糊系统相应的模糊推理系统结构已经同时载入在MATLAB工作区中,并由相关的名字指向模糊逻辑控制器。

对于上述命名为“Fuzzywzq”,顺序单击“File”->“Export”->“ToWorkplace”,出现如下对话框,以“Fuzzywzq”为名将其保存在MATLAB工具箱中。

本次试验中的Simulink模型使用老师所提供的仿真系统,如下所示:

图12Simulink仿真模型

在仿真系统中,双击“FuzzyLogicController”模块,在出现的如下对话框中,将之前载入MATLAB工作区中的模糊控制器的名字“”输入到“FISMatrix”文本框中,点击“OK”,则将工作区中的FIS结构与该模糊控制器连接起来。

图13模糊控制器的保存

2)仿真开始

点击Simulink仿真界面中的执行按钮,执行结束后,双击三个示波器Scope、Scope1和Scope2,得到输出波形如下:

图14-1初始调节后系统的阶跃响应曲线

图14-2初始调节后Fuzzywzq的控制器输入曲线

图14-3初始调节后Fuzzywzq的控制器输出曲线

可见,初步设计后的模糊控制系统的控制效果并不是很好,并没有达到老师的要求。

因此,在这原有的模糊控制器的基础上,修改变量的论域或是控制规则,观察每次修改后示波器的波形,逐步调节。

三:

结果显示与分析

1.结果显示

进过不断的修改与尝试,最后修改的模糊控制器的仿真效果如下:

图14-1最终调节后系统的阶跃响应曲线以及对其细节进行放大的结果

图14-2最终调节后Fuzzywzq的输入变量曲线以及对其细节进行放大的结果

图14-3最终调节后Fuzzywzq的输出变量曲线以及对其细节进行放大的结果

2.图像分析:

对于系统的阶跃响应曲线,如图14-1,从图中可以看出,系统在7秒时,已经进入稳态,并逐渐趋于稳定,而且不承诺在超调。

对于误差及误差变化率曲线,如图14-2,随着时间的增长,误差与误差变化率都无限趋近与零,说明输出值与期望值得误差已经很小。

对于模糊控制器输出曲线,如图14-3,由放大的图可以看出,模糊控制器的输出无限趋近于0.833,而对照着Simulink仿真系统图可以看到,在模糊控制器输出后有一个1.2倍的增益,而0.833与1.2的成绩恰为1,即系统阶跃响应的稳态值。

结合系统阶跃响应曲线,误差及误差变化率曲线以及模糊控制器输出曲线,可以确定,当前时刻的模糊控制器已经可以保持系统稳定,且无超调。

3.实验结果对比:

图15-1-1FUZZY_PID系统的阶跃响应曲线图15-1-2Fuzzywzq系统的阶跃响应曲线

图15-2-1FUZZY_PID的误差及其变化率曲线图15-2-2Fuzzywzq系统的误差及其变化率曲线

图15-3-1FUZZY_PID模糊控制器的输出曲线图15-3-2Fuzzywzq模糊控制器的输出曲线

将老师提供的FUZZY_PID模糊控制系统与本次实验设计的模糊控制系统的相应图像进行对比,得出以下结论:

i.在最大超调量方面,系统Fuzzywzq优于Fuzzy_PID。

Fuzzywzq无超调量,而Fuzzy_PID存在超调量。

ii.在上升时间方面,系统Fuzzywzq的劣于Fuzzy_PID。

对于Fuzzywzq,阶跃响应的输出值从稳态值的10%上升到90%所用的时间为2.456s,而Fuzzy_PID所用时间为1.962s。

iii.在调节时间方面,系统Fuzzywzq优于Fuzzy_PID。

Fuzzywzq的调节时间为6.115s,而系统Fuzzy_PID一直处于较大振幅的震荡状态,且稳态误差越来越大的趋势,是不稳定的系统。

根据上述分析,可以得出,系统Fuzzywzq的稳定性比系统Fuzzy_PID要好,但是快速性不如系统Fuzzy_PID。

四:

量化因子及比例因子对模糊控制器的影响

当由计算机实现模糊控制算法进行模糊控制时,每次采样得到的被控制量需经计算机计算,才能得到模糊控制器的输入变量误差及误差变化。

为了进行模糊化处理,必须将输入变量从基本论域转换到相应的模糊集的论域,这中间需将输入变量乘以相应的因子,这就是量化因子。

量化因子和比例因子均是考虑两个论域变换而引出的,但对输入变量而言的量化因子确实具有量化效应,而对输出而言的比例因子只起比例作用。

设计一个模糊控制器除了要有一个好的模糊控制规则外,合理地选择模糊控制器输入变量的量化因子和输出控制量的比例因子也是非常重要的。

量化因子和比例因子的大小及其不同量化因子之间大小的相对关系,对模糊控制器的控制性能影响极大。

下面,同过修改Simulink仿真系统中的Ke,Kde,Ku三个参数,直观的观察模糊控制器效果,结果如下:

1)将Ku由1.2修改为1将Ku由1.2修改为2

图16-1-1Ku=1的系统阶跃响应曲线图16-1-2Ku=2的系统阶跃响应曲线

图16-2-1Ku=1的模糊控制器输入变量曲线图16-2-2Ku=2的模糊控制器输入变量曲线

图16-3-1Ku=1的模糊控制器输出变量曲线图16-3-2Ku=2的模糊控制器输出变量曲线

2)将Ke由3修改为2将Ke由3修改为5

图17-1-1Ke=2的系统阶跃响应曲线图17-1-2Ke=5的系统阶跃响应曲线

图17-2-1Ke=2的模糊控制器输入变量曲线图17-2-2Ke=5的模糊控制器输入变量曲线

图17-3-1Ke=2的模糊控制器输出变量曲线图17-3-2Ke=5的模糊控制器输出变量曲线

3)将Kde由0.22修改为0.5将Kde由0.22修改为0.1

图18-1-1Kde=0.5的系统阶跃响应曲线图17-1-2Kde=0.1的系统阶跃响应曲线

图18-2-1Kde=0.5的模糊控制器输入变量曲线图18-2-2Kde=0.1的模糊控制器输入变量曲线

图18-3-1Kde=0.5的模糊控制器输出变量曲线图18-3-2Kde=0.1的模糊控制器输出变量曲线

从上面显示的图像可以看出,量化因子Ke及Kde以及比例因子Ku对控制系统的性能影响很大。

量化因子Ke及Kde的大小主要对控制系统的动态性能有影响。

Ke选的较大时,系统的超调也较大,过渡过程较长。

因为从理论上讲Ke增大,相当于缩小了误差的基本论域,增大了误差变量的控制作用,因此导致上升时间变短,但由于出现超调,使得系统的过渡过程变长。

Kde选择较大时,超调量减小,但系统的响应速度变慢。

Kec才对超调的遏制作用十分明显。

量化因子Ke和Kec的大小意味着对输入变量误差和误差变化的不同加权程度,二者之间相互影响。

此外,输出比例因子Ku的大小也影响着模糊控制系统的特点。

Ku选择过小会使系统动态响应过程变长,而Ku选择过大会导致系统振荡。

输出比例因子Ku作为模糊控制器的总的增益,它的大小影响着控制器的输出,通过调整Ku可以改变对被控对象输入的大小。

五:

实验总结

通过本次试验,基本掌握了模糊控制器的设计原理以及步骤,可以较为熟练的完成从模糊控制器的设计到系统仿真的全过程。

同时,在设计模糊控制器的过程中,也加深了对模糊控制原理的理解,体会到了规则、隶属度函数以及论域等因素给控制器带来的影响,而且,在设置规则的工程中,也积累了一些在这方面的经验。

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

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2