2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  2013屆   分 類 號:TP242 </p><p>  單位代碼:10452</p><p><b>  畢業(yè)論文(設(shè)計(jì))</b></p><p>  超聲波測距在機(jī)器人避障中的應(yīng)用</p><p>  姓 名      劉濤

2、濤      </p><p>  學(xué) 號    200909140401 </p><p>  年 級  2009     </p><p>  專 業(yè)  電氣工程及其自動化 </p><p>  系?。ㄔ海  ?汽車學(xué)院 </p><p

3、>  指導(dǎo)教師  王紅梅 </p><p><b>  年  月  日</b></p><p><b>  摘 要</b></p><p>  移動機(jī)器人在工作的時候不可避免地受到障礙物的干擾,障礙物會嚴(yán)重影響機(jī)器人的工作效率,碰撞時更會使機(jī)器人損壞,所以實(shí)現(xiàn)機(jī)器人的自動避障非常重

4、要。本論文提出了基于超聲波傳感器測距的移動機(jī)器人的模糊避障系統(tǒng),采用單片機(jī)AT89C51為核心,用超聲波測距的方法檢測障礙物,通過單片機(jī)對信號的處理,驅(qū)動電機(jī)的轉(zhuǎn)向,左右前進(jìn)與后退,從而達(dá)到自動避障的功能。</p><p>  通過實(shí)踐得出模糊避障控制機(jī)理和策略易于接受和理解,便于應(yīng)用開發(fā),模糊避障算法對環(huán)境有很大的適應(yīng)性,機(jī)器人能在不同的環(huán)境條件下實(shí)現(xiàn)了避障。</p><p>  關(guān)鍵詞

5、: AT89C51單片機(jī)、移動機(jī)器人、超聲波傳感器</p><p><b>  Abstract</b></p><p>  Mobile robot to work when I inevitably subject to interference from obstructions, obstructions will seriously affect the e

6、fficiency of the robot, collision damage and even make robots, robot automatic obstacle avoidance is very important. This paper presents a fuzzy obstacle avoidance system based on ultrasonic sensors ranging mobile robot

7、using AT89C51 microcontroller as the core, the obstacle detection method using ultrasonic ranging, single-chip signal processing, drive motor steering, left a</p><p>  Through practice on fuzzy obstacle avoi

8、dance control mechanism and strategy is easy to accept and understand, easy application development, fuzzy obstacle avoidance algorithm has great adaptability to the environment, the robot obstacle avoidance in different

9、 environmental conditions .</p><p>  Keywords: AT89C51 microcontroller;bile robot;Ultrasonic sensors </p><p><b>  目 錄</b></p><p><b>  緒 論1</b></p>&l

10、t;p>  1課題設(shè)計(jì)目的及意義1</p><p>  1.1設(shè)計(jì)的目的1</p><p>  1.2設(shè)計(jì)的意義1</p><p>  2超聲波測距儀的設(shè)計(jì)思路1</p><p>  2.1超聲波測距原理1</p><p>  3課題設(shè)計(jì)的任務(wù)和要求2</p><p>  第一

11、章 超聲波測距系統(tǒng)硬件設(shè)計(jì)2</p><p><b>  1 系統(tǒng)設(shè)計(jì)2</b></p><p>  2 51系列單片機(jī)的功能特點(diǎn)3</p><p>  3系統(tǒng)硬件結(jié)構(gòu)的設(shè)計(jì)3</p><p>  3.1 單片機(jī)顯示電路原理4</p><p>  3.2 超聲波發(fā)射電路4</p&

12、gt;<p>  3.3 超聲波檢測接收電路4</p><p>  3.4超聲波測距系統(tǒng)的總電路5</p><p>  第二章 超聲波測距系統(tǒng)的軟件設(shè)計(jì)5</p><p>  1 超聲波測距儀的算法設(shè)計(jì)5</p><p><b>  2主程序流程圖6</b></p><p>

