馬建民,李曉東,高天羽,李志航,解子祺,閆雨晴,李佳萍,馬少華
(中國石油大學(華東)石油工業訓練中心,山東 青島 266580)
管道作為運輸液體、氣體或松散固體的重要載體,受水深、地形等條件限制較少,具有輸送效率高、耗能少等優點。海底管道運輸是海底油氣輸送的重要途徑,其正常運行對國民經濟發展具有重要意義[1-2]。由于水中污垢、海水腐蝕、運行磨損等因素影響,海底管道會產生缺陷和損傷,甚至發生油氣泄漏,因此需要對海底管道進行定期檢測,避免安全事故發生[3-4]。由于海底管道處于水下,檢查和維修比較困難。水下機器人具有作業深度大、范圍廣、持續時間久、安全高效等優點,成為海底管道檢測的首選設備[5-8]。由于海底管道位于水平面以下幾十至數百米,長度十幾甚至幾十千米,軌跡多為復雜曲線,因此有纜式水下機器人無法滿足作業要求,管道巡檢機器人應具備自主循跡功能;面對水下環境中波浪擾動,管道巡檢機器人應具備姿態自動調整功能,確保水下攝像頭工作角度的有效性;針對海底管道上存在的腐蝕區、泄露點等異常情況,管道巡檢機器人應搭載檢測設備,對海底管道缺陷進行高效地初步檢測。
國內外學者從路徑規劃、姿態自適應、海底管道檢測等方面研究水下機器人。綜合考慮海底管道的復雜性,對比分析國內外路徑規劃算法,機器學習法、深度學習法、群智能法等人工智能算法可較好適用于水下機器人的自主路徑規劃[9-10];根據水下機器人的運動特點,調整自適應神經網絡算法參數并據此設計水下運動控制器,通過水下實驗探究克服水中擾動和水下三維軌跡跟蹤等問題的解決措施[11];結合前人大量的水下實驗,探索適于水下機器人姿態控制的濾波算法,通過實時監測水下機器人的相對位置和姿態角度以實現運動姿態的自適應控制,進一步解決水流波動對水下機器人的運動干擾[12-14];在管道缺陷檢測領域,電渦流探測法、超聲法、漏磁MFL法等得以廣泛應用[15-19]。上述研究成果極大提高了水下機器人的性能水平,但是研究工作相互獨立,并且研究目標很少是海底管道的檢測與維護。
水下機器人領域的路徑規劃、姿態控制、管道缺陷檢測等研究成果,對海底管道檢測機器人研究具有較好借鑒意義,但是海底管道巡檢作業不僅要求水下機器人具備上述功能,還應滿足海底管道行業的工程綜合要求。因此,有必要探究海底管道巡檢機器人的工作原理,以指導海底管道巡檢機器人的工業化生產,保障海底油氣的安全輸送。針對海底管道檢查維修的行業需求,我們設計了一款能夠沿海底管道自主運行、檢測管道吸附物并發出警報的海底管道自主巡檢系統。
1.1.1 模擬海底管道
綜合考慮海底管道實際鋪設與巡檢工況,模擬海底管道水平架設、轉向、傾斜等各種情況。場地為長方體藍色水池,其尺寸(長×寬×高)為3 000×2 000×600(mm),水面高度為530 mm。模擬管道鋪設在水池底部,采用直徑φ75 mm的白色PVC管,設置淺水區、過渡區、深水區。其中淺水區水平距離長2 500 mm,距水池底部210 mm;過渡區水平距離1 000 mm,深水區水平距離2 500 mm,與水池底部接觸;設置兩個管道支撐架,分別放置于出發區靠近水池壁處和距離出發區支撐管2 000 mm處。
1.1.2 姿態矯正及自主循跡功能
根據海底管道巡檢需求,自主巡檢系統需全程自主循跡,并實現前進、轉彎、浮沉等功能。
1.1.3 吸附物檢測功能
為了在實驗室環境下模擬海底管道的腐蝕、泄漏等缺陷,在實驗室模擬管道外壁添加圓柱體、立方體等黑色吸附物。自主巡檢系統在管道循跡過程中,需自主識別吸附物的形狀、沿模擬管道軸線的位置等信息,并觸發相應類型報警。
根據設計要求,自主巡檢系統應主要由機械主體、主控模塊、姿態模塊、循跡模塊和視覺模塊等組成,如圖1所示。機械主體可為其它模塊提供安裝支撐和無水工作空間,為巡檢機器人正常工作提供基礎保障;主控模塊可實時監測自主巡檢系統的工作狀態及周圍水環境,并根據任務及環境調控自主巡檢系統工作狀態;姿態模塊可及時調控自主巡檢系統的運動姿態,保證尋跡和視覺識別的正常進行;循跡模塊可實時監測水下管道相對于自主巡檢系統的位置信息,控制自主巡檢系統沿水下管道正確循跡;視覺模塊可實時反饋管道及吸附物圖像,為主控模塊正確判斷管道吸附物提供圖像信息;此外,自主巡檢系統在水下作業,需保證自主巡檢系統各部件防水。

