倪彥哲 朱文亮 黃廷波 韓家好



摘? ?要:在石油和糧油領域,油料的儲運多采用油罐車,而油罐車的裝油仍是通過人工操作的方式完成,為了在油料裝車領域實現全自動控制,文章提出了一種基于激光測距的罐車油口定位方法。首先采用360°激光掃描測距雷達采集油罐車油口圓孔特征點數據,剔除重復無效數據后,通過3次樣條插值法對雷達掃描數據進行平滑性修正,然后,設計了一種邊緣特征識別算法,用于篩選出目標點并對有效目標點進行坐標變換,并對可能出現的安裝角度誤差進行了自我修正。該目標點即是定量裝車系統的機械手單元的定位目標,最后,進行實驗驗證。實驗結果表明,該方法能夠較為準確地定位圓心,滿足特征識別精度要求,滿足定量裝車系統設計的實驗預期。
關鍵詞:激光雷達;測距;圓孔;特征識別;定位
我國石油和糧油目前普遍采用人工裝車方式,雖然定量裝車系統在許多環節上,實現了信息的交互集成和人力的節省,但將鶴管插入油罐車油口的操作仍需人工介入,而裝車作業又十分頻繁,自動化程度不高,影響生產運輸的高效性[1]。致使整個系統只能實現半自動化控制。因此,為了提高裝車的安全性、速度和精度,節省這方面的人力,本文進行了激光雷達掃描識別圓形油口測算圓心的實驗研究,提出了一種基于激光測距的罐車油口定位方法,首先采用360°激光掃描測距雷達采集油罐車油口圓孔特征點數據,通過3次樣條插值法對雷達掃描數據進行平滑性修正,然后設計一種邊緣特征識別算法,用于篩選出目標點并對有效目標點進行坐標變換,該目標點即是定量裝車系統的機械手單元的定位目標,最后進行實驗驗證。
1? ? 應用分析
激光雷達在各個領域實現目標識別都有著重要的地位,是機器視覺的重要組成部分,是目前實現機器感知的重要手段之一。在高速公路勘測方面,可通過激光雷達獲取公路的數據實現線路選型和縱斷計算[2];在林業方面,可以實現杉木模型的提取[3];在水文觀測領域,還可以實現水位的測量和流速的確定[4-5]。
激光雷達常被用來實現識別定位功能。羅秋慧等[6]通過激光雷達獲取環境信息,根據角度信息進行側面二維投影、地物聚類劃分網格、高程跨度計算、逐層分析、逐網判斷等然后實現了果樹的識別。劉晶等[7]利用激光雷達實現了變電設備故障點定位。秦小明等[8]利用激光雷達進行霍夫變換識別定位了車輪。
由于激光掃描測距雷達數據為離散型,故采用3次樣條插值對激光掃描測距雷達數據進行平滑性修正,合理填補空缺數據,更加符合實際的可行性。ZHAO等[9]對存在空白的道路信息數據進行3次樣條插值,填補了空缺;陳浩[10-11]使用了3次樣條插值方法,擬合激光掃描測距雷達時間序列數據的變化趨勢,完成激光掃描測距雷達時間序列數據之間空白數據的插值。
盡管激光雷達被廣泛的運用,但是油料裝車領域的運用與研究仍較少。目前,糧油裝車仍是人工操作加油鶴管伸入油罐車油口,完成加油。為了實現機械臂取代人工加油操作,結合實際糧油行業中,油罐車油口環境的情況如圖1所示,本文主要針對了油罐車油口圓孔的特征,搭建一個對圓孔進行掃描、特征識別和圓心定位的模擬環境,相較于使用工業相機實現定位,激光雷達能夠在白天和黑夜全天候工作,受光線影響小,且因為在定量裝車中的應用,其定位精度要求不高,可以選用低成本的激光雷達實現實際應用中的目標。利用360°激光掃描測距雷達采集數據,對采集到的角度與距離數據進行平滑處理,提出一種特征識別算法,該算法利用目標區域的距離數據驟變等特征,獲取圓孔圓心的定位數據。
根據實際生產中的需要,通過比較實際油口的直徑與輸油鶴管的直徑,當目標定位在油口65%以內時,即可達到要求。
在本文的實驗中,對于目標半徑為20 mm的圓孔,定位在半徑13 mm內即可滿足要求。最后通過計算偏差距離的均方根誤差小于6.5,確定算法的穩定性。
2? ? 數據采集及數據處理
使用的激光掃描測距雷達為思嵐科技公司的低成本360°激光掃描測距雷達RPLIDAR A1,性能如表1所示。
使用的滑臺為立式兩軸十字滑臺,豎直方向總行程為100 mm,水平方向總行程為110 mm,滑臺總高度為250 mm,手柄每轉動一周,滑臺在其方向上移動2 mm,如圖2所示。
搭建實驗環境,以桌面拐角為世界坐標系,豎直方向為Z軸,向圓孔方向軸線為X軸,遠離圓孔軸線為Y軸。在十字滑臺的Z軸滑臺上添加一個水平臺,將激光掃描測距雷達裝放在水平臺上并將其固定,在水平方向上,將滑臺移動至中間位置。第一次數據收集時,把滑臺放置在被測圓孔正前方,距離圓孔所在YZ平面302 mm,XZ平面距離為305 mm。通過控制滑臺在Z軸方向上的移動,每次移動2 mm,從高度約為144 mm開始連續測量,直到高度為200 mm,收集了29組激光掃描測距雷達測量數據。之后又進行了兩次實驗數據的收集,將滑臺在Y軸方向上,分別向負方向移動50 mm和正反向移動50 mm,再次進行測量,另外獲得兩個不同位置的多組測量數據。
收集數據時雷達呈現的采樣頻率為6.9~7.2 Hz,并在同一位置高度收集5組數據。目標圓孔的圓心X軸坐標為305 mm,Y軸坐標為0 mm,Z軸坐標為170 mm,圓孔半徑為20 mm。根據實驗預期,本實驗的目標點定位在半徑為13 mm的圓形范圍內即滿足要求。
每一個雷達數據由角度、距離和雷達所在高度構成。對于已經收集的激光掃描測距雷達數據,從同一位置高度的5組當中隨機抽取一組作為試驗用的基礎數據。先由正前方的這一組進行實驗,實驗數據的處理在Matlab平臺上完成,先獲得原始數據構建如圖3所示。
因為激光掃描測距雷達的角分辨率相對于圓孔的大小和雷達與圓孔的距離之間的比例關系,以及激光雷達無反饋造成的數據缺失現象,使得由激光掃描測距雷達采集的數據無法構建出一個完整圓孔。從原始數據的構建上看,在Z軸方向上的數據更加貼近真實圓孔的大小,因此首先要獲得Z軸方向上的兩個目標斷面。
由于激光掃描測距雷達采集來的每一輪數據的角度值不同且分布不均,并且容易出現缺失角度現象。對激光雷達采集的數據進行3次樣條插值,獲得較為光滑的曲線,同時也獲得角度分布均勻的數據。利用數據的有序性將數據分成每個斷面進行處理。
在剔除重復無效數據后進行擬合,擬合插值的兩者為角度與距離,基于兩者關系,每一度為一個節點選為數據坐標。在高度H處,形成的m個觀測數據,角度α和距離d由激光雷達實際測量數據組成,選j=α1<α2<…<αm 處理后獲得的數據為242°~298°之間的數據,并且數據分布均勻,每一個斷面上每一度一個數據,得到57組數據,存放入矩陣Z中。由此再對242°~298°的29組數據進行處理。選取170°~190°之間的數據,以0.25°為間隔,再次擬合插值補充數據,得到矩陣S。 由數據擬合得到的數據,選擇每一度作為一個觀測點,從而判斷圓孔的邊界。激光掃描測距雷達在縱向每隔2 mm進行一次掃描,即獲得一層斷面數據,當激光掃描測距雷達從未掃描到目標圓孔到掃描到目標圓孔,初次掃描到目標圓孔的斷面以及最后一次掃描到目標圓孔的斷面即為目標斷面,數據擬合前如圖4所示,數據擬合后如圖5所示。 數據插值后的曲線與數據插值前的曲線相比較,更為平滑如圖6所示。 3? ? 數據處理邊緣特征識別算法 為了得到圓孔的邊界,先從Z軸方向上通過距離數據驟變這個特征,篩選出邊界點。主要判斷條件為激光掃描測距雷達到掃描點的距離d的變化,從而確定目標點。假設d22為目標點的距離數據,在通過下列公式篩選后確定式(2—5)。 式中:d21與d23為d22所在相同高度斷面上前一點與后一點的距離數據,單位為mm。d12與d32為d22上一層與下一層對應點的距離數據,單位為mm。 從矩陣Z中篩選目標,由于距離、圓孔大小和雷達角分辨率的關系,可能在目標斷面上,有兩個甚至多個掃描點在目標圓孔內,則通過點距離變化的判斷需要分多種情況討論,可以一定程度增加多個角度點的判斷條件來篩選。 第一輪對數據特征的篩選判斷的條件為,一個點產生了大幅的距離變化,并在判斷其是否為邊界上的點之后,將其坐標數據保存。如果未發現滿足條件的兩個點,則進行第二次的數據篩選。第二輪對兩個點進行判斷,重復以上判斷流程,如果已經獲得了第一個目標點的話,記錄其坐標數據,并在之后的篩選中,專門篩選出圓的另一端的特征點。以此類推,對兩個掃描點在圓孔內,3個掃描點在圓孔內甚至4個掃描點在圓孔內作為篩選條件進行判斷。在成功獲得兩個滿足條件的掃描點的情況下,自行停止篩選。記錄的上一層或下一層的點的數據放入矩陣W: 通過公式得出目標圓心的近似坐標值式(6—8),其是圓心在激光掃描測距雷達坐標系下的坐標值。式中,α為矩陣W兩個目標點的角度,度;Q為矩陣W兩個目標點的距離,單位為mm;U為矩陣W兩個目標點的高度數據,單位為mm。 將角坐標轉換成圓心坐標: 式中,Pα為測算出的目標點的角度值,單位為度;Pd為測算出的目標點的距離值,單位為mm;Kα為目標點的X軸坐標,單位為mm;Kd為目標點的Y軸坐標,單位為mm。 則得到角坐標(Pα,Pd,0),將角坐標轉換成笛卡爾坐標,得到坐標(Kα,Kd,0)(式9)。在激光掃描測距雷達坐標系下的圓心坐標需要轉換到世界坐標系下,通過矩陣的齊次變換完成。激光掃描測距雷達自身的位姿表示需要知道其本身的位置坐標以及激光掃描測距雷達自身坐標系與世界坐標系所偏移的角度。 激光雷達自身X軸坐標為Xα,Y軸坐標為Yα,激光掃描測距雷達的坐標為(Xα,Yα,H),H即為推算出的圓心高度坐標值,則激光掃描測距雷達坐標系的位置陣列為 [Xα Yα H1]T。激光掃描測距雷達在安裝的過程中可能存在一定的角度偏差,激光掃描測距雷達坐標系與世界坐標系的夾角度數通過激光雷達掃描平面中心與XZ面的關系得出。由激光掃描測距雷達采集的激光掃描測距雷達到XZ面最短距離所對應的角度和理想狀態下對應的角度的誤差,即可近似作為是激光掃描測距雷達坐標系與世界坐標系偏差的角度。通過下列公式得出: 式中,F為矩陣S中每層斷面最短距離對應的角度值的集合;β2為這些角度的平均值,單位為度。 根據式(15)計算出偏轉角度θ。本次實驗中,理想角度為180°,而實際最短距離對應的角度為182.5°,即激光掃描測距雷達坐標系相對于世界坐標系向逆時針方向偏轉了2.5°,即偏轉角θ為2.5°。 得到最終笛卡爾坐標的矩陣M,再進行另外兩個位置的實驗。 4? ? 結果分析 通過齊次矩陣變換推算得到的圓心坐標為(308.869 2,10.431 2,171),與實際圓心(305,0,170)的偏差在可接受范圍內。另外兩個位置搜集的數據經過算法處理后得到的圓心結果為(307.597 7,7.703 6,172)和(309.460 1,10.122 8,171),在預期目標范圍內。 實驗的目標是在XZ平面上找到圓孔圓心即X軸和Z軸坐標。v為在XZ平面上最終點和實際點的誤差距離。為了驗證本文算法的有效性,在XZ面上計算誤差,選用平均絕對誤差(MAE)、均方誤差(MRE)及均方根誤差(RMSE)作為誤差評價指標,如式(17—19): 實驗結果分別為MAE=3.783 5,MSE=14.870 2,RMSE= 3.856 2,根據實際應用的需求,本實驗誤差滿足要求。 分析產生誤差的原因主要有3個方面:首先激光掃描測距雷達自身的掃描精度不夠,角分辨率較低,因此收集的數據在形成三維圖形的時候,圓孔這一特征無法準確的表現出來,從而導致在進行數據處理時,獲得的最終坐標產生了誤差。其次激光掃描測距雷達的安裝精度也存在較大誤差,在模擬環境中,水平度不可避免地的存在傾斜,產生了高度的誤差并在距離的加大下進一步放大。最后激光在油口處的反射難以被雷達接收到,造成了雷達數據的缺失,進一步導致插值產生誤差。 5? ? 結語 在石油和糧油裝車領域,本文首次采用360°激光掃描測距雷達,提出了一種基于激光測距的罐車油口定位方法,并模擬建立了油罐車油口的實驗場景,對圓孔進行掃描,實現了對圓孔的定位,滿足實驗設計的需求。 該方法使用3次樣條插值,平滑修正雷達掃描數據以獲得合理的缺失數據值。根據角度和距離之間的關系,通過距離數據驟變的邊界特征獲得目標點,并將雷達坐標系轉換為世界坐標系。通過測量3個不同位置的數據來驗證算法的可靠性,測量結果表明,其定位誤差范圍滿足實際使用要求,方法具有較好的實際應用推廣價值。 在隨后的研究中,激光掃描測距雷達將用于掃描油罐車油口獲取數據,分析數據并根據現場條件改變算法篩選條件,改進算法以滿足項目的實際需要。為了進一步提高定位精度,通過更換角度分辨率更高的激光掃描測距雷達進行數據采集,使算法在實際應用中更好地實現這一目標。 [參考文獻] [1]張華莎.石油化工廠油品裝車發運系統[J].石油化工自動化,2016(3):1-9. [2]張麗軍,潘家偉,曹志勇.基于機載激光雷達技術的山區高速公路勘測設計方案探究[J].公路工程,2018(6):169-173. [3]陶江玥,劉麗娟,龐勇,等.基于機載激光雷達和高光譜數據的樹種識別方法[J].浙江農林大學學報,2018(2):314-323. [4]BANDINI F,SUNDING T P,LINDE J,et al.Unmanned aerial system(UAS)observations of water surface elevation in a small stream:comparison of radar altimetry,lidar and photogrammetry techniques[J].Remote Sensing of Environment,2020(1):12. [5]YANG Y,WEN B,WANG C,HOU Y.Two-dimensional velocity distribution modeling for natural river based on UHF radar surface current[J].Journal of Hydrology,2019(2):12. [6]羅秋慧,李航,楊弘凡,等.基于網格分析的激光點單株果樹識別[EB/OL].(2019-12-17)[2020-02-25].http://kns.cnki.net/kcms/detail/42.1671.TP.20191126.1603.038.html. [7]劉晶,蘇劍鋒,趙松,等.基于激光雷達的變電設備故障定位系統設計[J].電子設計工程,2019(22):79-82,91. [8]秦小明,魏然,陳崧.基于激光雷達的車輪自動識別研究[J].中國交通信息化,2019(S1):75-78. [9]ZHAO D X,WANG L L,LIY L,et al.Extraction of preview elevation of road based on 3D sensor[J].Measurement,2018(2):104-114. [10]陳浩,華燈鑫,張毅坤,等.基于三次樣條函數的激光雷達數據可視化插值法[J].儀器儀表學報,2013(4):831-837. [11]陳浩,華燈鑫,張毅坤,等.米散射激光雷達剖面數據三次樣條垂直水平插值法[J].物理學報,2014(15):167-174.