13、;  3超聲波發(fā)生子程序和超聲波接收中斷程序7</p><p>  4 系統(tǒng)的軟硬件的調(diào)試7</p><p>  第三章 超聲波測距系統(tǒng)在智能機(jī)器人中的應(yīng)用7</p><p>  1 避障系統(tǒng)設(shè)計(jì)思想8</p><p><b>  2 硬件設(shè)計(jì)8</b></p><p><b>

14、;  3 軟件設(shè)計(jì)9</b></p><p><b>  總結(jié)12</b></p><p><b>  致謝13</b></p><p>  參 考 文 獻(xiàn)14</p><p><b>  附 錄15</b></p><p><

15、;b>  緒 論</b></p><p>  1課題設(shè)計(jì)目的及意義</p><p><b>  1.1設(shè)計(jì)的目的</b></p><p>  隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的測距技術(shù)還十分有限,因此,這是一個正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,

16、超聲波測距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實(shí)施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實(shí)現(xiàn)超遠(yuǎn)程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測距

17、儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術(shù)進(jìn)步,測距儀將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀(jì)里,面貌一新的測距儀將發(fā)揮更大的作用。</p><p><b>  1.2設(shè)計(jì)的意義</b></p><p>  隨著科技的發(fā)展,人們生活水平的提高,城市發(fā)展建設(shè)加快,城市給排水系統(tǒng)也有較大發(fā)展,其狀況不斷

18、改善。但是,由于歷史原因合成時間住的許多不可預(yù)見因素,城市給排水系統(tǒng),特別是排水系統(tǒng)往往落后于城市建設(shè)。因此,經(jīng)常出現(xiàn)開挖已經(jīng)建設(shè)好的建筑設(shè)施來改造排水系統(tǒng)的顯得非常重要。而設(shè)計(jì)研制箱涵排水疏通移動機(jī)器人的自動控制系統(tǒng),保證機(jī)器人在箱涵中自由排污疏通,是箱涵排污疏通機(jī)器人的設(shè)計(jì)研制的核心部分??刂葡到y(tǒng)核心部分就是超聲波測距儀的研制。因此,設(shè)計(jì)好的超聲波測距儀就顯得非常重要了。這就是我設(shè)計(jì)超聲波測距儀的意義。</p><

19、;p>  2超聲波測距儀的設(shè)計(jì)思路</p><p>  2.1超聲波測距原理</p><p>  發(fā)射器發(fā)出的超聲波以速度υ在空氣中傳播,在到達(dá)被測物體時被反射返回,由接收器接收,其往返時間為t,由s=vt/2即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測距精度要求很高,

20、則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U?lt;/p><p>  表1-1 超聲波波速與溫度的關(guān)系表</p><p>  3課題設(shè)計(jì)的任務(wù)和要求</p><p>  設(shè)計(jì)一超聲波測距儀,任務(wù):</p><p>  (1).了解超聲波測距原理。</p><p>  (2).根據(jù)超聲波測距原理,設(shè)計(jì)超聲波測距器的硬件結(jié)構(gòu)電路。<

21、/p><p>  設(shè)計(jì)一超聲波測距器,要求:</p><p>  (1).設(shè)計(jì)出超聲波測距器的軟件結(jié)構(gòu)電路。</p><p>  (2).對設(shè)計(jì)的電路進(jìn)行分析能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測量物體間的距離。</p><p>  (3).以數(shù)字的形式顯示測量距離。</p><p>  第一章

22、超聲波測距系統(tǒng)硬件設(shè)計(jì)</p><p><b>  1 系統(tǒng)設(shè)計(jì)</b></p><p>  利用超聲波檢測距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,其測量精度也能達(dá)到使用要求。超聲波發(fā)生器可以分為兩大類:一類是用機(jī)械方式產(chǎn)生超聲波,一類是用電氣方式產(chǎn)生超聲波。電氣方式包括壓電型、電動型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。目前在近距離測量方面常用的是壓電式超聲波換能

23、器。根據(jù)設(shè)計(jì)要求并綜合各方面因素,本設(shè)計(jì)采用 AT89C51 單片機(jī)作為控制器,用動態(tài)掃描法實(shí)現(xiàn) LED 數(shù)字顯示,超聲波驅(qū)動信號用單片機(jī)的定時器。</p><p>  單片機(jī)發(fā)出 40kHz 的信號經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動單片機(jī)中斷程序,測得時間為 t,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送 LED 顯示。如圖 1 所示。<

24、;/p><p>  圖1 超聲波測距器系統(tǒng)方案</p><p>  超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計(jì)算出傳播距離。本設(shè)計(jì)采用反射波方式。測距儀的分辨率取決于對超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。</p><p>  2 51系列單片機(jī)的功能特點(diǎn)</p><p>  5

25、1系列單片機(jī)以其高性能、高速度、體積小、價格低廉、可重復(fù)編程和方便功能擴(kuò)展等優(yōu)點(diǎn),在市場上得到廣泛的應(yīng)用。因此此次設(shè)計(jì)采用51系列單片機(jī),由于AT89C51在51系列單片機(jī)里有典型的代表性,所以本文選擇AT89C51型號。</p><p>  5l系列單片機(jī)中典型芯片(AT89C51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個16b的定時/計(jì)數(shù)器TO和T1,4個

26、8 b的I/O端I:IP0,P1,P2,只讀存儲器(E~PROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息P3,一個全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除保存的儀器和系統(tǒng)中更為有用。該系列單片引腳與封裝如圖2-1所示。</p><p>  51系列單片機(jī)封裝圖</p><p>  5l系列單片機(jī)提供以下功能:4 kB存儲器;256 BRA

27、M;32條I/O線;2個16b定時/計(jì)數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘電路。</p><p>  空閑方式:CPU停止工作,而讓RAM、定時/計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。</p><p>  掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。</p><p>  5l系列單片機(jī)為許多控制提供了高度靈活和低成本的解

28、決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)。</p><p>  3系統(tǒng)硬件結(jié)構(gòu)的設(shè)計(jì)</p><p>  硬件電路主要由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分組成。采用 AT89C51 來實(shí)現(xiàn)對 CX20106A 紅外接收芯片和 TCT40-10 系列超聲波轉(zhuǎn)換模塊的控制。單片機(jī)通過 P1.0 引腳經(jīng)反相器來控制超聲波的發(fā)

29、送,然后單片機(jī)不停的檢測 INT0 引腳,當(dāng) INT0 引腳的電平由高電平變?yōu)榈碗娖綍r就認(rèn)為超聲波已經(jīng)返回。計(jì)數(shù)器所計(jì)的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過換算就可以得到傳感器與障礙物</p><p>  3.1 單片機(jī)顯示電路原理</p><p>  單片機(jī)采用AT89C51 或其兼容系列。為了獲得較穩(wěn)定的時鐘頻率,系統(tǒng)采用12MHz 高精度的晶振,以減小系統(tǒng)測量誤差。單片機(jī)用P1.0 端口

30、輸出40KHz 方波信號,為超聲波轉(zhuǎn)化器所用,利用外中斷0 口檢測超聲波接受電路輸出的返回信號。顯示電路采用簡單實(shí)用的共陽LED 數(shù)碼管,段碼用單片機(jī)P0 口加限流電阻直接驅(qū)動,位碼用PNP 三極管9012 驅(qū)動。</p><p>  3.2 超聲波發(fā)射電路</p><p>  超聲波發(fā)射電路原理圖如圖2-2所示。發(fā)射電路主要由反向器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口

31、輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R1O、R11一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時間。</p><p>  圖2-2 超聲波發(fā)射

32、電路原理圖</p><p>  壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個壓電晶片和一個換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時它就是一個超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器

33、在結(jié)構(gòu)上稍有不同,使用時應(yīng)分清器件上的標(biāo)志。</p><p>  3.3 超聲波檢測接收電路</p><p>  集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路(如圖2-3)。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號時輸出高電平),具有很

