模糊PID控制问题

上传人:m**** 文档编号:223884511 上传时间:2023-07-23 格式:DOCX 页数:12 大小:242.02KB
返回 下载 相关 举报
模糊PID控制问题_第1页
第1页 / 共12页
模糊PID控制问题_第2页
第2页 / 共12页
模糊PID控制问题_第3页
第3页 / 共12页
点击查看更多>>
资源描述
Fuzzy - simulink 有关模PID 问题概述最近很多 人问我关于模糊 PID 的问题,我就把模糊 PID 的问题综合了一下,希望对大家 有所帮助。一、模糊PID就是指自适应模糊PID吗?不是,通常 模糊控制和PID控制结合的方式有以下几种:1、大误差范围内采用模糊控制,小误差 范围内转换成 PID 控制 的模糊 PID 开关切换控 制。2、PID控制与模糊控制并联而成的混合型模糊PID控制。3、利用模糊控制器在线整定PID控制器参数的自适应模糊PID控制。一般用1和3比较多,MATLAB自带的水箱液位控制tank采用的就是开关切换控制。由于 自适应模糊PID控制效果更加良好,而且大多数人选用自适应模糊PID控制器,所以在这 里主要指自适应模糊 PID 控制器。二、自适应模糊PID的概念根据PID控制器的三个参数与偏差e和偏差的变化ec之间的模糊关系,在运行时不断检 测e及ec,通过事 先确定的关系,利用模糊推理的方法,在线修改PID控制器的三个参数, 让PID参数可自整定。就我的理解而言,它最终还是一个PID控制器,但是因为参数可自 动调整的缘故,所以也能解决不少一般的非线性问题,但是假如系统的非线性、不确定性 很严重时,那模糊PID的控制效果就会不理想啦。三、模糊 PID 控制规则是怎么定的?这个控制规则当然很重要,一般经验:当e较大时,为使系统具有较好的跟踪性能,应取较大的Kp与较小的Kd,同时为避 免系统响应出现较大的超调,应对积分作用加以限制,通常取 Ki=0。(2) 当e处于中等大小时,为使系统响应具有较小的超调,Kp应取得小些。在这种情况下, Kd的取值对系统响应的影响较大,Ki的取值要适当。当e较小时,为使系统具有较好的稳定性能,Kp与Ki均应取得大些,同时为避免系 统在设定值附近出现振荡,Kd值的选择根据lecl值较大时,Kd取较小值,通常Kd为中等 大小。另外主要还得根据系统本身的特性和你自己的经验 来整定,当然你先得弄明白PID三个参 数 Kp, Ki, Kd 各自的作用,尤其对于你控制的这个系统。四、量化因子Ke,Kec,Ku该如何确定?有个一般的公式:Ke=n/e(max),Kec=m/ec(max),Ku=u(max)/l。n,m,l 分另U为 Ke, Kec,Ku 的 量化等级,一般可取6或7。e(max),ec(max),u(max)分别为误差,误差变化率,控制输出的 论域。不过通过我实际的调试,有时候这些公式并不 好使。所以我一般都采用凑试法,根 据你的经验,先确定Ku,这个直接关系着你的输出是发散的还是收敛的。再确定Ke,这 个直接关系着输出的稳态误差响应。最后确定Kec,前面两个参数确定好了,这个应该也 不会难了。五、在仿真的时候会出现刚开始仿真的时候时间进度很慢,从e-10次方等等开始,该怎么 解决?这时候肯定会有许多人跳出来说是步长的问题,等 你改完步长,能运行了,一看结果,惨 不忍睹!我只能说这个情况有可能是你的参数有错误,但如果各项参数是正确的前提下, 你可以在方框图里 面加饱和输出模块或者改变阶跃信号的sample time,让不从0开始或者 加 个延迟模块或者加零阶保持器看看六、仿真到一半的时候仿真不动了是 什么原因? 仿真图形很有可能发散了,加个零阶保持器,饱和输出模块看看 效果。改变 Ke, Kec, Ku 的参数。七、仿真图形怎么反了?把Ku里面的参数改变一下符号,比如说从正变为负。模糊PID的话改变Kp的就可以。八、还有人问我为什么有的自适应模糊PID里有相加的模块而有的没有?相加的是与PID的初值相加。最后出来的各项参数Kp=AKp+Kp0,Ki=AKi+Ki0,Kd=A Kd+Kd0。Kp0,Ki0,Kd0分别为PID的初 值。有的系统并没有设定PID的初值。九、我照着论文搭建的,什么都是正 确的,为什么最后就是结果不对? 你修改下参数或者重新搭建一遍。哪一点出了点小 问题,都有可能导致失败。大家还有什么问题就在帖子后面留言哈,如果模型实在是搭建不成功的话可以给我看看,大家有问题一起 解决!附件里面是两个自适应模糊 PID 的程序,大家可以参考下! 所含文件:1.模糊数学的基本概念集合是指具有某种共同属性且彼此间可以区别的事物的总体。组成集合的事物称为元 或元素,元素与集合之间的关系是属于或不属于的关系,非此即彼。模糊集合是经典集合 的拓展, 事物是否属于它所描述的概念,不能绝对地以“是”或“非”来加以区别。这里 的属于与不属于之间无明显的界限,而是在某种程度上的属于,这是无法用经典集合来描 述的,而只能用模糊集合来描述这种模糊概念。这里首先介绍用模糊集合来描述模糊概念 的初步知识。定义1设给定域(指被讨论的全体对象)U,U到0,1闭区间的任一映射卩:U -0,l;u -卩(u)AA都确定U的一个模糊子集A。其中,称为模糊子集的隶属函数,称为U对于的隶属度。也就是说,论域u上的模糊子集A由隶属函数A(u)来表征,“ A(u)的取值范围是 0, 1,p A(u)的大小反映了 u对于A从属程度的高低。正确地确定隶属函数是利用模糊 集合解决实际问题的基础。 定义2设A、B是论域u上的两个模糊子集,对于u上的每一个元素,规定A与B的“并”运算Aub、“交”运算AnB及 “补”运算 的隶属函数分别如下:定义3 设A与B分别是x Y上的模糊集,其隶属函数分别是A(x)和B(x)。模糊条 件语句“若A则b”表示从X到y的一个模糊关系,即A-B,它的隶属函数为卩 (x) = max min卩(x),卩(x),lp (x) AtBABA2基于模糊数学的软测量1) 软测量在粮情测控系统中的应用(1) 辅助变量的选择。选择粮食水分、 粮食温度以及空气湿度作为辅助变量, 粮食状态作为主导变量。(2) 测量的输入数据的预处理。对粮食状态的预测不是根据粮仓中的某一点粮食的温度、 水分以及空气湿度来进行的,因为这样的预测不能全面反映整个粮仓粮食的实际状态。 在 这里我们采用复合滤波法,其原理是:先将 N 个采样点数据按照从小到大的顺序排列,即 x1Wx2WWxN(N$3),则可认为测量的数据为x + x +xX = 2N-1xN2这样就可比较客观地反映实际的粮食状态, 预测的结果也比较真实。根据水分传感器、温度传感器及湿度传感器所测得的数据来表示水分、 温度的高低和湿 度的大小具有模糊性。通常用隶属度描述模糊集,通过隶属度的大小来反映模糊事物接近 其客观事物的程度。该系统中三种传感器分别测得的数据范围:水分为10%16% ;温度为-3050C ;湿 度为20%98%RH。水分含量高的隶属度函数为厂 0f(x)=YI 1 +借2丄温度高的隶属度函数为1 + ( 2 1110%12 % x W16 %xW25湿度大的隶属度函数为1 + (囂0%)220 % x=0:0.1:10;y=gaussmf(x,2 5);plot(x,y)xlabel(gaussmf, P=2 5) 结果为图 6-1。图 6-16.1.2 两边型高斯隶属函数函数 gauss2mf格式 y = gauss2mf(x,sig1 c1 sig2 c2)说明 sig1、c1、sig2、c2 为命令 1 中数学表达式中的两对参数例 6-2x = (0:0.1:10);y1 = gauss2mf(x, 2 4 1 8);y2 = gauss2mf(x, 2 5 1 7);y3 = gauss2mf(x, 2 6 1 6);y4 = gauss2mf(x, 2 7 1 5);y5 = gauss2mf(x, 2 8 1 4);plot(x, y1 y2 y3 y4 y5);set(gcf, name, gauss2mf, numbertitle, off);结果为图 6-2。6.1.3 建立一般钟型隶属函数函数 gbellmf格式 y = gbellmf(x,params)说明 一般钟型隶属函数依靠函数表达式这里x指定变量定义域范围,参数b通常为正,参数c位于曲线中心,第二个参数变量params 是一个各项分别为 a, b 和 c 的向量。例 6-3x=0:0.1:10;y=gbellmf(x,2 4 6);plot(x,y)xlabel(gbellmf, P=2 4 6) 结果为图 6-3。图 6-2 图 6-36.1.4两个sigmoid型隶属函数之差组成的隶属函数函数 dsigmf格式 y = dsigmf(x,a1 c1 a2 c2)说明 这里 sigmoid 型隶属函数由下式给出x 是变量, a,c 是参数。 dsigmf 使用四个参数 a , c , a , c ,并且是两个 sigmoid 型函数 1122之差: ,参数按顺序 列出。例 6-4x=0:0.1:10;y=dsigmf(x,5 2 5 7);plot(x,y)结果为图 6-4图 6-46.1.5 通用隶属函数计算函数 evalmf格式 y = evalmf(x, mfParams, mfType)说明evalmf可以计算任意隶属函数,这里x是变量定义域,mfType是工具箱提供的一种 隶属函数, mfParams 是此隶属函数的相应参数,如果你想创建自定义的隶属函数, evalmf 仍可以工作,因为它可以计算它不知道名字的任意隶属函数。例 6-5x=0:0.1:10;mfparams = 2 4 6;mftype = gbellmf;y=evalmf(x,mfparams,mftype);plot(x,y)xlabel(gbellmf, P=2 4 6)结果为图 6-5。图 6-5616建立n型隶属函数函数 primf格式 y = pimf(x,a b c d)说明 向量 x 指定函数自变量的定义域,该函数在向量 x 的指定点处进行计算,参数a,b,c,d决定了函数的形状,a和d分别对应曲线下部的左右两个拐点,b和c分别对应 曲线上部的左右两个拐点。例 6-6x=0:0.1:10;y=pimf(x,1 4 5 10);plot(x,y)xlabel(pimf, P=1 4 5 10) 结果为图6-6。6.1.7通过两个sigmoid型隶属函数的乘积构造隶属函数函数 psigmf格式 y = psigmf(x,a1 c1 a2 c2)说明这里sigmoid型隶属函数由下式给出x是变量,a,c是参数。psigmf使用四个参数a,c,a,c,并且是两个sigmoid型函数1122之积: ,参数按顺序 列出。例6-7x=0:0.1:10;y=psigmf(x,2 3 -5 8);plot(x,y)xlabel(psigmf, P=2 3 -5 8) 结果为图6-7 。图6-6图6-76.1.8建立Sigmoid型隶属函数函数 sigmf格式 y = sigmf(x,a c)说明,定义域由向量x给出,形状由参数a和c确定。例6-8x=0:0.1:10;y=sigmf(x,2 4);plot(x,y)xlabel(sigmf, P=2 4) 结果为图6-8 。图6-8例6-9x = (0:0.2:10);y = sigmf(x,-1 5);1y = sigmf(x,-3 5);2y = sigmf(x,4 5);3y = sigmf(x,8 5);4subplot(2,1,1),plot(x,y1 y2 y3 y4);y = sigmf(x,5 2);1y = sigmf(x,5 4);2y = sigmf(x,5 6);3y = sigmf(x,5 8);4subplot(2,1,2),plot(x,y1 y2 y3 y4); 结果为图 6-9。图 6-96.1.9 建立 S 型隶属函数函数 smf格式y二smf(x,a b)% x为变量,a为b参数,用于定位曲线的斜坡部分。例 6-10x=0:0.1:10;y=smf(x,1 8);plot(x,y)结果为图 6-10。图 6-10例 6-11x = 0:0.1:10;subplot(3,1,1);plot(x,smf(x,2 8);subplot(3,1,2);plot(x,smf(x,4 6);subplot(3,1,3);plot(x,smf(x,6 4);结果为图 6-11。图 6-116.1.10 建立梯形隶属函数函数 trapmf格式 y = trapmf(x,a b c d)说明 这里梯形隶属函数表达式:或 f (x;a, b, c, d) = max (min ( ,定义域由向量 x 确定,曲线形状由参数 a,b,c,d 确定,参 数a和d对应梯形下部的左右两个拐点,参数b和c对应梯形上部的左右两个拐点。例 6-12x=0:0.1:10;y=trapmf(x,1 5 7 8);plot(x,y)xlabel(trapmf, P=1 5 7 8)结果为图6-12。例6-13x = (0:0.1:10);y = trapmf(x,2 3 7 9);1y = trapmf(x,3 4 6 8);2y = trapmf(x,4 5 5 7);3y = trapmf(x,5 6 4 6);4plot(x,y y y y);1234结果为图6-13。图6-12 图6-136.1.11 建立三角形隶属函数函数 trimf格式 y = trimf(x,params)y = trimf(x,a b c)说明 三角形隶属函数表达式:或者 f(x;a,b,c,) = max(min(定义域由向量x确定,曲线形状由参数a,b,c确定,参数a和c对应三角形下部的左右两 个顶点,参数b对应三角形上部的顶点,这里要求a,生成的隶属函数总有一个统一的高 度,若想有一个高度小于统一高度的三角形隶属函数,则使用trapmf函数。例6-14x=0:0.1:10;y=trimf(x,3 6 8);plot(x,y)xlabel(trimf, P=3 6 8) 结果为图6-14 。图6-14例6-15x = (0:0.2:10);y = trimf(x,3 4 5);1y = trimf(x,2 4 7 );2y = trimf(x,1 4 9);3subplot(2,1,1),plot(x,y y y );123y = trimf(x,2 3 5);1y = trimf(x,3 4 7);2y = trimf(x,4 5 9);3subplot(2,1,2),plot(x,y1 y2 y3 );结果为图 6-15。图 6-156.1.12建立Z型隶属函数函数 zmf格式y二zmf(x,a b)% x为自变量,a和b为参数,确定曲线的形状。例 6-16x=0:0.1:10;y=zmf(x,3 7);plot(x,y)xlabel(zmf, P=3 7)结果为图 6-16。例 6-17x = 0:0.1:10;subplot(3,1,1);plot(x,zmf(x,2 8);subplot(3,1,2);plot(x,zmf(x,4 6);subplot(3,1,3);plot(x,zmf(x,6 4);结果为图 6-17。图 6-16 图 6-176.1.13 两个隶属函数之间转换参数函数 mf2mf格式 outParams = mf2mf(inParams,inType,outType)图 6-18说明 此函数根据参数集,将任意内建的隶属函数类型转换为另一种类型, inParams 为你 要转换的隶属函数的参数, inType 为你要转换的隶属函数的类型的字符串名称, outType: 你要转换成的目标隶属函数的字符串名称。例 6-18x=0:0.1:5;mfp1 = 1 2 3;mfp2 = mf2mf(mfp1,gbellmf,trimf);plot(x,gbellmf(x,mfp1),x,trimf(x,mfp2)结果为图 6-18。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!