就網(wǎng)絡(luò)化移動(dòng)機(jī)器人的硬件實(shí)現(xiàn)方案作了分析,提出了一種基于GPRS網(wǎng)絡(luò)機(jī)器人實(shí)現(xiàn)的方法。該方法成本低,不受區(qū)域限制,利用移動(dòng)位置服務(wù),能對(duì)機(jī)器人實(shí)時(shí)定位,而且可以用短消息直接控制,最后結(jié)合單片機(jī)可編程外圍器件PSD813f2在本系統(tǒng)中的應(yīng)用。給出網(wǎng)絡(luò)化移動(dòng)機(jī)器人系統(tǒng)的具體實(shí)現(xiàn)。
1 引言
自互聯(lián)網(wǎng)問(wèn)世以來(lái),整個(gè)世界進(jìn)入了大眾化網(wǎng)絡(luò)時(shí)代。將互聯(lián)網(wǎng)與一直進(jìn)行的遠(yuǎn)程機(jī)器人如足球機(jī)器人、遙操作機(jī)器人等的研究相結(jié)合,可以開拓機(jī)器人與網(wǎng)絡(luò)應(yīng)用的新領(lǐng)域。當(dāng)前機(jī)器人技術(shù)的發(fā)展重點(diǎn)有:實(shí)用化、高速化技術(shù)、小型微型和輕量化技術(shù)、高精度化技術(shù)、可靠性技術(shù)、計(jì)算機(jī)控制技術(shù)、網(wǎng)絡(luò)化技術(shù)、視覺和觸覺傳感器技術(shù)等。
目前國(guó)內(nèi)已經(jīng)有不少機(jī)器人控制領(lǐng)域的學(xué)者介入Intenet的應(yīng)用研究,而網(wǎng)絡(luò)技術(shù)則以新的分布計(jì)算和大眾化技術(shù)為代表。以無(wú)線以太網(wǎng)為媒介的網(wǎng)絡(luò)化機(jī)器人,結(jié)構(gòu)復(fù)雜,其價(jià)格也比較昂貴,使得網(wǎng)絡(luò)機(jī)器人只能在實(shí)驗(yàn)室進(jìn)行研究,很少能進(jìn)入普通百姓家庭,而且它受區(qū)域的限制,只能夠在無(wú)線局域網(wǎng)覆蓋的區(qū)域工作,一般用于室內(nèi)工作。在國(guó)內(nèi)網(wǎng)絡(luò)移動(dòng)機(jī)器人的研究主要集中在科研實(shí)驗(yàn)方面,很難適應(yīng)大眾化的要求,而在日本已出現(xiàn)可以通過(guò)因特網(wǎng)操控的網(wǎng)絡(luò)機(jī)器人,如一種叫"BN-8(暫定名)”網(wǎng)絡(luò)機(jī)器人。價(jià)格僅有2~3萬(wàn)日元之間(約合人民幣1250~1875元)。
無(wú)論是在室內(nèi)還是在戶外,機(jī)器人定位問(wèn)題依然是研究的熱點(diǎn)和難點(diǎn),常用方法是在機(jī)器人上安裝GPS接收機(jī),接收機(jī)把接收的信息給機(jī)器人,機(jī)器人經(jīng)過(guò)復(fù)雜的運(yùn)算,定出機(jī)器人的位置,成本很高。機(jī)器人針對(duì)上述這些問(wèn)題,本文設(shè)計(jì)一種基于GPRS的網(wǎng)絡(luò)移動(dòng)機(jī)器人,它給網(wǎng)絡(luò)移動(dòng)機(jī)器人的設(shè)計(jì)開辟新的思路和方法,文中詳細(xì)論述了本系統(tǒng)的網(wǎng)絡(luò)功能設(shè)計(jì)與實(shí)現(xiàn)。
2 系統(tǒng)結(jié)構(gòu)
基于GPRS網(wǎng)絡(luò)移動(dòng)機(jī)器人的系統(tǒng)結(jié)構(gòu)如圖1。本文采用Client/Server體系結(jié)構(gòu),對(duì)機(jī)器人進(jìn)行網(wǎng)絡(luò)控制。首先由客戶機(jī)登陸機(jī)器人網(wǎng)絡(luò)服務(wù)器,選擇機(jī)器人控制模式短消息/在線聯(lián)網(wǎng),發(fā)送控制命令幀。機(jī)器人服務(wù)器上裝有短消息發(fā)送模塊,可以接收發(fā)送短消息,它對(duì)接收到的命令進(jìn)行分析解釋,通過(guò)手機(jī)移動(dòng)定位服務(wù)獲取機(jī)器人位置信息,發(fā)送控制命令幀或者短消息給網(wǎng)絡(luò)機(jī)器人。機(jī)器人平時(shí)處于短消息狀態(tài),如果沒有新的短消息,機(jī)器人進(jìn)入休眠狀態(tài)。在接到進(jìn)入在線聯(lián)網(wǎng)模式的命令時(shí),機(jī)器入主動(dòng)撥號(hào)上網(wǎng)與機(jī)器人服務(wù)器建立網(wǎng)絡(luò)連接。這樣客戶機(jī)就可以對(duì)機(jī)器人實(shí)時(shí)控制。機(jī)器人根據(jù)機(jī)器人服務(wù)器的命令完成各項(xiàng)任務(wù)。用戶也可以用手機(jī),先通過(guò)手機(jī)移動(dòng)定位服務(wù)獲取機(jī)器人位置信息,再發(fā)送短消息給機(jī)器人,對(duì)機(jī)器人進(jìn)行控制,它可以實(shí)現(xiàn)網(wǎng)絡(luò)機(jī)器人的離線編程控制的功能。這樣用戶可以在不需要任何特殊的設(shè)備條件下,讓機(jī)器人完成一些簡(jiǎn)單的任務(wù)。

