• 沒有找到結果。

無線感測網路之無縫隙覆蓋演算法及系統實作

N/A
N/A
Protected

Academic year: 2021

Share "無線感測網路之無縫隙覆蓋演算法及系統實作"

Copied!
99
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程研究所

碩士論文

無線感測網路之無縫隙覆蓋演算法

及系統實作

On Seamless Wireless Sensor

Deployment and System

Implementation

研 究 生:彭冠勳

指導教授:林亭佑 教授

(2)

無線感測網路之無縫隙覆蓋演算法及系統實作

On Seamless Wireless Sensor Deployment

and System Implementation

研 究 生:彭冠勳

Student:KUAN-HSIN PENG

指導教授:林亭佑

Advisor:Ting-Yu Lin

國 立 交 通 大 學

電信工程學系

碩 士 論 文

A Thesis

Submitted to Department of Communication Engineering College of Electrical Engineering and Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master In Communication Engineering Auguest 2008 Hsinchu, Taiwan

中華民國九十七年八月

(3)

I

無線感測網路之無縫隙覆蓋演算法及系統實作

學生:彭冠勳 指導教授

林亭佑

博士

國立交通大學電信工程學系﹙研究所﹚碩士班

摘要

無線感測網路(Wireless Sensor Network)的覆蓋率問題一直都備受重視,並 且為無線感測網路中一個重要議題;在大部份的研究中,通常都假設感測器為固 定式不具有移動能力的靜態節點,而且每個感測器的感測範圍(Sensing Range)皆 相同,然而在實際的環境裡,基於材質與製作流程等之各種因素,每個感測器的 感測範圍並不會完全相同;此外,傳統的無線感測網路所使用的感測器,其位置 是被固定在整個監控環境之中,當感測器發生電力不足或因外在環境造成損壞, 使用者都必須付出人力對這些故障的感測器進行汰換或維修的工作,以確保整個 感測網路的正常運作。 有鑑於此,本系統便是針對感測範圍大小不同且具有移動能力的感測器來 作討論,再透過本論文中所提出的 CADT 演算法,來解決感測器失效或者整體 網路感測器佈置不均勻時,所造成整體覆蓋率下降的問題;本論文中所提出的 CADT 演算法中,透過計算出每個感測器最佳的位移量及移動方向,來重新佈置 整個網路,有效提升整個網路的覆蓋率,進而達到無縫隙的無線感測網路。 本論文所提出的實作流程,其中的硬體設備是整合由美國 CrossBow(與美國 柏克萊大學產學合作的公司)公司所開發的一組無線感測網路發展工具(Micaz 感 測器)、嵌入式開發板(Stargate)及 Lego 公司所開發的 NXT 移動裝置,最後再結 合本論文所提出的 CADT 演算法,就可以動態並且有效率的修復網路上之偵測 死角,來提升整體網路的覆蓋率。

(4)

II

On Seamless Wireless Sensor Deployment

and System Implementation

student:KUAN-HSIN

PENG

Advisors:Dr. Ting-Yu Lin

Department﹙Institute﹚of Communication Engineering

National Chiao Tung University

Abstract

In a wireless sensor network, the coverage problem, which has gained much attention from the academia, is a very important issue. In most research works, the sensor nodes are generally considered as static devices without motion ability, and all of the sensor nodes are assumed to have the same sensing range. However, practical sensor nodes do not exactly have the same sensing range due to the various electronic materials used and different fabrication process. In addition, for sensor nodes lacking capability of moving, when some sensors run out of battery or go malfunctioning, users may have to repair or replace sensors manually in order to maintain normal network operations.

Our proposed system considers wireless sensors with motion ability and various sensing radii. We devise a Coverage Algorithm based on Delaunay Triangulation (CADT) to address the problem of decreased network coverage ratio due to broken sensors and uneven sensors distribution. The CADT algorithm helps sensor network redeployment by precisely calculating the required moving paths for all sensors to fix monitoring imperfections. The ultimate goal is to improve the coverage ratio, so that the surveillance area can be effectively seamlessly covered.

The software package used in our system implementation includes the integrated wireless sensor network development tools developed by Crossbow (to support the Micaz and Stargate embedded computing devices). For mobility, we programmed on the NXT mobile robots from Lego Inc. to carry Micaz sensors and Stargate control boards. The CADT algorithm has been implemented in the running prototype to demonstrate the efficacy of our proposed redeployment methodology.

(5)

III

誌謝

能夠順利完成此篇論文,最要感謝的人是我的指導教授 林亭佑 博士;老師 在我二年的碩士生涯中,在研究上都給予了相當多的幫助與指導,尤其在比賽期 間中,難為老師如此辛苦與花費許多時間,不斷的告知我比賽該注意的地方,讓 我在比賽中得到不錯的成績。 另外要感謝的,是實驗室裡的同學們,這兩年一起修課、聊天,在實驗室唸 書寫報告趕論文的日子裡,感謝他們為我帶來了美好的回憶;另外,要特別感謝 的是葳庭學妹,不管是在研究上或者是比賽上都幫了我不少的忙,讓我能更專注 在研究上。 最後,我要感謝我的家人、女朋友和其他好友們的支持與鼓勵,總讓我能心 無旁騖地從事研究工作,並在我遇到挫折與低潮時讓我能夠重新振作。 感謝所有幫助過我、陪伴我走過這一段時光的師長、同儕、朋友和家人。 謝謝! 誌於 2008.09 風城 交大 KUAN-HSIN

(6)

IV

目錄

摘要... I Abstract ... II 誌謝... III 目錄... IV 表目錄... VI 圖目錄... VII 第一章 緒論... 1 第二章 無線感測網路概述... 3 2.1 無線感測網路的起源與概念... 3 2.2 無線感測網路的特徵... 4 2.3 感測器的硬體設計... 5 2.4 感測網路應用... 6 第三章 CADT 演算法 ... 8 3.1 步驟 I : Divide Area ... 9 3.2 步驟 II : CADT-HD ... 10 3.2.1 基本概念... 11 3.2.2 CADT-HD 演算法 ... 12 3.2.3 Modified CADT-HD 演算法 ... 28 3.3 步驟 III : CADT-HR ... 58 3.3.1 CADT-HR 演算法 ... 59 3.3.2 重疊區域... 61 3.3.3 Local_Weight 求法 ... 62 3.3.4 Global_Weight 求法 ... 63 第四章 CADT 演算法模擬 ... 64

4.1 VFA (Virtual Force Algorithm) ... 64

4.2 Simulation Result ... 68 第五章 感測網路發展工具相關知識... 73 5.1 感測器 MPR2400 (MICAz) ... 73 5.2 嵌入式平台 (Stargate) ... 74 5.2.1 Stargate 硬體規格 ... 74 5.2.2 Stargate 應用 ... 75 5.3 Lego NXT Device ... 76 5.4 TinyOS 與 nesC 語言 ... 77 5.4.1 介紹... 77 5.4.2 TinyOS 簡介 ... 78 5.4.3 nesC 語言簡介... 79

(7)

V 第六章 無縫隙覆蓋率系統實作... 80 6.1 硬體設備... 80 6.1.1 移動式感測器... 80 6.1.2 資料搜集端... 81 6.1.3 Host 端 ... 82 6.2 系統佈置及協定... 83 6.2.1 系統佈置... 83 6.2.2 系統通訊協定... 83 6.3 實作流程簡述... 84 第七章 結論及未來展望... 88 參考資料... 89

(8)

VI

表目錄

表 2-1 Wireless Sensor Network 與 Ad Hoc Network 之比較表 ... 4 表 4-1 模擬參數表 ... 68

(9)

VII

圖目錄

