## 中 中 中

**中 華** 華 華 **華 大** 大 大 **大 學** 學 學 **學 ** 碩

## 碩 碩

**碩 士** 士 士 **士 論** 論 論 **論 文** 文 文 **文 **

### 在有方向性無線感測網路中利用可移動感測 器解決區域覆蓋問題之研究

### A Study on the Area Coverage Problem in **Directional Sensor Networks with Mobile **

### Sensors

### 系 所 別：資訊工程學系碩士班 學號姓名：M09702044 何 孟 佳 指導教授：梁 秋 國 博士

### 中 華 民 國 100 年 8 月

### 摘 摘 摘

### 摘 要 要 要 要

一個有方向性感測器網路是由許多有方向性感測器所組成。不像具有全向感 測角度的傳統全方向性感測器，有方向性感測器會因技術上的限制或是成本上的 考量，導致感測角度是有限制的。面積覆蓋對於有方向性感測網路仍然是一個基 本的議題。在本篇論文中，我們討論了在有方向性感測網路中，可以藉由移動到 正確的位置來提高覆蓋率的可移動感測器的面積覆蓋問題。我們提出了一些針對 可移動感測器的分散式自我部屬的機制。在有方向性感測器被隨機部署在監控的 區域後，每一個有方向性感測器會計算新的位置來移動，藉由移動到新的位置來 獲得比上一個位置更好的覆蓋率。有方向性感測器的位置會一輪一輪的被調整因 此覆蓋率會逐漸地增加。基於有方向性感測器感測方向的外心和內心，我們設計 了兩個機制，分別為：基於外心和基於內心機制來引導移動方向。我們也提出一 個虛擬力的機制來增加覆蓋率。模擬結果顯現出我們提出來的機制能有效地提升 面積覆蓋率。

關鍵字 關鍵字 關鍵字

關鍵字:有方向性感測器、可移動感測器、面積覆蓋

**Abstract**

A directional sensor network is composed of many directional sensor nodes.

Unlike conventional omni-directional sensors that always have an omni-angle of sensing range, directional sensors may have a limited angle of sensing range due to technical constraints or cost considerations. Area coverage is still an essential issue in a directional sensor network. In this thesis, we study the area coverage problem in directional sensor networks with mobile sensors, which can move to the correct places to get high coverage. We present distributed self-deployment schemes of mobile sensors. After sensors are randomly deployed, each sensor calculates its next new location to move in order to obtain a better coverage than previous one. The locations of sensors are adjusted round by round so that the coverage is gradually improved.

Based on circumcenter and incenter of sensing direction of the directional sensors, we design two schemes, namely Circumcenter-based and Incenter-based schemes respectively, to guide the moving direction. And we also proposed a virtual force scheme to increase the coverage. Simulation results show the effectiveness of our schemes in term of the coverage improvement.

**Keywords: directional sensors, mobile sensor, area coverage **

### 致謝 致謝 致謝 致謝

在中華大學就讀碩士班的這段日子中，雖經歷的時間不久，但我還是要感謝 梁秋國老師的在做人處事以及課業學習上的熱心指導與諄諄教誨，使我在學術研 究上更為嚴謹且細膩，同時也讓我學習到許多寶貴的經驗。此外也要感謝口試委 員們的寶貴意見與建議，學生在此致上最誠摯的謝意。另外還要感謝學長們不吝 傳授閱讀論文和程式撰寫的技巧，使得我能找到正確的閱讀論文的方式和改善程 式撰寫的程度。以及同學和學弟們於這段求學時間，不管事課業、娛樂、生活和 研究上的互相砥礪與幫助，讓我能夠在一個和樂融融、充滿歡樂的良好環境中逐 漸的進步與成長。

最後要感謝我的父母及親人對我的照顧、鼓勵與支持，讓我能順利完成學業，

邁向人生的另一個階段。雖然求學過程辛苦且漫長，但努力終能獲得回報，最後 僅以此論文獻給所有曾幫助過我的老師、學長、同學以及學弟們，期許在未來的 日子裡能發揮所學所長，回饋社會以及大家對我的期望。

**Table of Contents **

List of Figures ... vi

List of Tables ... viii

Chapter 1 Introduction ... 1

Chapter 2 Related Works ... 7

2.1 Voronoi diagram ... 7

2.2 The VECtor-based Algorithm (VEC) ... 8

2.3 The VORonoi-based Algorithm (VOR) ... 9

2.4 The Minimax Algorithm ... 11

2.5 The Centroid Algorithm ... 12

2.6 The Dual-Centroid Algorithm ... 13

Chapter 3 Directional Sensing Model and Preliminaries ... 15

3.1 Directional Sensing Model ... 15

3.2 Preliminaries ... 15

3.2.1 Virtual Force Point ... 16

3.2.2 Circumcenter of Circumscribed Circle ... 17

3.2.3 Incenter of Inscribed Circle ... 18

3.2.4 Centroid... 19

Chapter 4 Our Proposed Schemes ... 20

4.1 Problem statement ... 20

4.2 Circumcenter-based and Incenter-based scheme ... 21

4.2.1 Circumcenter-based scheme ... 21

4.2.2 Incenter-based scheme ... 24

4.2.3 Moving algorithm ... 27

4.3 Virtual force scheme ... 31

4.3.1 Virtual Force Moving algorithm ... 33

Chapter 5 Simulation Results ... 39

5.1 Simulation Environment ... 39

5.2 The performance of our proposed schemes ... 40

Chapter 6 Discussions ... 46

Chapter 7 Conclusions and Future works ... 48

References ... 50

**List of Figures **

Figure 1.1. An example of wireless sensor network ... 2

Figure 1.2. An example of three omni-directional sensors deployed to cover the target region... 3

Figure 1.3. An example of five directional sensors deployed to cover the target region ... 4

Figure 1.4. The redundant node judgment scheme for directional sensor network ... 5

Figure 2.1. An example of the Voronoi diagram ... 8

Figure 2.2. The Voronoi polygon ... 8

Figure 2.3. The movement-adjustment scheme ... 9

Figure 2.4. Sensor move to cover the farthest Voronoi vertex ... 10

Figure 2.5. An example of oscillation control ... 11

Figure 2.6. Sensor move toward the center of the smallest enclosing circle of the Voronoi polygon ... 12

Figure 2.7. Sensor move toward the centroid point of the local Voronoi polygon ... 13

Figure 2.8. Sensor move toward the new position G based on the Dual-Centroid algorithm ... 14

