基于BP神经网络PID的活塞式深海压力传感器压力控制研究

2022-02-15 02:06涛,彦,
关键词:丝杠控制器神经网络

孟 涛, 张 彦, 王 勇

(合肥工业大学 机械工程学院,安徽 合肥 230009)

随着经济快速发展以及陆地资源日益短缺,海洋因其蕴涵丰富的资源且未被人类充分利用,成为科学研究和资源探索的新阵地。在水下机器人精准定位作业、潮汐波浪测量、海啸预测警告、海上建筑平台水平校对等场合,均需面临精确测量海水深度的问题。因此大压力下微小波动水压的测量便成为海洋要素探测过程中的重要环节。

压力传感器不但要具备大的量程,而且需要拥有较高的测量精度。文献[1]中德国Sea&Sum公司研究的CDT48,测量精度满足0.01%FS的测量范围为500 m,但随着水深增加,测量误差便会超出允许范围,表明压力传感器的大量程与高精度之间的矛盾难以有效解决;文献[2]提出通过膜片或者软囊隔断将静压传感器与差压传感器结合的方法来分别测量海水绝对静压和波动水压,但是达不到连续测量的目的;文献[3]提出使用机械式开关将压力补偿腔和绝压测量腔连通或阻断的方法来测量海水绝对静压和波动水压,但该方法仅能对某定点进行测量,仍然不能连续测量;文献[4]创新运用双波纹管设计对压力传感器外部进行封装,使微小压力测量量程为1.2 kPa,灵敏度达6.882 pm/kPa,在测量微小水压时效果较佳,但由于差压传感器量程小且固定,使得在测量较大水压波动时表现欠佳。

针对上述问题,项目组设计了活塞式压力传感器[5]。该传感器通过控制内部电机转动使活塞在缸体内移动,改变压力传感器内部油腔的体积,从而达到与外界海水压力平衡的效果;压力平衡后相当于降低了传感器受到的绝对压力,再内置一差压传感器便可实现在大压力下提高微小水压波动测量精度[6]的目的。

该传感器存在滞后、惯性、非线性问题,尤其是在压力变化过程中,液压油的弹性模量变化较大,使得改进电机运动控制算法以提高传感器动态响应精度的意义愈发重要。常规比例积分微分(proportional integral derivative,PID)控制器是最常见、最经典的控制方法之一,结构和算法设计简单,但由于活塞式传感器具有非线性、强时变性以及滞后等特点,参数固定的常规PID控制不能满足理想的控制要求。鉴于神经网络具备强大的学习能力和适应不确定性系统动态特性的特点[7],本文将反向传播(back propagation,BP)神经网络PID控制器应用于该传感器的压力控制,得到的控制效果比常规PID更为理想。

1 活塞式压力传感器结构和数学模型建模

1.1 机械结构和原理

活塞式压力传感器的机械系统结构组成如图1所示。系统主要由伺服电机、联轴器、滚轴丝杠副、液压缸、油腔缸体组成。作为传感器动力驱动的伺服电机通过联轴器与滚珠丝杠相连,丝杠螺母与液压缸内的活塞杆固定连接以使丝杠与活塞杆同轴,液压缸通过管路与内置压力传感器的油腔缸体相连通。与油腔缸体相连通的是压力传感器测量压力的一侧。

1.装有压力传感器的油腔缸体 2.液压缸 3.活塞杆 4.丝杠 5.联轴器 6.伺服电机 7.机架图1 机械传动系统组成

活塞式压力传感器控制压力平衡的原理为:当传感器测得的内部压力与外部压力不相等时,控制系统通过运动控制卡驱动伺服电机作匀速转动,电机的转动经机械传动装置转化为活塞杆的移动,使得液压缸体积发生变化,进而使活塞式传感器内部压力发生变化,该传感器此时再将测得的压力值反馈给控制系统,控制系统根据测得压力与外界压力之差控制电机的转速,最终完成对压力平衡的闭环控制。

1.2 数学模型的建立

参考文献[8]活塞式压力系统建立模型的研究,对建模的各个环节导出传递函数。系统控制的数学模型如图2所示。

图2 系统控制的数学模型

图2中:n为电机转速;θm为电机轴转动角度;θL为丝杠转动角度;x为活塞杆位移;Ph为滚珠丝杠导程;β为液体体积弹性模量;A为活塞缸有效横截面积;V0为压力缸初始总体积;K为丝杠扭转刚度;i为电机到丝杠的传动比;JL为丝杠的等效转动惯量;D为丝杠阻尼系数;p0为目标压力;p为实际压力;e为压力差。

2 BP神经网络PID控制器的设计及仿真

