杭 震,彭 浩,曹文卓,王化明
(1.泰州市港航事業(yè)發(fā)展中心,江蘇 泰州 225309;2.江蘇省周山河船閘管理所,江蘇 泰州 225300;3.南京航空航天大學機電學院,南京 210016)
內(nèi)河航運在交通運輸系統(tǒng)中扮演著重要角色,是交通運輸系統(tǒng)中不可或缺的部分。在內(nèi)河航運中,船閘作為聯(lián)通不連續(xù)航道水域的通航建筑物,被廣泛用于溝通水系聯(lián)系、提高航道等級、改善水流條件等場景,極大地促進了內(nèi)河航運的發(fā)展。船舶在閘室內(nèi)停靠時主要依靠浮式系船柱,其導輪隨水位的升降沿導槽滾動,因此系船柱在浮力作用下隨水位變化上下浮動,滿足船舶在閘室內(nèi)安全系纜的要求[1]。
浮式系船柱作為一種常見的船舶過閘系纜設備,使用頻率高,在實際使用中可能會出現(xiàn)卡阻或升降遲緩等問題,導致出現(xiàn)吊船、拉船入水、船舶損傷甚至船員傷亡等安全事故,帶來嚴重的安全隱患,主要原因是[2]:
(1)系纜力增大和系纜不規(guī)范。船舶大型化的快速發(fā)展使過閘船舶的噸位和尺寸逐年增大,超過系船柱設計標準,系纜力隨之增大,對通航設施提出更高的要求。在系纜過程中存在船速過快、系纜不規(guī)范等現(xiàn)象,導致系船柱的橫向?qū)л喼Ъ墚a(chǎn)生較大的變形,造成系船柱運動卡阻。
(2)滾輪襯套密封措施差。水中泥沙等雜質(zhì)進入導輪襯套與轉軸的縫隙中,容易造成導輪襯套與轉軸間的磨損或卡死,影響其使用壽命。此外河水中的酸堿成分也會造成導輪及轉軸的銹蝕,影響其轉動,增大了運行阻力,導致系船柱升降遲緩。
為分析浮式系船柱的運行狀態(tài),近年來有學者開展系船柱表面應變、系纜力的分析與檢測等方面的研究[3-4],將系船柱所受系纜力與預警閾值進行比較,實現(xiàn)對系船柱的系纜安全評估。實際系船柱在工作過程中受力和應變情況復雜,與系纜角度、方向及位置等因素都相關,系船柱的工作狀態(tài)還受到其導輪運轉狀態(tài)等因素的影響,因此,可通過直接檢測系船柱的高程及高程數(shù)據(jù)點的分析判斷系船柱是否存在卡阻、升降遲緩等問題。
為直接獲得浮式系船柱的工作高程并進行其運行狀態(tài)的檢測,構建浮式系船柱運行狀態(tài)自動檢測系統(tǒng),通過激光測距技術獲取所有系船柱的高程[5],融合機器學習算法和統(tǒng)計學方法分析數(shù)據(jù)中的離群點,實現(xiàn)系船柱運行狀態(tài)的分析,保障船閘及系船柱的安全運行。
浮式系船柱運行狀態(tài)檢測系統(tǒng)硬件電路結構如圖1所示,主要由激光測距傳感器、數(shù)據(jù)采集器和工業(yè)計算機(上位機)3個部分組成。

圖1 浮式系船柱運行狀態(tài)檢測系統(tǒng)結構圖
激光測距傳感器用于獲取傳感器與每個系船柱浮筒之間的距離。根據(jù)船閘系船柱的實際工作范圍和工作環(huán)境,確定激光測距傳感器性能參數(shù)為:測量范圍為0~10 m,精度±1 mm,RS485串口輸出,IP67防護等級。
為防止現(xiàn)場干擾,保證數(shù)據(jù)的實時采集與傳輸,通過多種數(shù)據(jù)采集傳輸方案的實際測試對比,確定采用基于串口服務器的數(shù)據(jù)采集方案,其具有將串口信息轉換為以太網(wǎng)網(wǎng)口信息的功能[6],實現(xiàn)RS485串口與TCP/IP協(xié)議網(wǎng)絡接口的數(shù)據(jù)雙向透明傳輸。所有激光測距傳感器通過485總線與串口服務器的輸入485串口連接,每個傳感器擁有唯一的Modbus地址,按編號進行排列[7]。串口服務器通過Modbus RTU通信協(xié)議定時采集傳感器數(shù)據(jù),將數(shù)據(jù)放置在存儲區(qū)域,將串口信息轉換為以太網(wǎng)信息。
工業(yè)計算機通過以太網(wǎng)網(wǎng)口,基于Modbus TCP通信協(xié)議從串口服務器的存儲區(qū)域獲取數(shù)據(jù),計算得到浮式系船柱的高程,應用離群點檢測算法判斷各系船柱的運行狀態(tài),將采集的數(shù)據(jù)和運行狀態(tài)存入數(shù)據(jù)庫中。
激光測距傳感器具有精度高、測距范圍大、響應速度適中等優(yōu)點,采用激光測距技術可實時獲取浮筒與傳感器的精確距離。為測得傳感器與系船柱浮筒之間的垂直距離,需要對傳感器的安裝姿態(tài)進行校準。圖2所示為浮式系船柱的高程計算示意圖,激光測距傳感器安裝于系船柱浮筒的正上方,其中:閘室墻面的頂高程為H、傳感器與閘室頂面的高度差為h,得到傳感器的安裝高程H-h。由浮筒與傳感器的距離D得到浮筒的高程為H-h-D。

