- Open Access
MSNS: mobile sensor network simulator for area coverage and obstacle avoidance based on GML
© Jeong et al; licensee Springer. 2012
- Received: 11 June 2011
- Accepted: 8 March 2012
- Published: 8 March 2012
A mobile sensor network is a distributed collection of sensors, each of which has sensing, computation, communication, and locomotion capabilities. In particular, locomotion facilitates the ability to self-deployment. In such a network of self-deployable mobile sensors, it is difficult to evaluate the effectiveness of mobile sensor network deployment in a given target area because we cannot predict the coverage rate for the target area. The coverage rate will be changed due to the number of sensor required in the target area, connectivity degree to be maintained and unknown obstacles. In this article, we develop mobile sensor network simulator (MSNS) in order to visualize (1) coverage secured by mobile sensors and (2) avoidance of obstacle objects (building, road and wall, and so on) on the real map drawn by GML (Geography Markup Language). From a user, MSNS receives the number of mobile sensor nodes, connectivity degree, sensor node's sensing range, communication range, and supersonic wave range. And then it visualizes the location information of sensor nodes, connectivity degree, and sensing coverage, all of which change with simulation time. Thereby we can estimate how many nodes are required in a given target area, and also calculate coverage rate of the target area in advance to the real deployment of mobile sensors.
- mobile sensor network
- visual coverage
- potential field
Mobile sensor network is made up of group/groups of small low-power sensor nodes that can sense specific situations or collect information, and then transmit that information to sink nodes using wireless ad hoc communication. In general, mobile sensor network, which is very useful for the target fields to be difficult to access, should be constructed by using mobile sensor nodes with sensing, computation, communicating, and locomotion capabilities. In particular, locomotion facilitates the ability to self-deployment. Several nodes with various kinds of sensors for sound, heat, magnetic field, and infrared ray are randomly scattered in a target area. These sensors move, voluntarily avoiding obstacles and other nodes, establish sensing coverage and configure their communication network . And after sensing the information, the sensor transmits such information as sensing information to the sink node through routing path. The sink node sends the sensing information to middleware or server before processing it for application. This technology is used in various fields such as medical care, transportation, military, environment, and disaster prevention.
Coverage and connectivity are ones of critical factors to establishing mobile sensor network [2, 3]. The coverage means the area in which sensing by sensor nodes is possible. The connectivity means how many sensors are connected to cover the entire area for sensing or detecting, and deliver any sensing information to the sink node. The mobile sensor network, established in a given target area where terrain status is unknown, is required to maximize sensing coverage with mobile sensors and maintain the connectivity as much as a network administrator requires.
When self-deployable mobile sensors are deployed in a given target area to be required for monitoring, sensing, and detecting; however, it is difficult to predict how many sensors are needed in the target area and how much connectivity the sensor network have, which prevents guaranteeing the effectiveness of network deployment.
In this article, a new simulator, mobile sensor network simulator (MSNS), is designed and implemented. From a user, MSNS receives the information on the number of mobile sensor nodes, connectivity degree, sensor node's sensing range, communication range, and supersonic wave range. In the simulator, the target area is set when a user designates a random area where obstacles are set by using GML (Geography Markup Language). A number of sensors input by the user are randomly deployed in the target area, and they move to avoid obstacles while maximizing the coverage in the target area and maintaining the given connectivity. MSNS visualizes the location information of sensor nodes, connectivity degree, and sensing coverage, all of which change with simulation-time. It can be used to find out the coverage rate of the target area secured by the given mobile sensors. Thereby we can estimate how many nodes are required in a given target area, and also calculate coverage rate of the target area in advance to the real deployment of mobile sensors.
This article is organized as follows. Section 2 presents the existing simulators related to this research, moving method of sensor in the mobile sensor network, and the results of studies on coverage and connectivity of sensors. Section 3 explains the GML-based obstacle setting technique, which is the one of keys to MSNS, and the MSNS coverage algorithm to be used for self-deployment of mobile sensors. Section 4 shows the design and implementation of MSNS based on the technique suggested in Section 3. Section 5 presents the evaluation of MSNS's functions and the results of coverage algorithm's performance. Finally, Section 6 suggests the conclusions and discussion on the future researches.
Related studies are explained in the two perspectives: development of ubiquitous sensor network (USN) simulator and coverage and connectivity of mobile sensor network. First, existing USN simulators focus on the verification of packets, protocol, and the network. Through such a method, a simulation can be run on the network lifetime on some simulators. TOSSIM, an open source TinyOS-based simulator from UC Berkeley, can simulate Mica2 series simulation from CrossBow. Main features are packet loss calculation and CRC sensing. However, it can only work with Mica2 series. GloMoSim, a PARSEC (C-based parallel simulation language)-based discrete event simulator, is a simulation environment for wireless mobile network. Like OSI 7-hierarchical model, GloMoSim is composed of number of layers. It monitors packet transmission status, and verifies network model or transmission scenario; however, it cannot work as sensor network. GloMoSim's next version, QualNet is a massive wireless network simulator. It uses IEEE 802.11 MAC and Physical Layer standard, and like GloMoSim it has several layers. When modules for layer are developed by different designers, the scenarios and models are being tested. Packet flow statistics can be checked through automatically collected data from each layer. Features for sensor network are designed as well; nevertheless, visualization of sensed objects. NS2 is most widely used network simulator, and many wired and wireless network simulators have been developed based on this system. It is a discrete event simulator, it can simulate various network protocols; however, it has too many nodes and is difficult to adapt to complex massive system. It also has too much unnecessary interdependency. J-Sim is a JAVA-based open source WSN simulator. Each component uses autonomous component architecture, and imitates software with IC chips. It is designed in loosely coupled structure so that is can support plug & play. It can calculate memory usage, number of events, and running time according to size of given network. It also simulates transmission status of transmitted event from target node being transmitted to sink nodes in packet form. Nevertheless J-Sim is difficult to visualize target node sensor. SWANS is an expansion of Jist, a PARSEC-based scattered event simulator. It is an open source simulator, and compared to NS2 or GloMoSim, it can carry out massive network simulation; nevertheless, like other simulators it can only carry out protocol verification [4, 5].
Second, suggestion was made on the algorithm that enabled maximization of the area that could be covered in the mobile sensor network where potential field was applied so that initial sensors moved voluntarily . On the assumption that there was a repulsive force between sensors or sensor and obstacle, such force was used to have sensors dispersed evenly on the network and to ensure that friction force, opposite to the repulsive force, was applied so that sensors reached the static equilibrium without any movement. The algorithm suggested in this article basically utilizes what is suggested in . However, the difference is that sensors are induced in the way that local coverage is maximized rather than sensors simply being spread.
The previous studies  suggested self-deployment algorithm where Voronoi diagram was used. First of all, they raised the question if sensors were enabled to observe detection area at the maximum while minimizing move time, moving distance of sensor and complexity of message for a random detection area. In order to solve such problem, the studies suggested that it was necessary to find out coverage hole that was not observed by using sensor and to properly move sensor to enable observing the coverage hole. To this effect, three methods were suggested including VECtor-based algorithm (VEC), VORoni-based algorithm (VOR), and Minimax method. In each method, information on location of neighboring sensors is acquired for each step, Voronoi polygon is drawn, and then, sensors move in the way to minimize the area where coverage is not secured in such polygon. Among the three methods, the VOR shows that sensors move toward the most distant vertex of the Voronoi polygon while the Minimax shows that sensors move toward the circumcenter of the Voronoi polygon.
As the case with , the previous study  also solved the problem on self-deployment of sensors based on the Voronoi diagram. The study  suggested the method that sensors utilized information on location of neighboring sensors for each step to configure the Voronoi polygon before moving toward the centroid of the polygon. The centroid of the Voronoi polygon is the mean position of all points inside the Voronoi polygon. In other words, the centroid is the point that a random sensor has the smallest value in the sum of variance of distance up to each vertex of the Voronoi polygon. If sensor moves to this point, the sensor is placed in the best position to cover the Voronoi polygon .
Moving method of mobile sensors
Repulsive power between sensors
Repulsive power between sensors and gravitation for keeping k -connect
Repulsive power between sensors
The first moves to Voronoi vertex
Move to circumcircle of Voronoi vertex
Move to center of Voronoi vertex
Move to floor line with at least overlap of sensing area
Repulsive power between sensors, gravitation for keeping k -connect repulsive between obstacle and sensor
3.1. Field establishment
Establishment of the target area is one of the important issues to execute MSNS. When mobile sensor network is established for various applications, the number of terrains is as many as the number of applications. Therefore, MSNS uses the method of establishing field where mobile sensor network is to be formed and based on such terrain, selecting target area that requires observation.
MSNS uses the GML [11–14] to establish field that includes obstacles. Since the GML is the standard for geospatial data, it has the high compatibility and is convenient for configuring field. And as the GML contains the coordinate information, it is possible to utilize the information to calculate the actual coordinate information of mobile sensors that estimate the locations of each other based on the relative coordinates. In the GML, factors that can be obstacles such as building are written mostly with polygon. Therefore, MSNS sets the polygon of the GML as an obstacle and processes it.
3.2. Coverage of MSNS
Another important issue to implement the MSNS is the moving technique for mobile sensors. The mobile sensors are required to maintain a given connectivity, avoid obstacles, and maximize coverage in the target area. Therefore, this article suggests the coverage method that adds the obstacle avoidance method to the constrained coverage method that maximizes coverage while maintaining the given connectivity [8, 15].
The method has preconditions as follows. First, the method is based on the binary model that mobile sensors sense the target within the sensing range at the rate of 100% but cannot sense the target out of the sensing range. Second, all of the mobile sensors have the equal sensing distance (Rs) and the equal communication distance (Rc). Third, mobile sensors have the method to determine their location in order to calculate virtual force. Lastly, the method does not take into consideration distortion of sensing range and communication range of mobile sensors due to waves reflected by obstacles.
In Equation (1), x i and x j represent the locations of sensors s i and s j while Δ ij means the Euclidian distance of sensors s i and s j . And Ccover is the constant that means force of field.
In mobile sensor network, the mobile sensor that senses the information that requires observation in the target area uses the connection between mobile sensors in order to send the collected information to sink node. In this case, if a parent sensor on the path that is used to send information to one sink node loses connection for reasons such as failure or malfunction, a child sensor uses an alternative sensor that exists within its communication distance to form a new path. This local connectivity influences the entire connectivity . In addition, sensors are required to maintain communication with a certain number or more of their neighboring sensors in order to deploy numerous mobile sensors in the target area with some sensors in the active state and others in the sleep state, which aims at increasing lifetime of the network .
where Rc means communication distance while Cdegree is the constant that means force of field. Mobile sensors in MSNS are required to maximize coverage, maintain the given connectivity and avoid obstacles. To this effect, this article defines Fobstacle.
where o k is the location of obstacle while Δ ik is the Euclidian distance between mobile sensor and obstacle, and Cobstacle is the constant that is caused by obstacle.
In this case, μ is a safety factor, and the range of value is 0 < μ < 1. If the value becomes close to 1, sensors are readily disconnected. This equation is used to calculate Cdegree.
The calculated force F that one node takes per unit time can be used to calculate acceleration of mobile sensor and to calculate speed by using the acceleration value. And lastly, it is possible to calculate the next location that sensor moves to (Equations 9-11). The coverage technique algorithm in MSNS is shown as follows.
While (MNS is playing)
get neighbor nodes of current node;
for each neighbor node do
get Fcover & Fobstacle;
if # of neighbor node < = K then
for each neighbor node do
sum virtual force F;
calculate next location;
if next location is contained in obstacle or outside of target area then
next location sets current location;
4.1. MSNS architecture
The user interface provides interface where users can enter set values necessary to start the MSNS. After the GML analyzer makes analysis of GML document, it creates map objects before sending them to the map layer manager. The map layer manager plays a role in managing map objects provided by the GML analyzer. And it also has control function related to map invoked by user interface. The map controller has the function of magnification, reduction, enlargement of area, and movement of the map information delivered to the map layer manager. The node manager applies sensor setting information entered in user interface to sensors, and creates and operates the obstacles defined in the map layer manager, the target area defined in the target area manager, and interactive sensors. The target area manager sets and manages the target area that requires detection and sensing in the field set by the GML document. The viewer visualizes map objects of the map layer manager and mobile sensors of the node manager.
4.2. Function of MSNS components
4.2.1. User interface
The map interface consists of seven modules as follows: map chooser, which provides function of importing GML document to set the field where mobile sensor network is established; map lister, which visualizes the map, which is set up in MSNS, by object such as road or building; map extender, which magnifies the map; map reducer, which reduces the map; map mover, which moves the map to the desired place; extend area selector, which selects a specific area in the map and magnifies it; and target area selector, which selects the target area that requires detection and monitoring.
All of the functions set up by the map interface are delivered to the GML analyzer, the map controller, and the target area manager. Some of them can be used even after MSNS started deployment of mobile sensors. The node interface is composed of 16 modules. They include sensor adder, which adds mobile sensor to obtain desired coverage while MSNS is in operation; sensing range taker, which receives input of sensing range of sensor; communication range taker, which receives input of communication range of sensor; supersonic wave range taker, which gets input of supersonic wave range of sensor to determine the location and distance of obstacle; frame delay taker, which gets input of the value for MSNS to adjust moving speed of sensor; sensing range checker, which provides the visualization information on sensing range of sensor; communication range checker, which provides communication range of sensor; supersonic wave range checker, which delivers supersonic wave range of sensor; moving line trace checker, which traces the distance in which mobile sensors moved; connection checker, which checks connectivity between mobile sensors; goal coverage setter, which stops operation of the MSNS when mobile sensors reach the desired coverage; interval time setter, which sets the time to pause operation of MSNS at a certain time interval; node position taker, which sets the method of deployment of mobile sensors in the beginning; sensor node count taker, which receives input of the number of sensors that will be spread in the target area of MSNS; degree K taker, which determines connectivity degree that sensors are required to maintain; and MSNS operator, which controls operation of MSNS. All of functions of node interface also can be changed while MSNS is in operation.
4.2.2. GML analyzer
If the function to add a map through user interface is invoked, the GML document importer fetches GML document. The GML parser performs parsing of the GML document invoked by the GML document importer to extract map objects. The extracted map objects contain coordinate information, features, shape information, and information to determine whether or not such objects are obstacles. The map objects created by the map GML parser are delivered to the map layer manager.
4.2.3. Map layer manager
4.2.4. Map controller
4.2.5. Node manager
Initial location of the node generator determines if sensors start moving from the corner of the given target area, from the center, or from a random position. In addition, based on the initial position, mobile sensors determine the location for them to be deployed within the initial location of the target area. Node agent manages mobile sensors and ensures that sensors move, avoiding obstacles in the target area based on the coverage algorithm suggested in Section 3, maintaining the degree K and maximizing the coverage. If force, which was generated by sensor to find the results that the sensors in MSNS moved to cover a proper target area, is equal to or less than a critical value, the node agent stops MSNS from operating. Interaction interface refers to the target area in the target area manager and refers to obstacles in the map layer manager. The initial location of sensors in the node generator is set outside of obstacles and outside of polygon. When sensors in the node agent move, they avoid obstacles in the target area.
Finally, statistics manager calculates information on mobile sensors observed by mobile agent. Elapsed time means unit time during which sensors move. Moving distance means the total distance that sensors move from their initially deployed position to the current position. Coverage rate provides information in percentage on the degree that mobile sensors cover the target area. Average neighbor means the average number of neighboring sensors out of the entire sensors.
4.2.6. Target area manager and viewer
Coordinate system manager of the viewer replaces target area of the target area manager and sensor of the node manager with MSNS screen coordinate based on the map coordinate that is set in the map layer manager. When map object is set by the map layer manager, map coordinate system is set by the boundary box. Screen coordinate system is set according to the size of view panel. If the screen coordinate system and the map coordinate system are set, the number of coordinate converters is calculated for conversion of the two systems, which enables a free conversion of MSNS screen coordinate and the GML map coordinate. The coordinate converter changes the screen coordinate to the map coordinate when a user sets the target area in the mobile sensor network field. And it changes the map coordinate to the screen coordinate when the map, the target area and the sensors are visualized in MSNS.
Components of configuration panel are as follows: sensing range slide bar, which sets sensing range of sensor; communication range slide bar, which sets communication range of sensor; supersonic wave range slide bar, which sets supersonic wave range of sensor; frame delay slide bar, which adjusts moving speed of sensor; sensing range checker, which checks if the sensing range of mobile sensor is visualized; communication range checker, which checks if the communication range of sensor is visualized; supersonic wave range checker, which checks if the supersonic wave range of sensor is visualized; node trace line checker, which checks if the distance in which sensor moved until the current time after being deployed in the beginning is visualized; goal coverage checker, which stops MSNS from operating when a user reaches the desired coverage; interval time checker, which pauses MSNS in operation during a certain time interval; degree K taker, which receives input of the number of neighboring sensors that sensors should maintain; number of sensor nodes taker, which receives input of the number of sensors to be deployed in the target area; initial deployment selector, which selects the initial location in which sensor are deployed when the MSNS starts; button to start and reset MSNS; and button to pause MSNS in operation and restart it.
Status panel is composed of elapsed time that represents simulation time of the current MSNS, moving distance that represents the total distance in which sensors move from the initial deployment location to the current location, following MSNS coverage algorithm, coverage rate that represents the degree that the target area is covered by the current sensors, and average neighbor that represents the average number of neighboring sensors out of the total sensors.
Viewer provides the information, which is set up in the map toolbar, side configuration panel and base configuration panel, and the information on sensors that move to monitor the area depending on visualization.
For performance evaluation of the MSNS, it was assumed that sensors moved moderately if the evaluation was not based on time and if the average value of virtual force of mobile sensors deployed properly in the target area was smaller than the critical value. Then, the average value was used.
Simulation of sensor deployment with connectivity degree
Number of sensors
Figure 13b shows that the MSNS coverage algorithm operates in the similar way to that of the existing constrained coverage, avoiding obstacles.
The MSNS developed in this article is the simulator that provides the information on sensing coverage of the target area where a number of mobile sensors are randomly deployed. Prior to the MSNS execution, the different connectivity degree is provided for different applications in consideration of the GML-based obstacles, which helps infer the number of sensors that are required in the target area and determine coverage ratio of the target area. In most of the previous studies, the connectivity is fixed or limited, or sensing range or communication range of sensor is determined in advance. In addition, other problems are that the information on location of sensors is displayed by using the screen coordinate, or shape of obstacles is determined in advance. MSNS uses the GML-based GPS coordinate information to utilize terrain coordinate. And based on such information, obstacles are set up so that it is possible to consider obstacles in various shapes. Furthermore, since the actual map coordinate is used, it is possible to estimate the actual coordinate of a sensor that moves on the actual map coordinate. It is also possible to conduct simulation of various environments since user interface is used to provide connectivity degree of sensors, sensing range, supersonic wave range, and number of sensors. The major contribution of this article is the proposal of a new virtual force to guide mobile sensors onto a more optimal path in terms of coverage expansion with respect to GPS and obstacle in theory aspect. This is achieved by incorporating the attractive force generated from the centroid of a sensor's local Voronoi polygon with the repulsive forces generated by obstacles and neighboring nodes.
The future researches include applying probability model, instead of binary model, to sensing range and utilizing MSNS coverage algorithm for self-deployable mobile sensors with such different sensing range model. Another is to consider a more realistic possibility in distortion of sensing/communication range due to obstacles.
This research was supported by the IT R&D Program of MKE/KEIT [10035708, "The Development of CPS (Cyber-Physical Systems) Core Technologies for High Confidential Autonomic Control Software"] and also supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (2011-0025975).
- Arkin R, Ali K: Integration of reactive and telerobotic control in multi-agent robotic systems. In Third International Conference on Simulation of Adaptive Behavior, (SAB94) [From Animals to Animates]. Brighton, England; 1994:473-478.Google Scholar
- Tan G, Jarvis SA, Kermarrec A-M: Connectivity-guaranteed and obstacle-adaptive deployment schemes for mobile sensor networks. Proc of IEEE ICDCS 2008 2008, 429-437.Google Scholar
- Xue F, Kumar PR: The number of neighbors needed for connectivity of wireless networks. Wirel Netw 2004, 10(2):169-181.View ArticleGoogle Scholar
- Lee H-J, Kim Y-H, Han Y-H, Park CY: Centroid-based movement assisted sensor deployment schemes in wireless sensor networks. 2009 IEEE 70th Vehicular Technology Conference 2009.Google Scholar
- Lee C-W, Kim S-W, Lee H-J, Han Y-H, Park D-S, Jeong Y-S: Visualization of the constrained coverage of mobile sensor networks based on GML. In 4th International Symposium on Cloud and Convergence Computing. Vancouver, Canada; 2009:603-608.Google Scholar
- Goodrich MA: Potential fields tutorial.[http://www.ee.byu.edu/ugrad/srprojects/robotsoccer/papers/goodrich_potential_fields.pdf]
- Howard A, Mataric MJ, Sukhatme GS: Mobile sensor network deployment using potential fields: a distributed, scalable solution to the area coverage problem. 6th International Symposium on Distributed Autonomous Robotics Systems (DARS02) 2002.Google Scholar
- Poduri S, Sukhatme GS: Constrained coverage for mobile sensor networks. In IEEE International Conference on Robotics and Automation. New Orleans, LA; 2004:165-172.Google Scholar
- Chen J, Salim MB, Matsumoto M: A single mobile target tracking in Voronoi-based clustered wireless sensor network. J Inf Process Syst 2010, 6(4):17-28.Google Scholar
- Wang G, Cao G, Porta TL: Movement-assisted sensor deployment. IEEE INFOCOM 2004 2004, 4: 2469-2479.View ArticleGoogle Scholar
- OpenGIS Consortium, Inc: Geography Markup Language [GML], 07-036_Geography_Markup_Language_GML_V3.2.1.pdf.Google Scholar
- OpenGIS Location Service Core Services[http://www.opengeospatial.org/]
- Guo Z, Zhou S, Xu Z, Zhou A: G2ST: a novel method to transform GML to SVG. Proceedings of the 11th ACM international symposium on Advances in geographic information systems OpenGIS Consortium, Inc; 2003, 161-168. Geography Markup Language (GML) Implementation Specification [http://www.opengeospatial.org/docs/02-023r4.pdf]Google Scholar
- Shekhar S, Vatsavai RR, Sahay N, Burk TE, Lime S: WMS and GML based interoperable web mapping system. GIS: Geographic Information Systems 2001, 106-111.Google Scholar
- Cardei M, Thai MT, Li Y, Wu W: Energy-efficient target coverage in wireless sensor networks. Proc IEEE INFOCOM' 2005, 3: 1976-1984.Google Scholar
- Chintalapudi KK, Dhariwal A, Govindan R, Sukhatme GS: Ad-hoc localization using ranging and sectoring. IEEE Info-communications 2004.Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.