Figure 3.1. The directional sensing model ... 15

Figure 3.2. The virtual force point ... 17

Figure 3.3. The difference of the number of virtual force point ... 17

Figure 3.4. The Circumscribed circle and Circumcenter ... 18

Figure 3.5. Inscribed circle and Incenter ... 18

Figure 3.6. Point G is the centroid of a triangle ... 19

Figure 4.1. An example whether the directional sensor achieves fully coverage or not ... 22

Figure 4.2. An example of movement-adjustment ... 22

Figure 4.3. Procedures of Circumcenter-based scheme ... 23

Figure 4.4. An example of Circumcenter-based scheme with Centroid-based moving algorithm after first two rounds ... 24

Figure 4.5. Procedures of Incenter-based scheme ... 25

Figure 4.6. An example of Incenter-based scheme with Centroid-based moving algorithm after first two rounds ... 26

Figure 4.7. The VEC moving approach ... 28

Figure 4.8. The VOR moving approach ... 29

Figure 4.9. The Minimax moving approach ... 30
Figure 4.10. The Centroid moving approach ... 30
Figure 4.11. The Dual-Centroid moving approach ... 31
*Figure 4.12. An example of the repulsion model. S**j** exert a repulsive force on S**i *

... 32 Figure 4.13. An example that the sensor move toward its resultant repulsive force ... 33 Figure 4.14. The difference between four kind of repulsive forces ... 34 Figure 4.15. The example of move-back scheme... 35 Figure 4.16. An example of New-movement-adjustment scheme. (a) Before movement. (b) After movement ... 36 Figure 4.17. Procedures of Virtual Force Moving algorithm ... 37 Figure 4.18. An example of Virtual force scheme after first two rounds ... 38 Figure 5.1. The variation of different number of virtual force point target region ... 40 Figure 5.2. The performance in coverage of Circumcenter-based scheme and Virtual Force scheme ... 41 Figure 5.3. The performance in moving distance of Circumcenter-based scheme and Virtual Force scheme ... 42 Figure 5.4. The performance in coverage of Incenter-based scheme and Virtual Force scheme ... 43 Figure 5.5. The performance in moving distance of Incenter-based scheme and Virtual Force scheme ... 43 Figure 5.6. The Coverage performance vs. communication range ... 45 Figure 5.7. The Moving distance vs. communication range ... 45 Figure 6.1. Employ the center point of the directional sensor to construct the local Voronoi polygon ... 46 Figure 6.2. The circumscribed circle and the inscribed circle of the sensing sector ... 47

**List of Tables **

Table 5.1. Experimental parameters ... 40

**Chapter 1 ** Introduction

Wireless sensor networks (WSNs) are one of the most important technologies that will change the world [1] in that such networks can provide us with fine-granular observations about the physical world where we are living. A wireless sensor network is composed of a large number of tiny and inexpensive sensor nodes which can collect the information for further applications. Potential applications of wireless sensor networks span a wide range of areas; including disaster rescue, energy management, medical monitoring, logistics and inventory management, remote monitoring of seismic activities, environmental factors (e.g., air, water, soil, wind, chemicals), precision agriculture, factory instrumentation, and military reconnaissance, etc [2, 3]. With their capabilities for monitoring and control, the sensors are expected to be widely deployed. Such a network can provide a fine global picture through the collaboration of many sensors with each observing a coarse local view [4, 5].

In a wireless sensor networks, each sensor node is normally battery operated and equipped with the following modules [2, 6]:

A sensing module which is capable of sensing some information (e.g., an acoustic, a seismic, a temperature, or a brightness sensor) or monitoring some entity in environment [7, 8].

A digital unit for processing the signals from the sensors and can make some simple mathematical computation such as summation, average, or data sorting of collected information. This unit is also performing network protocol functions [6].

A radio module for wireless communication which can send collected information to users wirelessly. With this communication module, sensor nodes can communicate with other nodes, and the users can send some queries to the sensor nodes to tell them what data the users need.

Among the various scopes one of the major applications of sensor network is to collect information periodically from a remote terrain where each node continually senses the environment and sends back this data to the base station (BS), which is usually located at considerably far from the target field [9], for further analysis as shown in Figure 1.1.

**Figure 1.1 An example of a wireless sensor network. **

In recent years, wireless sensor networks have received a lot of attention due to their wide applications in military and civilian operations, such as fire detection [10], vehicle traffic monitoring [11], ocean monitoring [12], and battlefield surveillance [13]. In wireless sensor networks, area coverage is a fundamental problem and has been studied by many researchers. Most of the past work is always based on the assumption of omni-directional sensors that has an omni-angle of sensing range as shown in Figure 1.2. However, there are many kinds of directional sensors, such as video sensors [14], ultrasonic sensors [15] and infrared sensors [16]. The omni-directional sensor node has a circular disk of sensing range.

The directional sensor node has smaller sensing area (sector-like area) and sensing angle than the omni-directional one. Compared to isotropic sensors, the coverage region of a

directional sensor is determined by its location and orientation. This can be illustrated by the example in Figure 1.3.

**Figure 1.2 An example of three omni-directional sensors deployed to cover the **
target region.

Because of the area coverage is a fundamental problem in wireless sensor networks.

Therefore, sensor nodes must be deployed appropriately to reach an adequate coverage level for the successful completion of the issued sensing tasks [17], [18]. However, in many potential working environments, such as remote harsh fields, disaster areas, and toxic urban regions, sensor deployment cannot be performed manually. To scatter sensors by aircraft may result in the situation that the actual landing positions cannot be controlled.

Consequently, the coverage may be inferior to the application requirements no matter how many sensors are dropped. In such case, it is necessary to make use of mobile sensors, which can move to the correct positions to provide the required coverage.

**Figure 1.3 An example of five directional sensors deployed to cover the target **
region.

Most previous research efforts on deploying mobile sensors are based on the omni-directional sensor networks. For example, Howard et al [19] present a distributed, potential-field-based approach to solve the coverage problem. In their approach, sensor nodes are treated as virtual particles that are subject to force, these forces repel the neighboring sensor nodes from each other and from obstacles. Finally, sensor nodes will spread from dense to sparse area. The concept of potential-field was first proposed in the research of mobile robotic route plan and obstacle avoidance by Khatib [20]. In [21], Wang et al. present a set of Voronoi diagram-based schemes to maximize sensing coverage. After discovering a coverage hole locally, the schemes calculate new position for each sensor to move at next round. They use the Voronoi diagram to discover the coverage holes and design three movement-assisted sensor deployment schemes: VEC (VECtor-based), VOR (VORonoi-based), and Minimax. In [22], Lee et al. designs two movement-assisted schemes: Centroid-based and Dual-Centroid-based. Based on the Voronoi diagram and centroid (geometric center), the proposed schemes can be used to improve the sensing coverage.