圖2 浮式系船柱高程計算示意圖
當所有浮式系船柱運行狀態(tài)正常時,其高程數(shù)據(jù)點之間的距離較小。當個別系船柱出現(xiàn)卡阻、運動遲緩時,則會出現(xiàn)個別數(shù)據(jù)點偏離絕大多數(shù)數(shù)據(jù)點的現(xiàn)象,即為離群點[8]。因此,可以采用離群點檢測的方法進行浮式系船柱運行狀態(tài)的檢測。
離群點檢測的方法主要有基于聚類的檢測方法、基于統(tǒng)計學的檢測方法、基于近鄰的檢測方法等,為提高離群點檢測的正確性,融合運用基于聚類和基于統(tǒng)計學的檢測方法綜合判斷系船柱的運行狀態(tài)。
聚類算法是數(shù)據(jù)挖掘的重要算法[9],其中K-means聚類算法是基于距離的聚類算法[10-11],該算法采用距離作為相似性的評價指標,即認為兩個數(shù)據(jù)點的距離越近,其相似度就越大。該算法認為簇是由距離靠近的數(shù)據(jù)點組成,因此把得到緊湊且獨立的簇作為最終目標。Kmeans聚類算法采用迭代求解的分析方法,其步驟是隨機選取k個數(shù)據(jù)點作為初始聚類中心,然后計算其它每個數(shù)據(jù)點與各個聚類中心的距離,再把每個數(shù)據(jù)點分配給距離最近的初始聚類中心。采用K-means聚類算法檢測系船柱高程離群點的實現(xiàn)步驟如下所述。
步驟1:算法參數(shù)初始化,設置聚類簇數(shù)k、系船柱浮筒高程數(shù)據(jù)集X={x1,x2,…,xn}。
步驟2:從數(shù)據(jù)集中隨機選取k個數(shù)據(jù)點作為初始聚類中心C={c1,c2,…,ck}。
步驟3:計算數(shù)據(jù)集X中所有數(shù)據(jù)點到各個聚類中心C的距離,即

式中:i=1,2,…,n且j=1,2,…,k。
對于任意數(shù)據(jù)點xi,如果d(xi,cj)為最小距離值,則將數(shù)據(jù)點xi歸入聚類中心cj所代表的簇Sj。
步驟4:根據(jù)每個簇中的數(shù)據(jù),以它們的平均向量作為新的聚類中心。
步驟5:重復步驟3和步驟4,直至聚類中心不再移動,即每個簇中的數(shù)據(jù)點不發(fā)生變化,得到最終聚類中心C′={c′1,c′2,…,c′k}和簇S′={S′1,S′2,…,S′k}。
步驟6:由聚類中心{c′1,c′2,…,c′k}計算距離矩陣,即

式中:dij= |ci′-c′j|,i,j=1,2,…,k。
步驟7:由距離矩陣計算離群因子,即

式中:i=1,2,…,k,δi表示第i個聚類中心對應的離群因子,count(S′j)表示簇S′j中元素的個數(shù)。
步驟8:對離群因子進行排序,計算中位值δmid和標準值δstd,即

步驟9:計算離群因子閾值thresh=δmid+1.5δstd。當離群因子大于該閾值時,則該簇中的點為離群點。
設聚類中心數(shù)k=3,將系船柱浮筒高程數(shù)據(jù)分為偏大簇、正常簇和偏小簇,其具體算法流程如圖3所示。