34、好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力。</p><p>  圖2-3 超聲波檢測接收電路</p><p>  3.4超聲波測距系統(tǒng)的總電路</p><p>  本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時間的計(jì)時,單片機(jī)選用AT89C51,經(jīng)濟(jì)易用,且片內(nèi)有4K的ROM,便于編程。電路原理

35、圖如圖附錄1。</p><p>  第二章 超聲波測距系統(tǒng)的軟件設(shè)計(jì)</p><p>  超聲波測距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時間,而超聲波測距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時),又要求精細(xì)計(jì)算程序運(yùn)行時間(超聲波測距時),所以控制程序可采

36、用C語言和匯編語言混合編程。</p><p>  1 超聲波測距儀的算法設(shè)計(jì)</p><p>  超聲波測距的原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:d=s/2=(c×t)/2其中,d為被測物與

37、測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時間。 在啟動發(fā)射電路的同時啟動單片機(jī)內(nèi)部的定時器T0,利用定時器的計(jì)數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負(fù)跳變,在INT0或INT1端產(chǎn)生一個中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計(jì)算距離。其部分源程序如附錄2。</p><p><b> 

38、 2主程序流程圖 </b></p><p>  軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。 </p><p>  定時中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。</p><p> ?。╝)主程序流程圖

39、 (b)定時中斷服務(wù)子程序 (c)外部中斷服務(wù)子程序</p><p>  超聲波測距系統(tǒng)的軟件設(shè)計(jì)</p><p>  主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器T0工作模式為16位定時計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1 ms(這也就是超

40、聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用的是12 MHz的晶 振,計(jì)數(shù)器每計(jì)一個數(shù)就是1μs,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按式(2)計(jì)算,即可得被測物體與測距儀之間的距離,設(shè)計(jì)時取20℃時的聲速為344 m/s則有: d=(c×t)/2=172TO/10000cm (2) 其中,T0為計(jì)數(shù)器T0的計(jì)算值。

41、0; 測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C語言編寫。                      

42、0;       </p><p>  3超聲波發(fā)生子程序和超聲波接收中斷程序  </p><p>  超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個左右超聲波脈沖信號(頻率約40kHz的方波),脈沖寬度為12μs左右,同時把計(jì)數(shù)器T0打開進(jìn)行計(jì)時。超聲波發(fā)生子程序較簡單,但要求程序運(yùn)行準(zhǔn)確,所以采用匯編語言編程。&#

43、160; 超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時器T0停止計(jì)時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。 前方測距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出通過與門IC3A的

44、輸出接單片機(jī)INT1端口,同時單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。部分源程序如附錄3。</p><p>  4 系統(tǒng)的軟硬件的調(diào)試</p><p>  超聲波測距儀的制作和調(diào)試都比較簡單,其中超聲波發(fā)射和接收采用Φ15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時應(yīng)保持

45、兩換能器中心軸線平行并相距4~8cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,以獲得合適的接收靈敏度和抗干擾能力。  硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測

46、距儀能測的范圍為0.07~5.5m,測距儀最大誤差不超過1cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測量要求。軟件的調(diào)試程序見附錄4</p><p>  第三章 超聲波測距系統(tǒng)在智能機(jī)器人中的應(yīng)用</p><p>  在智能機(jī)器人的研制開發(fā)中, 很重要的一部分就是機(jī)器人要能實(shí)現(xiàn)避障功能, 即通過傳感器的作用, 探測機(jī)器人行進(jìn)道路上是否碰到障礙

47、。若碰到了障礙, 機(jī)器人應(yīng)該自動轉(zhuǎn)向, 躲避障礙。</p><p>  1 避障系統(tǒng)設(shè)計(jì)思想</p><p>  移動機(jī)器人感知環(huán)境的手段是不完備的,傳感器給出的數(shù)據(jù)是不完全、不連續(xù)、不可靠的,因此移動機(jī)器人的安全避障成為當(dāng)今機(jī)器人研究領(lǐng)域的一個焦點(diǎn)問題和難點(diǎn)問題。安全避障具體的實(shí)現(xiàn)方法有很多種,超聲避障實(shí)現(xiàn)方便,技術(shù)成熟,成本低,成為移動機(jī)器人常用的避障方法,但超聲避障存在一些缺點(diǎn),如存

48、在探測盲區(qū)等,特別是當(dāng)超聲傳感器和障礙形成一定角度時會產(chǎn)生幻影導(dǎo)致機(jī)器人得到錯誤的信息,從而發(fā)生碰撞。本文采用多個傳感器的模糊避障算法來克服超聲傳感器的幻影干擾,實(shí)現(xiàn)機(jī)器人的安全避障。</p><p><b>  2 硬件設(shè)計(jì)</b></p><p>  移動機(jī)器人硬件系統(tǒng)主要由電源模塊、車速檢測模塊、直流電機(jī)驅(qū)動模塊、路徑模糊避障模塊、顯示模塊、單片機(jī)模塊等組成。&

49、lt;/p><p>  路徑模糊避障模塊將采集到的路面障礙物與車體位置的信息、轉(zhuǎn)速測量模塊測得的車速信息通過各自的接口送到單片機(jī)。單片機(jī)則根據(jù)這些信息,通過相應(yīng)的軟件算法對舵機(jī)與直流驅(qū)動電機(jī)進(jìn)行控制,進(jìn)而完成對小車方向與速度的控制,電源模塊則向各個模塊提供所需的電壓與電流,并要保證系統(tǒng)穩(wěn)定安全的運(yùn)行。</p><p>  障礙物的信息包括超聲波傳感器中心到障礙物的最短距離和障礙物相對于車體的方

50、位。移動機(jī)器人運(yùn)行過程中,實(shí)時采集每個方向上超聲波傳感器中心到障礙物的邊界距離,進(jìn)行比較劃分找到其中最短的距離及方位作為車體到障礙物的最短距離和方位。避障算法如下:移動機(jī)器人以某一速度前進(jìn),如果某一傳感器檢測到的距離符合R1~ R9某個規(guī)則,那么機(jī)器人就根據(jù)程序選擇繞開障礙物或繼續(xù)前進(jìn)。避障軟件實(shí)現(xiàn)的步驟包括主程序、測距程序、顯示程序、電機(jī)轉(zhuǎn)向控制,如圖14所示為避障步驟圖。</p><p>  圖14 避障程序

51、流程圖</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  單片機(jī)編程產(chǎn)生超聲波,在系統(tǒng)發(fā)射超聲波的同時利用定時器的計(jì)數(shù)功能開始計(jì)時,接收到回波后,接收電路輸出端產(chǎn)生的負(fù)跳變在單片機(jī)的外部中斷源輸入口產(chǎn)生一個中斷請求信號,響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,停止計(jì)時,讀取時間差,計(jì)算距離,然后通過軟件譯碼,將數(shù)據(jù)輸出P0、P1和P2口顯示。&l

52、t;/p><p>  程序流程圖如圖15,(a)為主程序流程圖,(b)為定時中斷子程序流程圖,(c)為外部中斷子程序流程圖。</p><p><b>  圖15 程序流程圖</b></p><p>  根據(jù)避障規(guī)則,移動機(jī)器人以某一速度前進(jìn),如果某一傳感器檢測到的距離小于某個值,這個值是預(yù)定義可編程的臨界距離,那么機(jī)器人以某一角度偏轉(zhuǎn),從而繞開障礙

53、物繼續(xù)前進(jìn)。機(jī)器人在行駛過程中如果遇到障礙物,它的超聲波測距系統(tǒng)馬上計(jì)算出機(jī)器人與障礙物的距離d,若d<dc(避障的臨界距離,其中dc為程序預(yù)設(shè)值),電機(jī)左右轉(zhuǎn)向控制驅(qū)動,從而繞過障礙物實(shí)現(xiàn)避障的效果。程序流程圖如圖16所示。</p><p>  圖16 避障程序流程圖</p><p><b>  總結(jié)</b></p><p>  本課題

54、介紹了一種基于單片機(jī)的超聲波測距系統(tǒng)的原理和設(shè)計(jì)。給出了硬件和軟件的設(shè)計(jì)方案。</p><p>  超聲波傳感器是本系統(tǒng)的核心器件,本論文詳細(xì)地介紹了超聲波傳感器的原理、結(jié)構(gòu)、檢測方式以及它的一些特性。只有深入地了解超聲波傳感器的工作原理,才能更好的設(shè)計(jì)測距電路。單片機(jī)是本系統(tǒng)的控制部分,采用Atmel 公司生產(chǎn)的AT89C51 芯片。通過對單片機(jī)產(chǎn)生的信號進(jìn)行放大,以驅(qū)動傳感器工作。接收電路采用的是CX2010

55、6A,通過接收電路對接收到的信號進(jìn)行放大和整形,最終再輸出負(fù)脈沖給單片機(jī)響應(yīng)中斷程序。本系統(tǒng)的LED 顯示部分采用的是動態(tài)掃描方式,并用單片機(jī)軟件譯碼。單片機(jī)內(nèi)部采用C 語言編程,信號的產(chǎn)生、時間差的讀取、距離的計(jì)算以及顯示輸出的譯碼都由單片機(jī)編程完成。</p><p>  本文實(shí)現(xiàn)了利用超聲波測距信息來實(shí)現(xiàn)移動機(jī)器人的順利避障行走,是因?yàn)槌暡y距儀信息處理簡單、速度快,但它也具有一定的局限性,主要表現(xiàn)在探測波