To the best of our knowledge, no research work on sensor network coverage for

directional sensor networks with mobile sensors has been done. Therefore, in this thesis, we study the problem of coverage by directional mobile sensor under the random deployment strategy. We develop solutions that maximize the sensing coverage while minimizing the moving distance.

In [23], Tao et al propose a redundant node judgment scheme for directional sensor network. They employ the concept of perimeter coverage node proposed by Chi-Fu Huang et al [24] to judge redundant node. They abstract a fan-shaped sensing region of a directional sensor with it inscribed circle to approximately perform redundant node judgment. When the boundary of the inscribed circle can be fully covered by its neighborhood sensors, the sensor can be considered as redundant sensor as shown in Figure 1.4. By employing the concept of inscribed circle, we also abstract the circumscribed circle in this thesis. Then based on the center of circumscribed circle and the center of inscribed circle of sensing region, we design two moving algorithms:

Circumcenter-based and Incenter-based. And we also proposed a virtual force schemes that the force can repel the sensors from each others to reduce the overlap region. Simulation results show that our distributed algorithms are effective in terms of coverage, and movement.

**Figure 1.4 The redundant node judgment scheme for directional sensor network. **

The rest of this thesis is organized as follows. In Chapter 2, we introduce some moving algorithm for omni-directional sensor networks. In Chapter 3, we describe our sensing model and preliminaries. A detail description of our proposed schemes is presented in Chapter 4. Chapter 5 shows some simulation results. We have some discussions about our schemes in Chapter 6. Finally, we conclude this thesis in Chapter 7.

**Chapter 2 ** Related Works

Because of there is no research work on sensor network coverage for directional sensor networks with mobile sensors has been done. So we introduce five movement-assisted sensor deployment algorithms for wireless sensor networks which are composed of many omni-directional sensors and they are all based on Voronoi diagram:

VECtor-based, VORonoi-based, Minimax [21], Centroid, and Dual-Centroid [22].

**2.1 ** ** Voronoi diagram **

The Voronoi diagram is a significant data structure in computational geometry [25],
[26] and it can be used to solve the coverage problems of wireless sensor network [21],
[27]. The Voronoi diagram of a collection of nodes separates the plane space into many
polygons. Figure 2.1 is an example of the Voronoi diagram, and Figure 6(b) shows an
*example of the Voronoi polygon. Given a set of sensor S={s*_{0}*,s*_{1}*,…..,s** _{n}*}, then the Voronoi
diagram partitioned a plane space into numerous polygons and each polygon comprises
only one sensor and any point in the given polygon is closer to its generating sensor than

*any other sensors. We define the Voronoi polygon of s*

*0*

*as G*

*0*

*= {V*

*0*

*, E*

*0*

*}, where V*

*0*is the

*set of Voronoi vertices of s*

_{0}*, and E*

_{0}*is the set of Voronoi edges and N*

*is the set of*

_{0}*neighbors of s*

*0*

*. As shown in Figure 2.2, V*

*0*

*={v*

*1*

*,v*

*2*

*,v*

*3*

*,v*

*4*

*,v*

*5*

*}, E*

*0*

*={v*

*1*

*v*

*2*

*,v*

*2*

*v*3

*,v*

*3*

*v*

*4*

*,v*

*4*

*v*

*5*

*,v*

*5*

*v*

*1*},

*and N*

_{0}*={s*

_{1}*,s*

_{2}*,s*

_{3}*,s*

_{4}*,s*

_{5}*}. So the Voronoi edges of s*

*are the vertical bisectors of the line that*

_{0}*pass thru s*

*0*

*and its neighbors. For example, line segment v*

*1*

*v*

*2*is the bisector of line

*segment s*

_{0}*s*

*.*