2.1 BP神经网络PID控制器的逻辑架构

活塞式压力传感器系统模型与液体弹性模量有关,而在基于液体压缩的压力平衡过程中,液体的弹性模量在不断变化,使得传感器系统具有时变性。BP神经网络依靠持续向极值点逼近的学习方法,有着优异的对非线性系统的映射能力和良好的泛化能力[9]。将BP神经网络应用到常规PID控制中[10],对PID控制参数进行实时调整优化,可以提高PID控制在非线性系统中的控制效果,使控制系统具有较好的自适应能力和鲁棒性。

基于BP神经网络的PID控制器结构如图3所示。

图3 基于BP神经网络的PID控制器结构

图3中:r为压力设定值;y为压力实际值;e为压力设定值与压力实际值的偏差;u为PID控制器输出的控制量。

BP神经网络PID控制器由常规PID控制器和BP神经网络2个部分构成。BP神经网络根据活塞式压力传感器控制系统的运行状态,依据学习算法对其内部的权重系数进行修正[11],实时调节输出神经网络输出层的结果。常规PID控制器以BP神经网络传输的结果作为控制参数直接对被控系统进行闭环控制,最终使系统达到最优的性能指标。此过程也是BP神经网络的在线自学习能力的体现。

2.2 BP神经网络PID控制器控制算法设计

由于增量式PID输出的是控制量的增量,当计算机出现故障时,发生的误动作较小,对系统的影响也较小。因此,常规PID采用增量式PID输出,即

e(k)=r(k)-y(k)

(1)

Δu(k)=Kp[e(k)-e(k-1) ]+

Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]

(2)

其中:u(k)为在k时刻控制器的输出;Kp、Ki、Kd分别为比例、积分、微分系数。

理论研究表明,含有一个隐含层的BP神经网络具备以任意精度逼近任意连续非线性函数的性质[12]。在满足映射要求下为加快神经网络运行速度,选取单隐含层[13],即采用3层BP神经网络。输入层节点个数与被控系统的状态变量有关[14],本设计选取输入层节点个数为4。输出层节点选取为3,输出量分别对应常规PID控制器的3个控制参数Kp、Ki、Kd。

隐含层神经元节点个数依据下式[15]确定。

(3)

其中:a、b、c分别为隐含层、输入层、输出层节点个数;q∈[1,10]。通过多次试验,最终得出隐含层节点个数为5时效果较为满意。因此,确定BP神经网络结构为4-5-3型,如图4所示。

图4 BP神经网络结构

图4中的输入x1、x2、x3在控制系统中的含义为:

(4)

其中,x4=1为非线性调节的外部偏置常量。

隐含层各神经元节点的输入输出转换关系为:

(5)

BP神经网络隐含层激活函数可取为关于原点对称的双曲正切函数,即

(6)

输出层各神经元节点的输入输出转换关系为:

(7)

考虑到输出层为常规PID控制器的参数Kp、Ki、Kd,不能为负,故取输出层激活函数g(x)为非负的Sigmoid函数,即

(8)

取神经网络性能指标函数为:

(9)

采用梯度下降法迭代更新BP神经网络各层的权重系数,即往性能指标函数E(k)对各层权重系数梯度的反方向迭代搜索,为提高收敛至全局最小指标的速度,附加一个动量项,即

(10)

其中:η为学习速率;α为动量因子。最后直接给出BP神经网络输出层的权重系数的迭代算法,即

(11)

BP神经网络隐藏层权重系数的迭代算法为:

(12)

设计的基于BP神经网络的PID控制器控制算法流程如下:

(1) 确立BP神经网络的基本结构,即确定神经网络的层数和各层的节点个数,并选定学习率η、动量因子α和各层初始权重系数。

(2) 使用r(k)和采样得到的y(k),计算得到e(k)和E(k)。

(3) 计算BP神经网络各层的输入和输出,输出层三节点的输出即为PID控制器的3个可调参数Kp(k)、Ki(k)、Kd(k)。

(4) 由(2)式得到PID控制器的输出u(k),以控制系统输出。

(5) 进行神经网络反向传播,依据迭代算法对各层权重系数进行优化调整。

(6) 令k=k+1,返回至步骤(2)。

2.3 仿真实验

为验证本文提出的基于BP神经网络的PID控制方法的可行性和有效性,在Matlab中建立系统仿真模型[16]进行仿真实验分析。考虑到传感器系统是非线性、时变的控制对象,因而将被控对象的数学模型取为:

其中,系数a是缓慢时变的,即

a(k)=1.2(1-0.8e-0.1k)。