圖1 自主巡檢系統設計思路
根據設計要求,綜合考慮系統性與拓展性,完成基于光視覺技術的海底管道自主巡檢系統整體設計,如圖2所示。機械部分主要由支架、配重、防水艙、圖像艙、3組推進器(其中,2組水平推進器,1組垂直推進器)等組成,為各類傳感器、推進器等元件的安裝提供牢固的機械基礎,為控制模塊、圖像模塊等提供無水的工作空間。主控模塊主要由STM32F104ZGT6主控芯片、主控電路板、驅動電路板、穩壓電路板、鋰電池等組成,可實時監測各傳感器的反饋數據,控制推進器的運動狀態,并對各模塊提供穩定、正確地電源,以實現自主巡檢系統的姿態智能調整、管道軌跡的自主巡檢。姿態模塊主要由十軸加速度傳感器WTGAHRS1、深度傳感器MS5837-30BA等組成,實時監測自主巡檢系統的俯仰角、橫滾角、偏航角等水下姿態信息及下潛深度,采用PID運動控制算法及時調整垂直推進器工作狀態,保證自主巡檢系統的水下姿態正確、下潛深度正確且穩定。循跡模塊采用openMV進行管道位置的識別,反饋管道相對于自主巡檢系統的角度和位置信息,輔助水平推進器工作,實現管道的自主循跡。視覺模塊通過140°廣角攝像頭實時獲取管道吸附物的圖像信息,利用NANO主板強大的圖像處理能力,采用YoloV4-tiny目標檢測算法,高效、快速識別管道吸附物。

圖2 自主巡檢系統方案
水下巡檢控制系統主要由主控模塊、姿態模塊和尋跡模塊組成,可根據海底管道的相對位置信息實時調整推進器的工作狀態,實現自主巡檢系統沿海底管道前進、轉彎、沉浮等運動。
以自主巡檢系統對稱中心為原點O,與前進方向平行的對稱線為X軸,建立笛卡爾坐標系XOY,如圖3所示。在自主巡檢系統的四角對稱安裝4個同規格推進器P(此時,P=1,2,3,4),推進器正面朝向X軸正方向、軸線與X軸夾角為45°,相鄰推進器的軸線不平行,推進器1和2、3和4分別為一對正反推進器。當自主巡檢系統前進時,4個推進器正轉,產生推進力FP,FP沿Y軸分力F1Y和F2Y、F3Y和F4Y分別相互抵消(大小相等、方向相反),沿X軸分力F1X、F2X、F3X、F4X方向相同,則產生沿X軸正向的合力,推動自主巡檢系統向前運動;當自主巡檢系統向右轉彎時,推進器1#、2#前進速度不變,推進器3#正轉、4#反轉,產生推進力F3和F4,沿X軸分力F3X、F4X相互抵消(大小相等、方向相反),沿Y軸分力F3Y、F4Y方向相同,產生沿Y軸負向的合力,自主巡檢系統前部Y向位置不變、后部繞攝像頭位置向左前運動,自主巡檢系統整體運動表現為以攝像頭為圓心的向右轉彎;自主巡檢系統向左轉彎同理。在自主巡檢系統兩側對稱安裝2個同規格推進器P(此時,P=5,6),推進器正面垂直向上、軸線亦垂直向上。推進器5#、6#正轉,產生垂直向上的推力F5、F6實現自主巡檢系統上浮;反之,推進器5#、6#反轉,自主巡檢系統下潛。沿X軸,在自主巡檢系統的前方放置openMV攝像頭,實時獲取自主巡檢系統與管道的相對位置與夾角;在自主巡檢系統上表面放置深度傳感器,實時檢測自主巡檢系統的下潛深度;自主巡檢系統內部布置慣導模塊,實時檢測自主巡檢系統的俯仰角、橫滾角、偏航角等姿態信息。

