第三章 感測網路下具調適能力的定位演算法
3.1 系統架構
3.1.1 系統網路架構
在 AHLOS[11]中提出了一個分散式的無線感測網路架構,感應器具有一部 分運算能力並且能夠執行分散式演算法依附近的參考點自己運算出位置。我們 認為如此有兩個缺點:第一個缺點是感測器必須增加額外的計算負擔,而第二 個缺點則是如此感測器只知道局部環境的位置,系統無法掌握整個網路拓僕。
我們所提出的系統架構與傳統的無線感測網路一樣,所不同的是,感測器將不 會自己計算出位置,而是完全將接收到參考點的位置以及訊號大小傳遞給資料 收集中心,由具有強大計算能力的資料收集中心統一計算出所有未知位置感測 器的位置,除此之外,資料收集中心可因此了解整個網路拓樸,而掌握整個系 統內所有感測器的覆蓋範圍,也能提供系統 Georouting 或者 Geocasting 的需 求。首先,我們先介紹資料收集中心以及感測器的任務,描述如下:
z 資料收集中心
需收集每個感測器所得到的訊號大小以及參考點的位置,並執行集中式 (Centralized)演算法計算出所有感測器的位置。除此之外,尚須管理感測網路 上的感測器,並收集由感測器所感測的結果,將結果處理後轉為有用的資訊傳 回給觀察者。
z 感測器
此系統需要有部分的感測器來做為定位程式的參考點,我們稱這些已知位 置的感測器為 Beacon Node,而其他還未知位置的感測器則為 Unknown Node。
Beacon Node 可能是某部分裝置 GPS 模組的感測器,或者是透過人工設定部份 的感測器。在室內中,也可拿基礎建設的無線橋接器當作 Beacon Node。這些 已知位置的 Beacon Node 為系統中定位的參考點,當 Unknown Node 接收到 Beacon Node 的訊號之後,會將此資訊傳遞給資料收集中心,由資料收集中心 來計算 Unknown Node 的位置。除此之外,感測器尚須具備感測物理現象及轉 送資料的能力。
以上為系統中資料收集中心以及感測器的任務,由於我們主要所探討的對 象是在此架構上的定位演算法(Localization Algorithm),我們將不討論在此網路
上的繞徑、省電及安全機制等。整個網路系統架構如圖 3.1。
圖 3.1 Sensor Network Architecture
3.1.2 系統運作流程
當系統中的感測器部署完成時,必須由資料收集中心啟動定位程式,首先,
資料收集中心會先向系統中的所有感測器發出 Neighbor-Probe Request,系統 中的感測器接收到 Neighbor-Probe Request 後,會主動向資料收集中心建立連 結,並告知資料收集中心有關位置及接收訊號大小的資訊(Neighbor-Signals Response),其中 Neighbor-Signals Response 的格式如圖 3.2:
圖 3.2 Neighbor-Signals Response
其中,Sensor IP 紀錄發出 Neighbor-Signals Response 的感測器的 IP,而
Sensor IP Sensor Position
Neighbor Num
Neighbor 1 IP
Neighbor 1 RX_RSSI
Neighbor Information
Neighbor M IP
Neighbor M RX_RSSI Fusion Center
Observer
Unknown Node Wireless Link
Beacon Node
Sensor Position 紀錄感測器的 x 座標值以及 y 座標值,若為 Unknown Node 則 此欄位為 NULL,Neighbor Num 紀錄此感測器有幾個 Neighbor,在這裡我們 所謂 Neighbor 的意思是指可以接收到訊號的感測器,而 Neighbor Information 則 紀 錄 了 所 有 可 接 收 到 訊 號 的 Neighbor 的 訊 號 , 共 有 M 筆 Neighbor Information,其中 M 由 Neighbor Num 決定,而 Neighbor Information 中則紀錄 了每個 Neighbor 的 IP 以及 Received RSSI 值。
如圖 3.3,當資料收集中心發出 Neighbor-Probe Request 之後,會啟動計時 器(Timer),等待一段時間間隔由感測器回應 Neighbor-Signals Response,當等 待 的 時 間 到 期 之 後 , 資 料 收 集 中 心 會 統 計 共 有 幾 個 感 測 器 回 應 Neighbor-Signals Response,開始執行定位演算法計算所有 Unknown Node 的位 置。
圖 3.3 Fusion Center Data Flow
而在此必須考慮感測器是否移動的問題,在我們系統架構中,只允許小部 分感測器的移動,若是大部分的網路拓樸皆改變時,則必須由資料收集中心重 新發出 Neighbor-Probe Request,然後重新執行演算法。當感測器移動時,會 接收到不一樣的 Neighbor RF 訊號,若是接收到的 Neighbor 訊號與之前完全不 同 , 我 們 稱 此 感 測 器 移 動 , 他 會 向 資 料 收 集 中 心 發 出 Neighbor-Signals Response,而資料收集中心收到之後,會執行定位演算法單獨找尋此點的位 置,然後將位置訊息回傳給此感測器,若在資料收集中心計算此感測器的位置 同時,另有一個感測器同時發出 Neighbor-Signals Response,則資料收集中心 會重新發出 Neighbor-Probe Request,重新執行所有感測器的定位程式。
3.2 具調適能力的定位演算法 (Adaptive Localization Algorithm)