引言
目前,機(jī)器人足球比賽系統(tǒng)主要有3種控制方式:第1種稱為遠(yuǎn)程遙控?zé)o智能機(jī)器人足球比賽系統(tǒng),主機(jī)通過(guò)無(wú)線方式遙控機(jī)器人;第2種稱為基于視覺(jué)的機(jī)器人足球比賽系統(tǒng),主機(jī)通過(guò)處理由攝像機(jī)獲取的信息來(lái)控制機(jī)器人;第3種稱為基于機(jī)器人的機(jī)器人足球比賽系統(tǒng),此系統(tǒng)無(wú)需主機(jī)的控制,每個(gè)機(jī)器人通過(guò)自身的傳感器獲取信息并作出判斷。
基于視覺(jué)的足球機(jī)器人系統(tǒng)作為實(shí)驗(yàn)平臺(tái),其實(shí)現(xiàn)難度適中,而且利于模糊推理、神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)等人工智能領(lǐng)域的研究。從設(shè)備上看,基于視覺(jué)的機(jī)器人足球比賽系統(tǒng)包括小車(chē)、攝像裝置、計(jì)算機(jī)和無(wú)線收發(fā)裝置;從功能上看,基于視覺(jué)的足球機(jī)器人比賽系統(tǒng)由視覺(jué)子系統(tǒng)、決策子系統(tǒng)、通信子系統(tǒng)和機(jī)器人子系統(tǒng)等四個(gè)部分以閉環(huán)系統(tǒng)形式構(gòu)成?;谝曈X(jué)的機(jī)器人足球比賽系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
系統(tǒng)硬件設(shè)計(jì)
通信子系統(tǒng)是機(jī)器人足球比賽系統(tǒng)中一個(gè)重要組成部分,其通信性能好壞,將嚴(yán)重影響機(jī)器人的運(yùn)動(dòng)和比賽的順利進(jìn)行。如果在通信過(guò)程中有誤差,它將導(dǎo)致機(jī)器人小車(chē)錯(cuò)誤的動(dòng)作,失去運(yùn)動(dòng)目標(biāo)。一般來(lái)說(shuō),對(duì)通信子系統(tǒng)的要求是:通信頻率可選,硬件電路結(jié)構(gòu)緊湊,通信速率高和性能穩(wěn)定可靠。為了便于機(jī)器人小車(chē)的活動(dòng),通信子系統(tǒng)一般采用無(wú)線通信方式。
根據(jù)對(duì)通信子系統(tǒng)的設(shè)計(jì)要求,我們采用微控制器(俗稱單片機(jī))AT89C2051作為無(wú)線通信子系統(tǒng)的控制核心,并選用基于藍(lán)牙核心技術(shù)的無(wú)線通信芯片nRF401,通信子系統(tǒng)結(jié)構(gòu)框圖如圖2所示。機(jī)器人小車(chē)的控制命令由PC機(jī)發(fā)出,PC機(jī)的RS232串口連接到圖2所示的無(wú)線通信子系統(tǒng)的輸入端,控制命令經(jīng)AT89C2051處理后,通過(guò)芯片nRF401以無(wú)線的方式發(fā)送給機(jī)器人小車(chē)。
AT89C2051芯片簡(jiǎn)介
微控制器采用美國(guó)Atmel公司的AT89C2051芯片。它的指令系統(tǒng)與MCS-51產(chǎn)品兼容,具有2K字節(jié)可重編程閃速存儲(chǔ)器,128 8位內(nèi)部RAM,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,六個(gè)中斷源,編程串行UART通道,15根可 編程I/O引線。在無(wú)線通信子系統(tǒng)中,AT89C2051完成接收PC機(jī)從RS232串口送來(lái)的機(jī)器人小車(chē)控制指令,并將控制指令經(jīng)無(wú)線通信芯片nRF401送給機(jī)器人小車(chē)子系統(tǒng)。
nRF401芯片介紹
nRF401[3]是由挪威Nordic VLSI ASA公司推出的集收、發(fā)于一體的無(wú)線通信芯片,在一個(gè)20管腳芯片內(nèi)集成了高頻發(fā)射、高頻接收、FSK調(diào)制與解調(diào)、PLL鎖相環(huán)、放大器等單元電路。工作于433MHz ISM頻段,采用FSK調(diào)制與解調(diào)技術(shù),數(shù)據(jù)通信速率高達(dá)20kb/s,最大傳輸功率為+10dBM,并可以調(diào)整傳輸功率,差分式天線接口,非常適合做成PCB天線,以節(jié)約成本。
n RF401的內(nèi)部結(jié)構(gòu)如圖3所示。nRF401的配置電路圖如圖4所示。
無(wú)線通信子系統(tǒng)電路原理圖
無(wú)線通信子系統(tǒng)電路原理圖如圖5所示。CPU選用AT89C2051,它既接收來(lái)自上位機(jī)(PC機(jī))的數(shù)據(jù),同時(shí)又將從PC機(jī)接收的數(shù)據(jù)通過(guò)nRF401以廣播形式發(fā)送給每個(gè)機(jī)器人小車(chē)子系統(tǒng),每個(gè)機(jī)器人小車(chē)子系統(tǒng)根據(jù)設(shè)定的識(shí)別碼,從接收緩沖區(qū)取出左右輪速度值,從而控制機(jī)器人小車(chē)的運(yùn)動(dòng)。
AT89C2051微控制器的RXD/p3.0口與電平轉(zhuǎn)換芯片MAX232相連,MAX232通過(guò)DB_9/male插頭與PC機(jī)的RS232串口相接,用以接收PC機(jī)發(fā)送過(guò)來(lái)的命令控制字。AT89C2051微控制器的TXD/p3.1口與nRF401的DOUT/pin9腳相接,結(jié)合其他的控制引腳,AT89C2051控制nRF401的無(wú)線發(fā)射過(guò)程,用來(lái)完成將命令控制字經(jīng)nRF401實(shí)現(xiàn)無(wú)線傳輸給機(jī)器人小車(chē)。AT89C2051微控制器的P1.0、P1.1、P1.2分別與nRF401的CS、PWR_UP、TXEN相連接。
基于ERTOS的系統(tǒng)軟件設(shè)計(jì)
通信格式
nRF401可以使用全雙工模式,因此,機(jī)器人小車(chē)子系統(tǒng)不但可以接收主機(jī)發(fā)出的命令,而且可以向主機(jī)發(fā)出信息,甚至可以實(shí)現(xiàn)機(jī)器人小車(chē)子系統(tǒng)之間的通信。但是當(dāng)信息量過(guò)大時(shí),有可能發(fā)生通信死鎖,所以應(yīng)考慮通信協(xié)議的設(shè)計(jì)。為確保通信的順暢,我們 只允許主機(jī)向機(jī)器人發(fā)送命令,而禁止其他形式的通信。命令控制字的具體格式如下:
其中Si(i=1,2,3,。。.),為i號(hào)機(jī)器人小車(chē)標(biāo)識(shí);
Li(i=1,2,3,。。.),為i號(hào)機(jī)器人小車(chē)左輪速度;
Ri(i=1,2,3,。。.),為i號(hào)機(jī)器人小車(chē)右輪速度。
PC機(jī)發(fā)給每個(gè)機(jī)器人小車(chē)的控制命令字包括3個(gè)字節(jié),第1字節(jié)是小車(chē)標(biāo)號(hào),第2字節(jié)是該小車(chē)左輪速度,第3字節(jié)是該小車(chē)右輪速度。一次性將所有機(jī)器人小車(chē)的控制命令打包發(fā)送。每個(gè)小車(chē)都能接收到PC機(jī)發(fā)送的每1條指令,機(jī)器人小車(chē)子系統(tǒng)上的通信專用MCU對(duì)標(biāo)識(shí)信號(hào)進(jìn)行比較,相符則隨后數(shù)據(jù)有效,否則不予接收。
軟件設(shè)計(jì)
為 了能夠?qū)崟r(shí)地完成無(wú)線通信的目的,系統(tǒng)的軟件我們用C51語(yǔ)言編寫(xiě),并采用 Keil Vision2 6.20集成開(kāi)發(fā)環(huán)境中的RTX51 Tiny實(shí)時(shí)操作系統(tǒng)來(lái)完成無(wú)通信子系統(tǒng)中微控制器AT89C2051的軟件設(shè)計(jì)。RTX51 Tiny實(shí)時(shí)操作系統(tǒng)是德國(guó)Keil公司開(kāi)發(fā)的一種應(yīng)用于MCS-51系列單片機(jī)功能強(qiáng)大的、可用于目前世界上由Intel 8051標(biāo)準(zhǔn)內(nèi)核派生出的很多種增強(qiáng)型微控制器的實(shí)時(shí)操作 系統(tǒng)。
RTX51 Tiny短小精悍,只占用900字節(jié)ROM、7字節(jié)DATA型及3倍于任務(wù)數(shù)量的IDATA型RAM空間,可以很容易地運(yùn)行在沒(méi)有擴(kuò)展外部存儲(chǔ)器的單片機(jī)系統(tǒng)上。使用RTX51 Tiny的用戶程序可以訪問(wèn)外部存儲(chǔ)器,允許循環(huán)任務(wù)切換,并且支持信號(hào)傳遞和事件驅(qū)動(dòng),還能并行地利用中斷功能。RTX51 Tiny允許“準(zhǔn)并行”地同時(shí)執(zhí)行16個(gè)任務(wù)。
根 據(jù)對(duì)無(wú)通信子系統(tǒng)功能的分析,我們把軟件分解為三個(gè)任務(wù),各任務(wù)之間的運(yùn)行關(guān)系如圖6所示。這三個(gè)任務(wù)的具體情況如下。
任務(wù)0:系統(tǒng)初始化,如設(shè)置MCU的串行口工作在方式1,并設(shè)置波特率為9600bps。在啟動(dòng)任務(wù)1和任務(wù)2后自動(dòng)刪除任務(wù)0,使得任務(wù)0只在系統(tǒng)復(fù)位時(shí)執(zhí)行一次。
任務(wù)1:接收PC機(jī)的命令控制字。若接收到了命令控制字則向任務(wù)2發(fā)送觸發(fā)信號(hào)。
任 務(wù)2:等待觸發(fā)信號(hào),若SIGNAL被置 位,則控制nRF401并將命令控制字傳送給nRF401,完成無(wú)線發(fā)射。
結(jié)束語(yǔ)
人 類對(duì)機(jī)器人的研究已走過(guò)了漫長(zhǎng)的歷程。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)機(jī)器人的要求也隨之越來(lái)越高而現(xiàn)實(shí)。在機(jī)器人足球比賽系統(tǒng)的開(kāi)發(fā)過(guò)程中,不僅需要機(jī)器人學(xué)、通信與計(jì)算機(jī)技術(shù)等,而且還需要圖像處理、智能控制等學(xué)科內(nèi)容。 本 文主要敘述了機(jī)器人足球比賽通信子系統(tǒng)的硬件、軟件設(shè)計(jì)。采用AT89C2051和nRF401所設(shè)計(jì)的通信子系統(tǒng),電路核心芯片少,外圍電路簡(jiǎn)單,體積小巧,成本低,其無(wú)線數(shù)字通信距離及其通信的可靠性均能滿足機(jī)器人足球比賽系統(tǒng)的要求,從實(shí)際使用情況來(lái)看,使用效果 相當(dāng)好。
編輯:jq
用戶評(píng)論
共 0 條評(píng)論