圖 2-1 無線感測網路架構圖 ... 3 圖 2-2 貼身的家庭看護 ... 6 圖 2-3 隱形的保全人員 ... 7 圖 2-4 人性化的電子管家 ... 7 圖 3-2 感測器選取示意圖 ... 10 圖 3-3 幾何基本概念 ... 11 圖 3-4(a) CADT-HD 演算法表示圖-初始狀態,尚未加入任何感測器感測範圍 .. 12 圖 3-4(b) CADT-HD 演算法表示圖-加入 N1感測範圍 ... 14 圖 3-4(c) CADT-HD 演算法表示圖-加入 N2感測範圍 ... 16 圖 3-4(d) CADT-HD 演算法表示圖-加入 N3感測範圍 ... 18 圖 3-4(e) CADT-HD 演算法表示圖-加入 N4感測範圍 ... 20 圖 3-4(f) CADT-HD 演算法表示圖-加入 N5感測範圍 ... 22 圖 3-4(g) CADT-HD 演算法表示圖-加入 N6感測範圍 ... 23 圖 3-5(a) CADT-HD 演算法表示圖-初使狀態,尚未加入任何感測器感測範圍 .. 24 圖 3-5(b) CADT-HD 演算法表示圖--加入 N1感測範圍(判斷錯誤) ... 26 圖 3-6 CADT-HD 演算法發生判斷錯誤情況圖 ... 27 圖 3-7 Modified CADT-HD 演算法表示圖(加入輔助點) ... 28 圖 3-8 Modified CADT-HD 演算法交點產生判斷圖 ... 29

圖 3-9(a) Modified CADT-HD 演算法表示圖-初使狀態,尚未加入任何感測器感測 範圍... 30

圖 3-9(b) Modified CADT-HD 演算法表示圖--加入 N1感測範圍 ... 32

圖 3-9(c) Modified CADT-HD 演算法表示圖--加入 N2感測範圍 ... 34

圖 3-9(d) Modified CADT-HD 演算法表示圖--加入 N3感測範圍 ... 36

圖 3-9(e) Modified CADT-HD 演算法表示圖--加入 N4感測範圍(尚未切割) ... 38

圖 3-9(f) Modified CADT-HD 演算法表示圖--加入 N4感測範圍(切割 Hole) ... 38

圖 3-9(h) Modified CADT-HD 演算法表示圖--加入 N4感測範圍(切割 Hole 之後)39 圖 3-9(i) Modified CADT-HD 演算法表示圖--加入 N5感測範圍 ... 41

圖 3-9(j) Modified CADT-HD 演算法表示圖--加入 N6感測範圍 ... 43

圖 3-10(a) Modified CADT-HD 演算法表示圖-初使狀態,尚未加入任何感測器感 測範圍... 44

圖 3-10(b) Modified CADT-HD 演算法表示圖--加入 N1感測範圍 ... 46

圖 3-10(c) Modified CADT-HD 演算法表示圖--加入 N2感測範圍 ... 48

圖 3-10(d) Modified CADT-HD 演算法表示圖--加入 N3感測範圍 ... 50

圖 3-10(e) Modified CADT-HD 演算法表示圖--加入 N4感測範圍 ... 52

圖 3-10(f) Modified CADT-HD 演算法表示圖--加入 N5感測範圍 ... 53

(10)

VIII

圖 3-10(h) Modified CADT-HD 演算法表示圖--加入 N6感測範圍(切割 Hole) ... 55

圖 3-10(i) Modified CADT-HD 演算法表示圖--加入 N6感測範圍(切割 Hole 之後)57 圖 3-11 CADT-HR 演算法示意圖 ... 58 圖 3-12 感測器與 Hole 交點表示圖 ... 59 圖 3-13 感測器移動示意圖 ... 60 圖 3-14 重疊區域表示圖 ... 61 圖 3-15 Local_Weight 示意圖 ... 62 圖 3-16 Global_Weight 示意圖 ... 63 圖 3-18 Virtual Force 在不同感測範圍的感測器情況下(α =1) ... 65 圖 3-19 考慮 Boundary Force 情況下 ... 66 圖 3-20 感測器移動方向 ... 67 圖 4-1 CADT 演算法執行結果 ... 70 圖 4-2 CADT/VFA 效能比較 ... 71 圖 4-3 CADT/VFA 移動量比較 ... 72 圖 5-1 感測器實體圖與系統方塊圖 ... 73

圖 5-2 Stargate Development Platform(Processor Board and Daughter Card) ... 74

圖 5-3 Lego NXT 機器人 ... 76 圖 5-4 TinyOS 支援各種低傳輸率及短距離之通訊協定 ... 78 圖 6-1 移動式感測器(Mobile Sensor) ... 80 圖 6-2 資料搜集端(Data Collector) ... 81 圖 6-3 Host 端 ... 82 圖 6-4 系統佈置圖 ... 83 圖 6-5 系統通訊協定 ... 83 圖 6-6 系統容錯機制 ... 84 圖 6-7 Mobile sensor 在監控環境下的分佈圖 ... 85 圖 6-8 Host 端顯示分佈圖 ... 85 圖 6-9 Mobile sensor 在監控環境下的分佈圖(感測器損毀情況下) ... 86 圖 6-10 Host 端顯示分佈圖(感測器損毀情況下) ... 86 圖 6-11 Mobile sensor 在監控環境下的分佈圖(網路修復完成) ... 87 圖 6-12 Host 端顯示分佈圖 (網路修復完成) ... 87

(11)

1

第一章 緒論

隨著微機電技術的進步與無線傳輸技術之發展,無線感測網路的應用範圍 也越來越廣泛;在無線感測網路的架構下,感測器本身就像一台小型電腦,具備 簡單的感測、運算、無線傳輸等功能,可以將環境中我們所感興趣的環境參數(如 溫度、溼度等)傳送給主控端,讓位於主控端的使用者能確切掌握環境的狀態; 而為了能達到這個目的,感測器的佈置對於整個感測網路是非常重要的。 在過去的研究中[1],[2],都假設在環境已知下,將感測器佈置在整個監控環 境中,但在大部份情況下,環境是未知且危險的區域,例如:太空、敵軍戰區、 地震地帶…等等,在這種情況下,感測器的佈置就相對的困難,所以在大部份的 情況下,透過飛機來將感測器撒至在監控區域中是一個解決辦法,但卻可能因為 風力或者建築物的關係,而無法掌握感測器降落的位置,則網路必然無法達到我 們所需的覆蓋率。 此外,在傳統感測網路中,皆為固定式的感測器,不具有移動的能力,往 往因為電池的消耗或者其它外在環境因素 (颱風、人力等)的侵蝕與損毀,造成 感測器失效的情況,進而導致網路感測上的死角及資訊傳遞上的阻斷,所以為了 避免這種情況發生,無線感測網路會佈置大量的感測器在網路中[3],透過排程 方式來修補感測上的死角,但這種方法事實上治標卻不治本;綜合以上,所以我 們便利用移動式的感測器移動到正確的位置來達到所需的覆蓋率。

本論文所提出的 CADT (Coverage Algorithm based on Delaunay Triangulation) 演算法可以針對整體覆蓋率下降的問題,透過可移動式的感測器自動重新佈置 (Auto-configuration)的網路架構,來填補監控網路上的感測漏洞,來提升整體網 路覆蓋率。CADT 包含三個步驟:

Step 1 將整個監控環境透過 Delaunay Triangulation 的幾何概念,切割成許多 大小不一的三角形。

(12)

2

Step 2 CADT-HD (CADT-Hole Detection),透過幾何的運算,找出每個三角 形沒有被感測器覆蓋的區域。

Step 3 CADT-HR (CADT-Hole Removal),針對每個三角形沒有被覆蓋的區 域,找出與鄰近感測器重疊範圍較大且分布較密集區域中的感測器進 行移動,來填補三角形中沒有被覆蓋的區域。 重覆以上步驟,直到整體覆蓋率達到所設定的覆蓋率門檻值(Coverage Threshold) 才終止,而根據最終模擬出來的結果,本論文所提出的演算法的確可 以有效率達到覆蓋率的要求。 本論文架構共分為六章,第二章【無線感測網路概述】敘述無線網路起源、 特徵及硬體設計,第三章【CADT 演算法】詳細介紹本論文所提出的演算法及 模擬資料,第四章【CADT 演算法模擬】 模擬 CADT 演算法效能,第五章【感 測網路發展工具相關知識】介紹我們所使用的軟硬體環境,第六章【無縫隙覆蓋 率系統實作】詳細的介紹本系統的架構及相關的實驗結果,第七章【結論及未來 展望】則是結論及提出未來改進及加強的重點。

