• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
59
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

行動感測網路上之動態覆蓋技術

Dynamic Coverage Techniques in Mobile Wireless Sensor Networks

系所別: 資訊工程學系碩士班 學號姓名: M09902039 陳逸寧 指導教授: 俞征武 博士

中 華 民 國 102 年 8 月

(2)

i

摘要

近幾年無線感測網路的研究與應用越來越廣,早期無線感測網路的應用最主 要是要在無人的環境中進行監控,但為了減省成本與方便維護,致使有行動式感 測節點的發展,到了現在人們已經可以利用無線感測網路對未知的環境進行探勘,

因為在未知的環境可能是有危險的情況,所以會利用機器人代替人力的方式進入 未知的環境進行探勘和搜索,這就是為何現在會有機器人與無線感測網路結合的 原因。當然機器人不只可以對未知的環境進行探勘,也可以對環境產生動態式之 覆蓋對預想監控之環境進行巡邏監控。

在預想監控的環境中,會有多個感興趣的點,而這些感興趣的點必須被機器 人探索。事實上多數前人的研究是要為機器人規劃出最佳之路線,或是在給定的 時間內找出最佳個數的機器人對環境進行監控,但前人的研究成果中沒有考慮到 一點,即是在現實環境中的每個點,監控品質會不同,代表有些感興趣的點必須 要有較高的探索次數,而不是每個感興趣的點探索過一次即可,可能需要多次以 上,那這樣要如何用機器人產生動態式覆蓋對環境進行監控。

本論文我們定義了一個新穎的覆蓋問題,稱作動態式覆蓋技術,主要是希望 可以找出較佳個數的機器人對擁有不同監控品質的環境進行巡邏監控,還要為這 些機器人制定巡邏路線方式,並且要在給定的時間之內達成監控目標。而我們的 問題主要是跳脫傳統的覆蓋問題,使感興趣的點被監控的時間可以為不連續,加 以放寬傳統覆蓋中時間上的概念。第四章中我們將會提出三個方法為此解決,並 且會在第五章中對我們所提出的三個方法互相做出比較,在最後的第六章中會有 我們的結論與未來展望。

關鍵字:無線感測網路,機器人,動態式覆蓋

(3)

ii

Abstract

Wireless sensor networks have a wide range of potential applications in recent years. One of the most important goals is to monitor and to detect interested environment. In order to reduce deployment cost and to maintain conveniently, there are increasing applications on mobile sensor networks. Specifically, there are many locations of interest in the deployed environment, and those locations must be visited by robotic mobile sensors many times within a predefined time interval in order to collect important information.

Most of previous studies have focused on planning path for robotic sensors, or on find the optimal number of robots with a given but limited time. However, there are few papers mention that each location in the interested environment may has a different quality of surveillance, so some locations of interest may need higher exploration by the robotic sensors, rather than to explore only once.

In this work, we define a novel coverage problem, called dynamic coverage problem, which finds the least number of robotic sensors (with circular patrol paths) to meet the desired surveillance quality. The new problem is defined to relax this traditional constraint so that some interested places need not to be monitored at all time. That is, different areas may require different surveillance qualities. We also propose three algorithms to tackle the problem. Simulations are also conducted to demonstrate the effectiveness of the proposed algorithms.

Keywords- Wireless Sensor Networks; Mobile Sensor Networks; Dynamic coverage

(4)

iii

致謝

本篇碩士論文能夠順利完成,在此誠摯的感謝指導教授俞征武老師,在老師 細心的教導下,使我得以探討無線感測網路領域的深奧,透過不時的互動與討論,

指點了我正確的學習研究方向,使得我在這些年的日子中獲益匪淺,老師對學術 研究的嚴謹與深入更是我學習的典範。

還有感謝實驗裡的學長、同學與學弟們,常常在我遭遇挫折時給予適當的勉 勵與建議,並偶爾的為實驗室增添點風趣,使我在這幾年的研究生活不會感覺到 苦悶。

最後在此感謝我的家人,感謝父母的栽培,讓我能無憂無慮的求學及生活,

感謝你們的愛與奉獻,讓我能順利完成學業,僅以此文獻給我最摯愛的家人,以 即關心我的朋友、師長們。

陳逸寧 謹識

于 中華大學資訊工程研究所

一百零二年七月

(5)

iv

目錄

摘要... i

Abstract ... ii

致謝... iii

目錄... iv

第一章簡介... 1

1.1 簡介覆蓋問題 ... 2

1.2 行動式感測節點 ... 3

1.3 機器人巡邏監控 ... 4

1.4 研究動機 ... 4

第二章 相關研究成果... 6

2.1 動態覆蓋... 6

2.2 使用多個機器人為環境產生高效的覆蓋... 6

第三章 問題與定義... 8

3.1 環境假設... 8

3.2 暫時性覆蓋 ... 9

3.3 感測模型... 9

3.4 行動式節點的行動策略... 10

3.5 監控重疊問題... 11

第四章 動態覆蓋演算法... 12

4.1 環路合併... 12

4.1.1 環路合併演算法 ... 13

4.1.2 環路合併演算法範例 ... 14

4.2 高密度優先法... 18

4.2.1 高密度優先演算法 ... 19

4.2.2 高密度優先之範例... 20

4.3 矩形動態規劃... 25

4.3.1 矩形動態規劃最佳子序列 ... 30

4.3.2 矩形動態規劃演算法 ... 36

4.3.3 矩形動態規劃之範例 ... 37

4.4 問題之發現 ... 42

第五章 模擬實驗... 44

第六章 結論與未來方向... 49

參考文獻... 50

(6)

v

圖目錄

圖 1: 感測器...1

圖 2: 無線感測網路之架構...2

圖 3: 無線感測機器人...4

圖 4: 百貨公司平面圖...8

圖 5: 預想監控的環境轉換成矩陣...9

圖 6: 監控環境之座標...9

圖 7: 感測器的感測範圍大小與矩陣中的小區塊之關係...10

圖 8: 監控之狀況...10

圖 9: 行動式節點的行動策略...11

圖 10: 圖論之圖形...12

圖 11: 機器人巡邏分配方式之關係...13

圖 12: 環境矩陣圖形...14

圖 13: 圖論之數字轉成點之個數...15

圖 14: 將圖論中所有點做連線...15

圖 15: 合併三個迴圈示意圖...16

圖 16: 當一台機器人走過後之圖...16

圖 17: 問某一區塊創造假點方便為每一個點做相連...17

圖 18: 三個迴圈可合併一大迴圈...17

圖 19: 當兩台機器人走過後之圖...18

圖 20: 高密度優先示意圖...19

圖 21: 4 4 之矩陣環境...20

圖 22: 第一台機器人的巡邏路線...21

圖 23: 第一台機器人的巡邏路線...21

圖 24: 第一台機器人的巡邏路線...22

圖 25: 第一台機器人的巡邏路線...22

圖 26: 當一台機器人巡邏後對環境矩陣之影響...22

圖 27: 第二台機器人的巡邏路線...23

圖 28: 第二台機器人的巡邏路線...23

圖 29: 第三台機器人的巡邏路線...23

圖 30: 當第三台機器人巡邏後對環境矩陣之影響...24

圖 31: 當機器人無法回到起始點...24

圖 32: 即刻從第三步以最短路線走回起始點...24

圖 33: 五台機器人可達成目標...25

圖 34: 預想監控之環境矩陣...25

圖 35: 第一次切割示意圖...28

圖 36: 第一次切割後的子環境再次切割...29

(7)

vi

圖 37: 第二次切割方式示意圖...29

圖 38: 1 2 或 2 1 的矩陣...30

圖 39: 1 的矩陣...31

圖 40: 機器人在 3 1 的矩陣中所有的巡邏方式...31

圖 41: 機器人在 4 1 的矩陣中所有的巡邏方式...32

圖 42: 機器人在 2 2 的矩陣中所有的巡邏方式...33

圖 43: 3 2 之矩陣再進行切割示意圖...34

圖 44: 最佳子序列的子矩陣大小圖表...35

圖 45: 矩陣監環境...36

圖 46: 第一次切割...36

圖 47: 3 1 之子區塊...37

圖 48: 1 3 之子區塊...37

圖 49: 3 3 之子區塊需再切割...37

圖 50: 第二次切割...38

圖 51: 兩個 2 3 的子區塊...38

圖 52: 第三種的切割方式...39

圖 53: 其它所有的切割方式...39

圖 54: 對原本環境切割方式的其中之一...40

圖 55: 2 3 之子矩陣再進行切割...40

圖 56: 2 3 之子矩陣所需機器人為 3 台...40

圖 57: 最佳的切割方式...41

圖 58: 只需兩台機器人可達成任務...41

