羅盆琳,方艷紅,2*,王學淵,陳泳吉,蒲毅
(1.西南科技大學 信息工程學院,綿陽 621010;2.特殊環(huán)境機器人技術四川省重點實驗室,綿陽 621010)
避障是移動機器人運行過程中非常重要的一個問題[1],從感知信息中完成障礙物檢測是移動機器人實現(xiàn)避障的必要條件[2]。障礙物檢測主要是實現(xiàn)對其空間位置和形態(tài)等信息的判定,檢測過程中的重點在于如何獲取并處理障礙物信息,從而得到實時準確的判定結(jié)果。傳感器作為具有信息探測和周圍感知能力的設備[3],是獲取障礙物信息的首要選擇。
目前,基于視覺測距技術的輔助,可以實現(xiàn)一定準確度的視覺避障[4~7]。視覺傳感器測距一般通過攝像機的針孔成像模型將物體的圖像信息轉(zhuǎn)換為三維空間中的位置關系[8],但由于攝像機不是一個理想透視模型,攝像機鏡頭的非線性畸變導致視覺測距很難達到較高精度[9]。超聲波傳感器作為另一種非接觸式測距方法,相對于視覺測距,方法簡單、測距準確[10]、不易受光照和顏色影響且價格低廉[11],能穩(wěn)定獲取障礙物深度值。但在獲取場景深度信息時,單一或少數(shù)傳感器采集范圍有限、獲取信息不夠全面。傳統(tǒng)的數(shù)據(jù)采集結(jié)構通常使用多個傳感器進行陣列式或全局布局式排列來獲取大范圍場景深度信息,又容易出現(xiàn)操作復雜、體積龐大、不便攜等現(xiàn)象。
為此,本文設計一個基于多傳感器數(shù)據(jù)融合的障礙物判定系統(tǒng),首先,使用超聲波傳感器和舵機設計一種立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構來獲取全局場景深度信息,解決視覺測距精度不足和傳感器傳統(tǒng)布局方式結(jié)構復雜、體積過大等問題;然后,利用多次采集數(shù)據(jù)的互補性和冗余性,使用結(jié)合部分模糊理論的Bayesian算法對柵格隸屬度矩陣進行融合,得到最優(yōu)估計值,增強對障礙物深度位置判定的實時性與準確性;同時,使用視覺傳感器獲取圖像數(shù)據(jù),實時檢測并標定出動態(tài)障礙物,輔助系統(tǒng)完成障礙物的形態(tài)判定;最后,將所有功能模塊移植到樹莓派,提高系統(tǒng)的便攜性。
本文實現(xiàn)的障礙物判定系統(tǒng)主要由三部分組成,包括立體轉(zhuǎn)軸式采集結(jié)構與視覺傳感器構成的數(shù)據(jù)采集部分,以樹莓派為核心的數(shù)據(jù)分析部分,顯示最終判定結(jié)果的輸出部分。系統(tǒng)功能設計如圖1所示。
圖1 系統(tǒng)功能設計圖
圖1的系統(tǒng)功能設計主要分為兩個部分,一部分是利用立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構獲取深度數(shù)據(jù)并使用與模糊理論相結(jié)合的Bayesian算法進行處理,得到障礙物深度位置判定結(jié)果;另一部分則是利用視覺傳感器采集圖像數(shù)據(jù),對障礙物形態(tài)特征進行提取從而判定障礙物的形狀與動態(tài)。
具體的,將立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構獲取的深度值,傳送到樹莓派,利用柵格化思想,在笛卡爾坐標系下將實際環(huán)境初始化為400×400的柵格地圖,再計算在極坐標形式下的柵格中心點坐標。由于采集到的深度數(shù)據(jù)由角度和距離值組成,使用極坐標形式將其映射到二維柵格地圖中從而減少計算量。為避免使用超聲波的錐體特性和概率密度函數(shù)等復雜運算過程來獲取隸屬度矩陣,每次旋轉(zhuǎn)只測量傳感器水平方向深度值再采用最小外接圓法來確定柵格狀態(tài),將相鄰的每16個柵格合并為一個區(qū)域,設置閾值進行歸一化處理得到“占有”和“空閑”概率矩陣,通過模糊理論得到柵格隸屬度,再使用Bayesian融合算法預估下一時刻障礙物的準確深度位置,實時更新環(huán)境地圖。同時,使用視覺傳感器讀取視頻流信息,利用加權平均融合算法更新當前時刻環(huán)境背景圖像數(shù)據(jù),再結(jié)合幀差法得到幀變化量,通過設置變化量閾值進行動態(tài)點分離,之后使用形態(tài)學中的膨脹法進行處理,將相鄰動態(tài)點連接成一個區(qū)域并標定。最后,將多傳感器融合后的綜合判定結(jié)果作為系統(tǒng)輸出。
本文使用舵機和超聲波傳感器設計了立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構,如圖2所示,使用較少的超聲波傳感器就能獲得系統(tǒng)前方180°立體空間范圍內(nèi)障礙物深度數(shù)據(jù),且結(jié)構簡單、輕巧便攜。
圖2 立體轉(zhuǎn)軸式結(jié)構
由圖2可知,該結(jié)構將多個超聲波傳感器等間距固定到支架上來獲取各個高度障礙物深度值,從而解決簡單平面結(jié)構容易出現(xiàn)的空間信息丟失問題。為了傳感器能穩(wěn)定的固定于支架,在矩形支架上等距的切割出具有超聲波傳感器發(fā)送與接收端口大小的矩形孔洞,如圖3所示。將帶有傳感器的支架垂直地放置于舵機上,解決了陣列式或全布局式排列導致的結(jié)構復雜、體積龐大等問題。
圖3 立體轉(zhuǎn)軸式超聲波固定支架
系統(tǒng)工作時由舵機帶動支架上的多個超聲波傳感器進行0°到180°旋轉(zhuǎn),每次旋轉(zhuǎn)角度為5°,同時傳感器對障礙物進行多次測距,其測距公式如式(1)所示。隨后將獲取的角度和距離信息傳送到樹莓派,結(jié)合該結(jié)構的旋轉(zhuǎn)特性和超聲波傳感器的測量特性進行柵格化處理,再使用Bayesian融合算法實時更新局部地圖,實現(xiàn)對障礙物深度位置的準確描述。
式(1)中,d為需要測量的距離,t為超聲波往返時間,v為超聲波傳播速度通常取340m/s。
該系統(tǒng)采用柵格法來創(chuàng)建環(huán)境地圖,環(huán)境地圖柵格化方式如圖4所示。
圖4 環(huán)境地圖柵格化
圖4中,將0.6m×0.6m的矩形環(huán)境地圖處理為柵格粒度為0.0015m的柵格地圖,立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構位于地圖底部中心,在完成環(huán)境信息采集后,樹莓派將得到的矢量信息進行處理并更新環(huán)境地圖。其中,地圖大小和柵格粒度可根據(jù)具體實驗環(huán)境大小調(diào)節(jié)。
在處理柵格地圖數(shù)據(jù)時,一般使用與概率相結(jié)合的Bayesian算法。根據(jù)概率論中的Bayesian法則,給定一個距離傳感器r,柵格地圖中每個柵格的狀態(tài)變量s(Ci)可通過公式(2)計算:
式(2)中,P[r丨s(Ci)=OCC]是給定s(Ci)為占有條件下,傳感器收到對應幅值r的概率,可以通過式(3)進行計算。
假定每個柵格的隨機變量s(Ci)相互獨立,傳感器每次測得的數(shù)據(jù)r1,r2,...,rt,rt+1也相互獨立,則當使用多個傳感器測距時,柵格地圖中每個柵格狀態(tài)更新可采用式(4)進行遞推。
式(3)為一個迭代更新算法,式(2)和式(4)中的條件概率P[r丨s(Ci)]均需要使用該公式,這是一個計算難點。在文獻[12]的方法中引入部分模糊理論知識,將單次測量下的每個柵格分為兩個測量值mE和mO分別表示柵格的“空閑”和“占用”隸屬度,可由式(5)計算:
由于傳統(tǒng)數(shù)據(jù)采集結(jié)構將傳感器固定于靜態(tài)位置,通常使用笛卡爾坐標系形式確定環(huán)境柵格中心點坐標和障礙物位置坐標。在獲取隸屬度矩陣過程中,根據(jù)每個超聲波距離讀數(shù)提供有關傳感器前方圓錐體中“空閑”和“占用”信息,然后將讀取的數(shù)據(jù)投射到柵格化地圖的概率剖面圖中進行解釋[13,14],該過程需要考慮超聲波的錐體傳播模型以及概率密度函數(shù)等,計算十分復雜。
本文設計的數(shù)據(jù)采集結(jié)構獲取的深度信息由角度和距離值組成,與極坐標形式更為匹配。因此,提出使用極坐標系形式的方法來處理障礙物坐標。在獲取隸屬度時,每次旋轉(zhuǎn)只獲取傳感器水平方向上的測量值,有返回值則將該柵格視為障礙物區(qū)域,通過多個相鄰柵格合并歸一化處理得到隸屬度矩陣簡化運算過程。首先對系統(tǒng)前方區(qū)域柵格地圖進行初始化,得到各柵格在極坐標系下的中心點坐標;然后,將超聲波和舵機測得的角度和距離值與極坐標系下的柵格地圖坐標點匹配,減少每次測量后將數(shù)據(jù)轉(zhuǎn)化為笛卡爾坐標值的運算過程;之后,使用柵格最小外接圓來確定測量點是否位于地圖中某柵格內(nèi),如果是則將柵格對應位置的矩陣值賦為1,否則賦為0;最后,將每16個柵格的值相加,進行歸一化處理,圖5為該過程的可視化,得到100×100的“空閑”和“占用”隸屬度矩陣,然后運用于后續(xù)柵格狀態(tài)更新。
圖5 柵格狀態(tài)及隸屬度運算可視化過程
如圖5所示,障礙物坐標在柵格6和柵格7的外接圓內(nèi),將該柵格判定為占有,最后歸一化將16個柵格整合為1個柵格,得到該柵格占有概率為2/16,空閑概率為14/16。
假定傳感器數(shù)據(jù)相互獨立,則柵格狀態(tài)更新式(4)可簡寫為:
式中,
最終通過最大后驗概率準則給出柵格狀態(tài)的最優(yōu)估計,式(7)~式(9)分別表示柵格“占有”、“空閑”和“未知”狀態(tài)。
通過以上方法可檢測到障礙物位置,但無法判定障礙物形狀和動態(tài)信息,本文通過視覺傳感器和圖像處理技術進行障礙物動態(tài)特征判定。
假設環(huán)境與光線不變且視覺傳感器獲取第一幀圖像時環(huán)境為靜態(tài),使用普通的幀差法能很容易將靜態(tài)環(huán)境和動態(tài)障礙物分離,但這個假設在現(xiàn)實場景下十分容易失效。在光線發(fā)生變化或者視野中出現(xiàn)其他物體后會產(chǎn)生較大的誤判。
因此,本文使用加權均值濾波算法來濾除背景噪聲,其主要思想為鄰域平均法,即用幾個像素灰度的平均值來代替每個像素的灰度,如式(10)所示:
式(10)中,ωα、ωβ是加權系數(shù),ωα+ωβ=1。
系統(tǒng)讀取視頻流信息后,利用該方法得到背景數(shù)據(jù)。融合過程如圖6所示。
圖6 像素平均法融合
融合后使用當前測得的數(shù)據(jù)減去加權平均值,得到“幀變化量”,如式(11)所示:
式(11)中,δ為幀變化量,back_data為融合后的背景數(shù)據(jù),current_data為當前數(shù)據(jù)。
在得到幀變化量后,設置閾值對動態(tài)點進行分割,分割后的圖像中含有孤立噪聲點。本文采用圖像處理技術中的膨脹法,將相鄰動態(tài)區(qū)域進行連接,然后再設置最小動態(tài)面積閾值,將大于閾值面積的動態(tài)區(qū)域進行框選,從而消除噪聲,標定出動態(tài)障礙物。
為檢測系統(tǒng)使用的立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構與融合方法對障礙物位置判定的實時性與準確性以及其在多障礙物環(huán)境中的性能,搭建了以下測試環(huán)境,將環(huán)境柵格地圖大小設置為0.6m×0.6m的正方形場景,場景布置如圖7中的場景原圖所示。
如場景原圖所示,測試環(huán)境為黑色邊界線劃分出的矩形區(qū)域,于測試區(qū)域隨機設置多個大小不一的障礙物。系統(tǒng)最終輸出結(jié)果如圖7中的融合地圖所示,其中白色部分為安全區(qū)域、黑色部分為障礙物區(qū)域、灰色部分為不確定區(qū)域。通過對場景原圖、不同時刻測試效果圖與Bayesian算法預估計出的下一時刻地圖進行對比可得,融合后的地圖消除了單次測量中的部分噪聲,得到了更準確的測試結(jié)果。圖7中各場景對應的融合地圖數(shù)據(jù)統(tǒng)計結(jié)果如表1、表2所示。
表2 障礙物距離數(shù)據(jù)記錄
圖7 障礙物位置檢測
表1 障礙物角度范圍數(shù)據(jù)記錄
通過對表格數(shù)據(jù)的對比分析可得,障礙物角度測量的最大誤差值為6.2°,深度值測量誤差在4%以內(nèi),能夠滿足避障需求。同時,系統(tǒng)使用局部地圖更新的方法,利用本時刻采集的數(shù)據(jù)預判下一時刻的障礙物位置信息,使用改進坐標系法來簡化算法,進一步提高了避障的實時性。系統(tǒng)使用的數(shù)據(jù)采集結(jié)構與運算方法能將環(huán)境中的多個障礙物全部檢測出來并得到實時準確的障礙物位置判定結(jié)果。
此外,系統(tǒng)采用OpenCV和python作為開發(fā)工具,快速的獲得障礙物圖像數(shù)據(jù),進而輔助系統(tǒng)確定障礙物形狀,將采集到的環(huán)境圖像數(shù)據(jù)使用加權平均融合下的幀差法,進一步檢測動態(tài)障礙物并給出提醒,檢測結(jié)果如圖8所示。
圖8 動態(tài)障礙物檢測結(jié)果
由圖8可得,通過視覺傳感器采集到的圖像數(shù)據(jù),可以明確障礙物的形狀特征。同時經(jīng)動態(tài)障礙物檢測算法處理后,減少了環(huán)境因素對系統(tǒng)的影響,能準確的檢測出環(huán)境中的動態(tài)障礙物形態(tài),將其在視頻流中標定,并對用戶發(fā)出前方有運動物體的提示。
障礙物判定是一項復雜的工作,涉及到障礙物多樣性、采集結(jié)構設計與傳感器特性等條件[15]。通過對傳統(tǒng)避障系統(tǒng)的現(xiàn)狀分析,存在視覺測距準確率低、單一超聲波傳感器采集深度值范圍有限以及多超聲波傳感器布局復雜等問題,本文設計了一款基于多傳感器數(shù)據(jù)融合的障礙物判定系統(tǒng)。首先,結(jié)合視覺傳感器與超聲波傳感器的優(yōu)勢,解決傳統(tǒng)避障系統(tǒng)采集信息不全面的問題;其次,設計立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構,獲取全局障礙物深度信息;同時,利用視覺傳感器輔助獲取障礙物形狀與動態(tài)信息;最后,將系統(tǒng)移植到樹莓派。測試結(jié)果表明,系統(tǒng)使用的數(shù)據(jù)采集結(jié)構與融合方法能同時對多個障礙物的深度位置與形態(tài)信息進行實時準確的判定且性能穩(wěn)定。系統(tǒng)硬件結(jié)構由樹莓派、立體轉(zhuǎn)軸式數(shù)據(jù)采集結(jié)構、樹莓派攝像頭等組成,具有結(jié)構簡單、便攜等優(yōu)勢。在后續(xù)工作中,將進一步提高系統(tǒng)的實時性與準確性,切實運用于各類需要避障的場景中。