《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ZigBee的多機器人通信系統的設計
基于ZigBee的多機器人通信系統的設計
王艷秋, 萬鈞力, 邵旭昂, 倪
摘要: 為解決多機器人協作的問題,設計了可以讓機器人之間基于ZigBee網絡進行通信的通信方案。機器人硬件系統中引入了ZigBee節點,多個機器人依賴ZigBee形成一個星型網絡,每個機器人可以通過中心節點保持通信。實驗結果表明,機器人之間可以可靠地進行通信,能夠顯著提高機器人的工作效率。
Abstract:
Key words :

    摘  要: 為解決多機器人協作的問題,設計了可以讓機器人之間基于ZigBee網絡進行通信的通信方案。機器人硬件系統中引入了ZigBee節點,多個機器人依賴ZigBee形成一個星型網絡,每個機器人可以通過中心節點保持通信。實驗結果表明,機器人之間可以可靠地進行通信,能夠顯著提高機器人的工作效率。 

    關鍵詞: 多機器人; 通信; ZigBee; MG2455 

 

    機器人[1]作為人類20世紀最偉大的發明之一,在短短的40年內發生了日新月異的變化。隨著社會生產技術的飛速發展,機器人的應用領域也不斷擴展,從自動化生產線到海洋資源的探索,乃至太空作業等領域,機器人可謂是無處不在。然而就目前的機器人技術水平而言,單機器人在信息的獲取、處理及控制能力等方面都是有限的,對于復雜的工作任務及多變的工作環境,單機器人的能力更顯不足。由多個機器人組成的群體系統通過協調、協作來完成單機器人無法或難以完成的工作將是機器人發展的一個趨勢。目前的多機器人通信一般采用有線通信的方式,盡管技術成熟、可靠性高,但由于線纜限制了機器人的移動范圍和靈活性,沒能得到廣泛的應用。ZigBee網絡技術是基于802.15.4的無線通信協議,具有低成本、低功耗、低傳輸速率的特點,并支持星型、樹狀和網狀等多種網絡拓撲結構。多機器人協作只需要彼此間斷性地傳遞有限的信息,并要盡可能地節省能量。而ZigBee非常適合這種場合的應用。 

1 ZigBee技術及優勢 

1.1 ZigBee簡介

    ZigBee是一組基于IEEE批準通過的802.15.4無線標準研制開發的,是有關組網、安全和應用軟件方面的技術標準。IEEE僅處理低級MAC層和物理層協議,而ZigBee聯盟對其網絡層協議和API進行了標準化。每個協調器可連接多達255個節點,而由此形成的ZigBee網絡對路由傳輸的數目沒有限制。ZigBee聯盟還開發了安全層,以保證這種便攜設備不會意外泄漏其標識。完整的ZigBee協議套件由高層應用規范、應用層、網絡層、數據鏈路層和物理層組成。網絡層以上協議由ZigBee聯盟制定,IEEE802.15.4負責物理層和鏈路層標準。 

1.2 ZigBee優勢

    ZigBee[2]技術是一種新興的近距離、低復雜度、低功耗、低數據速率、低成本的無線網絡技術,它是一種介于無線標記技術和藍牙之間的技術提案。主要用于近距離無線連接。一般而言,隨著通信距離的增大,設備的復雜度、功耗以及系統成本都在增加。相對于現有的各種無線通信技術,ZigBee技術將是最低功耗和最低成本的技術。同時由于ZigBee技術的低數據速率和通信范圍較小的特點,也決定了ZigBee技術適合于承載數據流量較小的業務。所以,ZigBee聯盟預測的主要應用領域包括工業控制、消費性電子設備、汽車自動化、農業自動化和醫用設備控制等。 

2 機器人通信系統的設計 

2.1 系統結構

    多移動機器人通信可以采用ZigBee的星型結構,如圖1所示。在這個網絡中,充當網絡協調器的機器人負責組建網絡,管理網絡,并對網絡的安全負責。它要存儲網絡內所有節點的設備信息, 包括數據包轉發表、設備關聯表以及與安全有關的密鑰等。其他的普通機器人,使用的ZigBee節點都是RFD設備。當這類機器人受到某些觸發時,例如內部定時器時間到了、外部傳感器采集完數據、收到協調器要求答復的命令,就會向協調器傳送數據。作為網絡協調器的機器人可以采用有線的方式和1臺PC機相連接,在PC機上存儲網絡需要的綁定表、路由表和設備信息,減小網絡協調器的負擔,提高網絡的運行效率。 

 

 