圖 59: 同樣總尋訪的次數但需四台機器人方可達成任務...42

圖 60: 雖總來訪之次數也為 16 但所需機器人之個數也還是為四台...42

圖 61: 此環境共需了兩台機器人...42

圖 62: 每個區塊所需機器人拜訪的次數為 0~25...43

圖 63: 每個區塊所需機器人拜訪的次數為 20~60...44

圖 64: 每個區塊所需機器人拜訪的次數均為 10 次...45

圖 65: 大的數字分布於環境的四個角落...45

圖 66: 差異最大之矩陣環境...46

(8)

1

第一章 簡介

無線感測網路是世界上最新的發展趨勢,隨著近幾年無線網路的發展越來越 趨成熟,相對的研究和議題也越來越多,因此感測網路的研究議題,受到廣泛的 重視[14, 16, 19, 5]。無線感測網路主要是由許多體積小且價格也便宜的感測 器所組成,如圖 1 所示,這些感測器散佈在我們所需要的感測區域,因為感測節 點的功能具有計算能力、感測能力、和節點之間的溝通,這些節點可以在其自己 的感測範圍之內,感測到環境的變化,例如:溫度、濕度和照度等等。

圖 1. 感測器

事實上無線感測網路早期的發明主要是想利用在戰場上,偵測是否有無敵人 入侵和探測敵軍的軍隊移動狀態。但因無線感測網路持續的發展與研究,使無線 感測網路並沒有只應用在戰場上,反倒受到更多的工商服務業所重視,這都歸功 於無線感測網路具有擴充性、低成本、耗電量低、可遠程監控和即時回報資訊之 優點。

無線感測網路之環境的系統架構其實並不複雜,只要將許多的感測器散佈在 我們預想監控的環境中,而感測器就會在預想監控的環境中去蒐集我們所感興趣 的資訊,並再透過無線傳輸協定(如:zigbee[27])或其他媒介,將收集到的資訊 即時傳送給資料蒐集端,如圖 2 所示,然後管理著可將蒐集到的感測資訊進行分 析並用於特定的用途上,如:軍事應用、醫療應用、環境監控、災害防制、其他 商業應用等。

(9)

2

圖 2. 無線感測網路之架構

1.1 覆蓋問題簡介

在眾多無線感測網路的研究中,常被拿出來討論的研究題材是網路覆蓋的問 題。因為網路覆蓋與無線感測網路的感測能力是直接相關連的,並且需保證目標 區域中的任何一點要在網路覆蓋的區域下。但是由於每個感測器的電量是有限的,

當大量的感測節點在某一大環境來說,需要將一部分的感測節點基於省電的理由,

需要有排程的計劃對感測器安排睡眠,當一些感測節點用完它的電力之後,必須 將之前安排睡眠的感測節點接續工作[26],這樣方可延長無線感測網路的壽命。

事實上每一個感測節點都會有自己的感測範圍,在感測範圍之內的區域都會 有效的被感測節點所監控,但如果在感測範圍之外的話,則否。換句話說,覆蓋 的定義是在我們所想感測的區塊中,所有的點至少要被一個或一個以上的感測節 點之感測範圍所覆蓋到。

無線感測網路所討論的覆蓋問題,大致上可分為三個議題,分別為目標覆蓋 問題(target coverage problem)、區域覆蓋問題(area coverage problem)和柵欄覆蓋 問題(Barrier Coverage Problem)。目標覆蓋問題(Target Coverage Problem)是要在 某一固定的區域中監控k 個目標物,並且要對所有的感測節點找出有效使用能源 的排程演算法,這樣子的目的是希望,可以對目標物做長時間的監控;區域覆蓋 問題(area coverage problem)的目的,是希望可以確保區域中每一個點至少可以被 k 個以上的感測節點所覆蓋到,也就是說對我們預想監控的區域達到最好的監控 品質;而柵欄覆蓋問題(barrier coverage problem)是當入侵者沿著穿越的路徑,從 一個邊界到另一邊界時,至少要確保被k 個以上的感測節點所偵測到。

覆蓋的問題是無線感測網路的重要關鍵之一,因為良好的覆蓋不但可提高監 控服務的質量,還可延長整個網路的壽命。如何成為好的覆蓋方式,首先碰到的 問題即是如何佈署感測器,尤其是一些苛刻的環境中是不可能用人力的方式去佈 署,所以會導致環境中的感測器分佈不均。

(10)

3

Jie Wu 等[20]提出一個方案,用來解決如果在大環境中,發生感測器分配不 均勻的情況。他們先將環境切為n n 的矩陣圖形,再用 SMART[21]的方式找出 n n 矩陣圖形中,每 n 格單位矩陣中感測器數量的佈署應為多少,再使用匈牙利 演算法找出如何分配那些密度較高感測節點分配至感測節點較少的區域,並且在 分配那些感測節點的過程中,還需移動最少的距離,來實現整個無線感測網路可 以達到負載平衡。

1.2 行動式感測節點

畢竟無線感測網路的研究大部分應用在環境監控較多,所以實現特定的覆蓋 往往是必要的[5][10]。基於改善無線感測網路之覆蓋的問題,有許多的研究會 利用行動式的感測節點來加以改善,這是因為考慮到在未知的環境或是危險的區 域中,靜態式節點佈署的密度可能會不均勻,導致某些區塊可能因為沒有被感測 器所感測到,因而產生漏洞,所以利用行動式的感測節點,移動至漏洞的地方,

加強整個無線感測網路的覆蓋能力[14]。不只是如此,行動式感測節點的維護工 作遠比靜態式節點方便的許多,這是因為靜態式節點的數量遠比行動式節點的數 量大的多。

因為無線感測網路眾多的應用大多是在環境監控中,所以在面積過大的區域 中,如想要減少成本,首要的想法及為使用較少數的感測節點在環境中佈署,這 時就會更容易有漏洞的發生,甚至每個感測節點會因為需要有較長的工作時間而 導致壽命較短,這時行動式節點即可改善這些缺失。但是這類的方式也將延伸出 另一個議題,如何使行動式感測節點可移動較少的距離,使行動式感測節點所消 耗的能源較少。

Theofanis P. Lambrou 等[16]考慮到說,在大環境中,為了想減少成本,

想說使用少數的感測節點在環境中佈署,但都可能會因為某個節點故障,或是覆 蓋漏洞的問題都會影響監控,所以想說透過靜態式式節點與少數的行動式節點的 合作,並規劃行動式節點的路徑,來提高覆蓋面積,使無線感測網路的拓鋪結構 達到更好的監控品質。此類的研究大都為了改善改善無線感測網路覆蓋的問題,

所以大都是研究如何佈署行動式的感測節點。Shupeng Wang 等[19]即想到如何 為行動式感測節點減少網路成本,利用最大數的靜態式節點和行動式節點的合作,

而且行動式節點所移動的距離要達到最小化,也已證明此研究是NP-complete 的 問題。

為了可以提供更好的覆蓋給無線感測網路於危險或惡劣的環境,Dung T.

Nguyen 等[14]用圖形理論的方式和利用匈牙利演算法的基礎,提出一個新的機 制在混合式感測網路中(Hybrid Sensor Networks),來應付當無線感測網路中發現 漏洞時,用分散式的協議,來找出適當的行動式感測節點到達最佳的位置去修復 漏洞,並且使行動式感測節點可以大大提高剩餘能源,以便提高整個網路的壽 命。

(11)

4

1.3 機器人巡邏監控

基於無線感測網路之研究理論的目的,有許多的研究會利用行動式感測節點,

這是因為考慮到靜態式節點的數量遠比行動式節點的數量大的多,這就是為何行 動式節點的保養與維護會來的方便的許多,以便提高整個無線感測網路的生命週 期和降低成本。然而無線感測網路主要目的是希望提供遠程的資料蒐集,所以許 多的行動式感測網路研究的工具即是機器人,透過機器人與無線感測網路結合,

我們可以在我們所想感測的區域作為我們的保全,還可以在人跡稀罕的環境或是 到達人類不便探勘的地方領域,例如:災害現場、未知的地方領域。

機器人研究相當的多,大部份的研究都是如何讓機器人如何避開障礙物並且 規劃出路徑,再進行監控,或是如何在未知的環境下建立出地圖,方便人類之後 的探索,但也因為科技日新月異,世界都走向自動化的時代,機器人代替人力的 工作也越來越多,其中最具代表的就是機器人的巡邏監控。圖 3 為無線感測機器 人。

圖 3. 無線感測機器人

1.4 研究動機

雖然在整個無線感測網路中,最完美的情況是希望完全沒有漏洞的發生,但 是在一些實際情況中,我們發現到有些環境其實不用時時刻刻的去監控,也就是 說某些區塊可能因為時間的不同,所需的監控品質也會有所不一樣。舉例來說,

