并行超聲波測距系統(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ū)動電路、信號放大、整形和比較電路。
處理器采用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)生具有一定功率的超聲波電脈沖去激勵超聲波傳感器,由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所示。
超聲波接收電路分信號放大、整形、比較三部分。超聲波接收傳感器接收的信號十分微弱,為毫伏級,該信號需要經(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]。選取一種波束角合適的傳感器對全方位測量是十分必要的。
實(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.
推薦閱讀:
特別推薦
- 協(xié)同創(chuàng)新,助汽車行業(yè)邁向電氣化、自動化和互聯(lián)化的未來
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- 用于模擬傳感器的回路供電(兩線)發(fā)射器
- 應(yīng)用于體外除顫器中的電容器
- 將“微型FPGA”集成到8位MCU,是種什么樣的體驗(yàn)?
- 能源、清潔科技和可持續(xù)發(fā)展的未來
- 博瑞集信推出高增益、內(nèi)匹配、單電源供電 | S、C波段驅(qū)動放大器系列
技術(shù)文章更多>>
- 使用手持頻譜儀搭配高級軟件:精準(zhǔn)捕獲隱匿射頻信號
- 為什么超大規(guī)模數(shù)據(jù)中心要選用SiC MOSFET?
- 機(jī)電繼電器的特性及其在信號切換中的選型和應(yīng)用
- 雙向電源設(shè)計(jì)的優(yōu)點(diǎn)
- 利用兩個(gè)元件實(shí)現(xiàn) L 型網(wǎng)絡(luò)阻抗匹配
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索