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

圖1 系統(tǒng)結構
3 硬件結構與工作原理

圖2 硬件結構

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

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

圖5 程序流程

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