圖3 推進器布置
自主巡檢系統運動控制包括循跡和姿態控制兩部分,如圖4所示。循跡控制將openMV反饋的角度偏差θ和位置偏差δ分別與循跡指令[ab]比較并進行PID運算,其結果[AB]乘以相應水平推進器的權重系數ai(其中,i=1,2,3,4)以產生推進器的速度指令[AiBi];姿態控制將慣導傳感器與深度傳感器傳回的橫滾角ψ和深度h分別與姿態指令[cd]比較并進行PID運算,其結果[CD]乘以相應垂直推進器的權重系數bj(其中,j=1,2)以獲得推進器的速度指令[CjDj]。

圖4 運動控制器原理
2.2.1 角度控制
自主巡檢系統沿海底管道尋跡運動過程中,當出現偏差角θ后,立即調用PID模塊以修正水平推進器的推進速度,如圖5所示。為了保證攝像頭對管道的實時檢測,角度修正過程的旋轉中心應位于攝像頭處。綜合考慮推進方向、自主巡檢系統重心、前進慣性等因素,為水平推進器設定不同的速度修訂權重系數ai(其中,i=1,2,3,4)。

圖5 角度修正
2.2.2 位置控制
在尋跡過程中,當自主巡檢系統出現位置偏差δ時,調用PID模塊進行位置修正。為了保證攝像頭視野的有效性,位置修正過程如下:
1)如圖6(a)所示,只對前方推進器1#、2#進行速度修正,后方推進器3#、4#的速度不變;

圖6 位置修正
2)如圖6(b)所示,在后方推進器的影響下,自主巡檢系統由位置偏差轉化成角度偏轉,此時調用角度控制器以修正偏角;
3)重復1)、2)過程,實現自主巡檢系統最終位置修正,如圖6(c)所示。
2.2.3 姿態
自主巡檢系統的姿態受俯仰角、橫滾角等影響。通過調整機身配重的大小與位置,使自主巡檢系統重力與浮力基本相等,且重心降低,保證自主巡檢系統不側翻且俯仰角穩定。當橫滾角出現偏差ψ或需要調整深度h時,立即調用PID模塊修正豎直推進器5#、6#的運動速度,實現自主巡檢系統的姿態調整。
考慮到水下環境中光亮強度、圖像畸變等因素影響,兼顧自主巡檢系統運動控制與高效識別的矛盾性,本系統選用精度高、速度快的輕量級算法模型YOLOv4-tiny[20-24]進行水下圖像識別。其中,顯卡使用NVIDAGeForceRTX 2060,選用darknet深度學習框架進行數據集標注訓練,深度神經網絡加速庫為CUDA10.1和CUDNN7.5,為防止顯存溢出,Training中的batch參數設置為64,subvisions設置為16;嵌入式平臺選用NvidiaJetson Nano,通過GPU進行推理加速,安裝CUDA庫以及OpenCV庫,檢測幀率達到16 fps。
YOLOv4-tiny方法具有較快的目標檢測速度,可在嵌入式系統或移動設備上進行動圖識別。在1080Ti GPU平臺上,YOLOv4-tiny的目標檢測速度可達每秒37幀,而且精度滿足實際要求。YOLOv4-tiny方法使用CSPDarknet53-tiny網絡作為骨干網絡,其使用了跨級部分網絡中的CSPBlock模塊,該模塊可以提高卷積網絡的學習能力。CSPBlock模塊將特征映射分為兩部分,并通過跨級殘差邊緣將兩部分合并。因此,梯度流可以在兩個不同的網絡路徑上傳播,增加了梯度信息的相關性差異。YOLOv4-tiny方法的激活函數LeakyReLU函數,即:
(1)
其中:ai∈(1,+∞)且為常數。
在特征融合部分,YOLOv4-tiny方法使用特征金字塔網絡提取不同尺度的特征地圖,以提高目標檢測速度。同時,YOLOv4-tiny使用兩種不同比例的特征圖1313和2626來預測檢測結果。預測過程中,首先調整輸入圖像的大小,使所有輸入圖像大小相同。其次,將輸入圖像劃分為大小為SS的網格,每個網格負責對中心落入該網格的物體進行預測。每個網格需要預測出B個目標框及每個目標框的置信度得分C,如果目標框的置信度得分高于置信度閾值,則保持目標框;否則目標框將被刪除。置信度得分的公式為:
(2)

