模糊控制器设计 下载本文

成法。所谓经验归纳法,就是根据已有的控制经验和直觉推理,经整理、加工和提炼后构成模糊规则的方法。推理合成法是根据已有的输入输出数据,通过模糊推理合成,求取模糊控制量。

(2)模糊推理

模糊推理一般形式为

一维形式:IF X is A then Y is B

二维形式:IF X is A and Y is B then Z is C 6.4.2.3 清晰化

目的是根据模糊推理的结果,求得最能反映控制量的真实分布。目前常用的方法有三种,即取最大隶属度法、加权平均判决法和取中位数法。

6.4.2.4 模糊控制器的论域、量化因 子、比例因子的确定

输入、输出变量的实际变化范围称为这些变量的基本论域,以二维模糊控制器为例,设定误差的基本论域为[-xe,xe],误差变化率的基本论域为[-xc,c],控制量的基本论域为[-yu,yu]。

设误差变量所取的模糊子集的论域为 {-n,-n+1,…,0,…,n-1,n} 误差变化率所取的模糊子集的论域为 {-m,-m+1,…,0,…,m-1,m} 控制量所取的模糊子集的论域为 {-l,-l+1,…,0,…,l-1,l}

若用Ke ,Kc分别表示误差、误差变化率的量化因子,用Ku表示控制量的比例因子,则有

Ke = n/xe (6-47)

Kc = m/xc (6-48) Ku = yu/l (6-49)

比较量化因子和比例因子不难看出,两者均是考虑两个论域变化而引出的。对输入变量而言,量化因子实现输入变量的基本论域到模糊集论域的变换;对输出控制量而言,比例因子实现控制量的模糊集论域到基本论域的变

9 / 27

换。

设计一个模糊控制器除了要有一个好的模糊控制规则外,合理地选择模糊控制器输入变量的量化因子和输出控制量的比例因子也是非常重要的。实验结果表明,量化因子和比例因子的不同大小设定,对模糊控制器的控制性能影响很大。

合理地确定量化因子和比例因子要考虑所采用的计算机的字长,还要考虑计算机输入输出接口中D/A和A/D转换的精度及范围。

量化因子Ke和Kc的大小对控制系统的动态性能影响很大。Ke选得较大时,系统的超调也较大,过渡过程就越长。Ke越小,则系统变化越慢。Kc选择较大时,系统超调量减小,但系统的响应速度变慢。Kc选择较小时,系统的响应速度变快,但超调增大。Kc对超调的遏制作用十分明显。

此外,输出比例因子Ku的大小也影响着模糊控制系统的特性。Ku选择过小会使系统动态响应过程变长,而Ku选择过大会导致系统振荡。输出比例因子Ku作为模糊控制器的增益,它的大小影响着控制器的输出。

应该指出,量化因子和比例因子的选择并不是唯一的,可能有几组不同的值,都能获得较好的响应特性。对于比较复杂的被控过程,有时采用一组固定的量化因子和比例因子难以收到预期的控制效果,可以在控制过程中采用改变量化因子和比例因子的方法来调整个控制过程中不同阶段上的控制特性,以便对复杂过程控制收到良好的控制效果。这种形式的控制器称为自调整比例因子模糊控制器。

关于基本论域的选择,由于事先对被控对象缺乏了解,所以误差及误差变化率的基本论域只能做初步选择,待系统调整时再进一步确定。

6.4.2.5 编写模糊控制器的算法程序 (1)计算机离线计算查询表程序

程序属于模糊矩阵运算。查询表的建立方法是:

根据采样得到的误差xi、误差变化率yi,可计算出相应的控制量变化uij,对所有 X={x1,x2,…,xn},Y={y1,y2,…,ym}中元素的所有组合全部计算出相应的控制量变化值,可写成矩阵如下:

(uij)n×m一般将这个矩阵制成表,称为查询表,也称为控制表。将其存于计算机内存中,供计算机在线控制时使用。

10 / 27

(2)计算机在线实时控制程序

该程序在模糊控制过程中完成在线计算输入变量(误差、误差变化率),并将它们模糊化处理,查找查询表后再作输出处理。具体步骤如下:

① 设置输入、输出变量及控制量的基本论域,预置量化因子、比例因子和采样周期。

② 判断采样时间到否,若时间己到,则转向第3步,否则等待。 ③ 启动A/D转换,进行数据采集。

④ 计算误差和误差的变化率并判断它们是否已超过上(下)限值,若已超过,则将其设定为上(下)限值。

⑤ 按给定的量化因子将误差和误差变化率模糊化,并由此查询存放在计算机内存中的控制表。

⑥ 得到控制量的精确值后,乘上给定的比例因子,若已超过上(下)限值,则设置为上(下)限值。

⑦ 启动D/A转换,得到模糊控制器实际输出模 拟量,用来控制被控对象。

设计一个模糊控制器,满足如下条件:

输入:0-18范围内分为七个论域,NB NM NS ZE PS PM PB;隶属度函数满足高斯分布;

输出:-15到15范围内分为七个论域,NB NM NS ZE PS PM PB,隶属度函数为常数1。

模糊推理过程,output=输入隶属度函数值*输出论域的中心值。 一.模糊输入量化过程,程序如下: x1 = (0:0.1:18)'; y0 = gaussmf(x1, [1 0]); y1 = gaussmf(x1, [1 3]); y2 = gaussmf(x1, [1 6]); y3 = gaussmf(x1, [1 9]);

11 / 27

y4 = gaussmf(x1, [1 12]); y5= gaussmf(x1, [1 15]); y6= gaussmf(x1, [1 18]); plot(x1,[y0 y1 y2 y3 y4 y5 y6]);

模糊输入量化过程

二.模糊控制器设计,程序如下: % fuzzy logic controoler design % input [NB NM NS ZE PS PM PB]; % output [NB NM NS ZE PS PM PB]; % rule-----

% % if input is NB, then output is PB; % % if input is NM, then output is PM; % % if input is NS, then output is PS; % % if input is ZE, then output is ZE; % % if input is PS, then output is NS; % % if input is PM, then output is NM; % % if input is PB, then output is NB; % ----------------------------- % ---- authored by : zubby ----

12 / 27