★ 國網北京市電力公司電纜分公司 冀然,吳建旺
★ 北京卓越電力建設有限公司 張東,高祥,王辰松,張亮
近年來隨著高壓電纜體量的快速增長,完成必需的巡檢工作所需的人力也大幅增加,因此巡檢工作的智能化替代是必不可少的。與固定式在線監測設備負責重要節點全天候實時監測相互補,巡檢機器人可以滿足電纜全長溫度監測、隧道環境監測等移動監測工作。目前主流的隧道巡檢機器人可分為軌道式和無軌道式。常見的軌道式巡檢機器人其運行軌道固定在隧道的頂板上,因此機器人在軌道長度內可以自由活動。同時由于其懸掛在吊軌上,其自身重量、電池容量均無太大限制所以可搭載的監測設備也更加全面。但是因為建設軌道式巡檢機器人其投資巨大,因此要想建設覆蓋全部高壓電纜隧道的軌道式機器人其花費難以估量。也正因如此軌道式巡檢機器人尚未大面積普及。目前主流的無軌道巡檢機器人分為無人機和地面巡視兩類,本文主要討論地面巡視類機器人的路徑規劃思路。地面巡檢機器人在電纜隧道中運行時由于隧道內空間較為狹窄,因此在自主前進時對行進路線有較為嚴格的要求。以某市高壓電纜隧道為例,其剖面圖如圖1所示。
圖1 高壓電纜隧道截面圖
如圖中所示其可供地面巡視機器人通行的寬度約為50厘米,目前大部分地面巡視機器人機體寬度約為40~50厘米,因此對機器人路徑規劃的要求極為嚴苛,稍有偏差即有可能導致機器人無法繼續前進。目前巡檢機器人普遍采用標示線法進行路徑規劃,即人為在可通過路徑中心或對稱位置粘貼一條或兩條顏色鮮明的標示線,機器人攝像頭識別標示線并以此為依據判斷前進路徑。此方法簡單可行,但是需要人為粘貼大量標示線顯然難以滿足大規模應用需要。因此識別隧道內固有特征并轉化為路徑規劃依據具有較高的實用性。在常見高壓電纜隧道中步道是供巡視人員行走的通路,步道表面較為平直可供機器人通過,其高于左右兩側地面約10cm,因此其結構特征可以作為良好的路徑規劃依據。
1 點云數據采集與存儲
在本文中獲取場景的點云數據信息和普通圖像信息使用的是用ASU SXtion PRO Live攝像頭。ASU SXtion PRO Live設備包含一個可見光RGB攝像頭和一個深度攝像頭。深度攝像頭與紅外發生器配合得到視場內的深度信息。通過此設備可直接得到寬度×高度為640×480的RGB圖像及深度圖像。與常用的Microsoft Kinect攝像頭相比ASUS Xtion PRO Live的USB2.0接口可以同時完成供電與數據傳輸兩項功能,因此當搭載在機器人上時其占用的硬件資源更少。
PCD文件格式是一種用于點云存儲的文件格式。相較于PLY、STL、OBJ等常規格式,其使得組織化點云的處理更方便。組織化點云數據一般來源于體感、立體攝像機、飛行時間攝像機等具有結構化行列信息的設備,其毗鄰的點與點之間有明確的空間關系。PCL的IO模塊將XtionPRO獲取的RGB圖像與深度圖像融合為組織化的點云數據。
本文采用行列為640×480的點云輸入,因此每幀包含307200個點,每個點均附帶空間中三維坐標值及RGB色彩值。隧道內步道RGB圖像和深度圖像如圖2所示。
圖2 隧道RGB圖像和深度圖像
2 路徑規劃流程
圖3為自主導航流程框圖,描述了從點云數據采集到最終完成路徑規劃的幾個主要步驟。
圖3 自主導航流程框圖
3 點云精簡算法
深度攝像頭所采集到的點云數據中有大量的噪聲點和冗余點,在輸入神經網絡訓練之前需要通過點云精簡的方法盡可能多的去掉噪聲點和冗余點,用以提高神經網絡的訓練效率和訓練效果。下文主要介紹幾種常見的點云精簡方法。
3.1 空間劃分和點云特征
基于空間劃分和點云特征的方法中空間劃分使用的方法通常有kd-tree、八叉樹、均勻網格,點云特征一般使用曲率、法向量或鄰域點距離。
3.2 均勻網格法
均勻網格法(even grid)[3],首先對整個點云構建一個大的方形網格,然后在X軸、Y軸、Z軸上設定最小步長,將包裹全部點的大網格分割為若干個小的網格,最后使用每個小網格中離網格中心最近的一個點,代替小網格中的所有點。此種方法可以較大程度上減少冗余點的出現,但是個別離群的采樣點由于單獨處于一個小網格中因此仍然無法消除。并且從圖2中可以發現深度攝像頭對于處在攝像頭中心近距離步道的采集密度遠高于兩側噪聲點,通過均勻網格法將會使全部最小網格內的采樣點密度下降到同一水平,反而放大了需要過濾的噪聲,因此均勻網格法不適用于此種適用環境。
3.3 曲率法
曲率法是另一種基于區域特征的精簡方法,這個方法首先找出每個點的K個近鄰點然后再使用這些點的擬合成一個曲面。這個曲面的曲率可以反映這個區域的復雜度。其中曲率比較大的區域則是形狀較為復雜的區域因此應保留更多的點。此方法旨在使模型較為復雜的地方保留更多的點,在較為平坦的區域舍棄更多的點。在本文討論的適用場景下我們關注的反而是較為平坦的步道區域,因此無需保留模型復雜處的點。同時由于曲率計算需要復雜的矩陣運算,尤其是當處理大量點云數據時其運算量巨大,因此其運算時間和功耗都是需要實時解算的巡檢機器人難以承受的。因此本方法也不適用于本文討論的高壓電纜隧道巡檢機器人。
3.4 隨機精簡法
隨機精簡的方式是指使用隨機抽取的方法,按照設定比例抽取部分點構成新的精簡點云的方式。這種做法有兩個特點。第一,能夠降低系統誤差,隨機方法的實現和思想雖然簡單,但是由于選取點的隨機性,使得精簡后的模型在全局的精簡度都比較的均勻。第二隨機精簡的方式計算量小,實現簡單,但是在精簡過程中容易失去模型部分特征,因為隨機精簡在特征密集區域和平坦區域的采樣程度是一樣的,這就會導致在平坦區域采集過多的點,而在特征集中的區域采樣點不足,從而造成誤差增加。在本文所討論的隧道環境下,需要分割的反而是比較平坦的步道區域,因此隨機精簡法的缺點將成為其優點。在實驗中發現保留20%點時點云中的目標平面特征依舊明顯,即精簡80%的數據后識別效果無明顯影響。
4 提取平面
點云經過精簡后需要對所需的步道平面點進行篩選用于后續計算。文獻[1]中通過對點云的法向特征進行聚類來分割場景中的平面。首先,計算點云數據的法向量。然后,將法向一致的點云聚類到一起。最后,對每一簇點云在這一簇點云中心方向上進行距離空間的聚類便可獲得各自獨立的平面點簇。本文在第二步聚類時,使用第3節中獲取的平面參數作為指導,從第一步聚類的結果中選取最接近運動平面法向量的類簇,然后單獨在這一類簇上進行距離空間上的聚類,省去了對無關類簇的計算。表面法向計算采用文獻[2]中的SDC(Smoothed Depth Changes)算法來計算點云的法向量。SDC算法的本質上是通過相鄰點的特征關系來擬合一個局部平面片。即位于(x,y)處點p的曲面法向可通過計算其相鄰點的叉積得到。從組織化點云中選取行列上4個鄰點。如圖4所示,由橫向兩鄰點計算,由縱向兩個鄰點計算。
深度信息在計算點云空間位置時起到重要作用,而噪聲的影響會造成計算所得點云的空間位置不準確,在通過式(1)計算法向時在平面邊緣處往往得不到應有的結果,可通過均值化來平滑深度信息上的噪聲。為了避免平滑過程中目標邊緣信息的丟失,在遇到潛在的邊緣時調整平滑區域的半徑。在本文討論的使用場景下,由于步道左右對稱,因此邊緣信息的丟失也呈對稱狀,通過試驗對比發現去掉均值化步驟對步道中心線的識別無明顯影響,因此省略此步驟。
5 基于法向信息的平面分割
若需判斷兩個平面共面,應滿足文獻[3]中所述的兩個條件:(1)局部平面的法向量具有一致性,即在同一平面上的各個點鄰域內法向的朝向應該是一致的。(2)兩個平面上各取兩點構成的向量在各自局部平面法向上的內投影應足夠小。文獻[4]中將上述兩個條件以數學方式表示為:
其中,n1與n2分別是兩個局部平面片的法向量;αthresh為夾角閾值;dthresh為投影長度閾值如圖5(a)所示。
對于已被歸一化的法向量,本文近似用歐氏距離代替角度可將第一個公式調整為
其中,emax為法向距離閾值,即在法向空間上兩者的歐式距離應足夠接近。對已具有共向性的點簇,應滿足
其中,,其中A=[a,b,c,d]為平面系數;p=(x,y,z)為具有共向性點簇中的一點;dmax為平面片間的最大距離閾值。平面系數A的前3個元素描述了平面法向的朝向,可用具有共向性點簇的朝向來代替。任選一點p另ax+by+cz+d=0可解出d的值。式
(4)表示點族內兩點到平面距離的差值應足夠小。
圖5 平面共面判別條件
圖6 平面分割效果
6 聚類識別步道平面
在得到各點的法向量后需要判斷哪些點屬于同一個平面,此時需要運用K-means聚類算法。K-means算法屬于無監督學習算法,可以在缺少分類標簽的情況下依據每個點自身的法向量判斷其是否在一個平面內,其算法流程如下:第一步首先隨機初始化k個“質心”,計算各個點到每個質心的距離,在本文中距離以各點法向量的夾角余弦值代表。
第二步遍歷完全部點后將得到k個點簇,計算每個點簇中各點的平均法向量以及各點法向量與質心向量的方差,將平均法向量作為新的質心,并重新進行第一步。通過多次迭代可以發現各點簇的向量方差將逐步收斂,證明擁有相似法向量的點被劃分成了一類。由于深度攝像機視角內最大的平面就是隧道的地面,因此只需選取包含點數最多的點簇即可完成屬于水平面上點的篩選。
由于步道和兩側地面為平行關系,因此僅通過法向量聚類無法區分步道和兩側地面。此時需要對這一簇點舍棄掉x、y維度的信息,僅以高度數據進行一次k值為2的一維聚類。這樣就可以完成步道平面和兩側地平面的區分,其中高度較高的一簇即為從步道上所采集到的點。
7 邊界提取
由于路徑規劃依靠識別步道的中線并計算攝像頭中心線與步道中心線的關系進而修正前進路線,因此還需要識別出步道兩端的邊緣。對于點云圖像邊緣的提取[5]中介紹了很成熟的算法。其原理為利用數據點的拓撲關系以及數據點法矢等信息構造最小二乘平面,然后根據鄰域內數據點在平面上的投影點之間分布均勻性提取邊界。設點p為點云中的某一點,先利用kd-tree檢索該點的k鄰域,然后構建最小二乘平面,并將鄰近點投影到其最小二乘平面上(如圖7所示),過p點作平行于坐標軸平面xoy,xoz,yoz的平面xpy,xpz,ypz,以xpy,xpz,ypz為參考平面,當其鄰近點中位于某一平面一側的點與位于另外一側的點數差與鄰近點總數的比大于一定閾值時,該點即為邊界點。
邊界點的具體計算流程如下:
(1)由p點的鄰近點,計算出p點的法向量,然后構造最小二乘平面T;
(2)將p點的鄰近點投影到平面T上;
(3)過p點作平行于xoy,xoz,yoz的平面,并計算出位于三個平面兩側的點;
(4)若位于平面兩側的點數之差占鄰近點總數的比例大于或等于某一閾值,該點即為邊界點。
由于經過前文中對點云數據的特征提取已經從點云中提取了平面特征,因此在應用上述算法提取邊界時可以進一步簡化算法。算法可以簡化為先利用kd-tree檢索該點的k鄰域,確定點p的臨近點,過p點做平行于面xoz的平面,計算出其鄰近點在平面的哪一側,若位于平面兩側的點數之差占鄰近點總數的比例大于或等于閾值,該點即為邊界點。這樣避免了計算最小二乘平面以及計算臨近點投影的計算量,進一步減小了處理器的運算壓力。邊界提取效果如圖8所示。
圖8 邊界提取效果
8 解算控制信息
提取到左右兩側邊界點后,取其x坐標相等的點為一對計算其中心點,得到此x坐標下的步道中心。多個中心點連線即是步道中線。在步道中線上取三個點進行擬合可以得到步道的基本走勢。若擬合曲線通過視角底部中點則可以判斷當前機器人位于步道中心。若擬合曲線端點在鏡頭右側則表明機器人當前處于步道中心偏左位置需要向右平移,反之需要向左移動。取擬合曲線下方末端切線,切線朝向即位當前位置隧步道走向,因此機器人向切線方向旋轉即可保證機器人前進方向始終與步道走向一致。中心線擬合效果如圖9所示。
圖9 中心線擬合效果
9 總結與展望
本文提出了一種針對高壓電纜隧道步道點云特征的機器人路徑規劃方法。本方法可以基本滿足輪式和四足式巡檢機器人在步道中的導航需求。但是本方法還存在諸多不足之處有待改進以滿足更多場景的應用。(1)高壓電纜隧道中存在集水坑等特殊地形,本方法無法識別。(2)本方法無法識別步道上的臺階碎石等障礙物。對于上述崎嶇地形條件,基于點云的路徑規劃應該比視覺、SLAM等其他路徑規劃方式更加有優勢,值得繼續研究開發。同時本方法的實驗數據計算均基于筆記本電腦處理器,其運算效率和搭載在機器人上的微型處理器有很大差距,因此計算的實時性還需要另外加以驗證,若無法滿足實時解算的要求則機器人的控制效果將大打折扣。若運算時間無法滿足要求則可以考慮在點云精簡時進一步提高精簡率以更少的點云提取特征,犧牲一部分準確性換取運算速度提升。
作者簡介:
冀然(1996-),男,山西平遙人,助理工程師,碩士,現就職于國網北京市電力公司電纜分公司,從事電纜運維檢修工作。
吳建旺(1977-),男,北京人,助理工程師,現就職于國網北京市電力公司電纜分公司,從事電纜運維檢修工作。
張東(1989-),男,北京人,工程師,學士,現就職于北京卓越電力建設有限公司,從事電纜運維檢修工作。
高祥(1992-),男,北京人,助理工程師,現就職于北京卓越電力建設有限公司,從事電纜運維檢修工作。
王辰松(1988-),男,北京人,工程師,學士,現就職于北京卓越電力建設有限公司,從事電纜運維檢修工作。
張亮(1985-),男,北京人,助理工程師,現就職于北京卓越電力建設有限公司,從事電纜運維檢修工作。
摘自《自動化博覽》2022年11月刊