- 13
- 0
- 约小于1千字
- 约 3页
- 2017-08-09 发布于重庆
- 举报
自己设计的模糊PID.doc
自己的PID基于模糊控制的设想
能够识别传递函数还有输入形式,利用if,else函数来整定随即参数。然后再模糊控制与神经网络控制相结合,能够做出快速响应。
其中模糊规则控制的P和I都是参考书上的,而D是自己找的规律。
我把模糊控制和神经网络结合了一下,利用模糊规则作为学习速率。如:
k_pid=evalfis([e_1,ec_1],a);%计算模糊推理输出结果函数
kp(k)=kp0+ap*k_pid(1)*e_1*u_1;%ap为局部整定参数与k_pid(1)(模糊推理出来的值)相乘作为学习速率(该方法解决了直接用模糊控制难以整定的问题),利用导师学习还有控制规律来修改kp参数
ki(k)=ki0+ai*k_pid(2)*e_1*u_1;
kd(k)=kd0+ad*k_pid(3)*e_1*u_1;
addk=abs(kp(k)+ki(k)+kd(k));
u(k)=u_1+K*(kp(k)*e_1/addk+ki(k)*ei/addk+kd(k)*ec_1/(ts*addk));
上面的代码中ap,ai,ad的代码如下所示:
M=2;
g=2;
if M==1g==0%输入为sin函数的,分母最高次为四次的s函数
K=0.085;%全局调整
elseif M==2g==1%输入为sin函数的,分母最高次为三次的s函数
K=0.2;
ap=0.91;ai=0.001;ad=10.9940;%局部整定
elseif M==2g==2%输入为阶跃函数的,分母最高次为三次的s函数
K=0.0299;
ap=0.158;ai=0.0025;ad=5;%局部整定
end
总图如下:
分段控制
4
3
神经网络与模糊PID结合控制
S函数形式
输入形式
D/dt
输出yd
kd
ki
kp
-
+
神经网络控制
转换成模糊库可识别模式,再告知给模糊规则库
模糊规则库
S函数
输入y
原创力文档

文档评论(0)