模糊pid的理解

本人所做的课题是控制相关,所以想将模糊算法应用在pid参数的调节当中,我们知道模糊控制器的设计主要包括输入模糊化、模糊规则的建立、模糊推理、逆模糊化四个部分,下面首先介绍输入模糊化的过程:

1.输入模糊化

电机的输入是一个给定的速度,给到电机后肯定达不到理想的速度,所以就存在着误差,误差其实就是模糊控制器的输入,又因为模糊控制器分为几种,有一维的也有多维的,这里我采用的是二维模糊控制器,输入的假设给定变量是E和EC(分别是误差和误差变化率)。输入我们知道了,我们的输出就是kp、ki、kd三个参数,以此通过模糊控制帮我们整定kp、ki、kd的三个参数。我们现在需要定义输入和输出变量的范围,然后给定一个量化因子,把物理论域进行离散化,n=3,离散论域为N=【-3,-2,-1, 0, 1, 2, 3】 ,物理论域X里的每个数都能在离散论域里找到对应的数值,一个数必定是靠近两个范围的,所以也就有了隶属函数的概念,我们一般采用的是三角函数来代表变量的隶属函数。

2.模糊规则的建立

我们都知道对于一个单输入单输出的系统来言,如果输入和输出之间的差过大,说明控制器的性能并不良好,那我们肯定要重新调节我们的控制器,这是在日常生活中最常见的规则。为了更好的说明下面的问题,我们不妨把输入输出都分为以下七个等级{正大、正中、正小、零、负小、负中、负大}。模糊控制器的输入是速度,若要进行恒速控制,则需要根据当前的实际速度调节电机的速度,比如输入的速度和电机实际的速度相差为正大、那我们系统就要做出负大的判断,以此来抵消正大的误差。电机控制模糊pid控制器的输入有两个  1.实际速度与设定速度之差  2.误差的变化率 我们对这两者进行离散化,离散后会出现很多单一的规则,然后我们根据专家经验或者是调试的经验设计好模糊规则就可以了。

3.模糊推理

当机器在运转的时候,必然会产生误差,我们根据当前误差和上一刻的误差就能得到误差变化率。然后将两者输入到模糊控制器当中,我们就可以找到我们需要的输出结果,而此时我们的输出结果还不是一个准确的值,所以我们需要对它经验反模糊化,这也就是我们第四步需要做的工作。

4.反模糊化

从模糊推理得到的模糊结果需要经过处理,才能得到准确的值。反模糊化的方法有很多,最大隶属度法、左取大法和右取大法等等,都是通过公式来求取准确的数值,这里可以百度一下,我也不过度解释。这样我们得到的准确值,输出给到系统,就能使系统往正向的环境发展。

总之,这大概就是模糊pid的一些粗略的理解,没什么目的,只是记录一下,也希望对其他人一点点帮助,祝大家学习进步,工作顺利,世界和平。

你可能感兴趣的:(模糊pid的理解)