(13)

3

第二章 無線感測網路概述

2.1 無線感測網路的起源與概念

無線感測網路技術(Wireless Sensor Networks)的開發源於美國軍事應用計 畫,最初的構想是利用微機電系統(MEMS)技術開發具備無線通訊能力的小型感 測器,將大量感測器構成的無線感測網路運用在軍事戰場,藉此幫助我方收集軍 事上所需的環境資料,如此一來,我方人員便可在安全的情況下,達到監控戰場 環境與敵軍行蹤之目標;近年來,無線感測網路在日常生活中逐漸普及,人們藉 由無線感測網路提供各種所需的服務,藉此增加生活上的便利性。 無 線 感 測 網 路 是 由 一 到 數 個 無 線 資 料 收 集 器 以 及 為 數 眾 多 的 感 測 器 (sensors)所構成的網路系統(圖2-1),而元件之間的溝通則是採用無線的通訊方 式;為了達到大量佈建的目的,無線感測網路必須具備低成本、低耗電、體積小、 容易佈建,並具有感應環境裝置,可程式化、可動態組成等特性。 . . . Cluster Head 1 Cluster Head 2 Cluster Head n 圖 2-1 無線感測網路架構圖

(14)

4

2.2 無線感測網路的特徵

感測網路的運行方式,與傳統無基礎架構網路(Ad Hoc Network)很相似,但 也有相異之處,下表 2-1 為 Wireless Sensor Network 與 Ad Hoc Network 之比較:

表 2-1 Wireless Sensor Network 與 Ad Hoc Network 之比較表 無線感測網路與傳統無基礎架構網路之比較 相同點 z 無線傳輸信號容易受到外在環境干擾,因此資料的可靠度較有線網路差 z 須使用相同傳輸媒介傳送信號 z 網路中每個節點的通訊傳輸範圍有限制 z 網路拓樸結構為動態分佈 相異點 z 感測節點的製造成本較低廉且體積較小,其傳輸距離、傳輸速率與功率都 較低 z 感測節點具備多種感測功能 z 佈置網路架構時,感測網路中的感測器與 Ad Hoc Network 中的行動基地 台(Mobile Station)相比,前者的數量較多且密度也較高 z 感測網路為了節省能量,因此不使用傳統無線網路 6 個位元組的硬體位址 (MAC Address)

z Ad Hoc Network 的傳輸模式以點對點(Peer to Peer)架構為主,而感測網路 傳輸模式則以群播(Multicast)為主

(15)

5

2.3 感測器的硬體設計

感測節點主要由四個基本成份組成。 (一) 感測單元(Sensing Unit) (二) 處理單元(Processing Unit) (三) 傳輸單元(Transceiver Unit) (四) 電力供應單元(Power Unit)。 在感測單元的部分,感測單元偵測環境得到的類比訊號經由類比/數位轉換 元件(ADC)轉換成數位訊號並將資料送到處理單元作處理。處理單元為一個小型 的MCU,具基本運算及儲存資料之功能,主要負責執行使用者規劃的程式碼, 來協調並控制感測器中不同的單元。處理單元處理後的資料由傳輸單元負責感測 器與其他感測器之間的溝通,或是將感測器的資料傳送給資料收集端。傳輸單元 可使用的傳輸介質有紅外線(Infrared)、無線電波(Radio)、以及光纖介質 (Optical Media)等,配合環境及應用的不同,可以使用不同的選擇。電力供應 單元必須負責感測器中所有單元的電力能量,為感測器中十分重要的單元。通常 感測器的電力是由電池所提供,因此在設計上,省電可以說是主要考量因素之一。

(16)

6

2.4 感測網路應用

(一) 貼身的家庭看護,為您的健康把關: 將感測器所量測的生理數據(如:血壓及脈膊值)回傳到醫院紀錄,醫院可 以藉由無線感測網路隨時監測病患的生理狀況,除了可以作為醫師開處方籤的參 考資料,當病患有任何突發的生理異常狀況,醫院都可以即時派出救援,增加醫 療行為的可靠和便利性。           由於無線感測網路的應用,就算在家中, 也能得到與醫院相同的醫療照護!  圖 2-2 貼身的家庭看護

(17)

7 (二) 隱形的保全人員---隨時守著您的居家安全 將口袋裡沉甸甸的鑰匙們丟掉吧!無線感測網路為您打造專屬的保全系 統,感測器會根據每位家庭成員的指紋和瞳孔來做判斷,每位想要進門的人,都 必須通過保全系統的判斷,才能進入家中。 圖 2-3 隱形的保全人員 (三) 人性化的電子管家,以提供家庭成員最舒適的居家環境 利用感測器去測量室內的溫度與溼度,再經由配合每位家庭成員不同的喜 好和需求,由感測網路中的中央控制電腦(Central controller)來控制整體居家環 境,進而做出最適當的調整及控制,為您打造更舒適且智慧化的居住空間。 BUN 25 Oc 45 %           根據室內的溫度與溼度, 經由感測網路做適當的調 整及控制。 圖 2-4 人性化的電子管家

(18)

8

第三章 CADT 演算法

CADT 演算法包含三個步驟:

第一個步驟,我們根據感測器的佈置的位置透過 Delaunay Triangulation 將 整個監控區域分割成許多大小不一的三角形。

第二個步驟,執行 CADT-HD (CADT-Hole Detection)演算法,利用幾何的運 算找出每個三角形沒有被覆蓋到的區域。

第三個步驟,執行 CADT-HR (CADT-Hole Removal)演算法,針對每個三角 形中沒有被覆蓋的區域,找出與鄰近感測器重疊區域最大且鄰近密集高的 感測器來移動,來填補其沒有被覆蓋的區域。

(19)

9

3.1 步驟 I : Divide Area

Delaunay Triangulation[4] 是在幾何運算非常重要的資料結構;它是在一種 在已部署節點的空間(或平面)中,依照各節點的位置劃分出三角形之圖式方法。 如圖 3-1,我們根據感測器的佈置的位置透過 Delaunay Triangulation 將整個 監控區域分割成許多大小不同的三角形,感測器則皆佈置在各三角形的頂點;我 們擺放幾個邊界感測器來設立我們監控的區域(不具有移動能力)[S10 ~ S17]。 S17 S16 S15 S14 S13 S11 S2 S10 S8 S11 S9 S12 S7 S6 S4 S5 S1 S3 圖 3-1 Delaunay Triangulation 監控區域切割圖

(20)

10

3.2 步驟 II : CADT-HD

由於每個感測器的感測範圍大小不盡相同,如圖 3-2,每個三角形中,不只 有部署在三角形頂點上的感測器具有覆蓋的此三角形區域的能力;鄰近三角形的 感測器也有機會會覆蓋到此三角形內的區域,所以我們便針對三角形頂點上的感 測器[S1 、S5 、S6],及鄰近三角形的感測器[S3 、S7 、S11],探討其覆蓋的程度。 當然,更遠三角形的感測器也有機會會覆蓋到此三角形內的區域[S2 、S4 、 S8、S9 、S10],我們的演算法也可以擴充到更多的感測器,但相對的計算量也會 增加;所以在此我們只討論此六個感測器的感測範圍。 S11 S10 S9 S8 S7 S6 S4 S5 S1 S3 S2 圖 3-2 感測器選取示意圖

(21)

11 3.2.1 基本概念 在幾何概念中,一個線條是由任意不同兩端點的連線所產生出來的,線條 上的任一點必在兩端點之間;當任意一個圓形同時包含此兩端點,則此圓形必定 將整個線條包圍住且不會和此線條產生任何交點(如圖 3-3 (a) );而當任意一個圓 形包含任何一端點時,則圓形必包圍線條上的一部份且和此線條產生一個交點, 而此交點必為新線條的端點(如圖 3-3 (b) );而當任意一個圓形不包含任何一端 點,但卻有包含此線條上的點,則此圓形必和此線條產生兩個交點,且將此線條 切分成兩線條,而此產生的兩交點各為兩新線條的端點(如圖 3-3 (c) )。 O1 T1 (a) 圓形(O1)同時包含此兩端點(T1、T2) 不會產生任何交點 T2 O1 T1 T3 T2 (b) 圓形(O1)同時包含一端點(T2)產生新 的交點(T3) T3 T4 O1 T1 (c) 圓形(O1) 不包含任何一端點,卻有 有包含此線條上的點,則產生兩個新交 點(T3、T4),各為新兩線段之端點。 T2 圖 3-3 幾何基本概念

