模糊PID控温算法的具体实现(一):参数自整定模糊PID算法概念

  上个学期已经基本上实现了PID的温控算法,为了撰写小论文,这个学期最先要做的事情就是实现模糊PID的温控算法。

  模糊控制系统的构成与与常规的反馈控制系统的主要区别在于控制器主要是由模糊化,模糊推理机和精确化三个功能模块和知识库(包括数据库和规则库)构成的。具体实现过程如下所示:

(1)预处理:

  输入数据往往是通过测量设备测量得到的一个具体数据,预处理就是在它们进入控制器前对这些数据进行分类,或性质程度的定义。预处理过程也是量化过程,它是在离散空间中把输入数据划分为若干个数字级别。例如,假设一个反馈误差为 4.5,误差空间是(-5,-4…4,5),量化器会使它靠近离它最近的级别,四舍五入到 5。称量化器量化的比例为量化因子。量化过程是个削减数据量的方法,但是如果量化过于粗糙,控制器会振荡甚至失去平衡。

(2)模糊化

  在进行模糊化时,需要确定模糊集论域中语言变量各值所对应的模糊子集的隶属度函数。隶属度函数一般是根据操作者的经验初步确定,在调试开发甚至控制器运行中需不断修正和优化,以满足控制的要求。隶属度函数的形状很多,但是影响模糊控制器性能的关键因素是各模糊集覆盖论域的情况,而隶属函数的形状在达到控制要求方面并无大的差别,为使数学表达和运算简单,一般选用三角形、梯形隶属函数。但隶属函数的幅宽大小对性能影响较大,隶属函数形状较陡时,引起的输出变化较剧烈,控制的灵敏度高;隶属函数形状平缓时,引起的输出变化较缓慢,对系统的稳定性好。因此,在选择隶属函数时,一般在偏差较小或接近于零附近时,采用形状较陡的隶属函数;而在偏差较大的区域采用形状平缓的隶属函数,以使系统具有良好的鲁棒性。而且在实际工作中,不应出现三个隶属函数相交的状态。一般,任何两个模糊子集的交集的最大隶属度中的最大值取为 0.4~0.8 之间。另外,隶属函数的位置分布对控制性能也有一定的影响,当函数在整个论域平均分布时,控制效果并不好,因此,一般将零固定,其它模糊子集向零集靠拢,以达到较好的控制效果。

(3)设计控制规则表   

  规则的条件和结论中要用到一些变量,控制器用来解决多输入多输出和单输入单输出问题,传统的单输入单输出问题是基于误差 E 调节控制信号,有时也需要误差的变化速度还有累积误差,但是我们也称之为单输入单输出系统,因为从原则上讲,这三个量都来源于对误差的测量。简单地说,我们的控制对象如果是围绕着一个标准值被调节,我们的陈述及研究仅限于单输入单输出系统而言。

  规则格式:基本上,一个模糊语言控制器都包含 LIWKHQ 形式的规则,但也有其他规则格式。在多数系统中,规则以这样的形式展现:

  if A is NB and B is NB, then c is NB (2-11)   

  式中 Zero,Pos,Nag——模糊集的标签: Z、PB 、 NM ——表示零点,正大和负中

(4)推理机

  规则只反应了控制信号是误差和误差变化率等量通过了计算得到的。而推理决策才是模糊控制的核心,它利用知识库中的信息和模糊运算方式,模拟人的推理决策的思想方法,在一定的输入条件下激活相应的控制规则给出适当的模糊控制输出。

  这一部分可以通过设计不同推理算法的软件在计算机上来实现,也可以采用专门设计的模糊推理硬件集成电路芯片来实现。由于基于模糊推理的硬件集成电路价格一般比较高,目前多数模糊控制器采用软件在计算机上实现。

