你的位置:首頁 > 傳感技術(shù) > 正文

并行超聲波測距系統(tǒng)在移動機(jī)器人上的應(yīng)用

發(fā)布時(shí)間:2017-03-13 來源:王洪青,褚金奎,李榮華,李慶瀛 責(zé)任編輯:wenwei

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


深度解析圖像傳感器的應(yīng)用場景
對比CCD與CMOS圖像傳感器的硬件技術(shù)指標(biāo)
汽車電動助力轉(zhuǎn)向系統(tǒng)EPS原理詳解
基于超聲波傳感器的自主移動機(jī)器人的探測系統(tǒng)
可穿戴型下肢助力機(jī)器人感知系統(tǒng)研究
 
 
 
 
要采購傳感器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