【導(dǎo)讀】超聲波傳感器被廣泛應(yīng)用于機器人避障系統(tǒng)中?;诔暡ǖ臏y距原理,設(shè)計了一種并行測距系統(tǒng)。介紹了系統(tǒng)的硬件組成和軟件實現(xiàn)方法。針對多路傳感器并行測距容易產(chǎn)生干擾的現(xiàn)象,分析了干擾產(chǎn)生的原因,提出一種有效的解決辦法。將系統(tǒng)用于移動機器人避障實驗,給出了系統(tǒng)測量范圍的實驗標(biāo)定結(jié)果。
0 引言
超聲波傳感器以其信息處理簡單、速度快和價格低的優(yōu)點被廣泛應(yīng)用于移動機器人避障、倒車?yán)走_等需要距離測量的場合[1]。由于超聲波的輻射特性,現(xiàn)有的多路傳感器測距系統(tǒng)為減少干擾的產(chǎn)生,多采用輪循發(fā)射的方法,這種方法的測距盲區(qū)較大,實時性也得不到保證,并且,這樣測量到的數(shù)據(jù)對障礙物的定位、形狀判別等后續(xù)處理也比較麻煩。
本文設(shè)計了一種多路傳感器并行工作的超聲波測距系統(tǒng)。將該系統(tǒng)用于智能移動機器人上進行避障實驗,獲得良好的效果。
1 超聲波測距系統(tǒng)設(shè)計
超聲波測距的方法有多種,本文采用渡越時間法,即通過測量超聲波從發(fā)射傳感器發(fā)出,經(jīng)傳播介質(zhì)到接收傳感器的時間t來計算距離。其原理可以用公式表示為L=vt/2,(L為待測量的距離;v為超聲波在空氣中的傳播速度,t為渡越時間)。超聲波在空氣中的傳播速度與環(huán)境的溫度有關(guān),通過溫度補償?shù)霓k法可以提高測距的精度。本文的速度通過經(jīng)驗公式v=331.4+0.607??計算,為攝氏溫度。用一線制溫度傳感器DS18B20來測量環(huán)境溫度。
1.1 硬件電路設(shè)計
測距系統(tǒng)硬件結(jié)構(gòu)如圖1所示。主要包括上位機、處理器、超聲波振蕩電路、驅(qū)動電路、信號放大、整形和比較電路。
處理器采用STC單片機STC12C5410,該單片機與51系列兼容。每一片單片機通過多路轉(zhuǎn)換器控制兩路超聲波傳感器,這兩路傳感器分別位于機器人的前側(cè)和后側(cè)。單片機的主要任務(wù)是測量渡越時間和環(huán)境溫度,計算障礙物的距離。單片機與上位機之間通過RS232通信。上位機對接收的數(shù)據(jù)進行分析可以定位障礙物,支配機器人的運動。
超聲波發(fā)射電路由振蕩電路和驅(qū)動電路兩部分組成。振蕩電路是由與非門和電阻與電容組成的簡單電路,能產(chǎn)生40kHz的方波信號驅(qū)動超聲波傳感器發(fā)射超聲波;驅(qū)動電路產(chǎn)生具有一定功率的超聲波電脈沖去激勵超聲波傳感器,由6個非門并聯(lián)組成,利用了芯片本身的驅(qū)動能力。經(jīng)過驅(qū)動后,最終加到超聲波傳感器的信號是幅值為5V的方波。
1.2 軟件程序設(shè)計
系統(tǒng)中,單片機要控制2個定時器,一個用于測量渡越時間,另一個用于設(shè)置單片機與PC通信的波特率,保證通信的準(zhǔn)確性;控制一個外部中斷口,實時監(jiān)測超聲波接收傳感器是否接收到反射的超聲波信號;用一個I/O控制超聲波發(fā)射傳感器按一定頻率發(fā)射超聲波[2];用單總線協(xié)議控制一個I/O讀取DS18B20采集的溫度值。單片機還要接收和處理上位機的命令,并根據(jù)上位機的要求將數(shù)據(jù)實時回送給上位機。單片機的程序流程圖如圖2所示。
超聲波接收電路分信號放大、整形、比較三部分。超聲波接收傳感器接收的信號十分微弱,為毫伏級,該信號需要經(jīng)過放大才能被單片機檢測到。本文采用兩級放大電路,共放大1000倍,兩級放大電路之間采用阻容耦合的方式連接。從放大器輸出的信號經(jīng)過倍壓整形電路后流入比較器。調(diào)節(jié)比較器的基準(zhǔn)電壓可以改變測距系統(tǒng)的測量范圍和測量精度。比較器輸出的信號接到單片機的INT0,觸發(fā)單片機中斷。
單片機與上位機之間用多機通信的方式傳送數(shù)據(jù)。PC沒有多機控制位,需要用軟件的方法模擬單片機的TB8/RB8位。通信協(xié)議設(shè)置步驟如下:
1)設(shè)置單片機處于地址監(jiān)聽狀態(tài);
2)PC發(fā)送一組奇偶校驗位為1的地址數(shù)據(jù);
3)單片機判斷接收到的地址是否與本機地址相同,如果相同,則將該地址發(fā)送會主機,與主機建立握手協(xié)議;
4)主機接收到地址后,發(fā)送奇偶校驗位為0的數(shù)據(jù),通知單片機發(fā)送距離信息;
5)單片機發(fā)送距離數(shù)據(jù),發(fā)送結(jié)束后,返回步驟(1)繼續(xù)監(jiān)聽地址。
上位機程序由VisualC++6.0編寫。其任務(wù)是按設(shè)置好的通信協(xié)議每隔50ms向串口發(fā)送一組查詢命令,讀取單片機測量的距離信息;通過分析讀取的距離信息來定位障礙物,粗略判斷障礙物的形狀特征;采取必要的避障措施控制機器人的運行并顯示運行軌跡。軟件有著良好的用戶界面,利于程序調(diào)試。
2 干擾因素分析與采取的措施
采用多傳感器并行發(fā)射超聲波的方式,最大的一個缺點就是干擾比較嚴(yán)重,特別是各傳感器之間的信號干擾。引起干擾的因素主要有以下幾種:
1)傳感器的安裝誤差:超聲波的產(chǎn)生是壓電晶體的機械振動,發(fā)射和接收傳感器之間的連接容易產(chǎn)生干擾;如果傳感器與地面之間有傾角或安裝的過低,接收傳感器很容易接收到地面的反射波,觸發(fā)單片機中斷。
2)超聲波旁瓣的影響:在發(fā)射波結(jié)束后,接收傳感器接收到的第一個波是串?dāng)_直通波,它是近源的波束旁瓣或通過繞射由發(fā)射換能器直接達到接收換能器而造成的[3]。因此,安裝超聲波傳感器時,2個探頭之間的距離要大于3cm。
3)超聲波余振干擾:發(fā)射傳感器每次發(fā)射8組超聲波,每組5~8個波形。當(dāng)障礙物比較近時,第一組波形就能觸發(fā)單片機中斷。這種情況下,退出中斷時可能發(fā)射的超聲波還沒有完全衰減,當(dāng)下一次開中斷時,單片機中斷就會立即被觸發(fā),產(chǎn)生干擾數(shù)據(jù)[4]。
4)超聲波交叉干擾:多路傳感器并行發(fā)射,接收傳感器接收到的反射超聲波可能不是對應(yīng)的發(fā)射傳感器發(fā)射的,并且,各路傳感器之間的信號不同步,這樣,很容易引起測量時間不準(zhǔn)確。實驗中出現(xiàn)的很多干擾數(shù)據(jù)就是由這個原因引起的。
為屏蔽超聲波余振和交叉干擾,單片機采用低電平觸發(fā)中斷的方式,并且,在中斷服務(wù)子程序中停止超聲波的發(fā)射。單片機觸發(fā)中斷后,在接收傳感器能接收到反射波的這段時間內(nèi),其一直在中斷服務(wù)子程序中循環(huán)執(zhí)行,等待反射超聲波衰減至不能被系統(tǒng)識別才退出中斷。
3 實驗標(biāo)定
測距系統(tǒng)盲區(qū)為10cm,由于程序中設(shè)定機器人距障礙物40~50cm時采取避障措施,所以,測距盲區(qū)對機器人避障不會產(chǎn)生影響。將測距系統(tǒng)安裝到機器人上,用一根半徑1cm的塑料桿在機器人前方移動,逐點探測測距系統(tǒng)的敏感度[5]。探測點選在與超聲波傳感器平行的直線上,以兩傳感器的中心線為中心,向兩邊每隔5cm選取一點,每邊各選4點。測量數(shù)據(jù)如表1所示。由測量結(jié)果看出:左路和中路的測量誤差在2%以內(nèi),右路的誤差偏大。這種差別與傳感器的安裝精度有關(guān),另,傳感器的性能也會導(dǎo)致這種差別。此外,測量的基準(zhǔn)值40是通過目測得出的,這種測量誤差也會影響測量結(jié)果的誤差分析。
按以上測量方法,逐點探測測距系統(tǒng)的敏感度,可以得到測距系統(tǒng)測量范圍如圖3所示。從實驗標(biāo)定的測量范圍看,測距系統(tǒng)有一小部分區(qū)域沒有探測到,這主要是受傳感器波束角的影響,對于非垂直于發(fā)射波束的目標(biāo),大波束角的傳感器可以獲得更強的回波信號,而波束角越窄對于減少散射波的干擾越有利[6]。選取一種波束角合適的傳感器對全方位測量是十分必要的。
實驗結(jié)果表明:在機器人的安全距離內(nèi),該測距系統(tǒng)能全方位、較精確地探測到其前方的環(huán)境狀況,并且,測量數(shù)據(jù)不會出現(xiàn)干擾,滿足機器人避障的需要。
4 結(jié)束語
本文設(shè)計了一種高性能的機器人測距系統(tǒng),采用多傳感器并行工作的方式,提高了測距的實時性,系統(tǒng)干擾得到有效屏蔽,滿足移動機器人避障的要求。如果系統(tǒng)加以改善還可以設(shè)計成汽車倒車?yán)走_,提高汽車的安全性能。
參考文獻:
[1]汪云濤,鮑青山,王樹國,等.超聲探測系統(tǒng)在移動式智能機器人中的應(yīng)用[J].哈爾濱工業(yè)大學(xué)學(xué)報,1998,30(1):20-23.
[2]楊寧.單片機與控制技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.
[3]蘇煒,龔壁建,潘笑.超聲波測距誤差分析[J].傳感器技術(shù),2003(6):8-11.
[4]章小兵,宋愛國,唐鴻儒.基于單接受頭的超聲波多目標(biāo)測距[J].傳感技術(shù)學(xué)報,2007,20(5):1167-1169.
[5]NoykovS,RoumeninC.Calibrationandinterfaceofapolaroidu-ltrasonicsensorformobilerobots[J].SensorsandActuatorsA,2007,135(1):169-178.
[6]HerringtonDR.Ultrasonicrangefinderusesfewcomponen-ts[J].EDN,1999(6):23-26.
推薦閱讀: