超聲波傳感器的原理?
超聲波傳感器是用來測量物體的距離。首先,超聲波傳感器會發(fā)射一組高頻聲波,一般為40-45KHz,當(dāng)聲波遇到物體后,就會被反彈回,并被接受到。通過計算聲波從發(fā)射到返回的時間,再乘以聲波在媒介中的傳播速度(344米/秒,空氣中)。就可以獲得物體相對于傳感器的距離值了。
聲波換能器特性
聲波換能器就好比一個喇叭,能將電流信號轉(zhuǎn)換成高頻聲波,或者將聲波轉(zhuǎn)換成電信號。(其實多數(shù)喇叭都可以當(dāng)作話筒用,不信大家可以去試一下,用喇叭代替麥克風(fēng),也是可以的,只不過麥克風(fēng)將聲波轉(zhuǎn)化成電信號的能力比較強一點。所以,更加靈敏一點。)
換能器在將電型號轉(zhuǎn)化成聲波的過程中,所產(chǎn)生的聲波并不是理想中的矩形,(圖1-a),而是一個類似花瓣一樣形狀,參見(圖1-b,c):
圖1:聲波特性
值得一提的是,在實際應(yīng)用中,產(chǎn)生的波形應(yīng)該是三維的,類似柱狀體。
對于機器人的應(yīng)用來說,超聲波傳感器主要用來探測物體的距離以及相對于傳感器的方位,以便可以進(jìn)行避障動作。最理想就是矩形,不但可以準(zhǔn)確的獲得物體的距離值,也可以準(zhǔn)確的獲得方位值,就是正前方。但是實際上,超聲波的波束根據(jù)應(yīng)用不同,有寬波束,和窄波束。寬波束(圖1-b)的傳感器會檢測到任何在波束范圍的物體,它可以檢測到物體的距離,但是確無法檢測到物體的方位,誤差最高會有100度左右,機器人將無法準(zhǔn)確的確定其避障的動作。當(dāng)然,作為只要探測物體有或者無的用途來說,寬波束的傳感器是比較理想的。同理,窄波束可以相對寬波束獲得更加精確的方位角。在選擇超聲波傳感器的時候,這個波形特性是必須要考慮的。
超聲波的問題
超聲波傳感器應(yīng)用起來原理簡單,也很方便,成本也很低。但是目前的超聲波傳感器都有一些缺點,比如,反射問題,噪音,交叉問題。
反射問題
如果被探測物體始終在合適的角度,那超聲波傳感器將會獲得正確的角度。但是不幸的是,在實際使用中,很少被探測物體是能被正確的檢測的。圖二給出了幾個例子。
圖2:聲波反射
圖2.a中的情況叫做三角誤差,當(dāng)被測物體與傳感器成一定角度的時候,所探測的距離和實際距離有個三角誤差。
圖2.b中的情況叫做鏡面反射,這個問題和高中物理中所學(xué)的光的反射是一樣的。在特定的角度下,發(fā)出的聲波被光滑的物體鏡面反射出去,因此無法產(chǎn)生回波,也就無法產(chǎn)生距離讀數(shù)。這時超聲波傳感器會忽視這個物體的存在。
圖2.c中的情況可以叫做多次反射。這種現(xiàn)象在探測墻角或者類似結(jié)構(gòu)的物體時比較常見。聲波經(jīng)過多次反彈才被傳感器接收到,因此實際的探測值并不是真實的距離值。
這些問題可以通過使用多個按照一定角度排列的超聲波圈來解決。通過探測多個超聲波的返回值,用來篩選出正確的讀數(shù)。
噪音
雖然多數(shù)超聲波傳感器的工作頻率為40-45Khz,遠(yuǎn)遠(yuǎn)高于人類能夠聽到的頻率。但是周圍環(huán)境也會產(chǎn)生類似頻率的噪音。比如,電機在轉(zhuǎn)動過程會產(chǎn)生一定的高頻,輪子在比較硬的地面上的摩擦所產(chǎn)生的高頻噪音,機器人本身的抖動,甚至當(dāng)有多個機器人的時候,其它機器人超聲波傳感器發(fā)出的聲波,這些都會引起傳感器接收到錯誤的信號。
這個問題可以通過對發(fā)射的超聲波進(jìn)行編碼來解決,比如發(fā)射一組長短不同的音波,只有當(dāng)探測頭檢測到相同組合的音波的時候,才進(jìn)行距離計算。這樣可以有效的避免由于環(huán)境噪音所引起的誤讀。
交叉問題
交叉問題是當(dāng)多個超聲波傳感器按照一定角度被安裝在機器人上的時候所引起的,如圖3所示。
圖3:交叉對話問題
超聲波X發(fā)出的聲波,經(jīng)過鏡面反射,被傳感器Z和Y獲得,這時Z和Y會根據(jù)這個信號來計算距離值,從而無法獲得正確的測量。
解決的方法可以通過對每個傳感器發(fā)出的信號進(jìn)行編碼。讓每個超聲波傳感器只聽自己的聲音。
轉(zhuǎn)載請注明出處。