超聲波傳感器應(yīng)用起來原理簡單,也很方便,成本也很低。但是目前的超聲波傳感器都有一些缺點,比如,反射問題,噪音,交叉問題。
反射問題
如果被探測物體始終在合適的角度,那超聲波傳感器將會獲得正確的角度。但是不幸的是,在實際使用中,很少被探測物體是能被正確的檢測的。
其中可能會出現(xiàn)幾種誤差:
三角誤差
當被測物體與傳感器成一定角度的時候,所探測的距離和實際距離有個三角誤差。
鏡面反射
這個問題和高中物理中所學的光的反射是一樣的。在特定的角度下,發(fā)出的聲波被光滑的物體鏡面反射出去,因此無法產(chǎn)生回波,也就無法產(chǎn)生距離讀數(shù)。這時超聲波傳感器會忽視這個物體的存在。
多次反射
這種現(xiàn)象在探測墻角或者類似結(jié)構(gòu)的物體時比較常見。聲波經(jīng)過多次反彈才被傳感器接收到,因此實際的探測值并不是真實的距離值。
這些問題可以通過使用多個按照一定角度排列的超聲波圈來解決。通過探測多個超聲波的返回值,用來篩選出正確的讀數(shù)。
噪音
雖然多數(shù)超聲波傳感器的工作頻率為40-45Khz,遠遠高于人類能夠聽到的頻率。但是周圍環(huán)境也會產(chǎn)生類似頻率的噪音。比如,電機在轉(zhuǎn)動過程會產(chǎn)生一定的高頻,輪子在比較硬的地面上的摩擦所產(chǎn)生的高頻噪音,機器人本身的抖動,甚至當有多個機器人的時候,其它機器人超聲波傳感器發(fā)出的聲波,這些都會引起傳感器接收到錯誤的信號。
這個問題可以通過對發(fā)射的超聲波進行編碼來解決,比如發(fā)射一組長短不同的音波,只有當探測頭檢測到相同組合的音波的時候,才進行距離計算。這樣可以有效的避免由于環(huán)境噪音所引起的誤讀。
交叉問題
交叉問題是當多個超聲波傳感器按照一定角度被安裝在機器人上的時候所引起的。超聲波X發(fā)出的聲波,經(jīng)過鏡面反射,被傳感器Z和Y獲得,這時Z和Y會根據(jù)這個信號來計算距離值,從而無法獲得正確的測量。
解決的方法可以通過對每個傳感器發(fā)出的信號進行編碼。讓每個超聲波傳感器只聽自己的聲音。