模糊控制简单说就是将精确量通过计算隶属度(可理解为倾向于某种情况的概率,计算方法很多种),从而实现将精确值模糊化,然后将输出控制规则(控制规则表,可以是多维的),将输入值与规则表的规则通过反模糊化处理即可得到精确的输出值(计算方法很多种,一般通过加权平均值计算方式)。加权平均值计算,输入参数的隶属度就看成输出加权平均值的权重比,从而计算出精确的结果。以下是自适应模糊PID计算三个参数的代码。可自由结合PID来实现自适应模糊PID. 同样你也可以增加代码直接编译成自适应模糊PID程序。后面有源代码供大家研究。
补充说明:若用于PID 请将PID的比例积分微分做一个常数,然后再将该模糊运算出来的的参数加上。 比如比例,你调节设置的是2,模糊运算出来的值是0.4那么得出来的实际比例参数应该是 2+0.4 等于2.4。也就说模糊计算出来的参数在你设置的原有参数上进行增减。同时你需要保证PID块和该计算块同周期。
//#########################################################################
//该块为自适应模糊PID的比例积分微分计算块
//该块分7个模糊语言
//PB 正大 亦可用PL表示
//PM 正中
//PS 正小
//ZO 零 亦可用ZE表示
//NS 负小
//NM 负中
//NB 负大 亦可用NL表示
//该块配合PID块使用,便于不同控制器的移植。
//EBC LW 20180913
//##########################################################################
字数限制
请看源代码附件
模糊控制.txt
原创程序 欢迎交流
QQ 275578306
转载请注明原文出处