基于單片機(jī)的水下機(jī)器人定位系統(tǒng)
本課題研究的機(jī)器人工作在大約40 m深的漿液下,為了防止水煤漿由于長(zhǎng)時(shí)間的存貯而沉淀,他能在按照預(yù)先規(guī)劃的軌跡行走時(shí)完成攪拌功能。在這種條件下,一個(gè)很重要的問題就是機(jī)器人定位功能的實(shí)現(xiàn),用來實(shí)時(shí)了解其具體位置。本機(jī)器人定位系統(tǒng)采用多路超聲波傳感器測(cè)距,然后采用三點(diǎn)定位法,把測(cè)距信息轉(zhuǎn)化為機(jī)器人的位置信息。超聲波作為一種無接觸檢測(cè)方式,與激光、紅外以及無線電測(cè)距相比,在水煤漿中可以比較容易地穿透水煤漿達(dá)到測(cè)距的目的,且精度較高。
本文引用地址:http://butianyuan.cn/article/87628.html 超聲波測(cè)距系統(tǒng)
1.1 超聲波測(cè)距原理
超聲波測(cè)距原理一般采用時(shí)間度量法,計(jì)算公式為:
式中D(m)為超聲波傳播的距離,v(m/s)為超聲波在介質(zhì)中傳播的速度,t(s)為超聲波在介質(zhì)中傳播的時(shí)間。而超聲波在介質(zhì)中傳播的速度由介質(zhì)的性質(zhì)和溫度T(℃)決定,由此可得到水中超聲波的波速為:
1.2 超聲波測(cè)距的硬件系統(tǒng)
系統(tǒng)硬件框圖如圖1所示,其設(shè)計(jì)為分布式控制系統(tǒng)。在本系統(tǒng)中USR1為超聲波發(fā)射傳感器,USR2,USR3,USR4為接收傳感器,他是型號(hào)為JSS-03的液下專用超聲波傳感器,該傳感器既可做接收用同時(shí)也可做發(fā)射用,其靈敏度高,額定脈沖工作電壓高,瞬時(shí)輸出功率大。溫度傳感器選用DS18B20,該傳感器具有單總線、抗干擾、測(cè)溫范圍寬(-55~+125℃)、適合遠(yuǎn)距離惡劣環(huán)境測(cè)溫的特點(diǎn)。在本系統(tǒng)中使用的單片機(jī)(MCU0,MCU1,…MCU4)均選用51系列單片機(jī)AT89C52。
當(dāng)系統(tǒng)處于工作狀態(tài),由MCU0每隔3 s產(chǎn)生一個(gè)脈沖,信號(hào)經(jīng)過放大激發(fā)信號(hào)發(fā)生器ST-3A,然后觸發(fā)超聲波發(fā)生器USR1;同時(shí)給MCU2,MCU3,MCU4的中斷INT0一個(gè)低電平,使他們開始計(jì)時(shí)。當(dāng)接收超聲波傳感器接收到發(fā)射超聲波傳感器發(fā)出的信號(hào)后,立即把產(chǎn)生的接收信號(hào)傳給單片機(jī),中間的信號(hào)調(diào)理過程為一級(jí)放大(放大100倍)、帶通濾波、二級(jí)放大(放大50倍)、電壓比較、光電隔離,其中電壓比較的基準(zhǔn)電壓可調(diào),當(dāng)信號(hào)電壓高于基準(zhǔn)電壓時(shí)使MCU的INT1中斷。INT0中斷和INT1中斷的時(shí)間間隔即為發(fā)射與接收傳感器間的時(shí)間,他存儲(chǔ)在單片機(jī)固定的RAM中。而溫度傳感器DS18B20是分時(shí)完成對(duì)環(huán)境溫度的測(cè)量的,采用嚴(yán)格的時(shí)序單片機(jī)進(jìn)行雙向通訊。單片機(jī)把溫度信息存在他的固定RAM中。
1.3 超聲波測(cè)距的軟件系統(tǒng)
要完成對(duì)機(jī)器人的位置信息的測(cè)量就要求把存儲(chǔ)在單片機(jī)RAM內(nèi)的時(shí)間信息和溫度信息采集到上位機(jī)中,然后把這些信息融合起來得到機(jī)器人的確切坐標(biāo)。工控機(jī)與下位機(jī)采用串口通訊方式,通訊協(xié)議為MODBUS協(xié)議。同時(shí)上位機(jī)采用VC 6.0作為開發(fā)工具,工控機(jī)的軟件程序采用模塊化編程,程序主要由串口通訊模塊、三點(diǎn)定位模塊、數(shù)據(jù)庫模塊及界面模塊組成,其循環(huán)通訊的流程如圖2所示。
2 實(shí) 驗(yàn)
2.1 實(shí)驗(yàn)準(zhǔn)備
為了驗(yàn)證程序的可靠性和對(duì)比兩種超聲波發(fā)射傳感器在定位過程中的效果,做了水下定位實(shí)驗(yàn),該實(shí)驗(yàn)是在9 m×7 m的長(zhǎng)方形水池中進(jìn)行的,水深25 cm左右。在實(shí)驗(yàn)之前在水平面內(nèi)建立直角坐標(biāo)系,同時(shí)在r=3 300 mm的圓周上均勻放置三個(gè)超聲波接收傳感器,其坐標(biāo)(單位:mm)分別為(3 300,0)、(-1 650,2 858)、(-1 650,2 858),在實(shí)驗(yàn)過程中超聲波發(fā)射傳感器在此圓周內(nèi)移動(dòng)。
根據(jù)以前一系列的實(shí)驗(yàn)結(jié)果,在本次實(shí)驗(yàn)的軟件系統(tǒng)中對(duì)測(cè)距程序按下式進(jìn)行了修正:(單位:mm)
2.2 實(shí)驗(yàn)結(jié)果
(1)JSS-03型超聲波發(fā)射傳感器
該傳感器的最佳發(fā)射頻率為10 kHz,發(fā)射面為一個(gè)平面,波束角為60°,其指向性很強(qiáng),在此定位系統(tǒng)中,3個(gè)接收傳感器都能夠收到該發(fā)射傳感器的信號(hào),但在其波束角內(nèi)的接收傳感器接收的信號(hào)比其他兩個(gè)強(qiáng),這就影響了接收傳感器觸發(fā)時(shí)的靈敏性。
如圖3所示,中間的實(shí)線圓為經(jīng)過非線性優(yōu)化過的發(fā)射傳感器的移動(dòng)軌跡,半徑為3 204 mm,這些定位點(diǎn)分散在軌跡圓的周圍,外側(cè)的虛線圓為偏離原點(diǎn)最遠(yuǎn)點(diǎn)所在的圓,內(nèi)側(cè)的虛線圓為距離原點(diǎn)最近的點(diǎn)所在的圓,最大誤差為8.08%,這些誤差主要來自于發(fā)射中心產(chǎn)生的誤差和測(cè)距產(chǎn)生的誤差。
(2)LYF-20型圓周發(fā)射傳感器
復(fù)制的最佳發(fā)射頻率為22 kHz,發(fā)射面為圓柱面,他的優(yōu)點(diǎn)就是對(duì)于三個(gè)接收傳感器而言發(fā)射中心是固定的,并且他們接收的信號(hào)強(qiáng)弱一致,但他的指向性不強(qiáng),由于信號(hào)分散,故其發(fā)射的信號(hào)弱于JSS-03型傳感器。如圖4所示。由于從發(fā)射源頭就避免了發(fā)射中心產(chǎn)生的誤差,所以他的定位精度較高,主要誤差來自于測(cè)距誤差,其優(yōu)化后的軌跡圓半徑為3 154 mm,最大誤差為3.78%。在此可以看出,頻率對(duì)超聲波的測(cè)距是有很大影響的,頻率越大,精度越高。
3 結(jié) 語
從實(shí)驗(yàn)結(jié)果看出,定位系統(tǒng)是可行的,有較高的可靠性,并且本系統(tǒng)的實(shí)時(shí)性可達(dá)1 s,其精度也可以達(dá)到我們預(yù)期的效果,但是硬件系統(tǒng)還有提升的空間。研究?jī)?nèi)容對(duì)水下機(jī)器人的定位,信號(hào)的采集,數(shù)據(jù)的遠(yuǎn)距離傳輸?shù)榷加袇⒖純r(jià)值。
評(píng)論