56、束角過大、方向性差、只能獲得目標(biāo)的距離信息,而不能準(zhǔn)確地提供目標(biāo)的邊界信息等,故需要對數(shù)據(jù)的融合算法進(jìn)行進(jìn)一步的研究,以消除它的缺陷。</p><p><b>  致謝</b></p><p>  首先感謝我的導(dǎo)師王紅梅老師,在老師的耐心指導(dǎo)和幫助下,我才能順利完成畢業(yè)設(shè)計(jì)。從整片論文完成的過程中,從其中學(xué)會了很多專業(yè)方面的知識。</p><p&g

57、t;  過這次畢業(yè)設(shè)計(jì),使我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實(shí)際的含義,并且檢驗(yàn)了大學(xué)四年的學(xué)習(xí)成果。雖然在這次設(shè)計(jì)中對于知識的運(yùn)用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這幾個個月的設(shè)計(jì)是對過去所學(xué)知識的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。</p><p>  也感謝在畢業(yè)設(shè)計(jì)中幫助過我的所有同學(xué)和師兄師姐們,感謝你們對我的支持。</p>

58、<p>  由于自身水平有限,設(shè)計(jì)中難免存在很多不足之處,敬請各位老師批評指正。</p><p><b>  參 考 文 獻(xiàn)</b></p><p>  劉鳳然,田紅芳,王侃.基于單片機(jī)的移動機(jī)器人自動避障控制系統(tǒng).中國儀器儀表,2001,3:27-29</p><p>  蔡美琴.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用.北京:高等教育