在預想監控某個生態系的狀況,其實只要對我們需特別關心的稀有動物提高較高 的監控品質,而且每種動物的組群都有特定的棲息地,可見我們只需在稀有動物 的棲息地做較好的監控品質即可,不必對整個生態系每個棲息地,做全面嚴格的 監控。甚至在我們日常的生活場景我們也可發現到很多地方,因為某幾個點因為 物品的價值較高,可能對小偷或入侵者來說,會比較感興趣,例如:百貨公司,

學校,工廠等等,這時這些場景如果都是由機器人去監控時[1, 12, 24],那麼

(12)

5

物品價值較高的點是必要相對較高的監控品質。

其實很多研究學者指出在很多應用中,不同的時間和不同的點其實不用完整 的覆蓋[11],因為以森林來說,在乾旱的時候,森林可能需要完整的覆蓋,可是 當在雨季時可能只需要百分之八十的覆蓋率[17, 8, 22],這類的研究我們稱做 部分覆蓋問題(Partial Coverage Problem),此想法的好處就是為了延長無線感測網 路的壽命和降低網路成本。

在所有相關的部分覆蓋問題(Partial Coverage Problem)[11, 17, 8, 22]即是 在空間上的監控品質加以放寬,在本篇論文我們的想法是說,竟然有些環境,不 同的區塊在不同的時間裡,會有不同的監控品質,那我們只要對時間上的監控品 質趨於放寬,也就是說只要針對在時間上產生暫時性的覆蓋即可,這樣還可降低 整個網路的成本。

感測器可以安裝在可移動的平台上,所以很多行動式感測節點之研究都會歸 類於機器人的行動監控[1, 12, 24],但因為有些環境可能沒辦法用人工方式進 行探索,所以都利用機器人移動到所需要的地區[3, 4],可是相關的研究並無考 慮到說,某些環境中的某些區域需較高的監控品質,而需較高的監控品質的區域 或許機器人需花費較多探索的時間。在這裡我們考慮到,如果當機器人加入現時 環境的巡邏監控時,一定有某些點會比其它點來的更為重要,例如工廠中有設備 運作的地方,或是城市中的銀行和銀樓,這時可能有會需要更高的監控品質,需 花費較多的時間進行監控,所以當此類的事情發生時,我們的概念對機器人巡邏 與監控的任務會有相當大的幫助。

所以在這篇論文中我們將提出兩個新穎的想法,第一是環境裡的每個區塊需 要有不同的監控品質,那麼我們要如何對擁有不同監控品質的區塊,利用行動式 感測節點,也就是機器人產生動態式的覆蓋去巡邏監控;第二我們還要考慮到,

要如何可以用最少的機器人,在限定的時間裡可以達成我們監控的目標。

(13)

6

第二章 相關研究成果

覆蓋問題是無線感測網路為環境監控提供良好的監控品質的重要關鍵因素。

以下的相關研究,是前人利用動態覆蓋以及機器人對無線感測網路提供更有效的 覆蓋。

2.1 動態覆蓋

Benyuan Liu 等[13]利用 Poisson 分佈和 Exponential 分佈的離散機率模型,對 行動式感測器連續移動所產生的覆蓋進行探討,因為行動式感測器的移動,導致 區塊會在時間的區間中在覆蓋和未覆蓋之間交替,當λ 表示感測器的密度、r 表 示感測器的半徑、 s表示感測器平均的速度,而作者証明出行動式感測器檢測入 侵者的時間在指數分佈中具有相同的參數2λr s。並且作者還利用賽局理論對移 動式的入侵者和行動式感測器制定了最佳行動式策略,使入侵者如何可延長被感 測器抓到的時間,而行動式感測器如何可以縮短抓到入侵者的時間。

無線感測網路是由多個感測器部屬在一個區域環境監控中檢測入侵者,所以 感測器所提供的覆蓋範圍是非常重要,因某些壞掉的感測器會導致覆蓋的損失,

所以需要覆蓋的維護計畫。Archana Sekhar 等[18]提出一個 DCM 計畫,利用有限 的行動式感測節點來維護覆蓋的損失,利用DCM 計畫來決定哪些節點的鄰居需 遷移,和移動多少距離,使節點所消耗的能量可以被最小化,也可使節點的覆蓋 率達最大化。

完全覆蓋在現實中被廣泛的應用,如室內室外的清潔,等等。Liang Yuming 等[25]研究目標是利用機器人規劃完全的覆蓋路徑,必且機器人要在複雜多變的 動態環境下擁有避障能力,所以作者提出模糊控制算法,可以模擬人的直覺或經 驗,以便機器人能在動態的環境下規劃覆蓋路徑。

2.2 使用多個機器人為環境產生高效的覆蓋

Ling Xu 等[23]利用多個機器人行走多條已被指定該尋訪的路線,對環境產 生高效的覆蓋,但是會因為人或車子等等的障礙因素,導致先前給機器人的地圖 資訊不精確,因此這篇論文主要是提出兩個重大的改進,分別在叢集的步驟和路 由的步驟,來改善先前k-RPP 的演算法(k-Rural Postman Problem),使機器人可 以有效的重新規劃路線當環境發生了改變。然而這兩個的改進,可以幫助機器人 之間的工作更均勻,然後可以更有效的覆蓋環境。

Noa Agmon 等[2]提出一個建構生成樹的演算法,為多個機器人建立有效的 覆蓋路徑,並且還可最大限度地減少時間來完成環境覆蓋,使機器人按照生成樹 之路徑,不必浪費太多時間去走不必要的路徑。

(14)

7

Hyeun Jeong Min 等[9]對傳統中使用多個機器人為環境產生的覆蓋問題提出 一個新的思維,就是當環境已知哪些感興趣的點是機器人必須去探索的,並且每 個點最多只能被機器人探索一次情況下,在給定的時間內找出最優化的機器人數 量。分別利用作者所提出的Parallel Path Coverage 和 Parallel Tour Coverage 演算 法可使在給定的時間中,找到最佳數量的機器人去對應相應的路徑,使機器人可 用最佳的旅行費用為環境產生覆蓋。

歷來多個機器人為環境產生覆蓋的研究大多是為了找出較佳機器人的數量 以及相應的路徑,Hyeun Jeong Min 等[15]提出一種控制算法,可對多台的機器人 進行管理編隊,提高團隊的執行能力,以便實施環境的覆蓋問題,然後還要減少 機器人內部中的通信,因為當團隊得到更多的機器人時就會有更多的數據封包,

方可避免淺在的故障發生。

Giorgio Cannata 等[6]提出一個 Patrol GRAPH 演算法,專門設計來給一群機 器人可以重複訪問一組預先定義的位置環境,並且各個機器人不需要較高的計算 能力,也不需要機器人之間可以互相通信,甚至機器人是無須記憶體的方式,對 此可以被現實的世界更容易的使用。

Yehuda Elmaliach 等[7]指出機器人對目標區域巡邏的研究中還是存有三個 問題。第一,巡邏大多在特別設計的路線進行;第二,沒有很高的穩定性;第三,

在非均勻的地形,速度和方向沒有得到解決。而作者對多個機器人為目標區域的 巡邏監控提出一個巡邏方法,可以對區域中每個感興趣的點保證擁有相同的覆蓋 頻率,即是目標區域中每個點在相同的時間週期中,監測次數為一樣,並且改善 之前提到的三個問題。

(15)

8

第三章 問題與定義

此論文將會提出新穎的覆蓋問題,即是將傳統靜態的覆蓋問題擴充為使用行 動感測網路上來達成動態覆蓋的目的。論文的覆蓋問題及其定義將會於此章節說 明。

3.1 環境假設

在現實中,往往發現某一環境裡的每個區塊所需要的監控品質是不一樣的,

這都是因為某些區塊必定比其他某些區塊來的更為重要,像是在研究動機中提到,

百貨公司中一定會有些專櫃價格高於其他專櫃,那當利用機器人去巡邏監控時,

勢必要對價格較高之專櫃提供較高的監控服務。在這裡所討論的環境都是以二維 平面為主。

圖 4 是我們在網路上找出的百貨公司平面圖,試想如果到了晚上非營業時間 時,通常每隔一段時間都會為百貨公司做巡邏監控,以防止有入侵者盜竊物品,

其中有些專櫃因為物品價值較高,遭失竊的可能性當然會比其它價值較低的物品 高出許多,所以當百貨業者如使用機器人代替人力的方式時,就會希望機器人對 物品價值較高的專櫃多做幾次巡邏,從這裡就可看出,雖在同一環境中,但每個 區塊會有不同的監控品質。

圖 4. 百貨公司平面圖[28]