2.2 機器人的硬件設計

    機器人的硬件一般包含核心控制器模塊、外界數據采集模塊、驅動模塊以及執行機構。在本設計中加入了無線通信模塊,其硬件結構如圖2所示。核心控制部分實際上是一個典型的嵌入式系統。處理器采用Atmel公司的AT91RM9200處理器,它是一款工業級的處理器,ARM920T內核,200MIPS的處理速率,外圍接口豐富。ZigBee無線通信模塊采用韓國RadioPulse公司的MG2455芯片。當機器人的無線接收部分接收到命令或數據時,由MG2455芯片進行相應的處理后傳送給高速處理器,由高速處理器來驅動機器人的電機部分,實現相應的操作。當機器人需要向其他機器人或者PC機發送命令或者數據時,就由高速處理器把組織好的數據發送給ZigBee節點,ZigBee節點再把數據組裝成幀,從天線發送出去。可以采用1臺PC機來實現機器人的監測與控制,把需要耗費時間和運算量的工作轉移到PC機上進行,以提高網絡的運行效率。AT91RM9200采用串口與ZigBee通信模塊連接。當有數據需要傳送時,主動方通過串口發出中斷由對方CPU來處理傳送過來的數據。由于通信的數據量并不是很大并且通信并不很頻繁,所以不會影響核心控制部分的正常運行。各種傳感器和驅動器作為處理器的外設和系統相連。傳感器采集外界環境中的各種信息,例如溫度、濕度、亮度。驅動器是各種電機,控制機器人手和足的運動。 

 

 

2.3 通信模塊ZigBee節點的硬件設計

    MG2455[3]是韓國RadioPulse公司推出的用來實現嵌入式ZigBee應用的片上系統。它支持2.4 GHz IEEE802.15.4/ZigBee協議,通信距離能夠達到300 m。在物理層,它使用直接序列擴頻技術和O-QPSK調制技術,具有很強的抗干擾能力。在MAC層,它采用了CSMA-CA機制競爭信道,提高了信道的利用率。MG2455芯片有3種可選的通信速率:250 kb/s供ZigBee使用,500 kb/s和1 Mb/s的通信速率供傳遞語音和圖像使用。在1.5 V的工作電壓下,可以達到-98 dBm的接收靈敏度和8 dBm的發射強度。功耗在芯片進入深度睡眠的模式下可以降低到1 ?滋A以下。MG2455芯片的處理速度是標準8051單片機的12倍,具有96 KB的內置Flash和8 KB的數據存儲區,1個SPI接口,2個串行接口,2個外部中斷,4個A/D轉換器,4個定時器,2個PWM,22個普通I/O口。另外,它的體積只有7 mm×7 mm×0.9 mm,外圍電路僅需要一些電感、電容和電阻。天線既可以是鞭狀天線也可以是陶瓷天線或者PCB天線。這些優點非常適合于機器人通信節點的應用。用MG2455芯片實現的ZigBee節點硬件原理圖如圖3所示。 

 

 

3 機器人通信系統的軟件設計 

3.1 核心控制器的軟件設計

    核心控制器的控制對象涉及到多個輸入部件和輸出部件,輸入部件主要是各種傳感器,輸出部件主要是各種伺服電機。所以,CPU處理的任務非常復雜,可以考慮在軟件設計方面采用多任務實時操作系統UCOS。設計者分別寫出控制傳感器和電機的任務,然后把這些任務按照重要性賦予一定的優先級,讓操作系統輪流調用這些任務。 

3.2  ZigBee節點的軟件設計

    針對MG2455芯片,RadioPulse公司提供了EVK、MDK和ZDK 3種版本的軟件。EVK實現了MG2455芯片的驅動程序,包括無線模塊、串口模塊、功率控制模塊等。MG2455芯片通過中斷實現物理層的數據與無線發送緩沖區、無線接收緩沖區的交換。用戶可以在這個軟件版本的基礎上實現各種靈活的上層應用;MDK實現了MAC層的協議,包括CSMA-CA機制、數據請求、節點加入請求和節點離開請求等復雜的原語;ZDK完整地實現了ZigBee協議定義的NWK、APS、AF、ZDO以及安全層。3種版本的機器人的應用強調數據傳輸的實時性,所以選擇EVK版本作為開發上層應用的軟件基礎。下面主要介紹幾個重要的函數: 

    (1)void ZHAL_CHANNEL_SET(UINT8 chan);//set the channel 

    void ZHAL_PAN_ID_SET(UINT16 ID);    //set the PAN id 

    void ZHAL_SHORT_ADDR_SET(UINT16 Addr);//set the short address 

    void ZHAL_TXPOWER_SET(UINT8 PowerLevel); //set the power  

    void ZHAL_DATARATE_SET(UINT8 Rate);//set the datarate  

    以上函數設置了節點的通信信道、網絡ID、網絡地址、發射功率和通信速率參數。 

    (2) UINT8 ZSYS_SEND_PACKET(UINT16 PANID,UINT16 SrcAddr, UINT16 DstAddr, UINT8 MsgLen, UINT8 *MsgBuff, UINT8 AckReq, UINT8 OobIndex);    // send packet 

    源節點通過這個函數發送信息給目的節點,參數包含了網絡ID號、源節點地址、目標地址、發送長度、發送內容的指針,應答標識位和傳輸速率的選擇位。通過應答標識位AckOn參數告訴目的節點是否需要回應消息。傳輸速率的選擇為:如果發送信息成功,則返回值為0。 

    (3) MAC_PKT* ZSYS_RX_PACKET_GET( );//receive packet 

    ZSYS_RX_PACKET_CLR( );         //clear receive buffer 

    源節點通過這個函數在無線接收緩沖區接收信息。當緩沖區中具有信息時,函數會返回指向數據的指針,通過這個指針可以訪問信息的源地址、信號強度值以及內容;當沒有接收到信息時,函數返回一個空指針。當無線緩沖區的數據得到處理后,調用ZSYS_RX_PACKET_CLR( )函數清空接收緩沖區。 

    (4) void ZSYS_UART1_PUT_STRING(UINT8 *StrPtr,UINT8 StrLen)//put message to host 

    UINT8 ZSYS_UART1_GET_STRING(UINT8 *StrPtr,UINT8 StrLen);//get message from host 

    ZigBee節點通過這2個函數與主控制器芯片AT91RM9200通信。 

