付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模糊算法的研究和 C 语言实现-模糊算法是通过对现实对象的分析,处理数据并构建模糊型数学模型。用隶属关系将数据元素集合灵活成模糊集合,确定隶属函数,进行模糊统计多依据经验和人的心理过程,它往往是通过心理测量来进行的,它研究的是事物本身的模糊性。近年来,智能控制理论和方法的研究受到国内外众多专家和学者的高度重视,并取得了许多成功的实例。目前,对于工业过程控制,实用的智能控制方法主要有两种:专家式控制和模糊控制,它们的特点是基于“专家”经验设计控制器,而无需考虑工业对象具体物理模型,尤其是后一种方法,由于它利用了模糊推理,已形成了一套较为规范的设计程序,且成功实例较多,故目前模糊控制算法的研究较为
2、活跃。模糊控制的特点适用于不易获得精确数学模型的被控对象;是一种语言变量控制器;3从属于智能控制的范畴。该系统尤其适于非线性,时变,滞后系统的控制;4抗干扰能力强,响应速度快,并对系统参数的变化有较强的鲁棒性。模糊控制的原理s:系统的设定值;x1,x2:模糊控制的输入(精确量);X1,X2:模糊量化处理后的模糊量;U:经过模糊控制规则和近似推理后得出的模糊控制量;u:经模糊判决后得到的控制量把由各种传感器测出的精确量转换成为适于模糊运算的模糊量精确量,然后将这些量在模糊控 TW寸各执行器进行具体的判决制器中加以运算 K,玉操作控制,在模糊控,存在y:对象的输什也可以噂成:再1模翱/语言烬戈UI
3、模糊置I1TTI模糊推理 1-清嘛里u对象工作步骤:输入量模糊化、建立模糊规则、进行模糊推理、输出量反模糊。模糊控制的优点:传统的自动控制控制器的综合设计都要建立在被控对象准确的数学模型(即传递函数模型或状态空间模型)的基础上,但是在实际中,很多系统的影响因素很多,油气混合过程、缸内燃烧过程等),很难找出精确的数学模型。这种情况下,模糊控制的诞生就显得意义重大。因为模糊控制不用建立数学模型不需要预先知道过程精确的数学模型。模糊算法的应用基于遗传算法的模糊滑模控制器设计及其在直流伺服系统中的应用滑模控制因其设计简单, 对控制对象参数变化及外扰动的不变性等优点而被广泛用于工业生产过程,尤其在伺服系
4、统的控制中取得了成功的应用13,但是传统滑模控制存在一个突出的缺点,即抖振。为解决这一问题出现了模糊滑模控制4,5,通过在边界层内根据滑动模变量 s 的模糊量,决定控制量 u,进而实现对 u 的柔化”,以消弱抖动。但是上述模糊滑模控制方案难以保证边界层内滑动模态的可达性,因而也就失去了滑模控制不变性的优点6。本文提出一种新的模糊滑模控制器设计方法,可充分保证滑动模态的可达性。由于模糊控制量与滑模变量之间无直接对应关系,按照专家经验采用启发式设计方案难度较大,而且难以保证设计参数的最优性,为此,本文通过采用遗传算法对控制器模糊项参数进行寻优设计。考虑如下动态系统x(n)=f(x,x(r-1)+b
5、ub0(1)其中状态向量(x,*,x(r-1)=XT,假设f(.)=J,(.)+Af(.)(2)其中是 f 的估计值,A 的模型的不确定性,F 是 A 的勺上界函数,即IAf(.)|0j=0(9)以实现 s.0,即满足可达性条件,因此整个控制量为u=ueq+ud(10)然而,由于系统具有不确定性,ueq 难以精确获得,因此考虑不确定性后有/ueq=rTe-(xTr-eT)+x(n)r(11)把式(9),式(11)代入式(6)得一/一官)十了厂一”X(x/(12)由 s.0(13)考虑一般性,bw且 b 具有不确定性,假设3-1/b3(14)其中b为b 的估计值,3 大于或等于 1,那么取式(1
6、0)控制律为cn=1。滑ud=3(F(.)+刀)+)Beq|令 Q 邛(F(.)+刀)+0,若不考虑参数的不确定性,即 3=1F(.)=0,则 Q=r。由分析可知,Q 过小将影响非滑动模态到滑动模态的过渡时间或难以满足可达性条件;Q 过大,将导致大的抖振。考虑参数不确定性,在仅知道参数上下界的情况下,会使 Q 取值过大,不可避免产生大的抖振。为尽量消除抖振现象,文献4,5提出在边界层内根据 s 的模糊值对 Q 值进行模糊调节,这一方法虽可以在边界层内起到柔化控制量 u 的作用,但由于参数的不确定性,对 Q 值的调节难以保证 s50 在边界层内成立,因为此时没有考虑 5 的变化情况。本文提出一种
7、模糊滑模控制器,该控制器根据滑模函数 s 及其导数5的模糊值决定 Q 的变化量AQO当 s 与?符号相反时AQ取值小于或等于零,当 s 与同号时,AQ适当取正以使 s.、0 成立。AQ的模糊取值根据如下规则。RiIfsisAiandisBithenAQiisyi进而得到u=”(ueq+ud)=|刈 eq+同d(15)sgn(s)(16)规则中 Ai,Bi 表示模糊集,则规则集输出系。AQ与模糊规则之间可通过模糊推理机建立如下关-四岁-三产.J1IJRi 表示第 i 条模糊规则,m 表示模糊规则数,且有i=nAi(s 尸地 Bi(18)(17)科 Ai 科 B 是 s、3 的隶属度函数,定义如下
8、(19)0衣吃(上一9) )邑一片)V了&(丁一Zj)/(/5;着)向匕工(20)式中 aiQ3iQYi 凄示a、i3、i丫的初值,可结合一定的经验知识给出。从以上对模糊控制器的结构分析可以发现,S 和,的隶属度函数参数aq3、i丫有规则输出参数 yi 影响着模糊量AQ的值。而由式(21)可知,在“iQ3iQ/繇初值给定情况下,“J3,i丫是由S,ie决定的。所以对Sje,iyi 寻优即可以实现模糊控制器参数优化设计。但是仅进行参数优化设计还难以实现真正的控制器优化,因为参数优化是在模糊集划分一定的情况下进行的,过多的模糊集划分将造成规则冗余,冗余的模糊规则必然会占用过多的存储空间,增
9、大控制器决策时间。因此,对模糊集的划分同样需要寻优,以实现模糊控制器从结构到参数的最优设计。2.柴油机转速模糊控制的一种算法及其实现转速模糊控制算法及实现仅考虑转速闭环时,柴油机转速模糊控制系统框图如图 1 所示.图I柴油机转速模糊挽制系统框图图 1 中,R 为转速给定值;Y 为系统输出(实际转速值);E=Y-R 为转速偏差;EC 为转速偏差的变化率;A 为 E 经模糊化处理后,论域为 X 的模糊集;B 为 EC 经模糊化处理后,论域为 Y 的模糊集;C为论域为 Z 的控制量模糊集;Au 为 C 经模糊判决后的控制增量;Au*为清晰化计算出的实际控制增量.2.1 输入变量的模糊化考虑到本文研究
10、的转速控制系统被控对象是一台 6135 型柴油机,最高转速为 15QQr/min,最低稳定车 t 速为 75Qr/min,因此 X 的论域可取为-15QQ,15QQ,y=-15QQ,15QQ.取转速偏差 E 的论域为-75Q,75Q,隶属函数取梯形 2 三角形式(见图 2).对a、i3、i丫有如下定义禺=/+春兀=(工+瓦)+浜(21)-310VI。-IIO-10IDLIO210310(转速保楚)图2转速偏差模糊集的隶属函数曲线转速偏差的语言变量 E 在 X 中取 11 个语言值.由图 2 可见,每个模糊子集均可用以下两式表不:科(x)=ax+b(1)(i(x)=-cx+d(2)显然,对任意转
11、速偏差输入,在进行模糊化过程中,只属于两个模糊子集,对其它模糊子集的隶属度为零,如此处理可简化计算,减少内存和时间开销.其中,转速偏差分为 5 个区域,即0,10,10,110,110,210,210,310,310,750,每个区域的隶属度按(1)式和(2)式计算,区别仅在于系数a,b,c,d 各不相同,由于以 x)轴的左半部曲线与右半部取为完全轴对称,因此当转速偏差为负值时,其计算程序上与上述程序相同.2.2 模糊规则及模糊推理考虑最简单的情况,模糊控制器采用一维结构时,其控制规则如下:IfEisZEthenAuisZEIfEisPSthenAuisPSIfEisPMthenAuisPMI
12、fEisPBthenAuisPBIfEisPVBthenAuisPVB其中:Au 为模糊控制量的增量值,当转速偏差 E 为负值时,规则同上,只是 Au 的符号相应改变(Au的符号与 E 的符号一致);ZE,S,M,B,VB 分别表示输出增量 Au 为“零,小,中等,大,很大,P 表示Positive”,N 表示Negative.由以上分析可见,虽然模糊控制规则共有 9 条,但由于转速偏差 E 符号不同时,其控制规则是对称的,因此在实施模糊推理时,只用到了 5 条规则.此外,由于任意转速偏差 E 只可能属于两个模糊子集,因此在实际运算时,对应每个采样周期的转速偏差输入只可能激活两条规则,这样处理
13、的结果是大大简化了计算,保证了实时控制对微处理器运算速度的需要.模糊推理采用近似推理法则.对于一条被激活的规则,控制增量 Au 的隶属度按 Mamdani合成推理方法计算,即“为二生F八内由于此处只考虑转速误差 E 作为模糊车入变量,因此输出增量 Au 的隶属度与输入变量的隶属度相同.2.3 清晰化计算对应于每个采集周期的转速偏差值 E,由上述模糊决策过程激活 2 条控制规则(当 E 小于 10r/min 时仅激活一条规则),并可求出每条规则中模糊输出增量 Au 的隶属度值.Au*的隶属函数取单值线函数,即一系列的离散值(见图 3).输出控制量是执行器闭环控制的给定值,其论域为0,100%,则
14、输出增量 Au*的论域取值为-100%,100%.对于求出的模糊输出增量,采用重心法计算其精确输出增量值,即:除IWaj;=i当采用一维模糊控制器时,对于上述的输入变量模糊隶属度函数的模糊推理方法,不难证明匕4=1Ai日,4.上2 因此上式的计算量很小,易于在单片机中实现.结论在以 80C196KC 嵌入式 16 位单片机为核心的柴油机数字调速系统中,根据上述算法设计了控制软件,并在 6135 型柴油机上进行了实机试验.图 4 和图 5 表示了柴油机低速空车接排时转速和齿杆位移变化的动态过程.由图可见,在接排白瞬间,柴油机的转速急剧下降,与此同时,齿杆位移量几乎是呈直线增加到 100%,说明控
15、制器控制动作的快速性已达到极限.事实上,通过一系列性能测试,以本文提出的模糊控制算法为基本控制策略的柴油机转速控制系统具有良好的动态性能,但若仅采用模糊控制,系统的稳态性能达不到一级调速精度.可采用多种控制策略来改善系统的稳态性能,其中 Fuzzy-PID 复合控制是提高系统控制精度的有效途径。模糊控制算法的 C 语言实现#include#includemath.h#definePMAX100#definePMIN-100#defineDMAX100#defineDMIN-100#defineFMAX100intPFF4=0,12,24,48;/*输入量 D 语言值特征点*/intDFF4=0
16、,16,32,64;/*输出量 U 语言值特征点*/intUFF7=0,15,30,45,60,75,90;/*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/*a0=0.3,a1=0.55,a2=0.74,a3=0.89*/intrule77=/误强化率-3,-2,-1,0,1,2,3/-6,-6,-6,-5,-5,-5,-4,/-3-5,-4,-4,-3,-2,-2,-1,/-2-4,-3,-2,-1,0,1,2,/-1-4,-3,-1,0,1,3,4,/0-2,-1,0,1,2,3,4,/11,2,2,3,4,4,5,/24,5,5,5,6,6,6;/3*/*语言值的满
17、幅值*/1.-:.-.-.*.;.一_-X0.5020406。8。100120t/sg5 空车按 I*由杆位移量变化曲段图 4 空车接排转速变化曲线intFuzzy(intP,intD)/*模糊运算引擎*/(intU;/*偏差,偏差微分以及输出值的精确量*/unsignedintPF2,DF2,UF4;/*偏差,偏差微分以及输出值的隶属度*/intPn,Dn,Un4;longtemp1,temp2;/*隶属度的确定*/*根据 PD 的指定语言值获得有效隶属度*/if(P-PFF3&PPFF3)(if(P=-PFF2)(Pn=-2;PF0=FMAX*(float)(-PFF2-P)/(P
18、FF3-PFF2);elseif(P=-PFF1)(Pn=-1;PF0=FMAX*(float)(-PFF1-P)/(PFF2-PFF1);elseif(P=PFF0)(Pn=0;PF0=FMAX*(float)(-PFF0-P)/(PFF1-PFF0);elseif(P=PFF1)(Pn=1;PF0=FMAX*(float)(PFF1-P)/(PFF1-PFF0);elseif(P=PFF2)(Pn=2;PF0=FMAX*(float)(PFF2-P)/(PFF2-PFF1);elseif(P=PFF3)(Pn=3;PF0=FMAX*(float)(PFF3-P)/(PFF3-PFF2);e
19、lseif(P=PFF3)(Pn=3;PF0=0;)PF1=FMAX-PF0;if(D-DFF3&DDFF3)(PF0=FMAX;if(D=-DFF2)(Dn=-2;DF0=FMAX*(float)(-DFF2-D)/(DFF3-DFF2);)elseif(D=-DFF1)(Dn=-1;DF0=FMAX*(float)(-DFF1-D)/(DFF2-DFF1);)elseif(D=DFF0)(Dn=0;DF0=FMAX*(float)(-DFF0-D)/(DFF1-DFF0);)elseif(D=DFF1)(Dn=1;DF0=FMAX*(float)(DFF1-D)/(DFF1-DFF
20、0);)elseif(D=DFF2)(Dn=2;DF0=FMAX*(float)(DFF2-D)/(DFF2-DFF1);)elseif(D=DFF3)(Dn=3;DF0=FMAX*(float)(DFF3-D)/(DFF3-DFF2);)elseif(D=DFF3)(Dn=3;DF0=0;)DF1=FMAX-DF0;/*使用误差范围优化后的规则表 rule77*/*输出值使用 13 个隶属函数,中心值由 UFF7指定*/*一般都是四个规则有效*/Un0=rulePn-1+3Dn-1+3;Un1=rulePn+3Dn-1+3;Un2=rulePn-1+3Dn+3;Un3=rulePn+3Dn+
21、3;if(PF0=DF0)UF0=PF0;elseUF0=DF0;if(PF1=DF0)UF1=PF1;elseUF1=DF0;if(PF0=DF1)UF2=PF0;elseUF2=DF1;if(PF1UF1)UF1=0;elseUF0=0;)if(Un0=Un2)if(UF0UF2)UF2=0;elseUF0=0;if(Un0=Un3)(if(UF0UF3)UF3=0;elseUF0=0;)if(Un1=Un2)(if(UF1UF2)UF2=0;elseUF1=0;)if(Un1=Un3)(if(UF1UF3)UF3=0;elseUF1=0;)if(Un2=Un3)(if(UF2UF3)UF3=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年半导体工艺集成工程师笔试真题
- 2026年急救单元测试题及答案
- 2026年停电应急预案测试题及答案
- 2026年上海性别测试题及答案
- 2026年c语言上机测试题及答案
- 2026年股权投资基金测试题及答案
- 2026年志愿者招募测试题及答案
- 神经内科患者的静脉输液护理
- 2026年物理原子的结构测试题及答案
- 2026年皮肤概论测试题及答案
- FDA食品安全计划PCQI范本
- 轨道交通系统运营与维护手册(标准版)
- 小学科学新教科版二年级下册2.5.设计钓鱼玩具 练习题(附参考答案和解析)2026春
- 2025年中国铁路武汉局集团有限公司招聘高校毕业生1291人(二)笔试参考题库附带答案详解
- 2026年设备安装质量员考试题库(附答案)
- 《缺血性脑卒中动物模型评价技术规范第1部分:啮齿类动物》编制说明
- 2025-2026学年西宁市城东区数学四年级上学期期中质量跟踪监视试题含解析
- 2026中国旅游集团总部及所属企业岗位招聘9人参考题库附答案
- 油田钻井监督岗位培训考试题全集
- 狐狸的清白教学课件
- 2025年拼多多客服知识考核试题及答案
评论
0/150
提交评论