我們首先將所要監控的環境轉換成矩陣的方式,圖 5 所示,而矩陣中裡的數 字所代表的意義是指,行動式感測節點在單位時間之內至少所需來訪的次數,如 果矩陣中某區塊的數字為 5,那麼即代表行動式感測節點要在單位時間之內經過 數字有 5 的區塊至少要有 5 次以上,其它區塊則以此類推。簡單的來說,就是雖 在同一環境,但是環境中的每塊小區塊,需要有機器人不同次數的覆蓋。

(16)

9

圖 5. 預想監控的環境轉換成矩陣

我們考慮的監控環境為二維的空間場景,監控環境的空間大小我們定義為 m n 的矩陣圖型,當然環境中的每個區塊我們都會給定其區塊自己的座標位置 (m,n),以方便知道機器人所在的位置,如圖 6 所示。

圖 6. 監控環境之座標

3.2 暫時性覆蓋

本篇論文所主要的思維是將時間上的監控品質趨於放寬,所以我們暫時性覆 蓋的定義是指,當已知某一區塊至少需被行動式感測節點覆蓋 K 次,而被覆蓋的 時間可以為不連續。舉例來說,我們已知圖 5 座標位置(1,1)的區塊,要在 T 時 之內至少需被覆蓋的次數為 5 次,所以行動式感測節點必須經過座標位置(1,1) 的次數至少為 5 次以上,只要被行動式感測節點覆蓋一次,區塊中的數次就可減 去 1,所以當行動式感測節點尋訪座標位置(1,1)達到 5 次或 5 次以上以後,座 標位置(1,1)區塊數字即可歸 0,在這篇論文中其實主要的目標就是希望把矩陣 環境中所有的數字歸零。

3.3 感測模型

因為覆蓋的定義為,在所想的監控區域中,每個點至少都要在感測器的感測 範為中,所以我們假定環境中,假定所有的小區塊的長度為 2M 單位長,感測器

(17)

10

的感測範圍為一個圓盤行,感測半徑至少大於 1M 單位長以上,這樣即可確保當 移動式感測節點移動到某一小區塊時,小區塊中的每個點都可被覆蓋到,以不違 背覆蓋之定義,圖 7 所示。此論文我們先假設移動式感測節點所移動的速度為:

機器人最多可走 S 步/單位時間長 T,常理速度越快,則行走的的距離可越長,

可知機器人如速度越快,在限定時間中可走更多步數。以下表示監控之狀況,圖 8 所示。

圖 7. 感測器的感測範圍大小與矩陣中的小區塊之關係

圖 8. 監控之狀況

3.4 行動式節點的行動策略

在此我們所要討論的是機器人的行動策略,我們所制定的機器人所行走的方

(18)

11

式是為,當機器人從一個起始座標點出發後,走過其它的座標點,再回到當初的 起始座標點,然後形成一矩形迴圈的方式,並且要在S 步之內,而一步為一個座 標點,不管機器人可形成幾圈都可,只要機器人可從起始座標點出發後在S 步之 內再回到起始座標點即可,如圖 9 所示。

圖 9. 行動式節點的行動策略

機器人的行動策略所圍繞的矩形迴圈大小對矩陣中的數字是非常極具影響 的,因為當機器人行走的矩形迴圈越大時,因步數限制的關係,對重複走過座標 點的次數也相對較少。

在研究動機中有提到機器人要在有限的時間之內完成監控目標,其實機器人 步數的限制我們也可以看成時間的限制,因為機器人的行走是需要花費時間的,

時間的長短與機器人行走的步數是成正比,所以當有限的時間越長,機器人所限 制的步數也就越多,這樣我們也就可以把機器人行走的速度考慮在我們的問題當 中。

3.5 監控重疊問題

因為在我們的監控環境中會有多個機器人同時進行行走,在行走的連續過程 中即會產生暫時性的覆蓋,所以我們要盡量避免機器人在同一時間走相同的路線,

因為如果在同一時間走相同的路線即會產生覆蓋重疊的問題,況且降低覆蓋重疊 的發生,對環境較可產生出較大的覆蓋面積,相對的整個環境來說,監控面積越 大,對整個環境的監控品質來說當然會越高。

(19)

12

第四章 動態覆蓋演算法

本篇論文主要所想解決的問題為,在環境中每塊區塊都擁有不同的監控品質,

要如何使用較少數的機器人,對環境產生暫時性之覆蓋。在此我們以機器人巡邏 監控的方式為環境產生暫時性的覆蓋,此章節之目的是希望可以用較少的機器人 在有限的時間內達成目標。

4.1 環路合併

本節將會用圖論方式的思維為本論文提出一套解決策略。在我們的環境中會 有許多區塊,而每個區塊因監控品質不同的關係,需要機器人來訪的次數也不相 同。簡單的說我們把每個區塊中需機器人來訪的次數當作點V,而點與點之間的E 為機器人可巡邏的路線,並且利用圖中的線 E,將所有的點 V 至少尋訪過一 次。

圖論中G=(V, E),其中 V 是矩陣圖形中的數字所組成,而每一個區塊中任一v1V 都會與上下左右的鄰近區塊中的任一點 v1V 之間存在一條線( v1, v2),

但相同區塊中的點並不相連,這是因為如果對相同區塊的點做連線代表機器人還 在同一位置中。 圖 10 中,左圖為預想監控之環境,右圖為預想監控之環境轉換 為圖。

圖 10. 圖論之圖形

使用圖論方式表示,更可容易看出每塊區塊裡需尋訪的次數以及機器人巡邏 分配方式之關係,以圖 11 來說,座標(1,2)的區塊其實可用兩台機器人進行尋 訪,分別用實線及虛線表示兩台機器人的巡邏方式,實線部分的機器人以座標位 置(1,2)為起點繞行座標(1,1), (2,1) 和(2,2)兩圈,而虛線部分的機器人 以座標位置(1,2)為起點繞行座標(2,2),(2,3)和(1,3)三圈,將會使座標(1,

2)的區塊的 5 個點V 都會被探訪過,不僅如此還可把圖 11 中座標位置(1,1),

(20)

13

(1,2),(1,2),(2,2),(2,3)和(1,3)中所有的點至少都尋訪過一次,圖中 巡訪過後的點都可以刪去,而剩下的座標位置(3,1),(3,2)和(3,3)需要用幾 台機器人去達成目標就要看問題限制中機器人步數的問題。

圖 11. 機器人巡邏分配方式之關係

在環路合併法中關鍵的問題是,某幾個區塊的V 可以透過兩台或兩台以上 的機器人在巡邏其它區塊時全部被探訪過,並且每台機器人不違背步數的限制,

用此想法為基礎,對環境找出較佳個數的機器人是非常有幫助的。但此時會發生 一種情況即是,某些區塊的 V 會被重複走過都次以上,在這裡是無法避免的,主 要的原因是,我們的機器人只能上下左右的行走,而走過一個區塊即算一步,所 以有些區塊必定會成為必經之路。

對此我們先對環路合併演算法作一些規範,當對圖中的點作一次連線時,除 了對本身區塊的點不能做連線之外,還有兩個重點。第一,最重要的是當從某區 塊的任一點對其他區塊的任一點時做連線時,必定要回到原本的起始點形成一迴 圈才算連線成功,當連線未成功時是不能再去連之前連過的點。第二,在這裡的 點與點之間存在的一條線可看為機器人的一步,所以連線成功一次時代表機器人 以繞行一圈,以此類推,所以線 E 的個數不能超過機器人限制的步數。

當矩陣監控矩環境轉成圖後可發現一個特性,當圖中所有的點與其它鄰居的 點之間存有一條線時,會發現圖中會有很多環路迴圈,主要之原因為當有四的點 與四條線即會形成一迴圈,所以在環路合併的主要方法即是將這些迴圈合併成更 大的迴圈,直到圖中已無迴圈合併或是線的個數已逼近機器人之步數為止,之後 再把合併過的點刪除,直到圖中已無任何一點,並且計算出可合併幾個迴圈,就 可知道所需的機器人數量。

4.1.1 環路合併演算法

Input: 預想監控環境之矩陣圖形。

Output: 找出最佳個數之機器人,並找出各個機器人巡邏的方式。

(21)

14

Step 1: 將環境矩陣轉為圖型。

Step 2: 將圖中任何一點 V 與其它上下左右之鄰居每一點 V 做連線,但在同 一區塊中的點不可與同一區塊中的點做連線,使四個不同區塊的點 形成一迴圈。當某區塊中已無存在任何一點,可創造一假點。

Step 3: 從圖中最左上之迴圈與其它迴圈開始做合併。此步驟皆會遵循以下 規則:兩個迴圈如要合併,必須是共用兩點V 即一條線 E 方能合併,

