模糊PID
输入可以是:偏差E和偏差变化率(或者偏差值上两次之差)EC
输出可以是:kp,kd(因为在做智能车,只用了kp,kd)
我们要做的就是写个函数,输入E,EC,得到kp,kd;对于E,EC,kp,kd,论域可以设在(-6,6),区间一共有13个数。
对于某个偏差E可以先对其进行变化,让其落在(-6,6)的区间,接下来要做的就是模糊化。
我们先对区间分段,每个区间可以用一个词来表示(比如过大,一般等等),即NB,NM,NS,ZO,PS,PM,PB七个语言值。-6就是NB,-4就是NM,依次类推。
那对于-5这个中间值而言,我们需要对其评判是用哪个语言值描述。而评判的方法就是将其输入到一个隶属函数中,得到一个隶属值,根据这个值判断。
经过上述操作,我们得到了E,EC的语言值,再根据模糊化控制规则表,推出kp,kd的模糊化值(两个的表不一样),再更据模糊化的kp,ki算出一个语言值加权,便可以得到想要的kp,kd。