Remote Monitoring of Indoor Environment Using Mobile Robot Based Wireless Sensor Network Joshua D Freeman, Simi S Amrita Center for Wireless Networks and Applications, AMRITA Vishwa Vidyapeetham (Amrita University) Kollam, Kerala, India
[email protected],
[email protected] Abstract—Remote environmental monitoring is one of the important applications of wireless sensor networking technology where spatially distributed sensor nodes are used to monitor environmental parameters and collaboratively transmit their data through the network. This paper discusses the design of a multi robotic platform within a hybrid wireless sensor network to monitor the environmental changes. The system includes a set of static wireless sensor nodes, a set of mobile robots and a central controller. Mobile robots help to reduce traffic congestions and facilitate close monitoring capabilities. For the effective navigation of the robot, the system uses a known map of the environment, sensor readings and the guidance from the wireless sensor network. The combination of more than one technique for navigation significantly reduces the errors in path planning of the mobile robots. The sensing nodes in the network will forward the accumulated data to the central controller for analysis. The central controller will classify the data based on different threshold levels and records the data. If the system detects an event which exceeds current threshold level, then it will provide an early warning to the authorized users of the system. Index Terms—Wireless sensor network, robot navigation, environment monitoring
I. INTRODUCTION
W
sensor networks are one of the most effective techniques for monitoring and controlling of physical environments from remote locations with better accuracy[1] .A set of small devices called sensor nodes will acquire data and transmit through the network for decision making. These nodes can be stationary nodes or mobile nodes. Mobile nodes help to reduce traffic congestions in the network and to provide close monitoring capabilities. This paper presents the design of a hybrid wireless sensor network with both static and mobile nodes to monitor environmental parameters. A set of self navigating robots are the mobile nodes in this wireless sensor network. These robots will be able to move around the indoor area having unknown obstacles. They will explore the given area, sense useful information and send to the remote users through the network. Obstacle free path planning is one of the major difficulties in the navigation of mobile node. Path planning [2,3] refers to computation of a collision free path between initial position IRELESS
and target position. The indoor area under consideration contains a number of obstacles which may be static, dynamic or unstructured. The mobile robot has to move from one location to another with in this environment by avoiding these obstacles. For the autonomous surveillance of the given environment effective path planning algorithms are required. In this paper, we present the design of a wireless sensor network and a path planning algorithm for mobile robots. The path planning algorithm uses partial map of the environment, readings from embedded sensors in the mobile robot and signal strength of static wireless sensor nodes for navigation. Combination of more than one orthogonal technique for path planning helps to reduce possible errors in position estimation. The mobile robots will be able to communicate with each other and with the wireless sensor network. Whenever a set of mobile robots are operating in the same environment their motions have to be coordinated in order to avoid deadlocks or collisions. The central controller node of the wireless sensor network is responsible for the coordination among the robots. Authorized users of the network can issue commands to robots through the network and this provides facilities to monitor specific areas of interest by issuing special commands to the mobile robots. The communication between robots avoids deadlocks in the system. The paper is organized as follows: Section II describes a brief review of the related works. Section III presents the system model. The algorithms used in the system are described in section IV. Section V deals with the implementation of the system followed by the conclusion. II. RELATED WORK Many algorithms exist in literature to solve robot path planning problem based on different approaches like fuzzy logic [3], neural networks [4] etc. Byoung-Tak Zhang et.al [5] presents a new method for evolutionary path planning algorithm. It can be used on-line for real-time applications. Given a source-destination pair, the path planner searches the map for a best matching route. If an optimal path is not found, the planner uses another evolutionary algorithm to generate on-line a path for the source destination pair. The overall system is an incremental learning planner that gradually expands ats own knowledge suitable for path planning in real-
time. Multi-robot path-planning problem can be solved using centralized or distributed approach. In the centralized approach [6], the criterion functions and the constraints for path planning of all the robots are considered together. Distributed approaches on the other hand reduce the complexity by an autonomous planning of the path for each robot. In [7] authors discuss a new algorithm for multirobot cooperative path planning. The algorithm uses fully distributed path planning without any central instance. Path planning is done on local sections of the time-space configuration space utilizing the communications between robots. Maxim A and et.al [8] describe an algorithm for robot navigation using a sensor network. This method does not use any map. They are using sensor network nodes to find path of the robot. The navigation decision is based on the nearest node and computed using small low-power radios. The authors of [9] in this, the authors present an algorithm for path planning to a target for mobile robot in unknown environment. The path finding strategy is designed in a grid map form of an unknown environment with static unknown obstacles. It will plan an optimal or feasible path for itself avoiding obstructions in its way and minimizing a cost such as time, energy, and distance. III. SYSTEM DESIGN The proposed system is the design of a wireless sensor network with both static and mobile nodes to monitor environmental parameters. A set of self navigating robots acts as mobile nodes in the system. Each robot is embedded with obstacle finding sensors and environmental parameter monitoring sensors. There is a centralized server to coordinate the activities of robots. Total area considered for surveillance is divided into a number of regions. Central controller will assign operating region of each robot and hence balance the sensing load and provide surveillance of the whole area.
Fig. 1. System Design
Pololu 1060 is the platform selected for mobile robot operation and Micaz motes from Crossbow is selected as static nodes. Sensing nodes in the system will collect environmental parameters and send to the wireless sensor network. Sink node of the wireless sensor network will compare the data with the current threshold levels. If the incoming data exceed the threshold, it will give indications to the concerned authority through the network. For the effective computation of robotic path, the system uses known map of the environment, obstacle
identifying sensor readings and the signal strength of wireless sensor nodes. The robot is using distance sensor data to find obstacles ahead of it. There may be errors in the data collected by the robot. So we are using a probabilistic approach to reduce number of possible errors. Suppose the robot sensor collect a measurement x. From the reading x we have to calculate the probability that it is an obstacle. We can assume P(obstacle) = P ( Ī obstacle) = 0.5. Also we know that P( x | obstacle ) from the range of readings from the sensor. In the application scenario, we know the partial map of the environment and represented it in the form of a grid. To update the map and to select the next move of the robot we can apply Baye’s probability. Using Baye’s rule we can write 𝑃 𝑥 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒 ) ∗ 𝑃(𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒) 𝑃 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒 𝑥) = (1) 𝑃(𝑥) We are also measuring the gyrometer values to know the rotation of wheels and the translation. Let the robot moves from (x1, y1, θ1) to (x2, y2, θ2) the sensors will collect change in rotation angle of two wheels and the change in translation ( δ r θ w1, δr θ w2, δtrans). These values are calculated as δ𝑡𝑟𝑎𝑛𝑠 =
(𝑥1 − 𝑥2)2 + (𝑦1 − 𝑦2)2
δ𝑟 𝜃 𝑤1 = 𝑎𝑡𝑎𝑛2 𝑦2 − 𝑦1, 𝑥2 − 𝑥1 δ𝑟 𝜃 𝑤2 = 𝜃1 − 𝜃2− δ𝑟 𝜃 𝑤1
(4) − 𝜃1
(5) (6)
IV. ALGORITHM DESIGN In the proposed system, we are using two major algorithms, one for the navigation of mobile node within the area and another for wireless sensor network setup and communication. A. Mobile Node Navigation Algorithm For the effective operation of the system, the robots need obstacle free path from source to destination. The whole indoor area under consideration is sampled into a set of cells. Each cell is marked with the presence or absence of known obstacles. Also the area is equipped with wireless sensor nodes and all robots are moving within this wireless sensor network. Some of the sensor nodes in the system act as location finders, whose main function is to broadcast their location information. The area covered by the signal strength of one location finder is identified as a region. Location finders are deployed in such a way that they will cover the whole area with minimal overlapping. The total area is divided into R different regions with the help of location finder nodes. Let the number of robots be N. The robotic state is represented by the set state = {idle, path finding, sensing, advanced-sensing}. Initially states of all robots are set to idle. Each robot in the system is assigned a random target and changes its state to path finding. Path finding function generates a tree with possible moves (left, right, up, down) from current location to the target location. A ranking function is used to estimate the cost of each path. Highest rank will be assigned to cells which are closer to the target location. Using a back propagation method, lowest ranks are assigned to cells far away from the target or more obstructions near that cell depending on the map and sensor
readings. If there exists a path to the target from the current location, path finding function will return a tree showing possible paths with its rank.
computed path, it will backtrack to the previous node of the tree and select an alternative lowest path. If no such path exists, it can re compute the path. B. RSSI Based technique for region localization This is an alternate mechanism to localize the robots within the specified region. The guiding sensors in the wireless sensor network will periodically broadcast their location information and identity. The robots will be able to receive messages broadcasted from guide sensors and compute the signal strength. There is a database of the identity of guide sensors and their static location in each robot. Using triangulation method, the robot will be able to localize its region with respect to the location of static guide sensors. C. Cluster setup in wireless sensor network For effective communication of robot and the wireless sensor network, the nodes in the wireless sensor network form different groups. According to the signal strength of the neighboring nodes, they form clusters. Following figure 2 shows the network topology.
Fig. 2. Network topology
After finding a path to the target, the state of the robot is updated to sensing. During this phase, it will search the tree and select a local maximum as its next move. At the same time the sensors in the robot, sense the environmental parameters and communicate to the wireless sensor network. Robot will continue this operation until it reaches the target or receive any command from wireless sensor network or from other robots. If any new obstacle comes in front of the robot in the
There is a master node which will acts as the central controller of all these nodes. The cluster setup algorithm will elect one of the available special nodes as cluster head. In this phase of the algorithm, the nodes in the network will exchange a set of messages. These messages are invitation message, reply message, agree message, negotiation message and acknowledgement. Invitation message is a broadcast message sent by the nodes to invite other nodes in its communication range to create clusters. This message contains the ID of the cluster head. The nodes who receives invitation message will send a reply message. This is an indication that the node is reachable from the node and it is ready to join the cluster. The message includes the node ID, number of invitations, and the IDs of inviting nodes and corresponding signal strengths. Negotiation message is transferred between the cluster heads to compromise the number of cluster members and link nodes in each cluster. This maintains a minimum and maximum limit in the number of nodes in the cluster. Agree message is send by the cluster heads to confirm the membership in the cluster by specifying the ID of the cluster head. After receiving
confirmation message, the cluster members will send an acknowledgement to the cluster head. In the cluster generation process, nodes will broadcast an invitation message to all the neighboring nodes. The nodes which are in the communication range of the node will receive this message. A node may receive invitation from more than one cluster heads. The nodes receiving invitation will send a reply message to all the inviting nodes. If the signal strength of any of the invitation message is less then it will ignore the invitation otherwise send a response. The node who receives maximum number of reply messages will be elected as cluster head. In each cluster select atleast one node as intermediate node which is having range to neighboring cluster head also. These intermediate nodes act as a bridge between the communications of two cluster heads. Also the cluster heads will communicate with each other to make an agreement between numbers of cluster members and connection nodes with in a cluster. The cluster heads will send a agree message to all nodes in its cluster table. By receiving this agree message, the member nodes will store the ID of cluster head and send an acknowledgement to the cluster head. If the cluster head is not receiving the acknowledgement after the timeout period, it will retransmit the reply message. All cluster heads in the network knows the number of hops to the sink node from that node. These cluster heads have to forward the aggregated data to the sink node. For fast and effective forwarding, the number of hops travelled by the packet should be less. We used Dijkstra’s shortest path algorithm to find the shortest path from each cluster head to sink node. It uses number of hops to the sink as metric of the algorithm. The shortest path information is added to the routing table of each cluster head and intermediate node. After setting up of clusters, the actual communication between the nodes will take place. The messages can be synchronization message, data message, beacon message. Based on the type of message received the receiving nodes process the data, update itself and forward it if required.
used to communicate messages in the network. In the test bed we have implemented a wireless sensor network. Clustering algorithm was tested to find the participation of all nodes in sensing and forwarding operations. In central controller, data is analyzed and plotted in real-time. Figure 4 shows the real time graph of the sensed data. Multiple sensor types are embedded in the sensor network to monitor different environmental parameters. Authorized users of the system can view the real-time graph of any sensor type deployed in the network through internet.
Fig.3. Robot path planning
V. IMPLEMENTATION The robotic platform selected for this project is Pololu 1060 with ATmega microcontroller. For implementation, we have selected AVR studio 4 and programmed using Embedded C. The simulation of the robot navigation algorithm shows that it will work for different number of dense obstacles. We have created a test bed to test navigation algorithm in hardware platform Pololu 1060. The mobile robot was able move inside the test area by avoiding obstacles. Robots sensed environmental data and sent to the central controller of the network for analysis. Figure 3 shows simulation of robotic path planning algorithm. To implement wireless sensor network, we used MicaZ motes and ZigBee technology. Each cluster member in the system can sense the data and communicate to higher level nodes. Also they can receive synchronization messages and other control messages from higher level nodes in the hierarchy. The transmission and reception of the messages are through MicaZ mote embedded with ZigBee compatible RF transceiver . TinyOS is the operating system used for the development. The components and interfaces of TinyOS are
Fig.4. Plotting real time data VI. CONCLUSION Autonomous robot navigation is the most difficult task in robotics. In the proposed system, the robots are operating in an indoor area equipped with a wireless sensor network. The embedded sensors in the robot allow the close monitoring of environmental parameters and provide minimal noise, accurate data to the wireless sensor network. This can be applicable for sensing data where the range of available sensors are less and the effect of noise in the data is very sensitive. The wireless sensor network also assists the robots for its effective path planning with the help of guide sensors. More than one type of
method used for navigation allows the system to reduce errors in path planning. With the help of the robotic platform, the wireless sensor network senses useful information and provide real time streaming of the environment. ACKNOWLEDGEMENT Authors wish to express their deepest gratitude to Mr. K.A.Unnikrishna Menon and Dr. Maneesha V Ramesh, Amrita Center for Wireless Networks and Applications, Amrita University for their inspiration and contributions to the overall success of the project. REFERENCES [1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Akyildiz I, Su W, Sankarasubramaniam Y, Cayirci E, A survey on sensor networks, IEEE Communications Magazine, 43(5), 102–114, 2002 J. M. Ahuactzin and A. Portilla. A basic algorithm and data structures for sensor-based path planning in unknown environments. In IEEE/RSJ International Conference on Intelligent Robots and Sys-tems, volume 2, pages 903–908, Takamatsu, Japan, Nov. 2000. Liu, K. and Lewis, F.L., (1994) ”Fuzzy logic based navigation controller for an autonomous mobile robot”, Systems, Man, and Cybernetics, 1994. Humans, Information and Technology, 1994 IEEE International Conference on Volume: 2, 1994, Page(s): 1782 -1789 vol.2 Lee, S. and Kardaras, G., (1997) ”Collision-free path planning with neural networks”, Robotics and Automation, 1997. Proceedings, 1997 IEEE International Conference on Volume: 4, 1997, Page(s): 3565 -3570 vol.4 Byoung-Tak Zhang and Sung-Hoon Kim,(1997) ”An evolutionary method for active learning of mobile robot path planning”, Computational Intelligence in Robotics and Automation, 1997. CIRA’97, Proceedings, 1997 IEEE International Symposium on, 1997, Page(s): 312 -317 P. Svestka and M. Overmars, “Coordinated path planning for multiple robots,” Robotics and Autonomous Systems, vol. 23, no. 4, pp. 125152, 1998. R. Regele, P. Levi, “Cooperative Multi-Robot Path Planning by Heuristic Priority Adjustment,” in Proceedings of the IEEE/RSJ International Conf. on Intelligent Robots and Systems, 2006. Maxim A. Batalin, Gaurav S. Sukhatme and Myron Hattig, “Mobile Robot Navigation using a Sensor Network,” in IEEE Int. Conf. on Robotics and Automation, 2003. O. Hachour, “path planning of Autonomous Mobile Robot”, International Journal of Systems Applications, Engineering &Development, Issue4, vol.2, 2008, pp178-190.