(3)
由上式可得每個目標框的類別置信度得分,根據設置的閾值可對準確度低的目標框進行去除,并對閾值篩選后的目標框進行非極大值抑制即可得到檢測網絡最終的輸出的結果。
通常目標檢測對象是圖片或靜止物體,在進行目標檢測時基本不會出現因目標運動模糊造成模型誤識別問題。但自主巡檢系統在水下巡檢時一直處于運動狀態,采集的圖像幀數有限且不固定,需要在盡量短的時間內根據不同角度的圖像完成目標準確識別。此外水下環境復雜,模型精度有限,單幀正確率難以保證。為了評估異常結果,一般采取以下兩種評估方案:1)實時評估,即僅依賴單次采集的圖像數據進行實時評估。該方案具有良好的同步性,但對模型要求較高,很容易出現誤報,且同一異常點會被連續采集,多次報警;2)完整評估,即預設評估數量,采集數據達到一定值后再進行評估。可減少模型錯誤產生的誤報,但預設數量往往是定值,可能自主巡檢系統運動速度快慢影響數據利用等情況。
綜合以上考慮,本文提出一種新的動態評估算法,即根據實際的圖像采集情況確定評估時間,時間結束后立刻根據采集到的所有數據進行綜合性評估。
3.2.1 確定評估時間
首先設置視覺定時器,該定時器以固定頻率進行計數,當計數達到最大值時,采集結束。則需要確定計時器何時開始計時以及計數最大值,如圖7所示。具體過程如下:攝像頭以固定頻率進行圖像采集,當目標出現在自主巡檢系統視野內(模型判斷該幀圖像目標存在概率超出閾值,避免誤判),開啟視覺定時器;定時器開始計時后,若模型判斷當前幀存在異常,該計時器清零,重新計數;同時,根據圖像識別結果不斷調整計數器最大值;當計數器完成計數后,采集時間結束,將采集到的數據進行統計,并根據評估方法得出異常結果。其中,為了采集盡量多的數據并在采集完成后立刻進行評估,構造計數器最大值與采集時間的函數,且具備以下特征:單調遞減、平滑、初始段斜率較小、超過一定閾值后以較快速度下降、保證準確率后直接進行判斷。為得到計數器最大值與采集時間的關系,設模型在某一時刻產生誤判或者漏識別的概率Pe(t),正確檢測的概率記作Pa(t),以目標剛進入視野內開始計時,在視野內的滯留的采集時間記作t,計數器最大值是用于模型在產生誤識別或漏檢后,如果在計數器規定時間內沒有檢測到目標,則對已有數據進行評估,此目標檢測結束,等待下一次檢測開始,該計數器最大值記作k,計數器最大值與采集時間的關系記作k=f(t)。一般情況下,我們可以認為任意時刻Pe(t)均為常數,但實驗發現,由于目標圖像不完整以及模型本身存在一定缺陷,在目標剛進入識別視野內和離開視野時Pe(t)較大,這里取50次目標檢測的數據進行分析,為方便后續數據處理,我們將時間t和k進行離散化,這里取時間單位100 ms,通過50次實驗數據可以對Pe(t)進行估計,公式為:

圖7 評估算法
為得到合適的f(t)我們取優化目標函數:
式中,a為懲罰系數,設置范圍在(1,1.5)范圍內,優化目標是使g(t)取最小值。為滿足f(t)的特征,我們選擇3次函數來進行優化。通過Matlab仿真擬合以及實際實驗測試的效果,最終得到函數:
f(t)=0.0003t3-0.0115t2+0.0742*t+0.918
(4)
上述公式含義為在0.1*ts時刻,計數器最大值為s。通過配置程序中檢測定時器的值,實現計數器值動態變化。
當數據量較小時,計數器最大值較大,允許在較長時間內繼續獲取數據;當數據量基本滿足要求時,計數器最大值則快速下降;當計數器最大值變小后,計數時間縮短,若未在規定時間內獲取到數據或數據量達到一定值時結束,盡可能快地進行數據評估,得出結果。
3.2.2 計算評估結果
在采集完每幀圖像后,模型會對圖像信息進行處理,從而判斷出該幀圖像中可能存在的異常,并給出異常標簽i(異常類型)與該異常的置信度pi(存在概率)。設采集到某異常標簽j的數量為xj、其最大置信度為pjmax。水下數據采集完成后,對采集到的數據進行計算:Qj=xj×pjmax,取最大值Qj,則其對應的標簽j便為評估結果。本算法直接將標簽對應的數量與其最大置信度相乘,既利用了所有數據,又能最大程度地簡化運算,保證了算法的快速性與準確性。
為了驗證基于光視覺技術的自主巡檢系統的有效性,制作機器人樣機并搭建水下管道巡檢實驗平臺,滿足1.1.1尺寸要求,如圖8所示。其中,管道附著物采用截面形狀為方形、圓形的黑色物體進行模擬,且安置于管道軸線上方,沿軸線方向設置8個吸附物,相鄰吸附物距離不小于500 mm(機器人樣機長度)。吸附物的直徑或邊長為30~50 mm,材質為PLA(聚乳酸),采用3D打印機制作。