_{2}Based on Voronoi diagram, we can simplify the area coverage problem into the coverage problem of each Voronoi polygon [

**Figure 2.1**

*S*_{2}

*V*

**2.2 ** ** The VECtor-**

The VEC is motivated by the attributes of electromagnetic pushing sensors away from a densely area by the virtual force.

*distance between sensor S*

Based on Voronoi diagram, we can simplify the area coverage problem into the coverage problem of each Voronoi polygon [27].

**Figure 2.1 An example of the Voronoi diagram.**

*S*_{0}*S*_{1}

*S*_{5}

*S*_{4}*S**3*

*V**1*

*V**2*

*V**3*

*V*_{5}

*V*_{4}*G*

**Figure 2.2 The Voronoi polygon. **

**-based Algorithm (VEC) **

VEC is motivated by the attributes of electromagnetic and the pushing sensors away from a densely area by the virtual force. They assume

*S**i **and sensor S**j**. d**ave* is the average distance between two the
Based on Voronoi diagram, we can simplify the area coverage problem into the

Voronoi diagram.

and the main idea is
*They assume d (S*_{i,}* S** _{j}*) is the
is the average distance between two the

sensors when the sensors are evenly distributed in the target region, which can be
calculated by the target region and the number of sensors to be deployment. The virtual
*force between two sensors will pull them to move (d**ave** – d(S**i,** S**j*))/2 away from each other.

If one sensor covers its Voronoi polygon and should not move, the other sensor will be
*pushed d**ave** – d(S**i,** S**j**) away. The virtual force exerted by sensor S**j** on the sensor of S**i* is
*denoted as F*_{ij}*, with the direction from S**j** to S**i*. The target region boundary also exerts the
*virtual force, denoted as F*_{b}*. F*_{b}* exerted a force on the sensor of S**i* and will push it
*(d*_{ave}* - d (S*_{i,}* S** _{j}*))/2 away. The VEC algorithm also adds a movement-adjustment scheme to
reduce the error of virtual force. After determining the new position to move, the sensor
checks whether the local coverage will be increased by its movement or not. If increased,
the sensor will start to move, otherwise, it will stay in the same position. Figure 2.3
illustrate an example of movement-adjustment scheme.

**Figure 2.3 The movement-adjustment scheme. **

**2.3 ** ** The VORonoi-based Algorithm (VOR) **

The main idea of VOR is pulling sensors to the sparsely covered area. Sensors will move toward its farthest Voronoi vertex and stop when the farthest vertex can be covered

as shown in Figure 2.4.

**Figure 2.4 Sensor move to cover the farthest Voronoi vertex. **

And VOR limits the maximum moving distance to be at most half of the
communication range minus the sensing range to reduce the risk of moving oscillation. But
moving oscillations may still occur if new holes are generated by a sensor’s leaving as the
following figures show. So the VOR add an oscillation control which does not allow sensor
*to move backward as shown in Figure 2.5. From Figure 2.5(a), sensor S**i* moves toward the
*new position to cover the farthest vertex. And in Figure 2.5(b), sensor S** _{i}* tends to move
toward the new position to cover the farthest vertex when new hole is generated by last

*movement. But we can observe that sensor S*

*move backward after the second movement, so the sensor should not move toward the new position. And the VOR also applies the same movement-adjustment scheme mentioned in VEC to check whether the local coverage will be increased by its movement or not.*

_{i}**Figure 2.5 An example of oscillation control. **

**2.4 ** ** The Minimax Algorithm **

The main idea of Minimax is fixing holes by moving closer to the farthest Voronoi vertex, but it does not move as far as VOR. As shown in Figure 2.6, sensor will move toward the center of the smallest enclosing circle of the Voronoi polygon. To find the smallest enclosing circle of polygon, the simplest algorithm of considers every circle defined by two or three of the n points, and finds the smallest of “these” circles that contains every point and there are other algorithms of finding smallest enclosing circle which are described in [28], [29], [30]. The Minimax also applies the same Maximum moving distance to reduce the risk of moving oscillation, the Oscillation control to prevent sensors move backward and the Movement-adjustment scheme to check whether the local coverage will be increased by its movement or not which are mentioned before.

**Figure 2.6 Sensor move toward the center of the smallest enclosing circle of the **
Voronoi polygon.

**2.5 ** **The Centroid Algorithm **

The Centroid algorithm is moving sensors to their local center point of the local Voronoi polygon which is called Centroid point. The definition of Centroid point will describe in section 3.2.4. As shown in Figure 2.7, the star point is the local center point of the local Voronoi polygon which is called Centroid point. So sensor will move toward the Centroid point as its new position. Then the Centroid algorithm also applies the same movement-adjustment scheme mentioned before to check whether the local coverage will increase by its movement or not. If the local coverage increased, the sensor will start to move toward the new position, otherwise, it will not move toward the new position which implies the sensor stay in the same position.

**Figure 2.7 Sensor move toward the centroid point of the local Voronoi polygon. **

**2.6 ** ** The Dual-Centroid Algorithm **

Similar to the Centroid algorithm, the Dual-Centroid algorithm is not only moving
sensors to their local center point of the local Voronoi polygon but also to the centroid of
the polygon formed by Voronoi neighbor nodes. Then the Dual-Centroid algorithm
*calculates the central point G between the two centroid points by the equation (1): *

*G* = *αC*

_{1}

### + ( 1 − *α* ) *C*

_{2}

* * ( *α* ∈ ( 0 *,* 1 ))

(1)
*C*

*and C*

_{1}_{2 }are the center point of the local polygon and the centroid of the polygon formed by Voronoi neighbor nodes, respectively. And point G is the new position that sensor will move toward. And the Dual-Centroid algorithm also applies the movement-adjustment scheme to check whether the local coverage will increase by its movement or not which is same as Centroid algorithm. Figure 2.8 illustrate an example of Dual-Centroid algorithm.

**Figure 2.8 Sensor move toward the new position G based on the Dual-Centroid **
algorithm.

**Chapter 3 **

### Directional Sensing Model and Preliminaries

Different from the isotropic sensors, directional sensors have its own sensing model.

So we will describe our directional sensing model and some preliminaries in this chapter.

**3.1 ** ** Directional Sensing Model **

Compared to an omni-directional sensor which has a circular disk of sensing range, a
directional sensor has smaller sensing area (sector-like area) and sensing angle. This can be
best illustrated in Figure 3.1. As shown in Figure 3.1, the sensing region of a directional
*sensor is a sector denoted by 3-tuple (V, α, β, R), and the sensing region is called sensing *
*sector. Here V is the center line of sight of field of view, α is the sensing angle, β is the *
*offset angle of the field of view on both sides of V and R is the sensing radius. *

**Figure 3.1 The directional sensing model. **

**3.2 ** ** Preliminaries **

We will illustrate the definition of virtual force point, circumcenter of circumscribed

circle, incenter of inscribed circle and the centroid point in this section.

**3.2.1 ** **Virtual Force Point **

We assume there are many virtual force points around the boundary of sensing sector
and each directional sensor can obtain the location information of its virtual force points,
*as shown in Figure 3.2. And we assume VP*_{ik}* is the set of virtual force point of S*_{i }*, where k *

*= 1…3K+1. And K is the number of virtual force point on the two edges and the arc of the *

directional sensor’s sensing sector. So other sensors can exert a virtual force on these
virtual points. From Figure 3.2, there are fifteen virtual force points on the boundary of
*sensor S*_{i}*. So the set of virtual force point VP*_{ik}* have sixteen elements, where k is from zero *
to sixteen. Then we can observe that the more virtual force point a directional sensor has,
the more repulsive force that exerted on the directional sensor by its neighboring
directional sensors. Then the directional sensor can be repelled from dense to sparse area as
*shown in Figure 3.3. From Figure 3.3(a), we can observe that the directional sensor S** _{j}* has

*the overlapped region with directional sensor S*

*i*

*, so directional sensor S*

*i*should be repelled

*by the directional sensor S*

_{j}*. But S*

_{j}*didn’t exert a repulsive force on S*

*because that the*

_{i}*directional sensor S*

*j*

*didn’t cover any virtual force point of directional sensor S*

*i*. And in

*Figure 3.3(b), we can see that the directional sensor S*

*has the overlapped region with*

_{j}*directional sensor S*

*i*

*, so directional sensor S*

*i*

*should be repelled by the directional sensor S*

*j*.

*And S*

_{j}*would exert a repulsive force on S*

_{i}*because that the directional sensor S*

*cover one*

_{j}*virtual force point of directional sensor S*

*i*.

**Figure 3.2 The virtual force point. **

**Figure 3.3 The difference of the number of virtual force point. **

**3.2.2 ** **Circumcenter of Circumscribed Circle **

The circumscribed circle of a polygon is a circle which can cover all the vertices of
*the polygon. The center of this circumscribed circle is called the Circumcenter. In this *
thesis, we need to depict the circumscribed circle of a sensing sector then calculated its
*circumcenter (C*_{0}*) and circumradius (C*_{r}*), as shown in Figure 3.3. *

**Figure 3.4 The Circumscribed circle and Circumcenter. **

**3.2.3 ** **Incenter of Inscribed Circle **

The inscribed circle of a sensing sector is the circle that contact with the arc length
and two radiuses. Figure 3.4 illustrates the center of inscribed circle of a sensing sector. Let
*D denote the distance between the directional sensor and the center of the inscribed circle *

*and r denote the radius of inscribed circle which is called Inradius. It is easy to obtain that *
the ( 2⁄ ) = ⁄ = ( − ). ⁄ Therefore, we can easily have that
= ⁄(1 + ( 2)⁄ ) and = ∙ ( 2⁄ ) (1 +⁄ ( 2⁄ )). By using the above
*variables, we can compute the center of the inscribed circle which is called the Incenter. *

The line passing from directional sensor to the Incenter is the angle bisector of the sensing sector.

**Figure 3.5 Inscribed circle and Incenter. **

**3.2.4 ** **Centroid **

In geometry, the centroid of a 2-D polygon is the intersectional point of all lines that partition the polygon into two part of equal area. Figure 3.5 shows the centroid of a triangle.

*The centroid of a non-self-intersecting closed polygon defined by n vertices (x**i **, y**i*), the
*centroid point(C*_{x }*, C** _{y}*) can be computed by equation (2) :

*C** _{x}*= 1

*6A* *(x**i*
*n 1*

*i=0*

+x*i+1**)(x**i**y*_{i+1}*− x**i+1**y** _{i}*)

(2)

*C*_{y} = 1

*6A* (y*i*
*n 1*

*i=0*

+y*i+1**)(x**i**y*_{i+1}*− x**i+1**y** _{i}*)

*the polygon area A can be calculated by equation (3) : *
A =1

2 *x*_{i}*y*_{i+1}*− x**i+1**y** _{i}* (3)

!

**Figure 3.6 Point G is the centroid of a triangle. **

**Chapter 4 **

### Our Proposed Schemes

**4.1 ** ** Problem statement **

In this section, we formally define the problem we are going to solve. Problem:

*Randomly deploying N mobile directional sensors with sensing range R** _{s}*, communication

*range R*

*c*

*and sensing angle α in a given target sensing region, we are asked to maximize*the sensor coverage with less moving distance.

To address the above problem, we need to make the following assumptions in which some of them are similar to those in [22]:

1) *All directional sensors have the same sensing range (R**s**), communication range (R**c*)
*and sensing angle α, where 0<α≤ 2π 3*⁄ that the Circumcenter will always inside the
*sensing sector. Directional sensors within R**c* of a sensor are called the sensor’s
neighboring nodes. The sensing range is much shorter than the communication range.