圖1 系統(tǒng)結(jié)構(gòu)
3 硬件結(jié)構(gòu)與工作原理

圖2 硬件結(jié)構(gòu)

圖3 工作流程
整個(gè)網(wǎng)絡(luò)移動(dòng)機(jī)器人分為七部分:傳感器、通信控制接口、控制器MCU、可編程通用外圍接口芯片PSD,驅(qū)動(dòng)電路、電源、時(shí)鐘及外圍電路。網(wǎng)絡(luò)移動(dòng)機(jī)器人的硬件結(jié)構(gòu)圖如圖2。
由于80196外圍接口資源豐富,適合用于電機(jī)控制,選用它作為MCU。WSI公司的可編程單片機(jī)通用外圍接口芯片(PSD)可將單片機(jī)所需的多個(gè)外圍器件集成在一個(gè)芯片中,并能與單片機(jī)實(shí)現(xiàn)所謂無(wú)縫連接(no glue),大大簡(jiǎn)化了設(shè)計(jì)、節(jié)省了資源,并且顯著地提高了系統(tǒng)的可靠性。目前在稅控加油機(jī)、出租車計(jì)價(jià)器、POS機(jī)、IC卡電話等各類收費(fèi)系統(tǒng)、工業(yè)控制、儀器儀表、GPS車載臺(tái)以及通信領(lǐng)域如ISDN、SDH、DWDM、PABX、VolP等有著廣泛應(yīng)用。此外PSD還可以實(shí)現(xiàn)網(wǎng)絡(luò)機(jī)器人在線編程,由于采用分頁(yè)機(jī)制,可以克服MCU數(shù)據(jù)和程序空間只有64K的限制。通信和PSD是網(wǎng)絡(luò)機(jī)器人實(shí)現(xiàn)的核心部分,關(guān)系到整個(gè)系統(tǒng)能否正常工作。網(wǎng)絡(luò)機(jī)器人的通信方式采用半雙工方式。平時(shí)工作時(shí)機(jī)器人在短消息休眠狀態(tài),當(dāng)接收到短消息時(shí),機(jī)器人根據(jù)短消息對(duì)機(jī)器人狀態(tài)進(jìn)行設(shè)置,如果是在線聯(lián)網(wǎng)模式就撥號(hào)上網(wǎng),實(shí)現(xiàn)網(wǎng)絡(luò)控制功能。如果不是就根據(jù)短消息執(zhí)行相應(yīng)的命令,在線聯(lián)網(wǎng)一段時(shí)間沒有數(shù)據(jù)流量,機(jī)器人又切換到短消息模式處于短消息休眠狀態(tài)。網(wǎng)絡(luò)移動(dòng)機(jī)器人的工作流程圖如圖3。
4 通信控制
利用單片機(jī)實(shí)現(xiàn)嵌入式WebServer有多種方法,但對(duì)于移動(dòng)機(jī)器人,由于它自身的特點(diǎn),只能采用無(wú)線接入或者藍(lán)牙技術(shù),其中無(wú)線局域網(wǎng)被廣泛應(yīng)用到網(wǎng)絡(luò)移動(dòng)機(jī)器人領(lǐng)域,但是對(duì)大眾應(yīng)用的網(wǎng)絡(luò)機(jī)器人,這種方法接入比較復(fù)雜。用無(wú)線手機(jī)撥號(hào)上網(wǎng)是一個(gè)很好的選擇,無(wú)線撥號(hào)可以用GSM、GPRS、CDMA方式,其中GPRS根據(jù)數(shù)據(jù)流量收費(fèi),具有“實(shí)時(shí)在線”、“按量計(jì)費(fèi)”、“快捷登錄”、“高速傳輸”、“自如切換”的特點(diǎn),本文采用第二種的方法,利用專用的TCP/IP e5112處理芯片,它完成TCP/IP的協(xié)議轉(zhuǎn)換,這樣可大大減輕程序開發(fā)的負(fù)擔(dān)。e5112外部集成32KRAM,其上網(wǎng)速度可調(diào)節(jié),當(dāng)外部晶振選用22.1184M,最大達(dá)到115.2K。E5112提供兩路通道:非透明通道及透明通道,透明通道不對(duì)數(shù)據(jù)進(jìn)行任何處理,直接收發(fā)數(shù)據(jù),非透明通道先對(duì)數(shù)據(jù)進(jìn)行處理再發(fā)送。E5112支持的無(wú)線發(fā)射模塊有WAVECOM、SEIMENS、MOTOROLA的產(chǎn)品。本文采用WAVECOM2403它支持GPRS通信,由于80196只有一個(gè)串口,機(jī)器人進(jìn)行參數(shù)設(shè)置必須占用一個(gè)串口,本文用16C550擴(kuò)展異步串行通信,用于與E5112的串口通信。16C550與8250兼容,但自帶了14字節(jié)的FIFO,能夠有效減少通信中斷次數(shù),提高通信速度。GPRS網(wǎng)絡(luò)通信數(shù)據(jù)流如圖4。
機(jī)器人可以在兩種模式下于服務(wù)器進(jìn)行通信。短消息和TCP/IP網(wǎng)路模式。
e5112短消息連接步驟如下:
(1)設(shè)置無(wú)線MODEM端串口波特率;
(2)設(shè)置機(jī)器人端串口波特率;
(3)設(shè)置短消息中心號(hào)碼;
(4)進(jìn)入透明命令傳輸模式;
(5)讀/寫短消息。
e5112設(shè)置網(wǎng)絡(luò)連接步驟如下:
(1)設(shè)置MODEM端串口波特率;
(2)設(shè)置機(jī)器人端串口波特率;
(3)進(jìn)入透明命令傳輸模式;
(4)設(shè)置模式為“B”模式;
(5)定義協(xié)議以及接入點(diǎn)名稱(APN);
(6)進(jìn)入非透明命令傳輸模式;

