摘要:ZigBee是一種新興的短距離、低數(shù)據(jù)傳輸速率、低功耗、低復(fù)雜度、低成本的無線網(wǎng)絡(luò)通信技術(shù)。本文應(yīng)用ZigBee技術(shù)設(shè)計了一個適用于足球機(jī)器人系統(tǒng)的無線通信系統(tǒng),并通過實驗驗證了設(shè)計的可行性。
關(guān)鍵詞:ZigBee;足球機(jī)器人;無線通信系統(tǒng)
中圖分類號: TH128文獻(xiàn)標(biāo)識碼: A 文章編號:1009-3044(2008)31-0935-03
F180 Robots Communication System Design Based on ZigBee Technology
LIU Xin,LING Ming
(College of Integrate Circuit,SouthEast University,NanJing 210013,China)
Abstract: ZigBee is a new type of wireless network communication technology which has the characteristic of short distance,low data rate,low power consumption,low complexity and low cost.This paper applies the technology to design a suitable communication system for a soccer robots system and finally to prove this design is working well.
Key words: ZigBee;soccer robots;wireless communication system
1 引言
F180即小型足球機(jī)器人,是Robocup活動的一部分。它的研究重點是依靠集成中央處理系統(tǒng)使多智能體在動態(tài)環(huán)境中自主協(xié)調(diào)控制。機(jī)器人球隊在硬件上包括一個PC機(jī)決策端,和5臺機(jī)器人終端。整個系統(tǒng)由視覺、決策、無線通訊和機(jī)器人車體四個子系統(tǒng)組成。建立一支好的球隊需要精巧的設(shè)計、整合硬件及軟件系統(tǒng)使之具有強(qiáng)大的功能。
無線通信系統(tǒng)是銜接PC主機(jī)決策系統(tǒng)和底層機(jī)器人終端不可缺少的一環(huán),它必須保證從主機(jī)端到機(jī)器人底層之間的數(shù)據(jù)傳送是可靠的,從而使得機(jī)器人能夠順利流暢進(jìn)行。由于比賽雙方都有多個機(jī)器人同時在場地上跑動,要求無線通信有一定的抗干擾性。無線通信系統(tǒng)的性能相當(dāng)程度上直接影響著機(jī)器人的場上表現(xiàn)。本文通過ZigBee技術(shù)設(shè)計了一個基于點對點的無線通信系統(tǒng),通過本系統(tǒng)實現(xiàn)了F180足球機(jī)器人系統(tǒng)的上位機(jī)與下位終端機(jī)之間的通信。
2 ZigBee技術(shù)簡述
Zigbee是一種介于無線標(biāo)記技術(shù)和藍(lán)牙之間的技術(shù)提案。ZigBee協(xié)議由Zigbee聯(lián)盟制定,在IEEE802.15.4標(biāo)準(zhǔn)的基礎(chǔ)上制定了網(wǎng)絡(luò)層、應(yīng)用層以及安全層,是一個完整的標(biāo)準(zhǔn)協(xié)議。ZigBee技術(shù)的應(yīng)用定位是低速率、復(fù)雜網(wǎng)絡(luò)、低功耗和低成本應(yīng)用,主要應(yīng)用領(lǐng)域包括無線數(shù)據(jù)采集、無線工業(yè)控制、消費性電子設(shè)備、汽車自動化、家庭和樓宇自動化、醫(yī)用設(shè)備控制、遠(yuǎn)程網(wǎng)絡(luò)控制等場合。
2.1 ZigBee協(xié)議棧結(jié)構(gòu)
ZigBee協(xié)議棧的結(jié)構(gòu)如圖1所示,Zigbee 協(xié)議棧的物理層(PHY,Physical Layer)和媒體接入控制層(MAC,Medium Access Control)采用了IEEE 802.15.4 標(biāo)準(zhǔn),Zigbee 聯(lián)盟在此基礎(chǔ)上定義了網(wǎng)絡(luò)層(NWK,Network Layer)和應(yīng)用層(APP,Application Layer)。其中應(yīng)用層又分為應(yīng)用支持子層(APS,Application Support Sublayer)、Zigbee 設(shè)備對象子層(ZDO,ZigBee Device Object)和應(yīng)用框架子層(AF,Application Framework)三個子層。
2.2 ZigBee的優(yōu)點
1) 功耗低,對有設(shè)計緊湊的F180機(jī)器人終端來說,較低的通信功耗意味著更長的機(jī)器人運行時間。
2) 協(xié)議棧結(jié)構(gòu)簡單,有利于減少程序編寫的復(fù)雜度。
3) 有較高的可靠性與安全性。
3 通信系統(tǒng)的設(shè)計
3.1 無線收發(fā)模塊的選取
在F180的機(jī)器人無線通信系統(tǒng)設(shè)計中,選用了蘇州博聯(lián)公司的BLZ1000無線收發(fā)模塊,該模塊兼容IEEE 802.15.4協(xié)議與ZigBee協(xié)議。可以提供最高38400bps的無線數(shù)據(jù)傳輸速率。模塊同時提供了串口與RS-485接口進(jìn)行數(shù)據(jù)通信。
3.2 機(jī)器人終端與無線模塊接口的設(shè)計
機(jī)器人終端的串口與無線模塊的接口用TTL電平直連,同時由于BLZ1000模塊無法動態(tài)的分配網(wǎng)絡(luò)地址,所以在通信模塊的軟件沒有完全按照ZigBee協(xié)議設(shè)計,機(jī)器人終端的尋址采用了兩次尋址的方式,而二次尋址的地址的設(shè)置通過機(jī)器人主控板上的撥碼開關(guān)人工設(shè)定,并在機(jī)器上電初始化后傳送給通信模塊。
3.3 通信協(xié)議的設(shè)計
根據(jù)F180系統(tǒng)的具體應(yīng)用,在基于ZigBee協(xié)議的基礎(chǔ)上設(shè)計了傳輸數(shù)據(jù)幀格式,數(shù)據(jù)幀用來傳輸PC主控端對機(jī)器人終端的各種控制命令,其格式定義如圖2所示:
■
圖2 數(shù)據(jù)幀格式示意
數(shù)據(jù)幀長度為8個字節(jié),其中頭部一個字節(jié),定義了如數(shù)據(jù)流向等信息。5個字節(jié)的數(shù)據(jù)載荷區(qū)用來保存上位機(jī)對機(jī)器人的控制命令。在IEEE802.15.4協(xié)議中有對傳輸數(shù)據(jù)進(jìn)行校驗的設(shè)定,但不是強(qiáng)制的。而在對無線收發(fā)模塊的使用中發(fā)現(xiàn)有誤碼的情況出現(xiàn),因而在數(shù)據(jù)幀格式的定義中加入了2個字節(jié)的校驗信息。
數(shù)據(jù)幀頭部的格式定義如圖3所示:
■
圖3 數(shù)據(jù)幀頭部示意
數(shù)據(jù)幀頭部頭3個比特是數(shù)據(jù)幀的控制信息,表明了數(shù)據(jù)幀的發(fā)送方向等信息。后5個字節(jié)是機(jī)器人在組內(nèi)的ID號,可以表示32個不同的ID,其中1~30號可以作為機(jī)器人的組內(nèi)ID,0為對應(yīng)的PC的ID,31為廣播地址。
3.4 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與尋址
設(shè)計中采用的無線收發(fā)模塊支持點對點、星型兩種拓?fù)浣Y(jié)構(gòu)。對于像F180這樣采用集中控制的機(jī)器人系統(tǒng),星型網(wǎng)絡(luò)正好符合要求,但是由于BLZ1000模塊的網(wǎng)絡(luò)地址無法在網(wǎng)絡(luò)中動態(tài)的分配,而是要在事先初始化一個網(wǎng)絡(luò)地址,所以在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中采用了點對點的形式。并且將所有同組的機(jī)器人終端的無線收發(fā)模塊均配置相同的網(wǎng)絡(luò)地址。同時通過連接在機(jī)器人終端主控板上的撥碼開關(guān)設(shè)定組內(nèi)ID。
尋址過程可以分成兩個步驟,一、通過事先配置的網(wǎng)絡(luò)地址尋找到機(jī)器人組,二、根據(jù)數(shù)據(jù)幀頭部的機(jī)器人組內(nèi)ID找到所要尋址的機(jī)器人終端。
4 軟件設(shè)計
4.1 總體架構(gòu)
F180機(jī)器人的通信系統(tǒng)由PC端的通信與決策模塊和機(jī)器人終端的通信收發(fā)模塊組成。兩者間的數(shù)據(jù)通信由ZigBee模塊實現(xiàn)。模塊示意圖如圖4所示:
■
圖4 軟件總體框架示意
4.2 PC端軟件設(shè)計
F180足球機(jī)器人PC端通信決策系統(tǒng)由數(shù)據(jù)發(fā)送決策程序、數(shù)據(jù)編碼封裝程序和PC串口驅(qū)動組成。數(shù)據(jù)發(fā)送決策程序?qū)⒋_定何時發(fā)送命令給機(jī)器人終端,數(shù)據(jù)編碼封裝程序?qū)衙顢?shù)據(jù)根據(jù)通信協(xié)議封裝起來,PC串口驅(qū)動用來連接PC串口端與無線收發(fā)模塊。
PC端軟件運行流程是上層決策軟件做出機(jī)器人終端的動作命令,數(shù)據(jù)發(fā)送決策程序根據(jù)一定的傳送策略算法將PC做出的機(jī)器人終端行為命令封裝后,用串口驅(qū)動發(fā)送給機(jī)器人終端。
4.3 機(jī)器人端軟件設(shè)計
機(jī)器人端的通信收發(fā)系統(tǒng)軟件包括串口驅(qū)動、數(shù)據(jù)校驗解包程序,其運行流程如圖5所示。
4.4 關(guān)于數(shù)據(jù)發(fā)送決策程序
在PC端的通信系統(tǒng)軟件中,數(shù)據(jù)發(fā)送決策程序?qū)μ岣邫C(jī)器人通信系統(tǒng)得效率起到關(guān)鍵性作用。因為PC根據(jù)視覺系統(tǒng)對5臺機(jī)器人終端的行為做出決策,而這個決策命令的產(chǎn)生頻度是每秒60次,即對應(yīng)每一幀圖像,系統(tǒng)都會做出相應(yīng)的命令。而這個頻度對機(jī)器人而言過快,一般來說不會出現(xiàn)需要1秒鐘對機(jī)器人做出數(shù)十次命令的情況。過快的命令產(chǎn)生速度反而會造成機(jī)器人出現(xiàn)抖動的情況,所以應(yīng)當(dāng)適當(dāng)?shù)臏p少發(fā)送給機(jī)器人的命令量。數(shù)據(jù)發(fā)送決策程序就是用來合理的減少數(shù)據(jù)的發(fā)送量,其工作原理是根據(jù)對比PC做出的機(jī)器人控制命令(包括當(dāng)前命令,以及之前做出的命令),然后根據(jù)時間和空間局部性的原理,對要發(fā)送的命令進(jìn)行選擇與優(yōu)化。
5 通信測試結(jié)果
首先測試的是一臺PC機(jī)對一臺機(jī)器人終端的數(shù)據(jù)發(fā)送測試,數(shù)據(jù)發(fā)送速率是38400bps,點對點發(fā)送,在相距5米的情況下1G的數(shù)據(jù)收發(fā)無誤。
然后是1臺PC對3臺機(jī)器人終端的測試,依然是前面的測試環(huán)境,數(shù)據(jù)收發(fā)也無誤。
6 結(jié)束語
本文通過分析F180足球機(jī)器人對通信系統(tǒng)的要求,提出了一種基于ZigBee技術(shù)的通信系統(tǒng)設(shè)計方案。通過測試表明,這種通信方案可以滿足足球機(jī)器人對速度、可靠性及抗干擾能力的要求。
參考文獻(xiàn):
[1] 程福,趙臣,王少巖.“RoboCup小型足球機(jī)器人踢球器的設(shè)計”[J].機(jī)械與電子,2004,(3):28-30.
[2] 鐘碧良,張祺,謝云,等.“足球機(jī)器人通訊系統(tǒng)可靠性分析與設(shè)計”[J].微電子學(xué)與計算機(jī),2003,(1):17-19.
[3] 吳憲祥,郭寶龍“ ‘集控式足球機(jī)器人系統(tǒng)關(guān)鍵技術(shù)研究”[J].計算機(jī)工程,2005,31(17):168-170.
[4] Lee J W. Embedded control system for soccer playingrobos[EB/OL].http://www.ksea.org/ukc2004/en/Proceedings/05RT/RT61_JinwooLee.pdf.2006.03.24.
[5] Gao Zhijun,Yan Guozheng,Ding Guoqing.Research of Communication Mechanism of the Multi-agent in Multi-agent Robot Systems[J].High Technology Letters,2002,8(1):67-71.
[6] IEEE Standard for information technology-802.15.4,The Institute of Electrical and Electronics Engineers,Inc,1 Oc2tober 2003.