2) Directional sensors can move to arbitrary orientation, but its sensing direction is not rotatable.

3) Each directional sensor knows its location information which includes sensing region, sensing radius, sensing angle and offset angle. And it also can obtain the same types location information of its neighboring sensors by communication.

4) The target region is on a two-dimensional plane with no obstacle. But the boundary of target region can be regarded as a wall-like obstacle.

5) We don’t consider the energy consumption of directional sensors. But we employ the moving distance as a replacement of energy consumption. The more moving distance, the more energy consumption. The less moving distance, the less energy consumption.

**4.2 ** ** Circumcenter-based and Incenter-based scheme **

In order to maximize the area coverage, we present two moving schemes for directional mobile sensors, namely the Circumcenter-based scheme and the Incenter-based scheme. Both of our proposed moving schemes are based on Voronoi diagram.

**4.2.1 ** **Circumcenter-based scheme**

Each directional sensor calculates the circumscribed circle of its sensing sector, then the circumscribed circle can be regarded as a virtual omni-directional sensor that its sensing region is larger than the sensing sector of directional sensors. Then every beginning of each round, we use the circumcenter of a directional sensor and its neighbors’

circumcenter to construct the local Voronoi polygon. If all distances between circumcenter and the vertices of Voronoi polygon are less than circumradius, this directional sensor achieves fully coverage which implies that it has no need to move. This is because that if the circumscribed circle of the directional sensor covers the whole vertices of its Voronoi polygon, in other words, this circle can covers the whole polygon. So the directional sensor does not move to increase the area coverage of its Voronoi polygon. Then if the directional sensor does not achieve full coverage, it will attempt to move to increase the area coverage of its Voronoi polygon. Figure 4.1 illustrates an example whether the directional sensor achieves fully coverage or not. From the Figure 4.1(a), we can see that all distances between circumcenter and the vertices of Voronoi polygon are less than circumradius, so

the directional sensor achieves fully coverage. And from Figure 4.1(b), we can observe that there are two vertices of Voronoi polygon (vertex A and B) has not been covered by the circumscribed circle of the directional sensor, so the directional sensor does not achieve full coverage.

**Figure 4.1 An example whether the directional sensor achieves fully coverage or not. **

Then the movement procedure can be stated as follows: First, the directional sensor determines the location of new circumcenter and location of destination for moving. Then it checks if the local coverage is increased by moving to the destination. If the local coverage is increased, the directional sensor will start to move; otherwise, it will stay. The above procedure is called the movement-adjustment scheme which is similar to the moving scheme in [21]. Figure 4.2 illustrates an example of movement-adjustment scheme.

**Figure 4.2 An example of movement-adjustment. **

From Figure 4.2, we can easily see that whether the coverage is increased after moving to the new destination depends on the location of new circumcenter. In order to get

better coverage, we employ five different approaches to calculate the location of new circumcenter, which are VEC, VOR, Minimax, Centroid and Dual-Centroid approaches. In section 4.2.3, we will explain these five approaches in detail. Then the Circumcenter-base scheme will stop when it achieves maximum number of round. The completed procedure of Circumcenter-base scheme is shown in Figure 4.3

We utilize a case to illustrate the Circumcenter-based scheme with Dual-Centroid
moving algorithm. As shown in Figure 4.4, we have 100 directional sensors which are
*randomly deployed in a region of 500×500 m** ^{2}*. For each directional sensor, the sensing

*radius is 60 m, the communication radius is 200 m, and the sensing angle is 90*

