版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能控制智能控制BP 神经网络的自整定 PID 控制仿真PIDPID控制器结构简单、实现简单,控制效果良好,已得到广泛应用。但是,PID具有一定的局限性:被控制对象参数随时间变化时,控制器的参数难以自动调整以适应外界环境的变化。为了使控制器具有较好的自适应性,实现控制器参数的自动调整,可以采用神经网络控制的方法。利用人工神经网络的自学习这一特性,并结合传统的PID控制理论,构造神经网络PID控制器,实现控制器参数的自动调整。1 PIDNN,根据系PID 参数,达到某种性能指标的最优化。设计原理1 PID 控制器结构4-5-3 BP 网络,如图 2。2 BP 网络结构Sigmoid Sigmoi
2、d函数。被控对象为一时变非线性对象,数学模型可表示为:a(k)y(k 1)y(k) 1 y2(k1)u(k 1)式中,系数 a(k)式中,系数 a(k)是慢时变的,。Xe(k),e(k 1),e(k 2),1Tin入反向传播过程,通过修改各层神经元的权值,使得输出误差信号最小。输出层节点分别对应三个可调参数O(3) K1p O(3)2 K I O(3) K3D1取性能指标函数为: E(k) (r(k) y(k)212r(k y(k) e(k)PID PID 控制算法,则有u(k) e(k)e(k 1)O(3)1u(k) e(k)2O(3)2网络权系数调整u(k) e(k)2e(k 1)e(k
3、2)O(3)3网络权系数的修正采用梯度下降法。故而其反方向代表了因变量下降最快的自变量变化方向,如果我们选取性能指标E(k) 为因变量,网络各层权系数为自变量,则对应梯度的负方向就是权系数调整的最佳方向,因此,实际上构成了一个有目标的搜索算法,对最终结果的收敛性提供了有力的保证。对应于本题采用的 4-5-3 型的 BP 网络,梯度负方向的计算:-输出层:llE(k)E(k)y(k 1)u(k)O(3)net(3)ll(3)jl*y(k 1)u(k)O(3)l*net(3)l(3)jlE(k) 为指标函数 (3) 为隐含层-输出层权系数矩阵元素jly(k 1) 为被控对象输出u(k)PID 控制
4、器输出O (3)为输出层输出lnet(3) 为输出层输入l根据所选用神经网络的数学模型,易知:E(k)y(k 1) (r(k 1) y(k 1) e(k 1)u(k)O(3)1 e(k)e(k 1)u(k) e(k)O(3)2u(k)O(3)3lO(3)lnet(3) e(k)2e(k 1)e(k 2) gnet(3) lllnet(3)l(3)jlO(2) (k)j其中:j 1,2,3,4l 1,2,3O(2) (k为隐含层输出,jgx11tanh(xg(x) g(x)*1 gx为其偏导数。2另外, y(k 1) 直接的数学表达不容易获得,但我们可以使用它的符号函数来近似,仍u(k)过调整学
5、习速率来得以补偿。故而最终有:E(k)y(k 1) e(k 1)*sgn*e(k)e(k 1)*gnet(3) *O(2) (k) (3)jlu(k)ljE(k)E(k)O(2)net(2)*j*j(2) (k)O(2)net(2) (k)(2) (k)ijjjijE(k)E(k)net3(k)E(k)net3(k)E(k)net3 (k)*1*2*3O(2)net3(k)O(2)net3(k)O(2)net3(k)O(2)j1j2j3j其中:i 1,2,3,4j 1,2,3,4,5l 1,2,3lE(k)E(k)y(k 1)u(k)O(3)lnet3lO(2)j*y(k 1)u(k)O(3)
6、l f net(2) (k)net(3)lnet(2) (k)j1net3 (k)1O(2)jnet(2)j (3) (k)jlj (2) (k)ij O(1)(k)if(x) tanh(xf (x) 1 f 2(x/2为其偏导数。故而最终有:E(k)3E(k)*(3) (k)* f net(2) (k)*O(1)(k)(2) (k)ij网络权值修正量l1net3(k)ljlji梯度的负方向给出了网络权值修正的方向,乘以系数 ,即为权值修正量。其中 代表次权值变化的影响,需要加入动量(平滑)因子 ,此时新的权值为:E(k)(2) (k 1)(2) (k)*(k) (2) (k) (2) (k
7、1)ijij(2)ijijij(3) (k 1)(3) (k)*E(k)(3) (k) (3) (k 1)程序流程jl(3)(k)jljljl1:设定初始状态和参数初始值,包括随机产生初始BP神经网络权值系数,设定初k=1,并设定计数上限等。2BP(ke(k-(k-1 作为隐含层输入。前两次的(k-(k-)并未真实产生直接0。3:前向传播计算。包括:BP 神经网络前向传播计算,得到输出层输出K,K,K.;pID增量式 PID 控制器计算控制器输出u(k) ;y(k)4:反向传播计算。包括:修正输出层的权系数(3) (k) ;jl修正隐含层的权系数(2) (k);ij5:参数更新k 达到设定的次
8、数上限,则结束;否则,k=k+12.总的程序流程图如下:开始开始BP初始值设定前向传播否反向传播参数更新是否达到最大步数?是仿真程序及分析3 程序流程图 0.05。经过多次运行,最终得到一个较好的结果,并将此结果的稳态权重作为初始权重。在调试中发现,即使稍微改变学习速率和平滑因子,还是需要经过多次运行,才能得到取值可以更加随意。(1)输入为阶跃信号(2)输入为正弦信号程序代码:控制仿真clear all;close all;=0.05S=2; %选择输入信号的类型(1:单位阶跃信号;2:正弦信号)input=4; %输入层节点数hidden=5;%隐含层节点数output=3;%输出层节点数i
9、f S=1% S=1时,输入信号为单位阶跃信号wi= -0.4129-0.2553-0.7973-0.1004-0.27710.26760.42340.3484-0.69140.2740-0.1590-0.8642-0.39150.1627-0.6956-0.7668-0.41330.2296-0.5542-0.2671; %给出隐含层和输入层之间连接权值矩阵% 隐含层和输入层之间连接权值矩阵wi_1 = wi;wi_2 = wi;wo=0.56610.20040.94330.18320.59710.41850.27500.67340.94080.45970.43480.04020.95230
10、.81430.2773; %给出输出层和输入层之间连接权值矩阵% = %35 均匀分布在(-11)之间的伪随机数矩阵,输出层和输入层之间连接权值矩阵wo_1 = wo;wo_2=wo;else% S=2时,输入信号为正弦信号wi= -0.42570.3975-0.22190.0629-0.3548-0.4002-0.3585-0.2581-0.4162-0.4559-0.1764-0.5627-0.03900.0586-0.3188-0.3945-0.30420.27440.0130-0.3788; %给出隐含层和输入层之间连接权值矩阵% 隐含层和输入层之间连接权值矩阵wi_1 = wi;wi
11、_2=wi;wo=0.22790.5382-0.13580.64410.06990.15840.21230.11660.44020.66270.72420.62110.65400.3450-0.1486; %给出输出层和输入层之间连接权值矩阵% = %35 均匀分布在(-11)之间的伪随机数矩阵,输出层和隐含层之间连接权值矩阵wo_1 = wo;wo_2=wo;endu_1 = 0;y_1 = 0;%51double 类型(双精度浮点型)的零矩阵error_2 = 0;error_1 = 0; = 0.001; %1msfork=1:6000%k为采样步数time(k) = k*ts;if S
12、 = 1rin(k) = 1.0;% S =1 时,输入信号为单位阶跃信号elserin(k) = sin(2*pi*k*ts); %S =2时,输入信号为正弦信号end%被控对象为非线性时变模型a(k)1.2*(1-0.8*exp(-0.1*k);a(k)1.2*(1-0.8*exp(-0.1*k);%被控对象模型的系数yout(k) = a(k)*y_1/(1+y_12)+u_1; %y(k) error(k) = rin(k) - yout(k); %ke(k)=r(k)-y(k)a(k)y(k 1)1 y2(k 1) u(k 1)xi=error_2error_1 error(k) 1
13、; %Xin e(k),e(k 1),e(k 2),1T; %PID PID 各、e(k)、e(k)-2e(k-1)+e(k-2)组成的向量%计算隐含层输出H=xi*wi;%隐含层神经元的输入for j=1:hidden=Hout(j)=(exp(H(j)-exp(-H(j)/(exp(H(j)+exp(-H(j);%隐含层输出。隐含层激励函数=end%计算输出层输出O=wo*Hout;%输出层神经元的输入forl=1:outputOout(lexp(O(l)/(exp(O(l)+exp(-O(l);%输出层输出。输出层激励函数gx11 tanh(x) =2end%PID 参数值1 个输出ki
14、(k)=Oout(2);%ki 2 个输出3 个输出Kpid=kp(k) ki(k) kd(k); %PID参数向量%计算控制器的输出du(k)= Kpid*epid;%u(u(k-u(k-1)e(k)e(k1)K e(k)Ke(k2e(1)e(k2增PidPID 算法%u(k)=u(k-1)+u(k)%u(控制器的输出变量)进行限幅if u(k)10u(k) = 10;enddyu(k)=sign(yout(k)-y_1)/(u(k)-u_1+0.0000001); % dyu(k)=sign(yout(k)-y_1)/(u(k)-u_1+0.0000001); % y(k 1) =u(k)
15、,直接的数学表%输出层和隐含层之间连接权值的修正forl=1:outputdO(l) = dO(l) = 2/(exp(O(l)+exp(-O(l)2; %gx 11tanh(x=,其中双曲正切函数,dO=g(x) g(x)*1 g(x)=endfor l=1:output delta3(l)=error(k)*dyu(k)*epid(l)*dO(l);%(3)=endforl=1:outputd_wod_wo=yite*delta3(l)*Hout(j);%wjl=*=*(3)*=*=*endwowo_1+d_wo+alfa*(wo_1-wo_2);%输出层和隐含层之间连接权值的修正公式%隐
16、含层和输入层之间连接权值的修正for j=1:hidden=,dH=dH(j) = 4/(exp(H(j)+exp(-H(j)2;=,dH=endsigma=delta3*wo;%sigma=delta3*wo;%,其中delta2(j)=dH(j)*sigma(j);%(2)=endd_wi=yite *delta2* xi; %wijd_wi=yite *delta2* xi; %wij=*=*%参数更新,循环修正u_1 = u(k);y_1 = yout(k);wo_2 = wo_1;wo_1= wo;wi_2 = wi_1;wi_1 = wi;error_2 = error_1;error_1=error(k);end%for循环结束figure(1); plot(time,rin,r,time,yout,b);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,error,r); x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年母亲节《感恩母亲》
- 2023年西方经济学本期末复习及答疑
- 高二下学期物理人教版选择性必修第三册“基本”粒子课件
- 2024年视角下的《六国论》:课件制作与解读实践
- 2024年教育改革中的《好的故事》教学课件研究
- 现代物流专业复习题
- M100咪喹莫特制备及药理作用
- 统考版2024高考生物二轮复习专题五生命系统的稳态及调节二非常“组合4”主观题模拟真演练二含解析
- 2024-2025学年新教材高中地理第五章人地关系与可持续发展第一节人类面临的主要环境问题练习含解析湘教版必修2
- 不同预紧力三元电芯膨胀应力
- 只争朝夕不负韶华岗位竞聘述职报告
- 农场工作制度与农民岗位职责
- 2024年山东公务员考试行测真题及解析【完美打印版】
- 田赛裁判法与规则2
- 社区心肺复苏术普及
- 冬枣植保知识培训课件
- 校园突发事件与应急管理课件
- 计算机网络技术职业生涯规划
- DR拼接技术及常规摄片注意事项
- 《股票入门》课件
- 《不为人知的间歇泉》课件
评论
0/150
提交评论