陳炳舟, 孫萬林, 陳立平,2
(1.塔里木大學 信息工程學院,新疆 阿拉爾 843300;2.塔里木大學自治區(qū)教育廳普通高等學?,F(xiàn)代農業(yè)工程重點實驗室,新疆 阿拉爾 843300)
基于多傳感器信息融合的空間感知方法研究,具有廣闊的應用。例如雷達感知及全球定位系統(tǒng)(global positioning system,GPS)定位技術的空間信息融合感知應用,被廣泛應用于機器人導航、自動駕駛、地質勘探等領域。超聲波傳感器也是一種重要的空間感知手段,相較于視覺空間感知技術而言,超聲波感知技術受光線、煙霧、電磁干擾等因素的影響較小。但單個超聲波傳感器只能測量到物體表面某點的距離,無法快速采集物體表面多個區(qū)域的距離信息[1]。針對單個超聲波傳感器空間感知的不足,啟發(fā)了利用多個超聲波傳感器組成超聲波傳感器陣列采集距離信息,通過坐標變換融合到同一坐標系下形成點云的空間感知方法。
從應用場景而言:2021年,牛昊東等人[2]運用超聲波傳感器設計了風速和風向雙參數(shù)的檢測系統(tǒng),并和ZRQF型鉑電阻絲式風速傳感器進行了對比測量,驗證了其精度。2020年,李明法等人[3]將超聲波傳感器測距及CCD相機光流法技術融合構建了智能小車障礙物檢測系統(tǒng),為路徑規(guī)劃提供較好的環(huán)境感知基礎。2017年,王志春等人[,4]以鋁合金液位為實驗對象,研究了熱氣流和溫度對超聲波測距傳感器檢測鋁合金液位的影響,實驗結果表明,熱氣流對帶有溫度補償?shù)某暡▊鞲衅鳒y量結果影響大。2014年,韋興平等人[5]總結了超聲波傳感器的重要應用有測距、自動焊縫跟蹤、流量測量、液體濃度檢測、零件無損探傷等。
從多超聲波傳感器測距而言:2021年,王毅等人[6]使用超聲波傳感器陣列搭建小車跟隨系統(tǒng),通過實驗驗證了系統(tǒng)具有行駛誤差小、實時性高、運行穩(wěn)定的特點。2019年,朱小會等人[7]使用多超聲波傳感器設計了一種軸承形廓質量自動檢測系統(tǒng),并通過實驗表明了自動檢測技術顯著提高了軸承形廓質量檢測的效率。2017年,辛喆等人[8]采用8只超聲波傳感器組成超聲波傳感器陣列對車輛周圍目標物進行識別,通過仿真實驗結果表明該方法具有一定的可行性。
從點云數(shù)據處理而言:2021年,王博等人[9]運用RANSAC算法結合特征線提取算法對點云進行處理三維重建,提高了測量效率。2021年,趙傳等人[10]結合區(qū)域增長和RANSAC算法對機載激光雷達(LiDAR)采集的屋頂點云數(shù)據處理,實驗結果說明,該方法可以有效分割不同復雜程度的建筑物屋頂面,為點云精簡提供可靠信息。2020年,管郡智[11]利用激光雷達采集空間幾何信息形成三維點云,然后運用RANSAC和最小二乘結合的方法來進行地面點云的檢測和濾波,為無人駕駛系統(tǒng)提供環(huán)境感知能力增加系統(tǒng)的安全性。2020年,吉文來等人[12]提出了一種基于混合整體最小二乘的曲面擬合方法,提高了復雜區(qū)域的點云濾波精度。2019年,唐澤宇等人[13]使用加權最小二乘法擬合生成曲面,并計算曲率,實驗表明,其可以有效提升曲率計算的準確度,避免孔洞現(xiàn)象。
本文采用多超聲波傳感器作為點云數(shù)據采集裝置,運用RANSAC和最小二乘的方法處理點云數(shù)據,提出基于超聲波陣列的空間感知方法。
系統(tǒng)包含兩大部分:信息采集部分、上位機部分,其中信息采集部分由空間感知器和旋轉載物臺組成,上位機包含點云可視化及點云擬合的功能。首先將被測物體放置在旋轉載物臺上,使用由超聲波陣列組成的空間感知器采集到被測物體表面的距離信息;然后使用PC作為上位機接收、處理數(shù)據;最后通過點云擬合輸出擬合圖形和圖形參數(shù),據此感知被測物體距離、外形信息??偪驁D如圖1所示。
圖1 超聲傳感陣列空間感知處理框架
超聲波測距精度受聲速影響且量程與發(fā)射角和發(fā)射頻率有關,為保證空間感知系統(tǒng)的響應速度及測距精度,要求超聲波傳感器量程不大于5 m。因此,選擇測量范圍為0.02~4 m發(fā)射頻率為40 kHz的US—015型超聲波傳感器,它測距精度可達0.5 mm,且重復測量一致性高。參考激光雷達的機械掃描和陣列探測的兩種工作方式,根據被測物體的外形以及點云成像原理設計了超聲波排列方式。
超聲波陣列采用延時順次控制的方式工作,由STM32控制超聲波陣列測距周期與時間間隔。US—015型超聲波傳感器收到激活脈沖時,接收端口產生高電平,當收到回波時停止高電平。STM32單片機要準確獲取這一段高電平所持續(xù)的時間,通過公式換算成距離,故通過STM32單片機自帶的定時器輸入捕獲通道來檢測高電平持續(xù)時間。超聲波傳感器的Echo輸出端引腳和單片機設定的定時器輸入捕獲通道對應的引腳相連接,分別為PD10~PD15。發(fā)射端Trig接收到至少10 μs的高電平信號就會工作,故與STM32任一IO口連接都可以,這里選擇PC4~PC9。各超聲波傳感器與STM32控制器的電路連接方式如圖2(a)所示。
為防止超聲波陣列測量誤差較大,需要對各超聲波傳感器進行校準。將超聲波陣列基座嵌入一塊MPU6050陀螺儀傳感器,通過陀螺儀保持超聲波陣列基座處于水平,把各超聲波傳感器放入陣列基座中,在其下方放置一水平面,使各超聲波傳感器測量到水面的距離最小后固定各超聲波傳感器。校準原理示意圖如圖2(b)所示。校準后的超聲波陣列實物圖如圖2(c)所示。
圖2 超聲波陣列
超聲波傳感器是緊密排布的,存在一定的干擾問題,故采用循環(huán)激活的方式讓各超聲波傳感器依次工作,按順序給每個超聲波傳感器發(fā)送觸發(fā)命令采集數(shù)據來解決各傳感器間的干擾問題。使用單片機自帶的定時器中斷獲取時間t,考慮到中斷的特殊性,每一個超聲波傳感器激活函數(shù)間要加延遲函數(shù)。延遲測量最大距離所用時間,確保上個超聲波已經進入了中斷,待上個測量完成后才能開啟下個超聲波的測量。否則兩個測量信號都發(fā)送出去,外部中斷會依次觸發(fā)執(zhí)行先收到觸發(fā)信號的中斷服務函數(shù),另一個中斷會等到當前中斷執(zhí)行完畢之后才會進入。此時后面信號的高電平時間可能很小或沒有,因而收到的數(shù)據會顯示0或較小的數(shù)值。通過當前環(huán)境下的聲速v,通過公式S=vt/2計算出超聲波傳感器到被測物的距離。測距原理示意圖如圖3(a)所示。當STM32核心控制器將采集到的信息轉換為距離信息后,通過STM32單片機自帶的CH340USB轉串口芯片,通過USART串口將距離信息傳輸給PC。PC接收到距離信息后將其轉化為三維坐標,以下為轉化原理。
平面測量時,以1#超聲波傳感器為相對坐標原點。超聲波傳感器陣列每次采樣時,測量距離為各點x坐標,平面相對初始時刻位移距離為y坐標,其他超聲波傳感器相對于1#超聲波傳感器的空間距離為各采樣點的z坐標。
曲面測量時,以1#超聲波傳感器為相對坐標原點,將被測物體放旋轉載物臺上。各采樣點的z坐標為其他超聲波傳感器相對1#超聲波傳感器的空間距離。超聲波傳感器陣列每次采樣時,測量距離為此時刻各采樣點的x坐標,y坐標為0,下一時刻隨著旋轉載物臺的轉動,上一時刻的各采樣點發(fā)生轉動,通過坐標變換的方法計算出各采樣點的最新坐標(XYZ)。具體計算公式如下
[x′y′ 1]=[xy1]×
(1)
以1#超聲波傳感器為相對坐標原點建立如圖3(b)所示空間直角坐標系,x′,y′為超聲波陣列之前某一時刻各采樣點在當前時刻的X,Y坐標,x,y為之前采樣點初始的X,Y坐標,β為采樣時到當前時刻旋轉載物臺所轉過的角度。
圖3 超聲波陣列數(shù)據處理原理
2.4.1 最小二乘法擬合點云
最小二乘法簡單來說就是要求所有點的誤差平方和最小,也就是所有測量點到真實面的距離的平方和最小。首先給定欲擬合面的數(shù)學模型,求出所有點到此數(shù)學模型的距離,將其平方后求和,運用求偏導的方法求解當平方和最小時數(shù)學模型的所有參數(shù)。具體計算公式如下所示,以平面為例:擬合平面的方程為
z=a0x+a1y+a2
(2)
(3)
解上述線性方程組,計算出待定系數(shù)a0,a1,a2,可得擬合平面。柱面和球面最小二乘擬合求解同理可得。但是,最小二乘法照顧到了所有的點,若樣本點中有過多的壞值就會影響到擬合的結果。
2.4.2 RANSAC算法點云擬合
首先從點集中隨機的選出一組樣本點,樣本點的個數(shù)要求要保證能夠求解出模型的所有參數(shù),得到一個樣本模型。以平面為例,選取3個隨機點,P1(x1,y1,z1),P2(x2,y2,z2),p3(x3,y3,z3),代入平面方程z=a0x+a1y+a2,計算出a0,a1,a2,計算其他點到樣本模型的距離。如果距離在設定的閾值范圍ε內,則認為其是內點,否則為外點,保留內點個數(shù)最多的樣本模型,并將內點個數(shù)最多的樣本模型記為最佳模型(best model)。重復以上步驟使最佳模型的內點個數(shù)大于等于設定的值或達到設定的最大迭代次數(shù)為止,此時最佳模型即為擬合結果。
與最小二乘算法比較,其可以減少超聲波傳感器采集到的壞值對擬合結果的影響,使得擬合結果更接近實際物體的外形。
為驗證基于超聲波陣列空間感知方法的可行性及魯棒性,設計了驗證實驗,分別用該方法測量平面、柱面、球面,求出距平面的距離、柱面的橫截面半徑、球面的半徑,最終對比手工測量值。選擇三個實驗對象:一個平板、一個圓桶、一個足球。首先用游標卡尺手工測量圓桶的橫截面半徑以及球面半徑,測得結果:圓桶的橫截面半徑為50 mm,足球的球面半徑為80 mm。
實驗時,首先將超聲波陣列豎直固定在一處,分別在超聲波陣列前20,25,30,300 mm處放置平面并測量,然后把旋轉載物臺的中心放置在相同的刻度處,將圓桶和足球放在載物臺上依次測量,獲得不同位置處平面、圓桶、足球的點云數(shù)據。使用RANSAC算法和最小二乘算法分別對點云數(shù)據進行擬合,求出模型參數(shù),重復上述步驟10次,分析系統(tǒng)的可靠性。實驗場景示意圖如圖4所示。
圖4 測量實驗場景示意
采用最小二乘法和RANSAC擬合結果如圖5所示。
圖5 20 mm處測量實驗結果
其中,采用最小二乘法擬合平面的平均測量誤差為0.6 %,柱面的平均測量誤差為2.74 %,球面的平均測量誤差為1.713 %;采用RANSAC算法擬合平面的平均誤差為15 %,柱面的平均測量誤差為2 %,球面的平均誤差為4.98 %。
使用RANSAC算法來精簡點云提高精度,由圖5算法擬合圖對比可以看出。RANSAC算法能篩選掉一些誤差點然后再進行擬合,但過程中可能會誤刪一些有用的點,導致擬合結果并沒有最小二乘法理想。但隨著測量距離的增加,測量誤差逐漸增大,RANSAC算法剔除的誤差點對精度的提高已經遠遠超過誤刪有用點對精度的影響,由表1,表2實驗結果可以驗證。
表1 兩種算法在柱面測量上的效果對比
表2 兩種算法在球面測量上的效果對比
實驗結果表明:在20 mm處近距離測量時,采用最小二乘算法擬合,三個實驗對象的最大測量誤差不高于0.6 %,2.74 %,1.713 %。在300 mm到超聲波傳感器最大量程的距離測量時,可以使用RANSAC算法擬合圖形來減小測量誤差。
探索了將超聲波傳感器組合成超聲波傳感陣列,研究了一種通過超聲波傳感陣列掃描并構建物體表面輪廓的方法。對物體表面進行密集測距,將采集到的距離信息轉換成可視化三維點云;用最小二乘法擬合點云,計算出各實驗參數(shù);用RANSAC算法剔除干擾點云并計算實驗參數(shù)。通過對三個空間實際物體的實驗,分析了不同距離、不同擬合方法對實驗參數(shù)計算的影響,驗證了超聲波陣列空間感知及其可視化的可行性,同時為視覺測量提供了可驗證的物理測量參考。
進一步,將探索超聲波傳感器陣列空間感知方法與基于雙目或多目相機空間感知技術的融合應用。