logo资料库

BP神经网络PID控制器仿真实现_何继爱(1).pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
2 2 2 第 19 卷第 2 期 2005 年 4 月 甘肃联合大学学报 (自然科学版) Journal of Gansu Lianhe University (Natural Sciences) Vol. 19 No. 2   Apr. 2005     文章编号 : 1672 691X(2005) 02 0031 04S B P 神经网络 PID 控制器仿真实现 (1. 兰州理工大学 计算机科学与通信学院 ,甘肃 兰州 730050 ;2. 兰州教育学院 理科部 ,甘肃 兰州 730020) 何继爱1 ,达正花2 摘  要 :主要研究了 BP 神经网络 PID 控制器的结构 ,分析了 BP 神经网络的学习算法 ,并在 MA TL AB/ SIMUL IN K 下进行仿真实现 ,说明该控制器是一种简单实用的控制器. 关键词 : PID ;神经网络 ;算法 ;仿真 中图分类号 : TP273. 2    文献标识码 :A 0  引言 PID 控制要取得好的控制效果 ,就必须对比 例 、积分和微分三种控制作用进行调整以形成相 互配合又相互制约的关系 ,这种关系不是简单的 “线性组合”,可以从变化无穷的非线性组合中找 出最佳的关系[ 1 ] . B P 神经网络具有逼近任意非线 性函数的能力 ,而且结构和算法简单明确. 通过神 经网络自身的学习 ,可以找到某一最优控制下的 P 、I 和 D 参数 ,从而建立参数 P 、I、D 自学习的 PID 控制器. 1  B P 神经网络的 PID 控制器结构 1. 1  B P 神经网络的 PID 控制器结构模型 基于 B P 神经网络的 PID 控制器结构如图 1 所示[ 1 ,2 ] . 控制器由两部分组成 :一是常规 PID 控 制器 ,用以直接对对象进行闭环控制 ,且三个参数 在线整定 ;二是神经网络 NN ,根据系统的运行状 态 ,学习调整权系数 ,从而调整 PID 参数 ,达到某 种性能指标的最优化. 图 1  基于 BP 网络的 PID 控制器 1. 2  B P 网络结构 B P 网络 (Back p ropagation NN) 是一种单向 传播的多层前向网络. 网络除输入输出节点外 ,还 有一层或多层的隐节点 ,同层节点中没有任何耦 合. 输入节点对应系统的运行状态量 ,如系统不同 时刻的输入量和输出量等 ,必要时要进行归一化 处理 ,输入变量的个数取决于被控系统的复杂程 度 ;输出节点对应的是 PID 的三个可调参数. 由 于输出不能为负 ,所以输出层活化函数取非负的 Sigmoid 函数 ,隐层取正负对称的 Sigmoid 函数. 本系统取 B P 网络的结构为 3 3 型 ,如图 2 所 示. 8 图 2  三层 BP 神经网络结构图 归一化处理可采用模糊归档处理方法. | x i/ R | ≥0. 8 , | x i/ R | ≥0. 5 , | x i/ R | ≥0. 3 , | x i/ R | ≥0. 1 , | x i/ R | ≥0. 03 , | x i/ R | ≤0. 03. 5 sgn ( x i) 4 sgn ( x i) 3 sgn ( x i) 2 sgn ( x i) 5 sgn ( x i) 0 sgn ( x i) X i = (1) 11 03. 收稿日期 :2004 基金项目 :兰州理工大学科研基金项目 SB20200408. 作者简介 :何继爱 (1969 向的研究. ) ,男 ,甘肃靖远人 , 兰州理工大学计算机科学与通信学院讲师 ,硕士 ,主要从事信息控制方 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
23                甘肃联合大学学报 (自然科学版)                 第 19 卷 ( k) 对加权系数的负梯度方向搜索调整 ,并附加一 使快速收敛全局极小的惯性项 Δw (3) il ( k) = - η E ( k) w (3) il +αΔw (3) il ( k - 1) . (8) 式中 ,η为学习速率 ;α为惯性系数. E ( k) ( k) w (3) il = E ( k) y ( k) · y ( k) u ( k) · u ( k) o (3) l · l o (3) net (3) l 又 l il net (3) w (3) E ( k) y ( k) · l net (3) w (3) il ( k) ( k) . = o(2) i ( k) , = - error ( k) . (9) (10) (11) 网络输入层的输入 、输出为 若采用增量式数字 PID 控制算法 ,则有 2  B P 算法 网络的学习过程由正向和反向传播两部分组 成. 在正向传播过程中 ,每一层神经单元的状态只 影响到下一层神经网络. 如果输出层不能得到期 望输出 ,也就是实际输出与期望输出有误差 ,那么 转入反向传播过程 , 将误差信号沿原来的连接通 路返回 ,通过修改各层神经元的权值 ,逐次地向输 入层传播 , 去进行计算 , 再经过正向传播过程 , 这 样经过两个过程的反复作用 ,使得误差信号最小. 实际上 ,当误差达到人们所希望的要求时 ,网络的 学习过程就结束了. 2. 1  前向算法[1 ] j o(1) = x ( j) (2) 式中输入变量的个数 n 取决于被控系统的复杂程 度. j = 1 ,2 , …, n. 网络隐含层的输入 、输出为 net (2) i ( k) = m j = 1 w (2) ji o(1) j , (3) i ( k) = f ( net (2) o(2) 式中 w (2) ji 为隐含层的加权系数 ; 上角标 (1) 、(2) 、 (3) 分别代表输入层 、隐含层和输出层. ( i = 1 ,2 , …, q) . ( k) ) i 隐含层神经元的活化函数取正负对称的 Sig moid 函数 f ( x) = tanh ( x) = ex - e- x e x + e- x . 网络输出层的输入输出为 net (3) l ( k) = q i = 0 w (3) il o (2) i ( k) , ( k) ) , ( l = 1 ,2 ,3) l o(3) o(3) 1 o(3) 2 o(3) 3 l ( k) = g ( net (3) ( k) = k p , ( k) = ki , ( k) = k d . (4) (5)   输出层节点分别对应三个可调参数 k p , ki , k d . 由于 k p , ki , k d 不能为负 , 所以输出层神经元 的活化函数取非负的 Sigmoid 函数 g ( x) = 1 2 2. 2  反传算法 (1 + tanh ( x) ) = ex e x + e- x . (6) 取性能指标函数为 u ( k) o (3) 1 u ( k) o (3) 2 u ( k) o (3) 3 = error ( k) - error ( k - 1) , = error ( k) , = error ( k) - 2error ( k - 1) + error ( k - 2) . y ( k) / y ( k) /   由于 u ( k) 未知 , 可用一个神经网络 来代替被控对象 , 即先用 B P 网络建立一个被控 对象的辨识模型 , 再用此模型去训练 B P 网络控 制器 ,以解决权值修正时的导数项 u ( k) 的计算 ; 这 里近 似用 符号 函 数 sign [ u ( k) ]取代. 这样做可以简化计算 , 因为 u ( k) 是权值变化中的一个公共因子 ,最重要的是它 的符号的正负 ,符号的正负决定着权值的变化方 向 ,数值的大小只影响权值变化速度 ,由此带来的 计算不精确的影响可以通过调整学习速率η来补 偿. y ( k) / y ( k) / 上述分析网络输出层权值的学习算法为 ( k) = αΔw (3) ( k - 1) +ηδ(3) l o (2) ( k) . il i il Δw (3) 其中 (12) δ(3) l ( k) = error ( k) ·sing n y ( k) u ( k) · u ( k) o (3) ( k) l ·g ( net (3) l ( k) ) ( l = 1 ,2 ,3) . (13) 同理可得隐含层加权系数的学习算法 ji Δw (2) ( k) = ( k - 1) +ηδ(2) i o (1) j αΔw (2) ji ( k) . (14) E( k) = 1 2 ( rin ( k) - yout ( k) ) 2 . (7) δ(2) i = f′( net (2) i ( k) ) 3 l = 1   按照梯度下降法修正网络的权系数 , 即按 E 式中 δ(3) l w (3) il ( k) . (15) © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
2 g′(·) = g ( x) (1 - g ( x) ) , f′(·) = (1 - f 2 ( x) ) / 2. 3  B P 神经网络 PID 控制器 SIMU L IN K 仿真实现   基于 B P 网络 PID 控制器的控制算法归纳如 下 : (1) 确定 B P 网络的结构 , 即确定输入层节点 数 m 和隐含层节点数 q , 并给出各层加权系数的 ,选定学习速率η和惯性系 初值 w (2) 数α; (0) , w (3) (0) ji il (6) 进行神经网络的学习 ,在线调整加权系数 ( k) ,实现 PID 控制器的控制参数自 ( k) , w (3) il ji w (2) 适应调整 (反传) ; (7) 返回到 (2) . 根据上面的讨论可以建立 B P 神经网络控制 器如图 3 所示. 图中 f ( u) 是对输入信号归一化处 理 ,B P 算法是用 S Function 来实现. 第 2 期               何继爱等 :BP 神经网络 PID 控制器仿真实现                33 出 ,NN 输出层的输出即为 PID 控制器的三个可 调参数. (5) 根据增量式计算 PID 控制器的输出 u ( k) ; (2) 采样得到 rin ( k) 和 yout ( k) ,计算该时刻 设控制对象 f 为 误差 error ( k) = rin ( k) - yo ut ( k) ; (3) 对神经网络的输入进行归一化处理 ; (4) 计算神经网络 NN 各层神经元的输入 、输 G( s) = 5 s + 6 e- 0. 3s , 仿真模块图及结果如图 4 所示. 图 3  B P 神经网络控制器模块图 图 4  一阶滞后系统仿真模块及结果 4  结论 基于 B P 算法神经网络 PID 控制器算法思想 简单 ,是一种既含有静态特性 ,又含有动态特性的 多层前向神经网络. 通过仿真实现可以看出它具 有自学习 、自适应性等特点 , 网络的收敛速度快 , 能够对非线性对象很好的控制 , 系统的跟踪性能 很好. 其参数设定无需知道被控对象的具体参数 及其数学模型 ,对不同的对象具有适应性. 参考文献 : [ 1 ] 刘金琨. 先进 PID 控制及其 MA TL AB 仿真 [ M ]. 北 京 :电子工业出版社 ,2003. [ 2 ] 李卓 ,萧德云 ,何世忠. 基于神经网络的模糊自适应 PID 控制方法[J ]. 控制与策略 ,1996 ,11 (3) :340 345. © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
43                甘肃联合大学学报 (自然科学版)                 第 19 卷 [ 3 ] 飞思科技产品研发中心. MA TL AB6. 5 辅助神经网络 分析与设计[ M ]. 北京 :电子工业出版社 ,2003. Simulation of BP Neural PID Controller H E J i ai 1 , D A Zhen g hua2 (1. College of Comp uter Science and Communication ,Lanzhou University of Technology ,Lanzhou 730050 ,China ; 2. Department of Science ,Lanzhou College of Education ,Lanzhou 730020 ,China) Abstract :The st ruct ure of B P neural PID cont roller is st udied ,and it s learning algorit hm is analyzed. The result of simulation in MA TL AB/ SIMUL IN K indicates t hat t he cont roller is easily realized and applied in engineering. Key words :PID ;neural net work ;algorit hm ; simulation © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
分享到:
收藏