合併兩個迴圈後線E 之個數和點 V 之個數只會比原本一個迴圈各 增加 2。

3.1: 隨機往有點 V 之區塊合併至沒有迴圈合併為止,並且線 E 之 個數不可超過機器人所限制的步數。如還可以合併,再回到步驟三。

如沒有迴圈可合併或線 E 之個數超過機器人線至的步數 則接續下 面步驟。

Step 4: 計算線 E 之個數為何。

Step 5: 計算機器人所限制的步數/E為多少,記做 d。當 d 1 時直接跳至 步驟 6。

5.1: 當d>1 時,代表此合併後的迴圈可被機器人繞行一圈以上,

所以再做d 個同樣大的迴圈把此迴圈所經過的區塊中未被合併的

點連起。

Step 6: 將迴圈中線 E 所連過的點 V 刪去。

Step 7: 機器人之數量加 1。

Step 8: 檢查圖中還有無任何點存在,如圖中已無任何點查看步驟 7 之機器 人數量,如還有回到步驟 2,直到圖中無任何點存在。

4.1.2 環路合併演算法範例

本章節會給一個環境矩陣圖形,然後會請清楚的詳述我們要如何用環路合併 演算法找出較佳個數的機器人,在這裡我們假定機器人最多可走 10 步。為了使 圖可以看的更清楚,所以這裡環境矩陣圖形中的數字設定不會太大。圖 12 為環 境矩陣圖形。

圖 12. 環境矩陣圖形

(22)

15

首先步驟 1 是要將圖.12 轉換為圖論之圖,也就是把數字轉成點之個數。圖 13 所示。

圖 13. 圖論之數字轉成點之個數

到了步驟 2 將所有的點做連線,圖 14 所示,這是是為了怕有些圖,可能只 用一台機器人即可達成任務,在此圖可以很清楚的確定是不可能,主要原因這次 機器人的步數最多可走 10 步,如果將所有點做連線,E 的個數絕對超過 10。

圖 14. 將圖論中所有點做連線

到了步驟 3 即是對圖中所有之迴圈開始做合併,從圖中最左上角開始做起,

合併的絕竅其實就是從四格區塊變為六格區塊,也就是原本的 4 個點變為 6 個點。

因機器人限制的步數為 10 步,所以最多可合併 3 個迴圈,3 個迴圈合併後的線E 的個數為 8,在這裡要注意的為,當兩個迴圈合併時,中間的線可自行消除,簡 單的來說當兩個迴圈合併後,線的個數只有多加 2 而已。當然合併迴圈的數量會 因為的圖的大小與機器人步數的關係成正比。

步驟四要計算線的個數之原因,主要是因為想看迴圈合併過後的迴圈一圈需 花費機器人多少步數,而到了步驟五就會去計算機器人對此迴圈可繞行幾圈,在 這裡最多可合併三個迴圈,而機器人所限制的步數為 10,所以機器人最多行走 一圈。如圖 15 所示,三種不同的虛線代表三個被合併的迴圈,空心的點代表被 此三個迴圈所連過的點。

(23)

16

圖 15. 合併三個迴圈示意圖

之後做到步驟六之後,我們即把圖 15 中空心的點刪去,並在我們的步驟七 加一台機器人之數量。圖 16 所示。

圖 16. 當一台機器人走過後之圖

到了步驟八因發現圖 16 中還有點未被消除,所以又回到步驟二,將所有的 點做相連,在這裡因座標位置(3,1)區塊已無任何點,所以可創造一假點,以方 便讓座標位置(1,3)和座標位置(3,3)也有迴圈可使用,總之當其它區塊還有點 為被刪去,那無任何點之區塊都需創造一假點,如圖 17 所示。

(24)

17

圖 17. 為某一區塊創造假點方便為每一個點做相連

當已為每個點做連線後,就要開始做我們的步驟三,開始合併小的迴圈。圖 18 為表示三個迴圈可合併一大迴圈,而三個迴圈分別有不同之虛線。並且從圖 中也可清楚的得知,此一大迴圈線的個數為八,所以機器人也是只能繞行一圈,

到了步驟七,我們目前機器人之總數量為兩台。

圖 18. 三個迴圈可合併一大迴圈

圖 19 表示為兩台機器人巡邏過後知情況,從圖 19 可看出圖中只剩四個點未 被機器人探索過,所以接續做我們的環路合併演算法後可得知,只需合併三個迴 圈即可把這四的點全部連起,然後做到步驟六時,就會把圖 19 中剩下的四個點 刪去。之後做到步驟八時,因圖中已無任何一點,即查看步驟七中機器人數量為 多少,檢查出機器人之數量為三台,代表圖 11 需三台機器人即可把所有的點給 探索過,也就是可以把圖中所有的點給刪除。

(25)

18

圖 19. 當兩台機器人走過後之圖

4.2 高密度優先法

根據第三章的問題定義,我們可以得知每台機器人要在有限的步數之內,將 矩陣中所有的區塊,即需機器人拜訪的次數全部走過,才算是完成監控目標。當 我們已有矩陣圖型,並且也以知道矩陣中所有的數字和機器人最多可走幾步之後,

首要面對的問題是要找出最佳個數的機器人產生暫時性的動態覆蓋對環境進行 有效之監控。從圖 20.a 我們可知目前環境為 4 4 之矩陣圖形,假定此環境的機 器人最多可走 60 步,而兩台機器人分別只在座標位置(1,2),(2,2),(1,3),

(2,3),(1,4),(2,4)和座標位置(3,1),(4,1),(3,2),(4,2),(3,3),

(4,3)一直以矩形圓圈的方式重複巡邏,如圖 20.b 所示,因一台機器人負責六 塊區塊,也就是說只要在 60 步之內,機器人可以繞行 10 圈,所以機器人就可對 這些座標位置都經過 10 次,然後這些座標位置區塊中的數字都可以減去 10,而 其它沒走到的區塊數字不變,圖 20.c 所示。因機器人步數限制的原因,座標位 置(1,1),(2,1),(3,4),和(4,4)無法只用一台機器人將這些數字歸 0,所 以觀察此圖形.a,最少以 4 台機器人同時對此環境進行巡邏方可達成目標。圖 20.d 所示。

(26)

19

圖 20. 高密度優先示意圖

高密度優先演算法顧名思義即是先將機器人需來訪次數較高的區塊先行解 決,我們希望先將矩陣單位中數字較高的先行消除,之後再去處理數字較小的區 塊,對此我們在 4.2.1 將提出一套較有系統之方法,找出較少數的機器人產生暫 時性的動態覆蓋以對環境進行有效之監控。在此假設每台機器人在有限的步數內,

從各個機器人之起始點出發至回到原本的起始點,形成環狀巡邏方式,並且只能 上下左右行走,從起始點出發回到起始點結束一圈之前不可走過之前走過之路 徑。

4.2.1 高密度優先演算法

高密度優先演算法:

Input: 預想監控環境之矩陣圖形,表示為 QMN

Output: 找出最佳個數之機器人,並為各個機器人的巡邏方式。

Step 1: 從矩陣中第 i 列由左至右第一個最大的數字當作機器人的起始點,

假設數字最大的位置在Ri,j,那Ri,j為機器人目前的位置。

Step 2: 從機器人目前的位置 Ri,j,尋找機器人的下一步。

2.1: 往上檢查可有Ri-1, j位置的數字做為權重大小。

2.2: 往右檢查可有Ri, j+1位置的數字做為權重大小。

2.3: 往下檢查可有Ri+1, j位置的數字做為權重大小。

2.4: 往左檢查可有Ri, j-1位置的數字做為權重大小。

2.5: 從步驟 2.1 到步驟 2.4 選擇權重最大為機器人的下一步,並 且遵循以下規則:如有最大權重時,此位置為機器人的下一 步。當找不到最大之權重時,檢查每個可走的方向至多可有

(27)

20

k 步可走,加總 k=1 到 min{每個可走方向之步數}之權重總 和,而機器人即選擇權重最大者,並且此方向之 min 步為機 器人的目前位置。如還是未找到最大權重時隨機選擇可走之 方向往前一步。

2.6: 檢查目前的位置是否為起始點。是,則跳至步驟 5,否,則 往下繼續做。

2.7: 每走到目前的位置時,都要去計算步數是否超過s/3 步(s 為 機器人限制之步數),如果超過即跳至步驟 3,沒有則回到步 驟 2。

Step 3: 以最少步數走回起始點,並且不能經過機器人走過之路徑。

Step 4: 是否可走回起始點。可以,則跳至步驟 5。否,在機器人的第三步 後以最少步數回到起始點。

Step 5: 計算以上步驟機器人已共走多少步,記作 l,再計算s/l為機器人 可巡邏多少圈,記作Z。

