劉 路,華 蓓
(中國科學技術大學 計算機科學與技術學院,合肥 230027)
WiFi (IEEE 802.11)是目前應用最廣泛的無線局域網技術,在家庭、公共場所、工廠環(huán)境等被普遍采用.近些年各種各樣的機器人被越來越多地應用到生產生活中,如物流機器人、導購機器人、工業(yè)機器人等.機器人在工作過程中需要不停地從控制器接收指令,并收發(fā)大量的數據,WiFi 也是其使用最多的網絡通信手段[1].由于WiFi 基站,也稱無線接入點(Access Point,AP),通信距離很短,在車間、商場這樣的大空間中通常部署了很多AP,對于需要隨時隨地通信的場合(如生產環(huán)境),每個位置甚至會被多個AP 所覆蓋.當機器人在這樣的環(huán)境中移動時,常常需要在不同的AP 之間切換,即從一個AP 的覆蓋范圍進入到另一個AP 的覆蓋范圍.
根據WiFi 的通信規(guī)范,切換過程包括AP 掃描、終端認證和AP 重關聯3 個步驟[2].終端(如機器人)首先斷開與當前AP 的關聯,掃描周圍可用的AP,從中選擇一個AP 進行認證,認證通過后與該AP 進行關聯,這時終端接入新的AP.由于切換過程中終端不與任何AP 關聯,容易出現通信中斷的情況,在實際應用中通信中斷的時間可能長達數秒,這給需要不間斷通信的機器人正常工作產生很大的影響.
有實驗發(fā)現,AP 掃描時間占整個切換時間的90%以上[3],因此減少切換時間的關鍵是減少掃描時間.AP 掃描包括信道掃描和AP 選擇兩個部分.每個AP在運行之前需要分配一個工作信道,只有和AP 同信道的終端才能使用AP 轉發(fā)數據.為發(fā)現周圍有哪些AP 可用以及每個AP 的工作信道,傳統(tǒng)的終端需要在每個可操作的信道上主動發(fā)送請求幀(主動掃描)或者等待AP 定期發(fā)送的信標幀(被動掃描),在每個信道上停留一段時間后進入下一個信道,將所有信道掃描完成后得到一個候選的AP 集合.信道掃描時間大致等于信道停留時間乘以掃描信道的數量,極端情況下這個時間可能達到幾秒~十幾秒之多.
針對WiFi 快速切換的研究很早就開始了,目前降低WiFi 切換延時的方法主要有兩類[4].一類是增加無線網卡數量[5-8],比如,使用一塊網卡用于正常通信,另一塊網卡用于掃描信道.另一類是設計優(yōu)化的切換算法來減少掃描時間,包括提前進行掃描[2]、減少信道停留時間[3,9]、減少掃描的信道數量[10-13]等.文獻[14]注意到機器人的工作環(huán)境相對固定、移動路徑可提前規(guī)劃等特點,使用預先收集的無線地圖(WiFi Map)和機器人規(guī)劃路徑提前計算好切換方案,機器人判斷自己到達某個切換地點附近后,直接和指定的AP 進行關聯,完全消除掃描過程.
從候選的AP 集合中選擇哪一個AP 進行關聯關系到切換質量[15].傳統(tǒng)的AP 選擇算法以終端接收到的信號強度指示(RSSI)作為選擇依據[16],這種方法容易導致負載不均衡.AP 選擇問題在研究無線網絡負載均衡時考慮較多,比如,文獻[17]使用預期的信標幀到達時間與實際到達時間之差來反映AP 負載.文獻[18]引入AP 關聯的移動終端個數來估計AP 負載,文獻[19]令移動節(jié)點依次關聯上每一個AP,通過發(fā)送一組測試數據來測試每個AP 的質量,最終選擇最佳的AP 進行關聯.文獻[20]使用信道利用率來衡量AP 負載,文獻[21]使用終端到AP 的信號往返時間來估計AP 負載,等,在這些方法中終端傾向于選擇負載較輕的AP 進行關聯.以上方法或者關注信號質量,或者關注網絡負載均衡,均未考慮終端的通信帶寬需求,而帶寬保證對于工業(yè)機器人來說至關重要.
本文針對工業(yè)機器人場景提出帶寬保證的快速切換方法及實現框架,并在NS3 仿真平臺上進行驗證和性能評估.本文的主要貢獻如下:(1)提出了基于動態(tài)無線地圖的帶寬保證快速切換方法,兼顧切換延時、通信帶寬和信號質量3 個方面的需求;(2)提出了實現該快速切換方法的技術框架,包括無線地圖的建立和維護,對802.11MAC 層協議及相關實現的擴展方法等;(3)在網絡仿真平臺NS3 上實現了面向機器人場景的帶寬保證快速切換框架.仿真實驗表明,與802.11 的切換方案及基于鄰居圖的選擇性掃描方式相比,本文方案可使平均切換延時分別降低90%和67%.與802.11及已有的負載感知的AP 選擇方案相比,本文方案可不同程度地提高機器人的平均通信帶寬,并且只要機器人附近存在帶寬充足的可用AP,總是可以保證機器人的帶寬需求.
文獻[3]是研究快速切換的經典文獻之一,它通過實驗分析了IEEE 802.11 的切換過程,測得掃描時間占整個切換時間的90%以上,并給出以下計算切換延時的公式:
其中,minChannelTime和maxChannelTime分別為信道駐留時間的最小值和最大值,N為需要掃描的信道個數,通過調整這兩個參數可以減少掃描時延.
Park 等人[11]提出了一種基于鄰居圖的快速切換方法.AP 之間通過定期交換信息維護一個鄰居圖,鄰居圖記錄了每個鄰居AP 的工作信道,移動終端使用當前AP 的鄰居圖確定要掃描的信道.該算法本質上通過減少需要掃描的信道數量N來減少掃描時間,但是維護鄰居圖需要AP 之間頻繁通信.
Wang 等學者[14]面向機器人場景提出了基于無線地圖的切換算法,依靠機器人的實時定位信息和提前計算好的<切換位置,AP>序列來決定切換的時機和關聯的AP.該算法對機器人的定位精度和定位頻率要求較高,實際上很難做到切換時機準確無誤;另外該算法在計算AP 切換序列時未考慮AP 的負載情況及機器人的帶寬要求,無法保證切換后的機器人通信帶寬.
在AP 選擇方面,文獻[18]除考慮信號強度外,還引入已經關聯的移動終端個數來衡量AP 的負載.移動終端在每個信道上發(fā)送探測請求幀(主動掃描),每個APi統(tǒng)計當前已關聯的移動終端個數Ni,對從這些終端收到的探測請求幀的信號強度計算平均值Mi,將Ni、Mi和本次探測請求幀的信號強度Si包含在探測響應幀中返回給終端.終端收到探測響應幀后,利用式(2)~式(5)計算每個APi的權值Wi,最終選擇權值最大的AP 接入,式(5)中的n為終端探測到的AP 數量.
該方法隱含地假設每個AP 的帶寬容量相同,每個移動終端的通信流量也相同,但事實并非如此.
文獻[20] 利用信道利用率來估計AP 的負載.AP 計算最近一段時間內信道忙的比例,將信道利用率放入信標幀中廣播,終端通過被動掃描的方式從信標幀中獲取AP 的信道利用率信息,選擇信道利用率低的AP 進行關聯.如果考慮到各個AP 的帶寬容量不盡相同,信道利用率同樣不能準確反映AP 當前的剩余傳輸能力.
文獻[21]使用終端到AP 的往返延時來衡量AP的負載.終端主動向AP 發(fā)送探測幀,測量幀的響應延遲,并選擇響應延遲最小的AP 進行關聯,這種方式由于引入探測延遲而不能用于快速切換場景.
綜上所述,已有的WiFi 切換算法都不能同時滿足快速切換和帶寬保證這兩個實際需求.
工作過程中的機器人在切換時需要滿足切換延時和通信帶寬兩個要求.文獻[14]利用事先得到的無線地圖和機器人路徑提前計算好切換的地點和AP,機器人利用自己的位置就可以查詢到需要關聯的AP,這種快速切換方法值得借鑒.但是該工作沒有考慮機器人的帶寬需求以及各個AP 的剩余帶寬,從而不能滿足帶寬保證這一要求.
AP 的剩余帶寬與AP 的容量及當前負載有關.AP容量給出的是MAC 層上的最大傳輸速率,考慮到各層包頭的開銷及幀間距等因素,應用層上可以使用的數據速率遠低于MAC 層上的最大傳輸速率.兩種速率之間的映射關系可以根據802.11 的協議機制進行估算,或者直接在特定環(huán)境下通過實驗的方法測量得到.此外,802.11 允許MAC 層根據信道的噪聲水平自動調整傳輸速率.比如,802.11b 支持的最高速率是11 Mb/s[22],當設備之間距離過長或干擾太大、信噪比低于某個門限時,傳輸速率能夠從11 Mb/s 自動降到5.5 Mb/s,甚至進一步降到2 Mb/s、1 Mb/s[23].
AP 的負載是動態(tài)變化的,如果機器人在需要切換的時候再去向相關的AP 查詢負載狀態(tài),會極大地增加切換時延.為此,本文將AP 的負載信息(即當前傳輸速率)添加到無線地圖中并定期更新,這樣機器人只需查詢一次無線地圖即可得到所有AP 的當前負載.為了方便及時地收集AP 的負載信息,本文設置了一個專門的服務器,各個AP 定期將自己的負載信息推送給該服務器.既然設置了這樣一個服務器,那么進一步地可以將AP 選擇任務也交給服務器完成.機器人只需將自己的位置及帶寬需求發(fā)送給服務器,服務器根據設定的AP 選擇算法選擇一個合適的AP,直接將AP 信息返回給機器人即可,簡化機器人側的設計.
基于以上分析,面向機器人場景的快速切換框架設計如下.服務器與所有AP 通過橋接的方式連接在一起.機器人提前下載已經建立好的無線地圖,無線地圖中包含所有AP 的坐標、工作信道、信號范圍等靜態(tài)信息.服務器中的無線地圖包含AP 的靜態(tài)和動態(tài)信息,服務器定期接收各個AP 推送的負載信息并更新到無線地圖中,同時為機器人提供AP 選擇服務.當機器人MAC 層丟失一定數量的信標幀時觸發(fā)切換過程,整個切換流程如圖1所示.機器人利用當前位置查詢無線地圖,得到附近可用的AP 信息,然后將當前位置和帶寬需求封裝到一個IEEE 802.11 格式的查詢幀中,發(fā)送給其中一個AP.AP 將查詢幀轉換為IEEE 802.3 幀,發(fā)送給服務器.服務器利用機器人的位置和帶寬需求查詢無線地圖,選出一個最佳的AP,將其封裝到響應幀中返回.AP 將響應幀轉換格式后發(fā)送給機器人,機器人獲得需要關聯的AP 信息,并進行重關聯.原802.11中的AP 掃描過程被機器人與服務器之間的一次請求/響應過程所替代,極大地縮短了掃描時間.
圖1 基于動態(tài)無線地圖的切換過程
靜態(tài)無線地圖必須在機器人正常工作前建立并下載到機器人中,可以采用人工方式收集,也可以讓機器人沿著指定的路徑進行收集.將機器人工作環(huán)境建立在一個平面直角坐標系中,探測每個AP 的工作信道和信號覆蓋范圍,得到整個場景的靜態(tài)無線地圖.與圖1場景對應的靜態(tài)無線地圖如表1所示.
表1 圖1場景中的靜態(tài)無線地圖示例
AP 工作時定期向服務器發(fā)送自己的當前傳輸速率,服務器將其更新到動態(tài)無線地圖中.表2為與圖1場景對應的動態(tài)無線地圖示例.
4個AP 的通信范圍都是50 m,并且MAC 層容量都是一樣的.當應用層流量速率不相同時,MAC 層對應的速率相應的差別,因此,可以根據MAC 層速率推算出應用層的速率,從而推算出應用層的剩余帶寬.
表2 圖1場景中的動態(tài)無線地圖示例
機器人最關心的兩個通信指標為帶寬和信號質量,AP 選擇算法優(yōu)先考慮終端的帶寬需求,其次考慮信號質量.信號質量可以用終端與AP 之間的距離來衡量,距離越近則信號質量越好.AP 的應用層剩余帶寬可以按照(MAC 層當前速率/MAC 層容量)*應用層容量進行估算.
為此,服務器按照以下原則選擇AP:(1)首先將無線信號不能到達(與機器人的距離大于通信范圍) 的AP 去掉;(2)若有多個可達的AP 均能滿足終端的帶寬需求(AP 的應用層剩余帶寬大于終端的帶寬需求),選擇距離終端最近的AP;(3)若所有可達的AP 都不能滿足終端的帶寬需求,選擇應用層剩余帶寬最大的AP,并給出告警指示.
為實現基于動態(tài)無線地圖的快速切換,需要對IEEE 802.11 協議及實現進行一些擴展.根據802.11 協議,切換機制在MAC 層實現.當終端的MAC 層連續(xù)丟失一定數量(通常為10 個)的信標幀時,終端認定自己已離開當前AP,隨即觸發(fā)切換過程,終端開始進行信道掃描.基于無線地圖的切換框架取消了信道掃描過程,取而代之的是與服務器之間的交互過程.為此,需要修改終端MAC 層的信道掃描部分,增加終端、AP、服務器三者之間的交互,并在AP 與服務器上分別增加一些功能.
在終端的MAC 層上,使用以下過程替換信道掃描部分:終端獲取當前位置坐標,查詢無線地圖得到附近可用的AP,選擇一個AP 進行關聯;利用終端位置、帶寬需求和服務器地址構造自定義的查詢請求幀并發(fā)送;在收到服務器返回的查詢響應幀后,提取其中的AP 信息.
在AP 端修改幀接收模塊,添加對查詢請求幀和查詢響應幀的處理.在收到查詢請求幀/查詢響應幀時,AP 首先轉換幀格式,然后轉發(fā)給服務器/終端.在AP端還增加一個信息推送的模塊,AP 周期性地(如每隔1 s)向服務器發(fā)送一個數據幀,報告AP 在最近一個周期內的MAC 層平均傳輸速率.
在終端和服務器的MAC 層分別增加一個訪問無線地圖的接口.終端還提供一個配置接口,用于設定服務器地址和傳入無線地圖.
理論上,本文的切換機制綜合考慮了機器人的帶寬需求、AP 的剩余帶寬、機器人與AP 的信號質量因素,能夠綜合這3 個因素選擇最佳的AP 進行切換.相比于802.11,本文算法的切換時延僅由有限的幾次幀交互決定.并且不隨著網絡規(guī)模的擴大而增加.相比于選擇性信道掃描算法,本文的切換算法直接省去掃描時延.相比于其他AP 選擇算法,本文的AP 選擇機制能夠準確估計出AP 的剩余帶寬,并能滿足機器人的帶寬需求.
目前無線切換的研究工作大多基于仿真軟件進行.NS3 是先進的網絡仿真平臺,本文在NS3 中實現基于無線地圖的快速切換框架,并與相關工作進行比較.
NS3 是一個離散事件驅動的高性能網絡仿真軟件,所有網絡行為都被離散成一個個的事件,只有當新事件到來時仿真才會繼續(xù)進行.NS3 將現實世界的計算機節(jié)點抽象成C++的Node 類,將網卡設備抽象成NetDevice 類.Node 類中只有聚合了網卡、信道、協議棧等對象時,該節(jié)點才能在仿真中發(fā)生網絡行為,例如發(fā)送數據、接收數據等.
WiFi 是NS3 中的一個獨立模塊,包含了若干個類對象,其中掃描過程由類對象WiFiMAC 實現.使用NS3 仿真無線網絡時,需要在仿真開始前指定移動節(jié)點(STA)的信道和AP 的信道、STA 和AP 的SSID,NS3 中的掃描過程僅是STA 向設定的AP 發(fā)送探測請求.當實驗場景中存在多個AP 時,STA 事實上無法掃描其它AP,這與實際場景不同,所以NS3 目前不支持無線切換[24].
為支持無線切換,我們修改了WiFiMAC 模塊.在STA 的WiFiMAC 類中添加了以下成員變量:操作信道列表,最小信道駐留時間,最大信道駐留時間.當發(fā)生切換時,STA 對操作信道列表中的信道逐一掃描.對于每一個掃描的信道,根據IEEE 802.11 協議,當在最小信道駐留時間內發(fā)現AP 時,表明當前信道中可能還有更多AP,STA 繼續(xù)在該信道掃描直到最大信道駐留時間;而在當前信道沒有發(fā)現AP 時,直接掃描下一個信道.經過這樣修改后,NS3 就可以支持802.11 的掃描過程了.
圖2為實驗所用的無線網絡仿真環(huán)境,共部署了4 個AP (AP1~AP4)、10 個靜止的STA (編號1~10)、一臺服務器和一個交換機,AP 的靜態(tài)配置參數如表3所示.圖2中以各個AP 為中心的圓給出了對應AP 的信號范圍邊界,STA 與AP 之間的虛線給出了STA 與AP 的關聯關系,服務器和4 個AP 通過交換機橋接在一起.
圖2 仿真的無線網絡環(huán)境
表3 AP1~AP4 的靜態(tài)配置參數
實驗時機器人沿水平虛線按照固定速率v=2 m/s從左向右移動,并且距離AP1 和AP2 更近一點.在兩個標記為“X”的地方發(fā)生切換.本節(jié)設計兩組實驗,第1 組實驗測試切換時延,第2 組實驗測試機器人的通信速率.
本組實驗測試3 種切換算法產生的切換時延.第1 種是802.11 采用的切換算法,機器人需要在全部11 個信道上進行掃描,每個信道最小和最大駐留時間分別為20 ms 和40 ms.第2 種是基于鄰居圖的切換算法,機器人同當前AP 通信獲取需要掃描的信道,切換時直接在指定的信道上執(zhí)行掃描.第3 種是本文提出的基于無線地圖的切換算法,機器人向服務器查詢需要關聯的AP,沒有信道掃描過程.本組實驗不考慮通信帶寬需求,因而網絡中不生成數據流量.
每一次實驗,記錄機器人從起點到終點的移動過程中每次切換的開始時間與結束時間,計算出切換延時,取兩次切換延時的平均值作為本次實驗結果.共做10 次實驗,取10 次實驗結果的平均值.3 種切換算法的平均切換延時顯示在圖3中.
圖3 不同算法切換時延
在不同的切換算法下,機器人在兩個標記為“X”的地方進行切換的開始時間與結束時間如表4.
表4 不同算法切換時間點(單位:s)
從圖3可以看到,802.11 的切換時延最高,本文算法的切換時延最低,切換時延基本上和掃描的信道數量正相關.本文算法由于只涉及一次服務器查詢,完全消除了掃描過程,切換時延是最低的.
本組實驗測試4 種AP 選擇算法對機器人通信速率的影響.第1 種是802.11(本文使用802.11b)采用的基于信號強度的AP 選擇算法,機器人選擇信號最強(在本實驗場景中即距離最近)的AP.第2 種是基于關聯終端個數的AP 選擇算法,AP 將STA 個數包含在信標幀或探測請求響應幀中,機器人選擇當前關聯了最少終端的AP.第3 種是基于信道利用率的AP 選擇算法,AP 將自己統(tǒng)計的信道利用率(當前MAC 層速率/AP 容量)包含在信標幀或探測響應幀中,機器人選擇當前信道利用率最低的AP.第4 種是本文提出的AP選擇算法,在滿足帶寬需求時選擇信號最強的AP,在不能滿足帶寬需求時選擇應用層剩余帶寬最大的AP.
取決于信道條件,802.11b 的MAC 層可支持1 Mb/s、2 Mb/s、5.5 Mb/s 和11 Mb/s 四種傳輸容量,但應用層的數據速率達不到MAC 層的傳輸容量.實驗前首先測量在不同的MAC 層傳輸容量下,應用層可以獲得的最大數據速率.令服務器向1 號STA 以不同的速率發(fā)送UDP 數據,每次持續(xù)20 s,測量1 號STA 的接收速率.逐步增大發(fā)送速率,直至1 號STA 的接收速率不再增長,此時1 號STA 的接收速率即為應用層最大數據速率,測量結果如圖4所示.可見在本文實驗環(huán)境下,1 Mb/s、2 Mb/s、5.5 Mb/s 和11 Mb/s 四種速率標準對應的應用層最大數據速率分別為0.87 Mb/s、1.6 Mb/s、3.2 Mb/s 和4.55 Mb/s.
圖4 802.11b 四種速率標準對應的應用層最大速率
為比較4 種AP 選擇算法的表現,服務器向選定的一些終端發(fā)送UDP 流量,以使不同的AP 具有不同的負載水平.由于已有的負載感知的AP 選擇算法均未考慮AP 容量的不同,為此以下實驗分兩種情況考慮,第1 種情況是所有AP 的容量均相同,第2 種情況是AP的容量有所不同.
首先測試AP 容量相同的情況.將所有AP 的容量設置為11 Mb/s,服務器向4 個STA 發(fā)送數據,4 個STA及其關聯的AP,以及服務器向各個STA 發(fā)送的速率如表5所示.
首先讓機器人靜止,測量在此流量配置下各個AP的MAC 層傳輸速率(穩(wěn)定后測量),并計算出各自的應用層剩余帶寬,如表6所示.
表5 網絡中的通信流量配置
表6 表4流量配置下的動態(tài)無線地圖(部分)(單位:Mb/s)
令機器人從起點向終點移動,服務器分別按照1 Mb/s 和500 Kb/s 兩種速率向機器人發(fā)送數據.由表4可以發(fā)現,機器人切換發(fā)生在第1 s 前和第47 s 后.為了測試切換對接受帶寬的影響,現在分別測量機器人在第1~40 s、第50~65 s 兩個時間段內的平均接收速率,這兩個區(qū)間沒有產生切換.以及整個第1~65 s 內的平均接收速率(有切換產生的丟包).每種發(fā)送速率做10 次實驗,取10 次實驗的平均值,實驗結果如圖5和圖6所示.表7則是不同的AP 選擇算法得到的AP 切換序列.
圖5 機器人在各個時間段的通信帶寬(發(fā)送速率500 Kb/s)
圖6 機器人在各個時間段的通信帶寬(發(fā)送速率1000 Kb/s)
當服務器發(fā)送速率為500 Kb/s 時,本文算法選擇了{AP1,AP2}.因為第1 次切換時,機器人能夠選擇AP1 和AP3,此時兩個AP 的剩余帶寬分別為500 Kb/s和1.5 Kb/s,都能滿足機器人500 Kb/s 的帶寬需求,故機器人選擇了距離更近的AP1.第2 次切換時,能夠選擇AP2 和AP4,由于應用層剩余帶寬都能滿足要求,同第1 次一樣,機器人選擇了距離更近的AP2.盡管不同的AP 選擇算法選擇的切換序列不盡相同,但是由于此時每個AP 都有足夠的剩余帶寬,因此在[1,40]和[50,65]兩個時間段內機器人的平均通信帶寬基本都達到了500 Kb/s.但在[1,65]時間段內機器人的平均通信帶寬都低于500 Kb/s,這是因為在切換過程中發(fā)生了丟包.注意到本文算法在[1,65]時間段內機器人的平均通信帶寬最高,這是因為本文算法的切換延時最短,從而因切換丟失的包最少.
表7 不同的AP 選擇算法得到的AP 切換序列
當服務器發(fā)送速率為1 Mb/s 時,使用802.11 的AP 選擇算法,機器人在[1,40]時間段內的平均通信帶寬未達到需求的1 Mb/s,因為機器人離候選AP1 和AP2 中的AP1 更近,而由表6知AP1 剩余帶寬不足1 Mb/s,達不到機器人的帶寬需求,機器人強行關聯AP1只會使AP1 過載,產生丟包.在[50,65]時間段內機器人接受帶寬為1 Mb/s,因為AP2 剩余帶寬為1.5 Mb/s,能夠滿足機器人的帶寬需求.在[1,65]全程時間段內,機器人接受僅為430 Kb/s,遠小于1 Mb/s,這是因為802.11 的切換時延過高,并且在[1,40]時間段也沒有滿足機器人的通信帶寬.帶寬使用基于STA 個數的AP 選擇算法,機器人在[1,40]和[50,65]時間段內的平均通信帶寬均未達到1 Mb/s,因為機器人只關心AP 關聯的STA 個數,但是沒有考慮每個AP 的當前實際負載.由表6可知,AP1 和AP4 雖然關聯的STA 個數最少,但是剩余帶寬卻是最低的,都僅剩500 Kb/s,無法滿足機器人帶寬需求,這樣的關聯結果就是對應的AP 產生丟包,機器人無法獲取1 Mb/s 的帶寬.使用基于信道利用率的AP 選擇算法和本文算法,機器人在[1,40]和[50,65]時間段內的平均通信帶寬均達到了1 Mb/s,這是因為AP3 比AP1 的信道利用率低,AP2比AP4 信道利用率低,且剩余帶寬都為1.5 Mb/s,機器人分別關聯AP3 和AP2,帶寬都能得到滿足.這和本文的算法的關聯結果是一樣的.在[1,65]時間段內,相比于基于信道利用率的AP 選擇算法,本文算法使得機器人的平均通信帶寬提高了24%,這主要源自本文算法產生的切換時延較低.其它兩個算法的平均通信帶寬較低,與它們選擇的AP 和切換延時都有關系.
接下來,測試AP 容量不同的情況.按照表8配置AP 容量和網絡中的數據流量,令服務器向指定的4 個STA 發(fā)送UDP 流量.首先讓機器人靜止,測量在此配置下各個AP 的MAC 層傳輸速率,并計算出各自的應用層剩余帶寬,如表9所示.
表8 AP 容量和網絡流量配置
表9 表8配置下的動態(tài)無線地圖(部分)(單位:Mb/s)
令機器人從起點向終點移動,服務器以500 Kb/s向機器人發(fā)送數據,測試不同的AP 選擇算法下機器人的平均通信速率,實驗結果如圖7所示,表10為不同算法選擇的AP 切換序列.
圖7 機器人在不同時間段內的平均通信帶寬
使用802.11 的AP 選擇算法,機器人在[1,40]時間段內的平均通信帶寬僅為320 Kb/s,根據表9,AP1 剩余帶寬為0.1 Mb/s,達不到機器人的帶寬需求,從而機器人關聯AP1 后產生大量的丟包.在[50,65]時間段內機器人接受帶寬為500 Kb/s,因為AP2 剩余帶寬為1 Mb/s,能夠滿足機器人的帶寬需求.使用基于STA 個數的AP 選擇算法,機器人在[1,40] 和[50,65]時間段內的平均通信帶寬均未達到500 Kb/s,由表9可知,AP1 和AP4 雖然關聯的STA 個數最少,但是剩余帶寬卻是最低的,僅剩0.1 Kb/s 和0.4 Kb/s,無法滿足機器人帶寬需求.使用基于信道利用率的AP 選擇算法和本文算法,機器人在[1,40]時間段內的平均通信帶寬達到了需求的500 Kb/s,此時兩個算法都選擇了AP3,而AP3 比AP1 的信道利用率低,剩余帶寬為0.6 Mb/s,滿足機器人的需求帶寬,但是[50-65]時間段內,基于信道利用率的算法選擇了AP4,機器人通信帶寬僅為461 Kb/s,低于500 Kb/s,由表9發(fā)現AP4 無法滿足機器人帶寬需求.本文算法根據應用層剩余容量選擇了AP2,可以滿足帶寬需求.在[1,65]時間段內,采用本文算法的機器人平均通信帶寬最高,這是因為其它算法或者無法全程滿足機器人的帶寬需求,或者由于切換延時較高產生較多的丟包.
表10 4 種AP 選擇算法產生的AP 切換序列
綜合以上實驗可以看到,本文算法在切換延時和通信帶寬保證方面均優(yōu)于已有的AP 切換算法.
本文面向工業(yè)機器人場景提出了一種基于動態(tài)無線地圖的帶寬保證快速切換技術框架,并在網絡仿真平臺NS3 上進行了實現和評估.與已有的AP 切換算法相比,本文方法可以極大地減小機器人的切換延時,同時滿足機器人的通信帶寬需求.