(5)精确化

  通过模糊化推理得到的结果是一个模糊量,是一组具有多个隶属度值的模糊向量。而控制系统执行的输出信号是一个确定的量值,因此,在模糊控制应用中,必须将控制器的模糊输出量转化成一个确定值,即进行精确化过程。常用的精确化方法有两种,即最大隶属度法和重心法。对于最大隶属度法,若输出量模糊集合的隶属度函数只有一个峰值,则取隶属度函数的最大值为精确值,选取模糊子集中隶属度最大的元素作为控制量。若输出模糊向量中有多个最大值,一般取这些元素的平均值作为控制量。最大隶属度法的优点是计算简单,但由于该法利用的信息量较少,会引起一定的控制偏差,一般应用于控制精度要求不高的场合。

  重心法是取模糊隶属度函数曲线与横坐标围成面积的中心为模糊推理输出的精确值,对于有 N个输出量化级数的离散域情况有: 

  这里 xi是离散空间里不同的点,i(xi) 是它在隶属函数中的隶属度,表达式可以理解为在设定隶属集中的重心。对于连续的情况,可以把作和替换成积分来算。计算量相对高些,但算法相对精确,因此也是最常用的算法之一。

  最大隶属度法,这种方法最简单,只要在推理结论的模糊集合中取隶属度最大的那个元素作为输出量即可。这种方法不考虑隶属函数的形状。

(6) 后处理

  系统控制输出值只是相对的,并不是实际控制量,相对控制量与实际工程所需值有个比例关系,再后处理过程中,要乘上这个输出比例因子,并赋予有实际意义的单位像是电压、米、公斤等,例如(-2,2)表示电压(-10 V,10V)。

  以上就是模糊控制算法的主要内容。模糊控制算法最大的特点是不必完全通晓一个系统的数学模型,就可以实现控制效果。所以对于数学模型难以确定的系统而言有很大的优势,但是由于模糊控制算法中不存在积分项,所以控制结果容易产生静差。为了消除这一个缺陷,我们可以将模糊控制算法和PID算法结合起来,从而得到参数自整定模糊PID算法。

  参数自整定模糊PID算法的框图如下所示:

  

  具体实现措施就是先设定PID控制器的初值(具体的数值可以引用上学期的调试结果),然后在根据模糊规则得到相应的调节值,然后相加即得到最终的PID参数。

        Kp = Kp‘ + Qp * △Kp (Kp‘ : 初值  Qp: 比例系数 △Kp : 模糊规则得到的Kp调节值)

        Ki = Ki‘ + Qi * △Ki

        Kd = Kd‘ + Qd * △Kd

  以上就是参数自整定模糊PID算法的理论全部内容。

  

  参考文献:王鹏.陶瓷加热温度控制技术研究与运用[D].深圳:哈尔滨工业大学深圳研究院,2008.

时间: 2024-10-20 21:58:03

模糊PID控温算法的具体实现(一):参数自整定模糊PID算法概念的相关文章

模糊PID控温算法的具体实现(二):MSP430F5438A怎么实现查表法

工程上要实现参数自整定模糊PID算法,最常采用的方法是查表法.具体实现方法是将不同的E(温度误差),EC(误差变化率)与 △Kp, △Ki , △Kd的规则制成一张表格存储在单片机内部.那么在每一采样得到的温度数据模糊化得到E和Ec后,便可以通过查表从而得到相应的△Kp,△Ki和△Kd了.这个表类似于下面的形式: 那么怎么在MSP430F5438A中插入这种类似的表呢,是插在Flash里面还是SRAM里面呢?

【转】RM论坛 控制技术 PID控制中的I与D

DJI RM论坛资料from:raymon DJI 第七课时 控制技术 PID控制中的I与D: 一.https://bbs.robomaster.com/thread-6194-1-1.html 二.https://bbs.robomaster.com/thread-6210-1-1.html 三.https://bbs.robomaster.com/thread-6212-1-1.html 以下为正文 一.第七课时 控制技术 PID控制中的I与D(一) PID控制算法是<RoboMaster机

PID控制最通俗的解释与PID参数的整定方法