使用Matlab进行仿真时,BP神经网络结构选为4-5-3型,学习速率η=0.25,动量因子α=0.05,初始权重系数取值为[-0.5,0.5]上的随机值,输入信号为阶跃信号,采样时间ts=0.001 s,仿真时间取为0.1 s。

采用BP神经网络PID和常规PID控制的单位阶跃响应如图5所示。为便于对比,2种算法控制下的传感器压力响应的动态性能见表1所列。从图5和表1可以看出,相较于传统PID,BP神经网络PID超调量小,调整时间短,响应速度更快,调整过程更加平稳,动态跟踪性能更理想。

图5 PID与BP-PID阶跃响应曲线

表1 传感器压力响应性能

BP神经网络PID控制器在算法下得到的PID 3个参数变化过程如图6所示。由图6可知,BP神经网络控制器根据压力的偏差在线对PID 3个参数Kp、Ki、Kd进行学习调整,且3个参数很快被调整为稳定值。这意味着在此控制系统下,BP神经网络已得到使系统达到最优性能指标的参数,从而实现对非线性系统的在线调参。

图6 BP神经网络参数自适应整定曲线

3 实 验

为了验证本文基于BP神经网络的PID控制器在实际控制系统中的有效性,搭建活塞式压力传感器实验平台。

实验平台如图7所示。

选取凌华科技基于DSP的8轴高阶运动控制卡作为控制器来控制电机的运动,电机选用安川永磁同步电机以满足大扭矩和高精度的要求。为更清晰地分析阶跃及梯形试验数据,差压传感器用压力传感器代替,则差压信号即为给定压力与传感器测得压力之差。压力传感器选自Keller公司的产品PD-33X,量程为70 MPa,精度为0.01%FS。并用数据采集卡将压力信号送至上位机。采样频率取10 Hz。

图7 活塞式压力传感器实验平台

系统在2 MPa压力下的阶跃响应曲线如图8a所示,其中在第25秒处将输入信号降低90 kPa以作干扰。加入90 kPa干扰信号后压力响应放大图如图8b所示。

(b) 干扰信号下压力响应放大图图8 2 MPa阶跃压力实验结果

为便于对比,2种算法控制下的传感器压力响应的动态性能见表2所列。

表2 传感器压力响应动态性能

从表2可以看出,采用了BP神经网络PID算法控制后,压力控制的上升时间从18.6 s降低至17.2 s,调整时间由20.4 s减少至18.8 s,超调量由2.1%大幅降至0.93%。采用BP神经网络PID控制算法后,系统响应时间减小了1.6 s,幅值处响应误差由42 kPa减少至18.6 kPa。与常规PID相比,BP神经网络PID系统响应速度更快、系统响应精度更高、调节过程更为平稳。

从图8可以看出:输入信号在第25秒处突变为1 910 kPa以模拟干扰信号,之后则恢复至初始压力2 000 kPa;在加入干扰信号后的调整阶段,即在25.0~25.1 s之间,BP神经网络PID控制下的响应误差为41.8 kPa,与常规PID相比减小了7.8 kPa,这说明与常规PID相比,BP神经网络PID控制下的动态响应速度更快;在干扰信号消失后的调整阶段,即在第25.1秒之后,2种控制算法均无超调量,但BP神经网络PID控制下响应时间为0.8 s,比常规PID减小了0.4 s,且调整过程更为平稳,表现出了更优异的动态响应能力。

4 结 论

针对常规PID在应用于具有非线性、强耦合、时滞特点的系统时很难取得理想控制效果的问题,本文提出一种将BP神经网络与常规PID相结合的方法,利用BP神经网络的在线自学习能力,对常规PID控制器的参数进行在线的自动调节。设计了BP神经网络PID控制器,并将其运用在活塞式压力传感器上,进行Matlab仿真;最后进行2 MPa阶跃实验,在BP神经网络PID算法控制下,上升时间从18.6 s降至17.2 s,调整时间由20.4 s降至18.8 s,超调量由2.1%降至0.93%实验结果。实验结果表明BP神经网络PID控制的动态响应能力优异、鲁棒性良好、自适应能力优越,验证了BP神经网络PID控制算法的有效性。

猜你喜欢
丝杠控制器神经网络
数控机床滚珠丝杠副的法向截形对其传动效率的影响研究
基于递归模糊神经网络的风电平滑控制策略
工商业IC卡控制器改造为物联网控制器实践
滚珠丝杠在超精密定位中的应用
塞拉门机构中丝杠磨损分析
PLC可编程控制器相关外置的选择计算研究
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
基于Q-Learning算法和神经网络的飞艇控制
模糊PID控制器设计及MATLAB仿真