在自主行走機器人系統中,機器人要實現在未知和不確定環境下行走,必須實時采集環境信息,以實現避障和導航,這必須依靠能實現感知環境信息的傳感器系統來實現。視覺、紅外、激光、超聲波等傳感器都在行走機器人中得到廣泛應用。由于超聲波測距方法設備簡單、價格便宜、體積小、設計簡單、易于做到實時控制,并且在測量距離、測量精度等方面能達到工業實用的要求,因此得到了廣泛的應用。本文所介紹的機器人采用三方超聲波測距系統,該系統可為機器人識別其運動的前方、左方和右方環境而提供關于運動距離的信息。
超聲波測距原理
超聲波發生器內部由兩個壓電片和一個共振板組成。當它的兩極外加脈沖信號,且其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發生共振,并帶動共振板振動,便產生超聲波。反之,如果兩極間未加外電壓,當共振板接收到超聲波時,就成為超聲波接收器。超聲波測距一般有兩種方法:①取輸出脈沖的平均電壓值,該電壓與距離成正比,測量電壓即可測量距離;②測量輸出脈沖的寬度,即發射超聲波與接收超聲波的時間間隔t,根據被測距離s=vt?2來得到測量距離,由于超聲波速度v與溫度有關,所以如果溫度變化比較大,應通過溫度補償的方法加以校正。
本測量系統采用第二種方法,由于測量精度要求不是特別高,所以可以認為溫度基本不變。本系統以PIC16F877($4.6800)單片機為核心,通過軟件編程實現其對外圍電路的實時控制,并提供給外圍電路所需的信號,包括頻率振動信號、數據處理信號等,從而簡化了外圍電路,且移植性好。系統硬件電路方框圖見圖1。