秦 博
(中國電子科技集團公司第二十研究所,西安 710068)
近年來隨著機器人技術的不斷發展,機器人目前能夠從事的工作非常廣泛,從防爆、救災、航空、航天到工業生產、物流配送、家庭服務等,機器人正不斷地改變著人們的生產生活方式。隨著人力成本逐年上漲和全球化市場競爭越來越激烈,機器人替代人工作已成為很多大型企業迫切的需求。由于單個機器人自身性能的局限,很多情況下無法獨立完成工作,必須依靠多個機器人協同工作才能順利完成,如團隊競技比賽、汽車自動化生產、要地安全防護等。多機器人協同工作需要彼此之間不斷地進行信息交互,如何有效解決多機器人同時通信產生的碰撞問題和制定通用的多機器人協同通信協議非常困難[1]。
本文針對上述問題,研究了改進型的指數遞增指數遞減隨機退避算法(Improved Exponential Increasing Exponential Decreasing,IEIED)和基于5G 通信的云平臺信息交換技術,有效解決多機器人協同通信問題。
無線局域網通信中采用的IEEE802.11n 協議中設計了二進制指數隨機退避算法(Binary Exponential Back-off Algorithm,BEB)來降低數據傳輸過程中的碰撞概率。但該算法在通信節點數目較多時易產生不公平性問題,導致網絡的吞吐量、傳輸時延和數據丟包率受到較大影響。
為解決BEB 算法存在的不公平性問題,在BEB算法的基礎上提出了指數遞增指數遞減算法(Exponential Increasing Exponential Decreasing,EIED)[2-3],其具體表達式為:
EIED 算法引入兩個退避參數,用于數據發送成功或發送失敗上。機器人節點發送數據成功時,競爭窗口以后退參數rs成倍地減小,即:
rs后退參數根據網絡負載量進行合理的選取。當機器人節點發送數據失敗后,競爭窗口的大小以后退參數rc成倍地增加,即:
而不像BEB 算法發送失敗后以2 來倍乘。rc這個后退參數通過網絡負載量進行選取,當機器人節點數較多即網絡負載較重時,可將參數設為大于2;如果機器人節點數較少即網絡負載較輕時,可將參數設為小于2。一般情況下,rs選取為21/β,β表示最大重傳次數,而不是BEB 算法里統一將CW值重置為最小競爭窗口,這在重負載網絡中極易引起下一輪沖突。
在傳統EIED 算法里,若源機器人與其他機器人產生數據沖突時,退避競爭窗口更新為原來的rc倍;機器人數據發送成功以后,退避競爭窗口更新為原來的rs分之一倍。這樣數據在發送成功以后的退避競爭窗口往往比節點產生沖突以后的退避競爭窗口小很多,就使得數據發送成功后的節點在下一輪信道競爭的時候更具有優勢,經過多輪的信道競爭,容易造成“弱者更弱,強者更強”的情況。本文為了改善這種情況,研究了一種IEIED 算法,增大最小競爭窗口和減小最大競爭窗口,使得發送數據成功的機器人退避競爭窗口最小重置為αCWmin,同理發生沖突的機器人競爭窗口最大重置為γCWmax,α、γ參數的選取依據網絡的負載量,若網絡負載量較小,可將參數α設為大于1,γ參數設為小于1,這樣減小了[CWmin,CWmax]的范圍,在一定程度上解決了“弱者更弱,強者更強”的情況。由于rc和rs都是可變參數,若兩者取值選擇合理,那么退避競爭窗口CW 的更新就不會大幅度增加或者大幅度驟減,在信道的競爭中,可以使得大多數的機器人接入信道的機會一樣,從而可以快速實現多個機器人的相互通信。IEIED 算法的流程圖如圖1 所示。
隨著5G 技術、云計算、大數據、物聯網和各種智能體的蓬勃發展,也涌現出了一種全新的通信方式——云通信。云通信融合了云計算、大數據、物聯網等多種技術,形成了以商業模式為主的多設備通信模式[4],多設備的數據處理、數據共享、數據融合等都集中在云端,各種應用模塊互聯互通,用戶只需搭建好硬件設備,將其接入到云通信平臺,通過平臺的多種接入協議及數據傳輸協議就可以實現多種不同設備的協同通信。隨著通信技術研究的不斷深入與改善,將云通信與協同通信相結合,構建基于云通信的協同通信系統,可以提高整個通信系統的可靠性。
選擇中國移動的One NET 作為課題研究平臺,該平臺為開發者和企業提供服務,同時也為終端行業提供PaaS 層和定制化開發服務,解決了協議適配、海量設備的連接、管理、數據存儲(上報—轉發—分析)、規則引擎、事件告警、應用孵化等物聯網應用開發的共性問題,同時具有分布式的結構和多重數據保障機制。One NET 云平臺是一個開放的云服務平臺,聚焦了各大行業的需求,在共享經濟、工業控制、智慧能源、車聯網、物流運輸以及智能機器人等領域都提供了可靠的、完整的解決方案。該云平臺的架構圖如圖2 所示。
One NET 支持多種主流協議的連接,其中包括LWM2M(NB-IoT)、MQTT、HTTP、EDP、TCP、RGMP、MODBUS、JT/808 等多種公開協議,多機器人接入到云平臺可以有很多種通信接入方式,常用的有GPRS、WIFI、NB-IoT 和以太網口,可以實現在各種網絡下云平臺與多機器人的連接。多機器人通過5G 通訊技術連接到云平臺,實現多個機器人在云端的協同通信。多機器人協同通信系統的云平臺軟件體系分為兩部分:云端多機器人協同通信控制平臺和單個機器人控制平臺。其中機器人端主要實現一些可以簡單完成的任務,實現對單個機器人的云端監控;而云端多機器人協同通信控制平臺主要負責實現多個機器人的相互通信,并對其進行云端監控。在云端能夠觀察到每個機器人的速度、角速度、電量、位置等相關的信息。此外,云端可以通過發布命令控制關聯的機器人,對其進行行為干預,同時云端也負責定時地將各機器人的位置信息進行廣播。在執行復雜和需要多機器人協同完成任務時,云端會對每個機器人的規劃結果進行協調共同完成任務。
云端多機器人協同通信控制平臺的功能模塊可以分為機器人控制平臺、信息界面和網絡傳輸三部分。機器人控制平臺連接了機器人的傳感器模塊和電機模塊,采集機器人的狀態信息,可以對群體機器人和單個機器人進行操控,包括左轉、右轉、原地旋轉、前進、后退等一些基本行為;信息界面主要是通過云端的數據接口,展示了各個機器人以及機器人群的狀態和工作日志;網絡傳輸模塊實現了數據的整合與傳輸,通過獲得每個機器人的狀態信息,經過云端整合,實現多機器人的遠程調控,網絡傳輸模塊為多機器人的協同通信和監控提供了支持。云端多機器人協同通信控制平臺的軟件功能結構如圖3 所示。
隨著多機器人技術研究的不斷深入,如何實現多個機器人之間可靠、高效的通信日益成為制約多機器人技術發展的瓶頸。本文著重研究了通過5G背景下的云平臺來實現多個機器人之間的協同通信技術,提出的IEIED 算法,能夠有效降低多機器人通信的信道碰撞概率,提高信道接入的公平性、提高網絡吞吐量、減小數據傳輸的時延;利用基于5G 的云通信技術,可以大幅簡化用戶終端的設計,只需使用通信模塊將機器人接入云平臺即可實現各種機器人之間的互聯互通。上述技術在軍事和民用領域都有著較好的應用前景。