转自->这里 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解.阅读本文不需要高深的数学知识. 1.比例控制 有经验的操作人员手动控制电加热炉的炉温,可以获得非常好的控制品质,PID控制与人工控制的控制策略有很多相似的地方. 下面介绍操作人员怎样用比例控制的思想来手动控制电加热炉的炉温.假设用热电偶检测炉温,用数字仪表显示温度值.在控制过程中,操作人员用眼睛读取炉温,并与炉温

笔试算法题(50):简介 - 广度优先 &amp; 深度优先 &amp; 最小生成树算法

广度优先搜索&深度优先搜索(Breadth First Search & Depth First Search) BFS优缺点: 同一层的所有节点都会加入队列,所以耗用大量空间: 仅能非递归实现: 相比DFS较快,空间换时间: 适合广度大的图: 空间复杂度:邻接矩阵O(N^2):邻接表O(N+E): 时间复杂度:O(V+E): DFS优缺点: 无论是系统栈还是用户栈保存的节点数都只是树的深度,所以空间耗用小: 有递归和非递归实现: 由于有大量栈操作(特别是递归实现时候的系统调用),执行速度

【算法】2 由股票收益问题再看分治算法和递归式

回顾分治算法 分治算法的英文名叫做"divide and conquer",它的意思是将一块领土分解为若干块小部分,然后一块块的占领征服,让它们彼此异化.这就是英国人的军事策略,但我们今天要看的是算法. 如前所述,分治算法有3步,在上一篇中已有介绍,它们对应的英文名分别是:divide.conquer.combine. 接下来我们通过多个小算法来深化对分治算法的理解. 二分查找算法 问题描述:在已排序的数组A中查找是否存在数字n. 1)分:取得数组A中的中间数,并将其与n比较 2)治:

机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

机器学习算法中如何选取超参数:学习速率.正则项系数.minibatch size 本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值.(本文会不断补充) 学习速率(learning rate,η) 运用梯度下降算法进行优化时,权重的更新规则中,在梯度项前会乘以一个系数,这个系数就叫学习速率η.下面讨论在训练时选取η的策略. 固定的学习速率.如果学习速率太小,则会使收敛过慢,如果学习速率太大,则会导致代价

优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。

在未谈及具体的算法流程前,先贴几幅用该算法处理的效果. 不知道各位对这个算法的效果第一印象如何. 这个算法的原理来自于文章<Optimized contrast enhancement for real-time image and video dehazing>,作者是韩国人. 这个算法也是基于大气散射模型: 和现在一些常见的去雾文章有明显的不同的是,这篇文章的并不是基于暗通道原理的,也不是把重点强调在透射率图的细化上,而是提出了一种新的得到粗透射率图的方法.并且文章分别讲到了静态图像和视频

关于Floyd-Warshall算法由前趋矩阵计算出的最短路径反映出了算法的执行过程特性的证明

引言:Floyd-Warshall算法作为经典的动态规划算法,能够在O(n3)复杂度之内计算出所有点对之间的最短路径,且由于其常数较小,对于中等规模数据运行效率依然可观.算法共使用n此迭代,n为顶点个数.其中第k次迭代计算出每对顶点之间所有中间结点小于等于k的最短路径长度,其中i到j的最短路径要么是经过k的一条路径,这条路径的由k所分割出的两个路径i → k.k → j是中间路径小于等于k-1的最短路径:要么是从i到j的中间路径小于等于k-1的最短路径.定义dij(k)为从i到j的最短路径长度,

经典算法题每日演练——第六题 协同推荐SlopeOne 算法

原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,“商品推荐”,"猜你喜欢“,在实体店中我们有导购来为我们服务,在网络上 我们需要同样的一种替代物,如果简简单单的在数据库里面去捞,去比较,几乎是完成不了的,这时我们就需要一种协同推荐算法,来高效的推荐浏览者喜 欢的商品. 一:概念 SlopeOne的思想很简单,就是用均值化的思想来掩盖个体的打分差异,举个例子说明一下: 在这个图中,系统该如何计算“王五“对”电