^{o}. In Figure 4.4(a), the initial coverage rate is 64.80%. After Round 1 (Figure 4.4(b)) and Round 2 (Figure 4.4(c)), we can observe that the coverage increase to 79.71% and 83.02%, respectively.

**Circumcenter-based scheme **
**Notations : **

*C**i* : the circumcenter of a sensor
*G(C*_{i }*) : Voronoi polygon of C*_{i}

*All_covered : boolean variable indicating whether G(C**i**) is completely covered by C**i*

*Max_Round : pre-defined maximum number of round *
**Procedure : **

*(1)call FindCircumcenter(), then get C**i*

*(2)enter discovery phase : *

* (2.1)set timer to be discovery interval and enter Moving phase upon timeout *
*(2.2)broadcast hello after a random time slot *

*(3)enter Moving phase : *

* (3.1)set timer to be discovery interval and enter discovery phase upon timeout *
*(3.2)if All_covered = false, call Moving algorithm() *

*(3.3)Done when satisfying stop criteria *

(4)Upon receiving hello message from sensor’s neighbor
*(4.1)Update G(C** _{i}*)

*(4.2)if G(C**i**) is newly covered, set All_cover = true *
**Moving algorithm() : **

See Section 4.2.3
* FindCircumcenter()*：：：：

Find the center of circumscribed circle and circumradius

**Figure 4.3 Procedures of Circumcenter-based scheme. **

(a) Initial deployment

**Figure 4.4 An example of Circumcenter**

**4.2.2 ** **Incenter-based scheme**

In this scheme, each

sector and the inscribed circle can be regarded as a virtual omni sensing region is smaller than the sensing sector. Then

Initial deployment (64.80%) (b) Round 1 (79.71%)

(c) Round 2 (83.02%)

An example of Circumcenter-based scheme with Centroid algorithm after first two rounds.

**based scheme**

In this scheme, each directional sensor calculates the inscribed circle of its sensing scribed circle can be regarded as a virtual omni-directional sensor that sensing region is smaller than the sensing sector. Then each directional sensor

(79.71%)

Centroid-based moving

scribed circle of its sensing directional sensor that the each directional sensor uses the

incenter and its neighbors’ incenters to construct the local Voronoi polygon. If the distances between the incenter and the vertices of local Voronoi polygon are less than the inradius, then the directional sensor achieves fully coverage, and it will stay at this round. Otherwise, the directional sensor will attempt to move and it will execute the movement-adjustment scheme to checks whether the local coverage is increased by moving to the destination or not. If the local coverage is increased, the directional sensor will start to move; otherwise, the directional sensor will not move toward the new position. Then the Incenter-base scheme will stop when it achieves maximum number of round. The complete procedure of Incenter-base scheme is shown in Figure 4.5.

**Incenter-based scheme **
**Notations : **

*I**i* : the Incenter of a sensor
*G(I*_{i }*) : Voronoi polygon of I*_{i}

*All_cover : boolean variable indicating whether G(I**i**) is completely covered by I**i*
*Max_Round : pre-defined maximum number of round *

**Procedure : **

*(1)call FindIncenter(), then get I*_{i}*(2)enter discovery phase : *

* (2.1)set timer to be discovery interval and enter Moving phase upon timeout *
* (2.2)broadcast hello after a random time slot *

*(3)enter Moving phase : *

* (3.1)set timer to be discovery interval and enter discovery phase upon timeout *
* (3.2)if All_cover = false, call Moving algorithm() *

(3.3)Done when satisfying stop criteria

(4)Upon receiving hello message from sensor’s neighbor
*(4.1)Update G(I** _{i}*)

*(4.2)if G(I*_{i}*) is newly covered, set All_cover = true *
**Moving algorithm() : **

See Section 4.2.3
* FindIncenter()*：：：：

Find the center of inscribed circle and inradius

**Figure 4.5 Procedures of Incenter-based scheme. **

We also utilize a case to illustrate the Incenter-based scheme with Centroid-based
moving algorithm. As shown in Figure 4.6, we have 100 directional sensors which are
*randomly deployed in a region of 500×500 m** ^{2}*. For each directional sensor, the sensing

*radius is 60 m, the communication radius is *
4.6(a), the initial coverage rate

(Figure 4.6(c)), we can observe respectively.

(a) Initial deployment

**Figure 4.6 An example of Incenter**

*, the communication radius is 200 m, and the sensing angle is *
initial coverage rate is 66.08%. After Round 1 (Figure 4.6

, we can observe that the coverage increase to 80.12

Initial deployment (66.08%) (b) Round 1 (80.12%)

(C) Round 2 (84.54%)

An example of Incenter-based scheme with Centroid algorithm after first two rounds.

sensing angle is 90^{o}. In Figure
6(b)) and Round 2
80.12% and 84.54%,

(80.12%)

based scheme with Centroid-based moving

**4.2.3 ** **Moving algorithm**

The purpose of moving algorithms is to determine the new locations for the directional sensors and also to decide whether the sensors should move to the new locations or not. For getting better coverage, we employ five different approaches to determine the new locations, which are the VEC, VOR, Minimax, Centroid and Dual-Centroid approaches.

VEC approach

The VEC approach is similar to the VEC moving algorithm proposed by [21]. It
*pushes sensors away from a densely area by the virtual force. We assume d (M*_{i,}* M** _{j}*) is the

*distance between movement node M*

*i*

*and movement node M*

*j*

*. d*

*ave*is the average distance between two the movement node which can be calculated by the target region and the number of movement node, as shown in equation (4):

* d**ave* = 2" target region area

*(number of movement node)×π* (4)

*The virtual force of two movement node will pull them to move (d*_{ave}* – d(M*_{i,}* M** _{j}*))/2
away from each other. If a movement node of the directional sensor covers its Voronoi
polygon and should not move, the other movement node of the directional sensor will be

*pushed d*

*ave*

*– d(M*

*i,*

*M*

*j*

*) away. The virtual force exerted by the movement node of S*

*j*on the

*movement node of S*

*i*

*is denoted as F*

_{ij}*, with the direction from M*

*j*

*to M*

*i*. The target

*region boundary also exerts the virtual force, denoted as F*

_{b}*. F*

*exerted a force on the*

_{b}*movement node of S*

_{i}*and will push it (d*

_{ave}*- d (M*

_{i,}*M*

*))/2 away. After determining the new position to move, the directional sensor will execute the movement-adjustment until new position is reached. Figure 4.7 shows the procedure of VEC approach. If one movement*