59、出版社,1999.4</p><p>  徐國華,譚敏.移動機(jī)器人的發(fā)展現(xiàn)狀及其趨勢.機(jī)器人技術(shù)與應(yīng)用,2001.3</p><p>  劉玉琴,劉敬文.超聲波測距儀在移動機(jī)器人避障中的應(yīng)用,2006.6</p><p>  劉曄,王峰,韋兆碧,等.超聲波測距儀的研究.計(jì)算機(jī)測量與控制,2002.10</p><p>  栗桂鳳,周東輝,王光

60、昕.基于超聲波傳感器的機(jī)器人壞境探測系統(tǒng).傳感器技術(shù),2005.2</p><p>  孟慶春,齊勇,張淑君等.智能機(jī)器人及其發(fā)展.中國海洋大學(xué)學(xué)報,2004,34(5):831-838</p><p>  羅本成等.機(jī)器人多路超聲波壞境探測器的研制.中國科學(xué)院研究生院學(xué)報,2002,19(2):172-176</p><p>  李茂山.超聲波測距原理及其實(shí)踐技術(shù)

61、.實(shí)用測試技術(shù),1994.1</p><p>  曾德懷,謝存禧等.行走機(jī)器人的超聲波測距系統(tǒng)的研究.機(jī)械科學(xué)與技術(shù),2004,23(5):613-616.</p><p>  王云濤,鮑青衫等.超聲波測距系統(tǒng)在移動智能機(jī)器人中的應(yīng)用.哈爾濱工業(yè)大學(xué)學(xué)報。1998,2,30(1):20-23</p><p>  張迎新等.單片機(jī)初級教程(單片機(jī)初級基礎(chǔ)).北京航空航