Step 6: 將矩陣 QMN機器人走過的位置減去數字Z,並且得到新的矩陣 Q。

Step 7: 結束一回合 Robot++。

Step 8: 重複以上步驟直到矩陣中所有數字歸 0 為止。

Step 9: Robot++為機器人之數量。

4.2.2 高密度優先之範例

此章節將用一個範例來清楚示範高密度優先演算法是如何找出最佳個數的 機器人,並且會清楚交代每一個步驟過程。在這裡我們用 4 4 之矩陣圖形來示 範,也假定機器人最多可走 60 步。

首先我們有一 4 4 大小的環境矩陣,如圖 21 表示。

圖 21. 4 4 之矩陣環境

從矩陣中我們找到 17 是目前最大的數字,所以我們遵照演算法步驟 1 由左 至右看到第一個最大的數字做為我們的起始點,也就是座標(2,2)的 17,之後 我們要開始為機器人做出巡邏路線。利用步驟 2 檢查上下左右之四個權重,從步 驟 2.5 得知 13 為最大的權重,所以機器人前往座標位置(2,3)的 13,如圖 22

(28)

21

所示。步驟 2.6 知道目前不是起始點後繼續接到步驟 2.7,因目前才第一步,所 以又跳回步驟 2。這時又有三個方向可選擇,分別為座標(3,3)的 5、(2,4)的 9 和(1,3)的 10,所以機器人之第二步落腳在座標位置(1,3)的 10,圖 23 所示。

接著做到步驟 2.6 和步驟 2.7 後,又持續再做步驟 2,因只有一個方向可做選擇,

所以機器人的第三步位於座標(1,2)的 10,如圖 24 所示。做完步驟 2.6 和 2.7 機器人持續做步驟 2,這時做到步驟 2.6 時,發現機器人已回到原本的起始點,

圖 25 所示,所以直接跳至步驟 5。在步驟 5 中,得知機器人共走了 4 步,l=4,

因機器人限制的步數為 60(s=60),所以 Z=15,也就是此機器人可巡邏 15 圈。步 驟 6 的工作就是對座標位置(2,2)、(2,3)、(1,3)和(1,2)中的數字都減去 15 後得到新的矩陣,圖 26 所示。步驟 7 則是記錄目前有一台機器人。做到步驟 8 時,因矩陣中的數字還未全部歸 0,所以接著從步驟 1 開始做起。

圖 22. 第一台機器人的巡邏路線

圖 23. 第一台機器人的巡邏路線

圖 24. 第一台機器人的巡邏路線

(29)

22

圖 25. 第一台機器人的巡邏路線

圖 26. 當一台機器人巡邏後對環境矩陣之影響

在第二台機器人的起始點在座標位置(3,4)的 17,透過步驟 2 機器人的第 2 步落腳在座標位置(1,4)的 7,之後尋找下一步時,只有一個方向可走,所以遵 循步驟 2.7 中的規則,機器人隨機選擇可走之方向往前一步到座標(1,3)的 0,

圖 27 所示。因為機器人第 3 步目前位置(1,3)只有兩個方向可走,分別為往上 和向右走,但這兩個方向的權重皆為 0,所以此時進階比對往上兩步及往右兩步 之權重和,比對兩步權重總和之原因是因為往右最多可走 3 步,往上最多可走 2 步,所以min{每個可走方向之步數}為 2,而這兩個方向之權重還是皆為 5,這 時機器人就在往上和往右隨機選擇一方向往前一步,在這裡假設機器人隨機選擇 往右走一步,也就是座標(2,3),之後就持續遵循步驟二的方式回到遠本的起始 點。此時第二台機器人所巡邏的座標有(1,4) 、(2,4)、(1,4) 、(1,3),(2,

3)和(3,3),如圖 28 所示。

(30)

23

圖 27.第二台機器人的巡邏路線

圖 28. 第二台機器人的巡邏路線

接連續做高密度優先演算法後,第三台機器人的起始點為座標位置(4,2) 的 15,之後走到(4,1)的 13,第二步的位置位於座標(3,1)的 9,之後因為有 兩個方向可選擇,分別為往左與往右,但權重一樣皆為 7,所以進階比對權重 min{每個可走方向之步數},使機器人可直接走到座標(1,1)的 5,此時目前為 機器人的第 4 步,接續步驟 2.6 後,第三台機器人之巡邏方式如圖.29 所示。因 步驟 5 可得知,l=8,z=7,也就是第三台機器人以此巡邏方式可巡邏 7 圈,所以 步驟 6 所產生新的矩陣如圖 30 所示。

(31)

24

圖 29. 第三台機器人的巡邏路線

圖 30. 當第三台機器人巡邏後對環境矩陣之影響

到了為第四台機器人找巡邏方式時,會有可能在步驟 4 中,因無法回到起始 點,所以會在第 3 步時,就以最少步數走回起始點,主要的原因是因為此時矩陣 中的數字大多為 0 了,而機器人在步驟 2.5 中有如無法找到最大權重即隨機選擇 可走之方向往前一步,而我們的高密度優先演算法中有一規則是,當機器人未回 到起始點形成一圈時,不可走到走過的路徑,所以會導致機器人會有無法回到起 始點的情況發生,如圖 31 所示。所以當有此情況發生在步驟 4 時,機器人就會 在第三步座標(3,1)時以最少步數走回起始點,如圖 32 所示。

圖 31. 當機器人無法回到起始點

(32)

25

圖 32. 即刻從第三步以最短路線走回起始點

所以此環境矩陣需五台機器人可把矩陣中所有的數字全部歸 0,五台機器人 巡邏之方式如 33 所示。

圖 33. 五台機器人可達成目標

4.3 矩形動態規劃

為了找出較少數的機器人對環境進行巡邏監控,此方法以動態規劃為基礎,

先將原本的環境再進行切割成各種較小方式的矩陣,再對每個切割好的矩陣先找 出最少所需幾台機器人,再去找出何種切割的方式可以為原本的環境找出最少需 多少台機器人對環境巡邏監控。

矩形動態規劃是利用動態程式規劃的基礎原則為整個監控環境找出較佳個 數的機器人,由於在動態程式規劃中,還要檢視每個最佳決策序列中是否包含一 個最佳子序列,所以勢必要先為切割好的子環境找出最佳的機器人個數。換句話 說矩形動態規劃的目的只是將預想監控的環境切割成多個較小的監控環境,再為 這些較小的監控環境找出最少所需的機器人個數,然後為再把這些較小的監控環 境所需的機器人個數加總比對,就可計算出整個原本預想監控環境需幾台機器人 可達成我們的目的。

首先我們先將預想監控之環境矩陣,如圖 34 所示,切割成各種較小的矩陣 圖型,並且進行討論每種切割過的環境最少需多少台機器人監控,然後再找出利

(33)

26

用何種切割方式可對原本的環境總找出最佳個數的機器人。在這裡我們所有切割 的方式皆以矩形方式為主,也因如此,我們機器人的巡邏方式皆已矩形為主。

圖 34. 預想監控之環境矩陣

切割後的各種類似矩陣圖型如以下表示;

(1) 1 4 之圖型

(2) 4 1 之圖型

(3) 2 2 之圖型

(34)

27

(4) 3 2 之圖型

(5) 2 3 之圖型

以上是環境的大約類似的各種切割圖型,再去找出依照切割的方法所切出的 圖型之所需機器人的數量,進行多次的加總比對後,即可為預想監控之環境找出

(35)

28

較佳所需機器人個數。這時就要開始探討,要如何切割才能把所有的切割圖形全 部找出來,以圖 35 為例,我們第一次切割的方式主要是從最左上的座標位置(1,

1)開始做起,並且以座標位置(1,1)即為一個子區塊開始進行切割,所以從圖 35 可發現目前會有四個子區塊,四個子區塊分別是1 1、1 3、3 1 和 3 3 之矩 陣。

圖 35. 第一次切割方式示意圖

得到這四個子區塊後,會發現其中3 3 之矩陣子區塊還是太大,這時我們 就要繼續對這3 3 之子區塊再進行切割,當然切割的方式也如上述一般,先從 最左上的一個區塊做為一個子區塊區塊開始切割做起,再接續切割成各種可能的 切割圖形,如圖 36 所示,3 3 之矩陣子區塊還會有四種切割方式,之後再為這 四種切割方式的子環境找出最佳的機器人個數,然後挑出機器人數量最少的切割 方式再與圖 35 中另外三個子區塊所需的機器人數量加總,即是第一次切割的最 佳機器人個數。當然這3 3 之矩陣子區塊的機器人所需數量也會儲存起來,以 方便提供之後切割遇到同樣的問題可直接取用,不必重新計算。

(36)

29

