参数自寻优模糊控制器优化方法的研究 联系客服

发布时间 : 星期日 文章参数自寻优模糊控制器优化方法的研究更新完毕开始阅读756b6193daef5ef7ba0d3c9d

西安工业大学学士学位论文 ①由于常规模糊控制器大多采用误差和误差变化率作为输入变量,从本质上来讲等同于PD结构,少积分环节,故存在稳态误差。因此,本节在控制器的输出端加入积分环节,以消除稳态误差。

图4.2基于单纯型法的参数自寻优模糊控制器

②建立优化目标函数,通过单纯形法寻优,在系统动态响应过程中,自动调整量化因子、比例因子以及积分环节中的积分校正因子。一般来说,在模糊控制器中,量化因子与系统的灵敏度有关,它直接影响控制系统的动态响应、稳定性和控制精度。量化因子Ke和Kec越大,系统的控制精度越高,因此要提高控制精度,必须选用较大的Ke和Kec。但Ke和Kec的增大,可能导致系统超调增大,调节时间增加,动态响应变坏。同样,增大Ku能减小稳态误差,但系统的稳定性下降。积分环节的作用在于消除系统的稳态误差。积分校正因子Ki越大,系统的静态误差消除得越快,但Ki过大,会产生积分饱和现象,从而失去调节能力,若Ki过小,将使系统稳态误差难以消除。因此,为了兼顾系统的动静态性能指标,必随机试验法(或探索法),它不必计算目标函数的梯度,而是通过计算若干点(即设须要求模糊控制器能够通过优化计算,在线不断调整Ke,Kec,Ku和Ki,以满足系统的性能要求。在寻优过程中,各参数因子的调整过程如下:当误差和误差的变化率较大时,缩小Ke和Kec,以获得较平稳的控制特性,保证系统的稳定性,同时适当增大Ku和Ki来提高快速性,改善系统的动态性能。当误差或误差变化率较小时,系统已接近稳态,则增大Ke和Kec,提高控制的灵敏度,同时缩小Ku,Ki,以避免超调和振荡,使系统尽快进入稳态。

参数寻优方法很多,但由于单纯形法具有控制参数收敛快,计算工作量小,简单实用等优良性能广泛为人们所使用。单纯形法属于计变量)处的函数值,然后将它们进行比较,从它们之间的大小关系就可以判断出函数变化的大致趋势,以作为搜索方向的参考。

而在第3章中,我们的模糊控制器的输入、输出论域相同,对这类模糊控制器,其控制规则可表示为:

U1=round(?E1+(1-?)DE1)

21

西安工业大学学士学位论文 其中round为取整函数,E1表示e1的模糊集,DE1表示de1的模糊集,U1表示u1的模糊集。当?取0到1之间不同的值时,便可得到不同的模糊控制规则。这种生成模糊控制规则的方法可用以下MATLAB程序实现: for i=1:5

for j=1:5

rr(i,j)=round(alpha*i+(1-alpha)*j); end

end

程序中alpha表示?,通过改变?值可方便地修改模糊控制规则。当?=0.5时用上述方法得到的控制规则即为表3.1所示模糊控制规则。

4.2 目标函数的选取

控制系统可以用一个指标来表示系统的动态品质,称为综合性指标。误差准则就是这样一种性能指标。控制系统的特性通过误差的积分来评定。也就是实际输出与期望输出间偏差的某个函数的积分式表示的一种性能指标。性能指标是衡量控制系统性能优良度的一种尺度。常用的误差积分准则有平方误差积分准则、时间乘平方误差积分准则、绝对误差积分准则和时间乘绝对误差积分准则四种。 ① 平方误差积分准则 英文缩写 ISE。准则的具体形式为

?J??0e(t)dt (4.1)

2其中e(t)表示实际输出与期望输出的偏差,t为时间。在控制工程中,这个准则代表以能量消耗作为系统性能的评价。按照这种准则设计的控制系统,常常具有较快的响应速度和较大的振荡性(见过渡过程),相对稳定性差。 ② 时间乘平方误差积分准则 英文缩写ITSE。准则的形式是

J???0te(t)dt (4.2)

2这个准则的特点是着重考虑瞬态响应后期出现的误差,较少考虑响应中大的起始误差。

