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