趙科毅,張黎明,任書楠,徐善軍,杜婧
(1.北京國電富通科技發(fā)展有限責(zé)任公司,北京 100070;2.國網(wǎng)電力科學(xué)研究院有限公司,南京 211106;3.國網(wǎng)天津市電力公司,天津 300010)
近年來,為了提升作業(yè)效率降低作業(yè)風(fēng)險,電力作業(yè)機器人逐漸替代電力工人,完成各種電力作業(yè)任務(wù)[1~5]。在作業(yè)過程中,機器人需要準(zhǔn)確檢測環(huán)境中的作業(yè)目標(biāo)。為此,機器人需要配備相應(yīng)的傳感器用于感知作業(yè)環(huán)境,例如單目相機[6],RGB-D相機[7]以及三維激光雷達[8,9]等。相較于視覺傳感器,三維激光雷達能夠大范圍、高精度地獲取周圍環(huán)境的深度信息,且對光照變化較為魯棒,在黑暗環(huán)境以及強日照下也能夠完成正常作業(yè),因此成為電力作業(yè)機器人的主要傳感器。相較單線與多線機械旋轉(zhuǎn)式激光雷達,固態(tài)激光雷達具有更高的點云密度與視場覆蓋率,更適合電力作業(yè)機器人對作業(yè)環(huán)境以及作業(yè)目標(biāo)的檢測。
在電力系統(tǒng)的作業(yè)環(huán)境中,電力設(shè)備種類豐富,其中絕緣子是一項重要的檢測目標(biāo),在配電、變電、輸電場景中均有涉及。針對絕緣子的檢測,已有多位國內(nèi)外的學(xué)者進行了研究。文獻[10]使用點云分割方法分割變電站3D點云,并利用點云主成分分析(PCA)與目標(biāo)電力設(shè)備特征比對,成功從3D點云中提取出電線桿,變壓器,絕緣子等物體。文獻[11]首先利用點云的主方向分割環(huán)境點云,而后通過先驗的絕緣子幾何特征匹配點云片段,完成變電站內(nèi)的絕緣子檢測。此兩項研究中的3D點云數(shù)據(jù)為使用激光雷達在不同位置對環(huán)境進行多次掃描后的合成點云,其中絕緣子以及其他電力設(shè)備的點云較為完整,可以直觀地反映出其結(jié)構(gòu)特征。文獻[12]和文獻[13]提出了利用深度學(xué)習(xí)的方法,通過RCNN神經(jīng)網(wǎng)絡(luò)識別巡檢圖像中的絕緣子?;趫D像的絕緣子識別方法常應(yīng)用于電力巡檢任務(wù),無法有效的提取處絕緣子在空間中的位姿信息。
在電力作業(yè)機器人對絕緣子目標(biāo)進行作業(yè)的過程中,機器人的移動受到作業(yè)環(huán)境的限制,只能從單一的視角獲取點云,只可以采集到絕緣子的部分邊緣,且受位置與光照條件的影響,每個絕緣子被掃描到的表面點云都有所不同。針對此種點云數(shù)據(jù)的特點,基于完整形狀特征提取的3D點云匹配方法并不適用。因此本文在點云中僅包含部分絕緣子特征的條件上,提出了一種基于特征提取在點云中檢測定位絕緣子的方法。首先使用聚類方法提取出每一片絕緣子的表面點云,再通過計算其幾何特征值并與待檢測絕緣子參數(shù)進行比對篩選出有效結(jié)果。經(jīng)過實驗驗證,該方法可以準(zhǔn)確的從激光雷達點云中定位待作業(yè)絕緣子位姿。
經(jīng)過對點云數(shù)據(jù)的觀察分析,提出一系列處理方法在激光雷達點云中進行絕緣子檢測定位,如圖1所示,主要分為以下四個步驟:點云預(yù)處理、絕緣子片聚類、絕緣子片特征計算、絕緣子片篩選。點云預(yù)處理步驟主要作用為提取興趣區(qū)(ROI)并去除掃描過程中產(chǎn)生的噪點,絕緣子片聚類步驟的主要作用為在絕緣子串點云中分離出各個絕緣子片的點云,絕緣子片特征計算步驟計算出每一組絕緣子片點云的幾何特征,最后依據(jù)絕緣子的結(jié)構(gòu)特點篩選出符合條件的絕緣子點云并得到其在激光雷達坐標(biāo)系下的位姿。
圖1 絕緣子檢測定位步驟
依據(jù)機器人的工作區(qū)域進行ROI提取可以裁剪掉大量遠距離無效點云,大大減少后續(xù)的點云處理計算量。由于固態(tài)激光雷達的工作原理,為了達到理想的掃描覆蓋率,需要對掃描幀進行長時間的積分,因此最終的點云中尤其是掃描中心區(qū)域會有大量的重復(fù)點。使用PCL庫中的體素過濾的方法處理點云,去除實體物體上的重復(fù)點。再通過歐式聚類以及外點去除的方法,去除絕緣子串邊緣的噪點。如圖2(a)所示,展示了固態(tài)激光雷達掃描積分后得到的原始點云,圖2(b)為經(jīng)過點云預(yù)處理后的點云可視化結(jié)果,可見點云預(yù)處理步驟可以將絕大部分掃描噪點去除,僅保留待檢測的絕緣子串部分點云。
圖2 點云預(yù)處理
由于在電力作業(yè)過程中,激光雷達僅能從單一視角掃描絕緣子串,因此點云中無法包含絕緣子片的完整形狀。且絕緣子邊緣部分由于反射原因會有部分噪點影響從點云中分離出各個絕緣子片點云。使用法向量過濾的方法,保留面向激光雷達的絕緣子片平面點云,并在此點云的基礎(chǔ)上使用歐式聚類的方法提取出絕緣子片表面點云聚類。具體步驟為,計算預(yù)處理后點云P1的所有點的法向量N1=i=1,2...s},由于絕緣子串位于激光雷達前方,所以面向雷達的表面點云法向量的x分量小于0,篩選后得到點云P1x。通過歐式聚類分離出絕緣子片點云聚類Q1。
絕緣子片點云特征不僅可以用來判斷該點云是否為絕緣子片,也可以得出其在激光雷達坐標(biāo)系下的位姿。根據(jù)串式絕緣子單片為盤型的結(jié)構(gòu)特點,選取點云特征值為邊界擬合圓半徑qr、圓心qc、邊界所在平面法向量→qn,其中擬合圓半徑與平面法向量的計算需要提取出絕緣子的邊緣點云。
1.3.1 絕緣子邊緣點云提取
由于激光雷達位于絕緣子串上方,且受到掃描角度的限制,僅能掃描到部分絕緣子片邊緣表面點云,因此僅有點云的上邊界屬于真實絕緣子的邊緣。因此幾何特征的計算依賴于提取出絕緣子的邊緣,具體提取步驟為:提取絕緣子點云qi的邊界點云Pqb并投影至YZ平面,以最高點pzmax為種子分別沿Y+和Y-方向生長得到Y(jié)Z平面上的上邊界點云P'qbu,再從原點云Pqb中提取對應(yīng)的點得到上邊界點云Pqbu,如圖3所示。
圖3 絕緣子表面點云與上邊界點云
1.3.2 絕緣子點云特征計算
使用隨機采樣一致性(Random Sample Consensus,RANSAC)算法擬合絕緣子邊緣點云Pqbu所在平面,空間平面方程可表示為:
其中(a,b,c)即為該平面的法向量→qn,滿足關(guān)系式:
將Pqbu變換至YZ平面,再以最小二乘法擬合絕緣子邊緣的半徑qr以及圓心qc',最后將qc'變換回邊緣點云所在平面得到絕緣子片點云圓心位置qc。
絕緣子片點云篩選一方面要依據(jù)計算出的特征參數(shù)篩選出有效的絕緣子片點云,另一方面,根據(jù)絕緣子串兩片為一組的結(jié)構(gòu)特點,如圖4所示,提取出距離合適的兩片絕緣子片合并為一組絕緣子。
圖4 目標(biāo)絕緣子
依據(jù)單片絕緣子為盤型的結(jié)構(gòu)特點,以及點云為正面表面的數(shù)據(jù)特征,擬定具體的絕緣子片點云篩選條件為:
1)絕緣子點云邊緣半徑qr∈[0.8R,R],R為絕緣子片實際半徑,
2)以絕緣子圓心qc為中心原點,絕緣子直徑2R為長和寬,絕緣子厚度D為深,絕緣子平面法向量為方向建立范圍框,絕緣子點云qi中的點應(yīng)有90%在該范圍框內(nèi),如圖5a所示。
完成篩選后,按照絕緣子圓心qc的X由近及遠的順序進行排序,得到絕緣子片點云簇Q2,并計算所有絕緣子片的中心位姿Hi,該位姿以從激光雷達坐標(biāo)系到絕緣子中心坐標(biāo)系變換的齊次矩陣表示,位姿變換的齊次矩陣表示為:
其中位移部分為絕緣子的圓心坐標(biāo)qc,旋轉(zhuǎn)矩陣Ri可以表示為:
遍歷經(jīng)過篩選的絕緣子片點云簇Q2,若相鄰的兩個絕緣子片點云圓心歐式距離小于閾值,則認定該兩片絕緣子為一組絕緣子,并將較近的絕緣子片圓心位姿記為該組絕緣子的位姿,絕緣子片點云合并效果如圖5b所示。
圖5 絕緣子片點云篩選
固態(tài)激光雷達為機器人配備的LivoxMid-70,圓形視 場(FOV)為70.4°。實驗環(huán)境包含室內(nèi)場景與室外場景,兩種場景環(huán)境結(jié)構(gòu)大致相同,待檢測絕緣子位于機器人前方,如圖6所示,但光照條件差異較大。所有實驗均在統(tǒng)一的計算平臺下進行,CPU型號為i5-8250U,主頻為1.6GHz,內(nèi)存8GB,操作系統(tǒng)為Ubuntu16.04。為了達到最理想的點云密度與視場覆蓋率,掃描積分時間為3s。室內(nèi)與室外環(huán)境下分別采集測試點云20幀。
圖6 作業(yè)場景示意圖
2.2.1 算法對比
為了驗證本文檢測方法的有效性,將其與兩種傳統(tǒng)的在3D點云中進行物體檢測的算法進行對比。其中,對比算法包括基于對應(yīng)分組的絕緣子檢測ID-CG(Insulator Detection based on Correspondence Grouping)[14]和基于正態(tài)分布配準(zhǔn)的絕緣子檢測ID-NDT(Insulator Detection based on Normal-Distributions Transform Registration)[15]。兩種檢測算法均以模板匹配為基礎(chǔ),ID-CG使用3D描述符進行點對點匹配得到當(dāng)前場景中存在的模型實例及其6D位姿,ID-NDT則基于模板點云與目標(biāo)點云整體正態(tài)分布優(yōu)化匹配結(jié)果。由于實際掃描點云中得到的絕緣子局部點云形態(tài)各異,無法使用絕緣子模型作為模板,因此兩種物體檢測算法所參考的模板為從測試點云中人工選取的絕緣子外形較為完整的點云。同時掃描點云中存在多個絕緣子且距離較近,為了達到最優(yōu)的模板匹配效果,目標(biāo)點云為步驟2.2聚類后的各個絕緣子片點云。
對比結(jié)果如表1所示,基于模板匹配的物體檢測算法的表現(xiàn)均不夠理想。ID-CG算法在匹配時依賴模板與目標(biāo)點云的3D描述因子,當(dāng)目標(biāo)點云與模板點云形狀、密度差異較大時,無法完成匹配,因此召回率較低(圖7a)。而IDNDT算法同樣也存在模板點云與目標(biāo)點云形態(tài)差異過大時會導(dǎo)致的匹配誤差較大(圖7b),同時由于目標(biāo)點云的尺寸較小,所以在誤差較大的情況下依然達到了NDT的收斂條件,并且該算法在此次實驗的計算平臺運行十分緩慢。本文提出的絕緣子特征計算方法則在準(zhǔn)確率(圖7c)與運行速度上更加適宜應(yīng)用環(huán)境,可以滿足機器人作業(yè)所需的實時性需求。
表1 絕緣子檢測算法比對
圖7 算法比對結(jié)果
2.2.2 室內(nèi)外檢測實驗
在室內(nèi)與室外的實驗結(jié)果如表2所示,絕緣子檢測的算法運行較為穩(wěn)定(圖8)。受室內(nèi)外光照條件以及絕緣子與機器人相對位置關(guān)系的影響,隨著距離的增加,絕緣子點云的密度越來越低,且會有更多的絕緣子表面收到遮擋,因此距離稍遠處的絕緣子點云召回率較低。在實際應(yīng)用中,由于遠處絕緣子距離超出機器人作業(yè)范圍,因此影響不大。對機器人作業(yè)更為關(guān)鍵的距離較近的絕緣子,檢測比較穩(wěn)定。由于在實際作業(yè)中,準(zhǔn)確率會比召回率的優(yōu)先級更高,因此在進行算法實踐的時候犧牲了一部分召回率以保證高準(zhǔn)確率。
圖8 絕緣子檢測實驗
表2 絕緣子檢測實驗結(jié)果
針對電力機器人作業(yè)中面臨的在單一視角激光雷達點云中檢測定位絕緣子的問題,本文提出了一種基于特征提取在點云中檢測定位絕緣子的方法。首先使用聚類的方法提取出每一片絕緣子的表面點云,再通過計算其幾何特征值并與待檢測絕緣子參數(shù)進行比對篩選出有效結(jié)果。經(jīng)過室內(nèi)與室外環(huán)境的實驗驗證,本文提出的方法可在算力相對較低的平臺上完成檢測,并滿足電力作業(yè)需求的有效性與實時性,相較于傳統(tǒng)的模板匹配算法更具有實用性。在未來的研究中,隨著作業(yè)數(shù)據(jù)的不斷積累,可考慮在電力機器人算力前提下,融入機器學(xué)習(xí)的手段來增強識別算法的魯棒性。