圖 36. 第一次切割方後的子環境再次切割

當以座標位置(1,1)為一子區塊切割完之後,就要開始第二次的切割,這次 是以座標位置(1,1)和(2,1)為一個子區塊開始進行切割。如圖 37 所示,這時 也會有四個子區塊,分別為2 1、2 1、2 3 和 2 3 之矩陣子區塊,因這四個子 區塊也已夠小,這時就不用再繼續進行切割,所以只要找出這四塊子區塊所需的 機器人最佳數量並加總,即是此方式切割的最佳的機器人個數。

之後持續切割到當以座標位置(4,4)之區塊為一子區塊為止,所以圖 34 之 環境矩陣最少會被切割九次以上,因每次的切割中,還會因為切割後的子區塊因

(37)

30

還是太大,還要再進行多次的切割。

圖 37. 第二次切割方式示意圖

在我們的矩形動態規劃中,只要區塊過大就要再進行切割,如未超過即可停 止切割,因之前有提到在動態程式規劃中,要檢視每個最佳決策序列中是否包含 一個最佳子序列,這代表每個子區塊我們勢必要知道機器人最佳個數的機器人,

也因為我們切割的方式都是以矩形的形狀為主,如區塊過大會很難確定機器人的 最佳數量。從另一觀點來說,當子區塊太大時,導致無法使用一台機器人用迴圈 的方式,將子區塊中所有的區塊全部探訪,這時本來就需要一台以上的機器人,

所以對較大的子區塊進行切割是合理的行為。那麼要如何為子區塊找出機器人之 個數,以及區塊為何過大會很難找出最佳的機器人個數,在下一章節會詳細說 明。

4.3.1 矩形動態規劃最佳子序列

當使用矩行動態規劃的方法為環境找出較佳個數的機器人時,必定要先為環 境較小的區塊找出最少的機器人個數,否則無法為環境找出較佳的機器人個數。

再使用矩形動態規劃之前,我們要先用一些方法得知子環境中最佳的機器人個數,

以供為矩形動態規劃演算法為環境找出較佳的機器人個數來達成目標。以下我們 開始討論如何為子環境找出最少的機器人個數。

(1)當子環境為1 2 或 2 1 的矩陣時,我們可以很容易的清楚知道機器人只 是兩個點的來回,也就是機器人如只花兩步即可把這兩區塊走過,但因為機器人 有步數的限制,假定為S,所以只要將 S/2 取整數,在將得到的數字比較其中兩 塊區塊中最大的數字,如大於區塊中最大之數字,即代表此子環境只需一台機器 人即可達成目標,如不行就代表子環境是無法用一台機器人來達到目標。

所以得知當遇到1 2 或 2 1 的子環境時就用 S/2 此式子是否可大於此子環 境中的數字,看是否可用一台機器人即可以達到目標。如圖 38 所示。

(38)

31

圖 38. 1 2 或 2 1 的矩陣

假定圖 34 環境中的機器人限制的步數為 30,那就將 30 代入S/2 中,得出 的答案為15,而 22 減去 15 後為 7,17 減去 15 為 2,所以此子環境必須要兩台 機器人方可達成目標。當然1 2 或 2 1 的子環境因只有兩個區塊的關係,所以 機器人最多之數量為兩台,也就是當不管數字多大,只要分別有兩台機器人分別 各在一個區塊,就類似在那區塊中佈署靜態的感測器長時間持續的監控一樣,所 以間單的說當1 2 或 2 1 的子環境機器人最少的情況是一台,而最多為兩台。

(2)當x 或 1 的矩陣時,所討論的方式會比較特別,由於當機器人做巡 邏時如從某一起始點出發後必定還要回到此起始點,所以機器人在此類型矩陣巡 邏時,中間區塊的位置被機器尋訪的次數會是最外邊的兩個區塊的兩倍,原因如 圖39 所示。

圖 39. 1 的矩陣

圖 39 是1 的矩陣圖形,圖中的點代表機器人經過的次數,線為機器人 所走的路徑,當機器人從最左邊的區塊出發開始巡邏並走回當初的起始點,也就 是巡邏一圈,可以發現中間的兩個區塊會有兩個點,所以可以發現不管每個x 或1 的矩陣的中間區塊,機器人所經過的次數是兩個最外面之區塊的兩倍。

不只如此圖 39 雖為1 之矩陣圖形,但機器人從起始點出發後回到原本的起始 點的步數卻是為6 步並非為 4 步。在此可以得出一式子: f(x)= c[2+2(x-2)] S,x 為區塊個數,S 為機器人限制的步數,c 為機器人在限制的步數之內在 x 或 1 之的矩陣圖形可巡邏的圈數,然後每台機器人巡邏完一次的總步數要逼近機器人 所限制的步數。

從上面的式子可得知,機器人在限制的步數之內,最多可在這種x 或 1 之的矩陣圖形巡邏幾圈,假如x 為 4 時,S 為 30,帶入上述的式子,就可以很清 楚的知道一台機器人巡邏後可對1 之矩陣圖形可巡邏至 5 圈,使機器人對 1 之矩陣圖形巡邏四圈後對矩陣所造成的影響分別為;最外面的兩邊區塊可經過5 次,中間之區塊分別可經過10 次。由此可知,我們要先得知機器人可在矩陣圖 形中巡邏幾圈和機器人所限制的步數,方可知道每個區塊可被機器人經過的次

(39)

32

數。

可是在這之前只是考慮到一台機器人的情況,因為如果環境中是需要多台以 上的那就需要開始討論機器人巡邏的方式,因為當每個機器人巡邏方式不同所經 過的區塊不同,對區塊中的數字造成的影響當然會不一樣,而x 或 1 的矩 陣裡面會有多種的巡邏方式,如圖40 所示,在 3 1 或 1 3 的矩陣中巡邏的方式 就有8 種。

40. 機器人在 3 1 的矩陣中所有的巡邏方式

每種巡邏方式對子區塊所造成的影響,即是機器人對子區塊中每個區塊所經 過的次數,例如圖40 中,我們假設機器人限制的步數為 30,而圖 40 中左邊第 二個巡邏方式由左至右可被機器人經過的次數為14、28、14;圖 40 中間第一個 巡邏方式由左至右可被機器人經過的次數為32、29、7;圖 40 左邊第三個巡邏 方式由左至右可被機器人經過的次數為15、30、15。

而1 之矩陣因有四個區塊,所以機器人最少是一台,最多是四台,我們 也將所有機器人在1 之矩陣中所有巡邏的情況大致上全部列出,如圖 41 所示。

圖中最右列的巡邏狀況還要有左右顛倒,所以1 之矩陣所有的巡邏狀況共有 26 種。當得知所有的的巡邏方式後,也可得知機器人巡邏過後對子矩陣所造成 的影響,所以一開始即可用i 台機器人所有的巡邏方式對矩陣所造成的影響,然 後檢查是否有哪個巡邏方式可將裡面的數字歸零,如不可就用i+1 台機器人所有 的巡邏方式做檢查,直到可找出將子矩陣中的數字歸零為止。

(40)

33

41. 機器人在 4 1 的矩陣中所有的巡邏方式

一旦我們知道所有1 或 4 之矩陣的巡邏方式之後,在為子區塊找尋最 佳解時,就用這些巡邏情況逐一對照找出何種巡邏狀況可將子區塊的數字全部歸 零,因機器人在1 或 4 之矩陣中所有的巡邏方式全部列出已算是很困難的 工程了,所以只要是x 或 1 x 的矩陣,並且 x 的情況,我們就只好繼續切 割,切割到x 為止。

(3)當子環境為2 2 之矩陣圖形時,即是將機器人之步數 S/4 取整數,當得 到的答案只要比這四塊中最大之數字大時,就是代表此環境只需一台機器人,反 之就代表要一台以上的機器人,因2 2 之矩陣圖形有四個區塊,所以機器人最 多的數量為四,而一台以上的機器人對2 2 之矩陣圖形會產生如何的影響,除 了需事先得知機器人所限制的步數外,我們也要把一到四台的機器人在2 2 之 矩陣圖形中所有的巡邏方式給找出,全部的巡邏的方式有18 種,如圖 42 所示。

(41)

34

42. 機器人在 2 2 的矩陣中所有的巡邏方式

知道機器人在2 2 的矩陣中所有巡邏的方式和機器人所限制的步數後,就 可以計算出不管機器人使用何種巡邏方式對2 2 的矩陣中所有的區塊所尋訪的 次數,所以不管2 2 的矩陣中數字的大小如何,我們都可以非常的確定當矩陣 中的不管數字是多少,我們都可以找出最少的機器人,方可確定子環境所找出的 機器人數量是最佳解。

(4)再來我們就要開始探討如何為 2 3 和 3 2 之矩陣圖形找出最佳子序列,

