1 引言
在信息技術(shù)的飛速發(fā)展,計(jì)算機(jī),通訊、消費(fèi)電子三種技術(shù)合一的后PC的時(shí)代,雖然計(jì)算機(jī)和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個(gè)角落,但各種各樣的新型嵌入式接入設(shè)備已經(jīng)成為當(dāng)前的主流產(chǎn)品。任何一個(gè)普通人都可能擁有幾十種嵌入式技術(shù)的電子產(chǎn)品,小到手表、手機(jī)、mp3播放器、PDA等微型數(shù)字化產(chǎn)品,大到智能家電、網(wǎng)絡(luò)家電、車載電子設(shè)備等都離不開嵌入式技術(shù)。作為嵌入式技術(shù)的一個(gè)重要的研究分支——機(jī)器人技術(shù),目前在國(guó)內(nèi)外研究的如火如荼,各種各樣的工業(yè)機(jī)器人和服務(wù)機(jī)器人已經(jīng)開始應(yīng)用到人們的生產(chǎn)和生活當(dāng)中,使用機(jī)器人的優(yōu)勢(shì)已經(jīng)被人們廣泛認(rèn)可,并正在成為我們?nèi)粘9ぷ骱蜕畹囊徊糠?。本文利用AT89S52設(shè)計(jì)了一種嵌入式智能尋跡機(jī)器人,在傳感器、電機(jī)驅(qū)動(dòng)和軟件的控制下,能夠智能地完成迷宮行走路線探測(cè)的任務(wù),與傳統(tǒng)的遙控玩具車相比,具有一定的獨(dú)立性和智能性,是未來(lái)智能玩具車的一種雛形。
2 系統(tǒng)的硬件架構(gòu)和工作原理
嵌入式智能尋跡機(jī)器人的硬件架構(gòu)如圖1。以單片機(jī)AT89S52為核心,外圍由電機(jī)驅(qū)動(dòng)模塊、電機(jī)電源模塊、主板電源模塊、通訊模塊、回避障礙模塊以及在線編程模塊等組成。紅外光電傳感器通過(guò)主板的P8、P9、P10接口連接到AT89S52的P0.5、P0.6和P0.7端口,其中P0.5 = 0,表示前方有障礙;P0.6 = 0 ,表示左方有障礙; P0.7=0,表示右方有障礙。左右電機(jī)通過(guò)主板的P5接口,連接到主板電機(jī)驅(qū)動(dòng)模塊。
上電后,通過(guò)傳感器采集迷宮擋板的信號(hào)來(lái)控制端口P0的低五位,實(shí)現(xiàn)左右電機(jī)的正/反轉(zhuǎn),從而使機(jī)器人做左轉(zhuǎn)、右轉(zhuǎn)、直線前進(jìn)等動(dòng)作,完成在迷宮中從入口到出口的行進(jìn)過(guò)程。
3 系統(tǒng)接口電路設(shè)計(jì)
3.1 微控制器模塊
AT89S52是一個(gè)低功耗、高性能CMOS 8位單片機(jī),片內(nèi)有8KB ISP的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。
AT89S52有40個(gè)引腳,片內(nèi)有8KB Flash程序存儲(chǔ)器,256B的RAM,32個(gè)外部雙向輸入/輸出口,5個(gè)中斷優(yōu)先級(jí),2層中斷嵌套,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器等。
在開發(fā)過(guò)程中使用開發(fā)板,以方便程序的調(diào)試和整機(jī)的測(cè)試,待系統(tǒng)調(diào)試完成后,將單片機(jī)從開發(fā)板上取下,安裝在機(jī)器人系統(tǒng)板的單片機(jī)座中,由于設(shè)計(jì)中的機(jī)器人需要完成的任務(wù)比較簡(jiǎn)單,因此只在機(jī)器人系統(tǒng)板的單片機(jī)系統(tǒng)中保留了晶振和復(fù)位電路,取消了JTAG編程口等冗余電路。
3.2 傳感器模塊
光電傳感器的工作原理是傳感器紅外發(fā)射管發(fā)射出紅外光,接收管根據(jù)反射回來(lái)的紅外光強(qiáng)度大小來(lái)計(jì)數(shù)的,故被檢測(cè)的部件或物體表面必須有黑白相間的部位用于吸收和反射紅外光,這樣接收管才能處于有效的截止和飽和區(qū)以達(dá)到計(jì)數(shù)的目的。傳感器的檢測(cè)與調(diào)節(jié)電路如圖2所示。圖中的R3用于調(diào)節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接供單片機(jī)查詢使用,而且經(jīng)驗(yàn)證給此電路供電的電池壓降較小。紅外光電傳感器通過(guò)主板P8、P9、P10接口連接到AT89S52的P0.5、P0.6和P0.7端口。其中P0.5 = 0,表示前方有障礙;P0.6 = 0 ,表示左方有障礙; P0.7=0,表示右方有障礙。
3.3 直流電機(jī)驅(qū)動(dòng)電路與電源模塊
直流電機(jī)通過(guò)主板的P5接口連接到主板的驅(qū)動(dòng)模塊上。本文采用L298作為電機(jī)的驅(qū)動(dòng)芯片,L298的5、7、10、12四個(gè)引腳連接到單片機(jī)上,通過(guò)對(duì)單片機(jī)的編程就可以實(shí)現(xiàn)兩組直流電機(jī)的正反轉(zhuǎn)等功能。由于單片機(jī)的電壓在4.8V左右,故采用VFM升壓型電源芯片,為單片機(jī)及外圍電路提供5V左右的電壓。
4 軟件設(shè)計(jì)模塊
4.1 軟件開發(fā)環(huán)境與搜索算法
本文采用Keil U Version2 作為系統(tǒng)的開發(fā)環(huán)境,在程序設(shè)計(jì)中采用C語(yǔ)言和匯編語(yǔ)言混合編程。在軟件算法上,考慮到深度優(yōu)先搜索算法的時(shí)空效率和迷宮地形的復(fù)雜程度成正比,即迷宮越復(fù)雜,搜索出口的時(shí)間就越長(zhǎng)。本文采用了一種稱為左手(或右手)法則的迷宮路徑搜索策略,即在迷宮中一直沿著左側(cè)(或右側(cè))的墻尋找,就可以找到出口。
相對(duì)于深度優(yōu)先搜索法,左手(或右手)法則的空間占用與迷宮復(fù)雜程度無(wú)關(guān),機(jī)器人搜索路徑的選擇只與當(dāng)前結(jié)點(diǎn)有關(guān),不需要回溯。同時(shí),硬件的制造精度要求不高,不需要精確的控制機(jī)器人的移動(dòng)距離和移動(dòng)方向,方便了驅(qū)動(dòng)設(shè)計(jì)。為便于算法的實(shí)現(xiàn),本文設(shè)定了如下約束條件:
1.在算法中不管迷宮地形有多么復(fù)雜,均由直線、死路、丁字形、十字形、轉(zhuǎn)角形和終點(diǎn)七個(gè)基本地形構(gòu)成。
2.按分岔的多少將分岔口分為二岔口和三岔口(一般沒有四岔口),而將分岔口前面的岔路按從右到左的順序分別稱為第一岔路、第二岔路、第三岔路(十字型才有)。二岔路有三種不同的形式,第一種是前進(jìn)的路線右邊出現(xiàn)一條岔路(右邊的岔路稱為第一岔路、前方稱為第二岔路);第二種是在前進(jìn)的路線左邊出現(xiàn)一條岔路(前方稱為第一岔路、左邊的岔路稱為第二岔路);第三種是丁字路口(右邊的岔路稱為第一岔路、左邊的岔路稱為第二岔路)。對(duì)于這三種情況,算法對(duì)應(yīng)的程序由主程序、走直線子程序、左轉(zhuǎn)子程序、右轉(zhuǎn)子程序和校正子程序組成。主程序起到導(dǎo)向和決策的功能,決定機(jī)器人什么時(shí)候該做什么。機(jī)器人的其他功能通過(guò)調(diào)用具體的子程序來(lái)實(shí)現(xiàn)。
4.2 算法流程圖描述
本文所采用的迷宮搜索算法流程如圖3所示。接通電機(jī)和傳感器電源后,單片機(jī)在程序的控制下,根據(jù)傳感器檢測(cè)到的值,決定電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。當(dāng)P0.7=1時(shí),表示左方?jīng)]有障礙物,依據(jù)“右手”遍歷算法,機(jī)器人將調(diào)用右轉(zhuǎn)子程序;當(dāng)P0.7=0并且P0.5=0時(shí),機(jī)器人將調(diào)用左轉(zhuǎn)子程序;否則機(jī)器人直線前進(jìn),如此反復(fù)檢測(cè)并調(diào)整機(jī)器人的動(dòng)作,直至機(jī)器人走出迷宮為止。
5 結(jié)論及其創(chuàng)新點(diǎn)
本文對(duì)基于AT89S52的嵌入式智能尋跡機(jī)器人的硬件架構(gòu)進(jìn)行了探討,將左手(或右手)法則用于尋跡機(jī)器人行走路線搜索,重點(diǎn)討論了基于AT89S52的光電傳感器模塊、直流電機(jī)驅(qū)動(dòng)模塊、電源模塊等的電路實(shí)現(xiàn)技術(shù),經(jīng)過(guò)反復(fù)測(cè)試,機(jī)器人能夠在軟件的控制下,無(wú)需任何外界力量就可以智能地完成從迷宮入口走到出口的尋跡任務(wù)。創(chuàng)新點(diǎn)在于通過(guò)光電傳感器自動(dòng)感知障礙物,并利用軟件控制機(jī)器人左/右轉(zhuǎn)以及直線行走,對(duì)復(fù)雜路徑探測(cè)是一種嘗試,特別適合人無(wú)法到達(dá)的環(huán)境路徑探測(cè),系統(tǒng)成本低,可靠性高,反應(yīng)靈敏,對(duì)智能玩具的設(shè)計(jì)與開發(fā)也具有一定的參考價(jià)值。