_{j}node completely covers its Voronoi polygon,

VEC moving approach
**Notations : **

*N**i** : the neighbor node of S**i*

*M**i** : the movement node of S**i*

(means the circumcenter (or incenter) of directional sensors)
*G(M**i **) : Voronoi polygon of M**i *

*# : moving vector of S*^{i }

*F*_{ij}* = the virtual force exerted by S**j** on S**i**. *

*F*_{b}* = the virtual force exerted by the field boundary on S*_{i}*.*
*d** _{ave}* = the average distance between two the movement node.

*d*_{b }*(M*_{i,}*) = the distance of M** _{i }*to the boundary.

*d (M**i,** M**j**) = the distance between sensor M**i **and sensor M**j*.

*All_covered**i**: boolean variable indicating whether G (M**i**) is completely covered by *
*M** _{i}* or not.

**Procedure : **
(1) *V** _{i}*= 0

*(2) for each neighboring sensor S*_{j}* in N*_{i}

* If (All_covered*_{j}* ≠ true) ^ (d*_{ave}* > d (**M*_{i,}* M** _{j}*)) then

*F*

_{ij}*= (d*

*ave*

*- d (*

*M*

_{i,}*M*

*))/2;*

_{j}

_{ V}*i*

*= V*

*i*+

*F*

_{ij}*If (All_covered*

_{j}*= true) ^ (d*

_{ave}*> d (*

*M*

_{i,}*M*

*)) then*

_{j}*F*

_{ij}*= d*

*ave*

*- d (*

*M*

_{i,}*M*

*);*

_{j}

_{ V}*i*

*= V*

*i*+

*F*

_{ij}*(3) If (d*_{ave}*/2 > d** _{b }*(

*S*

*)) then*

_{i,}* F*_{b}* = d*_{ave}*/2 - d** _{b }*(

*M*

*);*

_{i,}

_{ V}*i*

*= V*

*+*

^{i}*F*

*(4) do movement-adjustment*

_{b}**Figure 4.7 The VEC moving approach. **

VOR approach

The VOR approach is similar to the VOR moving algorithm proposed by [21]. This
means that the new location of a directional sensor will be on the way from the directional
*sensor to the farthest Voronoi vertex (denoted as V**far*) of its corresponding Voronoi polygon.

*The directional sensor will move toward V*_{far}* and stop when V** _{far}* can be covered. If the

*moving distance that the movement node move toward V*

*far*

*is bigger than d*

*max*, the

*movement node will stop when the moving distance achieve d*

*instead of stopping when*

_{max}*V*

*far*can be covered. We also adapt the oscillation control in [21] to prevent the new hole

generated by moving sensors back and forth. After determining the new position to move, the directional sensor will execute the movement-adjustment until new position is reached.

Figure 4.8 shows the procedure of VOR approach.

VOR moving approach
**Notations : **

*N**i* : the movement node

(means the circumcenter (or incenter) of directional sensors)

*d**max** : maximum moving distance (* ^{R}_{2}* ^{c}*− circumradius) /* or (

^{R}_{2}

*− inradius) */*

^{c}*# : moving vector of N*^{i }

*V** _{far}*: the farthest Voronoi vertex

#_{,&}*: vector from N**i **to V**far*

*G(N*_{i }*) : Voronoi polygon of N*_{i }**Procedure : **

*(1) Calculate the V*_{far}* of G(N** _{i }*)

(2) # = #_{,&} − circumradius /* or inradius */

(3) shrink * # to be d*^{max}* if * * # > d*^{max}*(4) do oscillation control *

*(5) do movement-adjustment until V** _{far}* is covered

**Figure 4.8 The VOR moving approach. **

Minimax approach

The Minimax approach is also similar to the Minimax moving algorithm proposed by
[21]. This means that the new location of a directional sensor will be the center of smallest
*enclosing circle of its corresponding Voronoi polygon, which is called the Minimax point. *

*If the moving distance that movement node move toward Minimax point is bigger than d** _{max}*,

*the movement node will stop when the moving distance achieve d*

*max*instead of moving to

*the Minimax point. After determining the new position to move, the directional sensor will*execute the movement-adjustment until new position is reached. Figure 4.9 shows the procedure of Minimax approach.

Minimax moving approach
**Notations : **

*N** _{i}* : the movement node (means the circumcenter (or incenter) of directional sensors)

*d*

_{max}*: maximum moving distance (*

^{R}_{2}

*− circumradius) /* or (*

^{c}

^{R}_{2}

*− inradius) */*

^{c}*# : moving vector of N*^{i}

*Minimax point : the center of smallest enclosing circle *

#_{,0}*: vector from N**i **to Minimax point *
*G(N*_{i }*) : Voronoi polygon of N*_{i }

**Procedure : **

*(1) Calculate the center of the smallest enclosing circle of the vertices of G(N** _{i }*)
(2) # = #

_{,0}

(3) shrink * # to be d*^{max}* if * * # > d*^{max}*(4) do oscillation control *

*(5) do movement-adjustment until the Minimax point is reached *
**Figure 4.9 The Minimax moving approach. **

Centroid approach

In the Centroid moving approach, we calculate the centroid of the local Voronoi polygon of each directional sensor, which can be calculated by equation (2) and (3). Then this centroid point is the new position of the movement node of a directional sensor. After determining the new position to move, the directional sensor will execute the movement-adjustment until new position is reached. This approach is similar to the Centroid-based moving algorithm proposed by [22]. The procedure of Centroid-based moving approach is shown in Figure 4.10.

Centroid moving approach
**Notations : **

*M** _{i}* : the movement node (means the circumcenter (or incenter) of directional sensors)

*G(M*

*i*

*) : Voronoi polygon of M*

*i*

**Procedure : **

** (1) Calculate the centroid point of G(M*** _{i }*)

** (2) do movement-adjustment until the centroid point is reached **
**Figure 4.10 The Centroid moving approach. **

Dual-Centroid approach

In the Dual-Centroid moving approach, we calculate the centroid point of the local Voronoi polygon of each directional sensor and the centroid point of the polygon formed by Voronoi neighbor nodes. By using the two centroid points, the new location of a directional sensor’s movement node can be calculated by Equations (1). After determining the new position to move, the directional sensor will execute the movement-adjustment until new position is reached. This approach is similar to the Dual-Centroid moving approach proposed by [22]. The procedure of Dual-Centroid moving approach is shown in Figure 4.11.

