吳啟洪, 姚如貴, 王圣堯, 左曉亞
(西北工業大學 電子信息學院, 陜西 西安 710072)
管道作為城市建設的重要基礎設施之一,極大方便了人們的生活。管道環境十分復雜,當管道內部出現質量問題,尤其是維修人員無法進行人工作業的管道,管道的維修和保養就成了一大難題。管道機器人的出現在很大程度上解決了這一難題,管道機器人可以攜帶各種檢測和維修設備進入管道內工作,對管道內部進行檢測和維修,以保障管道的安全和暢通無阻[1]。管道機器人經歷了從簡單“管道豬”、智能“管道豬”到現如今的“管道檢測鼠”的發展,管道內的各種檢測技術不斷完善[2]。
在目前國內石油工業上,管道機器人主要運用于管道內的檢測維修作業。油氣管道內部的操作與檢測一直是油氣生產上的重大技術問題,石油科技工作者不斷在管道機器人的動力、定位和智能控制等方向上取得新的研究成果[3]。但由于缺少針對管道污垢的高精度測量,在石油、天然氣等傳輸管道內微小污垢的精確清理問題鮮有人關注,相應的清理技術也因此而發展緩慢。精確清理依賴于高精度的測量,本文就磁感應傳感器在管道內微小厚度的高精度測量展開了研究。
采用磁感應原理進行測量時,傳感器發出的信號經覆蓋層進入鐵基層后又反射給傳感器,覆蓋層越厚,則磁阻越大,磁通越小。當磁感應傳感器的測量探頭接觸到待測物體后,磁通的大小影響到感應電動勢的大小,通過將該電信號放大后,用來指示覆層厚度?;诖鸥袘淼臏y厚傳感器理論上可以測量出導磁基體上任意厚度的非導磁覆層。
磁感應測厚傳感器具有校準容易、測量量程大、精度高、測試條件低、可以實現多種功能等優點[4]。近年來,由于陸續引入了微處理器技術及電子開關、穩頻等新技術[5],磁感應測厚精度有了很大的提高。本文將磁感應傳感器與機器人技術相結合,研究管道內的微小厚度的高精度測量。
將視頻模塊、測厚模塊、交換機以及電路驅動統一使用一個STM32微處理器進行控制管理。視頻模塊完成攝像頭圖像的壓縮編碼和存儲;測厚模塊為一個穩頻調理電路,將傳感器信號轉換為穩定的方波信號;交換機模塊主要負責在無線接入點(access point,AP)、單片機(microcontroller unit,MCU)和視頻模塊之間完成數據交換的功能;無線AP實現管道機器人與上位機控制軟件之間的通信。
按照任務設計,管道機器人主要完成微小厚度的高精度測量,而高精度測量需要建立在高精度校準的基礎之上。本節重點關注高精度校準的算法設計。算法設計的流程圖如圖1所示。

圖1 軟件算法設計流程圖
在數據預處理部分,考慮到微小厚度的測量易受到震動、環境的影響,測量值會出現波動,因此引入窗口濾波方法,濾除測量過程中的畸變信號、抖動信號以及干擾噪聲等,為后續的高精度校準提供穩定可靠的測量數據。
高精度校準分為靜態校準和動態校準兩種模式。靜態校準主要完成初始的校準,需要人為參與校準過程。而動態校準是針對環境溫度、濕度,以及器件特性變化進行的細校準,是在測量中自動完成的。靜態校準模式相對比較復雜,這里設計以下三個方法:
1)改進中值濾波器:優化選擇出測量數據中的最佳校準值;
2)分段插值:提高多項式擬合所需的樣本數;
3)多項式擬合:獲取測厚傳感器的頻率—厚度的多項式表達式。
上述各算法的具體設計將在后續小節進行詳細描述。
磁感應測厚傳感器在進行測量時,傳感器信號在經過穩頻電路之后轉換為模擬方波信號,MCU捕獲該信號的頻率并表征為被測物體的厚度值。為降低模擬頻率信號的畸變、抖動以及噪聲等帶來的影響,保證在校準階段測量得到的每一個厚度值的精度都盡可能高,本文將捕獲來自穩頻電路的頻率信號經過一個長度為30的滑動窗口濾波器,當窗口內整體波動不大于某個閾值時,輸出窗口的均值?;瑒哟翱跒V波算法實現如下:
設定窗口長度為n=30,窗口波動的最大值為Δ,取長度為30的數組a,其中max=max(a),min=min(a)。
1)測量得到數據Hz,數組右移1位,a[i-1]=a[i];a[29]=Hz;
2)查找出窗口內的最大max和最小值min;

通過多次反復測量50,100,195,390,798,993,1 288 μm 7個標準樣片和零厚度組合得到0~1 288 μm的27組厚度(記為Y),并得到與之對應的高可信度的頻率均值Xs,如表1所示,其中,∞對應的是當前環境條件下空閑狀態返回的頻率值。27組厚度和高可信度的頻率均值Xs定性地描述了經穩頻電路輸出后的頻率—厚度特性曲線,在進行靜態校準時,Xs是分段插值的參考樣本。