62、天大學(xué)</p><p>  華成英等.模擬電子技術(shù)基本教程.清華大學(xué)出版社</p><p>  莊曉東,孟慶春,殷波等.動態(tài)壞境中基于模糊概念的機(jī)器人路徑搜索方法.機(jī)器人,2001,23(5):397-399</p><p>  張汝波,周寧,顧國昌等.基于強(qiáng)化學(xué)習(xí)的智能機(jī)器人碰壁方法研究.機(jī)器人,1999,21(3):204-209</p><

63、p>  隋衛(wèi)平.高精度實(shí)時超聲波測距技術(shù)研究.國防科技大學(xué)碩士論文.2003.</p><p>  沙愛軍.基于單片機(jī)的超聲波測距系統(tǒng)的研究與設(shè)計(jì).北京:電子科技,2009(11)</p><p>  基于AT89C51超聲波測距控制系統(tǒng)設(shè)計(jì).李錄鋒: 中國礦業(yè)大學(xué),徐州 221116</p><p><b>  附 錄</b></

64、p><p><b>  附錄1</b></p><p>  超聲波測距電路原理圖</p><p>  超聲波測距電路原理圖</p><p><b>  附錄2</b></p><p>  RECEIVE0:PUSH PSW</p><p><b>

65、;  PUSH ACC</b></p><p>  CLR EX0 ;關(guān)外部中斷0</p><p>  MOV R7, TH0 ;讀取時間值</p><p>  MOV R6, TL0</p><p><b>  CLR C</b></p><p><b>  MOV A,

66、R6</b></p><p>  SUBB A, #0BBH;計(jì)算時間差</p><p>  MOV 31H, A ;存儲結(jié)果</p><p><b>  MOV A, R7</b></p><p>  SUBB A, #3CH</p><p>  MOV 30H, A</p&g

67、t;<p>  SETB EX0 ;開外部中斷0</p><p><b>  POP ACC</b></p><p><b>  POP PSW</b></p><p><b>  RETI</b></p><p><b>  附錄3</b>

68、</p><p>  receive1:push psw </p><p><b>  push acc </b></p><p>  clr ex1 ;關(guān)外部中斷1 </p><p>  jnb p1.1, right ;P1.1引腳為0,轉(zhuǎn)至右測距電路中斷服務(wù)程序</p><p>  jnb

69、p1.2, left ;P1.2引腳為0,轉(zhuǎn)至左測距電路中斷服務(wù)程序 </p><p>  return:SETB EX1;開外部中斷1 </p><p>  pop acc </p><p><b>  pop psw </b></p><p><b>  reti </b></p&g

70、t;<p>  right ;右測距電路中斷服務(wù)程序入口 </p><p>  ajmp return </p><p>  left;左測距電路中斷服務(wù)程序入口 </p><p>  Ajmp return </p><p><b>  附錄4</b></p><p>  #i

