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