移動(dòng)機器人的多傳感器測距系統設計
一、引言
在自主移動(dòng)機器人的實(shí)時(shí)避障和路徑規劃過(guò)程中,機器人須依賴(lài)于外部環(huán)境信息的獲取,感知障礙物的存在,測量障礙物的距離。目前,機器人避障和測距傳感器有紅外、超聲波、激光及視覺(jué)傳感器。激光傳感器和視覺(jué)傳感器價(jià)格貴,對控制器的要求較高,因而,在移動(dòng)機器人系統中多采用紅外及超聲波傳感器。
多數系統采用單一傳感器進(jìn)行信息采集,但超聲波傳感器因為存在測量盲區的問(wèn)題,測距范圍一般在30~300cm之間;而紅外測距傳感器的探測距離較短,一般在幾十厘米之內,它可以在一定程度上彌補超聲波傳感器近距離無(wú)法測量的缺點(diǎn)。因而,本系統采用多路紅外和超聲波傳感器進(jìn)行距離信息的測量和采集。
二、測距原理及方法
(一)超聲波傳感器
超聲波是指諧振頻率高于20 Hz的聲波,頻率越高反射能力越強。超聲波傳感器價(jià)格低廉,其性能幾乎不受光線(xiàn)、粉塵、煙霧、電磁干擾的影響,并且,金屬、木材、混凝土、玻璃、橡膠和紙等可以反射近乎100%的超聲波,因而,可以用來(lái)探測物體。
超聲波測距的方法為回聲探測法,發(fā)射換能器不斷發(fā)射聲脈沖,聲波遇到障礙物后反射回來(lái)被接收換能器接收,根據聲速及時(shí)間差計算出障礙物的距離。距離與聲速、時(shí)間的關(guān)系表示為
式中:s為與障礙物間的距離,m; c為聲速,m/s;t為第一個(gè)回波到達的時(shí)刻與發(fā)射脈沖時(shí)刻的時(shí)間差,s。
c與溫度有關(guān),空氣中聲速與溫度的關(guān)系可表示為
式中c為聲速,m/s; θ為環(huán)境溫度,℃。
(二)提高超聲波測距精度的方法
1.采用合適的頻率和波長(cháng):使用超聲波傳感器測距,頻率取得太低;外界雜音干擾較多;頻率取得太高,在傳播過(guò)程中衰減較大。并且,超聲波傳感器在測量過(guò)程中容易產(chǎn)生盲區,接收端易接收到泄漏波。改善這一缺點(diǎn),須減少發(fā)射波串的長(cháng)度,增高發(fā)射波頻率。但發(fā)射波串長(cháng)度過(guò)短會(huì )使得發(fā)射換能器不能被激振或激振達不到最大值;發(fā)射波頻率過(guò)高則衰減大,作用距離下降、有試驗表明:使用40 kHz的超聲波,發(fā)射脈沖群含有10-20個(gè)脈沖,具有較好的傳播性能。
2.提高系統的計時(shí)精度也可提高超聲波的測距精度,計時(shí)器的計數頻率越高,則由于時(shí)間的量化誤差所引起的測距誤差就越小。
3.對系統電路的時(shí)間延遲進(jìn)行補償可以減小測距誤差,提高測距精度。延遲時(shí)間
式中△t為延遲時(shí)間,s;s1,s2為2個(gè)已知的測量距離,m;t1,t2為對應的測量時(shí)間,s。
(三)紅外避障傳感器
紅外線(xiàn)是介于可見(jiàn)光和微波之間的一種電磁波,因此,它不僅具有可見(jiàn)光直線(xiàn)傳播、反射、折射等特性,還具有微波的某些特性,如較強的穿透能力和能貫穿某些不透明物質(zhì)等。紅外傳感器包括紅外發(fā)射器件和紅外接收器件。自然界的所有物體只要溫度高于絕對零度都會(huì )輻射紅外線(xiàn),因而,紅外傳感器須具有更強的發(fā)射和接收能力。
紅外傳感器的的測距基本原理為發(fā)光管發(fā)出紅外光,光敏接收管接收前方物體反射光,據此判斷前方是否有障礙物。根據發(fā)射光的強弱可以判斷物體的距離,它的原理 是接收管接收的光強隨反射物體的距離而變化的,距離近則反射光強,距離遠則反射光弱。
目前,使用較多的一種傳感器-紅外光電開(kāi)關(guān),它的發(fā)射頻率一般為38 kHz左右,探測距離一般比較短,通常被用作近距離障礙目標的識別。本系統采用的即為此種傳感器。
(四)紅外測距的缺陷
受器件特性的影響,一般的紅外光電開(kāi)關(guān)抗干擾性差,受環(huán)境光影響較大;并且,探測物體的顏色、表面光滑程度不同,反射回的紅外線(xiàn)強弱就會(huì )有所不同。
三、硬件系統構成
(一)系統組成
該測距系統由單片機、超聲波發(fā)射接收電路、紅外發(fā)射接收電路、數碼顯示電路及串口通信電路等模塊組成,見(jiàn)圖1??刂坪诵臑榱桕?yáng)16位單片機SPCE061 A,芯片上集成有2個(gè)16位可編程定時(shí)器/計時(shí)器,14個(gè)中斷源,32位通用可編程輸人/輸出通道,7通道10位A/D轉換器。
移動(dòng)機器人的前方、左方、右方各安裝一套超聲波及紅外傳感器,使機器人能夠感知3個(gè)方位的障礙信息。單片機在接收到傳感器的信息后,將傳感器的信號轉換為距離信息,在LED數碼管上顯示,并通過(guò)串口RS - 232接口與上位PC機通信,傳輸距離信息。
(二)超聲波傳感器電路
凌陽(yáng)單片機的I/O9-I/O11口接三路超聲波發(fā)射電路,I/O3-I/O5接三路超聲波接收電路。單片機產(chǎn)生的40 kHz信號由I/O輸出,經(jīng)反相器4049B組成的升壓放大電路,最后,由超聲波發(fā)射換能器UCM40T發(fā)射;聲波遇到障礙物返回,被接收換能器UCM40R接收,信號經(jīng)OP07組成的兩級放大電路放大,通過(guò)鎖相環(huán)音頻譯碼器LM567選 頻,濾除干擾信號,最后,通過(guò)I/O口輸入單片機。單片機通過(guò)聲波的傳輸時(shí)間計算障礙物距離。
(三)紅外傳感器電路
凌陽(yáng)單片機的I/O0~I/O6可作為10位A/D轉換器。本系統中,凌陽(yáng)單片機的I/O0~I/O2口作為A/D轉換器使用,I/O6~I/O8接三路紅外發(fā)射電路,I/O0~I/O2接三路紅外接收電路。單片機I/O口輸出高電平時(shí)與紅外發(fā)光管TLN205導通,發(fā)射紅外光;光波在遇到障礙物后反射,被紅外接收管TPS708接收,產(chǎn)生一個(gè)與光強相對應的電流,電流經(jīng)LM358組成的兩級放大電路放大后,輸出一個(gè)0~3V的模擬電壓,經(jīng)A/D口輸人單片機。單片機通過(guò) 電壓的大小計算、判斷障礙物的距離。
四、軟件設計
單片機SPCE061 A選用系統時(shí)鐘頻率fosc=20.480MHz,CPU時(shí)鐘頻率(CPUCLK)為fosc/2=10. 24 MHz,時(shí)鐘源A選用頻率32768 Hz,時(shí)鐘源B選用頻率1 Hz,,SPCE061A提供2個(gè)16位的定時(shí)/計數器:TimerA和TimerB。TimerA的時(shí)鐘源由時(shí)鐘源A和時(shí)鐘源B進(jìn)行與操作形成;TimerB的時(shí)鐘源僅為時(shí)鐘源A。
40 kHz的超聲波脈沖為高低電平各占12.5μs的方波,CPU時(shí)鐘計數延遲123個(gè)指令周期即為12.5μs。單片機通過(guò)不斷的交替產(chǎn)生12.5μs的高低電平即可產(chǎn)生40 kHz的脈沖信號,每次發(fā)射20個(gè)脈沖的脈沖群,持續0.5 ms,脈沖發(fā)射、間隔時(shí)間至少20 ms,從I/O口輸出。系統選用定時(shí)器A作為產(chǎn)生20 ms的定時(shí)中斷,選用定時(shí)器B作為超聲波計數器。
由于超聲波傳感器存在測量盲區,因而,在程序設計中,將遠于30 cm的測距由超聲波傳感器完成,30 cm以?xún)扔杉t外傳感器完成。
紅外測距過(guò)程中,選用定時(shí)器A產(chǎn)生0.1S的中斷進(jìn)行A/D采樣,并將采樣的電壓值轉換為距離信息。
主程序中,首先,進(jìn)入紅外探測子程序,如果探測到障礙物,則進(jìn)人數據傳輸、顯示及運動(dòng)控制子程序;沒(méi)有探測到障礙物,則進(jìn)入超聲波探測子程序。超聲波探測到障礙物,則進(jìn)人數據傳輸、顯示及運動(dòng)控制子程序,沒(méi)有探測到障礙物,則循環(huán)進(jìn)行紅外探測。圖2、圖3分別為紅外及超聲波探測子程序。
五、測量結果
試驗過(guò)程中,采用同大小、質(zhì)地、顏色的障礙物進(jìn)行測量。試驗表明:系統在0~200 cm的范圍間測距精度在1%之內,能夠較為準確對障礙物進(jìn)行測距。在30 cm以?xún)鹊臏y距由紅外傳感器完成,30~200 cm之間的測距由超聲波傳感器完成,試驗結果見(jiàn)表1。
六、結束語(yǔ)
本文研究了一種低成本、低功耗、高效能的移動(dòng)機器人側距系統,采用超聲波和紅外傳感器的多傳感器系統,有效地解決了單一傳感器測距系統中測量盲區的缺陷問(wèn)題;并且,采用3組傳感器組裝配在機器人的3個(gè)不同位置,使得機器人可完成3個(gè)不同方位的測距任務(wù)。 風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 電流變送器相關(guān)文章:電流變送器原理 光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評論