在前面我們所提到的矩陣都會將所有可能的巡邏方式找出,但2 3 和 3 2 之矩 陣圖形的區塊有六塊,而機器人最多可達到六台,所以巡邏方式可能會非常多,

如把所有巡邏方式找出可能會非常吃力。這時我們首要檢查的方式不是馬上先行 切割,而是先去計算當一台機器人可否達成任務,也就是將機器人所限制的步數 S 除以 6,檢查得出來的數字是否全都大於六個區塊的任何一個數字,如果是即 代表此子區塊只要一台機器人可達成目標,因2 3 和 3 2 之矩陣只有六塊區塊,

所以當只有一台機器人時,不只是可將所有六個區塊都巡訪過,甚至有機會把每 個區塊中所需機器人拜訪的次數都以達成。直到以一台機器人都已檢查過後發現 無法只用一台機器人達成目標,我們才會進行切割,切割的方式是切成1 2 或

(42)

35

2 1 和 2 2 之矩陣圖形,然後因為會有兩種切法,所以會挑選出哪兩種切法機 器人總和的數量會較小,如圖43 所示,然後在用上述(1)和(3)的檢查方式去檢 查最佳子序列是為多少。

圖 43. 3 2 之矩陣再進行切割示意圖

透過以上的詳述可為矩形動態規劃中最佳子序列找出最佳個數的機器人,而 每個子區塊可先行用一台機器人是否可將子區塊中所有數字歸零,如不行就用兩 台的方式,並且將兩台所有的巡邏方式去比對看是否可將所有數字歸零,直到把 所有巡邏方式都進行比對後,發現還是無法將所有數字歸零方能增加機器人之數 量,直到為子區塊達成任務為止。所以矩形動態規劃有兩大原則要謹遵,第一x 或 1 的矩陣最多只能到四個區塊;第二而 2 3 或 3 2 之矩陣要先以一台機 器人方式做檢查看是否只需一台機器人就夠,如不行才能進行切割。

事實上我們只能提供上述所說的子區塊提供出最佳解,主要的原因是因為當 子區塊的區塊太多,而機器人之數量必定會需要更多,這時所有的巡邏狀況相對 會多更多,所以目前我們還無法退推算出更大的子區塊會有多少種巡邏方式,這 樣我們更無法得知機器人巡邏後所造成的影響,便無法確定確定出子區塊最佳的 機器人數量。以下是我們整理出可為矩形動態規劃提供出最佳子序列的子矩陣大 小圖表(圖 44)。

(43)

36

圖 44. 最佳子序列的子矩陣大小圖表

4.3.2 矩形動態規劃演算法

矩形動態規劃演算法:

Input: 預想監控環境之矩陣圖形,表示為 QMN

Output: 找出最佳個數之機器人,並找出各個機器人的巡邏方式。

Step 1: 開始對環境做第 i 次切割。以矩陣中的每個交點做為每次切割主要依 據,每次切完都會有四個子區塊矩陣,並利用此步驟找出這四個子 區塊所需的機器人數量。

1.1 當其中一子區塊矩陣大小超過我們所能提供的最佳子序列的矩 陣大小時需再進行k 次切割,並要切出各種可能,也是利用矩陣 的交點做為每次切割的依據,切割到矩陣區塊的大小為我們的最 佳子序列矩陣為止。

1.2 如遇到 2 3 或 3 2 的矩陣先用一台機器人去檢查是否可達成目 標,如不可需再進行兩次切割。

1.3 為所有切出的最佳子序列的矩陣計找出最佳個數的機器人。

1.4 儲存每個切割區塊所需的機器人個數,方便之後使用。

1.5 計算出此第 i 次切割出的子區塊何種切割方式所需的機器人數量 為最少。

Step 2: 計算這第 i 次切割的四個子區塊矩陣所需機器人的加總為多少。

Step 3: 儲存目前機器人的數量。但當第 i 1 次的機器人數量大於第 i 次的 機器人數量時,可以不去儲存。

(44)

37

Step 4: 從步驟 3 可得知此環境需幾台機器人可達成任務。

4.3.3 矩形動態規劃之範例

在這章節我們透過範例的方式詳細介紹如何用矩形動態規劃為環境找出較 佳個數的機器人。首先也是先得到一個矩陣監控環境(圖 45)。在這裡我們假設 機器人所限制的步數為 30 步。

圖 45. 矩陣監環境

現在要開始做第一次切割,切割的方式為先從矩陣中座標位置(1,1)的區塊 做為一個子區塊做起(圖 46)。從圖裡可發現這時會有四個子區塊,然後就要開 始會這四個子區塊找出最佳數量的機器人。

圖 46. 第一次切割

其中只有一個為 11 的區塊不管數字多大,因只有一個區塊,所以所需機器 人的數量為 1。另一個 3 1 之子區塊的矩陣,先從一台機器人看是否可以達成任 務,從式子f(x)=c[2+2(x-2)] S 可看出一台機器人可對 3 1 之子區塊至多巡邏 七圈,這時對這三格區塊能巡訪的次數為 7 次、14 次和 7 次,所以一台機器人 是無法達成任務,所以就套用兩台機器人的巡邏方式看是否可達成任務,不出所 料我們馬上找到用兩台機器人可達成任務的巡邏方式,如圖 47 所示,實線的巡 邏方式可對矩陣減去 7、14 和 7,虛線的巡邏方式可對走過的區塊減去 15,而 3 1

(45)

38

之子區塊最右邊的區塊為 18,但因為被兩台機器人減去 7 和 18,中間的區塊也 因為被減去 14 和 15,所以全部可歸 0,這時我們就判定 3 1 之子區塊需兩台機 器人。

圖 47. 3 1 之子區塊

另一 1 3 之子區塊也用同樣的方式做檢查,也為此子區塊找出需兩台機器 人方可達成任務,機器人巡邏的方式如圖 48 所示。

圖 48. 1 3 之子區塊

到了第四個 3 3 之子區塊時,因子區塊太大所以要再進行切割,而切割的 方式共有四種,如圖 49 所示。而這四種切法的機器人所需的數量都為五台,因 這四種切法機器人的數量都為一樣,所以 3 3 之子區塊需 5 台機器人方可達成 任務。

圖 49. 3 3 之子區塊需再切割

(46)

39

所以第一種切割的方式機器人所需的數量為 1 2 2 5=10,共需十台可達成 任務。

之後我們就開始第二次切割,這次切割的方式如圖 50 所示,也會有四個子 區塊,而兩個 2 1 的子區塊因各只有兩個區塊,而機器人所限制步數的步數為 30,所以當只有一台機器人時對兩個區塊只能減去 15,導致機器人所需的數量 分別為一台和兩台。

圖 50. 第二次切割

另外兩個 2 3 的子區塊,因都無法只用一台機器人達成任務,所以分別還 要進行兩此切割比對,兩個子區塊分別所需的機器人個數都為三台,而機器人的 巡邏方式如圖 51 所示。

圖 51. 兩個 2 3 的子區塊

所以第二個切割方式所需機器人的個數為 1 2 3 3=9,共需九台機器人方 可達成目標。

之後第三種的切割方式如圖 52 所示,其中只有 3 3 之子區塊還要進行四次 切割,對 3 3 之子區塊所找出所需的機器人數量都為五,再依照之前類似的方 法找出 3 1 之子區塊、1 1 之子區塊和 1 3 之子區塊所需的機器人分別為,兩 台、一台和兩台,所以 2 1 5 2=10,也可得知此方式的切割所需機器人的個數 為十台才可以達成目標。到了目前為止是第二個切割方式所需九台機器人的個數 為最少。

參考文獻

相關文件

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications

A Wireless Sensor Network is composed by a group of tiny devices with limited energy. Since the number of sensing nodes is usually huge, the sensing nodes are usually on

[3] Ke Xiaolong, “Study on Software and Hardware Control of High-precision Measurement Platform for Optical Aspheric Surface”, 2009 IEEE International Conference on

Sun, “The Application of Role-Based Access Control in Workflow Management Systems”, Proceedings of IEEE International Conference on System, Man and Cybemetics, vol.6, pp.

[17] Xiuqi Li and Jie Wu, ”Cluster-based Intelligent Searching in Unstructured Peer-to-Peer Networks”, Proceedings of the 25th IEEE International Conference on Distributed Computing

Optimum path planning for mobile robots based on a hybrid genetic algorithm, Proceedings of the Sixth International Conference on Hybrid Intelligent Systems, Auckland, New

[20] Mohamed Younis, Moustafa Youssef, and Khaled Arisha “Energy Aware Routing in Cluster-Based Sensor Networks”, 10th IEEE International Symposium on Modeling, Analysis