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

圖1 系統結構
3 硬件結構與工作原理

圖2 硬件結構

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

圖4 通信數據流

圖5 程序流程

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