圖3 基于K-means聚類算法的離群點檢測流程
四分位算法(interquartile range,IQR)[12-13]是一種基于統(tǒng)計學原理的離群點分析方法,利用箱型圖的四分位距對離群點進行檢測,方法如下:
(1)數(shù)據(jù)排列。對于計算得到的一組系船柱浮筒高程,首先將數(shù)據(jù)從小到大排列,排列在前1 4位置上的數(shù)即為第一四分位數(shù),記作Q1;排列在前1 2位置上的數(shù)即為中位數(shù),記作Q2;排列在前3 4位置上的數(shù)即為第三四分位數(shù),記作Q3。
(2)四分位距計算。計算第三四分位數(shù)與第一四分位數(shù)的差值,即IQR=Q3-Q1。
(3)離群點判斷。以四分位距的1.5倍為標準,規(guī)定上限閾值Qu為第三四分位數(shù)加1.5倍的四分位距,下限閾值Qb為第一四分位數(shù)減1.5倍的四分位距。高于上限閾值Qu或低于下限閾值Qb的數(shù)據(jù)點認為是離群點。
使用單一的離群點檢測算法具有局限性,容易產(chǎn)生誤檢或漏檢,結合K-means聚類算法和IQR四分位算法得到的離群點檢測結果[14],融合兩種方法進行系船柱高程離群點的判斷,方法如下:
(1)當兩種方法的檢測結果一致時,則認為該數(shù)據(jù)點正常或為離群點;
(2)當IQR檢測為異常值而K-means檢測為正常值,說明此時整體數(shù)據(jù)波動較大,設為警戒值;
(3)當IQR檢測為正常值而K-means檢測為異常值,說明此時數(shù)據(jù)分布在小范圍內(nèi),且分布較為集中,設為正常值。
圖4所示為基于四分位法的離群點檢測示意圖

圖4 基于四分位法的離群點檢測示意圖
以國內(nèi)某船閘為研究對象構建該檢測系統(tǒng),該船閘共有20個浮式系船柱。在每個系船柱正上方固定安裝激光測距傳感器,所有傳感器通過485總線連接至串口服務器,串口服務器與工控機通過網(wǎng)口連接并安裝于閘首的機房內(nèi)。基于Qt平臺開發(fā)集成有數(shù)據(jù)采集和離群點檢測功能的系統(tǒng)軟件[15],軟件界面如圖5所示。
系統(tǒng)現(xiàn)場測試表明,工業(yè)計算機從串口服務器讀取一次數(shù)據(jù)的時間為10 ms,輪詢20個地址總用時200 ms,離群點檢測算法推理用時1 ms,因此系統(tǒng)能夠在1 s內(nèi)采集浮式系船柱高程并完成分析,滿足浮式系船柱運行狀態(tài)實時檢測的需求。
表1所示為某時刻的一組浮式系船柱高程,可以看出此時數(shù)據(jù)分布較為集中,閘室內(nèi)處于高水位。使用Kmeans聚類算法初始化聚類簇數(shù)k=3,數(shù)據(jù)點數(shù)n=20,得到如表2所示聚類結果。

表1 浮式系船柱高程m

表2 浮式系船柱高程聚類結果m
由式(2)、(3)計算距離矩陣和離群因子,得

對離群因子進行排序后得中位值δmid=0.033 5,標準值δstd=0.010 7,計算得離群點判定閾值thresh=0.049 6。因此,由K-means算法得到所有數(shù)據(jù)點正常。
其次,使用IQR四分位算法進行檢測,第一四分位數(shù)Q1=6.6315,第三四分位數(shù)Q3=6.668,則四分位距IQR=0.036 5,上 限 閾 值Qu=6.723,下 限 閾 值Qb=6.577。所有數(shù)據(jù)點均處在上限閾值和下限閾值之間,因此由IQR四分位算法認為所有數(shù)據(jù)點正常。
對兩種算法的結果進行融合,因兩種方法均檢測為正常數(shù)據(jù),最終確定此時所有浮式系船柱運行正常。圖5所示為當前時刻系船柱的狀態(tài)和高程,分別以高程和數(shù)據(jù)點的形式顯示,所有系船柱均顯示為綠色,表明其均工作在正常狀態(tài)。

圖5 浮式系船柱運行狀態(tài)檢測系統(tǒng)界面
本文設計并構建了船閘浮式系船柱運行狀態(tài)檢測系統(tǒng),該系統(tǒng)通過串口服務器和激光測距傳感器實時獲取系船柱的高程,融合K-means聚類算法和IQR四分位算法對所有系船柱高程進行數(shù)據(jù)離群點檢測,得到系船柱的運行狀態(tài)。現(xiàn)場測試表明,該系統(tǒng)運行平穩(wěn),能在1s內(nèi)完成船閘所有浮式系船柱高程的實時采集、離群點分析和數(shù)據(jù)存儲,滿足浮式系船柱運行狀態(tài)實時檢測的需求,也為系船柱的運行狀態(tài)變化分析及結構改進設計提供了客觀數(shù)據(jù)。該系統(tǒng)采用系船柱高程離群點檢測的方法,包含浮式系船柱的受力狀況及導輪等裝置的運轉狀態(tài),為系船柱運行狀態(tài)檢測提供了新方法,具有推廣應用價值。