3.3 上層協議的設計

    設計了一個簡單的2個機器人協作的應用案例:A機器人用機械手臂從筐中取出1個乒乓球,將其移動到合適的位置;B機器人從墨水瓶里面給筆蘸上墨水,然后在A機器人手臂上的乒乓球上畫上一些圖案,在畫圖案的過程中,A機器人會挪動乒乓球的位置。圖案畫好后,A機器人將畫有圖案的機器人放到另外1個筐子。針對這個案例,設計了2個機器人之間的通信協議。圖4是規定的發送數據的格式,先是1 B的命令前綴,后面是可選的命令參數,主要是坐標信息。 

 

 

    (1) A機器人取到乒乓球后將球移動到合適的位置,通知B機器人可以開始下一步工作。此時,A機器人發送1個命令幀給B機器人,此時只有命令前綴,而沒有坐標信息。 

    (2) B機器人收到信息后,到墨水瓶里面去蘸墨水,通知機器人A要開始繪制圖案了。 

    (3) B機器人會隔一段時間告訴A機器人現在的進度情況,A機器人則根據B機器人的進度,調整乒乓球的位置;此時發送的信息里面除了命令前綴以外,還有坐標信息,這些坐標信息代表了當前任務的進度。 

    (4) B機器人畫圖完成,告訴A機器人結束信息,A機器人將乒乓球放回到筐中。 

    本文分析了機器人通信的特點,結合ZigBee技術及發展現狀,提出了基于ZigBee的機器人通信方案,即把短距離通信技術應用到機器人通信中,為機器人嵌入一個無線通信的模塊,就像給機器人加上了一雙耳朵一樣。詳細闡述了機器人的通信模塊的硬件和軟件的設計。目前機器人技術正在大行其道,可以想像在不遠的將來,機器人將為人類做各種各樣復雜的工作。ZigBeec網絡技術未來肯定能在機器人通信領域中占有一席之地。 

參考文獻

[1] 張海英,劉祚時,林桂娟.群體機器人研究的現狀和發展[J]. 電子技術應用,2004,30(2). 

[2] 瞿雷,劉勝德,胡咸斌.ZigBee技術及應用.北京:北京航空航天大學出版社,2007. 

[3] http://www.radiopulse.co.kr/eng/download/MG2455_MG2450%20Document/ENG/Datasheet/MG2455-F48%20Datasheet_ENG_VER.1.61.pdf. 2008.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 扁豆传媒视频免费观看| 沦为色老头狂欲的雅婷| 国产熟女一区二区三区五月婷 | 亚洲中文字幕久久无码| 精品欧美一区二区三区精品久久 | 波多野结衣种子网盘| 国产a三级三级三级| 男女拍拍拍免费视频网站| 妞干网免费在线观看| 久久久无码精品亚洲日韩蜜桃| 毛片在线播放网址| 午夜精品在线免费观看| 高清性色生活片97| 国产精品成人四虎免费视频| www.污网站| 无码av大香线蕉伊人久久| 亚洲AV第一成肉网| 波多野结衣在丈夫面前| 十二以下岁女子毛片免费| 陈冰的视频ivk| 国产熟睡乱子伦视频| 97精品在线观看| 小小视频最新免费观看在线| 久久久久亚洲AV成人无码| 最近中文字幕国语免费高清6| 亚洲欧美日韩综合久久久 | 在线看欧美日韩中文字幕| 一道本不卡免费视频| 日日碰狠狠添天天爽不卡| 久草免费手机视频| 欧美影院在线观看| 亚洲色一区二区三区四区| 精品亚洲欧美无人区乱码| 国产一区二区三区日韩欧美| 97久久天天综合色天天综合色 | 日本xxxxx19| 亚洲精品一区二区三区四区乱码| 美女叫男人吻她的尿口道视频| 国产啪亚洲国产精品无码| 91久久大香线蕉| 天天干天天在线|