新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 無線傳感器網絡的WiME系統路由設計

無線傳感器網絡的WiME系統路由設計

作者:同濟大學 魏靜波 蔣平 朱勁 時間:2008-06-02 來源:《單片機與嵌入式系統應用》 收藏

  引 言

本文引用地址:http://butianyuan.cn/article/83489.htm

  隨著微機電技術、低功耗嵌入式技術和通信技術的飛速發(fā)展,具有感知能力、計算能力和無線通信能力的微型傳感器得到了廣泛的應用。這些由無線微型傳感器組成的傳感器網絡能夠協作地實時監(jiān)測、感知和采集網絡分布區(qū)域內的各種環(huán)境或檢測對象的信息,并對這些信息進行處理,傳送到需要這些信息的用戶。這便是被美國商業(yè)周刊認定的21世紀最具影響力的21項技術之一——(Wireless Sensor Network,WSN)。

  在一個20層樓高、有著上千個房間的龐大醫(yī)院中,一位剛進入大樓的坐在智能車中的老年人或殘障病人,如何可以輕松地到達自己要去的房間?我們正在嘗試為這樣的需求提供一種不需要外界干預的“室內自動導航系統”——稱為“無線復眼系統(Wireless Mosaic Eyes,)”。概括地講,它是一個基于生物行為啟發(fā)的,通過空中大量分布的無線節(jié)點對智能車提供行為控制,因此是一個采用實現的機器人導航系統。

  涉及兩個問題:一個是在地理空間的機器人路徑規(guī)劃,另一個是在分散的通信節(jié)點之間的信息通信。復眼可以作為機器人導航過程中的電子燈塔;無線復眼網絡可以被認為是描述地理空間的一個拓撲圖、地理路徑規(guī)劃,也可以被簡化為一個網絡拓撲圖中的路徑規(guī)劃。因此在中,空間路徑規(guī)劃和信息通信可以以完全相同的方式工作,而路徑規(guī)劃將根據各分散節(jié)點的語義定義為基礎。

  為了在WiME這樣一個采用無線傳感器網絡技術的系統的節(jié)點上實現完整地圖的機器人導航,本設計使用一種單步方向查詢的路徑存儲和查詢系統。為了進一步減小資源有限的無線傳感器節(jié)點中的路徑信息的數據量,在WiME的設計中對每一個分組使用來壓縮存儲。另外,由于路徑信息可能是動態(tài)建立的,為了滿足頻繁修改的要求,將每個子表設計為計數型。

  2 WiME系統

  2.1 WiME的生物啟發(fā)

  自主機器人通常都配備有傳感器,能夠感知環(huán)境并自主移動,其配備的傳感器可以認為是機器人的器官,它們所感知到的信息由機載電腦集中處理。這種集中構架面臨如下三大問題:傳感器處理過程在真實環(huán)境中不魯棒;在動態(tài)環(huán)境中,處理算法的計算量大;在非結構化的環(huán)境中理解場景十分困難。

  然而,與脊椎動物的眼睛相比,更低級的昆蟲的眼睛是極具創(chuàng)造性和多樣性的。生物學研究發(fā)現,一些昆蟲可以用很小的神經系統來處理上萬只小眼的信息。狼蛛復眼中的單眼功能不盡相同,一些用以提供前向視覺,而其他的則用來探測和提供周邊的視覺信息,這些視覺信號傳遞到大腦后可以融合并完成移動檢測、距離估計、運動控制等。因此,通過分布式功能劃分和適當的傳感器路由,復眼的信息處理機制的效率可以很高。

  受此啟發(fā),建立WiME這樣一個基于無線復眼網絡的智能環(huán)境。其中,各單眼將由低分辨率的視覺傳感器節(jié)點構成,通過IEEE 802.15.4協議通信并組織形成環(huán)境神經系統;通過探索仿生技術和算法,以支持無線復眼系統的智能信息處理(包括路徑規(guī)劃、行為協調、傳感器融合和路由等)以及視覺伺服。在WiME中,每個單眼都提供有明確的語義(定位信息和行為集),而它們的拓撲連接將采用行為網絡來隱式建立;行為將通過能量累積所產生的事件進行激發(fā)。節(jié)點之間的連接包含了信息融合和路由的條件概率信息;機器人的導航將建立在具有明確語義的傳感器拓撲圖的基礎之上,而不是建立在非結構的地理環(huán)境之上。

  2.2 WiME的設計目標

  (1)基于無線通信的分布式復眼

  以無線傳感器網絡為連接機制,將具有高運算量和大數據量特征的局部視覺信息以具有明確語義概念的形式實現通信連接,完成低通信帶寬的視覺協同。

  (2)基于語義和信息全息的路由算法

  該算法是一個針對用戶詢問的最優(yōu)路徑搜索算法。路由算法應充分考慮查詢語義,采用信息全息編碼方式壓縮可能查詢和全局路由表,最終實現快速尋優(yōu)。這也是昆蟲復眼信息流分布的具體體現。

  (3)生物啟發(fā)的分布式行為協調

  由于本研究將眾多運動行為分布在整個復眼系統中,機器人導航控制將面臨如何和諧地組織與激發(fā)行為。本研究將由生物神經網絡為啟發(fā),探索脈沖(spike)激勵的動作組織方式,以實現具有目標驅動和及時響應特性的行為控制網絡。

  2.3 無線復眼系統中的單視神經元的設計

 ?、倩A運動檢測器(EMD)。以生物視覺所特有的基礎運動檢測器(EMD)為藍圖,將低分辨率并可隨機讀取的CMOS視覺傳感器作為視網膜,與無線模塊連接構成系統單眼。

 ?、诘头直媛蕡D像的語義提取。實時圖像語義提取的內容包括:低分辨率的特征提取,包括顏色、紋理和區(qū)域形狀;融合紋理、顏色和形狀特征并給出解釋;區(qū)域分割和空間分析。這部分將采用降分辨率技術,通過并行運算與FPGA實現相結合,減少計算代價并把算法應用到分布式視覺融合中。

 ?、蹖ο蟾櫤湍J阶R別。

  ④無線傳感器節(jié)點。節(jié)點一方面通過外圍電路與EMD相連,另一方面通過IEEE 802.15.4協議的接收器與其他復眼及機器人進行通信,從而提供復眼神經系統的信道;同時,復眼信息的融合與行為序列的產生這樣的運算也要在節(jié)點上完成。

  3 路由方式的選擇

  所有的機器人導航都需要解決這樣的一個問題:機器人如何獲知通往目的地的道路。在無線傳感器網絡中,無線節(jié)點之間的信息通信路由也是一個首先要解決的問題。如前所述,由于地理信息固定,在WiME中空間路徑規(guī)劃和信息通信路由完全可以以相同的方式工作。因此下面以路徑規(guī)劃來說明這樣一個路由存儲和查詢方式的選擇問題。
 
  在無線傳感器網絡中,無線節(jié)點由于能量受限,采用的是低功耗嵌入式處理器,其計算能力和存儲空間都有限。WiME也不例外,一般無法直接存儲路徑信息或者將地圖信息存儲在節(jié)點上從而在需要時計算出最優(yōu)路徑。為此,首先考慮下面的4種方法。

  方法1:作為一種常用的方法,可以查詢整個地圖的路徑信息。由于房間數n眾多(認為n不小于1000),路徑數據巨大(存在n(n-1)/2條路徑),這樣的地圖可以由1臺或多臺主服務器提供。任何一個無線節(jié)點或鄰近的有限多個節(jié)點都滿足不了這樣的存儲量。一個自然的方法是將全局地圖存儲到服務器上,機器人終端在必要時從服務器上下載路徑信息。這類似于GPS設備的工作方式。

  方法2:根據使用的廣播式無線路由通信協議,建立一條到目標點的無線通信鏈路,并利用建立的這條通信線路作為地理導航線路。

  方法3:利用動態(tài)路徑規(guī)劃的思想,每個節(jié)點存儲與自身相關的一定范圍內的地理信息,并生成最優(yōu)路徑信息。

  方法4:每個節(jié)點存儲全局節(jié)點分布的地理信息和連接關系,在需要時與臨近的節(jié)點協同計算出最優(yōu)路徑。這是借鑒了計算機網絡中分布式計算的概念。

  每種方法各有其優(yōu)劣。第1種方法修改容易,增加或刪除節(jié)點只需要在主服務器端更新。第2種方法不需要事先知道節(jié)點的地理位置信息,整個路徑信息是動態(tài)建立和修改的。第3種方法可以隨著道路情況動態(tài)調整最優(yōu)路徑。由于節(jié)點能夠實時觀察到道路信息,可以引入參數來反映當前周邊道路狀況,比如道路的堵塞程度,并由此動態(tài)維護這樣一個包含自身及臨近區(qū)域的最優(yōu)路徑表。但是這3種方法都是在多跳通信的情況下完成的,返回完整的路徑信息需要較多的通信帶寬和較長的通信延時,這對通信協議的魯棒性提出了挑戰(zhàn)。第4種方法的存儲量相對要小,與節(jié)點個數同數量級,但是多節(jié)點協同的最優(yōu)路徑的實時分布式計算對于無線傳感器節(jié)點無疑是一個困難的問題。畢竟當前的分布式計算仍然局限在計算機網絡領域。如何將分布式計算和最新的網格計算的思想運用到無線傳感器網絡上,可能會成為嵌入式系統領域的下一個方向。

  在本設計的WiME中并沒有主機這個概念,每個無線移動節(jié)點同時充當了主機和路由器——這是一個Ad-Hoc網絡。Ad-Hoc網絡的路由方式可以分為兩大類:基于路由表的路由和基于按需建立路由的路由。由于龐大的路徑數據量和極為有限的存儲空間,上面的方法2、方法3和方法4都采用了基于按需建立路由的路由方式;而方法1雖然是通過服務器的方式提供了基于路由表的路由,但是有限的服務器的數量并不適合這樣一個龐大的無線傳感器網絡。難道真的不能在每個無線節(jié)點上存儲這樣一個全局路由表,實現真正的基于路由表的路由方式嗎?

  綜合考慮,本文提出了下面的方法——查詢目標方向。這類似于人們在大街上問路,對方會告知該往哪個方向走;走到下一岔口時,又只好重新問路;最終可以成功到達目的地,而被詢問者并不能提供這條路線的完整路徑,所能提供的只是一個大概方向。

  相比而言,這種方法利用到了室內相對固定的地理信息的先驗知識;每個節(jié)點只需要存儲自身到目標點的方向信息,其存儲量只是O(n);查詢時也避免了多跳通信的發(fā)生,而且沒有增加額外的通信負擔,顯然更適合無線傳感器網絡的特點。因此,WiME系統中的路徑查詢采用了這種方法,通信路由也基于這種方式建立。

  4

  4.1 路由信息的存儲和查詢

  在參考文獻[3]中,作者提出了在無線傳感器網絡中實現帶有語義的路由,其具體方法是在每個節(jié)點存儲了一個語義檢索表,檢索表的每一點對應一個區(qū)域分類。每個節(jié)點只存在有限的幾個區(qū)域分類或稱為“路由可能”。這樣,當發(fā)生包含足夠屬性的語義信息的路由查詢輸入時,節(jié)點調用自己的規(guī)則引擎,通過計算匹配到檢索表中的某一點,并從其對應的區(qū)域信息獲取通往該區(qū)域的下一跳的信息。這與本沒計中的這種單步路徑查詢的方法有相似之處。本設計中也有這樣的一種規(guī)則引擎,即下文所要介紹的Bloom Filter。所不同的是,在本設計中,檢索表不是一個,而是多個;檢索表中的元素不再指示區(qū)域或路由的類別,而是指示輸入是否在當前路由表中;而且查詢輸人不是抽象的語義信息,而是人名、房間號或單位名稱等這樣的含有明確語義的地理空間標識。

  下面可以看到,采用Bloom Filter不僅可以解決路由的分類和查詢問題,而且可以進一步降低資源有限的無線傳感器節(jié)點中的路徑信息的數據量。進而在WiME的設計中,對每一個分組使用計數型Bloom Filter實現了路由信息的動態(tài)修改。下面介紹基本的Bloom Filter和計數型Bloom Filter這兩種“規(guī)則引擎”。

  4.2 BIoom Filter概念

  Bloom Filter的概念最早是由B.H.Bloom于1970年提山的。已知一個集合S含有n個元素,每個元素可以是人名、網址或者某個編號之類的能被計算機識別的獨有的一個或一組符號。我們定義一個含有m個元素的向量表v,v中的每個元素只使用1位表示,即每個元素只能表示為0或1。初始化v的每個元素為0。假設有k個獨立的hash函數H1,…,Hk,映射范圍為m。對S中的每個元素,將其進行hash變換后在v中對應的位置上置1。

  如果要知道一個元素a是否在集合S中,可以參照圖1對其進行k個hash變換,并查詢v中對應的元素是否為1。如果k個對應元素均為1,就斷定a在集合S中。

  舉例來說,如果S表示的是一個URL查找表,每個元素平均包含50個ASCII碼,則直接存儲需要400n位;而采用Bloom Filter存儲,需要m位(m和kn同數量級)。由于hash函數的計算需要花費一定的時間,限制k的個數不會很大,使得存儲空間大大縮小,所以這是一種用時間換取空間的辦法。

        

  4.3 最優(yōu)情況下Bloom Filter的正向誤檢概率

  從上面可以看到,集合元素個數n、hash函數個數k和向量表長度m是Bloom Filter的3個關鍵參數。BloomFilter中存在著這樣一種情況,即雖然一個元素不屬于集合S,由于hash函數的隨機性,有可能k個hash變換在v中的對應元素均為1,從而該元素被誤認為屬于集合S。這種情況稱為“正向誤檢(false positive)”。從概率上看,正向誤檢總是不可避免的。

  將n個元素插入Bloom Filter表中后,每一位元素仍然為0的概率是(如無聲明,下面均認為hash函數是均勻映射的):

       

  4.4 計數型Bloom Filter

  在生成Bloom Filter表的過程中,不可避免地會出現映射到v的同一位置的情況,這在存在增刪的情況下就會出現問題。如果一個元素從集合中刪除,則其對應的Bloom Filter表中的元素都要從1變?yōu)?。那么,其他映射到該位置的元素在查詢自身是否屬于集合時,就不會得到正確結果,這稱為“反向誤檢(false negative)”。計數型Bloom Filter可以解決這個問題,它將向量表中每個位置從1位表示改為多位表示。這樣,添加操作中每映射到某一位置1次,該位置就計數加1;刪除操作中時,該位置減1。計數位數決定了所能計數的最大值。

  4.5 Bloom Filter的其他改進

  除了計數型Bloom Filter,還有許多在嘗試提出改進的Bloom Filter數據結構。參考文獻[6]提出的壓縮型Bloom Filter探討了非最優(yōu)情況下m、n和k之間的相互關系;參考文獻[7]提出的域衰減Bloom Filter,針對無線傳感器網絡中洪泛查詢的特點提出了隨空間域衰減的方式,其Bloom Filter向量表中置1的位會隨著空間域的變化以一定概率清0,則Bloom Filer解碼時就變成了統計k個hash函數對應位置上1的個數(個數越大可能性越大);參考文獻[8]提出的拆分型Bloom Filter,針對反復增刪最終導致最初設計的Bloom Filter表不可用的情況,提出將總表分割成多個子表來設計。

  綜合考慮,筆者仍然認為計數型Bloom Filter是簡單、易用的,而且具有較好的性能。盡管參考文獻[5]建議使用4位計數,但經過對計數位數的理論分析和實驗驗證,筆者最終采用了2位計數。這已經可以將進行反復增刪可能造成的反向誤檢的概率降低到1.85×10-4。反復增刪5396次,才會出現1次反向誤檢,對1000個節(jié)點這樣的規(guī)模已經是夠用的了。不過,對于這一問題的討論已經超出了本文的范圍,這里不再贅述。

  5 結 論

  WiME是一個基于生物行為啟發(fā)的、使用無線傳感器網絡實現的智能復眼系統。它嘗試著從仿生的角度來有效地降低智能實現的復雜性,提高機器人的移動能力;同時拓寬機器人的應用范圍,使廉價移動機器人也可以表現出卓越的移動智能。這是從另一個視角解決集中式人工智能所面臨的應用難點的一種新的理論嘗試。

  WiME中的機器人導航技術采用單步的方向查詢方式,完成了一跳情況下的路由查詢任務;而且使用了Bloom Filter來壓縮存儲,空間進行了高度優(yōu)化。這使在無線傳感器網絡這樣一個計算能力弱、資源嚴重受限的環(huán)境下完成路徑和通信路由查詢系統這樣一個包含大數據最的工作變成了現實。希望本設計的思路,對于其他的機器人導航應用有很好的啟發(fā)作用。



評論


相關推薦

技術專區(qū)

關閉