Dual-Centroid moving approach
**Notations : **

*M**i* : the movement node (means the circumcenter (or incenter) of directional sensors)
*G(M**i **) : Voronoi polygon of M**i *

*G*_{n}*(M*_{i }*) : Voronoi neighbor polygon of M*_{i}**Procedure : **

** (1) Calculate the centroid point of G(M***i *)
* (2) Calculate the centroid point of G*_{n}*(M*_{i }**) **

(3) Calculate the new point between the two centroid points by equation (1)
** (4) do movement-adjustment until the new point is reached **

**Figure 4.11 The Dual-Centroid moving approach. **

**4.3 ** ** Virtual force scheme **

Then we propose a virtual force scheme to maximize the sensor coverage. Instead of
using the circumcenter or the Incenter to guide the directional sensor moves toward the
new position, the virtual force scheme employ the repulsive force between the virtual force
points which are around on the sensing sector of the directional sensor and the neighboring
directional sensor as a basis of movement. The main idea of virtual force scheme is
repelling the sensor nodes from each other that sensor nodes will spread from dense to
*sparse area. We assume VPCov*_{ij}* is the set of virtual force point of S** _{i}* that are covered by its

*neighboring sensor S*_{j}*. S*_{j}*VP*_{ik}*is the distance between S*_{j}* and VP*_{ik}*. When two sensors S*_{i}*and S** _{j}* have overlapped region, they will repel each other from their sensing region. If the

*neighboring sensor S*

*j*

*is inside the sensing sector of S*

*i*

*, S*

*j*will act a negative repulsive force

*to the virtual force point which has the maximal distance of S*

_{j}*VP*

_{ik}*. If S*

*j*is outside the

*sensing sector of S*

*i*

*, S*

*j*

*will act a repulsive force to the virtual force point that sensor S*

*i*will

*move radius minus the minimal distance of S*

_{j}*VP*

_{ik}*away. The virtual force exerted by S*

*j*

*on S**i** is denoted as FR**ij*. And the repulsion model is defined as follows:

*FR** _{ij}* =
122
3

224radius*− min S**j**VP** _{ik}* ,

*− max S**j**VP** _{ik}* ,
0 ,

5

if neighboring sensor is outside the sensing sector
*and VPCov**ij* *≠ ∅ and VP* *ik* *∈ VPCov**ij*

if neighboring sensor is inside the sensing sector
*and VPCov*_{ij}*≠ ∅ and VP**ik* *∈ VPCov**ij*

otherwise

Figure 4.12 illustrates an example of the repulsion model. From Figure 4.12(a), we
*can observe that S**j** is outside the sensing sector of S**i**, and VP**i3* has the minimal distance to
*S**j** and VP*_{i}_{2}* ∈ VPCov**ij**. So the repulsive force exert on S**i* is radius*− min S**j**VP** _{i2}* . And

*in Figure 4.12(b), S*

*j*

*is inside the sensing sector of S*

*i*

*and VP*

*i2*has the maximal distance of

*to S*

*j*

*and VP*

_{i2}*∈ VPCov*

*ij*

*. So the repulsive force exert on S*

*i*is

*− max S*

*j*

*VP*

*.*

_{i2}**Figure 4.12 An example of the repulsion model. S***j** exert a repulsive force on S**i*.

**4.3.1 ** **Virtual Force Moving algorithm**

According to the repulsion model, we can compute the repulsive forces of each sensor.

Then the resultant repulsive force of each sensor is the direction of the new position that sensor should move toward. Figure 4.13 shows an example that the sensor move toward the direction of the new position with its resultant repulsive force. After repelling by its repulsive force, it really can decrease the overlapped region.

**Figure 4.13 An example that the sensor move toward its resultant repulsive force. **

But we observe that sensors don’t move so far still can get the better coverage as shown in Figure 4.14. So we only take the resultant repulsive force as the moving direction, and the moving distance is fixed to radius/5. According to this strategy, we can take less moving distance than employing the resultant repulsive force to move.

(a) Coverage (%)

(b) Moving distance (m)

**Figure 4.14 The comparison of three different sizes of repulsive forces. **

The movement procedure can be stated as follows: First, the directional sensor determines the direction of movement by the repulsion model. Then we add adopt an oscillation control mention in section 2.3 which does not allow sensor to move backward.

60 65 70 75 80 85 90

0 1 2 3 4 5 6 7 8 9 10

Coverage (%)

round

resultant repulsive force radius/5

radius/4

0 1000 2000 3000 4000 5000 6000 7000 8000 9000

0 1 2 3 4 5 6 7 8 9 10

Moving distance (m)

round resultant repulsive force radius/5

radius/4

And we proposed a move-back scheme to prevent sensor’s sensing region is outside
the target region. If the virtual force point of a sensor is out of the target region, sensor
should move to the new position until its virtual force point is just located on the boundary
of the target region as shown in Figure 4.15. From Figure 4.15(a), we can observe that the
*virtual point A, B, C and D are outside the target region, so we should let these virtual *
points inside the target region. Then the directional will find the farthest virtual point to the
*boundary b**1** and b**2**. Point A is the farthest point to the boundary b**1** and point B is the *
*farthest point to the boundary b** _{2}*. Then directional sensor will move down to the distance

*between the virtual point A and the boundary b*

*1*

*, the virtual point A will just on the*

*boundary of the target region as shown in Figure 4.15(b). And the virtual point B is also*

*outside the target region, so the directional sensor will move right to the distance from B to*

*the boundary b*

_{2}*. Then the virtual B also located on the boundary of the target region as*shown in Figure 4.15(c). In Figure 4.15(d), the sensing sector of the directional sensor will all inside the target region after moving to the new position.

**Figure 4.15 The example of move-back scheme **

Then the directional sensor checks if the overlapped region with neighboring sensors is decreased by moving to the new destination. If the overlapped region is decreased, the

directional sensor will start to move; otherwise, it will stay. The above procedure is called the New-movement-adjustment scheme. Figure 4.16 illustrates an example of New-movement-adjustment scheme. After determining the new position to move, the directional sensor will execute the New-movement-adjustment until new position is reached. Then the Virtual Force Moving algorithm will stop when it achieves maximum number of round. And the complete procedure of Virtual Force Moving algorithm is shown in Figure 4.17.

**Figure 4.16 An example of New-movement-adjustment scheme. (a) Before **

movement. (b) After movement