圖8 水下管道巡檢實驗平臺
在室內光照充足環境下,分別間隔2個小時,連續開展10次實驗,步驟如下:
1)將自主巡檢系統放于水池出發區管道正上方,并啟動;
2)自主巡檢系統沿管道自主前行,依次通過出發區、深水區、過渡區、淺水區和返回區;
3)巡檢過程中檢測到方形吸附物點亮綠燈,檢測到圓形吸附物則點亮紅燈。
多次實驗表明,自主巡檢系統可完成水下管道尋跡運動、附著物檢測運動,具有良好的自適應能力。
4.3.1 管道循跡實驗結果
采用深度傳感器、慣導傳感器獲取巡檢自主巡檢系統深度和橫滾角、俯仰角、偏航角等狀態數據,并進行均值化處理,在Origin75數據處理平臺上進行曲線擬合,結果如圖9所示。

圖9 自主循跡實驗結果
由圖9中下潛深度曲線和管道深度曲線可知,兩條曲線變化趨勢一致:0~20 s時間段,兩條曲線數據均較大、變化波動較小,二者平行,說明此段是深水區,機器人運動高度與管道高度一致;20~30 s時間段,兩條曲線下降,但是仍舊保持較好平行,說明此段是過渡區,機器人循跡高度與管道高度比較吻合;30~48 s時間段,兩條曲線數據均較小、變化波動較小,二者平行,說明此段是淺水區,機器人運動高度與管道高度一致。實驗表明,自主巡檢系統在淺水區、過渡區、深水區分別與管道在深度上保持了較好的一致性,滿足了在不接觸管道的基礎上完成管道循跡和附著物識別。
由俯仰角曲線和橫滾角曲線可知,橫滾角和俯仰角都趨于零,表示自主巡檢系統在水下的姿態穩定,沒有發生明顯的側翻趨勢;由偏航角曲線可知,偏航角由深水區的0°左右增大到過渡區90°左右,再變化到淺水區的180°左右,表明自主巡檢系統發生兩次垂直轉彎,與管道實際布置情況一致,自主巡檢系統可沿管道正確循跡。
綜上可知,自主巡檢系統在水平方向、豎直方向都能準確地沿水下管道進行循跡運動,準確率達100%,自主巡檢系統具有較高的準確性和穩定性。
4.3.2 附著物檢測實驗結果
如圖10所示,自主巡檢系統能夠在循跡過程中,圓柱型附著物的最低識別率為60%,僅出現1次;方塊型附著物的最低識別率為75%,出現了2次。

圖10 附著物識別結果
連續10次實驗表明,自主巡檢系統能夠準確識別出吸附物的位置和形狀并報警,多次實驗的識別準確度可以達到96%。異常綜合評估算法可以綜合同一目標的多次檢測數據進行綜合評估,提高了目標檢測的準確度,一定程度上可以減少漏檢和誤檢帶來的影響,解決了在采集圖像幀數有限且不固定、需要在盡量短的時間內情況下及時做出準確評估的問題。
針對水下管道的巡檢問題,本文探究了水下管道自主巡檢方法與水下管道巡檢機器人原理,設計了一種基于光視覺技術的自主巡檢系統,并制作機器人樣機進行了實驗室環境下的水下實驗。實驗表明,該自主巡檢系統能夠通過視覺與運動控制器的配合實現水下姿態穩定與正常循跡,并在此基礎上通過YOLOv4-tiny模型與評估算法實現管道吸附物的準確、快速檢測,解決了目前水下目標檢測精度低、速度慢等問題。但本系統還缺少實際環境下的深水實驗,實際效果還有待進一步提高完善。