表1 分段插值的參考樣本
本節采用改進的中值濾波器進一步進行數據處理,將從中值濾波器輸出7個標準片與零厚度對應的頻率測量值保存到校準數組Xi中,然后通過對Xi進行分段插值和最小二乘法多項式擬合完成高精度的靜態校準。
滑動窗口濾波器能夠消除模擬頻率信號的畸變、抖動以及一些人為帶來的影響,但卻僅針對單次測量有效,而校準需要對同一厚度值進行多次測量。為了獲得更加精準的校準值,提出將滑動窗口濾波器與改進的中值濾波器級聯的方法。
傳統的中值濾波器僅以一個中間值作為輸出,這個輸出本身包含測量噪聲。為了降低噪聲影響,本文進行以下改進:設計了一個窗口,該窗口中只保存中值附近的若干采樣,進一步采用窗口中采樣的平均值作為輸出,以期降低噪聲的影響。






通過將窗口濾波器與中值濾波器級聯的設計方法,實現了自動依概率優化計算出最佳校準值,盡可能地保證了校準階段得到的校準值的準確性。
最小二乘法通過最小化誤差的平方和尋找數據的最佳函數匹配。綜合考慮磁感應傳感器的特性曲線、算法復雜度和擬合的符合度,最小二乘法多項式擬合是實現擬合校準最有效的方法之一[7]。
本文通過采用分段插值的方法為擬合提供了足夠的樣本,然后采用最小二乘法多項式擬合算法得到磁感應測厚傳感器的頻率—厚度的多項式表達式。
4.2.1 基于傳感器特性的分段差值i


1)開始i=0,k=0;




4.2.2 最小二乘法擬合多項式擬合

式中m≤n,一般遠小于n。

在兼顧運算復雜度以及獲得更低MSE的前提下,參考磁感應傳感器輸入輸出特性,本文在MCU上分段采用了不同階的最小二成法多項式擬合。在0~150 μm,采用三次多項式擬合;在150~750 μm,采用四次多項式擬合;在750~1 250 μm,采用更高階的六次多項式擬合。
將MCU上實現的擬合結果輸出,通過MATLAB繪圖分析,擬合的效果如圖 2所示,27組擬合樣本值幾乎完全落在曲線上,擬合結果的均方誤差(mean square error,MSE)僅為1.254 μm。

圖2 最小二乘法擬合結果
靜態校準在當前校準環境下具有非常高的測量精度,然而,管道機器人所工作的環境復雜,且傳感器容易受到環境因素(如溫度、濕度等)的影響,當環境發生變化時,測厚傳感器會受到影響而導致測量的精度下降。因此,靜態校準存在著較大缺陷,在實際應用過程中可能會導致測量得到的厚度值與真實厚度誤差超出容差范圍。為了克服上述問題,本文基于測厚傳感器的特性設計了在測量過程中動態校準的測量算法。

假設x∞是參考樣本Xs中的空閑狀態的測量值。動態測量校準算法如下:



動態校準算法實現了磁感應測厚功能在一定環境變化范圍內的自動校準功能,在保證了測厚高精度要求的基礎上,大大提高了測厚功能的實用性。
在對管道機器人完成靜態校準的前提下,結合動態校準的算法,將管道機器人分別置于0,25,45 ℃三個不同的環境下進行測量。對不同厚度的27個樣片都測量了5次以上,將每個樣片值的多次測量結果求均值后作為測試的厚度值。在不同測試環境下的測試結果與標準片對比,并將數據通過MATLAB進行誤差對比分析,如圖4所示。

圖4 不同溫度環境下的測量誤差
由于受到環境溫度的影響,測厚傳感器發生了漂移。經過動態校準調整后,在0 ℃的低溫環境下,測量值整體偏低一些,測量誤差不超過±(1 %+1)μm;常溫下,測量誤差都在±(5 ‰+1)μm的范圍內;當環境溫度較高時,測量結果誤差偏大,但仍能保證±(1 %+1)μm的精度范圍內,滿足任務要求。
針對微小厚度高精度測量需求,本文從數據的預處理、靜態校準和動態校準三個方面展開對管道機器人微小厚度的高精度測量算法研究。采用了窗口濾波器的方式對測量數據進行預處理。通過采用改進的中值濾波器、分段插值和最小二乘法多項式擬合完成對管道機器人的靜態校準,以較低的復雜度實現較小的均方誤差。最后提出動態校準的測量算法,實現了在一定環境溫度變化范圍內的自動校準,保證了系統功能的高精度要求,大大提高了測厚功能的實用性。實際測量數據表明:本文所提算法在正常工作溫度(0~45 ℃)下,非常好地解決了溫度漂移和環境變化等因素帶來的影響。