基于MATLAB的模糊控制参数自寻优设计与仿真

资源类型:pdf 资源大小:248.00KB 文档分类:工业技术 上传者:王星宇

相关文档

批量下载下列文档

文档信息

【作者】 屈丹 

【关键词】仿真 MATLAB 模糊控制 自寻优 

【出版日期】2005-04-15

【摘要】针对模糊控制器中的控制参数提出了一种自寻优方法,可获得一个基于一定性能指标的最优模糊控制器.在MATLAB环境中,利用优化工具箱和模糊逻辑工具箱以及M函数文件,进行了计算机仿真,仿真结果表明,该方法具有良好的收敛性,使系统的动态性能得到明显的改善.

【刊名】光电技术应用

全文阅读

  随着模糊控制在各个领域的广泛应用,出现很多优化模糊控制器的方法,以达到改善控制性能的目的.其中包括在线调整隶属度函数、模糊控制规则、输入输出控制参数等.本文针对三个控制参数:误差的量化因子 ke,误差变化的量化因子 kc,控制输出的比例因子 ku,提出一种自寻优方法,提高模糊控制器的控制性能.仿真采用 MATLAB 完成. MATLAB 是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、模糊系统、神经网络等学科的处理功能于一体,编程效率高,使用简单方便.MAT LAB具有强大的扩展功能, 它提供的建模可视化软件包 SIMULINK 和各种工具箱为仿真研究提供了强有力的手段.借助于它们,可以直观方便地进行分析、计算和仿真研究.本文在完成了理论分析的基础上,利用 MATLAB 的模糊逻辑工具箱(Fuzzy Logic Toolbox)和优化工具箱(Optimization Toolbox),构建模糊控制器, 对参数进行优化,最后利用 SIMULINK 建立仿真模型.并对仿真结果进行了分析.1 自寻优模糊控制器的设计原理1.1 三个控制参数对系统的影响以单位阶跃输入、二阶受控对象为例,典型的模糊控制系统结构如图 1 所示.其中,系统输入量为偏差 e 和偏差的变化de,输出量为控制量 u.ke,kc,ku 分别为误差的量化因子,误差变化的量化因子,控制输出的比例因子.三个控制参数对系统的影响如下:ke和kc: ke 越大,系统的调节死区越小,系统上升速率越大.但是 ke 取得过大将使系统产生较大的超调,使调节时间延长, 严重时还将产图1 典型的模糊控制系统结构图生振荡.而 ke 对系统性能的影响正好相反, kc越大,系统的反应越迟钝; kc 越小,系统的反应越灵敏,上升速率越大.而过小的也将使系统产生过大的超调,严重时也将产生振荡,使系统不能稳定运行.ke 和kc 对系统静态性能的影响:一般来说,ke 和kc 的增大都将减少系统的静差,便由于要考虑对动态性能的影响,在调整 ke 和kc 时,要统筹兼顾,权衡主次.ku 对系统性能的影响: ku 相当于常规控制系统的比例增益,一般 ku 越大,系统的响应速率越快.但 ku 过大将产生过大的超调,严重时会产生振荡,使系统不能稳定工作; ku 过小,则收敛将过慢.然而, ku 和一般控制系统不同的是,一般不影响系统的稳态误差.根据三个参数对系统的影响,选择一个目标函数,对三个参数寻优,选择最佳控制参数,获得最佳的控制性能.1.2 目标函数的选取优化的目标是使系统具有“快速———无超调”的阶跃响应特性.控制系统的参数优化设计中,常用的目标函数有以下几种:IAE 准则、ISE准则、ITAE 准则、ITSE 准则、ISTAE 准则、ISTSE 准则等.ITAE 准则可使控制系统具有快速响应特性,因此所选目标函数中应含有 ITAE准则.而要达到使系统动态响应“无超调”的目的,则需在目标函数中加入对系统超调量的约束.由此可以确定系统参数优化的目标函数为:OBJ=∫ts0 t|e( t)|dt+∫ts0 E( t)dt=∫ts0 [t|e( t)|+kE( t)]dt (1)式中:E( t)∈{e( t):e( t)>0};k———加权系数;ts———仿真时间.2 自寻优模糊控制系统结构设计根据以上原理,利用 MATLAB函数构建模糊控制器,然后利用最优化工具中的多变量约束最小化函数fimincon,实现对 ke,kc, ku 的优化.自寻优模糊控制系统的仿真模型 model.mdl如图2所示.在仿真模型 model.mdl中(图 2),仿真模型中绝对值器、乘法器和积分器用于实现 ITAE 准则,即:   ∫ts0 t|e( t)|dt (2)图2 模糊控制器优化设计仿真模型  比例系数 k、使能子系统和积分器用于实现对系统超调量的约束,即   ∫ts0 E( t)dt (3)二阶系统 H( s )=208s2+6s+1作为被控对象,系统输入信号为单位阶跃输入.输出响应曲线显示在模拟示波器中.3 用MATLAB实现仿真仿真流程如图3所示:图3 仿真程序流程图  首先建立一个 MATLAB 函数文件,定名为obj.m.这个函数以 Ke、Kc、Ku 为自变量,目标函数值 vobj 为输出.函数文件 obj.m 的程序清单如下:function vobj=obj(x);%设置全局变量global flc; global k; global ke; global kc; global ku;global t;global y;global vobj;ke=x(1);kc=x(2);ku=x(3);%被控系统建模num= 1; den = [1. 6, 4. 4, 1 ]; [ al, b, c, d] = tf2ss(num,den);x=[0;0];%系统参数T=0.01%定义模糊控制器的输入、输出变量及其隶属度函数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]);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]);%模糊控制规则flc=addrule(flc,rulelist);%模糊控制系统仿真及目标函数值计算opt1=simset(′srcworkspace′,′current’);[tt,xx,out]=sim(′model′,[0 30],opt1);outlong=length(out);vobj=out(outlong);其次建立优化主程序文件 optm.m.这里用最优化工具箱中的多变量约束最小化函数fmin con实现对á、Ke、Kc、Ku 的优化.模糊控制系统优化主程序文件optm.m 的程序清单为:global flc;global k;global ke;global kc;global ku;global t;global y;global vobj;k=-1000;opt=optimset(′diffmaxchange′,0.1,′diffminchange′,0.001,′largescale′,′off′);result=fmincon(′obj′,[0.5 45 2 3],[],[],[],[],[0 0 0 0],[1 inf],[],opt);这里,优化的初值为:Ke=45,Kc=2,Ku=3;对系统超调量约束的加权系数为 1000,仿真时间为30 t.4 优化结果在命令窗口中输入指令,运行优化程序optm.在程序运行中可利用模拟示波器 2 观察系统的输出,利用示波器1观察目标函数值的变化.优化结果为:Ke=46.964,Kc=18.384,Ku=1.8174;优化后的系统响应曲线如图4所示.其中曲线1为常规控制器的响应曲线,曲线2为优化控制的响应曲线.由图4可见,优化后系统响应速度显然有所降低,但超调很小,仿真数据显示优化后的超调量只有0.05%,达到了提高系统性能的要求.图4 系统优化响应曲线5 结束语本文提出了一种利用 MATLAB 函数构建模糊控制器的优化设计方法.该方法利用最优化工具箱( Optimization Toolbox) 中的多变量约束最小化函数fmincon,实现了对控制参数 Ke、Kc、Ku 的优化.利用 SIMULINK 对模糊控制系统阶跃响应的动态过程进行的仿真表明,控制规则及参数优化后,系统阶跃响应特性基本上能达到“快速—无超调”的设计目标.需要说明的是,由于模糊控制本质上是一种变增益 PD控制器,所以模糊控制只适用于时延较小的被控对象.当被控对象时延较大时,仅使用模糊控制难以取得满意的控制效果.这时就需要把模糊控制与其它方法结合起来以实现设计目标.基于MATLAB的模糊控制参数自寻优设计与仿真@屈丹$辽宁工学院!辽宁锦州121001仿真;;MATLAB;;模糊控制;;自寻优针对模糊控制器中的控制参数提出了一种自寻优方法,可获得一个基于一定性能指标的最优模糊控制器.在MATLAB环境中,利用优化工具箱和模糊逻辑工具箱以及M函数文件,进行了计算机仿真,仿真结果表明,该方法具有良好的收敛性,使系统的动态性能得到明显的改善.1 冯冬青,谢宋和.模糊智能控制[M].北京:化学工业出版,1998 2 范影乐,杨胜天,李轶.MATLAB仿真应用详解[M].北京:人民邮电出版社,2001 4 侯北平,卢佩,陈锋军.MATLAB下模糊控制器的设计与应用[J].测控技术,2001,20(10):40-42 5 简清华,杨高波.基于MATALAB 的仿真方法研究[J].工业仪表与自动化装置,2001,(4):41-43 8 楼顺天,于卫,闫华梁.MATLAB程序设计语言[M].西安:西安电子科技大学出版社,1998

1

问答

我要提问