毛兴翔 吴世德 王文明 孙海波 梁海官 张继锋
(1.中国石油大学(北京)机械与储运工程学院 2.浙江清华长三角研究院)
管道运输是连接燃气资源与市场的高效率、低成本和安全可靠的关键环节,在油气领域起着越来越重要的作用[1-3]。燃气管道很容易受到电腐蚀及自然腐蚀的影响,形成点蚀砂眼或裂缝,造成燃气泄漏,从而危害环境甚至引发安全事故,因此燃气管道的定期维护检测至关重要。目前国内外对于燃气管道泄漏的检测方法可以分为管内检测和管外检测。管外检测主要包括实时瞬态模拟法[4]、负压波法[5]、声波法[6]、压力点分析法、气体检测法、土壤法、光纤检测法、声发射法、探地雷达法、超声导波法和红外线照相法等。这些方法操作灵活,但受限于管线的环境和检测设备的复杂性,对于微小泄漏的检测难度相对较大。管内检测方法主要包括声信号法、压力检测法、电涡流法和超声内检测技术等。相对于管外检测而言,管内检测可以使搭载传感器的检测器更加靠近泄漏点,使得泄漏检测的效率和精确度更高。
国内外学者开展了管内检测器的研究,取得了一定成果。德国Gottsberg Leak Detection公司的GLD管道泄漏检测装置[7]通过搭载到传统PIG式检测器上来检测泄漏噪声。O.HUNAIDI等[8]研究了不同泄漏类型、管道压力、流速和季节等对PVC管道泄漏噪声信号的影响及其衰减特性;A.S.PAPASTEFANOU等[9]通过试验验证了泄漏湍流是造成泄漏噪声的主要因素。杨进等[10]给出了一种基于相关分析和近似熵的泄漏信号特征提取识别方法。美国ASI(Acoustic System INC)公司开发了Wave Alert型声波泄漏检测系统[11]。加拿大Pure Technologies公司研制的smartball检漏系统利用球形载体,内部搭载麦克风声学传感器来检测管道泄漏[12]。山东省光纤传感技术重点实验室的赵林等[13]设计了光纤负压波管道泄漏监测系统。中山大学王海蓉等[14]对燃气管道小泄漏工况下的压力波数据进行了有效的识别分析。天津大学与中石化华南销售公司联合研制了用于管道泄漏检测的球形内检测器[15]。近年来发展的智能检测方法,例如支持向量机(Support Vector Machine,SVM)和人工智能方法已逐渐应用于管道泄漏的检测。但是对于网络的正确性和准确性以及应用到泄漏检测效果如何,缺少相应的验证,因此本文开展了基于支持向量机的泄漏检测机器人的开发和研究。
燃气管道泄漏可视为喷流过程,并伴随喷流噪声的产生[16]。本文研究中检测机器人搭载声学传感器,采集并识别燃气管道内的声学信号,通过支持向量机算法实现对燃气管道泄漏的判断,提出了一种小管径燃气管道泄漏检测机器人方案。
燃气管道泄漏检测机器人由检测部分、柔性结构部分和驱动部分组成。检测机器人样机如图1a所示,它能够在直径为100 mm的城市燃气管网中主动驱动,实现前进和后退。驱动部分具有主动驱动、主动伸张和里程轮功能,如图1b所示。驱动部分和柔性结构部分的支撑保证了检测器在管道内的运行保持在中心轴线上,如图1c所示。里程轮与驱动轮安装在同一轴线上,基于霍耳传感器记录检测机器人行驶过的里程信息。
1—柔性外壳;2—电子仓;3—传动带;4—滚动轴承;5—驱动轮;6—里程轮;7—丝杠电机;8—驱动电机;9—蜗轮蜗杆。
检测机器人控制系统包括主控制器、电机驱动板及检测传感器等。主控制器选用了小体积、安装Linux系统的单板计算机(Raspberry Pi ZeroW),如图2所示。它具有体积小、运算快的优点。选用了微型麦克风、IMU GY-85、XY-160D电机驱动板、BF-M4霍耳传感器、SHT31温湿度传感器及GY-BMP280大气压强传感器。利用Raspberry Pi完成对驱动电机和丝杠电机的控制及对管道内泄漏声信号、霍耳传感器数据和IMU数据的采集和存储。检测结束后,使用存储的数据进行上位机处理,判断燃气管道是否发生了泄漏并进行定位。
图2 检测系统硬件组成
为了模拟燃气管道的真实泄漏,制备了相应的试验平台,其示意图如图3所示。
图3 试验平台示意图
设置的管线总长为17 m,管道内径为100 mm,管道两端为进气口和出气口,并分别安装有压力表以检测管道内的实时压力,通过气压泵对管道内的压力环境进行控制。在试验管道上设有一个圆孔,并且圆孔处安装有可开关的通气阀,设泄漏孔直径为1 mm,以此来模拟当燃气输送管道发生小孔径泄漏时的检测。
将检测机器人放置于模拟燃气管道内运行并采集其中的泄漏声信号。为研究燃气管道泄漏时管道内声信号的变化特征,设计了如表2所示的几组试验工况,并进行了多次试验来获取同一工况下的大量数据。
第1组和第2组试验用于对比有泄漏发生和无泄漏发生状态下的数据差别。第2组至第5组用于对比在与泄漏点不同距离点处时所检测到的数据差别。通过对比可以得到,当燃气管道发生泄漏时,检测机器人从距离管道较远处向较近处的位置变化过程中泄漏声信号的变化规律;通过对比第6组和第7组可以得到有泄漏时的电机噪声;通过对比第8组和第9组可以得到无泄漏情况时的电机噪声。最终确定的电机噪声信号将用于后期数据处理的滤波中。
表1 试验组工况设计
(1)将管道泄漏检测机器人放置在管道内,开启阀门1和阀门2,使用气泵将管道内注入空气,观察压力变送器数值,使管内压力保持在0.6 MPa,通过泄漏孔上阀门的开闭来模拟管道的泄漏。
(2)在管道上对距离泄漏点0、1、2、3及4 m位置处进行标记。
(3)检测机器人在管内距离泄漏点0、1、2、3及4 m位置处依次固定放置,分别进行管内声信号数据的采集。
(4)控制检测机器人在管道内平稳行进,可以由细绳牵引或电机驱动使检测机器人前进。检测机器人从距离泄漏点4 m位置行驶至泄漏点处,再由泄漏点处驶离至距离泄漏点4 m处,检测机器人采集此行程中的管内声信号。
(5)根据设计的工况进行大量试验,采集足够多的数据用于后期的数据分析。
为研究燃气管道内泄漏声信号的特征,判断燃气管道是否发生泄漏,首先对采集数据进行了时域分析判断,得到的时域分析图像如图4所示。从图4a~4e中对比可以得到,当发生泄漏时,所采集到的声信号强度会有明显的增大,并且随着检测机器人距泄漏点的距离越来越近,采集到的声信号强度会越来越大。图4f为检测机器人从距离泄漏点4 m处驶向泄漏点处,接着又驶离泄漏点的过程中所采集到的声信号的时域特征变化,可以看到幅值具有先增大后减小的变化规律。通过对管道内声信号的时域判断,证明了采集和识别管道内的声信号可以判断燃气管道是否发生了泄漏。当检测机器人在管道内连续行进检测的过程中,因为检测环境的复杂性,所采集到的声信号会受到明显的干扰,使得检测机器人仅仅是通过时域信息来判断泄漏的准确度大大降低,所以还需要更深入的算法对检测数据进行判断。
图4 泄漏数据时域分析图像
相对于时域分析,频域分析可以将不同频率的信号特征放大,同时易于对噪声信号进行过滤。对采集到的信号进行频域分析,得到的结果如图5所示。
从图5可以得到,当燃气管道发生泄漏时,采集的声信号在1 800 Hz和3 000 Hz附近的幅值相对于无泄漏状态时会有明显的增大。通过试验数据整理,确定了泄漏声信号频域特征的变化范围主要集中在1 500~3 500 Hz,在这个范围内频域幅值会有明显的增大,因此设计了一个带通滤波器,用以对干扰信号进行滤波处理。考虑到驱动电机对声信号的影响,通过对比设定了带通滤波器后,比较在电机开启和关闭状态下检测机器人所采集到数据的频域特征,电机噪声对泄漏识别判断的影响较小,即有泄漏和无泄漏时,在1 500~3 500 Hz的频率范围内差距仍然比较明显。通过验证,设计的滤波器对噪声数据的处理起到了较好的作用。
图5 泄漏数据频域分析图像
验证分析表明,利用燃气管道内的声信号对燃气管道的微小泄漏孔进行检测是可行的,管道内声信号的变化特征在时域和频域均较为明显。利用时域和频域分析可以判断管道是否发生了泄漏,但是由于存在干扰,燃气检测器对管道是否泄漏的判断会受到一定的影响。为了提高检测器的检测效率,实现检测器对于燃气管道泄漏的自主判断,提出了基于支持向量机的机器学习算法来分析燃气管道泄漏数据,提高对燃气管道泄漏的检测精度。
支持向量机是在1995年由C.CORTES等[17]发明的一种模式识别方法。在分类和回归问题中,支持向量机的算法占据着重要优势,其最主要优势在于可以解决小样本、非线性和高纬模式识别问题[18-19]。当样本的输入线性不可分时,需要采用线性不可分SVM模型进行特征空间上的训练学习[20]。支持向量机模型训练的最终目的是在特征空间上得到一个最优超平面,基于SVM利用间隔最大化能够求得一个最优分离超平面,所得到的超平面的解也唯一[21]。
燃气管道泄漏检测所采集到的声信号的识别属于线性不可分问题。对于线性不可分问题需要选择合适的SVM模型来构建一个最合适的超平面,从而将泄漏和无泄漏的两类数据分类,选用SVM方法中的支持向量二分类算法,也叫作C-SVC(C-SVM for Classification)模型[22-23]。C-SVC模型的优势在于其不仅解决了线性分类器到非线性的问题[24],而且对于数据的训练计算过程也相对较为简便。应用中要找到C-SVC分类模型的最佳分离超平面。
通过非线性映射φ(·)将样本数据从原空间映射到高维空间。在高维空间中构建最优超平面C-SVC模型的模型优化函数,如式(1)所示。对于那些分布在分类超平面和支持向量所在的超平面中间的数据点,需要给予一个松弛变量,同时对于这种错分进行一定的惩罚。最优超平面还应该满足式(2)中的约束条件。最终得到的决策函数如式(3)所示。
(1)
yi(ωTφ(xi)+b)≥1-ξi
(2)
(3)
式中:xi为输入样本;yi为期望输出矢量;ω为权值矢量;C为惩罚参数,C∈(0,+∞);l为样本数;ξi为吸引度的松驰变量,ξi≥0(i=1,2,……,l);b为偏置常数;K(xi,x)为核函数;αi为Lagrange乘子;其中ω和b确定了最优超平面的位置。
支持向量机对于一些非线性不可分问题存在着错分现象,所以对于一个支持向量机模型选用不同数值大小的惩罚参数C和核函数参数g,对支持向量机的分类精度具有重要的影响。当惩罚参数C的数值过小时,训练得到的支持向量机的拟合精度降低,而且很容易出现对数据的错分,也称为“欠学习”[25]。当C的数值选择过高时,也会出现“过学习”现象,模型的泛化能力会削弱。核函数参数g影响着支持向量机模型对于输入数据变化的反应程度,其数值的过大、过小都会影响预测模型的置信范围大小,并最终影响到支持向量机模型的学习能力。因此,对C-SVC中的惩罚参数C值和核函数参数g值需要进行最优化确定。
对于SVM模型的C值和g值的选择方法有多种,本文选用的是网格参数寻优法(Grid Search,GS)来确定C值和g值的大小。首先设定C值和g值的取值范围为:C∈[-8 ,8],g∈[-8 ,8],设置一定的C值和g值的变化步长。再利用交叉验证(K-Cross Vilidation,K-CV)的思想,设置交叉验证折数V值为5,对训练集进行训练,对分类效果进行评估并记录,通过对比不同参数的C值和g值得到分类模型的准确度,最终得到最优的C值和g值。
对检测器采集到的数据进行频域转换,将其在0~5 000 Hz上所有对应的幅值记为一组数据,对于管道在泄漏情况下采集到的数据组标记为1,对管道在无泄漏情况下的数据组标记为0。通过载入120组训练集样本和40组测试集合样本,对数据样本进行归一化处理后,利用grid search方法进行参数寻优。绘制SVC参数选择结果3D视图,当C=0.25和g=0.003 906 3时,可以得到最优超平面,如图6所示。此时对于燃气管道泄漏数据的分类判断准确度可以达到98.019 8%。
图6 SVC参数选择结果3D视图
将燃气管道在发生泄漏情况下支持向量机预测值定义为1,燃气管道在未发生泄漏情况下支持向量机预测值定义为0。通过对得到的SVM模型进行验证,输入40组已知试验结果的测试集到训练得到的支持向量机模型中,得到的预测结果与样本试验结果对比如图7所示。从图7可知,共有39组数据预测结果准确,1组预测结果产生了误差。
图7 测试集的实际分类和预测分类图
验证结果证明,能够利用支持向量机算法来判断燃气管道是否发生了泄漏,并且能够达到98%的检测精度,实际验证也取得了很好的检测效果。
(1)通过检测机器人对燃气管道内的声信号进行采集,并对采集的声信号进行时域和频域分析,分析结果发现,当燃气管道发生泄漏时,所采集的声信号在时域和频域上具有明显的识别特征。
(2)当燃气管道发生泄漏时,声信号在时域上的幅值会有明显的增加,且距离泄漏点越近其幅值越大;声信号在频域上的幅值位于1 800和3 000 Hz附近时明显增大。
(3)基于支持向量机机器学习算法,对燃气管道泄漏的声信号进行训练和测试,能够精确地对燃气管道泄漏进行识别,弥补了基于时域和频域判断泄漏的不足,提高了管道泄漏检测器的检测精度和自主识别分析能力。