基于粒子群算法优化BP 神经网络的PID 控制算法

2022-06-15 09:06曾雄飞
电子设计工程 2022年11期
关键词:控制精度控制算法惯性

曾雄飞

(中山市基信锁芯有限公司,广东中山 528400)

随着科技的发展,工业控制系统变得愈加复杂,各种非平稳、时变和不确定控制需求越来越多,而传统PID 控制参数需要事先设定并且无法实时在线调整,在面对复杂控制需求时逐渐显露疲态,无法获得预期的控制效果[1-4]。近年来人工智能和机器学习浪潮逐渐兴起,将智能算法与PID 技术相结合,利用智能算法对PID 参数进行整定,从而提升传统PID 系统性能,成为了研究的热点[5]。文献[6]将模糊理论与PID 控制相结合,提出一种模糊PID 控制算法,相对于传统PID 具有更高的控制精度;文献[7]提出一种遗传模拟退火算法,利用遗传模拟退火算法的全局搜索能力对PID 参数进行在线整定,提升了PID 的控制精度和响应速度;神经网络具备在线自适应学习和多任务并行处理能力,将其与PID 组合,能够获得对任意复杂非线性系统的逼近映射,被广泛应用于对非平稳时变系统建模和控制,文献[8]将BP 神经网络与PID相结合组成BP-PID控制系统,利用MATLAB仿真实验对系统性能进行验证,结果表明,所提方法相对于模糊PID 能够获得更高的控制精度和稳定性,然而文献[9]分析指出,BP-PID 控制模型初始参数的设定对控制性能影响较大,初值设置不当,系统容易陷入局部极值状态从而导致控制失稳现象发生。

在上述研究的基础上,该文提出一种基于改进粒子群(Particle Swarm Optimization,PSO)算法优化的BP-PID 控制方法,首先利用BP 神经网络的自适应学习能力对PID 参数进行整定,构建具备实时在线调整能力的BP-PID 控制系统,然后针对BP-PID 初始参数设置问题,利用PSO 算法的全局寻优能力进行优化,同时针对PSO 固定搜索步长的缺陷,提出自适应变步长算法,提升收敛速度,基于仿真数据的实验结果表明,所提方法相对于传统BP-PID 控制系统具备更高的控制精度和控制稳定度。

1 BP神经网络PID控制算法

传统PID 控制器作为一种线性控制器,具备结构,容易实现的优点,其基本原理是将系统的实际输出值和期望输出值之间的偏差按照比例、积分和微分的形式进行线性组合,构成控制量,实现对目标的反馈控制,控制性能取决于P、I、D 3 个参数,然而由于传统PID 的控制参数需要根据经验预先设置且不能在线实时调整,因此在面对非平稳时变系统时存在稳定性差、控制精度不理想等问题。

BP 神经网络是目前应用最为广泛的一种神经网络模型,作为一种多层前向反馈神经网络,具备并行计算和自适应学习能力,理论上能够以任意精度逼近于非线性函数[10-12],因此该文将BP 神经网络与传统PID 控制器相结合,利用BP 神经网络对P、I、D 3 个参数进行自适应在线调整,从而提高PID 系统面对非平稳非线性系统时的稳定性和控制精度。

1.1 BP神经网络结构

该文采用如图1 所示的4-5-3 三层BP 神经网络结构,图中j、i和l分别对应输入层神经元、中间层神经元和输出层神经元。其中输入层神经元为系统实际输出值、期望输出值、系统偏差和控制量4 个变量,输出层神经元为PID 控制器的3 个参数kP、kI和kD,参考文献[12]将中间层神经元个数设置为5。

图1 所用三层BP神经网络结构

1.2 BP-PID控制器

将BP 神经网络和PID 控制相结合组成的BPPID 控制器结构如图2 所示,可以看出其基本思路是将BP 神经网络加入到PID 控制过程中,根据当前系统的运行状态,利用BP 网络的自适应学习能力,实现对PID 系统kP、kI和kD3 个参数的实时在线调整,然后通过传统PID 完成对系统的闭环控制。

图2 BP-PID控制原理图

根据BP 神经网络的输入变量xj,利用Sigmoid函数f()· 可以得到其中间层节点的输入和输出为:

系统实际输出与预期输出之间的偏差为e(k)=Oi-xj,则采用增量式PID 控制算法可以计算得到PID 控制量的值u(k),对其进行离散化得到的结果如式(4)所示:

其中,TI和TD分别为积分和微分时间参数。进一步可以得到PID 的控制增量,如式(5)所示:

定义BP-PID 的性能指标函数为:

利用梯度下降法对式(6)进行求解,可得模型参数的更新公式,如式(7)所示:

其中,h′(x)=h(x)(1-h(x)),f′(x)=(1-f2(x))/2,α为BP神经网络的惯性系数,η为BP 神经网络的学习率。

2 改进PSO优化BP-PID控制算法

由于传统BP 神经网络采用梯度下降法进行参数迭代和自适应学习,该过程中学习率η和惯性系数α的初值设置对结果影响较大,初值设置不当容易造成算法陷入局部极值,从而导致网络出现振荡,控制性能下降。针对该问题,该文将PSO 算法引入BP-PID 控制系统,在迭代过程中利用PSO 算法对η和α进行全局寻优,保证算法收敛于全局最优解,以提升算法性能。

PSO 算法是通过对鸟群觅食行为进行抽象建模而得到的一种随机搜索算法,具备原理简单、容易实现以及模型参数少、收敛速度快等优点[13-17]。PSO 算法将鸟群中的每只小鸟作为一个拥有位置和速度信息的粒子,算法初期每个粒子按照初始位置和速度方向寻找食物,迭代过程中根据事先定义的适应度函数值判断当前位置是否为最优位置,若是,则记录该位置信息为,当前时刻整个群体的最优位置信息为,PSO 算法按式(8)所示模型对每个粒子的速度和位置信息进行更新:

从式(8)可以看出,PSO 算法的收敛速度由惯性因子s决定,s越大每个粒子更新的步长越长,算法的全局搜索能力就越强,但是局部搜索能力越弱,反之,s越小每个粒子更新的步长越小,算法的局部搜索能力就越强,但是全局搜索能力则越弱,传统PSO算法的惯性因子s是固定的,导致算法难以兼顾全局和局部搜索能力。因此该文将PSO 的惯性因子取值与迭代次数联系起来,采取如下自适应变步长惯性因子迭代方法:

其中,t为当前迭代次数,T为总迭代次数,st为第t步迭代对应的惯性因子,smax为初始设置的最大惯性因子,从式(9)可以看出,开始迭代时,t较小,此时st较大,随着迭代次数的增加,t逐渐逼近于总迭代次数T,st随之减小,从而使改进后的PSO算法兼具快的收敛速度和高的收敛精度。

图3 给出了所提PSO-BP-PID 控制算法的流程图,其具体步骤可以总结为:

图3 PSO-BP-PID算法流程图

步骤1:BP 网络结构初始化。按1.1 小节构建4-5-3 结构神经网络模型,设置BP 网络学习率、惯性系数初始参数和变化范围;

步骤2:PSO 算法初始化。将BP 神经网络学习率和惯性系数作为PSO 的粒子,设置初始种群数、初始化粒子速度和位置向量;

步骤3:粒子更新。按照式(8)对每个粒子的速度和位置信息进行更新,并计算得到每个粒子的Pi以及整个集群的Pg;

步骤4:粒子更新。按照式(8)对每个粒子的速度和位置信息进行更新;

步骤5:PSO 迭代终止判断。判断当前状态是否满足迭代终止条件,若满足,则迭代终止,否则转至步骤3;

步骤6:PSO 迭代终止时,输出最优学习率和惯性系数,作为BP-PID 控制系统的初始参数。

3 仿真实验与结果分析

3.1 仿真实验设置

为了验证所提PSO-BP-PID 控制系统的性能,采用智能车车速控制数据集开展实验,数据集中包含某型智能车在市郊道路进行测试过程中记录的3 min 的实测车速,车速的具体变换情况如图4 所示,可以看出测试过程中车速变换范围在0~60 km/h 之间。

图4 某实际路况车速测试数据

根据图3 所示算法流程,实验开始时首先设置BP 神经网络结构为4-5-3,初始化学习率η=0.85,取值范围为[0.1,1],初始化惯性系数α=10,取值范围为[1,100]。设置PSO 算法种群数为2,最大迭代次数为100 次,惯性因子初值为s=smax=10。

3.2 实验结果及分析

图5 给出了利用所提改进PSO 算法对BP 神经网络学习率和惯性系数优化过程中的取值变化曲线,可以看出只需要大约15 次迭代,算法就能达到收敛状态,此时最优学习率η=0.21,最优惯性系数α=63.5。

图5 参数优化曲线

在工业控制应用中,控制精度和稳定度是评估一个控制算法优劣的两项关键指标,对于该文实验所用智能车速度控制需求,采用车速跟踪误差均值emean指标对控制精度进行定量评估,采用车速跟踪误差均方根estd指标对控制稳定度进行定量评估,其具体定义如式(10)和式(11)所示,其中,e(t)为t时刻真实车速与控制车速之间的误差。

图6 中圆圈实线给出了利用所提方法进行车速跟踪控制实验得到的速度跟踪误差曲线,为了对比,同时给出了在相同条件下采用传统BP-PID 算法得到的速度跟踪结果,如圆圈虚线所示。从图6 可以看出,利用所提方法对智能车速度开展控制实验得到的速度跟踪误差在[-0.398 7,0.423 5]范围内,而在相同条件下传统BP-PID 方法得到的速度跟踪误差在[-1.237 6,1.153 8]范围内。表1 进一步给出了按照式(10)和式(11)计算得到的控制精度和控制稳定度指标。从图6 和表1 所示结果可以看出,所提方法在控制精度和控制稳定度方面相对于传统BP-PID方法有明显提升,达到预期效果。

图6 不同方法车速跟踪结果

表1 不同方法控制精度和稳定度

4 结论

传统PID 控制器存在参数整定困难,不能实时在线调整等缺点,不满足时变非平稳系统的控制需求,该文首先将BP 神经网络与PID 控制器相结合,利用4-5-3 结构BP 神经网络的自适应学习能力实时对PID 控制器的参数进行调整,提升对时变非平稳系统的适应能力,同时针对BP-PID 控制系统初值设置问题,提出一种改进PSO 算法,对其进行优化,确保其收敛于全局最优解,基于仿真实验的结果表明,所提PSO-BP-PID 方法相对于传统方法能过获得更高的控制精度和控制稳定度,具有一定的应用前景。

由于BP 神经网络自学习过程需要消耗较多的运算资源,对算法运行硬件提出了较高的要求,同时较高的运算复杂度导致算法实时性一般,因此如何降低算法复杂度,提升实时性是接下来的研究重点。

猜你喜欢
控制精度控制算法惯性
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
冲破『惯性』 看惯性
认清生活中的“惯性”
MW级太空发电站微波能量波束指向控制精度分析
高精度位置跟踪自适应增益调度滑模控制算法
基于安卓的智能车转速系统的设计与实现
基于航迹差和航向差的航迹自动控制算法
无处不在的惯性
欧瑞传动SD10系列伺服系统在无缝针织内衣机上的应用解决方案
一种基于专家知识的动力定位控制算法及试验