71、nclude <REG2051.H></p><p>  #define k1 P3_4#define csbout    P3_5                  //超聲波發(fā)送#define c

72、sbint    P3_7                  //超聲波接收#define csbc=0.034#define bg  P3_3 unsigned char csbds,opto,digit,buffer[3

73、],xm1,xm2,xm0,key,jpjs;//顯示標(biāo)識unsignedcharconvert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段碼unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1;bit cl;      void csbcj();void del

74、ay(j);                              //延時函數(shù)void scanLED();   

75、;                           //顯示函數(shù)void timeToBuffer();  </p><p>  

76、void main()                              //主函數(shù){     E

77、A=1;                                //開中斷    

78、;   TMOD=0x11;                   //設(shè)定時器0為計(jì)數(shù),設(shè)定時器1定時     ET0=1;      &

79、#160;                       //定時器0中斷允許      ET1=1;      

80、60;                       //定時器1中斷允許      TH0=0x00;     TL0=0x00;&#

81、160;    TH1=0x9E;     TL1=0x57;     csbds=0;     csbint=1;     csbout=1;     cl=0;   

82、;  ōpto=0xff;     jpjs=0;     sj1=45;     sj2=200;     sj3=400;     k4cl();     TR1=1;

83、60;                            whi</p><p>  void scanLED()   

84、                    //顯示功能模塊{    digit=0x04;    for( i=0; i<3; i++)   

85、0;    //3位數(shù)顯示    {        P3=~digit&opto;        //依次顯示各位數(shù)        P1=~buffer;&

86、#160;       //顯示數(shù)據(jù)送P1口        delay(20);              //延時處理    

87、0;   P1=0xff;             //P1口置高電平(關(guān)閉)        if((P3&0x10)==0)      //判斷3位是否顯示完

88、0;          key=0;        digit>>=1;             //循環(huán)右移1位  

89、60; }}</p><p>  void timeToBuffer()                //轉(zhuǎn)換段碼功能模塊{     xm0=s/100;     

90、     xm1=(s-100*xm0)/10;     xm2=s-100*xm0-10*xm1;     buffer[2]=convert[xm2];           buffer[1]=convert[xm1];

91、     buffer[0]=convert[xm0];}</p><p>  void delay(i)                      &

92、#160;       {    while(--i);}</p><p>  void timer1int (void)  interrupt 3  using 2 {     TH1=0x9E;     TL1

93、=0x57;     csbds++;     if(csbds>=40)     {           csbds=0;      

94、0;    cl=1;     }            }</p><p>  void csbcj(){     if(cl==1)    

95、{               TR1=0;           TH0=0x00;         &

96、#160; TL0=0x00;           i=10;           while(i--)           {&#

97、160;                csbout=!csbout;           }       

98、0;   TR0=1;                                 i=mqs;

99、0;                             //盲區(qū)       &#

100、160;   while(i--)           } }           i=0;          

101、; while(csbint)           {                 i++;      

102、60;          if(i>=2450)                  //上限值      

103、60;          csbint=0;           }  </p><p>  void keyscan()      

104、0;                 //健盤處理函數(shù){     xx=0;     if(k1!=1)       

105、60;                      // 判斷開關(guān)是否按下     {        

106、60;  delay(400);                        //延時去抖動        

107、0;  if(k1!=1)                              // 判斷開關(guān)是否按下  

108、0;              {                       while(!k1)&#

109、160;          {                 delay(30);         &#

110、160;             xx++;           }           if(xx>2000

111、)                       {              

112、0;  jpjs++;                 if(jpjs>4)               &#

113、160; jpjs=0;</p><p>  void k3cl(){sj3=sj3+10;if(sj3>500)sj3=100;s=sj3;}</p><p>  void k4cl(){sx1=sj1-1;sx1=sx1/csbc;mqs=sx1/4.5;}</p><p>  void offmsd()  

114、60;                                    &

115、#160;      </p><p><b>  {</b></p><p>  if (buffer[0] == 0x3f)                

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論