(22)

12 3.2.2 CADT-HD 演算法 我們針對每一個 Delaunay Triangulation 所切割出來的三角形,一一加入感 測器覆蓋範圍,然後透過上述的基本概念,來找出其三角行內尚未被覆蓋區域的 交點。 如圖 3-4(a) 初使狀態下,尚未加入任何感測器的感測範圍,其 Hole 的交點 為三角形的頂點。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 L 13 N1 Position_X N1 Position_Y H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y H1 尚未覆蓋區域 L13 L23 L12 H3 H2 N6 N4 N3 N2 N1 感測器 Hole 焦點 N5 圖 3-4(a) CADT-HD 演算法表示圖-初始狀態,尚未加入任何感測器感測範圍

(23)

13 如圖 3-4(b)加入 N1的感測範圍,掃描所有 Hole 的交點(H1 ~ H3),找出有 被 N1感測範圍包圍的交點,然後刪掉此交點(H1)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N1 感測 範圍必產生交點在交叉線上。 (N1,L 、12 L13 ) =>(N1, L )、12 (N1,L13 ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y

(24)

14 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N1 感測器 Hole 焦點 H4 N5 圖 3-4(b) CADT-HD 演算法表示圖-加入 N1感測範圍

(25)

15 如圖 3-4(c)加入 N2的感測範圍,掃描所有 Hole 的交點(H1 ~ H4),找出有被 N2感測範圍包圍的交點,然後刪掉此交點(H2)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H3 L 23 L 13 N3 Position_X N3 Position_Y H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N2 感測 範圍必產生交點在交叉線上。 (N2  ,L 、12 L23 ) =>(N2  , L )、12 (N2  ,L23 ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H3 L 23 L 13 N3 Position_X N3 Position_Y H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y H2 L 12 N2  H2 Position_X H2 Position_Y H5 L 23 N2  H5 Position_X H5 Position_Y

(26)

16 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N5 N1 感測器 Hole 焦點 H4 H5 圖 3-4(c) CADT-HD 演算法表示圖-加入 N2感測範圍

(27)

17 如圖 3-4(d)加入 N3的感測範圍,掃描所有 Hole 的交點(H1 ~ H5),找出有 被 N3感測範圍包圍的交點,然後刪掉此交點(H3)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y H2 L 12 N2  H2 Position_X H2 Position_Y H5 L 23 N2  H5 Position_X H5 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N3 感測 範圍必產生交點在交叉線上。 (N3  ,L 、13 L23 ) =>(N3  , L )、13 (N3  ,L23 ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y H2 L 12 N2  H2 Position_X H2 Position_Y H5 L 23 N2  H5 Position_X H5 Position_Y H3 L 13 N3  H3 Position_X H3 Position_Y H6 L 23 N3  H6 Position_X H6 Position_Y

(28)

18 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N5 N1 感測器 Hole 焦點 H4 H5 H6 圖 3-4(d) CADT-HD 演算法表示圖-加入 N3感測範圍

(29)

19 如圖 3-4(e)加入 N4的感測範圍,掃描所有 Hole 的交點(H1 ~ H6),找出有被 N4感測範圍包圍的交點,然後刪掉此交點(H3、H4)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 N1  H1 Position_X H1 Position_Y H2 L 12 N2  H2 Position_X H2 Position_Y H5 L 23 N2  H5 Position_X H5 Position_Y H6 L 23 N3  H6 Position_X H6 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N4 感測 範圍必產生交點在交叉線上。 (N4  ,N1  、L 、13 N3  、L13 ) =>(N3  ,N4  )、 (N1  ,N4  ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 N1  H1 Position_X H1 Position_Y H2 L 12 N2  H2 Position_X H2 Position_Y H5 L 23 N2  H5 Position_X H5 Position_Y H6 L 23 N3  H6 Position_X H6 Position_Y H3 N3  4 N H3 Position_X H3 Position_Y H4 N1  4 N H4 Position_X H4 Position_Y

(30)

20 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N5 N1 (e) 加入 N4感測範圍 感測器 Hole 焦點 H4 H5 H6 圖 3-4(e) CADT-HD 演算法表示圖-加入 N4感測範圍

(31)

21 如圖 3-4(f)加入 N5的感測範圍,掃描所有 Hole 的交點(H1 ~ H6),找出有被 N5感測範圍包圍的交點,然後刪掉此交點(H1、H2、H5)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H6 L 23 N3  H6 Position_X H6 Position_Y H3 N3  4 N H3 Position_X H3 Position_Y H4 N1  4 N H4 Position_X H4 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N5 感測 範圍必產生交點在交叉線上。 (N5  ,N1  、L 、12 N2  、L 、12 N2  、L23 ) =>(L ,23 N5  )、 (N1  ,N5  ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H6 L 23 N3  H6 Position_X H6 Position_Y H3 N3  4 N H3 Position_X H3 Position_Y H4 N1  4 N H4 Position_X H4 Position_Y H1 N1  5 N H1 Position_X H1 Position_Y H2 L 23 N5  H2 Position_X H2 Position_Y

(32)

22 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N5 N1 感測器 Hole 焦點 H4 H6 圖 3-4(f) CADT-HD 演算法表示圖-加入 N5感測範圍

(33)

23 如圖 3-4(g)加入 N6的感測範圍,掃描所有 Hole 的交點,並沒有包含任何的 交點,則代表對此三角形並沒有提供覆蓋的能力,所以交點不變。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H6 L 23 N3  H6 Position_X H6 Position_Y H3 N3  4 N H3 Position_X H3 Position_Y H4 N1  4 N H4 Position_X H4 Position_Y H1 N1  5 N H1 Position_X H1 Position_Y H2 L 23 N5  H2 Position_X H2 Position_Y L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N5 N1 感測器 Hole 焦點 H4 H6 圖 3-4(g) CADT-HD 演算法表示圖-加入 N6感測範圍

(34)

24 我們再來看另外一個例子;如圖 3-5(a)初使狀態下,尚未加入任何感測器的 感測範圍,其 Hole 的交點為三角形的頂點。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H1 L 12 L 13 N1 Position_X N1 Position_Y H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N1 感測器 Hole 焦點 N5 L13 圖 3-5(a) CADT-HD 演算法表示圖-初使狀態,尚未加入任何感測器感測範圍

(35)

25 如圖 3-5(b)加入 N1的感測範圍,掃描所有 Hole 的交點(H1 ~ H3),找出有 被 N1感測範圍包圍的交點,然後刪掉此交點(H1)。 ID 交叉線 1 交叉線 2 X-座標 Y-座標 H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y 將被刪除交點的交叉線列出來,如果沒同時包含交叉線的兩端點,N1 感測 範圍必產生交點在交叉線上。 (N1,L 、12 L13 ) =>(N1, L )、12 (N1,L13 ) ID 交叉線 1 交叉線 2 X-座標 Y-座標 H2 L 12 L 23 N2 Position_X N2 Position_Y H3 L 23 L 13 N3 Position_X N3 Position_Y H1 L 12 N1  H1 Position_X H1 Position_Y H4 L 13 N1  H4 Position_X H4 Position_Y

(36)

26 L13 尚未覆蓋區域 L23 L12 H1 H3 H2 N6 N4 N3 N2 N1 感測器 Hole 焦點 H4 N5 Lost 掉的焦點 圖 3-5(b) CADT-HD 演算法表示圖--加入 N1感測範圍(判斷錯誤) 根據演算法,我們可以透過 N1 的交叉線訊息,推導出兩個新的交點(H1H4),但在實際的情況下,我們發現 N1的感測範圍,也產生兩個新的交點在L 的23 線段上,並將整個尚未覆蓋的區域切分成兩塊,這個結果跟我們的所推導出來的 結果有很大的誤差。 這是由於在我們的演算法中,是透過取得交點上的交叉線資料,來檢查是 否包含線段或圓弧的兩端點,來決定是否產生交點;但 N1的感測範圍在L 的線23 段上抓不到任何交點,所以並沒有辦法在L 的線段上產生新交點,而產生判斷23 錯誤。

(37)

27 圖 3-6 的三個情況中,都是因為取得不到線段或者是圓弧上的交點訊息,而 造成演算上的判斷錯誤。 L13 L23 L12 N4 N6 N3 N2 N1 N5 CASE I L13 L23 L12 N4 N6 N3 N2 N1 N5 CASE II L13 L23 L12 N4 N6 N3 N2 N1 N5 CASE III 尚未覆蓋區域 感測器 Hole 焦點 Lost 掉的焦點 圖 3-6 CADT-HD 演算法發生判斷錯誤情況圖

(38)

28 3.2.3 Modified CADT-HD 演算法 由於因為沒辦法取得線段上或圓弧上的交點,而造成演算上判斷錯誤;所 以我們便在線段和圓弧上加上輔助點(交點位置也需擺放兩交叉線的輔助點),每 個輔助點,記錄所在的線段及所在的位置(如圖 3-7);透過輔助點的加入我們可 以準確的在線段或圓弧上產生新的交點,甚至也可清楚的描述整個破洞的形狀及 大小。 L13 L23 L12 N4 N6 N3 N2 N1 擺放輔助點 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 X-axis Y-axis X-axis Y-axis 12 L 12 L 23 L 23 L X-axis Y-axis 13 L L13 N5 圖 3-7 Modified CADT-HD 演算法表示圖(加入輔助點)

(39)

29 YY T2 O1 T1 (a) 圓形(O1)包含四組L ,則不會產生12 任何焦點在L 上 12 XX L 12 L12 L 12 L12 XX YY 12 L T2 YY O1 T1 (b) 圓形(O1)包含三組L ,則產生一個12 新的焦點在L 上 12 12 L L12 L12 YY 12 L T2 O1 T1 (c) 圓形(O1) 包含兩組L ,則產生兩個12 新焦點在L 上,各為新兩線段之端點。12 12 L L12 12 L 圖 3-8 Modified CADT-HD 演算法交點產生判斷圖 我們透過計算交叉線的組數,來判斷圓與線段發生交點的情形;由於每個 線段與圓弧長度不同,則輔助點數量也會不大相同,所以我們將所包含到相同線 段或圓弧輔助點(不論多少點)都視為兩組交叉線。 當任意一個圓形同時包含線段兩端點及線段上所有的輔助點(共有四組交 叉線),則此圓形必定將整個線條包圍住且不會和此線條產生任何交點(如圖 3-8 (a) );而當任意一個圓形包含線段任何一端點及部份輔助點(共有三組交叉線), 則圓形必包圍線條上的一部份且和此線條產生一個交點,而此交點必為新線條的 端點(如圖 3-8 (b) );而當任意一個圓形不包含線段任何一端點,但卻有包含此線 條上的輔助點(共有二組交叉線),則此圓形必和此線條產生兩個交點,且將此線 條切分成兩線條,而此兩交點各為兩新線條的端點(如圖 3-8 (c) )。

(40)

30 我們來舉個例,如圖 3-9(a)初始狀態下,尚未加入任何感測器的感測範圍, 交點為三角形的頂點,且佈滿輔助點在三個線段上面。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 L 13 N1 Position_X N1 Position_Y 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5

圖 3-9(a) Modified CADT-HD 演算法表示圖- 初使狀態,尚未加入任何感測器感測範圍

(41)

31 如圖 3-9(b)加入 N1的感測範圍,掃描所有 Hole 的交點(H1 ~ H3)及輔助點, 找出有被 N1感測範圍包圍的交點及輔助點,然後刪掉此交點(H1)及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N1的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 12 L 3 產生一個新的交點 H1 13 L 3 產生一個新的交點 H4 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 共產生兩個新交點 H1、H4 (不需切割 Hole),且需在N1  的圓上(H1到 H4之 間)產生輔助點。

(42)

32 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 感測器 Hole 焦點 Hole 輔助點 N1 H1 H2 N2 H2 H4 N5 圖 3-9(b) Modified CADT-HD 演算法表示圖--加入 N1感測範圍

(43)

33 如圖 3-9(c)加入 N2的感測範圍,掃描所有 Hole 的交點(H1 ~ H4)及輔助點, 找出有被 N2感測範圍包圍的交點及輔助點,然後刪掉此交點(H2)及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 12 L 3 產生一個新的交點 H2 23 L 3 產生一個新的交點 H5 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 共產生兩個新交點 H2、H5 (不需切割 Hole),且需在N2  的圓上(H2到 H5之 間)產生輔助點。

(44)

34 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H2 H1 H4 H3 H5 N5 圖 3-9(c) Modified CADT-HD 演算法表示圖--加入 N2感測範圍

(45)

35 如圖 3-9(d)加入 N3的感測範圍,掃描所有 Hole 的交點(H1 ~ H5) 及輔助點, 找出有被 N3感測範圍包圍的交點及輔助點,然後刪掉此交點(H3) 及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 13 L 3 產生一個新的交點 H3 23 L 3 產生一個新的交點 H6 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y

(46)

36 共產生兩個新交點 H3、H6 (不需切割 Hole),且需在N3  的圓上(H3到 H6之 間)產生輔助點。 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H4 H5 H3 H6 N5 圖 3-9(d) Modified CADT-HD 演算法表示圖--加入 N3感測範圍

(47)

37 如圖 3-9(e)加入 N4的感測範圍,掃描所有 Hole 的交點(H1 ~ H6) 及輔助點, 發現 N4感測範圍只有包含L 、23 N1  線段上的輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 1 N 2 產生二個新的交點 H9、H10 23 L 2 產生二個新的交點 H7、H8

(48)

38 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H2 H5 H4 H3 H6 H7 H8 H9 H10 N5 H1

圖 3-9(e) Modified CADT-HD 演算法表示圖--加入 N4感測範圍(尚未切割)

由上表得知,N4的感測範圍共產生四個新的交點,也代表著 N4的感測範圍 將原本的一個 Hole 切割成兩個 Hole;我們將新產生的交點以順時針排列,然後 每兩個做一條切割線(如圖 3-9(f)),而兩個交點間加入輔助點,且將所有的交點 及輔助點根據所在切割區域做切割分配至兩個 Hole 中(如圖 3-9(h))。 N4 N3 N2 N1 切割線

(49)

39 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H3 L 23 N2  H3 Position_X H3 Position_Y 1 H4 L 23 N4  H4 Position_X H4 Position_Y 1 H5 N4  1 N H5 Position_X H5 Position_Y 2 H1 L 13 N1  H1 Position_X H1 Position_Y 2 H2 N4  1 N H2 Position_X H2 Position_Y 2 H3 L 23 N4  H3 Position_X H3 Position_Y 2 H4 L 23 N3  H4 Position_X H4 Position_Y 2 H5 L 13 N3  H5 Position_X H5 Position_Y 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H2 H3 H1 H5 H4 H5 H2 H4 H3 N5 H1

(50)

40 如圖 3-9(i)加入 N5的感測範圍,掃描第一個 Hole 的交點(H1 ~ H5) 及輔助 點,刪除表格中被包含的交點及輔助點,發現 N5的感測範圍包含第一個 Hole 所 有的交點及輔助點,且沒有任何焦點產生,則代表 N5的感測範圍已完整覆蓋第 一個 Hole;再掃描第二個 Hole 的交點(H1 ~ H5) 及輔助點,N5感測範圍沒有包 含任何的交點及輔助點,代表 N5的感測範圍對第二個 Hole 不具有覆蓋的能力。 Hole 1: 交叉線 包含組數 結果 新交點 ID 23 L 4 不需產生交點 None 2 N 4 不需產生交點 None 4 N 4 不需產生交點 None 1 N 4 不需產生交點 None 12 L 4 不需產生交點 None 產生後的交點表格 (Hole 1 全部覆蓋): Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 2 H1 L 13 N1  H1 Position_X H1 Position_Y 2 H2 N4  1 N H2 Position_X H2 Position_Y 2 H3 L 23 N4  H3 Position_X H3 Position_Y 2 H4 L 23 N3  H4 Position_X H4 Position_Y 2 H5 L 13 N3  H5 Position_X H5 Position_Y

(51)

41 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H5 H4 H2 H3 N5

(52)

42 如圖 3-9(j)加入 N6的感測範圍,掃描所有 Hole 2 的交點(H1 ~ H5) 及輔助 點,找出有被 N6測範圍包圍的交點及輔助點,然後刪掉此交點(H1、H4、H5) 及 輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 2 H2 N4  1 N H2 Position_X H2 Position_Y 2 H3 L 23 N4  H3 Position_X H3 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 13 L 4 不需產生交點 None 3 N 4 不需產生交點 None 23 L 3 產生一個新的交點 H4 1 N 3 產生一個新的交點 H1 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 2 H2 N4  1 N H2 Position_X H2 Position_Y 2 H3 L 23 N4  H3 Position_X H3 Position_Y 2 H1 N1  6 N H1 Position_X H1 Position_Y 2 H4 L 23 N6  H4 Position_X H4 Position_Y 共產生兩個新交點 H1、H4 (不需切割 Hole),且需在N6  的圓上(H1到 H4之 間)產生輔助點。

(53)

43 尚未覆蓋區域 L13 L23 L12 N4 N6 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H4 H2 H3 N5 圖 3-9(j) Modified CADT-HD 演算法表示圖--加入 N6感測範圍 由上面推導可知,透過輔助點的加入我們可以準確的在線段或圓弧上產生 新的交點及切割情況,甚至透過輔助點也可清楚的描述整個破洞的形狀及大小; 我們再來舉個較為複雜的例子。

(54)

44 如圖 3-10(a)初使狀態下,尚未加入任何感測器的感測範圍,其 Hole 的數量 只有一個且交點為三角形的頂點且佈滿輔助點在三個線段上面。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 L 13 N1 Position_X N1 Position_Y 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 尚未覆蓋區域 L13 L23 L12 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5

圖 3-10(a) Modified CADT-HD 演算法表示圖- 初使狀態,尚未加入任何感測器感測範圍

(55)

45 如圖 3-10(b)加入 N1的感測範圍,掃描所有 Hole 的交點(H1 ~ H3)及輔助點, 找出有被 N1感測範圍包圍的交點及輔助點,然後刪掉此交點(H1)及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N1的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 12 L 3 產生一個新的交點 H1 13 L 3 產生一個新的交點 H4 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H2 L 12 L 23 N2 Position_X N2 Position_Y 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 共產生兩個新交點 H1、H4 (不需切割 Hole),且需在N1  的圓上(H1到 H4之 間)產生輔助點。

(56)

46 尚未覆蓋區域 L13 L23 L12 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 圖 3-10(b) Modified CADT-HD 演算法表示圖--加入 N1感測範圍

(57)

47 如圖 3-10(c)加入 N2的感測範圍,掃描所有 Hole 的交點(H1 ~ H4)及輔助點, 找出有被 N2感測範圍包圍的交點及輔助點,然後刪掉此交點(H2)及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 12 L 3 產生一個新的交點 H2 23 L 3 產生一個新的交點 H5 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H3 L 23 L 13 N3 Position_X N3 Position_Y 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 共產生兩個新交點 H2、H5 (不需切割 Hole),且需在N2  的圓上(H2到 H5之 間)產生輔助點。

(58)

48 尚未覆蓋區域 L13 L23 L12 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 H5 圖 3-10(c) Modified CADT-HD 演算法表示圖--加入 N2感測範圍

(59)

49 如圖 3-10(d)加入 N3的感測範圍,掃描所有 Hole 的交點(H1 ~ H5) 及輔助 點,找出有被 N3感測範圍包圍的交點及輔助點,然後刪掉此交點(H3) 及輔助點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 13 L 3 產生一個新的交點 H3 23 L 3 產生一個新的交點 H6 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y

(60)

50 共產生兩個新交點 H3、H6 (不需切割 Hole),且需在N3  的圓上(H3到 H6之 間)產生輔助點。 尚未覆蓋區域 L13 L23 L12 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 H5 H6 圖 3-10(d) Modified CADT-HD 演算法表示圖--加入 N3感測範圍

(61)

51 如圖 3-10(e)加入 N4的感測範圍,掃描所有 Hole 的交點(H1 ~ H6) 及輔助 點,發現 N4感測範圍只有包含L 線段上的輔助點。 13 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N2的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 13 L 2 產生二個新的交點 H7 、H8

(62)

52 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y 1 H7 L 13 N4  H7 Position_X H7 Position_Y 1 H8 L 13 N4  H8 Position_X H8 Position_Y 共產生兩個新交點 H7、H8 (不需切割 Hole),且需在N4  的圓上(H7到 H8之 間)產生輔助點。 尚未覆蓋區域 L23 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 H5 H6 H8 H7

(63)

53 如圖 3-10(f)加入 N5的感測範圍,掃描所有 Hole 的交點(H1 ~ H8) 及輔助 點,沒有包含任何的交點及輔助點,所以交點不變。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y 1 H7 L 13 N4  H7 Position_X H7 Position_Y 1 H8 L 13 N4  H8 Position_X H8 Position_Y 尚未覆蓋區域 L23 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 H5 H6 H8 H7 圖 3-10(f) Modified CADT-HD 演算法表示圖--加入 N5感測範圍

(64)

54 如圖 3-10(g)加入 N6的感測範圍,掃描所有 Hole 的交點(H1 ~ H8) 及輔助 點,發現 N6感測範圍只有包含L 、12 L 、23 N1  、N4線段上的輔助點但沒有包含 任何交點。 Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N1  H1 Position_X H1 Position_Y 1 H4 L 13 N1  H4 Position_X H4 Position_Y 1 H2 L 12 N2  H2 Position_X H2 Position_Y 1 H5 L 23 N2  H5 Position_X H5 Position_Y 1 H3 L 13 N3  H3 Position_X H3 Position_Y 1 H6 L 23 N3  H6 Position_X H6 Position_Y 1 H7 L 13 N4  H7 Position_X H7 Position_Y 1 H8 L 13 N4  H8 Position_X H8 Position_Y 將被刪除交點的交叉線及輔助點列出來,統計出 N6的感測範圍包含線段的 組數 交叉線 包含組數 結果 新交點 ID 12 L 2 產生二個新的交點 H11 、H12 23 L 2 產生二個新的交點 H9 、H10 1 N 2 產生二個新的交點 H13 、H14 4 N 2 產生二個新的交點 H15 、H16

(65)

55 尚未覆蓋區域 L23 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H2 H3 N5 H4 H5 H6 H8 H7 H10 H9 H12 H11 H13H14 H15 H16 圖 3-10(g) Modified CADT-HD 演算法表示圖--加入 N6感測範圍(尚未切割) 由上表可知,N6的感測範圍共產生八個新的交點,也代表著 N6的感測範圍 將原本的一個 Hole 切割成四個 Hole;我們將新產生的交點以順時針排列,然後 每兩個交點做一條切割線(如圖 3-10(h)),而兩個交點間加入輔助點,且將所有的 交 點 及 輔 助 點 根 據 所 在 區 域 做 切 割 分 配 至 四 個 Hole 中 ( 如 圖 3-10(i)) 。 尚未覆蓋區域 L23 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 切割線 切割線 切割線

(66)

56 產生後的交點表格: Hole ID ID 交叉線 1 交叉線 2 X-座標 Y-座標 1 H1 L 12 N2  H1 Position_X H1 Position_Y 1 H2 L 23 N2  H2 Position_X H2 Position_Y 1 H3 L 23 N6  H3 Position_X H3 Position_Y 1 H4 L 12 N6  H4 Position_X H4 Position_Y 2 H1 L 12 N1  H1 Position_X H1 Position_Y 2 H2 L 12 N6  H2 Position_X H2 Position_Y 2 H3 N1  6 N H3 Position_X H3 Position_Y 3 H1 L 13 N1  H1 Position_X H1 Position_Y 3 H2 L 13 N4  H2 Position_X H2 Position_Y 3 H3 N6  4 N H3 Position_X H3 Position_Y 3 H4 N1  4 N H4 Position_X H4 Position_Y 4 H1 L 13 N4  H1 Position_X H1 Position_Y 4 H2 L 13 N3  H2 Position_X H2 Position_Y 4 H3 L 23 N3  H3 Position_X H3 Position_Y 4 H4 L 23 N6  H4 Position_X H4 Position_Y 4 H5 N6  4 N H5 Position_X H5 Position_Y

(67)

57 尚未覆蓋區域 L23 N6 N4 N3 N2 N1 感測器 Hole 焦點 Hole 輔助點 H1 H1 H2 N5 H1 H2 H3 H1 H2 H3 H4 H2 H3 H4 H3 H5 H4

圖 3-10(i) Modified CADT-HD 演算法表示圖--加入 N6感測範圍(切割 Hole 之後)

上述例子,可說明透過 CADT-HD 的演算法,可以清楚的描述未覆蓋區域 的形狀及大小以及位置。

(68)

58

3.3 步驟 III : CADT-HR

圖 3-11 中,透過 CADT-HD 的演算法,可以清楚的描述未覆蓋區域(淡紅色 區域)的形狀及大小以及位置;所以便可針對三角形沒有被覆蓋的區域(面積由大 到小排列),利用我們的 CADT-HR 演算法來找出與鄰近感測器重疊範圍較大且 分布較密集區域中的感測器作移動,來填補三角形中沒有被覆蓋的區域。 S17 S16 S 15 S14 S13 S11 S2 S10 S12 S11 S9 S8 S7 S6 S4 S5 S1 S3 圖 3-11 CADT-HR 演算法示意圖

(69)

59 3.3.1 CADT-HR 演算法 在 CADT-HR 中,為了避免感測器移動太遠造成電池的耗損,我們只針對 造成三角形沒有覆蓋區域旁的感測器,然後再從這些感測器中挑選一個重疊範圍 較大且分布較密集區域中的感測器朝向最遠的 Hole 交點作移動,來填補三角形 中沒有被覆蓋的區域。 在圖 3-12 中,透過之前 CADT-HD 演算法找出[H1~H6]的 Hole 交點及交叉 線;在 CADT-HR 演算法中,我們便可以透過 Hole 交點的交叉線,找出造成三 角形 Hole 的感測器 [N1、N3、N4、N5、N6]及所對應最遠的 Hole 交點。 感測器 N1 N3 N4 N5 N6 最遠 Hole 交點 H2 H6 H2 H6 H4 N1 N2 N3 N4 N5 N6 H1 H2 H3 H4 H5 H6 圖 3-12 感測器與 Hole 交點表示圖

(70)

60 我們再從五個感測器中,挑選一個重疊範圍較大(Local_Weight)且分布較密 集區域中(Global_Weight)的感測器來做移動,其方程式定義如下:

(

)

W

L

W

G

W

=

1

β

×

+

β

×

透過此方程式,我們挑選最大的 W 來做移動,透過β值來調整其權限,當 Hole 較大時,便需要區域較密集的感測器才可以覆蓋,則β 值需較小來增加 Global_Weight 較大的感測器做移動的機會;當 Hole 較小時,只需要鄰近感測器 重疊區域較大(Local_Weight 大)的感測器就可以覆蓋,則β 值需較大來增加 Local_Weight 較大的感測器做移動的機會;為了避免感測器移動產生來回移動振 盪現象,所以在我們演算法中,感測器每個 Round 只能移動一次。 β= Size Hole Maximum Size Hole _ _ _ × α 圖 3-13 中,假設 N4 的 Total_Weight 最大,則往最遠的 Hole 交點(H2)方向 做移動直到覆蓋 H2的交點,來填補三角形未覆蓋的區域。 N1 N2 N3 N4 N5 N6 H2 圖 3-13 感測器移動示意圖

(71)

61 3.3.2 重疊區域 在過去大部份的研究中,都是假設每個感測器具有相同的感測範圍 R,所 以在量測兩個感測範圍重疊的區域時,都是利用重疊區域的寬度(2R - 兩圓心距 離)來區別重疊區域的大小,但在本論文中,我們針對的感測器具有不同大小的 感測範圍,便無法單純的使用重疊區域的寬度來表示,只能真正計算重疊區域的 面積來區別重疊區域的大小,但這計算過程是相當的複雜且煩瑣,所以我們便用 一個粗糙的方式來區別重疊區域的大小。 1

r

r

2 1

C

C

2 w12 12 d 圖 3-14 重疊區域表示圖 圖 3-14 中,在具有不同大小感測範圍的感測器下,重疊區域的寬度 12 W (d12r1r2)無法清楚表示重疊區域的大小,畢竟在相同重疊區域的寬度W12 下,隨著感測範圍大小不同,則重疊區域大小也隨之不同;所以我們將感測範圍 的變化也表示在重疊區域大小的變化上,透過下面的表示式 Overlap Ratio O21 = 2 1 2 1 12 r r r W × × × π (For Circle C1) Overlap Ratio O12 = 2 2 2 1 12 r r r W × × × π (For Circle C2) 來表示重疊區域對各個圓所占的比例大小。

(72)

62 3.3.3 Local_Weight 求法 Local_Weight 是探討感測器本身能支援覆蓋的能力;我們將感測器與鄰近 感測器(延伸三角形的感測器) Overlap Ratio 大小全部加總在一起,來表示感測器 本身填補未覆蓋區域的能力。 如圖 3-15 中,S1 鄰近的感測器為[S2、S3、S4 、S5、S6],由於W 、13 W 、14 15 W 、W 大於 0,所以16 O 、31 O41O 、51 O 也皆為正數,代表有重覆的區域;而61 12 W 小於 0,所以O21為負數,代表兩圓沒有重覆的區域,則 Local_Weight 61 51 41 31 21 1 O O O O O O = + + + + 。

=

i Neighbor j ji i

O

O

S2 S6 S4 S5 S1 S3 O13 O14 O15 O16 O12 圖 3-15 Local_Weight 示意圖

(73)

63 3.3.4 Global_Weight 求法 Global_Weight 是探討感測器附近區域能支援感測器覆蓋的能力;以感測器 為起點,往外擴張兩階層,將兩階層內所有感測器的 Local_Weight 大小加總在 一起,除以兩階層內感測器的數量,但不考慮不具有移動能力的邊界感測器及所 針對的三角形上的感測器:圖 3-16 中,針對[S1、S6、S11]三角形中,探討 S1 感 測器的 Global_Weight,將第一階層[S2、S3、S5、S8](淡藍色)及第二階層[S4、 S7](淡綠色)的 Local_Weight 大小加總在一起除以兩階層內感測器的數量就為 S1 感測器的 Global_Weight;Global_Weight 越大代表感測器附近重疊的區域也越 大,也越有本錢可以彌補感測器移動後所造成的 Hole。 S17 S16 S 15 S14 S13 S11 S2 S10 S8 S11 S9 S12 S7 S6 S4 S5 S1 S3 圖 3-16 Global_Weight 示意圖

(74)

64

第四章 CADT 演算法模擬

在本章節,我們針對 CADT 演算法與 VFA 演算法來做效能上的評估;我們 在 4.1 節,針對 VFA 有概略的簡介;在 4.2 節我們在針對 Sensing Range 在不同 機率分佈下的效能評估。

4.1 VFA

(Virtual Force Algorithm)

在整個感測網路中,每個感測器都會對另一個感測器產生一個力,而這個 力可能是吸引力也可能是排斥力,當兩個感測器距離太過接近時,他們則會產生 排斥力;假如兩個感測器距離太過遙遠時,他們則會產生吸引力。 假設第 i 個感測器位在

(

Xi,Yj

)

位置上,則第 i 個感測器與第 j 個感測器的距 離

(

)

2 2 ) ( i j j i ij X X Y Y d = − + − Force FGij 則代表第 i 個感測器施加在第 j 個感測器上的力,FGij在極座標定 義如下:

(

ij th

)

ij ij th a d d d d w − > = if FGijth ij d d = = if FGij 0

(

th ij

)

ij ij th r d d d d w − + < = if FGij ,α π

(

i j

)

th SR SR d =α + SR 為第i i 個感測器的感測範圍 th d 代表第i 個感測器與第 j 個感測器之間距離的 threshold,為一個非常重 要的參數;當d 設定過小時,則感測器之間的覆蓋區域會變大;相反的,當th dth 設定過大時,則感測器之間的會產生較大的 Hole;w 、a wr也是一個非常重要的 參數,用來設定吸引力與排斥力的量,大部份wa<<wr

(75)

65 2 S 3 S 4 S 1 S 14 FG 0 = 13 FG 12 FG 14 13 12 1 F F F FG = G + G +G 圖 3-18 Virtual Force 在不同感測範圍的感測器情況下(α =1) 在圖 3-18 中,考慮四個感測範圍大小不同的感測器,總共對S1作用力為 14 13 12 1 F F F FG = G +G +G ;由於d12 >dth =(r1+r2)所以 S2給予S1是吸引力; th d d14< =(r1+r4)所以 S4給予S1是排斥力;d13=dth=(r1+r3)所以 S 不給予3 S1 作用力。 假設整個監控環境,共有 k 個感測器;對第 i 個感測器,則合力定義為:

≠ = = k i j j 1 , ij i F FG G 由於透過 VFA 將整個感測網路均勻分佈,但感測器卻很有可能移動超過我 們所監控的範圍,所以我們透過設定 Boundary Force 來避免此情況發生。

(76)

66 為了避免感測器移動超出我們所監控的範圍,如圖 3-19,我們佈滿具有相 同感測範圍的感測器於邊界上(邊界感測器),用來設立監控區域的範圍,當感測 器很靠近邊界時,我們會給予對邊界極大的排斥力,讓感測器往中間移動。 i S i SR B SR

(

X ,i Yi

)

B SR i FG d 圖 3-19 考慮 Boundary Force 情況下 考慮 Boundary Force 情況下,合力定義為: d m SR xi + i > − = if FG i 1,

π

d SR xi + i < = if FG i 1,0 d n SR y i + i > − = if F i 2 3 , 1 π G d SR y i + i < = if F i 2 , 1 π G otherwise k i j j=

≠ = , ij i F F 1 G G

(77)

67 我們將整個感測器移動區分成八個方向,根據合力所在的區域,決定移動 的方向,然後朝著那個方向一次移動一個 step;圖 3-20 中,FG1的合力落在m 的8 區域中,則S1則往m 方向移動一個 step。 8 1 FG 1 m 3 m 4 m 5 m 6 m m8 7 m 2 m 1 S 圖 3-20 感測器移動方向

(78)

68

4.2 Simulation Result

表 4-1 模擬參數表 監控範圍 300*300 邊界感測器數量 40 邊界感測器感測範圍 25 移動感測器感測範圍 Normal(45,25) 移動式感測器數量 20 α 0.75 a

w

2 r

w

2000 (a) Initial Deployment

(79)

69 (b)Round 2 (c)Round 4 Coverage_Ratio=67.1961 Coverage_Ratio=85.4379 (d)Round 8 (e)Round 12 Coverage_Ratio=95.8046 Coverage_Ratio=99.5111

(80)

70 (f)Round 14 Coverage_Ratio=99.8529

圖 4-1 CADT 演算法執行結果

圖 4-1 中,隨著 CADT 演算法執行次數增加,其 Coverage Ratio 也逐漸的 提升;最後可以在圖 4-1 (f)中發現在 CADT 演算法在第 14 次時,整個網路已趨 近於無縫隙的感測網路;另外,圖 4-1 中的藍點則是透過 CADT-HD 所產生出來 的焦點,證明了我們 CADT-HD 的確可以準確的抓出 Hole 焦點的所在。

(81)

71

圖 4-2 CADT/VFA 效能比較

圖 4-2 中, 我們比較 CADT 及 VFA 演算法在不同感測器數量下的效能分 析;CADT 演算法,在感測器數量較少情況下,雖然 Round 次數有增加,但其 覆蓋率卻仍可趨近於 Seamless Coverage;而 VFA 經過了 70 幾個 Round,到達大 概 97%的水準;這是因為 CADT 是針對未被覆蓋的區域做有效率的移動,而 VFA 則是讓每個感測器能平均分散在整個區域中,而不是針對 Hole 去做填補,所以 需要較多的感測器來達到 Seamless Coverage。

(82)

72 圖 4-3 CADT/VFA 移動量比較 圖 4-3 中,發現 VFA 演算法隨著移動感測器數量的增加,感測網路的整體 移動量也隨之大幅度增加;這是由於 VFA 演算法中的感測器都是針對網路中所 有感測器的所產生出來的合力做移動,即時感測器鄰近沒有 Hole,在網路還沒 有達到一種平衡的狀態,它也會根據合力做移動,而且感測器數量越多越難達到 網路的平衡,所需移動的量也越多;而相對的,在 CADT 演算法中,我們則是 只針對 Hole 鄰近的感測器來做填補,則也是 CADT 演算法在感測器數量增加 時,其移動量也不會大幅度的增加,這對於電池供電的感測器,能大大的降低電 池的消耗;在 Node 數量較小時,CADT 演算移動了所有感測器來填補未覆蓋區 域,所以跟 VFA 的移動量差不多。 由圖 4-2 , 圖 4-3 我們得知 VFA 演算法隨著感測器數量的增加,覆蓋率可 以相對的提高,但對於整體移動量也會大幅的提高;而在我們的 CADT 演算法 中,透過增加 Node 數量,不但提高整體的覆蓋率,也並不會大幅增加整體的移 動量。

數據

表 2-1 Wireless Sensor Network 與 Ad Hoc Network 之比較表 ................................. 4  表 4-1  模擬參數表 ....................................................................................................
表 2-1 Wireless Sensor Network 與 Ad Hoc Network 之比較表  無線感測網路與傳統無基礎架構網路之比較  相同點  z  無線傳輸信號容易受到外在環境干擾,因此資料的可靠度較有線網路差  z  須使用相同傳輸媒介傳送信號  z  網路中每個節點的通訊傳輸範圍有限制  z  網路拓樸結構為動態分佈  相異點  z  感測節點的製造成本較低廉且體積較小,其傳輸距離、傳輸速率與功率都 較低  z  感測節點具備多種感測功能  z  佈置網路架構時,感測網路中的感測器與 A
圖 3-9(a) Modified CADT-HD 演算法表示圖-  初使狀態,尚未加入任何感測器感測範圍
圖 3-9(e) Modified CADT-HD 演算法表示圖--加入 N 4 感測範圍(尚未切割)  由上表得知,N 4 的感測範圍共產生四個新的交點,也代表著 N 4 的感測範圍 將原本的一個 Hole 切割成兩個 Hole;我們將新產生的交點以順時針排列,然後 每兩個做一條切割線(如圖 3-9(f)),而兩個交點間加入輔助點,且將所有的交點 及輔助點根據所在切割區域做切割分配至兩個 Hole 中(如圖 3-9(h))。  N 4 N 3N2 N1切割線
+7

參考文獻

相關文件

stating clearly the important learning concepts to strengthen the coverage of knowledge, so as to build a solid knowledge base for students; reorganising and

‡網路作業系統( network operating system). ‡網路作業系統( network

„ A host connecting to the outside network is allocated an external IP address from the address pool managed by NAT... Flavors of

 Teacher extends the discussion of a series of cash flows to uneven cash flows and explains the calculations of future and present value of a series of uneven cash flows. PPT#56

The Insurer agrees to provide coverage in respect of any Claim made against the principal appointed on acting basis and approved by the Education Bureau of the Government of the

We will design a simple and effective iterative algorithm to implement “The parallel Tower of Hanoi problem”, and prove its moving is an optimal

A multi-objective genetic algorithm is proposed to solve 3D differentiated WSN deployment problems with the objectives of the coverage of sensors, satisfaction of detection

“IEEE P1451.2 D2.01 IEEE Draft Standard for A Smart Transducer Interface for Sensors and Actuators - Transducer to Microprocessor Communication Protocols