③ 绝对误差积分准则 英文缩写 IAE。准则的形式为

?J??0e(t)dt (4.3)

其中|e(t)|表示e(t)的绝对值。对于宇宙飞船系统,这个准则表示以燃料消耗作为性能的评价指标。基于这种准则设计的系统,具有适当的阻尼和良好的瞬态响应,缺点是当系统参数的选择不同时在性能指标上的反应不明显。 ④ 时间乘绝对误差积分准则 英文缩写ITAE。准则的表达式为

22

西安工业大学学士学位论文 J???0te(t)dt (4.4)

时间t与系统误差函数e(t)绝对值的乘积对于时间t的积分达到最小,系统的调节性能最佳.按此准则设计的控制系统,瞬态响应的振荡性小,且对参数具有良好的选择性。缺点是用分析法计算很困难。误差积分准则已被推广用作设计的一种性能指标。这里,我们优化的目标是使系统具有“快速--无超调”的阶跃响应特性。所以在上述控制系统的参数优化设计中常用的目标函数中可看出,ITAE准则可使控制系统具有快速响应特性,因此所选目标函数中应含有ITAE准则。而要达到使系统动态响应“无超调”的目的,则需在目标函数中加入对系统超调量的约束。由此可以确定系统参数优化的目标函数为:

OBJ?式中ts为仿真时间。

?ts0te(t)dt (4.5)

4.3参数优化模糊控制器的建立

首先建立一个MATLAB函数文件,定名为obj.m。这个函数以?、Ke、Kc、Ku为自变量,目标函数值vobj为输出。函数文件obj.m的程序清单如下: function vobj=obj(x); global flc; global k; global alpha; global ke; global kc; global ku; global t; global y; global vobj; alpha=x(1); ke=x(2); kc=x(3); ku=x(4);

%定义模糊控制器的输入 输出变量及其隶属度函数 flc=newfis('flc');

flc=addvar(flc,'input','e1',[-6 6]);

flc=addmf(flc,'input',1,'NB','trapmf',[-6,-6,-5,-3]); flc=addmf(flc,'input',1,'NS','trapmf',[-5,-3,-2,0]); flc=addmf(flc,'input',1,'ZR','trimf',[-2,0,2]);

23

西安工业大学学士学位论文 flc=addmf(flc,'input',1,'PS','trapmf',[0 2 3 5]); flc=addmf(flc,'input',1,'PB','trapmf',[3,5,6,6]); flc=addvar(flc,'input','de1',[-6 6]);

flc=addmf(flc,'input',2,'NB','trapmf',[-6,-6,-5,-3]); flc=addmf(flc,'input',2,'NS','trapmf',[-5,-3,-2,0]); flc=addmf(flc,'input',2,'ZR','trimf',[-2,0,2]); flc=addmf(flc,'input',2,'PS','trapmf',[0,2,3,5]); flc=addmf(flc,'input',2,'PB','trapmf',[3,5,6,6]); flc=addvar(flc,'output','u1',[-6 6]);

flc=addmf(flc,'output',1,'NB','trapmf',[-6,-6,-5,-3]); flc=addmf(flc,'output',1,'NS','trapmf',[-5,-3,-2,0]); flc=addmf(flc,'output',1,'ZR','trimf',[-2,0,2]); flc=addmf(flc,'output',1,'PS','trapmf',[0,2,3,5]); flc=addmf(flc,'output',1,'PB','trapmf',[3,5,6,6]); %生成模糊控制规则 for i=1:5

for j=1:5

rr(i,j)=round(alpha*i+(1-alpha)*j); end end

r1=zeros(prod(size(rr)),3); k1=1;

for i=1:size(rr,1) for j=1:size(rr,2)

r1(k1,:)=[i,j,rr(i,j)]; k1=k1+1; end end

[r,s]=size(r1); r2=ones(r,2);

rulelist=[r1,r2];

flc=addrule(flc,rulelist);

%模糊控制系统仿真及目标函数值计算

opt1=simset('srcworkspace','current'); [tt,xx,out]=sim('model',[0 30],opt1); outlong=length(out); vobj=out(outlong);

其次建立优化主程序文件optm.m这里用最优化工具箱中的多变量约束最小

24