圖4 通信數(shù)據(jù)流

圖5 程序流程

圖6 短消息模塊流程
(7)撥號(hào)設(shè)置;
(8)撥號(hào);
(9)SOCKET設(shè)置;
(10)建立TCP連接。
每一步設(shè)置,e5112都將有應(yīng)答,如果應(yīng)答正確,則進(jìn)入下一步設(shè)置,否則從第一步開始重新設(shè)置。
5 PSD配置
考慮到網(wǎng)絡(luò)機(jī)器人系統(tǒng)比較復(fù)雜,本文選用了PSD813F2,它有1M位Flash主存儲(chǔ)器,第二塊256K位E2PROM存儲(chǔ)器,16K位SRAM,復(fù)雜的可編程邏輯陣列CPLD,擴(kuò)展I/O口及JTAG接口等功能模塊程序完成后,用PSDSOFTEXPRESS對(duì)PSD813f2進(jìn)行配置,將配置與程序融合后下載到PSD中。
由于本設(shè)計(jì)只用48K程序空間,不需分頁(yè)。程序數(shù)據(jù)空間分配如下:
0000H-00FFH MCU內(nèi)部RAM區(qū)
0100H-08FFH PSD內(nèi)部RAM區(qū)
0900H-09FFH PSD內(nèi)部CSIOP區(qū)
0A00H-1FFFH 外設(shè)RAM區(qū)
//時(shí)鐘芯片、16C550等的外設(shè)RAM區(qū)
2800H—FFFFH 閃速存儲(chǔ)器
由于閃速存儲(chǔ)器分成8個(gè)16KB的區(qū)段,本文只用1-4區(qū)段,具體定義如下:
fs0:0000H-3FFFH
fsl:4000H-7FFFH
fs2:8000H-BFFFH
fs3:C000H-FFFFH
雖然fs0包含其它RAM區(qū),但是它們之間有層次關(guān)系。由于SRAM、I/O、以及外設(shè)I/O的優(yōu)先級(jí)最高,E2pROM其次,閃速存儲(chǔ)器最低,在閃速存儲(chǔ)器定義后,那些RAM區(qū)依然保持原來(lái)區(qū)段功能。
PSD配置時(shí)要注意以下幾點(diǎn):
第一:內(nèi)存映射時(shí)CSIOP要占用256個(gè)字節(jié)的空間,在數(shù)據(jù)存儲(chǔ)空間中不能和其它同級(jí)地址相重疊。對(duì)于80196在使用8位數(shù)據(jù)總線的時(shí)侯,內(nèi)存映射要根據(jù)實(shí)際需要決定,注意CSIOP地址不能與80196的寄存器沖突重疊。
第二:用作地址鎖存的引腳,及用作片選,I/O模式的引腳除了在PSDsoft EXPRESS中定義外,還要在程序中進(jìn)行初始化,每個(gè)端口有一組用于配置的寄存器,微控制器可以正常讀取其內(nèi)容,寄存器的地址由基地址加CSIOP的偏移地址組成。
6 編程實(shí)現(xiàn)
由于系統(tǒng)比較復(fù)雜,本文采用C96編程。程序初始化完成后,開中斷,然后進(jìn)入中斷循環(huán)。程序包含有用于GPRS通信串口中斷、參數(shù)設(shè)置串口中斷、時(shí)鐘中斷等處理程序,程序流程如圖5。
在任務(wù)處理循環(huán)中,有短消息和在線聯(lián)網(wǎng)通信模塊,它們之間的相互切換如圖3,其工作流程比較相似,在互聯(lián)網(wǎng)模式中,數(shù)據(jù)在機(jī)器人通信協(xié)議的基礎(chǔ)上,再進(jìn)行e5112協(xié)議的打/解包,圖6是短消息模塊流程。
程序設(shè)計(jì)中值得注意的幾點(diǎn):
第一:對(duì)GPRS串口中斷初始化,主要對(duì)16C550的寄存器進(jìn)行設(shè)置,每個(gè)寄存器設(shè)置以后,經(jīng)過(guò)一個(gè)延遲,以保證芯片正常工作,如以下代碼。
void initial_GPRS232()
第二:為了避免GPRS串口通信中斷處理太多任務(wù),導(dǎo)致中斷嵌套,在GPRS串口中斷處理過(guò)程中不對(duì)數(shù)據(jù)進(jìn)行處理,而放在中斷外(任務(wù)中)處理,但是這也可能導(dǎo)致通信數(shù)據(jù)的丟失,為此,開設(shè)一個(gè)較大的環(huán)形緩沖池,在中斷中只將數(shù)據(jù)放到環(huán)形緩沖池中。
第三:運(yùn)行中需要對(duì)部分器件如時(shí)鐘、16C550進(jìn)行監(jiān)控,保證其正常工作。當(dāng)由于外界干擾,器件不能工作時(shí),需對(duì)其寄存器重新初始化。
7 結(jié)束語(yǔ)
本文從實(shí)際應(yīng)用出發(fā),提出了基于GPRS的網(wǎng)絡(luò)機(jī)器人的設(shè)計(jì)方案,并給出了具體實(shí)現(xiàn)方法。該方案設(shè)計(jì)簡(jiǎn)單,有多種控制途徑,克服了以無(wú)線局域網(wǎng)為媒介接入方法的區(qū)域限制,并能夠利用移動(dòng)定位服務(wù)對(duì)機(jī)器人定位,適合用于普及大眾化的網(wǎng)絡(luò)移動(dòng)機(jī)器人的場(chǎng)所。但也有不足之處,如機(jī)器人的處理速度、定位精度、系統(tǒng)的穩(wěn)定性。如果采用高速處理DSP芯片、或者高檔的嵌入式32位單片機(jī),如Ti2407、ARM7,采用嵌入式操作系統(tǒng),如uc/os、uclinux、vxwork、wince,用定位精度更高的手機(jī)模塊。系統(tǒng)整體性能將會(huì)有更好、更穩(wěn)定。
移動(dòng)通信和互聯(lián)網(wǎng)是當(dāng)今信息產(chǎn)業(yè)發(fā)展的兩個(gè)熱點(diǎn),這兩者融合而產(chǎn)生的移動(dòng)無(wú)線互聯(lián)網(wǎng)及其應(yīng)用,為信息產(chǎn)業(yè)發(fā)展帶來(lái)巨大商機(jī),它必將出推動(dòng)大眾化網(wǎng)絡(luò)移動(dòng)機(jī)器人的進(jìn)一步發(fā)展。隨著機(jī)器人技術(shù)的發(fā)展和完善,高速寬帶和高速網(wǎng)絡(luò)的普及和推廣,通信技術(shù)的普及應(yīng)用,具有較高智能網(wǎng)絡(luò)移動(dòng)機(jī)器人,必將走入普通百姓家庭,給人民的生活帶來(lái)便利和樂(lè)趣。